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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 139E5C2D0E9 for ; Thu, 2 Apr 2020 04:09:27 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C38E7206E9 for ; Thu, 2 Apr 2020 04:09:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="K6TNDxRA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C38E7206E9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6FE508E006C; Thu, 2 Apr 2020 00:09:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 638BB8E000D; Thu, 2 Apr 2020 00:09:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 553148E006C; Thu, 2 Apr 2020 00:09:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0224.hostedemail.com [216.40.44.224]) by kanga.kvack.org (Postfix) with ESMTP id 38F2F8E000D for ; Thu, 2 Apr 2020 00:09:26 -0400 (EDT) Received: from smtpin17.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 07C478248047 for ; Thu, 2 Apr 2020 04:09:26 +0000 (UTC) X-FDA: 76661585532.17.snow81_5254e6d65c507 X-HE-Tag: snow81_5254e6d65c507 X-Filterd-Recvd-Size: 2844 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf09.hostedemail.com (Postfix) with ESMTP for ; Thu, 2 Apr 2020 04:09:25 +0000 (UTC) Received: from localhost.localdomain (c-73-231-172-41.hsd1.ca.comcast.net [73.231.172.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B231620747; Thu, 2 Apr 2020 04:09:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585800565; bh=dbJjZwIx+0NQSudAYzki3z6K9kd3TEekKnYSxmyAY5c=; h=Date:From:To:Subject:In-Reply-To:From; b=K6TNDxRAhUe7DRmFJTerFuwge/m1h11geoYlAN4m0Z2jefLptNULBymDy+zH3b0O+ oKiqlDGwZYtyKy0G/kq4K/OsSDMVYMGoDSwPyGEv9iTHAJ+7at5FyW1BE5QUQ2JJtl ABq2DwY0amQSRt37f1pnPuDaJ66naVsH8YgBEh4M= Date: Wed, 01 Apr 2020 21:09:24 -0700 From: Andrew Morton To: akpm@linux-foundation.org, bhe@redhat.com, dan.j.williams@intel.com, david@redhat.com, linux-mm@kvack.org, mm-commits@vger.kernel.org, richardw.yang@linux.intel.com, torvalds@linux-foundation.org Subject: [patch 108/155] mm/sparsemem: get address to page struct instead of address to pfn Message-ID: <20200402040924.8ku8o5ahW%akpm@linux-foundation.org> In-Reply-To: <20200401210155.09e3b9742e1c6e732f5a7250@linux-foundation.org> User-Agent: s-nail v14.8.16 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: From: Wei Yang Subject: mm/sparsemem: get address to page struct instead of address to pfn memmap should be the address to page struct instead of address to pfn. As mentioned by David, if system memory and devmem sit within a section, the mismatch address would lead kdump to dump unexpected memory. Since sub-section only works for SPARSEMEM_VMEMMAP, pfn_to_page() is valid to get the page struct address at this point. Link: http://lkml.kernel.org/r/20200210005048.10437-1-richardw.yang@linux.intel.com Fixes: ba72b4c8cf60 ("mm/sparsemem: support sub-section hotplug") Signed-off-by: Wei Yang Acked-by: David Hildenbrand Cc: Dan Williams Cc: Baoquan He Signed-off-by: Andrew Morton --- mm/sparse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/sparse.c~mm-sparsemem-get-address-to-page-struct-instead-of-address-to-pfn +++ a/mm/sparse.c @@ -894,7 +894,7 @@ int __meminit sparse_add_section(int nid /* Align memmap to section boundary in the subsection case */ if (section_nr_to_pfn(section_nr) != start_pfn) - memmap = pfn_to_kaddr(section_nr_to_pfn(section_nr)); + memmap = pfn_to_page(section_nr_to_pfn(section_nr)); sparse_init_one_section(ms, section_nr, memmap, ms->usage, 0); return 0; _