Nathaniel Wesley Filardo

Results 145 comments of Nathaniel Wesley Filardo

The stack overflow remains mysterious despite some time investigating; I'll pick it up again tomorrow. The compiler now at least exits with a failure when it happens.

That syntactic sugar poses all kinds of problems for our current ANF.

OK, after #1406 is applied, we're left with a pretty clearly a case of corruption leading to us attempting to reconstruct a capability we shouldn't be reconstructing. I've rebuilt my...

This is already fixed in https://github.com/CTSRD-CHERI/cheribsd/tree/dev by virtue of using a newer `bmake` (in particular, by https://github.com/CTSRD-CHERI/cheribsd/commit/2061c94e6fd9d9383421ab205d39ac92b46b149f#diff-758497d6eca7d4c246f85b3134a7edf364339c615a06f2f86179266b0b5b74c3L443 et seq.). You can either apply that hunk locally or pull up to...

> Suppose userspace calls `madvise(MADV_FREE_REUSABLE)` on a virtual address range backed by anonymous memory. Then any physical pages mapped in that range enter a "reusable" state. When in this state,...

I could be convinced either way on faulting in a `REUSABLE` region, I guess. My primary concern is that that the mechanism compose well with CHERI revocation in that if...

This version has been corrected to not cause a return from the middle of an inlined function (d'oh!). Similar restructuring will be necessary for https://github.com/CTSRD-CHERI/cheribsd/pull/1155, just haven't made time yet.

Potentially, the paged interface may be of interest to upstream. But yes, I'm content to leave it parked on a branch if it's not useful to anyone.

Regarding `PROT_NONE`, there's also https://github.com/CTSRD-CHERI/cheribsd/pull/1034 that we should probably either fix or warn on. At least, I found it very surprising when porting `snmalloc`.

Well, I tried with ``` diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsops.c index 829f866fff1e..10378d84c1eb 100644 --- a/sys/fs/nfsclient/nfs_clvfsops.c +++ b/sys/fs/nfsclient/nfs_clvfsops.c @@ -1295,7 +1295,7 @@ nfs_mount(struct mount *mp) &args.hostname, (struct sockaddr_in **)&nam, dirpath, sizeof(dirpath), &dirlen)...