]> git.neil.brown.name Git - history.git/commitdiff
Make vm86 traps correctly distinguish between vm86 and kernel mode.
authorLinus Torvalds <torvalds@home.transmeta.com>
Wed, 8 Jan 2003 10:35:25 +0000 (02:35 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Wed, 8 Jan 2003 10:35:25 +0000 (02:35 -0800)
arch/i386/kernel/traps.c

index 332ccea33b8b0574e6902890a95a25dd3fd89ede..bba14fb29a365813d3c17ba65f1d3b6ece26eed0 100644 (file)
@@ -276,8 +276,11 @@ static inline unsigned long get_cr2(void)
 static inline void do_trap(int trapnr, int signr, char *str, int vm86,
                           struct pt_regs * regs, long error_code, siginfo_t *info)
 {
-       if (vm86 && regs->eflags & VM_MASK)
-               goto vm86_trap;
+       if (regs->eflags & VM_MASK) {
+               if (vm86)
+                       goto vm86_trap;
+               goto trap_signal;
+       }
 
        if (!(regs->xcs & 3))
                goto kernel_trap;