From patchwork Thu Feb 6 11:45:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catalin Marinas X-Patchwork-Id: 13962939 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C34ACC02194 for ; Thu, 6 Feb 2025 11:46:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 439F86B0089; Thu, 6 Feb 2025 06:46:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3EA23280002; Thu, 6 Feb 2025 06:46:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D8B3280001; Thu, 6 Feb 2025 06:46:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1090C6B0089 for ; Thu, 6 Feb 2025 06:46:09 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 6B2411A114F for ; Thu, 6 Feb 2025 11:45:45 +0000 (UTC) X-FDA: 83089340292.12.605193F Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf11.hostedemail.com (Postfix) with ESMTP id E2E0B40054 for ; Thu, 6 Feb 2025 11:45:43 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf11.hostedemail.com: domain of cmarinas@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738842343; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mY+ZPPhImhWwNYpW3wGzjhzP4b2l4aJuMA/jsvYcT60=; b=as98/ZTApp0pfBNT0yXu9nFOb02qFSLZu5EFN+f2DkgT+eKDyIaMSEZ+UjPwzGWbU+NWWZ vmtahntZZ3m9jp7+JU34/ydlTRXovzLXLz5O4G7g0BrFQo4cu9XrdhKQILfE/w8ZDwP/wV pXT94EEeLW78yE6+2Rs69CwCYo/oaLU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738842343; a=rsa-sha256; cv=none; b=4j2d0CpiDoctJ4sb8HV1d1uLCOgE6HvXGyql8GqX87fjRsGQRDzQfNipn19QPG2ET+EROZ tkRAGUG3zsK7h3Ol2Jabng47x3yoqw7ADXWJhe7lOcPft9nyjUkqinpbeU4CGNT5QnvtFb RKuT9iR5cPZGxXYBRll4Hwvj1iCJ55o= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf11.hostedemail.com: domain of cmarinas@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=cmarinas@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 3E966A441E2; Thu, 6 Feb 2025 11:43:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11B5DC4CEDD; Thu, 6 Feb 2025 11:45:41 +0000 (UTC) From: Catalin Marinas To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Andrew Morton Subject: [PATCH 2/2] samples: kmemleak: Print the raw pointers for debugging purposes Date: Thu, 6 Feb 2025 11:45:37 +0000 Message-Id: <20250206114537.2597764-3-catalin.marinas@arm.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250206114537.2597764-1-catalin.marinas@arm.com> References: <20250206114537.2597764-1-catalin.marinas@arm.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: E2E0B40054 X-Stat-Signature: cm6umeqxk1qoe4r4yx4jqkg6okot554b X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1738842343-525756 X-HE-Meta: U2FsdGVkX18Dg3djfs4UwZ6OdqgZb5dD+bEXo7BUBxS05Vuunjq07hW1nYJcMYdMtHpy+5Ph6KAEzn8xVhaLsFXY4auKNRkwm8ijM4pKYXsdUhPXqw8Pe8O+feOOTYPY9d3VDBdB1PzbAaRvk7mdy4h6mT6DOwejZzgdmkztcmaH/wFu4Dcg66090TdfQoUc3uZwi1YBvVigCw7eb64xtSZe/F20aqZKKUnphmtmZs0NxGBKqkWg8+QlRONLCHwQvFyLhbFAxPx0h3da4xdeRM6RAXMf6hwuictq7DDmdrd529vv98guCg2lvwJbNu6Z7j0qIwGKAucbbERB9vmCZytSNw6UI8MbktFQDOcEq2uNH+us01ga/HkKobsJ3fMpZak07R+bBL+DCUqTlTitRWp7OC2Sfr6jhNijSNkhfrUvYEtGdJHcOb6NQCodgux8RfUEhAMZsBaKvvuHWJ0hraH109essdWvWcaDdVaNwkFhIViEEmsenl1lyaHm420tvivUsV6YV8PyHNVBLzT5D5Uc97k9+n75766GXaa64lTmf1Y8N4zcpopFusLSYB/xGnqescaWjb5qzSLvXEtJVQmiVxTaeL3FvFqsxokDzZmhFIz3XuOhKZjLWPCxnvZP4sAHxvql+I6hQjNt8k/rLraUFtvXSc3uI/BWu/CDH8GzZ6zD03twbWCuau/GMcYg8qNR9Nukxd7W1okm54/ao0AhBAQOQ764cbtO6GLC5kVYYyf5G3PXO5Di8iSRu3o4VECRWjdC36J02dEBqVi7KnNAeX9qyrO/sofw/r0KdXrC6928LCIv8nh6JR2/N3OAZh9V0skwCbvtaJ8D2mZxoSbj87uYicSSPDLKpXEbYW4CKago0rJ2hKxI9A34R0CyoYJ0Z/06YTVgsfewqA2c3BWBOuptl4r1A6f3YyLGuyohO1GRF+kvqMDtzZUqpH2PjuoIppDQmNYN9lzKZUD ox/X9Diz qsOYK8Fpb0HV/GvRjoVcec581YHZ0SduuZEvtN2QXNbszcd+vXYYuxTGtnyD5ItyEro5hCaWpHB5ORsPx0m80+D9eWNXUVwbrl6ICrRTzfqly3G/yJHG6FnBS+BkDs9E/7GrqIR3hXxg3/IwMLZ+bv62aXuEjrOfyuZAw1uRgx8xPTbyC7eBkdxY7Ukzs7MgJAXXMyHZOGN7e4a6LL2/w/B4ZXn7gLrZ+oT6bT0tONtq7akD4aI5DCTO74MeGV6g/mQk/8Sw8Y5GMfmKO4WxvYAoSjte3VxOA5Gt7Py9XqxpbKUOHUuXrtiNCWZCHEUvMk7bWtqvqpRPMYYMmjBR/rBcl4CGED5TVKAiOOWSOjV0+/ZlM/1lEzC4JfVRU3x2/hND/LdW5rAUdvkU5htUuVSL81YjO1MGlXZH9 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The kmemleak-test.c module is meant to leak some pointers for debugging the kmemleak detection, pointer information dumping. It's no use if it prints the hashed values of such pointers. Change the printk() format from %p to %px. While at it, also display the raw __percpu pointer rather than this_cpu_ptr() since kmemleak now tracks such pointers independently of the standard allocations. Signed-off-by: Catalin Marinas Cc: Andrew Morton --- samples/kmemleak/kmemleak-test.c | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/samples/kmemleak/kmemleak-test.c b/samples/kmemleak/kmemleak-test.c index 544c36d51d56..8609812a37eb 100644 --- a/samples/kmemleak/kmemleak-test.c +++ b/samples/kmemleak/kmemleak-test.c @@ -40,25 +40,25 @@ static int kmemleak_test_init(void) pr_info("Kmemleak testing\n"); /* make some orphan objects */ - pr_info("kmalloc(32) = %p\n", kmalloc(32, GFP_KERNEL)); - pr_info("kmalloc(32) = %p\n", kmalloc(32, GFP_KERNEL)); - pr_info("kmalloc(1024) = %p\n", kmalloc(1024, GFP_KERNEL)); - pr_info("kmalloc(1024) = %p\n", kmalloc(1024, GFP_KERNEL)); - pr_info("kmalloc(2048) = %p\n", kmalloc(2048, GFP_KERNEL)); - pr_info("kmalloc(2048) = %p\n", kmalloc(2048, GFP_KERNEL)); - pr_info("kmalloc(4096) = %p\n", kmalloc(4096, GFP_KERNEL)); - pr_info("kmalloc(4096) = %p\n", kmalloc(4096, GFP_KERNEL)); + pr_info("kmalloc(32) = 0x%px\n", kmalloc(32, GFP_KERNEL)); + pr_info("kmalloc(32) = 0x%px\n", kmalloc(32, GFP_KERNEL)); + pr_info("kmalloc(1024) = 0x%px\n", kmalloc(1024, GFP_KERNEL)); + pr_info("kmalloc(1024) = 0x%px\n", kmalloc(1024, GFP_KERNEL)); + pr_info("kmalloc(2048) = 0x%px\n", kmalloc(2048, GFP_KERNEL)); + pr_info("kmalloc(2048) = 0x%px\n", kmalloc(2048, GFP_KERNEL)); + pr_info("kmalloc(4096) = 0x%px\n", kmalloc(4096, GFP_KERNEL)); + pr_info("kmalloc(4096) = 0x%px\n", kmalloc(4096, GFP_KERNEL)); #ifndef CONFIG_MODULES - pr_info("kmem_cache_alloc(files_cachep) = %p\n", + pr_info("kmem_cache_alloc(files_cachep) = 0x%px\n", kmem_cache_alloc(files_cachep, GFP_KERNEL)); - pr_info("kmem_cache_alloc(files_cachep) = %p\n", + pr_info("kmem_cache_alloc(files_cachep) = 0x%px\n", kmem_cache_alloc(files_cachep, GFP_KERNEL)); #endif - pr_info("vmalloc(64) = %p\n", vmalloc(64)); - pr_info("vmalloc(64) = %p\n", vmalloc(64)); - pr_info("vmalloc(64) = %p\n", vmalloc(64)); - pr_info("vmalloc(64) = %p\n", vmalloc(64)); - pr_info("vmalloc(64) = %p\n", vmalloc(64)); + pr_info("vmalloc(64) = 0x%px\n", vmalloc(64)); + pr_info("vmalloc(64) = 0x%px\n", vmalloc(64)); + pr_info("vmalloc(64) = 0x%px\n", vmalloc(64)); + pr_info("vmalloc(64) = 0x%px\n", vmalloc(64)); + pr_info("vmalloc(64) = 0x%px\n", vmalloc(64)); /* * Add elements to a list. They should only appear as orphan @@ -66,7 +66,7 @@ static int kmemleak_test_init(void) */ for (i = 0; i < 10; i++) { elem = kzalloc(sizeof(*elem), GFP_KERNEL); - pr_info("kzalloc(sizeof(*elem)) = %p\n", elem); + pr_info("kzalloc(sizeof(*elem)) = 0x%px\n", elem); if (!elem) return -ENOMEM; INIT_LIST_HEAD(&elem->list); @@ -75,11 +75,11 @@ static int kmemleak_test_init(void) for_each_possible_cpu(i) { per_cpu(kmemleak_test_pointer, i) = kmalloc(129, GFP_KERNEL); - pr_info("kmalloc(129) = %p\n", + pr_info("kmalloc(129) = 0x%px\n", per_cpu(kmemleak_test_pointer, i)); } - pr_info("__alloc_percpu(64, 4) = %p\n", __alloc_percpu(64, 4)); + pr_info("__alloc_percpu(64, 4) = 0x%px\n", __alloc_percpu(64, 4)); return 0; }