Re: [capsicum] Header location

On 24 Feb 2014, at 17:56, Robert N. M. Watson <robert.watson at> wrote:

I believe <linux/capability.h> is the internal version of the header, and <sys/capability.h> is the user-space visible version (as per POSIX.1e) that includes & supplements it: (which turns up in the libcap-dev package normally).

It would certainly be nice to disambiguate the word "capability" in the kernel code, but I'm not sure how feasible that is...

I think we should stick with our use in data structures, comments, etc, since they are in fact 'capabilities' and we would introduce non-trivial confusion by using some other term -- but eliminating the header collision to ease adoption would definitely be worth doing.

In FreeBSD 11-CURRENT, I have:

(1) Renamed sys/capability.h to sys/capsicum.h
(2) Added a new compatibility header, sys/capability.h that does a nested include of sys/capsicum.h
(3) Bumped __FreeBSD_version to 1100014

I will plan to merge this to FreeBSD 10-STABLE in a couple of weeks once I'm sure it's settled without consequences, and it will appear in FreeBSD 10.1 in due course.

At some point I will add a #warn to sys/capability.h to attempt to sweep up applications using the old header.


This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.