[bug report] Oops: general protection fault at RIP: 0010:__nvmet_fc_free_assocs+0xbe/0x450 [nvmet_fc]
Yi Zhang
yi.zhang at redhat.com
Mon Jun 17 02:22:42 PDT 2024
Hello
I reproduced this Oops with the latest linux-block/for-next, please
help check it, thanks.
Reproducer:
1. start blktests nvme/fc nvme/010
#NVMET_TRTYPES="fc" NVMET_BLKDEV_TYPES="device file" ./check nvme/010
2. remove nvme-fcloop module during step 1
#modprobe -fr nvme-fcloop
[root at storageqe-36 ~]# [ 379.825335] run blktests nvme/010 at
2024-06-17 05:07:56
[ 380.086109] loop0: detected capacity change from 0 to 2097152
[ 380.133663] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
[ 380.291299] nvme nvme0: NVME-FC{0}: create association : host wwpn
0x20001100aa000002 rport wwpn 0x20001100aa000001: NQN
"blktests-subsystem-1"
[ 380.306046] (NULL device *): {0:0} Association created
[ 380.313109] nvmet: creating nvm controller 1 for subsystem
blktests-subsystem-1 for NQN
nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349.
[ 380.341490] nvme nvme0: NVME-FC{0}: controller connect complete
[ 380.347581] nvme nvme0: NVME-FC{0}: new ctrl: NQN
"blktests-subsystem-1", hostnqn:
nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349
[ 380.533175] nvme nvme1: NVME-FC{1}: create association : host wwpn
0x20001100aa000002 rport wwpn 0x20001100aa000001: NQN
"nqn.2014-08.org.nvmexpress.discovery"
[ 380.548056] (NULL device *): {0:1} Association created
[ 380.553539] nvmet: creating discovery controller 2 for subsystem
nqn.2014-08.org.nvmexpress.discovery for NQN
nqn.2014-08.org.nvmexpress:uuid:4c4c4544-0035-4b10-8044-b9c04f463333.
[ 380.572058] nvme nvme1: NVME-FC{1}: controller connect complete
[ 380.578020] nvme nvme1: NVME-FC{1}: new ctrl: NQN
"nqn.2014-08.org.nvmexpress.discovery", hostnqn:
nqn.2014-08.org.nvmexpress:uuid:4c4c4544-0035-4b10-8044-b9c04f463333
[ 380.601163] nvme nvme1: Removing ctrl: NQN
"nqn.2014-08.org.nvmexpress.discovery"
[ 380.628574] (NULL device *): {0:1} Association deleted
[ 380.650886] (NULL device *): {0:1} Association freed
[ 380.655990] (NULL device *): Disconnect LS failed: No Association
[ 384.696520] nvme nvme0: NVME-FC{0}: io failed due to lldd error 6
[ 384.696654] I/O error, dev nvme0c0n1, sector 1155648 op 0x1:(WRITE)
flags 0x2008800 phys_seg 1 prio class 0
[ 384.703449] nvme nvme0: NVME-FC{0}: transport association event:
transport detected io error
[ 384.703516] I/O error, dev nvme0c0n1, sector 300760 op 0x1:(WRITE)
flags 0x2008800 phys_seg 1 prio class 0
[ 384.712717] I/O error, dev nvme0c0n1, sector 61648 op 0x1:(WRITE)
flags 0x2008800 phys_seg 1 prio class 0
[ 384.721176] nvme nvme0: NVME-FC{0}: resetting controller
[ 384.730918] I/O error, dev nvme0c0n1, sector 1578936 op 0x1:(WRITE)
flags 0x2008800 phys_seg 1 prio class 0
[ 384.755598] block nvme0n1: no usable path - requeuing I/O
[ 384.761125] block nvme0n1: no usable path - requeuing I/O
[ 384.766630] block nvme0n1: no usable path - requeuing I/O
[ 384.772129] block nvme0n1: no usable path - requeuing I/O
[ 384.777589] block nvme0n1: no usable path - requeuing I/O
[ 384.783045] block nvme0n1: no usable path - requeuing I/O
[ 384.788497] block nvme0n1: no usable path - requeuing I/O
[ 384.793945] block nvme0n1: no usable path - requeuing I/O
[ 384.799397] block nvme0n1: no usable path - requeuing I/O
[ 384.804855] block nvme0n1: no usable path - requeuing I/O
[ 384.812886] (NULL device *): {0:0} Association deleted
[ 384.829079] nvme nvme0: NVME-FC{0}: create association : host wwpn
0x20001100aa000002 rport wwpn 0x20001100aa000001: NQN
"blktests-subsystem-1"
[ 384.842123] (NULL device *): queue 0 connect admin queue failed (-111).
[ 384.848762] nvme nvme0: NVME-FC{0}: reset: Reconnect attempt failed (-111)
[ 384.855671] nvme nvme0: NVME-FC{0}: Reconnect attempt in 2 seconds
[ 384.929756] (NULL device *): {0:0} Association freed
[ 384.934768] (NULL device *): Disconnect LS failed: No Association
[ 384.936317] nvme nvme0: NVME-FC{0}: controller connectivity lost.
Awaiting Reconnect
[ 385.186846] nvme nvme0: NVME-FC{0}: transport unloading: deleting ctrl
[ 385.193712] nvme nvme0: Removing ctrl: NQN "blktests-subsystem-1"
[ 385.201319] block nvme0n1: no available path - failing I/O
[ 385.206970] block nvme0n1: no available path - failing I/O
[ 385.212548] block nvme0n1: no available path - failing I/O
[ 385.218115] block nvme0n1: no available path - failing I/O
[ 385.223642] block nvme0n1: no available path - failing I/O
[ 385.229172] block nvme0n1: no available path - failing I/O
[ 385.234689] block nvme0n1: no available path - failing I/O
[ 385.240210] block nvme0n1: no available path - failing I/O
[ 385.245732] block nvme0n1: no available path - failing I/O
[ 385.251262] block nvme0n1: no available path - failing I/O
[ 385.266448] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 385.273767] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 385.280951] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 385.288134] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 385.295313] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 385.302487] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 385.309907] nvme0n1: unable to read partition table
[ 385.325784] Buffer I/O error on dev nvme0n1, logical block 262128,
async page read
[ 385.510642] Oops: general protection fault, probably for
non-canonical address 0xdffffc0000000019: 0000 [#1] PREEMPT SMP KASAN
NOPTI
[ 385.522546] KASAN: null-ptr-deref in range
[0x00000000000000c8-0x00000000000000cf]
[ 385.530111] CPU: 30 PID: 5507 Comm: rm Kdump: loaded Not tainted
6.10.0-rc3+ #1
[ 385.537418] Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS
2.21.2 02/19/2024
[ 385.544982] RIP: 0010:__nvmet_fc_free_assocs+0xbe/0x450 [nvmet_fc]
[ 385.551171] Code: e8 67 01 4d d8 5a 85 c0 0f 85 b8 02 00 00 48 8d
83 c8 00 00 00 48 89 c2 48 89 04 24 48 b8 00 00 00 00 00 fc ff df 48
c1 ea 03 <80> 3c 02 00 0f 85 71 03 00 00 48 8b 83 c8 00 00 00 48 8d 68
d8 48
[ 385.569915] RSP: 0018:ffffc900045cf940 EFLAGS: 00010202
[ 385.575140] RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffffffff36da9c2
[ 385.582275] RDX: 0000000000000019 RSI: ffffffff9ad8a620 RDI: ffffffff9b6d4e10
[ 385.589406] RBP: 0000000000000246 R08: 0000000000000000 R09: 0000000000000001
[ 385.596540] R10: ffffffff9e7a30e7 R11: 0000000000000001 R12: ffff88810308cba0
[ 385.603671] R13: ffff88810308cba8 R14: ffffffffc20ab220 R15: ffffffffc20ab220
[ 385.610803] FS: 00007fecfb82a740(0000) GS:ffff888e3f800000(0000)
knlGS:0000000000000000
[ 385.618888] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 385.624635] CR2: 00005589ddf71068 CR3: 000000039e44c003 CR4: 00000000007706f0
[ 385.631767] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 385.638901] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 385.646033] PKRU: 55555554
[ 385.648745] Call Trace:
[ 385.651200] <TASK>
[ 385.653305] ? show_trace_log_lvl+0x1b0/0x2f0
[ 385.657663] ? show_trace_log_lvl+0x1b0/0x2f0
[ 385.662027] ? nvmet_fc_remove_port+0x1b7/0x240 [nvmet_fc]
[ 385.667517] ? __die_body.cold+0x8/0x12
[ 385.671355] ? die_addr+0x46/0x70
[ 385.674675] ? exc_general_protection+0x14f/0x250
[ 385.679385] ? asm_exc_general_protection+0x26/0x30
[ 385.684271] ? __nvmet_fc_free_assocs+0xbe/0x450 [nvmet_fc]
[ 385.689850] ? do_raw_spin_trylock+0xb4/0x180
[ 385.694209] ? __pfx___nvmet_fc_free_assocs+0x10/0x10 [nvmet_fc]
[ 385.700216] ? mark_held_locks+0x94/0xe0
[ 385.704142] ? _raw_spin_unlock_irqrestore+0x57/0x80
[ 385.709109] nvmet_fc_remove_port+0x1b7/0x240 [nvmet_fc]
[ 385.714419] nvmet_disable_port+0x11e/0x1b0 [nvmet]
[ 385.719316] nvmet_port_subsys_drop_link+0x239/0x2f0 [nvmet]
[ 385.724994] ? __pfx_nvmet_port_subsys_drop_link+0x10/0x10 [nvmet]
[ 385.731190] configfs_unlink+0x383/0x7a0
[ 385.735116] vfs_unlink+0x299/0x810
[ 385.738607] ? lookup_one_qstr_excl+0x23/0x150
[ 385.743054] do_unlinkat+0x485/0x600
[ 385.746631] ? __pfx_do_unlinkat+0x10/0x10
[ 385.750732] ? 0xffffffff97c00000
[ 385.754051] ? __might_fault+0x9d/0x120
[ 385.757890] ? strncpy_from_user+0x75/0x240
[ 385.762076] ? getname_flags.part.0+0xb7/0x440
[ 385.766523] __x64_sys_unlinkat+0x109/0x1e0
[ 385.770707] do_syscall_64+0x92/0x180
[ 385.774372] ? do_syscall_64+0x9e/0x180
[ 385.778211] ? lockdep_hardirqs_on+0x78/0x100
[ 385.782572] ? do_syscall_64+0x9e/0x180
[ 385.786414] ? do_user_addr_fault+0x447/0xac0
[ 385.790779] ? reacquire_held_locks+0x213/0x4e0
[ 385.795311] ? do_user_addr_fault+0x447/0xac0
[ 385.799673] ? find_held_lock+0x34/0x120
[ 385.803596] ? local_clock_noinstr+0xd/0xe0
[ 385.807783] ? __lock_release.isra.0+0x4ac/0x9e0
[ 385.812402] ? __pfx___lock_release.isra.0+0x10/0x10
[ 385.817366] ? __pfx_lock_acquire.part.0+0x10/0x10
[ 385.822159] ? __up_read+0x1f8/0x730
[ 385.825739] ? __pfx___up_read+0x10/0x10
[ 385.829666] ? do_user_addr_fault+0x4c5/0xac0
[ 385.834023] ? do_user_addr_fault+0x4c5/0xac0
[ 385.838385] ? rcu_is_watching+0x15/0xb0
[ 385.842309] ? clear_bhb_loop+0x25/0x80
[ 385.846146] ? clear_bhb_loop+0x25/0x80
[ 385.849987] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 385.855040] RIP: 0033:0x7fecfb9311eb
[ 385.858619] Code: 77 05 c3 0f 1f 40 00 48 8b 15 41 ac 0d 00 f7 d8
64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 07 01 00
00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 15 ac 0d 00 f7 d8 64 89
01 48
[ 385.877365] RSP: 002b:00007ffce2247cf8 EFLAGS: 00000206 ORIG_RAX:
0000000000000107
[ 385.884929] RAX: ffffffffffffffda RBX: 00005589ddf70e10 RCX: 00007fecfb9311eb
[ 385.892063] RDX: 0000000000000000 RSI: 00005589ddf6fbf0 RDI: 00000000ffffff9c
[ 385.899193] RBP: 00007ffce2247dd0 R08: 00005589ddf6fbf0 R09: 00007ffce2247e3c
[ 385.906327] R10: 00005589ddf6c010 R11: 0000000000000206 R12: 00005589ddf6fb60
[ 385.913459] R13: 0000000000000000 R14: 00007ffce2247e40 R15: 0000000000000000
[ 385.920596] </TASK>
[ 385.922783] Modules linked in: nvmet_fc nvmet nvme_keyring
nvme_fabrics nvme_core nvme_auth rfkill sunrpc intel_rapl_msr
intel_rapl_common intel_uncore_frequency intel_uncore_frequency_common
isst_if_common skx_edac x86_pkg_temp_thermal intel_powerclamp coretemp
kvm_intel kvm mgag200 rapl ipmi_ssif vfat dell_smbios intel_cstate
iTCO_wdt iTCO_vendor_support fat dcdbas dell_wmi_descriptor wmi_bmof
intel_uncore i2c_algo_bit pcspkr tg3 mei_me i2c_i801 mei i2c_smbus
lpc_ich intel_pch_thermal nd_pmem ipmi_si dax_pmem nd_btt
acpi_power_meter acpi_ipmi ipmi_devintf ipmi_msghandler fuse loop
nfnetlink xfs sd_mod crct10dif_pclmul crc32_pclmul crc32c_intel ahci
libahci ghash_clmulni_intel megaraid_sas libata wmi nfit libnvdimm
dm_mirror dm_region_hash dm_log dm_mod [last unloaded: nvme_fc]
--
Best Regards,
Yi Zhang
More information about the Linux-nvme
mailing list