We have a couple of places checking for the existence of a shadow
mapping for an address by open-coding the inverse of the check in
addr_has_shadow.

Replace the open-coded versions with the helper. This will be
needed in future to allow architectures to override the layout
of the shadow mapping.

Reviewed-by: Andrew Donnellan <andrew.donnel...@au1.ibm.com>
Reviewed-by: Dmitry Vyukov <dvyu...@google.com>
Signed-off-by: Daniel Axtens <d...@axtens.net>
Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr>
---
 mm/kasan/generic.c | 3 +--
 mm/kasan/tags.c    | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c
index 504c79363a34..9e5c989dab8c 100644
--- a/mm/kasan/generic.c
+++ b/mm/kasan/generic.c
@@ -173,8 +173,7 @@ static __always_inline void 
check_memory_region_inline(unsigned long addr,
        if (unlikely(size == 0))
                return;
 
-       if (unlikely((void *)addr <
-               kasan_shadow_to_mem((void *)KASAN_SHADOW_START))) {
+       if (unlikely(!addr_has_shadow((void *)addr))) {
                kasan_report(addr, size, write, ret_ip);
                return;
        }
diff --git a/mm/kasan/tags.c b/mm/kasan/tags.c
index 63fca3172659..87ebee0a6aea 100644
--- a/mm/kasan/tags.c
+++ b/mm/kasan/tags.c
@@ -109,8 +109,7 @@ void check_memory_region(unsigned long addr, size_t size, 
bool write,
                return;
 
        untagged_addr = reset_tag((const void *)addr);
-       if (unlikely(untagged_addr <
-                       kasan_shadow_to_mem((void *)KASAN_SHADOW_START))) {
+       if (unlikely(!addr_has_shadow(untagged_addr))) {
                kasan_report(addr, size, write, ret_ip);
                return;
        }
-- 
2.19.1

Reply via email to