Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

riscv: ptrace: cfi: expand "SS" references to "shadow stack" in uapi headers

Similar to the recent change to expand "LP" to "branch landing pad",
let's expand "SS" in the ptrace uapi macros to "shadow stack" as well.
This aligns with the existing prctl() arguments, which use the
expanded "shadow stack" names, rather than just the abbreviation.

Link: https://lore.kernel.org/linux-riscv/CAHk-=whhSLGZAx3N5jJpb4GLFDqH_QvS07D+6BnkPWmCEzTAgw@mail.gmail.com/
Cc: Deepak Gupta <debug@rivosinc.com>
Signed-off-by: Paul Walmsley <pjw@kernel.org>

+16 -16
+9 -9
arch/riscv/include/uapi/asm/ptrace.h
··· 135 135 #define PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT 0 136 136 #define PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT 1 137 137 #define PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_BIT 2 138 - #define PTRACE_CFI_SS_EN_BIT 3 139 - #define PTRACE_CFI_SS_LOCK_BIT 4 140 - #define PTRACE_CFI_SS_PTR_BIT 5 138 + #define PTRACE_CFI_SHADOW_STACK_EN_BIT 3 139 + #define PTRACE_CFI_SHADOW_STACK_LOCK_BIT 4 140 + #define PTRACE_CFI_SHADOW_STACK_PTR_BIT 5 141 141 142 142 #define PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE _BITUL(PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT) 143 143 #define PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE \ 144 144 _BITUL(PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT) 145 145 #define PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_STATE \ 146 146 _BITUL(PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_BIT) 147 - #define PTRACE_CFI_SS_EN_STATE _BITUL(PTRACE_CFI_SS_EN_BIT) 148 - #define PTRACE_CFI_SS_LOCK_STATE _BITUL(PTRACE_CFI_SS_LOCK_BIT) 149 - #define PTRACE_CFI_SS_PTR_STATE _BITUL(PTRACE_CFI_SS_PTR_BIT) 147 + #define PTRACE_CFI_SHADOW_STACK_EN_STATE _BITUL(PTRACE_CFI_SHADOW_STACK_EN_BIT) 148 + #define PTRACE_CFI_SHADOW_STACK_LOCK_STATE _BITUL(PTRACE_CFI_SHADOW_STACK_LOCK_BIT) 149 + #define PTRACE_CFI_SHADOW_STACK_PTR_STATE _BITUL(PTRACE_CFI_SHADOW_STACK_PTR_BIT) 150 150 151 151 #define PTRACE_CFI_STATE_INVALID_MASK ~(PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE | \ 152 152 PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE | \ 153 153 PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_STATE | \ 154 - PTRACE_CFI_SS_EN_STATE | \ 155 - PTRACE_CFI_SS_LOCK_STATE | \ 156 - PTRACE_CFI_SS_PTR_STATE) 154 + PTRACE_CFI_SHADOW_STACK_EN_STATE | \ 155 + PTRACE_CFI_SHADOW_STACK_LOCK_STATE | \ 156 + PTRACE_CFI_SHADOW_STACK_PTR_STATE) 157 157 158 158 struct __cfi_status { 159 159 __u64 cfi_state;
+5 -5
arch/riscv/kernel/ptrace.c
··· 311 311 } 312 312 313 313 if (is_shstk_enabled(target)) { 314 - user_cfi.cfi_status.cfi_state |= (PTRACE_CFI_SS_EN_STATE | 315 - PTRACE_CFI_SS_PTR_STATE); 314 + user_cfi.cfi_status.cfi_state |= (PTRACE_CFI_SHADOW_STACK_EN_STATE | 315 + PTRACE_CFI_SHADOW_STACK_PTR_STATE); 316 316 user_cfi.cfi_status.cfi_state |= is_shstk_locked(target) ? 317 - PTRACE_CFI_SS_LOCK_STATE : 0; 317 + PTRACE_CFI_SHADOW_STACK_LOCK_STATE : 0; 318 318 user_cfi.shstk_ptr = get_active_shstk(target); 319 319 } 320 320 ··· 350 350 */ 351 351 if ((user_cfi.cfi_status.cfi_state & 352 352 (PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE | PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE | 353 - PTRACE_CFI_SS_EN_STATE | PTRACE_CFI_SS_LOCK_STATE)) || 353 + PTRACE_CFI_SHADOW_STACK_EN_STATE | PTRACE_CFI_SHADOW_STACK_LOCK_STATE)) || 354 354 (user_cfi.cfi_status.cfi_state & PTRACE_CFI_STATE_INVALID_MASK)) 355 355 return -EINVAL; 356 356 ··· 365 365 366 366 /* If shadow stack enabled on target, set new shadow stack pointer */ 367 367 if (is_shstk_enabled(target) && 368 - (user_cfi.cfi_status.cfi_state & PTRACE_CFI_SS_PTR_STATE)) 368 + (user_cfi.cfi_status.cfi_state & PTRACE_CFI_SHADOW_STACK_PTR_STATE)) 369 369 set_active_shstk(target, user_cfi.shstk_ptr); 370 370 371 371 return 0;
+2 -2
tools/testing/selftests/riscv/cfi/cfitests.c
··· 95 95 96 96 switch (ptrace_test_num) { 97 97 #define CFI_ENABLE_MASK (PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE | \ 98 - PTRACE_CFI_SS_EN_STATE | \ 99 - PTRACE_CFI_SS_PTR_STATE) 98 + PTRACE_CFI_SHADOW_STACK_EN_STATE | \ 99 + PTRACE_CFI_SHADOW_STACK_PTR_STATE) 100 100 case 0: 101 101 if ((cfi_reg.cfi_status.cfi_state & CFI_ENABLE_MASK) != CFI_ENABLE_MASK) 102 102 ksft_exit_fail_msg("%s: ptrace_getregset failed, %llu\n", __func__,