[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: