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, HEADER_FROM_DIFFERENT_DOMAINS,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 A3B9EC433E0 for ; Thu, 18 Mar 2021 11:03:03 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F3AC664E05 for ; Thu, 18 Mar 2021 11:03:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F3AC664E05 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 80A516B0070; Thu, 18 Mar 2021 07:03:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B93C6B0071; Thu, 18 Mar 2021 07:03:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60B906B0072; Thu, 18 Mar 2021 07:03:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0055.hostedemail.com [216.40.44.55]) by kanga.kvack.org (Postfix) with ESMTP id 3EB626B0070 for ; Thu, 18 Mar 2021 07:03:02 -0400 (EDT) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id F3BCC18038B74 for ; Thu, 18 Mar 2021 11:03:01 +0000 (UTC) X-FDA: 77932707804.23.FC977F5 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by imf17.hostedemail.com (Postfix) with ESMTP id 2AEE740B8CC9 for ; Thu, 18 Mar 2021 11:02:53 +0000 (UTC) IronPort-SDR: lekHRdGj+L8p4x/RE10oDtlHRg1o8tjBG45ClC4bCNGThLPO0eGkq24ZKUAzivFKnQxdWXCWIX UKDOC4yh4aaw== X-IronPort-AV: E=McAfee;i="6000,8403,9926"; a="169576148" X-IronPort-AV: E=Sophos;i="5.81,258,1610438400"; d="scan'208";a="169576148" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2021 04:02:52 -0700 IronPort-SDR: bNT7KYB+76E3RzAE6Jt7jqof9XE8wZgYdUk8RkvRXFUXkTmW32O3Ooo+aooqO241gb+BaYKvfv 6EsaUcn7xEnA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,258,1610438400"; d="scan'208";a="411851578" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga007.jf.intel.com with ESMTP; 18 Mar 2021 04:02:50 -0700 Received: by black.fi.intel.com (Postfix, from userid 1000) id EA8FE249; Thu, 18 Mar 2021 13:03:02 +0200 (EET) Date: Thu, 18 Mar 2021 14:03:02 +0300 From: "Kirill A. Shutemov" To: Luis Henriques Cc: Miklos Szeredi , Matthew Wilcox , Vlastimil Babka , Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm Subject: Re: fuse: kernel BUG at mm/truncate.c:763! Message-ID: <20210318110302.nxddmrhmgmlw4adq@black.fi.intel.com> References: <20210312131123.GZ3479805@casper.infradead.org> <20210315110659.GT2577561@casper.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 2AEE740B8CC9 X-Stat-Signature: 9mq5r5m5mzz36gnhgmxpmb3pxc6gc4xn Received-SPF: none (linux.intel.com>: No applicable sender policy available) receiver=imf17; identity=mailfrom; envelope-from=""; helo=mga17.intel.com; client-ip=192.55.52.151 X-HE-DKIM-Result: none/none X-HE-Tag: 1616065373-51443 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 Thu, Mar 18, 2021 at 11:59:59AM +0100, Miklos Szeredi wrote: > [CC linux-mm] >=20 > On Thu, Mar 18, 2021 at 10:25 AM Luis Henriques wrot= e: > > > > (I thought Vlastimil was already on CC...) > > > > On Mon, Mar 15, 2021 at 11:06:59AM +0000, Matthew Wilcox wrote: > > > On Mon, Mar 15, 2021 at 09:47:45AM +0000, Luis Henriques wrote: > > > > On Fri, Mar 12, 2021 at 01:11:23PM +0000, Matthew Wilcox wrote: > > > > > On Fri, Mar 12, 2021 at 12:21:59PM +0000, Luis Henriques wrote: > > > > > > > > I've seen a bug report (5.10.16 kernel splat below) that se= ems to be > > > > > > > > reproducible in kernels as early as 5.4. > > > > > > > > > > If this is reproducible, can you turn this BUG_ON into a VM_BUG_O= N_PAGE() > > > > > so we know what kind of problem we're dealing with? Assuming the= SUSE > > > > > tumbleweed kernels enable CONFIG_DEBUG_VM, which I'm sure they do. > > > > > > > > Just to make sure I got this right, you want to test something like= this: > > > > > > > > } > > > > } > > > > - BUG_ON(page_mapped(page)); > > > > + VM_BUG_ON_PAGE(page_mapped(page), page); > > > > ret2 =3D do_launder_page(mapping, page); > > > > if (ret2 =3D=3D 0) { > > > > if (!invalidate_complete_page2(mapping,= page)) > > > > > > Yes, exactly. > > > > Ok, finally I got some feedback from the bug reporter. Please see bell= ow > > the kernel log with the VM_BUG_ON_PAGE() in place. Also note that this= is > > on a 5.12-rc3, vanilla. > > > > Cheers, > > -- > > Lu=EDs > > > > [16247.536348] page:00000000dfe36ab1 refcount:673 mapcount:0 mapping:00= 000000f982a7f8 index:0x1400 pfn:0x4c65e00 > > [16247.536359] head:00000000dfe36ab1 order:9 compound_mapcount:0 compou= nd_pincount:0 >=20 > This is a compound page alright. Have no idea how it got into fuse's > pagecache. Luis, do you have CONFIG_READ_ONLY_THP_FOR_FS enabled? > > [16247.536361] memcg:ffff8e730012b000 > > [16247.536364] aops:fuse_file_aops [fuse] ino:8b8 dentry name:"cc1plus" > > [16247.536379] flags: 0xaffff800010037(locked|referenced|uptodate|lru|a= ctive|head) > > [16247.536385] raw: 00affff800010037 ffffd6519ed9c448 ffffd651abea5b08 = ffff8eb2f9a02ef8 > > [16247.536388] raw: 0000000000001400 0000000000000000 000002a1ffffffff = ffff8e730012b000 > > [16247.536389] page dumped because: VM_BUG_ON_PAGE(page_mapped(page)) > > [16247.536399] ------------[ cut here ]------------ > > [16247.536400] kernel BUG at mm/truncate.c:678! > > [16247.536406] invalid opcode: 0000 [#1] SMP PTI > > [16247.536416] CPU: 42 PID: 2063761 Comm: g++ Not tainted 5.12.0-rc3-1.= g008d601-default #1 openSUSE Tumbleweed (unreleased) > > [16247.536423] Hardware name: Supermicro X11DPi-N(T)/X11DPi-N, BIOS 3.1= a 10/16/2019 > > [16247.536427] RIP: 0010:invalidate_inode_pages2_range+0x3b4/0x550 > > [16247.536436] Code: 00 00 00 4c 89 e6 e8 eb 0f 03 00 4c 89 ff e8 63 40= 01 00 84 c0 0f 84 23 fe ff ff 48 c7 c6 d0 1d f4 b1 4c 89 ff e8 ec 82 02 00= <0f> 0b 48 8b 45 78 48 8b 80 80 00 00 00 48 85 c0 0f 84 fb fe ff ff > > [16247.536444] RSP: 0000:ffffa18cb0af7a40 EFLAGS: 00010246 > > [16247.536450] RAX: 0000000000000036 RBX: 000000000000000d RCX: ffff8ef= 13fc9a748 > > [16247.536455] RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff8ef= 13fc9a740 > > [16247.536460] RBP: ffff8eb2f9a02ef8 R08: ffff8ef23ffb48a8 R09: 0000000= 00004fffb > > [16247.536464] R10: 00000000ffff0000 R11: 3fffffffffffffff R12: 0000000= 000001400 > > [16247.536468] R13: ffff8eb2f9a02f00 R14: 0000000000000000 R15: ffffd65= 1b1978000 > > [16247.536473] FS: 00007f97c1717740(0000) GS:ffff8ef13fc80000(0000) kn= lGS:0000000000000000 > > [16247.536478] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > [16247.536483] CR2: 00007fd48a25a7c0 CR3: 00000040aa3ac006 CR4: 0000000= 0007706e0 > > [16247.536487] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000= 000000000 > > [16247.536491] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000= 000000400 > > [16247.536495] PKRU: 55555554 > > [16247.536498] Call Trace: > > [16247.536506] fuse_finish_open+0x82/0x150 [fuse] > > [16247.536520] fuse_open_common+0x1a8/0x1b0 [fuse] > > [16247.536530] ? fuse_open_common+0x1b0/0x1b0 [fuse] > > [16247.536540] do_dentry_open+0x14e/0x380 > > [16247.536547] path_openat+0xaf6/0x10a0 > > [16247.536555] do_filp_open+0x88/0x130 > > [16247.536560] ? security_prepare_creds+0x6d/0x90 > > [16247.536566] ? __kmalloc+0x157/0x2e0 > > [16247.536575] do_open_execat+0x6d/0x1a0 > > [16247.536581] bprm_execve+0x128/0x660 > > [16247.536587] do_execveat_common+0x192/0x1c0 > > [16247.536593] __x64_sys_execve+0x39/0x50 > > [16247.536599] do_syscall_64+0x33/0x80 > > [16247.536606] entry_SYSCALL_64_after_hwframe+0x44/0xae > > [16247.536614] RIP: 0033:0x7f97c0efec37 > > [16247.536621] Code: Unable to access opcode bytes at RIP 0x7f97c0efec0= d. > > [16247.536625] RSP: 002b:00007ffdc2fdea68 EFLAGS: 00000202 ORIG_RAX: 00= 0000000000003b > > [16247.536631] RAX: ffffffffffffffda RBX: 00007f97c17176a0 RCX: 00007f9= 7c0efec37 > > [16247.536635] RDX: 0000000000ea42c0 RSI: 0000000000ea5848 RDI: 0000000= 000ea5d00 > > [16247.536639] RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000= 000000000 > > [16247.536643] R10: 00007ffdc2fdde60 R11: 0000000000000202 R12: 0000000= 000000000 > > [16247.536647] R13: 0000000000000001 R14: 0000000000ea5d00 R15: 0000000= 000000000 > > [16247.536653] Modules linked in: overlay rpcsec_gss_krb5 nfsv4 dns_res= olver nfsv3 nfs fscache iscsi_ibft iscsi_boot_sysfs rfkill dmi_sysfs intel_= rapl_msr intel_rapl_common joydev isst_if_common ipmi_ssif i40iw ib_uverbs = iTCO_wdt intel_pmc_bxt skx_edac ib_core hid_generic iTCO_vendor_support nfi= t libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel acpi_i= pmi kvm usbhid i2c_i801 mei_me i40e irqbypass efi_pstore pcspkr ipmi_si ioa= tdma i2c_smbus lpc_ich mei intel_pch_thermal dca ipmi_devintf ipmi_msghandl= er tiny_power_button acpi_pad button nls_iso8859_1 nls_cp437 vfat fat nfsd = nfs_acl auth_rpcgss lockd grace sunrpc fuse configfs nfs_ssc ast i2c_algo_b= it drm_vram_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_= fops cec rc_core drm_ttm_helper ttm xhci_pci xhci_pci_renesas drm xhci_hcd = crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel = crypto_simd cryptd usbcore wmi sg br_netfilter bridge stp llc dm_multipath = dm_mod scsi_dh_rdac scsi_dh_emc > > [16247.536758] scsi_dh_alua msr efivarfs > > [16247.536800] ---[ end trace e1493f55bf5b3a34 ]--- > > [16247.544126] RIP: 0010:invalidate_inode_pages2_range+0x3b4/0x550 > > [16247.544140] Code: 00 00 00 4c 89 e6 e8 eb 0f 03 00 4c 89 ff e8 63 40= 01 00 84 c0 0f 84 23 fe ff ff 48 c7 c6 d0 1d f4 b1 4c 89 ff e8 ec 82 02 00= <0f> 0b 48 8b 45 78 48 8b 80 80 00 00 00 48 85 c0 0f 84 fb fe ff ff > > [16247.544148] RSP: 0000:ffffa18cb0af7a40 EFLAGS: 00010246 > > [16247.544153] RAX: 0000000000000036 RBX: 000000000000000d RCX: ffff8ef= 13fc9a748 > > [16247.544158] RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff8ef= 13fc9a740 > > [16247.544162] RBP: ffff8eb2f9a02ef8 R08: ffff8ef23ffb48a8 R09: 0000000= 00004fffb > > [16247.544166] R10: 00000000ffff0000 R11: 3fffffffffffffff R12: 0000000= 000001400 > > [16247.544170] R13: ffff8eb2f9a02f00 R14: 0000000000000000 R15: ffffd65= 1b1978000 > > [16247.544175] FS: 00007f97c1717740(0000) GS:ffff8ef13fc80000(0000) kn= lGS:0000000000000000 > > [16247.544180] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > [16247.544184] CR2: 00007f97c0efec0d CR3: 00000040aa3ac006 CR4: 0000000= 0007706e0 > > [16247.544188] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000= 000000000 > > [16247.544191] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000= 000000400 > > [16247.544194] PKRU: 55555554 > > [16247.546763] BUG: Bad rss-counter state mm:00000000060c94f4 type:MM_A= NONPAGES val:8 > > > > --=20 Kirill A. Shutemov