Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1178745

[PATCH v5 5/6] kmemleak: use seq_hex_dump() to dump buffers

Path csiph.com!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod
From Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Newsgroups linux.kernel
Subject [PATCH v5 5/6] kmemleak: use seq_hex_dump() to dump buffers
Date Tue, 07 Jul 2015 19:10:02 +0200
Message-ID <pJExA-8or-21@gated-at.bofh.it> (permalink)
References <pJExz-8or-9@gated-at.bofh.it>
X-Original-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>
X-Extloop1 1
X-Ironport-Av E=Sophos;i="5.15,424,1432623600"; d="scan'208";a="759976541"
X-Mailer git-send-email 2.1.4
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 49
Organization linux.* mail to news gateway
X-Original-Cc Andy Shevchenko <andriy.shevchenko@linux.intel.com>
X-Original-Date Tue, 7 Jul 2015 20:04:51 +0300
X-Original-Message-ID <1436288692-18445-6-git-send-email-andriy.shevchenko@linux.intel.com>
X-Original-References <1436288692-18445-1-git-send-email-andriy.shevchenko@linux.intel.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref aioe.org linux.kernel:1178745

Show key headers only | View raw


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH v5 5/6] kmemleak: use seq_hex_dump() to dump buffers Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2015-07-07 19:10 +0200

csiph-web