diff options
author | Jesse Gross <jesse@nicira.com> | 2013-12-03 13:58:53 -0500 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2014-01-06 18:51:48 -0500 |
commit | 663efa3696232300a8ad3a46bb10482fc0b861cf (patch) | |
tree | b47f23f1c21ebc8c0e7deb333a44fe5a7e511b7d /net/openvswitch/datapath.h | |
parent | 5bb506324d150578afadd10c3198ef5b29f5876b (diff) |
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.h')
-rw-r--r-- | net/openvswitch/datapath.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/openvswitch/datapath.h b/net/openvswitch/datapath.h index 4067ea41be28..ba13be4a680f 100644 --- a/net/openvswitch/datapath.h +++ b/net/openvswitch/datapath.h | |||
@@ -145,6 +145,8 @@ int lockdep_ovsl_is_held(void); | |||
145 | #define ASSERT_OVSL() WARN_ON(unlikely(!lockdep_ovsl_is_held())) | 145 | #define ASSERT_OVSL() WARN_ON(unlikely(!lockdep_ovsl_is_held())) |
146 | #define ovsl_dereference(p) \ | 146 | #define ovsl_dereference(p) \ |
147 | rcu_dereference_protected(p, lockdep_ovsl_is_held()) | 147 | rcu_dereference_protected(p, lockdep_ovsl_is_held()) |
148 | #define rcu_dereference_ovsl(p) \ | ||
149 | rcu_dereference_check(p, lockdep_ovsl_is_held()) | ||
148 | 150 | ||
149 | static inline struct net *ovs_dp_get_net(struct datapath *dp) | 151 | static inline struct net *ovs_dp_get_net(struct datapath *dp) |
150 | { | 152 | { |