Skip to content

Commit e5342fe

Browse files
author
Paul Walmsley
committed
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>
1 parent adfc80d commit e5342fe

3 files changed

Lines changed: 16 additions & 16 deletions

File tree

arch/riscv/include/uapi/asm/ptrace.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,25 +135,25 @@ struct __sc_riscv_cfi_state {
135135
#define PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT 0
136136
#define PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT 1
137137
#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
141141

142142
#define PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE _BITUL(PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT)
143143
#define PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE \
144144
_BITUL(PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT)
145145
#define PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_STATE \
146146
_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)
150150

151151
#define PTRACE_CFI_STATE_INVALID_MASK ~(PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE | \
152152
PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE | \
153153
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)
157157

158158
struct __cfi_status {
159159
__u64 cfi_state;

arch/riscv/kernel/ptrace.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -311,10 +311,10 @@ static int riscv_cfi_get(struct task_struct *target,
311311
}
312312

313313
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);
316316
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;
318318
user_cfi.shstk_ptr = get_active_shstk(target);
319319
}
320320

@@ -350,7 +350,7 @@ static int riscv_cfi_set(struct task_struct *target,
350350
*/
351351
if ((user_cfi.cfi_status.cfi_state &
352352
(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)) ||
354354
(user_cfi.cfi_status.cfi_state & PTRACE_CFI_STATE_INVALID_MASK))
355355
return -EINVAL;
356356

@@ -365,7 +365,7 @@ static int riscv_cfi_set(struct task_struct *target,
365365

366366
/* If shadow stack enabled on target, set new shadow stack pointer */
367367
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))
369369
set_active_shstk(target, user_cfi.shstk_ptr);
370370

371371
return 0;

tools/testing/selftests/riscv/cfi/cfitests.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ bool cfi_ptrace_test(void)
9595

9696
switch (ptrace_test_num) {
9797
#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)
100100
case 0:
101101
if ((cfi_reg.cfi_status.cfi_state & CFI_ENABLE_MASK) != CFI_ENABLE_MASK)
102102
ksft_exit_fail_msg("%s: ptrace_getregset failed, %llu\n", __func__,

0 commit comments

Comments
 (0)