Skip to contentSkip to conversation

rcu: Replace rcu_dereference() with rcu_access_pointer()

PATCH In review Andreea-Cristina Bernat 2 participants 3 messages Aug 16, 2014 – Aug 17, 2014

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

PATCH 1/1 rcu: Replace rcu_dereference() with rcu_access_pointer()

This "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 this replacement.

The following Coccinelle semantic patch was used for solving it:
@@
@@

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

---
 drivers/net/bonding/bond_alb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/bonding/bond_alb.c +1 -1
index 76c0dad..1319c5b 100644
@@ -1385,7 +1385,7 @@ static int bond_do_alb_xmit(struct sk_buff *skb, struct bonding *bond,
 	}
 
 	if (tx_slave && bond_slave_can_tx(tx_slave)) {
-		if (tx_slave != rcu_dereference(bond->curr_active_slave)) {
+		if (tx_slave != rcu_access_pointer(bond->curr_active_slave)) {
 			ether_addr_copy(eth_data->h_source,
 					tx_slave->dev->dev_addr);
 		}
Signature · 1 line
1.9.1
maintainer
#1 lore raw

Please do not use the same exact Subject line for all of these patches.

Otherwise nobody reading the shortlog can tell what might be different from one patch to another.

Instead, use a subsystem prefix for the place where you're making your change. For example, for the two networking patches you could replace "rcu: " with "bonding: " and "cnic: ".

Thanks.

#2 lore raw

Sorry, I will send a version two of the patches with the subject line changed.

Thank you,
Andreea

2014-08-17 4:50 GMT+03:00 David Miller <[email protected]>:

Quoted 11 lines

Please do not use the same exact Subject line for all of these patches.

Otherwise nobody reading the shortlog can tell what might be different from one patch to another.

Instead, use a subsystem prefix for the place where you're making your change. For example, for the two networking patches you could replace "rcu: " with "bonding: " and "cnic: ".

Thanks.