diff options
author | George Spelvin <linux@sciencehorizons.net> | 2016-05-29 08:05:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-29 07:33:47 -0700 |
commit | e0ab7af9bd1c25e40b9a1dbeb2a634b88267b9d7 (patch) | |
tree | 0012599b46ccd837c6ce808b808456777f7bb92f | |
parent | f2a031b66ec6da1512f9db228e4174ad2c7d2688 (diff) | |
download | lwn-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.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); |