Skip to contentSkip to conversation

sensors-detect: restrict Super I/O probing to x86

PATCH In review Aurelien Jarno 2 participants 2 messages Aug 9, 2015 – Aug 10, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sensors-detect: restrict Super I/O probing to x86

The current sensors-detect avoid Super I/O chips probing on PowerPC machines. However I have also been reported that this code can also crash ARM machines. I therefore believe the probing should be done only on x86 machines. The patch below changes that.

prog/detect/sensors-detect +3 -3
@@ -6889,9 +6889,9 @@
 	print "\n";
 
 	$superio_features = 0;
-	# Skip "random" I/O port probing on PPC
-	if ($kernel_arch ne 'ppc'
-	 && $kernel_arch ne 'ppc64') {
+	# Skip "random" I/O port probing on non x86 machines
+	if ($kernel_arch =~ /i?86/
+	 || $kernel_arch eq 'x86_64') {
 		print "Some Super I/O chips contain embedded sensors. We have to write to\n".
 		      "standard I/O ports to probe them. This is usually safe.\n";
 		print "Do you want to scan for Super I/O sensors? (YES/no): ";
Signature · 7 lines
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                 http://www.aurel32.net

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
#1 lore raw

Hi Aurelien,

Quoted 4 lines · Aurelien Jarno

The current sensors-detect avoid Super I/O chips probing on PowerPC machines. However I have also been reported that this code can also crash ARM machines. I therefore believe the probing should be done only on x86 machines. The patch below changes that.

In general I am fine with the idea, hardware detection can be troublesome so a white list feels safer than a black list. However I am curious if these kind of chips can also be found on other architectures? Maybe IA-64?

Well I suppose that other architectures can be added to the list later if needed.

prog/detect/sensors-detect line 6893

Quoted 11 lines
prog/detect/sensors-detect +2 -3
@@ -6889,9 +6889,9 @@
 	print "\n";
 
 	$superio_features = 0;
-	# Skip "random" I/O port probing on PPC
-	if ($kernel_arch ne 'ppc'
-	 && $kernel_arch ne 'ppc64') {
+	# Skip "random" I/O port probing on non x86 machines
+	if ($kernel_arch =~ /i?86/

I've changed that to m/^i[3456]86$/ as it seems safer.

prog/detect/sensors-detect line 6897

Quoted 5 lines
prog/detect/sensors-detect +1 -0
+	 || $kernel_arch eq 'x86_64') {
 		print "Some Super I/O chips contain embedded sensors. We have to write to\n".
 		      "standard I/O ports to probe them. This is usually safe.\n";
 		print "Do you want to scan for Super I/O sensors? (YES/no): ";

Thanks,

Signature · 7 lines
Jean Delvare
SUSE L3 Support

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors