diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2017-02-17 11:21:50 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2017-02-17 11:21:50 +1100 |
commit | cd73d1675614a817ff3ea3fbf32e9d8251d7828b (patch) | |
tree | cfb12928c3022310328d2fbc16326332b72d2a70 /mm | |
parent | 3e8e4b94d54386657b5786965967b5089f9a3402 (diff) | |
parent | 5fe5cb271594c90f11730a24ceaca5bebe9f82af (diff) |
Merge remote-tracking branch 'kspp/for-next/kspp'
Diffstat (limited to 'mm')
-rw-r--r-- | mm/kasan/kasan.c | 2 | ||||
-rw-r--r-- | mm/util.c | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c index b2a0cff2bb35..82e27d52d67a 100644 --- a/mm/kasan/kasan.c +++ b/mm/kasan/kasan.c @@ -343,6 +343,7 @@ void *memset(void *addr, int c, size_t len) } #undef memmove +__unverified_nocapture(2) void *memmove(void *dest, const void *src, size_t len) { check_memory_region((unsigned long)src, len, false, _RET_IP_); @@ -352,6 +353,7 @@ void *memmove(void *dest, const void *src, size_t len) } #undef memcpy +__unverified_nocapture(2) void *memcpy(void *dest, const void *src, size_t len) { check_memory_region((unsigned long)src, len, false, _RET_IP_); diff --git a/mm/util.c b/mm/util.c index 3cb2164f4099..e91250dabf49 100644 --- a/mm/util.c +++ b/mm/util.c @@ -17,10 +17,10 @@ #include "internal.h" -static inline int is_kernel_rodata(unsigned long addr) +static inline __nocapture(1) int is_kernel_rodata(const void *addr) { - return addr >= (unsigned long)__start_rodata && - addr < (unsigned long)__end_rodata; + return (unsigned long)addr >= (unsigned long)__start_rodata && + (unsigned long)addr < (unsigned long)__end_rodata; } /** @@ -31,7 +31,7 @@ static inline int is_kernel_rodata(unsigned long addr) */ void kfree_const(const void *x) { - if (!is_kernel_rodata((unsigned long)x)) + if (!is_kernel_rodata(x)) kfree(x); } EXPORT_SYMBOL(kfree_const); @@ -68,7 +68,7 @@ EXPORT_SYMBOL(kstrdup); */ const char *kstrdup_const(const char *s, gfp_t gfp) { - if (is_kernel_rodata((unsigned long)s)) + if (is_kernel_rodata(s)) return s; return kstrdup(s, gfp); |