vfs: fix bad hashing of dentries
[firefly-linux-kernel-4.4.55.git] / fs / nfs / nfs3acl.c
index 4a1aafba6a20030532ba589ac9db021b10c21ceb..8c34f57a9aef4280bbb594afbb3c3b0390fa8f78 100644 (file)
@@ -305,7 +305,10 @@ static int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
                .rpc_argp       = &args,
                .rpc_resp       = &fattr,
        };
-       int status;
+       int status = 0;
+
+       if (acl == NULL && (!S_ISDIR(inode->i_mode) || dfacl == NULL))
+               goto out;
 
        status = -EOPNOTSUPP;
        if (!nfs_server_capable(inode, NFS_CAP_ACLS))