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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"