diff options
Diffstat (limited to 'fs/kernfs/symlink.c')
| -rw-r--r-- | fs/kernfs/symlink.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/fs/kernfs/symlink.c b/fs/kernfs/symlink.c index 19a6c71c6ff5..0ab13824822f 100644 --- a/fs/kernfs/symlink.c +++ b/fs/kernfs/symlink.c @@ -113,11 +113,12 @@ static int kernfs_getlink(struct inode *inode, char *path)  	struct kernfs_node *kn = inode->i_private;  	struct kernfs_node *parent = kn->parent;  	struct kernfs_node *target = kn->symlink.target_kn; +	struct kernfs_root *root = kernfs_root(parent);  	int error; -	down_read(&kernfs_rwsem); +	down_read(&root->kernfs_rwsem);  	error = kernfs_get_target_path(parent, target, path); -	up_read(&kernfs_rwsem); +	up_read(&root->kernfs_rwsem);  	return error;  } |