ioperm() / iopl() irritation

Martin Wilck (Martin.Wilck@fujitsu-siemens.com)
Thu, 28 Feb 2002 21:34:18 +0100 (CET)


A short question that may be dumb:

In the docs on i386 IO protection that I know, it is said that
the processor ANDs the two protection mechanisms offered by the
IOPL flag and the io permission bitmap. That is, if IO permissions
are granted through iopl(), but ports are masked in the IO permission
bitmap, a segmentation fault should arise.

Such a situation should be generated by code like this:

iopl(3);
ioperm (0,0x1f,1); /* 0x20-0x3ff remain masked */
c = inb (0x20);

However on my machine this codse is successful! How is that possible?
(If the iopl() statement is commented out, the code segfaults of course).

Martin

-- 
Martin Wilck                Phone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1	    mailto:Martin.Wilck@Fujitsu-Siemens.com
D-33106 Paderborn           http://www.fujitsu-siemens.com/primergy

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/