diff options
author | George Spelvin <linux@sciencehorizons.net> | 2016-05-29 14:05:56 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-29 16:33:47 +0200 |
commit | e0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7 (patch) | |
tree | 0012599b46ccd837c6ce808b808456777f7bb92f /fs | |
parent | Rename other copy of hash_string to hashlen_string (diff) | |
download | linux-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')
-rw-r--r-- | fs/namei.c | 4 |
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); |