All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] percpu: add sanity check for UP
@ 2010-08-06 18:26 Namhyung Kim
  2010-08-07 12:25 ` percpu: handle __percpu notations in UP accessors Tejun Heo
  0 siblings, 1 reply; 2+ messages in thread
From: Namhyung Kim @ 2010-08-06 18:26 UTC (permalink / raw)
  To: tj; +Cc: linux-kernel

add sanity check for percpu accessors on UP.
This removes lots of sparse warnings.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
---
 include/asm-generic/percpu.h |   12 +++++++++---
 include/linux/percpu.h       |    2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
index b5043a9..50ac3ac 100644
--- a/include/asm-generic/percpu.h
+++ b/include/asm-generic/percpu.h
@@ -70,9 +70,15 @@ extern void setup_per_cpu_areas(void);
 
 #else /* ! SMP */
 
-#define per_cpu(var, cpu)			(*((void)(cpu), &(var)))
-#define __get_cpu_var(var)			(var)
-#define __raw_get_cpu_var(var)			(var)
+#define VERIFY_PERCPU_PTR(__p) ({			\
+	__verify_pcpu_ptr((__p));			\
+	(typeof(*(__p)) __kernel __force *) (__p);	\
+})
+
+#define per_cpu(var, cpu) \
+	(*((void)(cpu), VERIFY_PERCPU_PTR(&(var))))
+#define __get_cpu_var(var)		(*VERIFY_PERCPU_PTR(&(var)))
+#define __raw_get_cpu_var(var)		(*VERIFY_PERCPU_PTR(&(var)))
 #define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
 #define __this_cpu_ptr(ptr) this_cpu_ptr(ptr)
 
diff --git a/include/linux/percpu.h b/include/linux/percpu.h
index d3a38d6..bc36301 100644
--- a/include/linux/percpu.h
+++ b/include/linux/percpu.h
@@ -143,7 +143,7 @@ extern void __init setup_per_cpu_areas(void);
 
 #else /* CONFIG_SMP */
 
-#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
+#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR((ptr)); })
 
 /* can't distinguish from other static vars, always false */
 static inline bool is_kernel_percpu_address(unsigned long addr)
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-08-07 12:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-06 18:26 [PATCH 1/5] percpu: add sanity check for UP Namhyung Kim
2010-08-07 12:25 ` percpu: handle __percpu notations in UP accessors Tejun Heo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.