aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.21-pre4-sparse
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-04-16 18:44:01 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-04-16 18:44:01 +0000
commitfd934d30b5781bdbebab1b3f724296855d9df0a1 (patch)
tree33f31dd477e432eebf6ff547fef4204f69b30e3b /xenolinux-2.4.21-pre4-sparse
parent7425666a383d2dc4a15b9d1b15f890386b0eee26 (diff)
downloadxen-fd934d30b5781bdbebab1b3f724296855d9df0a1.tar.gz
xen-fd934d30b5781bdbebab1b3f724296855d9df0a1.tar.bz2
xen-fd934d30b5781bdbebab1b3f724296855d9df0a1.zip
bitkeeper revision 1.174.1.1 (3e9da471qg3yz_feoqPtr18G7aJ8UA)
ptrace.h, traps.c: Fix ring privilege checking in Xenolinux (OS runs in ring 1, not ring 0).
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse')
-rw-r--r--xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c2
-rw-r--r--xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c
index a10c07a0ae..c218067d2a 100644
--- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c
+++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/traps.c
@@ -364,7 +364,7 @@ asmlinkage void do_debug(struct pt_regs * regs, long error_code)
/* If this is a kernel mode trap, save the user PC on entry to
* the kernel, that's what the debugger can make sense of.
*/
- info.si_addr = ((regs->xcs & 3) == 0) ? (void *)tsk->thread.eip :
+ info.si_addr = ((regs->xcs & 2) == 0) ? (void *)tsk->thread.eip :
(void *)regs->eip;
force_sig_info(SIGTRAP, &info, tsk);
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h
index 83a1115ed6..4457ac0b17 100644
--- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h
+++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h
@@ -55,7 +55,7 @@ struct pt_regs {
#define PTRACE_O_TRACESYSGOOD 0x00000001
#ifdef __KERNEL__
-#define user_mode(regs) ((regs) && (3 & (regs)->xcs))
+#define user_mode(regs) ((regs) && (2 & (regs)->xcs))
#define instruction_pointer(regs) ((regs) ? (regs)->eip : NULL)
extern void show_regs(struct pt_regs *);
#endif