提交 6fc37c49 编写于 作者: A Andy Shevchenko 提交者: Linus Torvalds

kmemleak: use seq_hex_dump() to dump buffers

Instead of custom approach let's use recently introduced seq_hex_dump()
helper.
Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Joe Perches <joe@perches.com>
Cc: Tadeusz Struk <tadeusz.struk@intel.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com>
Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
Cc: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 5d2fe875
...@@ -302,23 +302,14 @@ static void hex_dump_object(struct seq_file *seq, ...@@ -302,23 +302,14 @@ static void hex_dump_object(struct seq_file *seq,
struct kmemleak_object *object) struct kmemleak_object *object)
{ {
const u8 *ptr = (const u8 *)object->pointer; const u8 *ptr = (const u8 *)object->pointer;
int i, len, remaining; size_t len;
unsigned char linebuf[HEX_ROW_SIZE * 5];
/* limit the number of lines to HEX_MAX_LINES */ /* limit the number of lines to HEX_MAX_LINES */
remaining = len = len = min_t(size_t, object->size, HEX_MAX_LINES * HEX_ROW_SIZE);
min(object->size, (size_t)(HEX_MAX_LINES * HEX_ROW_SIZE));
seq_printf(seq, " hex dump (first %zu bytes):\n", len);
seq_printf(seq, " hex dump (first %d bytes):\n", len); seq_hex_dump(seq, " ", DUMP_PREFIX_NONE, HEX_ROW_SIZE,
for (i = 0; i < len; i += HEX_ROW_SIZE) { HEX_GROUP_SIZE, ptr, len, HEX_ASCII);
int linelen = min(remaining, HEX_ROW_SIZE);
remaining -= HEX_ROW_SIZE;
hex_dump_to_buffer(ptr + i, linelen, HEX_ROW_SIZE,
HEX_GROUP_SIZE, linebuf, sizeof(linebuf),
HEX_ASCII);
seq_printf(seq, " %s\n", linebuf);
}
} }
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册