dcache: allow word-at-a-time name hashing with big-endian CPUs
authorWill Deacon <will.deacon@arm.com>
Thu, 12 Dec 2013 17:40:21 +0000 (17:40 +0000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 12 Dec 2013 18:39:01 +0000 (10:39 -0800)
When explicitly hashing the end of a string with the word-at-a-time
interface, we have to be careful which end of the word we pick up.

On big-endian CPUs, the upper-bits will contain the data we're after, so
ensure we generate our masks accordingly (and avoid hashing whatever
random junk may have been sitting after the string).

This patch adds a new dcache helper, bytemask_from_count, which creates
a mask appropriate for the CPU endianness.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dcache.c
fs/namei.c
include/linux/dcache.h

diff --cc fs/dcache.c
Simple merge
diff --cc fs/namei.c
Simple merge
Simple merge