kasan: rename addr_has_shadow to addr_has_metadata

This is a preparatory commit for the upcoming addition of a new hardware
tag-based (MTE-based) KASAN mode.

Hardware tag-based KASAN won't be using shadow memory, but will reuse this
function.  Rename "shadow" to implementation-neutral "metadata".

No functional changes.

Link: https://lkml.kernel.org/r/370466fba590a4596b55ffd38adfd990f8886db4.1606161801.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Reviewed-by: Marco Elver <elver@google.com>
Reviewed-by: Alexander Potapenko <glider@google.com>
Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Branislav Rankov <Branislav.Rankov@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Evgenii Stepanov <eugenis@google.com>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Andrey Konovalov 2020-12-22 12:01:07 -08:00 committed by Linus Torvalds
parent 60a3a5fe95
commit 6882464faf
3 changed files with 5 additions and 5 deletions

View file

@ -147,7 +147,7 @@ static inline const void *kasan_shadow_to_mem(const void *shadow_addr)
<< KASAN_SHADOW_SCALE_SHIFT); << KASAN_SHADOW_SCALE_SHIFT);
} }
static inline bool addr_has_shadow(const void *addr) static inline bool addr_has_metadata(const void *addr)
{ {
return (addr >= kasan_shadow_to_mem((void *)KASAN_SHADOW_START)); return (addr >= kasan_shadow_to_mem((void *)KASAN_SHADOW_START));
} }

View file

@ -361,7 +361,7 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write,
untagged_addr = reset_tag(tagged_addr); untagged_addr = reset_tag(tagged_addr);
info.access_addr = tagged_addr; info.access_addr = tagged_addr;
if (addr_has_shadow(untagged_addr)) if (addr_has_metadata(untagged_addr))
info.first_bad_addr = find_first_bad_addr(tagged_addr, size); info.first_bad_addr = find_first_bad_addr(tagged_addr, size);
else else
info.first_bad_addr = untagged_addr; info.first_bad_addr = untagged_addr;
@ -372,11 +372,11 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write,
start_report(&flags); start_report(&flags);
print_error_description(&info); print_error_description(&info);
if (addr_has_shadow(untagged_addr)) if (addr_has_metadata(untagged_addr))
print_tags(get_tag(tagged_addr), info.first_bad_addr); print_tags(get_tag(tagged_addr), info.first_bad_addr);
pr_err("\n"); pr_err("\n");
if (addr_has_shadow(untagged_addr)) { if (addr_has_metadata(untagged_addr)) {
print_address_description(untagged_addr, get_tag(tagged_addr)); print_address_description(untagged_addr, get_tag(tagged_addr));
pr_err("\n"); pr_err("\n");
print_shadow_for_address(info.first_bad_addr); print_shadow_for_address(info.first_bad_addr);

View file

@ -118,7 +118,7 @@ const char *get_bug_type(struct kasan_access_info *info)
if (info->access_addr + info->access_size < info->access_addr) if (info->access_addr + info->access_size < info->access_addr)
return "out-of-bounds"; return "out-of-bounds";
if (addr_has_shadow(info->access_addr)) if (addr_has_metadata(info->access_addr))
return get_shadow_bug_type(info); return get_shadow_bug_type(info);
return get_wild_bug_type(info); return get_wild_bug_type(info);
} }