Messages in this thread |  | | From | "H. Peter Anvin" <> | Subject | Re: ioperm() / iopl() irritation | Date | 28 Feb 2002 15:53:27 -0800 |
| |
Followup to: <Pine.LNX.4.33.0202282128170.25655-100000@biker.pdb.fsc.net> By author: Martin Wilck <Martin.Wilck@fujitsu-siemens.com> In newsgroup: linux.dev.kernel > > 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. >
Wrong.
> 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?
Because you have misunderstood how IOPL works.
-hpa -- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." http://www.zytor.com/~hpa/puzzle.txt <amsp@zytor.com> - 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/
|  |