summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/datapath.c
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2013-12-03 10:58:53 -0800
committerJesse Gross <jesse@nicira.com>2014-01-06 15:51:48 -0800
commit663efa3696232300a8ad3a46bb10482fc0b861cf (patch)
treeb47f23f1c21ebc8c0e7deb333a44fe5a7e511b7d /net/openvswitch/datapath.c
parent5bb506324d150578afadd10c3198ef5b29f5876b (diff)
downloadlinux-stable-663efa3696232300a8ad3a46bb10482fc0b861cf.tar.gz
linux-stable-663efa3696232300a8ad3a46bb10482fc0b861cf.tar.bz2
linux-stable-663efa3696232300a8ad3a46bb10482fc0b861cf.zip
openvswitch: Silence RCU lockdep checks from flow lookup.
Flow lookup can happen either in packet processing context or userspace context but it was annotated as requiring RCU read lock to be held. This also allows OVS mutex to be held without causing warnings. Reported-by: Justin Pettit <jpettit@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Reviewed-by: Thomas Graf <tgraf@redhat.com>
Diffstat (limited to 'net/openvswitch/datapath.c')
-rw-r--r--net/openvswitch/datapath.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index fcaed98b2c0d..0727aaa2c825 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c
@@ -701,8 +701,7 @@ static int ovs_flow_cmd_fill_info(struct sw_flow *flow, struct datapath *dp,
if (start) {
const struct sw_flow_actions *sf_acts;
- sf_acts = rcu_dereference_check(flow->sf_acts,
- lockdep_ovsl_is_held());
+ sf_acts = rcu_dereference_ovsl(flow->sf_acts);
err = ovs_nla_put_actions(sf_acts->actions,
sf_acts->actions_len, skb);