Skip to contentSkip to conversation

os_dep: Replace rcu_dereference() with rcu_access_pointer()

PATCH In review Andreea-Cristina Bernat 2 participants 2 messages Aug 17, 2014 – Aug 30, 2014 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 os_dep: 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
(...)
...+>)) {...}
)

---
 drivers/staging/rtl8188eu/os_dep/os_intfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/rtl8188eu/os_dep/os_intfs.c +1 -1
index 0e0c32d..4bb76e5 100644
@@ -1010,7 +1010,7 @@ void netdev_br_init(struct net_device *netdev)
 
 	rcu_read_lock();
 
-	if (rcu_dereference(adapter->pnetdev->rx_handler_data)) {
+	if (rcu_access_pointer(adapter->pnetdev->rx_handler_data)) {
 		struct net_device *br_netdev;
 		struct net *devnet = NULL;
 
Signature · 1 line
1.9.1
maintainer
#1 lore raw
Quoted 25 lines · Andreea-Cristina Bernat

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
(...)
...+>)) {...}
)

Quoted 4 lines
---
 drivers/staging/rtl8188eu/os_dep/os_intfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

This also doesn't apply :(