Re: Major GNU/Hurd using report
Tomasz Wegrzanowski <maniek@beer.com> writes:
> Therefore there are these possibile reasons, why it is possible to r/w hardware ports :
> - I/O Permision Level is way too low
> but asm(pushfl) says IOPL=0 (kernel only)
> - user programs run in kernel space
> I hope not, no test was done
This could be seen from the lowest bits of CS (as you probably know).
> - Mach gives default permision to every program to use all hardware ports
> No test was done yet
Or:
- the processors traps the instructions, but Mach's exception
handler lets them run anyway
Mach actually has code to detect the first access to a port and
set the flag in the bitmap if permitted. Could you add some
printfs in gnumach/i386/i386/io_emulate.c and
gnumach/i386/i386at/iopl.c?
> showtrans says /servers/socket/2 is /hurd/pfinet -i=rfsd
The = sign doesn't work with short options. Here the argument to
-i is actually "=rfsd" which probably isn't a valid device.
"Translator died" means the translator didn't even attach to the
file first. Whenever this happens, you should try activating the
translator manually with settrans -a so that you can see its
error messages.
settrans -a /servers/socket/2 /hurd/pfinet -i=rfsd
IMHO there should be a way to see the error messages from
translators even if the file system starts them. For root-owned
files, perhaps the messages should go to syslog?
Reply to: