Subject: systrace and non-existent files
To: None <tech-userlevel@netbsd.org>
From: Michael Piotrowski <mxp@dynalabs.de>
List: tech-userlevel
Date: 05/11/2007 10:37:03
Hi,

This week my hard disk crashed and in the course of recovery I updated
from NetBSD 3.0.1 to 3.1.

I'm using systrace quite a lot (for running students' programming
assignments), and after the update I noticed that some interpreters are
now being killed by systrace and that for others lots of "deny" messages
are being logged--while it had worked fine before.  I quickly noticed
that this was related to the handling of non-existent filenames.  While
before rules like

  netbsd-fsread: filename match "/<non-existent filename>: *" then deny[enoent]

worked, they no longer match.

It seems that this is the same issue as described in PR 32360 ("recent
changes breaks systrace fswrite").  Browsing CVS, I found that this
problem was fixed in revision 1.36.2.2 of getcwd.c, but in revision
1.36.2.3, which is used in NetBSD 3.1, exactly this change was removed.

Being unable to handle non-existent filenames correctly severely limits
the usefulness of systrace for me.

Does anybody know whether this problem will be fixed in the next
release? Or are there any recommendations for what I could do?

Thanks and greetings

-- 
Michael Piotrowski, M.A.                               <mxp@dynalabs.de>
Public key at <http://www.dynalabs.de/mxp/pubkey.txt>