summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Spelvin <linux@sciencehorizons.net>2016-05-29 08:05:56 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-29 07:33:47 -0700
commite0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7 (patch)
tree0012599b46ccd837c6ce808b808456777f7bb92f
parentf2a031b66ec6da1512f9db228e4174ad2c7d2688 (diff)
downloadlwn-e0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7.tar.gz
lwn-e0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7.zip
hash_string: Fix zero-length case for !DCACHE_WORD_ACCESS
The self-test was updated to cover zero-length strings; the function needs to be updated, too. Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: George Spelvin <linux@sciencehorizons.net> Fixes: fcfd2fbf22d2 ("fs/namei.c: Add hashlen_string() function") Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/namei.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 47edc9981298..4c4f95ac8aa5 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1968,11 +1968,11 @@ u64 hashlen_string(const char *name)
unsigned long len = 0, c;
c = (unsigned char)*name;
- do {
+ while (c) {
len++;
hash = partial_name_hash(c, hash);
c = (unsigned char)name[len];
- } while (c);
+ }
return hashlen_create(end_name_hash(hash), len);
}
EXPORT_SYMBOL(hashlen_string);