Commit 664dcb0c authored by Linus Torvalds's avatar Linus Torvalds

Avoid user space access with interrupts disabled in vm86 support.

Getting a signal while in vm86 caused warnings because we still had
interrupts disabled - for no good reason. Enable interrupts before
accessing user space.
parent ba122a7f
...@@ -101,6 +101,13 @@ struct pt_regs * save_v86_state(struct kernel_vm86_regs * regs) ...@@ -101,6 +101,13 @@ struct pt_regs * save_v86_state(struct kernel_vm86_regs * regs)
struct pt_regs *ret; struct pt_regs *ret;
unsigned long tmp; unsigned long tmp;
/*
* This gets called from entry.S with interrupts disabled, but
* from process context. Enable interrupts here, before trying
* to access user space.
*/
local_irq_enable();
if (!current->thread.vm86_info) { if (!current->thread.vm86_info) {
printk("no vm86_info: BAD\n"); printk("no vm86_info: BAD\n");
do_exit(SIGSEGV); do_exit(SIGSEGV);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment