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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7142DC7618D for ; Tue, 4 Apr 2023 05:54:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E33C86B0078; Tue, 4 Apr 2023 01:54:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DBCF8900004; Tue, 4 Apr 2023 01:54:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5D92900003; Tue, 4 Apr 2023 01:54:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B03E76B0078 for ; Tue, 4 Apr 2023 01:54:33 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8966E1A082B for ; Tue, 4 Apr 2023 05:54:33 +0000 (UTC) X-FDA: 80642644026.19.5C6FA02 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf22.hostedemail.com (Postfix) with ESMTP id A51DFC000F for ; Tue, 4 Apr 2023 05:54:31 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=TSw6w1rI; spf=pass (imf22.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680587671; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3pLZ5LIf8dxXXGkQydUyk48pKyWVSSg042pIy4p88C0=; b=7sFuBIDNSMq2CIw3Uv+PG1VBKFq0UyqOivfScIAyez48PeAcXl2lpNDkeDmiCpTI6Z1g69 gmEr5eAn1gKq36Vxkv2S8FHMe1kEyNqxDnGlzg6TBYsO4w5KVNT5E2E32OJIbrA1uRz1tn M9uX9Juek/WspIqfgqi/ZN0YTxQjsM4= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=TSw6w1rI; spf=pass (imf22.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680587671; a=rsa-sha256; cv=none; b=kdhVKQUT28mt8QIqWI6GUaPrtaEV4VppugJ+GfE0iFht+85suiD7vbi/NmwbDzyYeu1qGd SEZvJJU6WlrBosY9CB8bIycVpD6MPdhB3I6u/x+LkWxHfvHySi9kdLIUXD2uLQTBzEpJ65 R/RhUarX51GLa/S7prMx+rW2EftoRXo= Received: by mail-lf1-f50.google.com with SMTP id c9so30494169lfb.1 for ; Mon, 03 Apr 2023 22:54:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680587670; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3pLZ5LIf8dxXXGkQydUyk48pKyWVSSg042pIy4p88C0=; b=TSw6w1rIK1WYomZFu9uZTSDk+UhsyInS9UjfdwlusGHkpOmhhSSrFdGNs8dHAZgJI8 4+mMArf/HsKq2uyIWnHYSCcZywuujCJ5PkJhDsW38ZNAE/H/AA0/XRGqnW+vReJAvacU E3lqM+lrd2yF+ZwvQD8C5a7WzRFce4HbWnMDlaqlt2jB9XaPtwWaTXQW/Btb0TNemfoA XWByEtMcUdJFdHwVQJvjAMjWmJAvoB1EfYMPizL6kM1YFK30dGl18sjP4X1MVG/Berob h6WVpIqQbZRj+Bok77RkSDiySlBFdWFP54SBTSfxPG9J0aYDF2RIQnxF3PXjRkDz5YAM mm4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680587670; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3pLZ5LIf8dxXXGkQydUyk48pKyWVSSg042pIy4p88C0=; b=VhHR5ACFSm6Tj9bDrcovq9nJPequmZIA3VvrlRE69fwFOx2krr4kmALT0yN+6SmSNo 9V0NBTxpWcGPXF2mfe+tJrsf2yABwzYEjyyCoqyiG6QV2B9+5U/+2wUPRpYTbE7l83ey 9oyaERlPV7aD/8ei4oNGoz2oEmtA1LrXkU5a8CFEOhxMyeOfDA/Q/pmo9eRuxEAow0Fw zdhwdznW5IUBPNv6BYfN/U35zkpAzaB2uyyR/prRI1KwdxiUvEesMMA3JmIsqI3K7RAP UBZCPajxLtnVMW472/RZZcmX0mJ2snWA+Yo8HQOcci/avuNBQjEnhks7rYmXDuEjtHc8 Ut9w== X-Gm-Message-State: AAQBX9dm2YsfLGuJCruqgDH7BZxSKEXsbhGbdDbsrTe6ivQqCVvdGTyn 98YS+NvWJl5GlJ80lqnccIDK7yj0nxwJ6I7Fezk= X-Google-Smtp-Source: AKy350aOW2jpD10bAFVZ92wn5Znp2UCYPJFzDM4B5RQKE/1/d3f8rcjPmHgThvFlvl4GyjM00bt2reXLoQ5kq3YiTVY= X-Received: by 2002:ac2:5d64:0:b0:4eb:982:ad5 with SMTP id h4-20020ac25d64000000b004eb09820ad5mr350332lft.4.1680587669520; Mon, 03 Apr 2023 22:54:29 -0700 (PDT) MIME-Version: 1.0 References: <1680587425-4683-1-git-send-email-Xiaosong.Ma@unisoc.com> In-Reply-To: <1680587425-4683-1-git-send-email-Xiaosong.Ma@unisoc.com> From: Zhaoyang Huang Date: Tue, 4 Apr 2023 13:54:07 +0800 Message-ID: Subject: Re: [PATCH] mm: check mapping addr is correct when dump page To: "xiaosong.ma" Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, ke.wang@unisoc.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A51DFC000F X-Stat-Signature: pengwdnp8h1xhzobd8uestthr8jic6rw X-HE-Tag: 1680587671-597310 X-HE-Meta: U2FsdGVkX19syy3AhyxvEc2ZTLVUb8u3Xq93IRQFXHb7dLVzSqiO37pUwMke+sMhNxhG3WNri3BaMt0kFBMRTDruuanb3Y3ldHi+0lHW1kBuNZ110Q4Uzu+ceKiWI0R84hh375IBTy6hkyRuxBlXsdtb4ZhscW1B2H89zqpxCjDyL86N8xgGOdg0+vj8Cn8RZLaGr09fFLwP1EQqrxAMBBYVQucjLsjIQJqykmgnTvmINO0OSHRxmRAJn/5m1c/kBP+WNbDwsJthCNKS9OmV4K6nAstQju+tNCgqt7sSdmR4MU0j0X9AR+7CsTwLW85ShTxFQZyEs9r8yl1RdS+/4vpVDvMa0D9SHnXQkG8BtmDamkXBUpdM+NdglERfQirGcr6ziOYzzebW1KCpkuZa1JwE2Q1FKnsAzlS9VeRYTJ/E+Dgt7ca7PAxaqlaRkzhnXvJhT2avKM1KIPVU43CotrBS0R0mjJyZDqivaC/zN1gI1K8IurgDJg7mTz8XQELd9ZuHb3E1mNIboJJ8JTdFrrvOG+PlFVd6NM9Q7fpgERRZi7oJEaCsCfOI7Nlu0sWs68N70nlb++KcjJko238Xp0/m0PggQ0vJTpHttxfOfRnUvS1Ej8kEt9Zj4X67GYOUc3UXmWeZDA6EuouNsSrFc5QpOuIyX62gVxGXIoG01feRVXNx/LCjlx3Gm4MkpUEuqy3LSe5w3nEYQd3DuEBY0tFYg9CWwlid2ecB1aMcptbbCSozpUtyl2CqTfo9mEV5CYdReMMov3OKI4AwHt4Ur/bevDnUJvroDdAQMdPa2rDpCUrLBxfXlTXOLMS9BA8S4OgS7eaI7dPJFvn2SfEm6sT3c+G4N9N/7dNux/ffx+vZqBWqqigVi1EAgSSbDUus8gpA9fxF9IkPAcuvojZxjmPxv5o2f0dh1wLvBlvfcOgOLa0CZYN8u7wEeoMnVFdZ/h01CQI9qWNIBKCnuvU QP6xJpVj PqBYIHNp6XPqxf7TgcB4V1QRZzdIxxDcW25y9sqBJz1Wi/ie3SO7SuSHiKlpbS7G2VRWpd9yigkA3J0sMC8Gt1JiFuvWgyGa9OGTYaR+fIllsAmxwi1tryZkmkcvtLDKYGweDFbtw5G2SzYdJIJm8bYVWRRvsGeSKRK8Tgn4I2Nk2pFrJSzfCVJQB7LRbTqUeoRkSR/1zUgV5T67eEKe9UfqEYx2cwn1obOvFavSyqZ6HKIGOc1guKYYucqW6szkQIeXRiEWTkrRV8s1OIgVJNZ2C7yUx39AzhZmHiZh5Hzfi4iFAcdREXRkAcCwQY+Ul3me2/jX0ww36kTT1C/MSD5kY/36NVFq30QeMgfPDdRdnYbEbBhTGFpORXQriamPkHT9Ls9Jl59HrAu+iHiSQwecI9PiGJQN/FhK+ypvnYQ8yK5M= 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 Tue, Apr 4, 2023 at 1:50=E2=80=AFPM xiaosong.ma = wrote: > > when we debug with slub_debug_on, the following backtraces show dump_page > will show wrong info when the bad page is non-NULL mapping and page->mapp= ing > is 0x80000000000 so do virt_addr valid check is needed when dump mapping = page. > > crash_arm64> bt > PID: 232 TASK: ffffff80e8c2c340 CPU: 0 COMMAND: "Binder:232_2" > #0 [ffffffc013e5b080] sysdump_panic_event$b2bce43a479f4f7762201bfee02d78= 89 at ffffffc0108d7c2c > #1 [ffffffc013e5b0c0] atomic_notifier_call_chain at ffffffc010300228 > #2 [ffffffc013e5b2c0] panic at ffffffc0102c926c > #3 [ffffffc013e5b370] die at ffffffc010267670 > #4 [ffffffc013e5b3a0] die_kernel_fault at ffffffc0102808a4 > #5 [ffffffc013e5b3d0] __do_kernel_fault at ffffffc010280820 > #6 [ffffffc013e5b410] do_bad_area at ffffffc01028059c > #7 [ffffffc013e5b440] do_translation_fault$4df5decbea5d08a63349aa36f0742= 6b2 at ffffffc0111149c8 > #8 [ffffffc013e5b470] do_mem_abort at ffffffc0100a4488 > #9 [ffffffc013e5b5e0] el1_ia at ffffffc0100a6c00 > #10 [ffffffc013e5b5f0] __dump_page at ffffffc0104beecc > #11 [ffffffc013e5b630] bad_page at ffffffc0104e6ffc > #12 [ffffffc013e5b820] rmqueue_bulk at ffffffc0104e9128 > #13 [ffffffc013e5b950] rmqueue at ffffffc0104e7c3c > #14 [ffffffc013e5b9c0] get_page_from_freelist at ffffffc0104e3e3c > #15 [ffffffc013e5ba50] __alloc_pages_nodemask at ffffffc0104e3a7c > #16 [ffffffc013e5bac0] pagecache_get_page at ffffffc01047d0e4 > #17 [ffffffc013e5bb20] grab_cache_page_write_begin at ffffffc010480e3c > #18 [ffffffc013e5bb50] block_write_begin at ffffffc010586204 > #19 [ffffffc013e5bb90] blkdev_write_begin$75b353f60767e771433fc3b19ba260= ab at ffffffc01058cc48 > #20 [ffffffc013e5bc00] generic_perform_write at ffffffc010480f1c > #21 [ffffffc013e5bc60] __generic_file_write_iter at ffffffc01048115c > #22 [ffffffc013e5bcf0] blkdev_write_iter at ffffffc01058c0a8 > #23 [ffffffc013e5bda0] __vfs_write at ffffffc01052d808 > #24 [ffffffc013e5bdd0] vfs_write at ffffffc01052da5c > #25 [ffffffc013e5be30] __arm64_sys_pwrite64 at ffffffc01052e09c > #26 [ffffffc013e5be60] el0_svc_common at ffffffc010272224 > #27 [ffffffc013e5bea0] el0_svc_handler at ffffffc010272148 > #28 [ffffffc013e5bff0] el0_svc at ffffffc0100a7ec4 > > Signed-off-by: xiaosong.ma > --- > mm/debug.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/debug.c b/mm/debug.c > index 7f8e5f7..da61172 100644 > --- a/mm/debug.c > +++ b/mm/debug.c > @@ -109,7 +109,7 @@ static void __dump_page(struct page *page) > type =3D "ksm "; > else if (PageAnon(page)) > type =3D "anon "; > - else if (mapping) > + else if (mapping && virt_addr_valid(mapping)) could be else if (virt_addr_valid(mapping)) > dump_mapping(mapping); > BUILD_BUG_ON(ARRAY_SIZE(pageflag_names) !=3D __NR_PAGEFLAGS + 1); > > -- > 1.9.1