Fedora 升级后 USB 子系统崩溃

Fedora 升级后 USB 子系统崩溃

我有一个特定的设备,它使一台特定主机上的 USB 子系统崩溃。当插入具有相同补丁级别的相同系统时,该设备不会崩溃。其他 USB 设备在故障主机上工作正常。我检查了日志日志,发现内核线程由于 NULL 指针取消引用而崩溃。我怀疑该错误是由 USB 子系统抛出错误 71 激活的。由于我之前没有调试过内核,所以我希望得到一些指导,从这里开始。相关日记账分录为:

Apr 24 11:20:47 maendeleo kernel: usb 1-2.3: new full-speed USB device number 5 using xhci_hcd
Apr 24 11:20:47 maendeleo kernel: usb 1-2.3: device descriptor read/64, error -32
Apr 24 11:20:47 maendeleo kernel: usb 1-2.3: device descriptor read/64, error -32
Apr 24 11:20:47 maendeleo kernel: usb 1-2.3: new full-speed USB device number 6 using xhci_hcd
Apr 24 11:20:47 maendeleo kernel: usb 1-2.3: device descriptor read/64, error -32
Apr 24 11:20:48 maendeleo kernel: usb 1-2.3: device descriptor read/64, error -32
Apr 24 11:20:48 maendeleo kernel: usb 1-2-port3: attempt power cycle
Apr 24 11:20:49 maendeleo kernel: usb 1-2.3: new full-speed USB device number 7 using xhci_hcd
Apr 24 11:20:49 maendeleo kernel: usb 1-2.3: Device not responding to setup address.
Apr 24 11:20:49 maendeleo kernel: usb 1-2.3: Device not responding to setup address.
Apr 24 11:20:49 maendeleo kernel: usb 1-2.3: device not accepting address 7, error -71
Apr 24 11:20:49 maendeleo kernel: BUG: kernel NULL pointer dereference, address: 0000000000000020
Apr 24 11:20:49 maendeleo kernel: #PF: supervisor read access in kernel mode
Apr 24 11:20:49 maendeleo kernel: #PF: error_code(0x0000) - not-present page
Apr 24 11:20:49 maendeleo kernel: PGD 0 P4D 0 
Apr 24 11:20:49 maendeleo kernel: Oops: 0000 [#1] PREEMPT SMP PTI
Apr 24 11:20:49 maendeleo kernel: CPU: 2 PID: 134 Comm: kworker/2:4 Tainted: G           OE      6.8.6-200.fc39.x86_64 #1
Apr 24 11:20:49 maendeleo kernel: Hardware name: Hewlett-Packard HP Compaq Elite 8300 SFF/3397, BIOS K01 v02.83 10/29/2012
Apr 24 11:20:49 maendeleo kernel: Workqueue: usb_hub_wq hub_event
Apr 24 11:20:49 maendeleo kernel: RIP: 0010:xhci_reserve_bandwidth+0x29f/0x640
Apr 24 11:20:49 maendeleo kernel: Code: 8b 4a 10 44 8b 42 14 48 c7 c6 30 1f c3 81 4c 89 ef 48 c7 c2 50 bb bb 82 e8 7e 42 01 00 48 8b 3c 24 8b 74 24 18 31 d2 8d 46 ff <44> 8b 7f 20 44 8b 77 08 41 89 c3 03 07 f7 f6 ba 80 00 00 00 45 85
Apr 24 11:20:49 maendeleo kernel: RSP: 0018:ffffb84d40587920 EFLAGS: 00010046
Apr 24 11:20:49 maendeleo kernel: RAX: 0000000000000000 RBX: ffff88d1b69a5000 RCX: ffffb84d405878d0
Apr 24 11:20:49 maendeleo kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
Apr 24 11:20:49 maendeleo kernel: RBP: ffff88d14b76c000 R08: ffff88d14b76c020 R09: 0000000000000000
Apr 24 11:20:49 maendeleo kernel: R10: ffff88d17770a6e0 R11: 00000000000000aa R12: ffffb84d40587960
Apr 24 11:20:49 maendeleo kernel: R13: ffff88d0c7a6e260 R14: 000000000000001f R15: 0000000000000001
Apr 24 11:20:49 maendeleo kernel: FS:  0000000000000000(0000) GS:ffff88d1d6b00000(0000) knlGS:0000000000000000
Apr 24 11:20:49 maendeleo kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 24 11:20:49 maendeleo kernel: CR2: 0000000000000020 CR3: 0000000010422001 CR4: 00000000001706f0
Apr 24 11:20:49 maendeleo kernel: Call Trace:
Apr 24 11:20:49 maendeleo kernel:  <TASK>
Apr 24 11:20:49 maendeleo kernel:  ? __die+0x23/0x70
Apr 24 11:20:49 maendeleo kernel:  ? page_fault_oops+0x171/0x4e0
Apr 24 11:20:49 maendeleo kernel:  ? exc_page_fault+0x7f/0x180
Apr 24 11:20:49 maendeleo kernel:  ? asm_exc_page_fault+0x26/0x30
Apr 24 11:20:49 maendeleo kernel:  ? xhci_reserve_bandwidth+0x29f/0x640
Apr 24 11:20:49 maendeleo kernel:  ? metadata_update_state+0x7d/0xf0
Apr 24 11:20:49 maendeleo kernel:  xhci_configure_endpoint+0x9c/0x720
Apr 24 11:20:49 maendeleo kernel:  xhci_endpoint_reset+0x35c/0x630
Apr 24 11:20:49 maendeleo kernel:  ? hub_port_init+0x498/0xf80
Apr 24 11:20:49 maendeleo kernel:  usb_enable_endpoint+0x7d/0x80
Apr 24 11:20:49 maendeleo kernel:  hub_event+0x147f/0x1c70
Apr 24 11:20:49 maendeleo kernel:  process_one_work+0x174/0x340
Apr 24 11:20:49 maendeleo kernel:  worker_thread+0x27b/0x3a0
Apr 24 11:20:49 maendeleo kernel:  ? __pfx_worker_thread+0x10/0x10
Apr 24 11:20:49 maendeleo kernel:  kthread+0xe8/0x120
Apr 24 11:20:49 maendeleo kernel:  ? __pfx_kthread+0x10/0x10
Apr 24 11:20:49 maendeleo kernel:  ret_from_fork+0x34/0x50
Apr 24 11:20:49 maendeleo kernel:  ? __pfx_kthread+0x10/0x10
Apr 24 11:20:49 maendeleo kernel:  ret_from_fork_asm+0x1b/0x30
Apr 24 11:20:49 maendeleo kernel:  </TASK>
Apr 24 11:20:49 maendeleo kernel: Modules linked in: xt_conntrack xt_MASQUERADE nf_conntrack_netlink xt_addrtype nft_compat br_netfilter bridge stp llc snd_seq_dummy snd_hrtimer nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 overlay ip_set nf_tables nfnetlink vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) sunrpc snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_intel_dspcfg binfmt_misc snd_intel_sdw_acpi snd_hda_codec snd_hda_core snd_hwdep joydev snd_seq intel_rapl_msr snd_seq_device snd_pcm intel_rapl_common x86_pkg_temp_thermal intel_powerclamp snd_timer coretemp kvm_intel snd kvm soundcore iTCO_wdt irqbypass rapl intel_cstate at24 mei_hdcp intel_pmc_bxt mei_pxp mei_wdt mei_me mei iTCO_vendor_support pcspkr i2c_i801 lpc_ich i2c_smbus intel_uncore hp_wmi sparse_keymap platform_profile rfkill tpm_infineon wmi_bmof loop zram i915
Apr 24 11:20:49 maendeleo kernel:  hid_logitech_hidpp crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni polyval_generic ghash_clmulni_intel i2c_algo_bit drm_buddy sha512_ssse3 ttm sha256_ssse3 drm_display_helper e1000e sha1_ssse3 serio_raw cec video wmi hid_logitech_dj scsi_dh_rdac scsi_dh_emc scsi_dh_alua ip6_tables ip_tables dm_multipath fuse
Apr 24 11:20:49 maendeleo kernel: CR2: 0000000000000020
Apr 24 11:20:49 maendeleo kernel: ---[ end trace 0000000000000000 ]---
Apr 24 11:20:49 maendeleo kernel: RIP: 0010:xhci_reserve_bandwidth+0x29f/0x640
Apr 24 11:20:49 maendeleo kernel: Code: 8b 4a 10 44 8b 42 14 48 c7 c6 30 1f c3 81 4c 89 ef 48 c7 c2 50 bb bb 82 e8 7e 42 01 00 48 8b 3c 24 8b 74 24 18 31 d2 8d 46 ff <44> 8b 7f 20 44 8b 77 08 41 89 c3 03 07 f7 f6 ba 80 00 00 00 45 85
Apr 24 11:20:49 maendeleo kernel: RSP: 0018:ffffb84d40587920 EFLAGS: 00010046
Apr 24 11:20:49 maendeleo kernel: RAX: 0000000000000000 RBX: ffff88d1b69a5000 RCX: ffffb84d405878d0
Apr 24 11:20:49 maendeleo kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
Apr 24 11:20:49 maendeleo kernel: RBP: ffff88d14b76c000 R08: ffff88d14b76c020 R09: 0000000000000000
Apr 24 11:20:49 maendeleo kernel: R10: ffff88d17770a6e0 R11: 00000000000000aa R12: ffffb84d40587960
Apr 24 11:20:49 maendeleo kernel: R13: ffff88d0c7a6e260 R14: 000000000000001f R15: 0000000000000001
Apr 24 11:20:49 maendeleo kernel: FS:  0000000000000000(0000) GS:ffff88d1d6b00000(0000) knlGS:0000000000000000
Apr 24 11:20:49 maendeleo kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 24 11:20:49 maendeleo kernel: CR2: 0000000000000020 CR3: 0000000010422001 CR4: 00000000001706f0
Apr 24 11:20:49 maendeleo kernel: note: kworker/2:4[134] exited with irqs disabled
Apr 24 11:20:49 maendeleo kernel: note: kworker/2:4[134] exited with preempt_count 1
Apr 24 11:20:51 maendeleo abrt-dump-journal-oops[1239]: Reported 1 kernel oopses to Abrt

