On 2025-09-16 06:47, pengdonglin wrote:
From: pengdonglin <pengdong...@xiaomi.com>
Since commit a8bb74acd8efe ("rcu: Consolidate RCU-sched update-side
function definitions")
there is no difference between rcu_read_lock(), rcu_read_lock_bh() and
rcu_read_lock_sched() in terms of RCU read section and the relevant
grace
period. That means that spin_lock(), which implies
rcu_read_lock_sched(),
also implies rcu_read_lock().
There is no need no explicitly start a RCU read section if one has
already
been started implicitly by spin_lock().
Simplify the code and remove the inner rcu_read_lock() invocation.
Cc: Harald Freudenberger <fre...@linux.ibm.com>
Cc: Holger Dengler <deng...@linux.ibm.com>
Cc: Vasily Gorbik <g...@linux.ibm.com>
Cc: Alexander Gordeev <agord...@linux.ibm.com>
Signed-off-by: pengdonglin <pengdong...@xiaomi.com>
Signed-off-by: pengdonglin <dolinux.p...@gmail.com>
---
drivers/s390/crypto/pkey_base.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/s390/crypto/pkey_base.c
b/drivers/s390/crypto/pkey_base.c
index b15741461a63..4c4a9feecccc 100644
--- a/drivers/s390/crypto/pkey_base.c
+++ b/drivers/s390/crypto/pkey_base.c
@@ -48,16 +48,13 @@ int pkey_handler_register(struct pkey_handler
*handler)
spin_lock(&handler_list_write_lock);
- rcu_read_lock();
list_for_each_entry_rcu(h, &handler_list, list) {
if (h == handler) {
- rcu_read_unlock();
spin_unlock(&handler_list_write_lock);
module_put(handler->module);
return -EEXIST;
}
}
- rcu_read_unlock();
list_add_rcu(&handler->list, &handler_list);
spin_unlock(&handler_list_write_lock);
Acked-by: Harald Freudenberger <fre...@linux.ibm.com>