diff options
author | Richard Cochran <richardcochran@gmail.com> | 2014-03-05 17:10:52 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-04-26 17:19:03 -0700 |
commit | 52d6c48c9db5b020e6595067a7f1b00562d26434 (patch) | |
tree | 89a06323f2b7ac34519da1917bab0212219ebdbb /fs | |
parent | 541d5f25b500f84ed324df3e2b06f2235cefae52 (diff) |
kernfs: fix off by one error.
commit 88391d49abb7d8dee91d405f96bd9e003cb6798d upstream.
The hash values 0 and 1 are reserved for magic directory entries, but
the code only prevents names hashing to 0. This patch fixes the test
to also prevent hash value 1.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/kernfs/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c index bd6e18be6e1..39c0143fb3a 100644 --- a/fs/kernfs/dir.c +++ b/fs/kernfs/dir.c @@ -37,7 +37,7 @@ static unsigned int kernfs_name_hash(const char *name, const void *ns) hash = (end_name_hash(hash) ^ hash_ptr((void *)ns, 31)); hash &= 0x7fffffffU; /* Reserve hash numbers 0, 1 and INT_MAX for magic directory entries */ - if (hash < 1) + if (hash < 2) hash += 2; if (hash >= INT_MAX) hash = INT_MAX - 1; |