Message ID | 20231222165830.2100438-1-hjl.tools@gmail.com |
---|---|
Headers | show |
Series | x86/cet: Update CET kernel interface | expand |
* H. J. Lu: > H.J. Lu (6): > x86/cet: Sync with Linux kernel 6.6 shadow stack interface > elf: Always provide _dl_get_dl_main_map in libc.a > x86/cet: Enable shadow stack during startup > x86/cet: Check feature_1 in TCB for active IBT and SHSTK > x86/cet: Don't set CET active by default > x86/cet: Run some CET tests with shadow stack I tested this on: vendor_id : AuthenticAMD cpu family : 25 model : 97 model name : AMD Ryzen 9 7950X 16-Core Processor stepping : 2 microcode : 0xa601206 and the CET tests pass, except elf/tst-cet-legacy-8 and elf/tst-cet-property-2, which are flagged as UNSUPPORTED because IBT is not available (as expected). What's missing is a fault test that verifies that an unmatched RET instruction results in a SIGSEGV with a code of SEGV_CPERR, but that can be added later.
On Thu, Dec 28, 2023 at 8:00 AM Florian Weimer <fw@deneb.enyo.de> wrote: > > * H. J. Lu: > > > H.J. Lu (6): > > x86/cet: Sync with Linux kernel 6.6 shadow stack interface > > elf: Always provide _dl_get_dl_main_map in libc.a > > x86/cet: Enable shadow stack during startup > > x86/cet: Check feature_1 in TCB for active IBT and SHSTK > > x86/cet: Don't set CET active by default > > x86/cet: Run some CET tests with shadow stack > > I tested this on: > > vendor_id : AuthenticAMD > cpu family : 25 > model : 97 > model name : AMD Ryzen 9 7950X 16-Core Processor > stepping : 2 > microcode : 0xa601206 > > and the CET tests pass, except elf/tst-cet-legacy-8 and > elf/tst-cet-property-2, which are flagged as UNSUPPORTED because IBT > is not available (as expected). Thanks for your feedback. > What's missing is a fault test that verifies that an unmatched RET > instruction results in a SIGSEGV with a code of SEGV_CPERR, but that > can be added later. We could add more shadow stack tests after the shadow stack is enabled. I will submit a patch to allow mixing longjmp with user contexts. I will check in the v5 patch series next week if there are no objections so that we can start validating shadow stack support in applications and libraries.