]> Zhao Yanbai Git Server - minix.git/commitdiff
kernel: restore setting KTS_NONE
authorBen Gras <ben@minix3.org>
Fri, 4 Jan 2013 14:58:12 +0000 (14:58 +0000)
committerBen Gras <ben@minix3.org>
Tue, 8 Jan 2013 15:47:37 +0000 (15:47 +0000)
The 'trap style' variable records how a process has trapped into the
kernel (hardware/software interrupt, or one of the other trap
instructions). KTS_NONE indicates the process isn't trapped into the
kernel at all and is useful for sanity checking. The KTS_NONE reset was
inadvertently removed while removing some debugging code and this commit
restores it.

kernel/arch/i386/arch_system.c

index 4b1812be80411713c028622c55a6daa4928c68da..376586cd60c01b485ac5c59958f30e1dba1eac43 100644 (file)
@@ -564,8 +564,6 @@ void restore_user_context(struct proc *p)
 #define TYPES 10
        static int restores[TYPES], n = 0;
 
-       p->p_seg.p_kern_trap_style = KTS_NONE;
-
        if(trap_style >= 0 && trap_style < TYPES)
                restores[trap_style]++;
 
@@ -578,6 +576,8 @@ void restore_user_context(struct proc *p)
        }
 #endif
 
+       p->p_seg.p_kern_trap_style = KTS_NONE;
+
        if(trap_style == KTS_SYSENTER) {
                restore_user_context_sysenter(p);
                NOT_REACHABLE;