diff options
-rw-r--r-- | arch/i386/kernel/entry.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S index d7423efaeea4..0220bc8cbb43 100644 --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S | |||
@@ -457,6 +457,7 @@ work_resched: | |||
457 | 457 | ||
458 | work_notifysig: # deal with pending signals and | 458 | work_notifysig: # deal with pending signals and |
459 | # notify-resume requests | 459 | # notify-resume requests |
460 | #ifdef CONFIG_VM86 | ||
460 | testl $VM_MASK, PT_EFLAGS(%esp) | 461 | testl $VM_MASK, PT_EFLAGS(%esp) |
461 | movl %esp, %eax | 462 | movl %esp, %eax |
462 | jne work_notifysig_v86 # returning to kernel-space or | 463 | jne work_notifysig_v86 # returning to kernel-space or |
@@ -467,17 +468,18 @@ work_notifysig: # deal with pending signals and | |||
467 | 468 | ||
468 | ALIGN | 469 | ALIGN |
469 | work_notifysig_v86: | 470 | work_notifysig_v86: |
470 | #ifdef CONFIG_VM86 | ||
471 | pushl %ecx # save ti_flags for do_notify_resume | 471 | pushl %ecx # save ti_flags for do_notify_resume |
472 | CFI_ADJUST_CFA_OFFSET 4 | 472 | CFI_ADJUST_CFA_OFFSET 4 |
473 | call save_v86_state # %eax contains pt_regs pointer | 473 | call save_v86_state # %eax contains pt_regs pointer |
474 | popl %ecx | 474 | popl %ecx |
475 | CFI_ADJUST_CFA_OFFSET -4 | 475 | CFI_ADJUST_CFA_OFFSET -4 |
476 | movl %eax, %esp | 476 | movl %eax, %esp |
477 | #else | ||
478 | movl %esp, %eax | ||
479 | #endif | ||
477 | xorl %edx, %edx | 480 | xorl %edx, %edx |
478 | call do_notify_resume | 481 | call do_notify_resume |
479 | jmp resume_userspace_sig | 482 | jmp resume_userspace_sig |
480 | #endif | ||
481 | 483 | ||
482 | # perform syscall exit tracing | 484 | # perform syscall exit tracing |
483 | ALIGN | 485 | ALIGN |