hash_string: Fix zero-length case for !DCACHE_WORD_ACCESS
authorGeorge Spelvin <linux@sciencehorizons.net>
Sun, 29 May 2016 12:05:56 +0000 (08:05 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 29 May 2016 14:33:47 +0000 (07:33 -0700)
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>
fs/namei.c

index 47edc998129855e9004d95a3d09eb5118c93a2ea..4c4f95ac8aa5d535c1e919b4bbc9c394010bd88d 100644 (file)
@@ -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);