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...