Please check https://ci.freebsd.org/job/FreeBSD-head-amd64-test/14174/testReport/junit/sys.capsicum/capsicum-test/main/ for the detailed failure message.
Example failure: [ RUN ] Capability.InheritanceForked /usr/src/contrib/capsicum-test/capability-fd.cc:388: Failure Expected equality of these values: 93 (* __error()) Which is: 20 /usr/src/contrib/capsicum-test/capability-fd.cc:360: Failure Expected equality of these values: 0 rc Which is: 1 [ FAILED ] Capability.InheritanceForked (12 ms) 387 file = openat(cap_dir, filename, O_WRONLY|O_APPEND); 388 EXPECT_NOTCAPABLE(file); errno 20 is ENOTDIR
D23479 should fix this, but I don't have the capability (hehe) to run the capsicum tests at the moment.
I've tested D23479 and the test passed.
A commit references this bug: Author: kevans Date: Mon Feb 3 18:59:07 UTC 2020 New revision: 357461 URL: https://svnweb.freebsd.org/changeset/base/357461 Log: namei: preserve errors from fget_cap_locked Most notably, we want to make sure we don't clobber any capabilities-related errors. This is a regression from r357412 (O_SEARCH) that was picked up by the capsicum tests. PR: 243839 Reviewed by: kib (committed form recommended by) Tested by: lwhsu Differential Revision: https://reviews.freebsd.org/D23479 Changes: head/sys/kern/vfs_lookup.c
Committed form was slightly different, but should preserve the error just as needed- thanks for confirming!
Thanks for the quick fix (and especially thanks to ngie for bringing the capsicum-test suite into contrib)