diff --git a/fs/inode.c b/fs/inode.c index dae43a8de7e0..5d1566ffbbfc 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -1851,7 +1851,9 @@ int insert_inode_locked(struct inode *inode) return 0; } if (inode_state_read(old) & (I_FREEING | I_WILL_FREE)) { + rcu_read_lock(); __wait_on_freeing_inode(old, true, false); + rcu_read_unlock(); old = NULL; goto repeat; }