This note will be used to allow binaries to opt out of, or in to, upcoming vulnerability mitigation and other features. It is not yet connected but being added now to facilitate testing and ensure compatibility with existing kernels and tools.
Details
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
lib/csu/common/feature.c | ||
---|---|---|
42 | I wrote it this way to suggest we might expand this in the future |
I do not see a reason not to provide the feature_ctl note definition in crtbrand.c.
lib/csu/common/feature.c | ||
---|---|---|
42 | I suggest we define one MI and one MD flags fields from the start. There seems to be inconsistent use of tab/space between type and member name. |
lib/csu/common/crtbrand.c | ||
---|---|---|
76 ↗ | (On Diff #48803) | space changed to tab here locally |
lib/csu/common/crtbrand.c | ||
---|---|---|
76 ↗ | (On Diff #48803) | I'd be tempted toward desc[3]; to make this an even 32 bytes and provide a bit more future-proofing. |
lib/csu/common/crtbrand.c | ||
---|---|---|
76 ↗ | (On Diff #48803) | I already asked to provide MI and MD flag words from the beginning. |
lib/csu/common/crtbrand.c | ||
---|---|---|
76 ↗ | (On Diff #48803) | As much as possible I'd really like to make this MI; even things that are x86-only right now (say, PTI control) could be extended to other architectures in the future and could use a MI bit. My suggestion is that we just define MD_1, MD_2, etc. bits as needed and give them MD aliases. That said, reserving 3 3-bit ints now and making the whole note 32 bytes seems fine. |
- move to crtbrand.c
- rebase after rS340076 (add note definition separately so readelf change can be MFC'd)
- leave as int desc[1] for now and assume primarily MI for now, based on discussion