Pārlūkot izejas kodu

kasan: use %px to print addresses instead of %p

Pointers printed with %p are now hashed by default. Kasan needs the
actual address. We can use the new printk specifier %px for this
purpose.

Use %px instead of %p to print addresses.

Signed-off-by: Tobin C. Harding <me@tobin.cc>
Tobin C. Harding 7 gadi atpakaļ
vecāks
revīzija
6424f6bb43
1 mainītis faili ar 4 papildinājumiem un 4 dzēšanām
  1. 4 4
      mm/kasan/report.c

+ 4 - 4
mm/kasan/report.c

@@ -134,7 +134,7 @@ static void print_error_description(struct kasan_access_info *info)
 
 
 	pr_err("BUG: KASAN: %s in %pS\n",
 	pr_err("BUG: KASAN: %s in %pS\n",
 		bug_type, (void *)info->ip);
 		bug_type, (void *)info->ip);
-	pr_err("%s of size %zu at addr %p by task %s/%d\n",
+	pr_err("%s of size %zu at addr %px by task %s/%d\n",
 		info->is_write ? "Write" : "Read", info->access_size,
 		info->is_write ? "Write" : "Read", info->access_size,
 		info->access_addr, current->comm, task_pid_nr(current));
 		info->access_addr, current->comm, task_pid_nr(current));
 }
 }
@@ -206,7 +206,7 @@ static void describe_object_addr(struct kmem_cache *cache, void *object,
 	const char *rel_type;
 	const char *rel_type;
 	int rel_bytes;
 	int rel_bytes;
 
 
-	pr_err("The buggy address belongs to the object at %p\n"
+	pr_err("The buggy address belongs to the object at %px\n"
 	       " which belongs to the cache %s of size %d\n",
 	       " which belongs to the cache %s of size %d\n",
 		object, cache->name, cache->object_size);
 		object, cache->name, cache->object_size);
 
 
@@ -225,7 +225,7 @@ static void describe_object_addr(struct kmem_cache *cache, void *object,
 	}
 	}
 
 
 	pr_err("The buggy address is located %d bytes %s of\n"
 	pr_err("The buggy address is located %d bytes %s of\n"
-	       " %d-byte region [%p, %p)\n",
+	       " %d-byte region [%px, %px)\n",
 		rel_bytes, rel_type, cache->object_size, (void *)object_addr,
 		rel_bytes, rel_type, cache->object_size, (void *)object_addr,
 		(void *)(object_addr + cache->object_size));
 		(void *)(object_addr + cache->object_size));
 }
 }
@@ -302,7 +302,7 @@ static void print_shadow_for_address(const void *addr)
 		char shadow_buf[SHADOW_BYTES_PER_ROW];
 		char shadow_buf[SHADOW_BYTES_PER_ROW];
 
 
 		snprintf(buffer, sizeof(buffer),
 		snprintf(buffer, sizeof(buffer),
-			(i == 0) ? ">%p: " : " %p: ", kaddr);
+			(i == 0) ? ">%px: " : " %px: ", kaddr);
 		/*
 		/*
 		 * We should not pass a shadow pointer to generic
 		 * We should not pass a shadow pointer to generic
 		 * function, because generic functions may try to
 		 * function, because generic functions may try to