selftests/rseq: Remove volatile from __rseq_abi
This is done in preparation for the selftest uplift to become compatible with glibc-2.35. All accesses to the __rseq_abi fields are volatile, but remove the volatile from the TLS variable declaration, otherwise we are stuck with volatile for the upcoming rseq_get_abi() helper. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20220124171253.22072-5-mathieu.desnoyers@efficios.com
This commit is contained in:
parent
930378d056
commit
94b80a19eb
@ -30,7 +30,7 @@
|
||||
#include "../kselftest.h"
|
||||
#include "rseq.h"
|
||||
|
||||
__thread volatile struct rseq_abi __rseq_abi = {
|
||||
__thread struct rseq_abi __rseq_abi = {
|
||||
.cpu_id = RSEQ_ABI_CPU_ID_UNINITIALIZED,
|
||||
};
|
||||
|
||||
@ -92,7 +92,7 @@ int rseq_register_current_thread(void)
|
||||
goto end;
|
||||
}
|
||||
if (errno != EBUSY)
|
||||
__rseq_abi.cpu_id = RSEQ_ABI_CPU_ID_REGISTRATION_FAILED;
|
||||
RSEQ_WRITE_ONCE(__rseq_abi.cpu_id, RSEQ_ABI_CPU_ID_REGISTRATION_FAILED);
|
||||
ret = -1;
|
||||
__rseq_refcount--;
|
||||
end:
|
||||
|
@ -43,7 +43,7 @@
|
||||
#define RSEQ_INJECT_FAILED
|
||||
#endif
|
||||
|
||||
extern __thread volatile struct rseq_abi __rseq_abi;
|
||||
extern __thread struct rseq_abi __rseq_abi;
|
||||
extern int __rseq_handled;
|
||||
|
||||
#define rseq_likely(x) __builtin_expect(!!(x), 1)
|
||||
@ -139,7 +139,7 @@ static inline uint32_t rseq_current_cpu(void)
|
||||
|
||||
static inline void rseq_clear_rseq_cs(void)
|
||||
{
|
||||
__rseq_abi.rseq_cs.arch.ptr = 0;
|
||||
RSEQ_WRITE_ONCE(__rseq_abi.rseq_cs.arch.ptr, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user