]> git.neil.brown.name Git - history.git/commit
[PATCH] Enable interrupts in faults from VM86 mode
authorAndi Kleen <ak@muc.de>
Wed, 15 Oct 2003 12:25:07 +0000 (05:25 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Wed, 15 Oct 2003 12:25:07 +0000 (05:25 -0700)
commit01d259fe61c43fe659b9e94d098288c50bdc6c61
tree958fdc44e65f4f27e79796b9f179ef8978b874e1
parent535a8a4c73cf48e75599755b2424fb5073c84c54
[PATCH] Enable interrupts in faults from VM86 mode

vm86 mode does a copy_to_user from the general protection fault handler
to update the process' vm86 state.

The problem is that the full GFP handler runs with interrupts off
currently and that trips the might_sleep() test in copy_to_user().

This happens very often in dosemu and once in a while while the X server
does its vm86 magic with the VGA bios.

See

http://bugzilla.kernel.org/show_bug.cgi?id=1339

for details

This patch fixes this by enabling interrupts when the original code ran
with interrupts on or ran in vm86 mode (vm86 can clear the IF flag)
arch/i386/kernel/traps.c
arch/i386/mm/fault.c