percpu: use TYPEOF_UNQUAL() in *_cpu_ptr() accessors
Use TYPEOF_UNQUAL() macro to declare the return type of *_cpu_ptr() accessors in the generic named address space to avoid access to data from pointer to non-enclosed address space type of errors. Link: https://lkml.kernel.org/r/20250127160709.80604-5-ubizjak@gmail.com Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Acked-by: Nadav Amit <nadav.amit@gmail.com> Acked-by: Christoph Lameter <cl@linux.com> Cc: Dennis Zhou <dennis@kernel.org> Cc: Tejun Heo <tj@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Brian Gerst <brgerst@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Kent Overstreet <kent.overstreet@linux.dev> Cc: Paolo Abeni <pabeni@redhat.com> Cc: Waiman Long <longman@redhat.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
8a3c392388
commit
6a39fe05ec
@@ -73,10 +73,14 @@
|
||||
unsigned long tcp_ptr__ = raw_cpu_read_long(this_cpu_off); \
|
||||
\
|
||||
tcp_ptr__ += (__force unsigned long)(_ptr); \
|
||||
(typeof(*(_ptr)) __kernel __force *)tcp_ptr__; \
|
||||
(TYPEOF_UNQUAL(*(_ptr)) __force __kernel *)tcp_ptr__; \
|
||||
})
|
||||
#else
|
||||
#define arch_raw_cpu_ptr(_ptr) ({ BUILD_BUG(); (typeof(_ptr))0; })
|
||||
#define arch_raw_cpu_ptr(_ptr) \
|
||||
({ \
|
||||
BUILD_BUG(); \
|
||||
(TYPEOF_UNQUAL(*(_ptr)) __force __kernel *)0; \
|
||||
})
|
||||
#endif
|
||||
|
||||
#define PER_CPU_VAR(var) %__percpu_seg:(var)__percpu_rel
|
||||
|
||||
@@ -221,7 +221,7 @@ do { \
|
||||
} while (0)
|
||||
|
||||
#define PERCPU_PTR(__p) \
|
||||
(typeof(*(__p)) __force __kernel *)((__force unsigned long)(__p))
|
||||
(TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user