Skip to contentSkip to conversation

net/openvswitch/flow.c: Replace rcu_dereference() with rcu_access_pointer()

PATCH Applied Andreea-Cristina Bernat 2 participants 2 messages Aug 17, 2014 – Aug 22, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net/openvswitch/flow.c: Replace rcu_dereference() with rcu_access_pointer()

The "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacement.

The following Coccinelle semantic patch was used:
@@
@@

(
if(
(<+...
- rcu_dereference
+ rcu_access_pointer
(...)
...+>)) {...}
|
while(
(<+...
- rcu_dereference
+ rcu_access_pointer
(...)
...+>)) {...}
)

---
 net/openvswitch/flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
net/openvswitch/flow.c +1 -1
index 334751c..a329112 100644
@@ -89,7 +89,7 @@ void ovs_flow_stats_update(struct sw_flow *flow, struct sk_buff *skb)
 			 * allocated stats as we have already locked them.
 			 */
 			if (likely(flow->stats_last_writer != NUMA_NO_NODE)
-			    && likely(!rcu_dereference(flow->stats[node]))) {
+			    && likely(!rcu_access_pointer(flow->stats[node]))) {
 				/* Try to allocate node-specific stats. */
 				struct flow_stats *new_stats;
 
Signature · 1 line
1.9.1
maintainer Applied
#1 lore raw

From: Andreea-Cristina Bernat <[email protected]>
Date: Sun, 17 Aug 2014 16:29:43 +0300

Quoted 4 lines

The "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacement.

...

Quoted 1 line

Applied.