"[PATCH
Hi,
The following patch use the user_mode macro where it's possible.
Please apply, or comments.
Signed-off-by Vincent Hanquez <[email protected]>
arch/i386/kernel/process.c +1 -1
@@ -262,7 +262,7 @@printk ("EIP: %04x:[<%08lx>] CPU: %d\n" ,0xffff & regs->xcs,regs->eip,smp_processor_id ());print_symbol ("EIP is at %s\n" , regs->eip); -if (regs->xcs &3 ) +if (user_mode (regs))printk (" ESP: %04x:%08lx" ,0xffff & regs->xss,regs->esp);printk (" EFLAGS: %08lx %s (%s)\n" , regs->eflags,print_tainted (), system_utsname.release);
arch/i386/kernel/signal.c +1 -1
@@ -599,7 +599,7 @@* kernel mode. Just return without doing anything * if so. */ -if ((regs->xcs &3 ) !=3 ) +if (!user_mode (regs))return 1 ;if (current->flags &PF_FREEZE ) {
arch/i386/kernel/traps.c +6 -6
@@ -209,7 +209,7 @@ esp = (unsigned long ) (®s->esp); ss = __KERNEL_DS; -if (regs->xcs &3 ) { +if (user_mode (regs)) { in_kernel =0 ; esp = regs->esp; ss = regs->xss &0xffff ;
@@ -265,7 +265,7 @@char c;unsigned long eip; -if (regs->xcs &3 ) +if (user_mode (regs)) goto no_bug;/* Not in kernel */ eip = regs->eip;
@@ -353,7 +353,7 @@static inline void die_if_kernel (const char * str,struct pt_regs * regs,long err) { -if (!(regs->eflags &VM_MASK ) && !(3 & regs->xcs)) +if (!user_mode_vm (regs))die (str, regs, err); }
@@ -366,7 +366,7 @@ goto trap_signal; } -if (!(regs->xcs &3 )) +if (!user_mode (regs)) goto kernel_trap; trap_signal: {
@@ -487,7 +487,7 @@if (regs->eflags &VM_MASK ) goto gp_in_vm86; -if (!(regs->xcs &3 )) +if (!user_mode (regs)) goto gp_in_kernel; current->thread.error_code = error_code;
@@ -713,7 +713,7 @@* check for kernel mode by just checking the CPL * of CS. */ -if ((regs->xcs &3 ) ==0 ) +if (!user_mode (regs)) goto clear_TF_reenable; }
PATCH 4/6 Use more usermode macro
Hi,
The following patch use the user_mode macro where it's possible.
ignore my previous mail, really sorry for the noise.
Please apply, or comments.
Signed-off-by Vincent Hanquez <[email protected]>
arch/i386/kernel/process.c +1 -1
@@ -262,7 +262,7 @@printk ("EIP: %04x:[<%08lx>] CPU: %d\n" ,0xffff & regs->xcs,regs->eip,smp_processor_id ());print_symbol ("EIP is at %s\n" , regs->eip); -if (regs->xcs &3 ) +if (user_mode (regs))printk (" ESP: %04x:%08lx" ,0xffff & regs->xss,regs->esp);printk (" EFLAGS: %08lx %s (%s)\n" , regs->eflags,print_tainted (), system_utsname.release);
arch/i386/kernel/signal.c +1 -1
@@ -599,7 +599,7 @@* kernel mode. Just return without doing anything * if so. */ -if ((regs->xcs &3 ) !=3 ) +if (!user_mode (regs))return 1 ;if (current->flags &PF_FREEZE ) {
arch/i386/kernel/traps.c +6 -6
@@ -209,7 +209,7 @@ esp = (unsigned long ) (®s->esp); ss = __KERNEL_DS; -if (regs->xcs &3 ) { +if (user_mode (regs)) { in_kernel =0 ; esp = regs->esp; ss = regs->xss &0xffff ;
@@ -265,7 +265,7 @@char c;unsigned long eip; -if (regs->xcs &3 ) +if (user_mode (regs)) goto no_bug;/* Not in kernel */ eip = regs->eip;
@@ -353,7 +353,7 @@static inline void die_if_kernel (const char * str,struct pt_regs * regs,long err) { -if (!(regs->eflags &VM_MASK ) && !(3 & regs->xcs)) +if (!user_mode_vm (regs))die (str, regs, err); }
@@ -366,7 +366,7 @@ goto trap_signal; } -if (!(regs->xcs &3 )) +if (!user_mode (regs)) goto kernel_trap; trap_signal: {
@@ -487,7 +487,7 @@if (regs->eflags &VM_MASK ) goto gp_in_vm86; -if (!(regs->xcs &3 )) +if (!user_mode (regs)) goto gp_in_kernel; current->thread.error_code = error_code;
@@ -713,7 +713,7 @@* check for kernel mode by just checking the CPL * of CS. */ -if ((regs->xcs &3 ) ==0 ) +if (!user_mode (regs)) goto clear_TF_reenable; }