summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2017-02-17 11:21:50 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2017-02-17 11:21:50 +1100
commitcd73d1675614a817ff3ea3fbf32e9d8251d7828b (patch)
treecfb12928c3022310328d2fbc16326332b72d2a70 /mm
parent3e8e4b94d54386657b5786965967b5089f9a3402 (diff)
parent5fe5cb271594c90f11730a24ceaca5bebe9f82af (diff)
Merge remote-tracking branch 'kspp/for-next/kspp'
Diffstat (limited to 'mm')
-rw-r--r--mm/kasan/kasan.c2
-rw-r--r--mm/util.c10
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);