Re: [PATCH] proc_sysctl: remove RCU annotations for accessing ->sysctl

From: Al Viro
Date: Thu Jun 12 2025 - 23:04:29 EST


On Fri, Jun 13, 2025 at 12:52:32PM +1000, NeilBrown wrote:
>
> The ->sysctl field of a procfs inode is only set when the inode is
> created, and when it is being evicted. In both these cases there cannot
> be concurrent accesses and so using RCU_INIT_POINTER() and
> rcu_dereference() is misleading.

Wait a minute. Why can't there be concurrent accesses? ->evict_inode()
is *before* RCU delay, not after it.

Sure, you can't hit it from d_alloc_parallel(), but you very much can
in normal dcache lookup...