diff options
author | Tejun Heo <tj@kernel.org> | 2010-02-16 10:20:26 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-17 02:05:38 -0500 |
commit | 7d720c3e4f0c4fc152a6bf17e24244a3c85412d2 (patch) | |
tree | 36e037187ce79acb211702bea22e99c625787757 /net/dccp | |
parent | 2bb4646fce8d09916b351d1a62f98db7cec6fc41 (diff) |
percpu: add __percpu sparse annotations to net
Add __percpu sparse annotations to net.
These annotations are to make sparse consider percpu variables to be
in a different address space and warn if accessed without going
through percpu accessors. This patch doesn't affect normal builds.
The macro and type tricks around snmp stats make things a bit
interesting. DEFINE/DECLARE_SNMP_STAT() macros mark the target field
as __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly. All
snmp_mib_*() users which used to cast the argument to (void **) are
updated to cast it to (void __percpu **).
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r-- | net/dccp/proto.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/dccp/proto.c b/net/dccp/proto.c index 85ec1cb7fd41..0ef7061920c0 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c | |||
@@ -1005,12 +1005,13 @@ EXPORT_SYMBOL_GPL(dccp_shutdown); | |||
1005 | 1005 | ||
1006 | static inline int dccp_mib_init(void) | 1006 | static inline int dccp_mib_init(void) |
1007 | { | 1007 | { |
1008 | return snmp_mib_init((void**)dccp_statistics, sizeof(struct dccp_mib)); | 1008 | return snmp_mib_init((void __percpu **)dccp_statistics, |
1009 | sizeof(struct dccp_mib)); | ||
1009 | } | 1010 | } |
1010 | 1011 | ||
1011 | static inline void dccp_mib_exit(void) | 1012 | static inline void dccp_mib_exit(void) |
1012 | { | 1013 | { |
1013 | snmp_mib_free((void**)dccp_statistics); | 1014 | snmp_mib_free((void __percpu **)dccp_statistics); |
1014 | } | 1015 | } |
1015 | 1016 | ||
1016 | static int thash_entries; | 1017 | static int thash_entries; |