Subject: Re: backward-incompatible change to systrace
To: None <itojun@iijlab.net>
From: None <xs@kittenz.org>
List: tech-kern
Date: 07/30/2002 19:43:18
on Wed, Jul 31, 2002 at 01:55:42AM +0900, itojun@iijlab.net wrote:
> 	the "backward-incompatible" change is the addition of sequence numbers
> 	to ioctls to avoid race conditions/out-of-sync between bin/systrace
> 	and the kernel.
> 
> 	argument replacement ioctl is also pulled in with the commit.

Cool. Thanks!

> 	for me "systrace -A" generated nothing, due to the difference
> 	between openbsd and netbsd on how to hook into syscalls.
> 	(EJUSTRETURN from execve was passed up to the userland, and
> 	confused bin/systrace)

This has been fixed since systrace was imported into NetBSD. See
intercept_syscall_result() in intercept.c. Perhaps you were using the
OpenBSD code?

Converting errno < 0 to a success is misleading with, for example, ERESTART.
That is why EJUSTRETURN is named explicitly for the execve case.