Re: Explicit pointer provenance APIs for CHERI

Brooks Davis <[email protected]> Wed, 24 Jun 2026 10:13:40 +0000
Newsgroups gmane.os.freebsd.architechture
Message-ID <[email protected]>
On Mon, Jun 22, 2026 at 10:11:36AM -0700, Adrian Chadd wrote:
> On Fri, 19 Jun 2026 at 07:19, Brooks Davis <[email protected]> wrote:
> >
> > As part of our effort to bring CHERI memory safety to FreeBSD, I have
> > posted a stack of reviews in Phabricator which add APIs to explicitly
> > indicate that pointer provenance should be preserved or stripped when
> > copying memory.  Under CHERI targets, the non-preserving APIs explicitly
> > strip validity tags from CHERI capabilities.  This limits the
> > opportunity for inappropriate flow of capabilities, primarily between
> > user space and kernel space.
> 
> hi!
> 
> My main feedback here is that "pointer provenance" is not defined anywhere
> in both this email or the diff contents (especially manpages.)
> 
> Although I've been in developer IRC chats long enough to know what/where
> to go look to figure it out, I do think that as part of landing any of
> this in -HEAD
> we should write up some documentation in -HEAD somewhere.
> 
> Specifically, I'd like a manpage which defines something top level for these
> terms and link to that manpage from manpages that talk about pointer
> provenance and anything else that leads into CHERI related stuff.

Lacking an obviously better place I've added a section to arch(7) and
linked it from the various manpages.  https://reviews.freebsd.org/D57812

Thanks,
Brooks