diff options
Diffstat (limited to 'net/xfrm')
| -rw-r--r-- | net/xfrm/xfrm_ipcomp.c | 16 | ||||
| -rw-r--r-- | net/xfrm/xfrm_policy.c | 6 | ||||
| -rw-r--r-- | net/xfrm/xfrm_proc.c | 3 | 
3 files changed, 13 insertions, 12 deletions
diff --git a/net/xfrm/xfrm_ipcomp.c b/net/xfrm/xfrm_ipcomp.c index 42cd18391f4..0fc5ff66d1f 100644 --- a/net/xfrm/xfrm_ipcomp.c +++ b/net/xfrm/xfrm_ipcomp.c @@ -30,12 +30,12 @@  struct ipcomp_tfms {  	struct list_head list; -	struct crypto_comp **tfms; +	struct crypto_comp * __percpu *tfms;  	int users;  };  static DEFINE_MUTEX(ipcomp_resource_mutex); -static void **ipcomp_scratches; +static void * __percpu *ipcomp_scratches;  static int ipcomp_scratch_users;  static LIST_HEAD(ipcomp_tfms_list); @@ -200,7 +200,7 @@ EXPORT_SYMBOL_GPL(ipcomp_output);  static void ipcomp_free_scratches(void)  {  	int i; -	void **scratches; +	void * __percpu *scratches;  	if (--ipcomp_scratch_users)  		return; @@ -215,10 +215,10 @@ static void ipcomp_free_scratches(void)  	free_percpu(scratches);  } -static void **ipcomp_alloc_scratches(void) +static void * __percpu *ipcomp_alloc_scratches(void)  {  	int i; -	void **scratches; +	void * __percpu *scratches;  	if (ipcomp_scratch_users++)  		return ipcomp_scratches; @@ -239,7 +239,7 @@ static void **ipcomp_alloc_scratches(void)  	return scratches;  } -static void ipcomp_free_tfms(struct crypto_comp **tfms) +static void ipcomp_free_tfms(struct crypto_comp * __percpu *tfms)  {  	struct ipcomp_tfms *pos;  	int cpu; @@ -267,10 +267,10 @@ static void ipcomp_free_tfms(struct crypto_comp **tfms)  	free_percpu(tfms);  } -static struct crypto_comp **ipcomp_alloc_tfms(const char *alg_name) +static struct crypto_comp * __percpu *ipcomp_alloc_tfms(const char *alg_name)  {  	struct ipcomp_tfms *pos; -	struct crypto_comp **tfms; +	struct crypto_comp * __percpu *tfms;  	int cpu;  	/* This can be any valid CPU ID so we don't need locking. */ diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index eb870fcc29c..cfceb6616ec 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -2428,19 +2428,19 @@ static int __net_init xfrm_statistics_init(struct net *net)  {  	int rv; -	if (snmp_mib_init((void **)net->mib.xfrm_statistics, +	if (snmp_mib_init((void __percpu **)net->mib.xfrm_statistics,  			  sizeof(struct linux_xfrm_mib)) < 0)  		return -ENOMEM;  	rv = xfrm_proc_init(net);  	if (rv < 0) -		snmp_mib_free((void **)net->mib.xfrm_statistics); +		snmp_mib_free((void __percpu **)net->mib.xfrm_statistics);  	return rv;  }  static void xfrm_statistics_fini(struct net *net)  {  	xfrm_proc_fini(net); -	snmp_mib_free((void **)net->mib.xfrm_statistics); +	snmp_mib_free((void __percpu **)net->mib.xfrm_statistics);  }  #else  static int __net_init xfrm_statistics_init(struct net *net) diff --git a/net/xfrm/xfrm_proc.c b/net/xfrm/xfrm_proc.c index c083a4e4e79..003f2c437ac 100644 --- a/net/xfrm/xfrm_proc.c +++ b/net/xfrm/xfrm_proc.c @@ -50,7 +50,8 @@ static int xfrm_statistics_seq_show(struct seq_file *seq, void *v)  	int i;  	for (i=0; xfrm_mib_list[i].name; i++)  		seq_printf(seq, "%-24s\t%lu\n", xfrm_mib_list[i].name, -			   snmp_fold_field((void **)net->mib.xfrm_statistics, +			   snmp_fold_field((void __percpu **) +					   net->mib.xfrm_statistics,  					   xfrm_mib_list[i].entry));  	return 0;  }  |