]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
riscv: use _BITUL macro rather than BIT() in ptrace uapi and kselftests
authorPaul Walmsley <pjw@kernel.org>
Thu, 2 Apr 2026 23:18:03 +0000 (17:18 -0600)
committerPaul Walmsley <pjw@kernel.org>
Sun, 5 Apr 2026 00:37:54 +0000 (18:37 -0600)
Fix the build of non-kernel code that includes the RISC-V ptrace uapi
header, and the RISC-V validate_v_ptrace.c kselftest, by using the
_BITUL() macro rather than BIT().  BIT() is not available outside
the kernel.

Based on patches and comments from Charlie Jenkins, Michael Neuling,
and Andreas Schwab.

Fixes: 30eb191c895b ("selftests: riscv: verify ptrace rejects invalid vector csr inputs")
Fixes: 2af7c9cf021c ("riscv/ptrace: expose riscv CFI status and state via ptrace and in core files")
Cc: Andreas Schwab <schwab@suse.de>
Cc: Michael Neuling <mikey@neuling.org>
Cc: Charlie Jenkins <thecharlesjenkins@gmail.com>
Link: https://patch.msgid.link/20260330024248.449292-1-mikey@neuling.org
Link: https://lore.kernel.org/linux-riscv/20260309-fix_selftests-v2-1-9d5a553a531e@gmail.com/
Link: https://lore.kernel.org/linux-riscv/20260309-fix_selftests-v2-3-9d5a553a531e@gmail.com/
Signed-off-by: Paul Walmsley <pjw@kernel.org>
arch/riscv/include/uapi/asm/ptrace.h
tools/testing/selftests/riscv/vector/validate_v_ptrace.c

index 18988a5f1a630b833439acbc7d2be2a2136f10e6..70a74adad914376f7bc4151cf347f4a5c90d1b48 100644 (file)
@@ -9,6 +9,7 @@
 #ifndef __ASSEMBLER__
 
 #include <linux/types.h>
+#include <linux/const.h>
 
 #define PTRACE_GETFDPIC                33
 
@@ -138,12 +139,12 @@ struct __sc_riscv_cfi_state {
 #define PTRACE_CFI_SS_LOCK_BIT 4
 #define PTRACE_CFI_SS_PTR_BIT  5
 
-#define PTRACE_CFI_LP_EN_STATE         BIT(PTRACE_CFI_LP_EN_BIT)
-#define PTRACE_CFI_LP_LOCK_STATE       BIT(PTRACE_CFI_LP_LOCK_BIT)
-#define PTRACE_CFI_ELP_STATE           BIT(PTRACE_CFI_ELP_BIT)
-#define PTRACE_CFI_SS_EN_STATE         BIT(PTRACE_CFI_SS_EN_BIT)
-#define PTRACE_CFI_SS_LOCK_STATE       BIT(PTRACE_CFI_SS_LOCK_BIT)
-#define PTRACE_CFI_SS_PTR_STATE                BIT(PTRACE_CFI_SS_PTR_BIT)
+#define PTRACE_CFI_LP_EN_STATE         _BITUL(PTRACE_CFI_LP_EN_BIT)
+#define PTRACE_CFI_LP_LOCK_STATE       _BITUL(PTRACE_CFI_LP_LOCK_BIT)
+#define PTRACE_CFI_ELP_STATE           _BITUL(PTRACE_CFI_ELP_BIT)
+#define PTRACE_CFI_SS_EN_STATE         _BITUL(PTRACE_CFI_SS_EN_BIT)
+#define PTRACE_CFI_SS_LOCK_STATE       _BITUL(PTRACE_CFI_SS_LOCK_BIT)
+#define PTRACE_CFI_SS_PTR_STATE                _BITUL(PTRACE_CFI_SS_PTR_BIT)
 
 #define PRACE_CFI_STATE_INVALID_MASK   ~(PTRACE_CFI_LP_EN_STATE | \
                                          PTRACE_CFI_LP_LOCK_STATE | \
index 3589549f722891edc3748d786d23a389dab1a58f..7ae6fede496f6f9c006e7dcc769a290bf18e7d95 100644 (file)
@@ -346,8 +346,8 @@ FIXTURE_TEARDOWN(v_csr_invalid)
 {
 }
 
-#define VECTOR_1_0             BIT(0)
-#define XTHEAD_VECTOR_0_7      BIT(1)
+#define VECTOR_1_0             _BITUL(0)
+#define XTHEAD_VECTOR_0_7      _BITUL(1)
 
 #define vector_test(x)         ((x) & VECTOR_1_0)
 #define xthead_test(x)         ((x) & XTHEAD_VECTOR_0_7)