https://bugzilla.kernel.org/show_bug.cgi?id=217138 Bug ID: 217138 Summary: [xfstests] XFS: Assertion failed: xfs_bmap_validate_extent(ip, whichfork, &rec) == NULL, file: fs/xfs/libxfs/xfs_inode_fork.c, line: 557 Product: File System Version: 2.5 Kernel Version: v6.3-rc0 Hardware: All OS: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: XFS Assignee: filesystem_xfs@xxxxxxxxxxxxxxxxxxxxxx Reporter: zlang@xxxxxxxxxx Regression: No Created attachment 303854 --> https://bugzilla.kernel.org/attachment.cgi?id=303854&action=edit console.log Recently I start to hit a kernel assertion bug by running xfstests on xfs with pmem (persistent memory)devices. No matter the mount option is dax=always/inode/never, all can trigger this bug. [ 8266.774823] run fstests generic/270 at 2023-03-03 15:56:00 [ 8269.422750] memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=2216706 'systemd' [ 8270.586114] XFS (pmem0): DAX enabled. Warning: EXPERIMENTAL, use at your own risk [ 8270.595040] XFS (pmem0): Mounting V5 Filesystem 2d15fd14-f03b-40c6-9443-d3af15fe64c2 [ 8270.616055] XFS (pmem0): Ending clean mount [ 8270.621619] XFS (pmem0): Quotacheck needed: Please wait. [ 8270.635448] XFS (pmem0): Quotacheck: Done. [ 8273.499839] XFS: Assertion failed: xfs_bmap_validate_extent(ip, whichfork, &rec) == NULL, file: fs/xfs/libxfs/xfs_inode_fork.c, line: 557 [ 8273.512622] ------------[ cut here ]------------ [ 8273.517282] WARNING: CPU: 24 PID: 2216892 at fs/xfs/xfs_message.c:104 assfail+0x54/0x70 [xfs] [ 8273.526050] Modules linked in: ext4 mbcache jbd2 loop intel_rapl_msr intel_rapl_common intel_uncore_frequency intel_uncore_frequency_common rfkill i10nm_edac nfit x86_pkg_temp_thermal intel_powerclamp coretemp ipmi_ssif kvm_intel mgag200 i2c_algo_bit mlx5_ib drm_shmem_helper dell_smbios drm_kms_helper ib_uverbs kvm iTCO_wdt iTCO_vendor_support sunrpc dcdbas irqbypass rapl intel_cstate acpi_ipmi ipmi_si intel_uncore ib_core dax_pmem nd_pmem dell_wmi_descriptor wmi_bmof mei_me syscopyarea pcspkr ipmi_devintf dax_hmem isst_if_mbox_pci i2c_i801 isst_if_mmio sysfillrect mei sysimgblt isst_if_common i2c_smbus intel_vsec ipmi_msghandler acpi_power_meter drm fuse xfs libcrc32c sd_mod t10_pi sg mlx5_core crct10dif_pclmul crc32_pclmul crc32c_intel mlxfw ahci libahci tls ghash_clmulni_intel psample megaraid_sas libata tg3 pci_hyperv_intf wmi dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_debug] [ 8273.605731] CPU: 24 PID: 2216892 Comm: 2216549.fsstres Kdump: loaded Not tainted 6.2.0+ #1 [ 8273.614012] Hardware name: Dell Inc. PowerEdge R750/0PJ80M, BIOS 1.5.4 12/17/2021 [ 8273.621518] RIP: 0010:assfail+0x54/0x70 [xfs] [ 8273.626087] Code: c1 48 ba 00 00 00 00 00 fc ff df 48 89 c1 83 e0 07 48 c1 e9 03 0f b6 14 11 38 c2 7f 04 84 d2 75 10 80 3d ae 16 2f 00 00 75 15 <0f> 0b c3 cc cc cc cc 48 c7 c7 f0 14 95 c1 e8 59 dc e6 d5 eb e2 0f [ 8273.644857] RSP: 0018:ffa0000026497278 EFLAGS: 00010246 [ 8273.650109] RAX: 0000000000000000 RBX: ff110006fbfa5040 RCX: 1ffffffff832a29e [ 8273.657278] RDX: 0000000000000004 RSI: ffa0000026496fe0 RDI: ffffffffc17ad880 [ 8273.664435] RBP: ffa00000264972f0 R08: 00000000ffffffea R09: ffa0000026496f87 [ 8273.671601] R10: fff3fc0004c92df0 R11: 0000000000000001 R12: ffa00000264972d0 [ 8273.678761] R13: ff11000687e3b288 R14: 00000000000000f0 R15: ff110006fbfa5000 [ 8273.685919] FS: 00007f40e02b5740(0000) GS:ff11000ced800000(0000) knlGS:0000000000000000 [ 8273.694031] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 8273.699803] CR2: 0000000001ebb178 CR3: 00000006cb6d2004 CR4: 0000000000771ee0 [ 8273.706963] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 8273.714120] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 8273.721281] PKRU: 55555554 [ 8273.724018] Call Trace: [ 8273.726498] <TASK> [ 8273.728630] xfs_iextents_copy+0x412/0x610 [xfs] [ 8273.733462] ? __pfx_xfs_iextents_copy+0x10/0x10 [xfs] [ 8273.738818] ? xfs_inode_to_log_dinode+0x8d7/0x1370 [xfs] [ 8273.744445] ? do_raw_spin_unlock+0x55/0x1f0 [ 8273.748755] xfs_inode_item_format_data_fork+0x9c9/0x10f0 [xfs] [ 8273.754905] xfs_inode_item_format+0x6b3/0xb40 [xfs] [ 8273.760088] ? trace_contention_end+0x177/0x1f0 [ 8273.764656] ? __pfx_xfs_inode_item_format+0x10/0x10 [xfs] [ 8273.770375] xlog_cil_insert_format_items+0x2b2/0x5f0 [xfs] [ 8273.776173] xlog_cil_insert_items+0xe2/0x1060 [xfs] [ 8273.781370] ? __lock_acquired+0x209/0x830 [ 8273.785507] ? __pfx___lock_acquired+0x10/0x10 [ 8273.789980] ? __pfx___down_read_trylock+0x10/0x10 [ 8273.794805] ? __pfx_xlog_cil_insert_items+0x10/0x10 [xfs] [ 8273.800502] ? xlog_cil_commit+0x59/0x690 [xfs] [ 8273.805252] xlog_cil_commit+0xa3/0x690 [xfs] [ 8273.809856] __xfs_trans_commit+0x8c3/0xec0 [xfs] [ 8273.814781] ? __pfx___xfs_trans_commit+0x10/0x10 [xfs] [ 8273.820223] ? __pfx_xfs_trans_alloc_inode+0x10/0x10 [xfs] [ 8273.825957] xfs_iomap_write_direct+0x362/0x630 [xfs] [ 8273.831233] ? __pfx_xfs_iomap_write_direct+0x10/0x10 [xfs] [ 8273.837050] ? xfs_direct_write_iomap_begin+0x8ad/0xd80 [xfs] [ 8273.842998] ? rcu_read_lock_sched_held+0x43/0x80 [ 8273.847737] xfs_direct_write_iomap_begin+0x8d6/0xd80 [xfs] [ 8273.853536] ? slab_free_freelist_hook+0x11d/0x1d0 [ 8273.858355] ? __pfx_xfs_direct_write_iomap_begin+0x10/0x10 [xfs] [ 8273.864648] ? __xfs_trans_commit+0x8cd/0xec0 [xfs] [ 8273.869752] ? kmem_cache_free+0xf9/0x3c0 [ 8273.873837] ? __pfx_xfs_direct_write_iomap_begin+0x10/0x10 [xfs] [ 8273.880133] iomap_iter+0x341/0xe40 [ 8273.883667] dax_iomap_rw+0x216/0x3a0 [ 8273.887366] ? __pfx_dax_iomap_rw+0x10/0x10 [ 8273.891625] ? xfs_file_write_checks+0x4b6/0x960 [xfs] [ 8273.896991] xfs_file_dax_write+0x278/0x9d0 [xfs] [ 8273.901903] ? __pfx_xfs_file_dax_write+0x10/0x10 [xfs] [ 8273.907336] ? xfs_file_write_iter+0x236/0x6a0 [xfs] [ 8273.912513] vfs_write+0x807/0xc70 [ 8273.915966] ? __pfx_vfs_write+0x10/0x10 [ 8273.919934] ? __fget_files+0x1d0/0x3f0 [ 8273.923848] ksys_write+0xf9/0x1d0 [ 8273.927281] ? __pfx_ksys_write+0x10/0x10 [ 8273.931316] ? ktime_get_coarse_real_ts64+0x130/0x170 [ 8273.936421] do_syscall_64+0x59/0x90 [ 8273.940033] ? do_syscall_64+0x69/0x90 [ 8273.943813] ? lockdep_hardirqs_on+0x79/0x100 [ 8273.948199] ? do_syscall_64+0x69/0x90 [ 8273.951979] ? lockdep_hardirqs_on+0x79/0x100 [ 8273.956364] ? do_syscall_64+0x69/0x90 [ 8273.960142] ? lockdep_hardirqs_on+0x79/0x100 [ 8273.964529] ? do_syscall_64+0x69/0x90 [ 8273.968305] ? lockdep_hardirqs_on+0x79/0x100 [ 8273.972693] entry_SYSCALL_64_after_hwframe+0x72/0xdc [ 8273.977768] RIP: 0033:0x7f40e013eb97 [ 8273.981374] Code: 0b 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 [ 8274.000150] RSP: 002b:00007ffec966ee78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 8274.007747] RAX: ffffffffffffffda RBX: 0000000000014f69 RCX: 00007f40e013eb97 [ 8274.014903] RDX: 0000000000014f69 RSI: 0000000001e5be00 RDI: 0000000000000004 [ 8274.022054] RBP: 0000000000000004 R08: 0000000000000003 R09: 0000000000000079 [ 8274.029205] R10: 0000000000000102 R11: 0000000000000246 R12: 0000000000000169 [ 8274.036364] R13: 00000000003ec889 R14: 0000000001e5be00 R15: 0000000000000000 [ 8274.043554] </TASK> [ 8274.045769] irq event stamp: 104511 [ 8274.049286] hardirqs last enabled at (104521): [<ffffffff96dfac3b>] __up_console_sem+0x6b/0x80 [ 8274.058006] hardirqs last disabled at (104530): [<ffffffff96dfac20>] __up_console_sem+0x50/0x80 [ 8274.066729] softirqs last enabled at (104544): [<ffffffff990ea156>] __do_softirq+0x616/0x9c7 [ 8274.075277] softirqs last disabled at (104539): [<ffffffff96c48f76>] __irq_exit_rcu+0x136/0x2a0 [ 8274.083994] ---[ end trace 0000000000000000 ]--- [ 8274.110301] XFS: Assertion failed: xfs_bmap_validate_extent(ip, whichfork, &rec) == NULL, file: fs/xfs/libxfs/xfs_inode_fork.c, line: 557 [ 8274.122725] ------------[ cut here ]------------ [ 8274.127367] WARNING: CPU: 24 PID: 2216824 at fs/xfs/xfs_message.c:104 assfail+0x54/0x70 [xfs] ... ... I hit this bug many times by different xfstests cases. e.g. generic/270, generic/476 and generic/650. And the g/650 trigger another assertion and kernel panic at last. More details refer to attachment console.log. The HEAD commit I tested is: commit 2eb29d59ddf02e39774abfb60b2030b0b7e27c1f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 2 15:08:54 2023 -0800 Merge tag 'drm-next-2023-03-03-1' of git://anongit.freedesktop.org/drm/drm -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.