f2fs: fix dcache lookup of !casefolded directories
authorEric Biggers <ebiggers@google.com>
Fri, 24 Jan 2020 04:15:48 +0000 (20:15 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2020 12:35:25 +0000 (04:35 -0800)
commit 5515eae647426169e4b7969271fb207881eba7f6 upstream.

Do the name comparison for non-casefolded directories correctly.

This is analogous to ext4's commit 66883da1eee8 ("ext4: fix dcache
lookup of !casefolded directories").

Fixes: 2c2eb7a300cd ("f2fs: Support case-insensitive file name lookups")
Cc: <stable@vger.kernel.org> # v5.4+
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/f2fs/dir.c

index 4033778..810e70c 100644 (file)
@@ -1072,7 +1072,7 @@ static int f2fs_d_compare(const struct dentry *dentry, unsigned int len,
        if (!IS_CASEFOLDED(dentry->d_parent->d_inode)) {
                if (len != name->len)
                        return -1;
-               return memcmp(str, name, len);
+               return memcmp(str, name->name, len);
        }
 
        return f2fs_ci_compare(dentry->d_parent->d_inode, name, &qstr, false);