public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-kernel@vger.kernel.org, Joe Perches <joe@perches.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Tadeusz Struk <tadeusz.struk@intel.com>,
	Helge Deller <deller@gmx.de>,
	Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v5 5/6] kmemleak: use seq_hex_dump() to dump buffers
Date: Tue,  7 Jul 2015 20:04:51 +0300	[thread overview]
Message-ID: <1436288692-18445-6-git-send-email-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <1436288692-18445-1-git-send-email-andriy.shevchenko@linux.intel.com>

Instead of custom approach let's use recently introduced seq_hex_dump() helper.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 mm/kmemleak.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index cf79f11..b034c62 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -302,23 +302,14 @@ static void hex_dump_object(struct seq_file *seq,
 			    struct kmemleak_object *object)
 {
 	const u8 *ptr = (const u8 *)object->pointer;
-	int i, len, remaining;
-	unsigned char linebuf[HEX_ROW_SIZE * 5];
+	size_t len;
 
 	/* limit the number of lines to HEX_MAX_LINES */
-	remaining = len =
-		min(object->size, (size_t)(HEX_MAX_LINES * HEX_ROW_SIZE));
-
-	seq_printf(seq, "  hex dump (first %d bytes):\n", len);
-	for (i = 0; i < len; i += HEX_ROW_SIZE) {
-		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);
-	}
+	len = min_t(size_t, object->size, HEX_MAX_LINES * HEX_ROW_SIZE);
+
+	seq_printf(seq, "  hex dump (first %zu bytes):\n", len);
+	seq_hex_dump(seq, "    ", DUMP_PREFIX_NONE, HEX_ROW_SIZE,
+		     HEX_GROUP_SIZE, ptr, len, HEX_ASCII);
 }
 
 /*
-- 
2.1.4


  parent reply	other threads:[~2015-07-07 17:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-07 17:04 [PATCH v5 0/6] fs/seq_file: introduce seq_hex_dump() helper Andy Shevchenko
2015-07-07 17:04 ` [PATCH v5 1/6] seq_file: provide an analogue of print_hex_dump() Andy Shevchenko
2015-07-07 17:04 ` [PATCH v5 2/6] crypto: qat - use seq_hex_dump() to dump buffers Andy Shevchenko
2015-07-07 17:04 ` [PATCH v5 3/6] parisc: " Andy Shevchenko
2015-07-07 17:04 ` [PATCH v5 4/6] [S390] zcrypt: " Andy Shevchenko
2015-07-07 17:04 ` Andy Shevchenko [this message]
2015-07-08  9:20   ` [PATCH v5 5/6] kmemleak: " Catalin Marinas
2015-07-07 17:04 ` [PATCH v5 6/6] wil6210: " Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1436288692-18445-6-git-send-email-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=deller@gmx.de \
    --cc=ingo.tuchscherer@de.ibm.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=qca_vkondrat@qca.qualcomm.com \
    --cc=tadeusz.struk@intel.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox