]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
fix braino in "9p: fix ->rename_sem exclusion"
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 3 Feb 2025 21:16:09 +0000 (16:16 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 3 Feb 2025 21:16:09 +0000 (16:16 -0500)
->d_op can bloody well be NULL

Fucked-up-by: Al Viro <viro@zeniv.linux.org.uk>
Fixes: 30d61efe118c "9p: fix ->rename_sem exclusion"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c

index 903142b324e98288cec33f2ca4af1ae530d5d845..8a605681b26ff717397152e43f632473ea0d7687 100644 (file)
@@ -2967,11 +2967,11 @@ static int __d_unalias(struct dentry *dentry, struct dentry *alias)
                goto out_err;
        m2 = &alias->d_parent->d_inode->i_rwsem;
 out_unalias:
-       if (alias->d_op->d_unalias_trylock &&
+       if (alias->d_op && alias->d_op->d_unalias_trylock &&
            !alias->d_op->d_unalias_trylock(alias))
                goto out_err;
        __d_move(alias, dentry, false);
-       if (alias->d_op->d_unalias_unlock)
+       if (alias->d_op && alias->d_op->d_unalias_unlock)
                alias->d_op->d_unalias_unlock(alias);
        ret = 0;
 out_err: