diff options
-rw-r--r-- | include/linux/kasan-checks.h | 10 | ||||
-rw-r--r-- | mm/kasan/kasan.c | 4 |
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 |
5 | void kasan_check_read(const void *p, unsigned int size); | 5 | void kasan_check_read(const volatile void *p, unsigned int size); |
6 | void kasan_check_write(const void *p, unsigned int size); | 6 | void kasan_check_write(const volatile void *p, unsigned int size); |
7 | #else | 7 | #else |
8 | static inline void kasan_check_read(const void *p, unsigned int size) { } | 8 | static inline void kasan_check_read(const volatile void *p, unsigned int size) |
9 | static inline void kasan_check_write(const void *p, unsigned int size) { } | 9 | { } |
10 | static 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 | ||
270 | void kasan_check_read(const void *p, unsigned int size) | 270 | void 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 | } |
274 | EXPORT_SYMBOL(kasan_check_read); | 274 | EXPORT_SYMBOL(kasan_check_read); |
275 | 275 | ||
276 | void kasan_check_write(const void *p, unsigned int size) | 276 | void 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 | } |