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=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,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 4B093C43461 for ; Mon, 3 May 2021 08:44:31 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id 9514F61221 for ; Mon, 3 May 2021 08:44:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9514F61221 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvmarm-bounces@lists.cs.columbia.edu Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 168774B394; Mon, 3 May 2021 04:44:30 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Authentication-Results: mm01.cs.columbia.edu (amavisd-new); dkim=softfail (fail, message has been altered) header.i=@kernel.org Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8hSIr-ij3aDF; Mon, 3 May 2021 04:44:28 -0400 (EDT) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id DF7A14B377; Mon, 3 May 2021 04:44:28 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id BB0B84B377 for ; Mon, 3 May 2021 04:44:27 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mKCvej1nKzRN for ; Mon, 3 May 2021 04:44:26 -0400 (EDT) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 868964B376 for ; Mon, 3 May 2021 04:44:26 -0400 (EDT) Received: by mail.kernel.org (Postfix) with ESMTPSA id DD14B610EA; Mon, 3 May 2021 08:44:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620031465; bh=ayNupM3q5p2pA01eseLR8Dv+rDUcAmtcqGwl5AQ6O2k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=f0mYXgd4+L6ElyJNZknXe3/27PpgI89ZAmo86Oo4Jh3B2bGUBoxOcR0uTAMwEH42P NRNWtYOMGR2ig6xRKT6656l72sNDNMGgG9hqtDUEy8BBcdk//kuvaH+acF5uh8tTsC QgsVPqfImbiGiTIo2EqQs4UGludApb8J0jFv0y3dmZ7/W/gVgXowjEJ3RKmLCIYsbZ sWxNbolPcs6NXVZczlnCV7WNJzUGXU45ZN7NoZvYUzdp+JM+uEumnuJiLL3zfAREMa +SbRCvNmMD+sE2VHxro6dsvN/Q2vzTHIGwhN/5RQfz3IC1cvDC15rPef4cWPSu6W20 xCKxVUWPMoB/A== Date: Mon, 3 May 2021 11:44:10 +0300 From: Mike Rapoport To: David Hildenbrand Subject: Re: arm32: panic in move_freepages (Was [PATCH v2 0/4] arm64: drop pfn_valid_within() and simplify pfn_valid()) Message-ID: References: <259d14df-a713-72e7-4ccb-c06a8ee31e13@huawei.com> <6ad2956c-70ae-c423-ed7d-88e94c88060f@huawei.com> <0cb013e4-1157-f2fa-96ec-e69e60833f72@huawei.com> <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> Cc: Kefeng Wang , Anshuman Khandual , Catalin Marinas , linux-kernel@vger.kernel.org, Mike Rapoport , linux-mm@kvack.org, kvmarm@lists.cs.columbia.edu, Marc Zyngier , Andrew Morton , Will Deacon , linux-arm-kernel@lists.infradead.org X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu On Mon, May 03, 2021 at 10:07:01AM +0200, David Hildenbrand wrote: > On 03.05.21 08:26, Mike Rapoport wrote: > > On Fri, Apr 30, 2021 at 07:24:37PM +0800, Kefeng Wang wrote: > > > = > > > = > > > On 2021/4/30 17:51, Mike Rapoport wrote: > > > > On Thu, Apr 29, 2021 at 06:22:55PM +0800, Kefeng Wang wrote: > > > > > = > > > > > On 2021/4/29 14:57, Mike Rapoport wrote: > > > > > = > > > > > > > > Do you use SPARSMEM? If yes, what is your section size? > > > > > > > > What is the value if CONFIG_FORCE_MAX_ZONEORDER in your con= figuration? > > > > > > > Yes, > > > > > > > = > > > > > > > CONFIG_SPARSEMEM=3Dy > > > > > > > = > > > > > > > CONFIG_SPARSEMEM_STATIC=3Dy > > > > > > > = > > > > > > > CONFIG_FORCE_MAX_ZONEORDER =3D 11 > > > > > > > = > > > > > > > CONFIG_PAGE_OFFSET=3D0xC0000000 > > > > > > > CONFIG_HAVE_ARCH_PFN_VALID=3Dy > > > > > > > CONFIG_HIGHMEM=3Dy > > > > > > > #define SECTION_SIZE_BITS 26 > > > > > > > #define MAX_PHYSADDR_BITS 32 > > > > > > > #define MAX_PHYSMEM_BITS 32 > > > > > = > > > > > = > > > > > With the patch,=A0 the addr is aligned, but the panic still occur= red, > > > > = > > > > Is this the same panic at move_freepages() for range [de600, de7ff]? > > > > = > > > > Do you enable CONFIG_ARM_LPAE? > > > = > > > no, the CONFIG_ARM_LPAE is not set, and yes with same panic at > > > move_freepages at > > > = > > > start_pfn/end_pfn [de600, de7ff], [de600000, de7ff000] : pfn =3Dde60= 0, page > > > =3Def3cc000, page-flags =3D ffffffff, pfn2phy =3D de600000 > > > = > > > > > __free_memory_core, range: 0xb0200000 - 0xc0000000, pfn: b0200 - = b0200 > > > > > __free_memory_core, range: 0xcc000000 - 0xdca00000, pfn: cc000 - = b0200 > > > > > __free_memory_core, range: 0xde700000 - 0xdea00000, pfn: de700 - = b0200 > > = > > Hmm, [de600, de7ff] is not added to the free lists which is correct. But > > then it's unclear how the page for de600 gets to move_freepages()... > > = > > Can't say I have any bright ideas to try here... > = > Are we missing some checks (e.g., PageReserved()) that pfn_valid_within() > would have "caught" before? Unless I'm missing something the crash happens in __rmqueue_fallback(): do_steal: page =3D get_page_from_free_area(area, fallback_mt); steal_suitable_fallback(zone, page, alloc_flags, start_migratetype, can_steal); -> move_freepages() = -> BUG() So a page from free area should be sane as the freed range was never added it to the free lists. And honestly, with the memory layout reported elsewhere in the stack I'd say that the bootloader/fdt beg for fixes... -- = Sincerely yours, Mike. _______________________________________________ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm 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=-4.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,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 5594BC433ED for ; Mon, 3 May 2021 08:51:00 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CF86A61175 for ; Mon, 3 May 2021 08:50:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CF86A61175 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SQCfjMizYlv+5FruQmPLDQxyP2xlR552JX7Tlx/a70E=; b=oYFyNqH0+OZ+BO2l9AGVmszP8 Ung48ZOSomG8D6se2WIowvUSi4O9GPeoFCHXxbxTKhFIcYxCN9SoXrOTLFFbrzdKXtjlYkE3C2hd+ UjyRky3t2iCXO9YFoYvRbuSUu+SqXBWCGzcf0fT5lezGZiQNYknoCWRZipZtP6uG8bZ7wKeTbZV/w 4jSufyhnc+3my+bHFXftzSjscL1NcjqlWHvE+JjzdyCTotWSXB1TxrGMKJI8HXe8+nGvlEfN+1Pq5 +5VZ0C1o0vj6JOn6XK7EexA/7w/S33UYNOi3MqtMeg3exKwUC26WxU2kVIV0ANbE5gcJoAuZIcEQe veVuf1XrA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1ldUD2-00DTDz-Pm; Mon, 03 May 2021 08:45:45 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ldUBp-00DT9c-EU for linux-arm-kernel@desiato.infradead.org; Mon, 03 May 2021 08:44:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=qwlH+szyqbpPchB2cz9J3GvjshNyd1vBUSpiM4ZLCkE=; b=LvoRd2eS2/JCU5ANujoqR5NO+1 J/6X80BNtiEOQFKfWG/tTCB4fS04zvNHDWMSQsMTCEDybdi8c0HaYwk15ntdz/1V94W0f1VSkTRYz yY77Pf/D8mFv2btTJ/MoqKvVGMH96Yb5Ub7kfbeS1U/7/AbtAihK7Qpv5fYTei22M3Ko8NHs/juax L13QI5Q/otljJ2urWiRWEE2jTEstvmPgQA3d3NY6xwVtXy3WD/+ZabNfHOfqXr/r9g3nNRabxv/jl tgT92hVCHCHLk+sxeXvs6CysomDUx3zp0xtEncdwQRR92XQ6qVG+ma+dgizH4d5qfZeVd1KApkx4m 9gg8UuTA==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ldUBm-002vO4-IX for linux-arm-kernel@lists.infradead.org; Mon, 03 May 2021 08:44:27 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id DD14B610EA; Mon, 3 May 2021 08:44:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620031465; bh=ayNupM3q5p2pA01eseLR8Dv+rDUcAmtcqGwl5AQ6O2k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=f0mYXgd4+L6ElyJNZknXe3/27PpgI89ZAmo86Oo4Jh3B2bGUBoxOcR0uTAMwEH42P NRNWtYOMGR2ig6xRKT6656l72sNDNMGgG9hqtDUEy8BBcdk//kuvaH+acF5uh8tTsC QgsVPqfImbiGiTIo2EqQs4UGludApb8J0jFv0y3dmZ7/W/gVgXowjEJ3RKmLCIYsbZ sWxNbolPcs6NXVZczlnCV7WNJzUGXU45ZN7NoZvYUzdp+JM+uEumnuJiLL3zfAREMa +SbRCvNmMD+sE2VHxro6dsvN/Q2vzTHIGwhN/5RQfz3IC1cvDC15rPef4cWPSu6W20 xCKxVUWPMoB/A== Date: Mon, 3 May 2021 11:44:10 +0300 From: Mike Rapoport To: David Hildenbrand Cc: Kefeng Wang , linux-arm-kernel@lists.infradead.org, Andrew Morton , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , Marc Zyngier , Mark Rutland , Mike Rapoport , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: arm32: panic in move_freepages (Was [PATCH v2 0/4] arm64: drop pfn_valid_within() and simplify pfn_valid()) Message-ID: References: <259d14df-a713-72e7-4ccb-c06a8ee31e13@huawei.com> <6ad2956c-70ae-c423-ed7d-88e94c88060f@huawei.com> <0cb013e4-1157-f2fa-96ec-e69e60833f72@huawei.com> <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210503_014426_730513_C1234413 X-CRM114-Status: GOOD ( 20.42 ) X-BeenThere: linux-arm-kernel@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="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, May 03, 2021 at 10:07:01AM +0200, David Hildenbrand wrote: > On 03.05.21 08:26, Mike Rapoport wrote: > > On Fri, Apr 30, 2021 at 07:24:37PM +0800, Kefeng Wang wrote: > > > = > > > = > > > On 2021/4/30 17:51, Mike Rapoport wrote: > > > > On Thu, Apr 29, 2021 at 06:22:55PM +0800, Kefeng Wang wrote: > > > > > = > > > > > On 2021/4/29 14:57, Mike Rapoport wrote: > > > > > = > > > > > > > > Do you use SPARSMEM? If yes, what is your section size? > > > > > > > > What is the value if CONFIG_FORCE_MAX_ZONEORDER in your con= figuration? > > > > > > > Yes, > > > > > > > = > > > > > > > CONFIG_SPARSEMEM=3Dy > > > > > > > = > > > > > > > CONFIG_SPARSEMEM_STATIC=3Dy > > > > > > > = > > > > > > > CONFIG_FORCE_MAX_ZONEORDER =3D 11 > > > > > > > = > > > > > > > CONFIG_PAGE_OFFSET=3D0xC0000000 > > > > > > > CONFIG_HAVE_ARCH_PFN_VALID=3Dy > > > > > > > CONFIG_HIGHMEM=3Dy > > > > > > > #define SECTION_SIZE_BITS 26 > > > > > > > #define MAX_PHYSADDR_BITS 32 > > > > > > > #define MAX_PHYSMEM_BITS 32 > > > > > = > > > > > = > > > > > With the patch,=A0 the addr is aligned, but the panic still occur= red, > > > > = > > > > Is this the same panic at move_freepages() for range [de600, de7ff]? > > > > = > > > > Do you enable CONFIG_ARM_LPAE? > > > = > > > no, the CONFIG_ARM_LPAE is not set, and yes with same panic at > > > move_freepages at > > > = > > > start_pfn/end_pfn [de600, de7ff], [de600000, de7ff000] : pfn =3Dde60= 0, page > > > =3Def3cc000, page-flags =3D ffffffff, pfn2phy =3D de600000 > > > = > > > > > __free_memory_core, range: 0xb0200000 - 0xc0000000, pfn: b0200 - = b0200 > > > > > __free_memory_core, range: 0xcc000000 - 0xdca00000, pfn: cc000 - = b0200 > > > > > __free_memory_core, range: 0xde700000 - 0xdea00000, pfn: de700 - = b0200 > > = > > Hmm, [de600, de7ff] is not added to the free lists which is correct. But > > then it's unclear how the page for de600 gets to move_freepages()... > > = > > Can't say I have any bright ideas to try here... > = > Are we missing some checks (e.g., PageReserved()) that pfn_valid_within() > would have "caught" before? Unless I'm missing something the crash happens in __rmqueue_fallback(): do_steal: page =3D get_page_from_free_area(area, fallback_mt); steal_suitable_fallback(zone, page, alloc_flags, start_migratetype, can_steal); -> move_freepages() = -> BUG() So a page from free area should be sane as the freed range was never added it to the free lists. And honestly, with the memory layout reported elsewhere in the stack I'd say that the bootloader/fdt beg for fixes... -- = Sincerely yours, Mike. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 C12D2C433B4 for ; Mon, 3 May 2021 08:44:29 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 391E66127A for ; Mon, 3 May 2021 08:44:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 391E66127A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 665AB6B0036; Mon, 3 May 2021 04:44:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 616486B006E; Mon, 3 May 2021 04:44:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4DD336B0070; Mon, 3 May 2021 04:44:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0246.hostedemail.com [216.40.44.246]) by kanga.kvack.org (Postfix) with ESMTP id 337436B0036 for ; Mon, 3 May 2021 04:44:27 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id D130E7582 for ; Mon, 3 May 2021 08:44:26 +0000 (UTC) X-FDA: 78099283332.30.3E35896 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf08.hostedemail.com (Postfix) with ESMTP id 64B8380192D4 for ; Mon, 3 May 2021 08:44:02 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id DD14B610EA; Mon, 3 May 2021 08:44:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620031465; bh=ayNupM3q5p2pA01eseLR8Dv+rDUcAmtcqGwl5AQ6O2k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=f0mYXgd4+L6ElyJNZknXe3/27PpgI89ZAmo86Oo4Jh3B2bGUBoxOcR0uTAMwEH42P NRNWtYOMGR2ig6xRKT6656l72sNDNMGgG9hqtDUEy8BBcdk//kuvaH+acF5uh8tTsC QgsVPqfImbiGiTIo2EqQs4UGludApb8J0jFv0y3dmZ7/W/gVgXowjEJ3RKmLCIYsbZ sWxNbolPcs6NXVZczlnCV7WNJzUGXU45ZN7NoZvYUzdp+JM+uEumnuJiLL3zfAREMa +SbRCvNmMD+sE2VHxro6dsvN/Q2vzTHIGwhN/5RQfz3IC1cvDC15rPef4cWPSu6W20 xCKxVUWPMoB/A== Date: Mon, 3 May 2021 11:44:10 +0300 From: Mike Rapoport To: David Hildenbrand Cc: Kefeng Wang , linux-arm-kernel@lists.infradead.org, Andrew Morton , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , Marc Zyngier , Mark Rutland , Mike Rapoport , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: arm32: panic in move_freepages (Was [PATCH v2 0/4] arm64: drop pfn_valid_within() and simplify pfn_valid()) Message-ID: References: <259d14df-a713-72e7-4ccb-c06a8ee31e13@huawei.com> <6ad2956c-70ae-c423-ed7d-88e94c88060f@huawei.com> <0cb013e4-1157-f2fa-96ec-e69e60833f72@huawei.com> <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=f0mYXgd4; spf=pass (imf08.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-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 64B8380192D4 X-Stat-Signature: n8y8fqjyg1fubkbmxfbu6h8gbprws11b Received-SPF: none (kernel.org>: No applicable sender policy available) receiver=imf08; identity=mailfrom; envelope-from=""; helo=mail.kernel.org; client-ip=198.145.29.99 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1620031442-969804 Content-Transfer-Encoding: quoted-printable 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: On Mon, May 03, 2021 at 10:07:01AM +0200, David Hildenbrand wrote: > On 03.05.21 08:26, Mike Rapoport wrote: > > On Fri, Apr 30, 2021 at 07:24:37PM +0800, Kefeng Wang wrote: > > >=20 > > >=20 > > > On 2021/4/30 17:51, Mike Rapoport wrote: > > > > On Thu, Apr 29, 2021 at 06:22:55PM +0800, Kefeng Wang wrote: > > > > >=20 > > > > > On 2021/4/29 14:57, Mike Rapoport wrote: > > > > >=20 > > > > > > > > Do you use SPARSMEM? If yes, what is your section size? > > > > > > > > What is the value if CONFIG_FORCE_MAX_ZONEORDER in your c= onfiguration? > > > > > > > Yes, > > > > > > >=20 > > > > > > > CONFIG_SPARSEMEM=3Dy > > > > > > >=20 > > > > > > > CONFIG_SPARSEMEM_STATIC=3Dy > > > > > > >=20 > > > > > > > CONFIG_FORCE_MAX_ZONEORDER =3D 11 > > > > > > >=20 > > > > > > > CONFIG_PAGE_OFFSET=3D0xC0000000 > > > > > > > CONFIG_HAVE_ARCH_PFN_VALID=3Dy > > > > > > > CONFIG_HIGHMEM=3Dy > > > > > > > #define SECTION_SIZE_BITS 26 > > > > > > > #define MAX_PHYSADDR_BITS 32 > > > > > > > #define MAX_PHYSMEM_BITS 32 > > > > >=20 > > > > >=20 > > > > > With the patch,=A0 the addr is aligned, but the panic still occ= urred, > > > >=20 > > > > Is this the same panic at move_freepages() for range [de600, de7f= f]? > > > >=20 > > > > Do you enable CONFIG_ARM_LPAE? > > >=20 > > > no, the CONFIG_ARM_LPAE is not set, and yes with same panic at > > > move_freepages at > > >=20 > > > start_pfn/end_pfn [de600, de7ff], [de600000, de7ff000] : pfn =3Dde= 600, page > > > =3Def3cc000, page-flags =3D ffffffff, pfn2phy =3D de600000 > > >=20 > > > > > __free_memory_core, range: 0xb0200000 - 0xc0000000, pfn: b0200 = - b0200 > > > > > __free_memory_core, range: 0xcc000000 - 0xdca00000, pfn: cc000 = - b0200 > > > > > __free_memory_core, range: 0xde700000 - 0xdea00000, pfn: de700 = - b0200 > >=20 > > Hmm, [de600, de7ff] is not added to the free lists which is correct. = But > > then it's unclear how the page for de600 gets to move_freepages()... > >=20 > > Can't say I have any bright ideas to try here... >=20 > Are we missing some checks (e.g., PageReserved()) that pfn_valid_within= () > would have "caught" before? Unless I'm missing something the crash happens in __rmqueue_fallback(): do_steal: page =3D get_page_from_free_area(area, fallback_mt); steal_suitable_fallback(zone, page, alloc_flags, start_migratetype, can_steal); -> move_freepages()=20 -> BUG() So a page from free area should be sane as the freed range was never adde= d it to the free lists. And honestly, with the memory layout reported elsewhere in the stack I'd say that the bootloader/fdt beg for fixes... --=20 Sincerely yours, Mike.