Re: [PATCH v3 05/14] s390/pkey: Remove redundant rcu_read_lock/unlock() in spin_lock

Harald Freudenberger <[email protected]>
Newsgroups gmane.linux.acpi.devel,gmane.linux.kernel,gmane.linux.nfs,gmane.linux.kernel.aio.general,gmane.linux.file-systems,gmane.linux.kernel.lsm,gmane.linux.network,gmane.comp.freedesktop.xorg.drivers.intel,gmane.linux.kernel.wireless.general,gmane.linux.kernel.cgroups
Message-ID <[email protected]>
On 2025-09-16 06:47, pengdonglin wrote:
> From: pengdonglin <[email protected]>
> 
> 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 <[email protected]>
> Cc: Holger Dengler <[email protected]>
> Cc: Vasily Gorbik <[email protected]>
> Cc: Alexander Gordeev <[email protected]>
> Signed-off-by: pengdonglin <[email protected]>
> Signed-off-by: pengdonglin <[email protected]>
> ---
>  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 <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.