OSDN Git Service

ANDROID: sdcardfs: d_splice_alias can return error values
authorDaniel Rosenberg <drosen@google.com>
Wed, 7 Jun 2017 19:44:50 +0000 (12:44 -0700)
committerAmit Pundir <amit.pundir@linaro.org>
Tue, 14 Aug 2018 12:17:11 +0000 (17:47 +0530)
We must check that d_splice_alias was successful before using its
output.

Signed-off-by: Daniel Rosenberg <drosen@google.com>
Bug: 62390017
Change-Id: Ifda0a052fb3f67e35c635a4e5e907876c5400978

fs/sdcardfs/lookup.c

index 83f6083..7dab5f7 100644 (file)
@@ -199,7 +199,8 @@ static struct dentry *__sdcardfs_interpose(struct dentry *dentry,
 
        ret_dentry = d_splice_alias(inode, dentry);
        dentry = ret_dentry ?: dentry;
-       update_derived_permission_lock(dentry);
+       if (!IS_ERR(dentry))
+               update_derived_permission_lock(dentry);
 out:
        return ret_dentry;
 }