cvs commit: src/usr.bin/su su.c
sobomax at FreeBSD.org
Wed Oct 25 04:04:18 UTC 2006
Your patch works just fine. Please don't forget to MFC it before 6.2 is out.
Robert Watson wrote:
> On Tue, 24 Oct 2006, Maxim Sobolev wrote:
>> Robert Watson wrote:
>>> The method by which the distinction between ENOSYS+SIGSYS and plain
>>> ENOSYS is determined is in the implementation of the system call. If
>>> a system call is flagged as unimplemented (i.e., you never hit the
>>> function implementing it), you get SIGSYS+ENOSYS. If you enter the
>>> stub, you get ENOSYS. So the problem is that the compat code doesn't
>>> enter the stub, so never gets to the ENOSYS path. A casual glance at
>>> the system call arguments for audit suggest that wrappers aren't
>>> needed (no pointers embedded in structure arguments), so simply
>>> marking them as implemented will likely work.
>> Well unless I have confused something it is not really the case. For
>> example, getauid() system call takes pointer as an argument.
> I've gone ahead and updated the freebsd32 syscalls.master file to hook
> up the audit system calls. Could you locally back out your change and
> see if a kernel built with these changes operates properly?
> Robert N M Watson
> Computer Laboratory
> University of Cambridge
More information about the cvs-src