Messages in this thread Patch in this message | | | Date | Wed, 04 Aug 1999 22:10:34 -0700 | From | merblich <> | Subject | Re: User-mode kernel update and ptrace patch |
| |
FYI,
A kernel ASSERT specifies that something better be TRUE or vice versa.
The standard "ASSERT" within the Solaris kernel is the same as calling cmn_err(9f)?, with the first arg being CE_PANIC. This drops the kernel into a debuging mode at a kadb (kernel debugger prompt). Yes, the ASSERT is ONLY compiled into debugged versions of the kernel.
Mitchell Erblich =======================
Jeff Dike wrote: > > The user-mode kernel is now a 2.3.12 kernel, and I plan to keep it current > with the latest development kernels. It is now possible to log in on the > console, and there were also some improvements made to the serial line. All > the details are available at http://www.mv.com/ipusers/karaya/uml/uml.html. > > Below is a patch to ptrace that I would like to get into 2.3. It allows > ptrace to change system call numbers. I need it for the user-mode kernel, and > Michael Elizabeth Chastain (mec@shout.net) needs it for his trace-and-replay > debugger. I'd appreciate it if people would look at it and let me know about > any problems. > > Jeff > > diff -u -r -N -X ../exclude-files orig/arch/i386/kernel/entry.S > um/arch/i386/ker > nel/entry.S > --- orig/arch/i386/kernel/entry.S Sun Aug 1 18:02:48 1999 > +++ um/arch/i386/kernel/entry.S Tue Aug 3 12:38:44 1999 > @@ -214,9 +214,14 @@ > movl $-ENOSYS,EAX(%esp) > call SYMBOL_NAME(syscall_trace) > movl ORIG_EAX(%esp),%eax > - call *SYMBOL_NAME(sys_call_table)(,%eax,4) > + cmpl $(NR_syscalls),%eax > + jae 1f > + movl SYMBOL_NAME(sys_call_table)(,%eax,4),%eax > + testl %eax,%eax > + je 1f > + call *%eax > movl %eax,EAX(%esp) # save the return value > - call SYMBOL_NAME(syscall_trace) > +1: call SYMBOL_NAME(syscall_trace) > jmp ret_from_sys_call > badsys: > movl $-ENOSYS,EAX(%esp) > diff -u -r -N -X ../exclude-files orig/arch/i386/kernel/ptrace.c > um/arch/i386/ke > rnel/ptrace.c > --- orig/arch/i386/kernel/ptrace.c Sun Aug 1 18:02:49 1999 > +++ um/arch/i386/kernel/ptrace.c Tue Aug 3 13:43:42 1999 > @@ -11,6 +11,7 @@ > #include <linux/errno.h> > #include <linux/ptrace.h> > #include <linux/user.h> > +#include <linux/sys.h> > > #include <asm/uaccess.h> > #include <asm/pgtable.h> > @@ -72,7 +73,9 @@ > { > switch (regno >> 2) { > case ORIG_EAX: > - return -EIO; > + if (value >= NR_syscalls) > + return -EIO; > + break; > case FS: > if (value && (value & 3) != 3) > return -EIO; > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.rutgers.edu > Please read the FAQ at http://www.tux.org/lkml/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |