From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2D041C982EE for ; Mon, 21 Sep 2026 13:18:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:MIME-Version:Message-Id:Date: Subject:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=GdOHlC3aIC85bW6jwRAFlc38H6S+mer9TnVtWCO7aHw=; b=tQs7xYTi6i3nmZ /kZy40U0CYQESVVf+UWYexx+qqP30UgCEfo6TRJ/hd++LWjFoKn98v0S+tYReApOr/vNgyQXt7Ssx WDGtXebmSxRohRXpEHO5QbUG19FEBGmTylxqVcHQZMfPsrk8am/pa2wvweCMj1N6NVr+X7hv1G+UA rNMWGGikDmh1v62RiEXgzK6atFkWPJ+k/73L0nOgh6xWNyat+fNv14rXS5MNwzsaCy0CqebcgCyFY gOD8OXc1oGuCd0Zu/O7vRWv/Gc1Q66RtXxoXfEOZiPvJTQSON1q/oZyPwsz1UopvgMqKhNEFto+rI 5mpDXEzElOx5bpV9Zk7w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x8dty-00000002DY7-47Nh; Mon, 21 Sep 2026 13:17:47 +0000 Received: from out-223.mta0.migadu.com ([2001:41d0:1004:224b::df] helo=mta0.migadu.com) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x8dtv-00000002DWx-3o61 for linux-riscv@lists.infradead.org; Mon, 21 Sep 2026 13:17:45 +0000 X-Envelope-To: linux-riscv@lists.infradead.org DKIM-Signature: a=rsa-sha256; bh=XGKeaZZkegvCape3qQBQEln+i9bC30nsXnPlSXlaifg=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789996660; v=1; x=1790601460; b=EWfXz3SFxahkBrxnVvRXGkVXmPA/DSmsYBjLNUX5od6izbSpmcQS8L/z2W+rZxIQclFpAkU+ 8sxXxkmD+VJrP8fqPP4l33KVqQQgqIczhQZqkg01seg36/eqkgxqQuOi56MqZj+0REpHG/CU/6b AuUSZvEdYJGJaCufn2pxtfEI= X-Envelope-To: linux-riscv@lists.infradead.org Received: by smtp.migadu.com with ESMTPS id ba4558021e9b6db7; Mon, 21 Sep 2026 13:17:40 +0000 X-Mizu-Trace-ID: ba4558021e9b6db7 X-Migadu-Flow: FLOW_OUT From: Ye Liu Subject: [PATCH v2 0/3] mm/vmalloc: fix vmalloc_dump_obj VA lookup Date: Mon, 21 Sep 2026 21:17:20 +0800 Message-Id: <20260921-vmalloc_dump_obj-v2-0-73fceb3ed1c8@linux.dev> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAGAusWoC/32OywqDMBREf0XuuikxDT668j+KyNVca4omktRgE f+9Uei2ywNzZmYDT06Th3uygaOgvbYmgrgk0A1onsS0igyCi4yXacbChONou0Yt09zY9sVUwUt eSJnfshKiNjvq9XpWPurILXpirUPTDUfRz3eE6ogP2r+t+5wHQnpIf7ZCyjjLESUXSgip+mrUZ lmvigLU+75/AWLiVEvPAAAA X-Change-ID: 20260916-vmalloc_dump_obj-d80908447369 To: Andrew Morton , Uladzislau Rezki , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Ye Liu X-Mailer: b4 0.14.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260921_061744_098351_F9A9AA67 X-CRM114-Status: UNSURE ( 6.73 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org vmalloc_dump_obj() has two bugs that cause it to miss vmalloc allocations, plus a minor optimization opportunity: 1. PAGE_ALIGN() rounds up, pushing last-page addresses to va_end and outside the VA lookup range. 2. The function searches only one vmap node, but allocations larger than 64 KiB may span multiple vmap zones whose VA is stored in a different node's rb-tree. Patch 1 fixes the alignment, patch 2 fixes the cross-zone search, patch 3 adds an early is_vmalloc_or_module_addr() check to skip non-vmalloc addresses without traversing all nodes. Signed-off-by: Ye Liu --- Changes in v2: - Use is_vmalloc_or_module_addr() instead of is_vmalloc_addr() to avoid filtering module/BPF/execmem addresses. (sashiko-bot) - Link to v1: https://lore.kernel.org/r/20260916-vmalloc_dump_obj-v1-0-7aa402d224df@linux.dev --- Ye Liu (3): mm/vmalloc: fix vmalloc_dump_obj address alignment for last-page lookups mm/vmalloc: fix vmalloc_dump_obj cross-zone VA lookup mm/vmalloc: skip vmalloc_dump_obj for non-vmalloc addresses mm/vmalloc.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) --- base-commit: e6e35979777d646fe3c7c94dca7dd32fb25d45f4 change-id: 20260916-vmalloc_dump_obj-d80908447369 Best regards, -- Ye Liu _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv