summaryrefslogtreecommitdiffstats
path: root/lib/strnlen_user.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/strnlen_user.c')
-rw-r--r--lib/strnlen_user.c3
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;