Some archs may want to provide kasan shadow memory as a constant offset from the address. Such arch even though cannot use inline kasan support, they can work with outofline kasan support.
Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.vnet.ibm.com> --- include/linux/kasan.h | 3 +++ mm/kasan/kasan.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/include/linux/kasan.h b/include/linux/kasan.h index 5486d777b706..e458ca64cdaf 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h @@ -15,11 +15,14 @@ struct vm_struct; #include <asm/kasan.h> #include <linux/sched.h> +#ifndef kasan_mem_to_shadow static inline void *kasan_mem_to_shadow(const void *addr) { return (void *)((unsigned long)addr >> KASAN_SHADOW_SCALE_SHIFT) + KASAN_SHADOW_OFFSET; } +#define kasan_mem_to_shadow kasan_mem_to_shadow +#endif /* Enable reporting bugs after kasan_disable_current() */ static inline void kasan_enable_current(void) diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index deb547d5a916..c0686f2b1224 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -57,11 +57,14 @@ struct kasan_global { void kasan_report_error(struct kasan_access_info *info); void kasan_report_user_access(struct kasan_access_info *info); +#ifndef kasan_shadow_to_mem static inline const void *kasan_shadow_to_mem(const void *shadow_addr) { return (void *)(((unsigned long)shadow_addr - KASAN_SHADOW_OFFSET) << KASAN_SHADOW_SCALE_SHIFT); } +#define kasan_shadow_to_mem kasan_shadow_to_mem +#endif static inline bool kasan_report_enabled(void) { -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/