[PATCH] autofs4: use ACCESS_ONCE rather than rcu_dereference for dentry->d_inode

From: NeilBrown
Date: Wed Sep 03 2014 - 00:06:33 EST




As the kbuild test robot reports, rcu_dereference() isn't really
appropriate here - we don't need a memory barrier, just a guard
against accidentally dereferencing NULL.

This can be merged into
autofs4: d_manage() should return -EISDIR when appropriate in rcu-walk mode.
in 'mm'.

Signed-off-by: NeilBrown <neilb@xxxxxxx>

diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
index 71e4413d65c8..d76d083f2f06 100644
--- a/fs/autofs4/root.c
+++ b/fs/autofs4/root.c
@@ -463,7 +463,7 @@ static int autofs4_d_manage(struct dentry *dentry, bool rcu_walk)
return 0;
if (d_mountpoint(dentry))
return 0;
- inode = rcu_dereference(dentry->d_inode);
+ inode = ACCESS_ONCE(dentry->d_inode);
if (inode && S_ISLNK(inode->i_mode))
return -EISDIR;
if (list_empty(&dentry->d_subdirs))

Attachment: signature.asc
Description: PGP signature