Gerd Knorr wrote:
So, in practice, it's correct to call bad_segv() as done in the patch, but we
miss some cases. Only this time I've verified this well enough that I feel we
could merge your patch. However, I've not found any possible *realistic*
source of general protection faults. Especially I didn't find what expected
(i.e. I/O errors).
The case I trapped into was an attempt to access I/O ports of a
process running inside the uml. The uml kernel then tried to
handle that as page fault, which didn't work very well ...
Gerd
Unfortunately, I can't find the previous mails about this. So, maybe I'm
totally wrong. If so, please discard this mail.
Gerd, did you see the problem in SKAS3 on i386? If so, it would be nice to
see what happens in SKAS0.
I saw similar problems regarding bad LDT-descriptors. Processes using a bad
descriptor loop on page_fault.
The real fix for this is to add trap_no to the info, that is read from host
by PTRACE_FAULTINFO. With this info, UML can distinguish between real page
faults and other SIGSEGVs.
In SKAS0, UML already has the full info, as it retrieves the info from a
sigcontext.
Regards,
Bodo
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel