Message ID | fd0103571c825317241bfdc43ef19766fd370e4f.1600987622.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kasan: add hardware tag-based mode for arm64 | expand |
On Fri, Sep 25, 2020 at 12:50AM +0200, 'Andrey Konovalov' via kasan-dev wrote: > 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. > > Signed-off-by: Andrey Konovalov <andreyknvl@google.com> > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Reviewed-by: Marco Elver <elver@google.com> > --- > Change-Id: I03706fe34b38da7860c39aa0968e00001a7d1873 > --- > mm/kasan/kasan.h | 2 +- > mm/kasan/report.c | 6 +++--- > mm/kasan/report_generic.c | 2 +- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h > index 8dfacc0f73ea..0bf669fad345 100644 > --- a/mm/kasan/kasan.h > +++ b/mm/kasan/kasan.h > @@ -146,7 +146,7 @@ static inline const void *kasan_shadow_to_mem(const void *shadow_addr) > << 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)); > } > diff --git a/mm/kasan/report.c b/mm/kasan/report.c > index 91b869673148..145b966f8f4d 100644 > --- a/mm/kasan/report.c > +++ b/mm/kasan/report.c > @@ -329,7 +329,7 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write, > untagged_addr = reset_tag(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); > else > info.first_bad_addr = untagged_addr; > @@ -340,11 +340,11 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write, > start_report(&flags); > > 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); > pr_err("\n"); > > - if (addr_has_shadow(untagged_addr)) { > + if (addr_has_metadata(untagged_addr)) { > print_address_description(untagged_addr, get_tag(tagged_addr)); > pr_err("\n"); > print_shadow_for_address(info.first_bad_addr); > diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c > index 42b2b5791733..ff067071cd28 100644 > --- a/mm/kasan/report_generic.c > +++ b/mm/kasan/report_generic.c > @@ -117,7 +117,7 @@ const char *get_bug_type(struct kasan_access_info *info) > if (info->access_addr + info->access_size < info->access_addr) > 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_wild_bug_type(info); > } > -- > 2.28.0.681.g6f77f65b4e-goog > > -- > You received this message because you are subscribed to the Google Groups "kasan-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an email to kasan-dev+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/kasan-dev/fd0103571c825317241bfdc43ef19766fd370e4f.1600987622.git.andreyknvl%40google.com.
diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index 8dfacc0f73ea..0bf669fad345 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -146,7 +146,7 @@ static inline const void *kasan_shadow_to_mem(const void *shadow_addr) << 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)); } diff --git a/mm/kasan/report.c b/mm/kasan/report.c index 91b869673148..145b966f8f4d 100644 --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -329,7 +329,7 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write, untagged_addr = reset_tag(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); else info.first_bad_addr = untagged_addr; @@ -340,11 +340,11 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write, start_report(&flags); 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); pr_err("\n"); - if (addr_has_shadow(untagged_addr)) { + if (addr_has_metadata(untagged_addr)) { print_address_description(untagged_addr, get_tag(tagged_addr)); pr_err("\n"); print_shadow_for_address(info.first_bad_addr); diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c index 42b2b5791733..ff067071cd28 100644 --- a/mm/kasan/report_generic.c +++ b/mm/kasan/report_generic.c @@ -117,7 +117,7 @@ const char *get_bug_type(struct kasan_access_info *info) if (info->access_addr + info->access_size < info->access_addr) 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_wild_bug_type(info); }