Skip to content

Commit

Permalink
kasan: unify report headers
Browse files Browse the repository at this point in the history
Unify KASAN report header format for different kinds of bad memory
accesses.  Makes the code simpler.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Andrey Konovalov <[email protected]>
Acked-by: Dmitry Vyukov <[email protected]>
Cc: Andrey Ryabinin <[email protected]>
Cc: Alexander Potapenko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
xairy authored and torvalds committed May 3, 2017
1 parent 5e82cd1 commit 7d418f7
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions mm/kasan/report.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,16 +121,22 @@ const char *get_wild_bug_type(struct kasan_access_info *info)
return bug_type;
}

static const char *get_bug_type(struct kasan_access_info *info)
{
if (addr_has_shadow(info))
return get_shadow_bug_type(info);
return get_wild_bug_type(info);
}

static void print_error_description(struct kasan_access_info *info)
{
const char *bug_type = get_shadow_bug_type(info);
const char *bug_type = get_bug_type(info);

pr_err("BUG: KASAN: %s in %pS at addr %p\n",
bug_type, (void *)info->ip,
info->access_addr);
bug_type, (void *)info->ip, info->access_addr);
pr_err("%s of size %zu by task %s/%d\n",
info->is_write ? "Write" : "Read",
info->access_size, current->comm, task_pid_nr(current));
info->is_write ? "Write" : "Read", info->access_size,
current->comm, task_pid_nr(current));
}

static inline bool kernel_or_module_addr(const void *addr)
Expand Down Expand Up @@ -297,17 +303,11 @@ static void kasan_report_error(struct kasan_access_info *info)

kasan_start_report(&flags);

print_error_description(info);

if (!addr_has_shadow(info)) {
const char *bug_type = get_wild_bug_type(info);
pr_err("BUG: KASAN: %s on address %p\n",
bug_type, info->access_addr);
pr_err("%s of size %zu by task %s/%d\n",
info->is_write ? "Write" : "Read",
info->access_size, current->comm,
task_pid_nr(current));
dump_stack();
} else {
print_error_description(info);
print_address_description(info);
print_shadow_for_address(info->first_bad_addr);
}
Expand Down

0 comments on commit 7d418f7

Please sign in to comment.