summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/kasan-checks.h10
-rw-r--r--mm/kasan/kasan.c4
2 files changed, 8 insertions, 6 deletions
diff --git a/include/linux/kasan-checks.h b/include/linux/kasan-checks.h
index b7f8aced7870..41960fecf783 100644
--- a/include/linux/kasan-checks.h
+++ b/include/linux/kasan-checks.h
@@ -2,11 +2,13 @@
2#define _LINUX_KASAN_CHECKS_H 2#define _LINUX_KASAN_CHECKS_H
3 3
4#ifdef CONFIG_KASAN 4#ifdef CONFIG_KASAN
5void kasan_check_read(const void *p, unsigned int size); 5void kasan_check_read(const volatile void *p, unsigned int size);
6void kasan_check_write(const void *p, unsigned int size); 6void kasan_check_write(const volatile void *p, unsigned int size);
7#else 7#else
8static inline void kasan_check_read(const void *p, unsigned int size) { } 8static inline void kasan_check_read(const volatile void *p, unsigned int size)
9static inline void kasan_check_write(const void *p, unsigned int size) { } 9{ }
10static inline void kasan_check_write(const volatile void *p, unsigned int size)
11{ }
10#endif 12#endif
11 13
12#endif 14#endif
diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c
index ca11bc4ce205..6f319fb81718 100644
--- a/mm/kasan/kasan.c
+++ b/mm/kasan/kasan.c
@@ -267,13 +267,13 @@ static void check_memory_region(unsigned long addr,
267 check_memory_region_inline(addr, size, write, ret_ip); 267 check_memory_region_inline(addr, size, write, ret_ip);
268} 268}
269 269
270void kasan_check_read(const void *p, unsigned int size) 270void kasan_check_read(const volatile void *p, unsigned int size)
271{ 271{
272 check_memory_region((unsigned long)p, size, false, _RET_IP_); 272 check_memory_region((unsigned long)p, size, false, _RET_IP_);
273} 273}
274EXPORT_SYMBOL(kasan_check_read); 274EXPORT_SYMBOL(kasan_check_read);
275 275
276void kasan_check_write(const void *p, unsigned int size) 276void kasan_check_write(const volatile void *p, unsigned int size)
277{ 277{
278 check_memory_region((unsigned long)p, size, true, _RET_IP_); 278 check_memory_region((unsigned long)p, size, true, _RET_IP_);
279} 279}