Messages in this thread | | | Date | Sun, 29 Dec 2013 20:44:28 +0000 | From | halfdog <> | Subject | Re: Sanitize CPU-state when switching from virtual-8086 mode to other task |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
H. Peter Anvin wrote: > On 12/28/2013 02:02 PM, halfdog wrote: >> It seems that missing CPU-state sanitation during task switching >> triggers kernel-panic. This might be related to unhandled >> FPU-errors. See [1] for POC and serial console log of OOPs. Due >> to missing real 32-bit x86-hardware it is not clear, if this >> issue might be related to subtle differences in virtual-8086 >> mode handling when inside a virtualbox guest. >> > > This oops happens inside the guest? Either way, I would be *very* > skeptical of Virtualbox in this case. > > You can run a 32-bit kernel on 64-bit hardware, you know...
I know, but hardware was occupied with long-running simulation.
With the initial POC, there might be a timing issue involved, with different process layout, exception does not occur in swith_to but sometimes on other locations.
I created a new random-code testcase [1] , which works around that problem. When booted a Debian initrd and tried id, OOPSes are fired like wild but at least system does not lock up immediately.
hd
[1] http://www.halfdog.net/Security/2013/Vm86SyscallTaskSwitchKernelPanic/Virtual86RandomCode.c
- -- http://www.halfdog.net/ PGP: 156A AE98 B91F 0114 FE88 2BD8 C459 9386 feed a bee -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux)
iEYEARECAAYFAlLAiZEACgkQxFmThv7tq+5dsgCeIqOicLB17PuV7C6AzfZIY9J9 I0UAnA7YftR+4Jz2d5jP6YbpmBBtNOAz =9MJY -----END PGP SIGNATURE-----
| |