Commit 87ad7cc9 authored by Paul Walmsley's avatar Paul Walmsley
Browse files

riscv: use _BITUL macro rather than BIT() in ptrace uapi and kselftests

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: 30eb191c ("selftests: riscv: verify ptrace rejects invalid vector csr inputs")
Fixes: 2af7c9cf ("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: default avatarPaul Walmsley <pjw@kernel.org>
parent 3033b2b1
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -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 | \
+2 −2
Original line number Diff line number Diff line
@@ -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)