|
@@ -261,9 +261,6 @@ static void print_address_description(struct kasan_access_info *info)
|
|
|
void *addr = (void *)info->access_addr;
|
|
|
struct page *page = addr_to_page(addr);
|
|
|
|
|
|
- if (page)
|
|
|
- dump_page(page, "kasan: bad access detected");
|
|
|
-
|
|
|
dump_stack();
|
|
|
|
|
|
if (page && PageSlab(page)) {
|
|
@@ -273,9 +270,14 @@ static void print_address_description(struct kasan_access_info *info)
|
|
|
describe_object(cache, object, addr);
|
|
|
}
|
|
|
|
|
|
- if (kernel_or_module_addr(addr)) {
|
|
|
- if (!init_task_stack_addr(addr))
|
|
|
- pr_err("Address belongs to variable %pS\n", addr);
|
|
|
+ if (kernel_or_module_addr(addr) && !init_task_stack_addr(addr)) {
|
|
|
+ pr_err("The buggy address belongs to the variable:\n");
|
|
|
+ pr_err(" %pS\n", addr);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (page) {
|
|
|
+ pr_err("The buggy address belongs to the page:\n");
|
|
|
+ dump_page(page, "kasan: bad access detected");
|
|
|
}
|
|
|
}
|
|
|
|