Commit 50eab050 authored by Li RongQing's avatar Li RongQing Committed by David S. Miller

net: fix the use of this_cpu_ptr

flush_tasklet is not percpu var, and percpu is percpu var, and
	this_cpu_ptr(&info->cache->percpu->flush_tasklet)
is not equal to
	&this_cpu_ptr(info->cache->percpu)->flush_tasklet

1f743b07(use this_cpu_ptr per-cpu helper) introduced this bug.
Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1bc7db16
...@@ -328,7 +328,7 @@ static void flow_cache_flush_per_cpu(void *data) ...@@ -328,7 +328,7 @@ static void flow_cache_flush_per_cpu(void *data)
struct flow_flush_info *info = data; struct flow_flush_info *info = data;
struct tasklet_struct *tasklet; struct tasklet_struct *tasklet;
tasklet = this_cpu_ptr(&info->cache->percpu->flush_tasklet); tasklet = &this_cpu_ptr(info->cache->percpu)->flush_tasklet;
tasklet->data = (unsigned long)info; tasklet->data = (unsigned long)info;
tasklet_schedule(tasklet); tasklet_schedule(tasklet);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment