Subject: does check_exec() change *SCARG(uap, argp) value ? (NetBSD/evbsh3)
To: None <current-users@netbsd.org>
From: Hiroki Minematu <minematu@aimcom.co.jp>
List: current-users
Date: 11/22/2001 22:42:03
Hello,

 I'm now under work with NetBSD/sh (evbsh3) on my eva board that 
mount SH4(7750S) and simple serial port. 
 So, I met with an unfortunate accident on my kernel, check_exec() 
function changes  *SCARG(uap,argp) values, so maybe it is incorrect 
works, 

for example, then insert PRINTF at before and after on calling 
check_exec() function (is placed on 375),

/usr/src/sys/arch/evbsh3/compile/MYSH4/../../../../kern/kern_exec.c 
(372) SCARG(argp)=7fffdfe4 *SCARG(argp)=7fffdff8
/usr/src/sys/arch/evbsh3/compile/MYSH4/../../../../kern/kern_exec.c 
(377) SCARG(argp)=7fffdfe4 *SCARG(argp)=1ffedff8

# printf("%s (%d) SCARG(argp)=%x *SCARG(argp)=%x\n",
#   __FILE__, __LINE__, (uint)SCARG(uap, argp),
#  (uint)*(char **)(SCARG(uap, argp))); 
# is maybe correct.

 Is it different behavior  against any other EBVSH3 users ?
(mmeyes, dreamcast) 
------------------------+
Hiroki MINEMATSU/AImcom |
minematu@aimcom.co.jp   |