Description of problem: irda-utils findchip segfaults because `outb' segfaults despite previous successful ioperm(2). Version-Release number of selected component (if applicable): kernel-2.6.24.3-12.fc8.x86_64 (F8, broken) but it work on: kernel-2.6.25-0.101.rc4.git3.fc9.x86_64 (Rawhide) How reproducible: Always. Steps to Reproduce: 1. gcc -o outport outport.c -Wall -ggdb2 Actual results: Segmentation fault Expected results: PASS Additional info: strace ./outport ... ioperm(0x3f0, 0x1, 0x1) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ # gdb ./outport ... (gdb) r Starting program: /tmp/outport Program received signal SIGSEGV, Segmentation fault. 0x000000000040059b in main () at outport.c:14 14 __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port)); (gdb) x/i $rip 0x40059b <main+83>: out %al,(%dx) (gdb) p/x $rdx $1 = 0x3f0 (gdb)
Created attachment 297504 [details] Testcase
Created attachment 297505 [details] The real testcase. The previous testcase was an unrelated code - a filename typo.
I get PASS on 2.6.24.3-22.fc8.x86_64, with an AMD processor.
(In reply to comment #3) > I get PASS on 2.6.24.3-22.fc8.x86_64, with an AMD processor. So it is probably fixed. (this is Intel T7200)