]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/x86/kernel/process_64.c
x86/asm/32: Remove a bunch of '& 0xffff' from pt_regs segment reads
[linux.git] / arch / x86 / kernel / process_64.c
index c3169be4c5967de78efd75690a2bce80ca01506d..e04941fb67fba42a87883673dcd310add2b057b9 100644 (file)
@@ -69,8 +69,7 @@ void __show_regs(struct pt_regs *regs, int all)
        unsigned int fsindex, gsindex;
        unsigned int ds, cs, es;
 
-       printk(KERN_DEFAULT "RIP: %04lx:%pS\n", regs->cs & 0xffff,
-               (void *)regs->ip);
+       printk(KERN_DEFAULT "RIP: %04lx:%pS\n", regs->cs, (void *)regs->ip);
        printk(KERN_DEFAULT "RSP: %04lx:%016lx EFLAGS: %08lx", regs->ss,
                regs->sp, regs->flags);
        if (regs->orig_ax != -1)
@@ -279,6 +278,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
        struct tss_struct *tss = &per_cpu(cpu_tss, cpu);
        unsigned prev_fsindex, prev_gsindex;
 
+       WARN_ON_ONCE(IS_ENABLED(CONFIG_DEBUG_ENTRY) &&
+                    this_cpu_read(irq_count) != -1);
+
        switch_fpu_prepare(prev_fpu, cpu);
 
        /* We must save %fs and %gs before load_TLS() because