summaryrefslogtreecommitdiffstats
path: root/fs/namei.c
diff options
context:
space:
mode:
authorGeorge Spelvin <linux@sciencehorizons.net>2016-05-29 14:05:56 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-29 16:33:47 +0200
commite0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7 (patch)
tree0012599b46ccd837c6ce808b808456777f7bb92f /fs/namei.c
parentRename other copy of hash_string to hashlen_string (diff)
downloadlinux-e0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7.tar.xz
linux-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>
Diffstat (limited to 'fs/namei.c')
-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);