Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add kern.features.cheri_purecap_kernel #2229

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

brooksdavis
Copy link
Member

Rename misleading kern.features.cheriabi_kernel to kern.features.cheri_purecap_kernel and make clear that it's a pure-capaiblity kernel (not CheriABI which refers to userspace).

Rename misleading kern.features.cheriabi_kernel to
kern.features.cheri_purecap_kernel and make clear that it's a
pure-capaiblity kernel (not CheriABI which refers to userspace).
@brooksdavis
Copy link
Member Author

Nothing in tree uses the old feature flag so I think it's safe to drop. Could keep it for a release instead, but we'd then need to remember to remove it.

Copy link
Member

@kwitaszczyk kwitaszczyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worth renaming other features to match kernel config options and indicate that they refer to CHERI/Morello:

  • kern.features.subobject_bounds to kern.features.cheri_subobject_bounds
  • kern.features.cheri_revoke to kern.features.cheri_caprevoke
  • kern.features.benchmark_abi_kernel to kern.features.morello_benchmarkabi_kernel.

That would be useful when listing features with sysctl kern.features | grep 'cheri\|morello'.

@@ -37,7 +37,7 @@
#include <cheri/cheri.h>

#ifdef __CHERI_PURE_CAPABILITY__
FEATURE(cheriabi_kernel, "CheriABI kernel");
FEATURE(cheri_purecap_kernel, "pure-capability kernel");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
FEATURE(cheri_purecap_kernel, "pure-capability kernel");
FEATURE(cheri_purecap_kernel, "CHERI pure-capability kernel");

@@ -37,7 +37,7 @@
#include <cheri/cheri.h>

#ifdef __CHERI_PURE_CAPABILITY__
FEATURE(cheriabi_kernel, "CheriABI kernel");
FEATURE(cheri_purecap_kernel, "pure-capability kernel");
#ifdef __CHERI_SUBOBJECT_BOUNDS__
FEATURE(subobject_bounds, "CheriABI kernel with sub-object bounds");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
FEATURE(subobject_bounds, "CheriABI kernel with sub-object bounds");
FEATURE(subobject_bounds, "CHERI pure-capability kernel with sub-object bounds");

I think Konrad's suggestion of renaming this to include "cheri" might also be useful.

@jrtc27
Copy link
Member

jrtc27 commented Oct 16, 2024

kern.features.morello_benchmarkabi_kernel

This doesn't say purecap in it. Given we have cheri_purecap_kernel, probably morello_purecap_benchmark_kernel is the best thing (with a possible _abi in there too if you want).

@jrtc27
Copy link
Member

jrtc27 commented Oct 16, 2024

kern.features.cheri_caprevoke

This one is queried by bits of userspace, so an upgraded kernel would break them.

@jrtc27
Copy link
Member

jrtc27 commented Oct 16, 2024

kern.features.cheri_subobject_bounds

This should say kernel in it too for the feature name?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants