cvs commit: src/usr.bin/su su.c

Maxim Sobolev sobomax at
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?
> Thanks,
> Robert N M Watson
> Computer Laboratory
> University of Cambridge

More information about the cvs-src mailing list