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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7B42C433F5 for ; Tue, 12 Oct 2021 06:08:49 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 3827E6108F for ; Tue, 12 Oct 2021 06:08:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 3827E6108F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 90D1C900002; Tue, 12 Oct 2021 02:08:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8BD916B0071; Tue, 12 Oct 2021 02:08:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7AB44900002; Tue, 12 Oct 2021 02:08:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0024.hostedemail.com [216.40.44.24]) by kanga.kvack.org (Postfix) with ESMTP id 6D70D6B006C for ; Tue, 12 Oct 2021 02:08:48 -0400 (EDT) Received: from smtpin06.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 1ED4D1820BA71 for ; Tue, 12 Oct 2021 06:08:48 +0000 (UTC) X-FDA: 78686756736.06.70E0200 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf26.hostedemail.com (Postfix) with ESMTP id C50342011FF5 for ; Tue, 12 Oct 2021 06:08:47 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 9E5F661076; Tue, 12 Oct 2021 06:08:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1634018926; bh=G5sKg3ur0G15l4uMWAUDfX+JPW8gLjBXoFrTph+IFjM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=m1ktLpcAI9KZGTeL7NeSwH7jPpYd2Nob8gRqAjbdt/jKfcXjbg3QXtXxmIK7ULuu2 xXIsenm5rCQplL+v6lb72J0ua4mQ6Z/IA+q17UKjFEH+KXw4NHF79btjJXtIGxIU1F b46TpYoS9QX1DPmuX/AGsM9XwSBrANNORc4xlzJV8zcamevi8K1Ft1SJJ3lFMLYrA6 P2BKnEixcKDleXTCAb5GCVvjMK9OpwyaDLchCT1HJUudiZCC4w+dNxLodLukQfK9u3 x0qEr9KGM5CmM0FRssOFkmt9hIHiIsklpzbeBhWGbM6iqVDaRzvfgyM+VptB6sA5TJ 1E0NCTxrY9lSQ== Date: Tue, 12 Oct 2021 09:08:41 +0300 From: Mike Rapoport To: Vladimir Zapolskiy Cc: lkml , linux-mm@kvack.org, Catalin Marinas Subject: Re: Panic on kmemleak scan Message-ID: References: <8ade5174-b143-d621-8c8e-dc6a1898c6fb@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8ade5174-b143-d621-8c8e-dc6a1898c6fb@linaro.org> X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C50342011FF5 X-Stat-Signature: fk9has4hoi9hgpdiwbbgqk1ndb3i3xca Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=m1ktLpcA; spf=pass (imf26.hostedemail.com: domain of rppt@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org X-HE-Tag: 1634018927-810304 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: (added Catalin) On Mon, Oct 11, 2021 at 02:23:31PM +0300, Vladimir Zapolskiy wrote: > Hello Mike, > > commit a7259df767 ("memblock: make memblock_find_in_range method private") [1] > invokes a kernel panic while running kmemleak on OF platforms with nomaped > regions, basically it's similar to an issue reported and fixed earlier by [2]: > > Unable to handle kernel paging request at virtual address ffff000021e00000 Does this virtual address correspond to a nomap area? Can you check if this patch helps: diff --git a/mm/memblock.c b/mm/memblock.c index 184dcd2e5d99..5c3503c98b2f 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -936,7 +936,12 @@ int __init_memblock memblock_mark_mirror(phys_addr_t base, phys_addr_t size) */ int __init_memblock memblock_mark_nomap(phys_addr_t base, phys_addr_t size) { - return memblock_setclr_flag(base, size, 1, MEMBLOCK_NOMAP); + int ret = memblock_setclr_flag(base, size, 1, MEMBLOCK_NOMAP); + + if (!ret) + kmemleak_free_part_phys(base, size); + + return ret; } /** > [...] > scan_block+0x64/0x170 > scan_gray_list+0xe8/0x17c > kmemleak_scan+0x270/0x514 > kmemleak_write+0x34c/0x4ac > > I believe it would be a trivial problem to correct for you, thank you in > advance! > > [1] https://lore.kernel.org/all/20210816122622.30279-1-rppt@kernel.org/T/#u > [2] https://lore.kernel.org/lkml/20190119132832.GA29881@MBP.local/t/#m032124f36c07 > > -- > Best wishes, > Vladimir -- Sincerely yours, Mike.