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.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,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 68C1AC433DB for ; Thu, 18 Mar 2021 11:28:16 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id CA0CD64E86 for ; Thu, 18 Mar 2021 11:28:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CA0CD64E86 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2BEC06B0075; Thu, 18 Mar 2021 07:28:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2455B6B0078; Thu, 18 Mar 2021 07:28:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0BF398D0001; Thu, 18 Mar 2021 07:28:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0222.hostedemail.com [216.40.44.222]) by kanga.kvack.org (Postfix) with ESMTP id E0D8D6B0075 for ; Thu, 18 Mar 2021 07:28:14 -0400 (EDT) Received: from smtpin33.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id A17898249980 for ; Thu, 18 Mar 2021 11:28:14 +0000 (UTC) X-FDA: 77932771308.33.26B15F1 Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by imf27.hostedemail.com (Postfix) with ESMTP id EB1238019142 for ; Thu, 18 Mar 2021 11:28:13 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id A5D01ACBF; Thu, 18 Mar 2021 11:28:12 +0000 (UTC) Received: from localhost (brahms [local]) by brahms (OpenSMTPD) with ESMTPA id 4eac0ab8; Thu, 18 Mar 2021 11:29:28 +0000 (UTC) Date: Thu, 18 Mar 2021 11:29:28 +0000 From: Luis Henriques To: "Kirill A. Shutemov" 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: References: <20210312131123.GZ3479805@casper.infradead.org> <20210315110659.GT2577561@casper.infradead.org> <20210318110302.nxddmrhmgmlw4adq@black.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20210318110302.nxddmrhmgmlw4adq@black.fi.intel.com> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: EB1238019142 X-Stat-Signature: 15zkjskbexusfmru1tq6jb8yjqh8cwxc Received-SPF: none (suse.de>: No applicable sender policy available) receiver=imf27; identity=mailfrom; envelope-from=""; helo=mx2.suse.de; client-ip=195.135.220.15 X-HE-DKIM-Result: none/none X-HE-Tag: 1616066893-623307 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 02:03:02PM +0300, Kirill A. Shutemov wrote: > 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 wr= ote: > > > > > > (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 = seems to be > > > > > > > > > reproducible in kernels as early as 5.4. > > > > > > > > > > > > If this is reproducible, can you turn this BUG_ON into a VM_BUG= _ON_PAGE() > > > > > > so we know what kind of problem we're dealing with? Assuming t= he 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 li= ke 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(mappin= g, page)) > > > > > > > > Yes, exactly. > > > > > > Ok, finally I got some feedback from the bug reporter. Please see be= llow > > > the kernel log with the VM_BUG_ON_PAGE() in place. Also note that th= is is > > > on a 5.12-rc3, vanilla. > > > > > > Cheers, > > > -- > > > Lu=EDs > > > > > > [16247.536348] page:00000000dfe36ab1 refcount:673 mapcount:0 mapping:= 00000000f982a7f8 index:0x1400 pfn:0x4c65e00 > > > [16247.536359] head:00000000dfe36ab1 order:9 compound_mapcount:0 comp= ound_pincount:0 > >=20 > > This is a compound page alright. Have no idea how it got into fuse's > > pagecache. >=20 >=20 > Luis, do you have CONFIG_READ_ONLY_THP_FOR_FS enabled? Yes, it looks like Tumbleweed kernels have that config option enabled by default. And it this feature was introduced in 5.4 (the bug doesn't seem to be reproducible in 5.3). Cheers, -- Lu=EDs > > > [16247.536361] memcg:ffff8e730012b000 > > > [16247.536364] aops:fuse_file_aops [fuse] ino:8b8 dentry name:"cc1plu= s" > > > [16247.536379] flags: 0xaffff800010037(locked|referenced|uptodate|lru= |active|head) > > > [16247.536385] raw: 00affff800010037 ffffd6519ed9c448 ffffd651abea5b0= 8 ffff8eb2f9a02ef8 > > > [16247.536388] raw: 0000000000001400 0000000000000000 000002a1fffffff= f 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= =2E1a 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: ffff8= ef13fc9a748 > > > [16247.536455] RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff8= ef13fc9a740 > > > [16247.536460] RBP: ffff8eb2f9a02ef8 R08: ffff8ef23ffb48a8 R09: 00000= 0000004fffb > > > [16247.536464] R10: 00000000ffff0000 R11: 3fffffffffffffff R12: 00000= 00000001400 > > > [16247.536468] R13: ffff8eb2f9a02f00 R14: 0000000000000000 R15: ffffd= 651b1978000 > > > [16247.536473] FS: 00007f97c1717740(0000) GS:ffff8ef13fc80000(0000) = knlGS:0000000000000000 > > > [16247.536478] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > > [16247.536483] CR2: 00007fd48a25a7c0 CR3: 00000040aa3ac006 CR4: 00000= 000007706e0 > > > [16247.536487] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000= 00000000000 > > > [16247.536491] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 00000= 00000000400 > > > [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 0x7f97c0efe= c0d. > > > [16247.536625] RSP: 002b:00007ffdc2fdea68 EFLAGS: 00000202 ORIG_RAX: = 000000000000003b > > > [16247.536631] RAX: ffffffffffffffda RBX: 00007f97c17176a0 RCX: 00007= f97c0efec37 > > > [16247.536635] RDX: 0000000000ea42c0 RSI: 0000000000ea5848 RDI: 00000= 00000ea5d00 > > > [16247.536639] RBP: 0000000000000001 R08: 0000000000000000 R09: 00000= 00000000000 > > > [16247.536643] R10: 00007ffdc2fdde60 R11: 0000000000000202 R12: 00000= 00000000000 > > > [16247.536647] R13: 0000000000000001 R14: 0000000000ea5d00 R15: 00000= 00000000000 > > > [16247.536653] Modules linked in: overlay rpcsec_gss_krb5 nfsv4 dns_r= esolver nfsv3 nfs fscache iscsi_ibft iscsi_boot_sysfs rfkill dmi_sysfs inte= l_rapl_msr intel_rapl_common joydev isst_if_common ipmi_ssif i40iw ib_uverb= s iTCO_wdt intel_pmc_bxt skx_edac ib_core hid_generic iTCO_vendor_support n= fit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel acpi= _ipmi kvm usbhid i2c_i801 mei_me i40e irqbypass efi_pstore pcspkr ipmi_si i= oatdma i2c_smbus lpc_ich mei intel_pch_thermal dca ipmi_devintf ipmi_msghan= dler tiny_power_button acpi_pad button nls_iso8859_1 nls_cp437 vfat fat nfs= d nfs_acl auth_rpcgss lockd grace sunrpc fuse configfs nfs_ssc ast i2c_algo= _bit drm_vram_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sy= s_fops cec rc_core drm_ttm_helper ttm xhci_pci xhci_pci_renesas drm xhci_hc= d crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_inte= l crypto_simd cryptd usbcore wmi sg br_netfilter bridge stp llc dm_multipat= h 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: ffff8= ef13fc9a748 > > > [16247.544158] RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff8= ef13fc9a740 > > > [16247.544162] RBP: ffff8eb2f9a02ef8 R08: ffff8ef23ffb48a8 R09: 00000= 0000004fffb > > > [16247.544166] R10: 00000000ffff0000 R11: 3fffffffffffffff R12: 00000= 00000001400 > > > [16247.544170] R13: ffff8eb2f9a02f00 R14: 0000000000000000 R15: ffffd= 651b1978000 > > > [16247.544175] FS: 00007f97c1717740(0000) GS:ffff8ef13fc80000(0000) = knlGS:0000000000000000 > > > [16247.544180] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > > [16247.544184] CR2: 00007f97c0efec0d CR3: 00000040aa3ac006 CR4: 00000= 000007706e0 > > > [16247.544188] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000= 00000000000 > > > [16247.544191] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 00000= 00000000400 > > > [16247.544194] PKRU: 55555554 > > > [16247.546763] BUG: Bad rss-counter state mm:00000000060c94f4 type:MM= _ANONPAGES val:8 > > > > > > >=20 > --=20 > Kirill A. Shutemov