mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-08 06:03:24 +00:00
slub: use print_hex_dump
Less code and same functionality. The output would be: | Object c7428000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk | Object c7428010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk | Object c7428020: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk | Object c7428030: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkk. | Redzone c742803c: bb bb bb bb .... | Padding c7428064: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ | Padding c7428074: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZ Acked-by: Christoph Lameter <cl@linux.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
parent
fdde6abb3e
commit
ffc79d2880
34
mm/slub.c
34
mm/slub.c
@ -467,34 +467,8 @@ static int disable_higher_order_debug;
|
|||||||
*/
|
*/
|
||||||
static void print_section(char *text, u8 *addr, unsigned int length)
|
static void print_section(char *text, u8 *addr, unsigned int length)
|
||||||
{
|
{
|
||||||
int i, offset;
|
print_hex_dump(KERN_ERR, text, DUMP_PREFIX_ADDRESS, 16, 1, addr,
|
||||||
int newline = 1;
|
length, 1);
|
||||||
char ascii[17];
|
|
||||||
|
|
||||||
ascii[16] = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < length; i++) {
|
|
||||||
if (newline) {
|
|
||||||
printk(KERN_ERR "%8s 0x%p: ", text, addr + i);
|
|
||||||
newline = 0;
|
|
||||||
}
|
|
||||||
printk(KERN_CONT " %02x", addr[i]);
|
|
||||||
offset = i % 16;
|
|
||||||
ascii[offset] = isgraph(addr[i]) ? addr[i] : '.';
|
|
||||||
if (offset == 15) {
|
|
||||||
printk(KERN_CONT " %s\n", ascii);
|
|
||||||
newline = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!newline) {
|
|
||||||
i %= 16;
|
|
||||||
while (i < 16) {
|
|
||||||
printk(KERN_CONT " ");
|
|
||||||
ascii[i] = ' ';
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
printk(KERN_CONT " %s\n", ascii);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct track *get_track(struct kmem_cache *s, void *object,
|
static struct track *get_track(struct kmem_cache *s, void *object,
|
||||||
@ -627,8 +601,8 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p)
|
|||||||
if (p > addr + 16)
|
if (p > addr + 16)
|
||||||
print_section("Bytes b4 ", p - 16, 16);
|
print_section("Bytes b4 ", p - 16, 16);
|
||||||
|
|
||||||
print_section("Object", p, min_t(unsigned long, s->objsize, PAGE_SIZE));
|
print_section("Object ", p, min_t(unsigned long, s->objsize,
|
||||||
|
PAGE_SIZE));
|
||||||
if (s->flags & SLAB_RED_ZONE)
|
if (s->flags & SLAB_RED_ZONE)
|
||||||
print_section("Redzone ", p + s->objsize,
|
print_section("Redzone ", p + s->objsize,
|
||||||
s->inuse - s->objsize);
|
s->inuse - s->objsize);
|
||||||
|
Loading…
Reference in New Issue
Block a user