net/openvswitch/flow.c: Replace rcu_dereference() with rcu_access_pointer()
Subsystems (3)
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
@@ -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
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
Signed-off-by Andreea-Cristina Bernat <[email protected]>
Applied.