lib: Fix strnlen_user() to not touch memory after specified maximum
authorJan Kara <jack@suse.cz>
Tue, 2 Jun 2015 15:10:28 +0000 (17:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Jun 2015 06:19:54 +0000 (23:19 -0700)
commit73f668104f25d364f758e8c6738c2a1826d2f0fc
tree2bdd39a64fab484ca22b66d2395a35eb4179e20c
parente9aba80e289b3491597422f1bf843be5e8099a2d
lib: Fix strnlen_user() to not touch memory after specified maximum

commit f18c34e483ff6b1d9866472221e4015b3a4698e4 upstream.

If the specified maximum length of the string is a multiple of unsigned
long, we would load one long behind the specified maximum.  If that
happens to be in a next page, we can hit a page fault although we were
not expected to.

Fix the off-by-one bug in the test whether we are at the end of the
specified range.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/strnlen_user.c