commit | aa8dd816732b2bab28c54bc4d2ccf3fc8a6e0892 | [log] [tgz] |
---|---|---|
author | Al Viro <viro@zeniv.linux.org.uk> | Tue Oct 29 13:50:19 2019 +0000 |
committer | Ilya Dryomov <idryomov@gmail.com> | Tue Oct 29 22:29:54 2019 +0100 |
tree | 0805d90f6214b72791f9ca0cd12cc85b1dd6d3fa | |
parent | ea60ed6fcf29eebc78f2ce91491e6309ee005a01 [diff] |
ceph: fix RCU case handling in ceph_d_revalidate() For RCU case ->d_revalidate() is called with rcu_read_lock() and without pinning the dentry passed to it. Which means that it can't rely upon ->d_inode remaining stable; that's the reason for d_inode_rcu(), actually. Make sure we don't reload ->d_inode there. Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>