rtl8188eu: Replace rcu_dereference() with rcu_access_pointer()
PATCH 1/1 rtl8188eu: 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/core/rtw_mlme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/rtl8188eu/core/rtw_mlme.c +1 -1
@@ -1544,7 +1544,7 @@ void rtw_dynamic_check_timer_handlder(struct adapter *adapter)rcu_read_lock (); -if (rcu_dereference (adapter->pnetdev->rx_handler_data) && +if (rcu_access_pointer (adapter->pnetdev->rx_handler_data) && (check_fwstate (pmlmepriv,WIFI_STATION_STATE |WIFI_ADHOC_STATE ) == true)) {/* expire NAT2.5 entry */ nat25_db_expire (adapter);
Signature · 1 line
1.9.1
Greg KH
maintainerQuoted 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
Signed-off-by Andreea-Cristina Bernat <[email protected]>--- drivers/staging/rtl8188eu/core/rtw_mlme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
This patch fails to apply to my tree, can you refresh it against the staging-next branch of the staging.git tree on kernel.org and resend?
thanks,
greg k-h
Hello,
I cloned this:git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
and after moved to staging-next branch, but in both cases, in those files I don't find any use of rcu_dereference() call (the call which I am looking for to modify).
Thank you,
Andreea
2014-08-30 23:42 GMT+03:00 Greg KH <[email protected]>:
Quoted 37 lines · Andreea-Cristina Bernat
Quoted 25 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.The following Coccinelle semantic patch was used:
@@
@@(
if(
(<+...
-rcu_dereference
+rcu_access_pointer
(...)
...+>)) {...}
|
while(
(<+...
-rcu_dereference
+rcu_access_pointer
(...)
...+>)) {...}
)Quoted 4 lines
Signed-off-by Andreea-Cristina Bernat <[email protected]>--- drivers/staging/rtl8188eu/core/rtw_mlme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)This patch fails to apply to my tree, can you refresh it against the staging-next branch of the staging.git tree on kernel.org and resend?
thanks,
greg k-h
Quoted 8 lines · Andreea Bernat
Hello,
I cloned this:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.gitand after moved to staging-next branch, but in both cases, in those files I don't find any use of
rcu_dereference()call (the call which I am looking for to modify).
The rcu_dereference() call in core/rtw_mlme.c is no longer there in mainline 3.17, thus it was removed some time ago.
There is a similar reference in os_dep/recv_linux.c. Perhaps it should be removed.
This problem shows the importance of working with the latest pull of the staging repo when working with staging code. Even then patches may suffer mid-air collisions if multiple devs are working on a particular piece of code.
Larry
Greg KH
maintainerQuoted 8 lines · Andreea Bernat
Hello,
I cloned this:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.gitand after moved to staging-next branch, but in both cases, in those files I don't find any use of
rcu_dereference()call (the call which I am looking for to modify).
Then there's nothing left to be done here, right? :)
thanks,
greg k-h
2014-09-05 0:38 GMT+03:00 Greg KH <[email protected]>:
Quoted 11 lines · Andreea Bernat
Quoted 8 lines
Hello,
I cloned this:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.gitand after moved to staging-next branch, but in both cases, in those files I don't find any use of
rcu_dereference()call (the call which I am looking for to modify).Then there's nothing left to be done here, right? :)
Yes :-)
Thank you,
Andreea
Quoted 4 lines
thanks,
greg k-h