diff options
Diffstat (limited to 'lib/strnlen_user.c')
-rw-r--r-- | lib/strnlen_user.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/strnlen_user.c b/lib/strnlen_user.c index 7f2db3fe311f..28ff554a1be8 100644 --- a/lib/strnlen_user.c +++ b/lib/strnlen_user.c | |||
@@ -2,6 +2,7 @@ | |||
2 | #include <linux/kernel.h> | 2 | #include <linux/kernel.h> |
3 | #include <linux/export.h> | 3 | #include <linux/export.h> |
4 | #include <linux/uaccess.h> | 4 | #include <linux/uaccess.h> |
5 | #include <linux/mm.h> | ||
5 | 6 | ||
6 | #include <asm/word-at-a-time.h> | 7 | #include <asm/word-at-a-time.h> |
7 | 8 | ||
@@ -109,7 +110,7 @@ long strnlen_user(const char __user *str, long count) | |||
109 | return 0; | 110 | return 0; |
110 | 111 | ||
111 | max_addr = user_addr_max(); | 112 | max_addr = user_addr_max(); |
112 | src_addr = (unsigned long)str; | 113 | src_addr = (unsigned long)untagged_addr(str); |
113 | if (likely(src_addr < max_addr)) { | 114 | if (likely(src_addr < max_addr)) { |
114 | unsigned long max = max_addr - src_addr; | 115 | unsigned long max = max_addr - src_addr; |
115 | long retval; | 116 | long retval; |