Module Name: src Committed By: maxv Date: Sun Sep 17 09:41:35 UTC 2017
Modified Files: src/sys/arch/amd64/amd64: netbsd32_machdep.c trap.c src/sys/arch/amd64/include: cpu.h segments.h src/sys/arch/i386/i386: compat_13_machdep.c compat_16_machdep.c db_interface.c machdep.c process_machdep.c trap.c src/sys/arch/i386/include: cpu.h segments.h src/sys/arch/x86/x86: fpu.c kgdb_machdep.c src/sys/compat/freebsd: freebsd_machdep.c src/sys/compat/linux/arch/i386: linux_machdep.c Log Message: Remove the second argument from USERMODE and KERNELMODE, it is unused now that we don't have vm86 anymore. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/amd64/amd64/netbsd32_machdep.c cvs rdiff -u -r1.100 -r1.101 src/sys/arch/amd64/amd64/trap.c cvs rdiff -u -r1.60 -r1.61 src/sys/arch/amd64/include/cpu.h cvs rdiff -u -r1.29 -r1.30 src/sys/arch/amd64/include/segments.h cvs rdiff -u -r1.26 -r1.27 src/sys/arch/i386/i386/compat_13_machdep.c cvs rdiff -u -r1.29 -r1.30 src/sys/arch/i386/i386/compat_16_machdep.c cvs rdiff -u -r1.75 -r1.76 src/sys/arch/i386/i386/db_interface.c cvs rdiff -u -r1.793 -r1.794 src/sys/arch/i386/i386/machdep.c cvs rdiff -u -r1.90 -r1.91 src/sys/arch/i386/i386/process_machdep.c cvs rdiff -u -r1.290 -r1.291 src/sys/arch/i386/i386/trap.c cvs rdiff -u -r1.178 -r1.179 src/sys/arch/i386/include/cpu.h cvs rdiff -u -r1.61 -r1.62 src/sys/arch/i386/include/segments.h cvs rdiff -u -r1.12 -r1.13 src/sys/arch/x86/x86/fpu.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/x86/x86/kgdb_machdep.c cvs rdiff -u -r1.3 -r1.4 src/sys/compat/freebsd/freebsd_machdep.c cvs rdiff -u -r1.164 -r1.165 src/sys/compat/linux/arch/i386/linux_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/amd64/netbsd32_machdep.c diff -u src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.108 src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.109 --- src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.108 Thu Aug 31 15:41:14 2017 +++ src/sys/arch/amd64/amd64/netbsd32_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_machdep.c,v 1.108 2017/08/31 15:41:14 maxv Exp $ */ +/* $NetBSD: netbsd32_machdep.c,v 1.109 2017/09/17 09:41:35 maxv Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.108 2017/08/31 15:41:14 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.109 2017/09/17 09:41:35 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -1061,7 +1061,7 @@ check_sigcontext32(struct lwp *l, const if (__predict_false(pmap->pm_ldt != NULL)) { /* Only when the LDT is user-set (with USER_LDT) */ - if (!USERMODE(scp->sc_cs, scp->sc_eflags)) + if (!USERMODE(scp->sc_cs)) return EINVAL; } else { if (!VALID_USER_CSEL32(scp->sc_cs)) @@ -1098,7 +1098,7 @@ cpu_mcontext32_validate(struct lwp *l, c #ifdef USER_LDT /* Userland is allowed to have unfamiliar segment register values */ - if (!USERMODE(gr[_REG32_CS], gr[_REG32_EFL])) + if (!USERMODE(gr[_REG32_CS])) return EINVAL; #else struct pcb *pcb = lwp_getpcb(l); Index: src/sys/arch/amd64/amd64/trap.c diff -u src/sys/arch/amd64/amd64/trap.c:1.100 src/sys/arch/amd64/amd64/trap.c:1.101 --- src/sys/arch/amd64/amd64/trap.c:1.100 Fri Sep 15 17:22:09 2017 +++ src/sys/arch/amd64/amd64/trap.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.100 2017/09/15 17:22:09 maxv Exp $ */ +/* $NetBSD: trap.c,v 1.101 2017/09/17 09:41:35 maxv Exp $ */ /* * Copyright (c) 1998, 2000, 2017 The NetBSD Foundation, Inc. @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.100 2017/09/15 17:22:09 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.101 2017/09/17 09:41:35 maxv Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -290,7 +290,7 @@ trap_user_kernelmode(struct trapframe *f * The stack frame containing the user registers is * still valid and pointed to by tf_rsp. */ - if (KERNELMODE(vframe->tf_cs, vframe->tf_eflags)) + if (KERNELMODE(vframe->tf_cs)) return; /* There is no valid address for the fault */ break; @@ -354,7 +354,7 @@ trap(struct trapframe *frame) } type = frame->tf_trapno; - if (!KERNELMODE(frame->tf_cs, frame->tf_rflags)) { + if (!KERNELMODE(frame->tf_cs)) { type |= T_USER; l->l_md.md_regs = frame; LWP_CACHE_CREDS(l, p); Index: src/sys/arch/amd64/include/cpu.h diff -u src/sys/arch/amd64/include/cpu.h:1.60 src/sys/arch/amd64/include/cpu.h:1.61 --- src/sys/arch/amd64/include/cpu.h:1.60 Sat Jan 21 16:48:56 2012 +++ src/sys/arch/amd64/include/cpu.h Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.60 2012/01/21 16:48:56 chs Exp $ */ +/* $NetBSD: cpu.h,v 1.61 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -83,8 +83,7 @@ cpu_set_curpri(int pri) } #endif /* __GNUC__ && !_MODULE */ -#define CLKF_USERMODE(frame) USERMODE((frame)->cf_if.if_tf.tf_cs, \ - (frame)->cf_if.if_tf.tf_rflags) +#define CLKF_USERMODE(frame) USERMODE((frame)->cf_if.if_tf.tf_cs) #define CLKF_PC(frame) ((frame)->cf_if.if_tf.tf_rip) #define CLKF_INTR(frame) (curcpu()->ci_idepth > 0) #define LWP_PC(l) ((l)->l_md.md_regs->tf_rip) Index: src/sys/arch/amd64/include/segments.h diff -u src/sys/arch/amd64/include/segments.h:1.29 src/sys/arch/amd64/include/segments.h:1.30 --- src/sys/arch/amd64/include/segments.h:1.29 Sun Feb 5 08:58:39 2017 +++ src/sys/arch/amd64/include/segments.h Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: segments.h,v 1.29 2017/02/05 08:58:39 maxv Exp $ */ +/* $NetBSD: segments.h,v 1.30 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -129,15 +129,15 @@ #define LSEL(s,r) ((s) | r | SEL_LDT) -#define USERMODE(c, f) (ISPL(c) == SEL_UPL) +#define USERMODE(c) (ISPL(c) == SEL_UPL) #ifdef XEN /* * As KPL == UPL, Xen emulate interrupt in kernel context by pushing * a fake CS with XPL privilege */ -#define KERNELMODE(c, f) (ISPL(c) == SEL_XPL) +#define KERNELMODE(c) (ISPL(c) == SEL_XPL) #else -#define KERNELMODE(c, f) (ISPL(c) == SEL_KPL) +#define KERNELMODE(c) (ISPL(c) == SEL_KPL) #endif #ifndef _LOCORE Index: src/sys/arch/i386/i386/compat_13_machdep.c diff -u src/sys/arch/i386/i386/compat_13_machdep.c:1.26 src/sys/arch/i386/i386/compat_13_machdep.c:1.27 --- src/sys/arch/i386/i386/compat_13_machdep.c:1.26 Sat Aug 12 07:07:53 2017 +++ src/sys/arch/i386/i386/compat_13_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_13_machdep.c,v 1.26 2017/08/12 07:07:53 maxv Exp $ */ +/* $NetBSD: compat_13_machdep.c,v 1.27 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat_13_machdep.c,v 1.26 2017/08/12 07:07:53 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat_13_machdep.c,v 1.27 2017/09/17 09:41:35 maxv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -73,7 +73,7 @@ compat_13_sys_sigreturn(struct lwp *l, c * the trap, rather than doing all of the checking here. */ if (((context.sc_eflags ^ tf->tf_eflags) & PSL_USERSTATIC) != 0 || - !USERMODE(context.sc_cs, context.sc_eflags)) + !USERMODE(context.sc_cs)) return (EINVAL); tf->tf_gs = context.sc_gs; Index: src/sys/arch/i386/i386/compat_16_machdep.c diff -u src/sys/arch/i386/i386/compat_16_machdep.c:1.29 src/sys/arch/i386/i386/compat_16_machdep.c:1.30 --- src/sys/arch/i386/i386/compat_16_machdep.c:1.29 Sat Aug 12 07:07:53 2017 +++ src/sys/arch/i386/i386/compat_16_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_16_machdep.c,v 1.29 2017/08/12 07:07:53 maxv Exp $ */ +/* $NetBSD: compat_16_machdep.c,v 1.30 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat_16_machdep.c,v 1.29 2017/08/12 07:07:53 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat_16_machdep.c,v 1.30 2017/09/17 09:41:35 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -96,7 +96,7 @@ compat_16_sys___sigreturn14(struct lwp * * the trap, rather than doing all of the checking here. */ if (((context.sc_eflags ^ tf->tf_eflags) & PSL_USERSTATIC) != 0 || - !USERMODE(context.sc_cs, context.sc_eflags)) + !USERMODE(context.sc_cs)) return (EINVAL); tf->tf_gs = context.sc_gs; Index: src/sys/arch/i386/i386/db_interface.c diff -u src/sys/arch/i386/i386/db_interface.c:1.75 src/sys/arch/i386/i386/db_interface.c:1.76 --- src/sys/arch/i386/i386/db_interface.c:1.75 Sun Sep 17 09:04:51 2017 +++ src/sys/arch/i386/i386/db_interface.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: db_interface.c,v 1.75 2017/09/17 09:04:51 maxv Exp $ */ +/* $NetBSD: db_interface.c,v 1.76 2017/09/17 09:41:35 maxv Exp $ */ /* * Mach Operating System @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.75 2017/09/17 09:04:51 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.76 2017/09/17 09:41:35 maxv Exp $"); #include "opt_ddb.h" #include "opt_multiprocessor.h" @@ -228,7 +228,7 @@ kdb_trap(int type, int code, db_regs_t * #endif /* XXX Should switch to kdb's own stack here. */ ddb_regs = *regs; - if (!(flags & TC_TSS) && KERNELMODE(regs->tf_cs, regs->tf_eflags)) { + if (!(flags & TC_TSS) && KERNELMODE(regs->tf_cs)) { /* * Kernel mode - esp and ss not saved */ @@ -270,7 +270,7 @@ kdb_trap(int type, int code, db_regs_t * regs->tf_eip = ddb_regs.tf_eip; regs->tf_cs = ddb_regs.tf_cs; regs->tf_eflags = ddb_regs.tf_eflags; - if (!(flags & TC_TSS) && !KERNELMODE(regs->tf_cs, regs->tf_eflags)) { + if (!(flags & TC_TSS) && !KERNELMODE(regs->tf_cs)) { /* ring transit - saved esp and ss valid */ regs->tf_esp = ddb_regs.tf_esp; regs->tf_ss = ddb_regs.tf_ss; @@ -338,7 +338,7 @@ ddb_suspend(struct trapframe *frame) regs = *frame; flags = regs.tf_err & TC_FLAGMASK; regs.tf_err &= ~TC_FLAGMASK; - if (!(flags & TC_TSS) && KERNELMODE(regs.tf_cs, regs.tf_eflags)) { + if (!(flags & TC_TSS) && KERNELMODE(regs.tf_cs)) { /* * Kernel mode - esp and ss not saved */ Index: src/sys/arch/i386/i386/machdep.c diff -u src/sys/arch/i386/i386/machdep.c:1.793 src/sys/arch/i386/i386/machdep.c:1.794 --- src/sys/arch/i386/i386/machdep.c:1.793 Sun Sep 17 09:04:51 2017 +++ src/sys/arch/i386/i386/machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.793 2017/09/17 09:04:51 maxv Exp $ */ +/* $NetBSD: machdep.c,v 1.794 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009 @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.793 2017/09/17 09:04:51 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.794 2017/09/17 09:41:35 maxv Exp $"); #include "opt_beep.h" #include "opt_compat_freebsd.h" @@ -1571,7 +1571,7 @@ cpu_mcontext_validate(struct lwp *l, con * all of the checking here. */ if (((gr[_REG_EFL] ^ tf->tf_eflags) & PSL_USERSTATIC) || - !USERMODE(gr[_REG_CS], gr[_REG_EFL])) + !USERMODE(gr[_REG_CS])) return EINVAL; return 0; Index: src/sys/arch/i386/i386/process_machdep.c diff -u src/sys/arch/i386/i386/process_machdep.c:1.90 src/sys/arch/i386/i386/process_machdep.c:1.91 --- src/sys/arch/i386/i386/process_machdep.c:1.90 Sat Aug 12 07:07:53 2017 +++ src/sys/arch/i386/i386/process_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: process_machdep.c,v 1.90 2017/08/12 07:07:53 maxv Exp $ */ +/* $NetBSD: process_machdep.c,v 1.91 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1998, 2000, 2001, 2008 The NetBSD Foundation, Inc. @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: process_machdep.c,v 1.90 2017/08/12 07:07:53 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: process_machdep.c,v 1.91 2017/09/17 09:41:35 maxv Exp $"); #include "opt_ptrace.h" @@ -157,7 +157,7 @@ process_write_regs(struct lwp *l, const * Check for security violations. */ if (((regs->r_eflags ^ tf->tf_eflags) & PSL_USERSTATIC) != 0 || - !USERMODE(regs->r_cs, regs->r_eflags)) + !USERMODE(regs->r_cs)) return (EINVAL); tf->tf_gs = regs->r_gs; Index: src/sys/arch/i386/i386/trap.c diff -u src/sys/arch/i386/i386/trap.c:1.290 src/sys/arch/i386/i386/trap.c:1.291 --- src/sys/arch/i386/i386/trap.c:1.290 Tue Sep 12 14:10:49 2017 +++ src/sys/arch/i386/i386/trap.c Sun Sep 17 09:41:35 2017 @@ -1,5 +1,5 @@ -/* $NetBSD: trap.c,v 1.290 2017/09/12 14:10:49 gson Exp $ */ +/* $NetBSD: trap.c,v 1.291 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1998, 2000, 2005, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -69,7 +69,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.290 2017/09/12 14:10:49 gson Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.291 2017/09/17 09:41:35 maxv Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -275,7 +275,7 @@ trap(struct trapframe *frame) trap_print(frame, l); } #endif - if (type != T_NMI && !KERNELMODE(frame->tf_cs, frame->tf_eflags)) { + if (type != T_NMI && !KERNELMODE(frame->tf_cs)) { type |= T_USER; l->l_md.md_regs = frame; pcb->pcb_cr2 = 0; @@ -370,7 +370,7 @@ kernelfault: * (eg for sending a SIGSEGV). */ vframe = (void *)((int *)frame + 3); - if (KERNELMODE(vframe->tf_cs, vframe->tf_eflags)) + if (KERNELMODE(vframe->tf_cs)) goto we_re_toast; memmove(vframe, frame, offsetof(struct trapframe, tf_eip)); @@ -394,7 +394,7 @@ kernelfault: * the kernel fault frame. */ vframe = (void *)(&frame->tf_eflags + 1); - if (KERNELMODE(vframe->tf_cs, vframe->tf_eflags)) + if (KERNELMODE(vframe->tf_cs)) goto we_re_toast; /* There is no valid address for the fault */ break; Index: src/sys/arch/i386/include/cpu.h diff -u src/sys/arch/i386/include/cpu.h:1.178 src/sys/arch/i386/include/cpu.h:1.179 --- src/sys/arch/i386/include/cpu.h:1.178 Fri Dec 30 17:57:49 2011 +++ src/sys/arch/i386/include/cpu.h Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.178 2011/12/30 17:57:49 cherry Exp $ */ +/* $NetBSD: cpu.h,v 1.179 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -81,7 +81,7 @@ cpu_set_curpri(int pri) } #endif -#define CLKF_USERMODE(frame) USERMODE((frame)->cf_if.if_cs, (frame)->cf_if.if_eflags) +#define CLKF_USERMODE(frame) USERMODE((frame)->cf_if.if_cs) #define CLKF_PC(frame) ((frame)->cf_if.if_eip) #define CLKF_INTR(frame) (curcpu()->ci_idepth > 0) #define LWP_PC(l) ((l)->l_md.md_regs->tf_eip) Index: src/sys/arch/i386/include/segments.h diff -u src/sys/arch/i386/include/segments.h:1.61 src/sys/arch/i386/include/segments.h:1.62 --- src/sys/arch/i386/include/segments.h:1.61 Sat Aug 12 07:35:08 2017 +++ src/sys/arch/i386/include/segments.h Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: segments.h,v 1.61 2017/08/12 07:35:08 maxv Exp $ */ +/* $NetBSD: segments.h,v 1.62 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -118,8 +118,8 @@ #define LSEL(s,r) (((s) << 3) | r | SEL_LDT) /* a local selector */ -#define USERMODE(c, f) (ISPL(c) == SEL_UPL) -#define KERNELMODE(c, f) (ISPL(c) == SEL_KPL) +#define USERMODE(c) (ISPL(c) == SEL_UPL) +#define KERNELMODE(c) (ISPL(c) == SEL_KPL) #ifndef _LOCORE Index: src/sys/arch/x86/x86/fpu.c diff -u src/sys/arch/x86/x86/fpu.c:1.12 src/sys/arch/x86/x86/fpu.c:1.13 --- src/sys/arch/x86/x86/fpu.c:1.12 Thu Sep 29 17:01:43 2016 +++ src/sys/arch/x86/x86/fpu.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu.c,v 1.12 2016/09/29 17:01:43 maxv Exp $ */ +/* $NetBSD: fpu.c,v 1.13 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. All @@ -96,7 +96,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.12 2016/09/29 17:01:43 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.13 2017/09/17 09:41:35 maxv Exp $"); #include "opt_multiprocessor.h" @@ -273,7 +273,7 @@ fputrap(struct trapframe *frame) uint32_t statbits; ksiginfo_t ksi; - if (!USERMODE(frame->tf_cs, frame->tf_eflags)) + if (!USERMODE(frame->tf_cs)) panic("fpu trap from kernel, trapframe %p\n", frame); if (i386_fpu_present == 0) { @@ -339,7 +339,7 @@ fpudna(struct trapframe *frame) struct pcb *pcb; int s; - if (!USERMODE(frame->tf_cs, frame->tf_eflags)) + if (!USERMODE(frame->tf_cs)) panic("fpudna from kernel, ip %p, trapframe %p\n", (void *)X86_TF_RIP(frame), frame); Index: src/sys/arch/x86/x86/kgdb_machdep.c diff -u src/sys/arch/x86/x86/kgdb_machdep.c:1.2 src/sys/arch/x86/x86/kgdb_machdep.c:1.3 --- src/sys/arch/x86/x86/kgdb_machdep.c:1.2 Tue Aug 15 08:57:19 2017 +++ src/sys/arch/x86/x86/kgdb_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: kgdb_machdep.c,v 1.2 2017/08/15 08:57:19 maxv Exp $ */ +/* $NetBSD: kgdb_machdep.c,v 1.3 2017/09/17 09:41:35 maxv Exp $ */ /* * Copyright (c) 1997, 2017 The NetBSD Foundation, Inc. @@ -56,7 +56,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.2 2017/08/15 08:57:19 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.3 2017/09/17 09:41:35 maxv Exp $"); #include "opt_ddb.h" @@ -198,7 +198,7 @@ kgdb_getregs(db_regs_t *regs, kgdb_reg_t gdb_regs[14] = regs->tf_fs; gdb_regs[15] = regs->tf_gs; - if (KERNELMODE(regs->tf_cs, regs->tf_eflags)) { + if (KERNELMODE(regs->tf_cs)) { /* * Kernel mode - esp and ss not saved. */ @@ -250,7 +250,7 @@ kgdb_setregs(db_regs_t *regs, kgdb_reg_t regs->tf_ds = gdb_regs[12]; regs->tf_es = gdb_regs[13]; - if (KERNELMODE(regs->tf_cs, regs->tf_eflags) == 0) { + if (KERNELMODE(regs->tf_cs) == 0) { /* * Trapped in user mode - restore esp and ss. */ Index: src/sys/compat/freebsd/freebsd_machdep.c diff -u src/sys/compat/freebsd/freebsd_machdep.c:1.3 src/sys/compat/freebsd/freebsd_machdep.c:1.4 --- src/sys/compat/freebsd/freebsd_machdep.c:1.3 Sat Aug 12 07:07:53 2017 +++ src/sys/compat/freebsd/freebsd_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: freebsd_machdep.c,v 1.3 2017/08/12 07:07:53 maxv Exp $ */ +/* $NetBSD: freebsd_machdep.c,v 1.4 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: freebsd_machdep.c,v 1.3 2017/08/12 07:07:53 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: freebsd_machdep.c,v 1.4 2017/09/17 09:41:35 maxv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -184,7 +184,7 @@ freebsd_sys_sigreturn(struct lwp *l, con * the trap, rather than doing all of the checking here. */ if (((context.sc_efl ^ tf->tf_eflags) & PSL_USERSTATIC) != 0 || - !USERMODE(context.sc_cs, context.sc_efl)) + !USERMODE(context.sc_cs)) return (EINVAL); tf->tf_gs = context.sc_gs; Index: src/sys/compat/linux/arch/i386/linux_machdep.c diff -u src/sys/compat/linux/arch/i386/linux_machdep.c:1.164 src/sys/compat/linux/arch/i386/linux_machdep.c:1.165 --- src/sys/compat/linux/arch/i386/linux_machdep.c:1.164 Sat Aug 12 07:07:53 2017 +++ src/sys/compat/linux/arch/i386/linux_machdep.c Sun Sep 17 09:41:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_machdep.c,v 1.164 2017/08/12 07:07:53 maxv Exp $ */ +/* $NetBSD: linux_machdep.c,v 1.165 2017/09/17 09:41:35 maxv Exp $ */ /*- * Copyright (c) 1995, 2000, 2008, 2009 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_machdep.c,v 1.164 2017/08/12 07:07:53 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_machdep.c,v 1.165 2017/09/17 09:41:35 maxv Exp $"); #if defined(_KERNEL_OPT) #include "opt_user_ldt.h" @@ -437,7 +437,7 @@ linux_restore_sigcontext(struct lwp *l, * the trap, rather than doing all of the checking here. */ if (((scp->sc_eflags ^ tf->tf_eflags) & PSL_USERSTATIC) != 0 || - !USERMODE(scp->sc_cs, scp->sc_eflags)) + !USERMODE(scp->sc_cs)) return EINVAL; tf->tf_gs = scp->sc_gs;