编辑:为了比较,这是在另一台主机中插入相同设备时的日志输出:

Apr 24 16:04:40 burudani kernel: usb 2-1.8: new full-speed USB device number 7 using ehci-pci
Apr 24 16:04:40 burudani kernel: usb 2-1.8: device descriptor read/64, error -32
Apr 24 16:04:40 burudani kernel: usb 2-1.8: device descriptor read/64, error -32
Apr 24 16:04:40 burudani kernel: usb 2-1.8: new full-speed USB device number 8 using ehci-pci
Apr 24 16:04:40 burudani kernel: usb 2-1.8: device descriptor read/64, error -32
Apr 24 16:04:41 burudani kernel: usb 2-1.8: device descriptor read/64, error -32
Apr 24 16:04:41 burudani kernel: usb 2-1-port8: attempt power cycle
Apr 24 16:04:41 burudani kernel: usb 2-1.8: new full-speed USB device number 9 using ehci-pci
Apr 24 16:04:42 burudani kernel: usb 2-1.8: device not accepting address 9, error -32
Apr 24 16:04:42 burudani kernel: usb 2-1.8: new full-speed USB device number 10 using ehci-pci
Apr 24 16:04:42 burudani kernel: usb 2-1.8: device not accepting address 10, error -32
Apr 24 16:04:42 burudani kernel: usb 2-1-port8: unable to enumerate USB device

相关内容