Hello, kernel test robot noticed "WARNING:HARDIRQ-safe->HARDIRQ-unsafe_lock_order_detected" on: commit: 90703e106b4214512828bff96df3df2ecff5c7b7 ("[PATCH] xhci: fix null pointer deref for xhci_urb_enqueue") url: https://github.com/intel-lab-lkp/linux/commits/Kuen-Han-Tsai/xhci-fix-null-pointer-deref-for-xhci_urb_enqueue/20231117-152346 base: https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git usb-testing patch link: https://lore.kernel.org/all/20231117072131.2886406-1-khtsai@xxxxxxxxxx/ patch subject: [PATCH] xhci: fix null pointer deref for xhci_urb_enqueue in testcase: kernel-selftests version: kernel-selftests-x86_64-60acb023-1_20230329 with following parameters: group: net test: fcnal-test.sh atomic_test: ipv4_ping compiler: gcc-12 test machine: 36 threads 1 sockets Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz (Cascade Lake) with 32G memory (please refer to attached dmesg/kmsg for entire log/backtrace) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <oliver.sang@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-lkp/202311222304.1a72c7d4-oliver.sang@xxxxxxxxx [ 18.016498][ T9] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected [ 18.016498][ T9] 6.7.0-rc1-00001-g90703e106b42 #1 Not tainted [ 18.016498][ T9] ----------------------------------------------------- [ 18.016498][ T9] kworker/0:1/9 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: [ 18.019119][ T1] iTCO_vendor_support: vendor-support=0 [ 18.016498][ T9] ffffffff84f96760 ( [ 18.019656][ T1] intel_pstate: HWP enabled by BIOS [ 18.016498][ T9] mmu_notifier_invalidate_range_start [ 18.020037][ T1] intel_pstate: Intel P-state driver initializing [ 18.016498][ T9] ){+.+.}-{0:0}, at: fs_reclaim_acquire (mm/page_alloc.c:3710 mm/page_alloc.c:3701) [ 18.016498][ T9] [ 18.016498][ T9] and this task is already holding: [ 18.016498][ T9] ffff8881e0b12428 (&xhci->lock){-.-.}-{2:2}, at: xhci_urb_enqueue (drivers/usb/host/xhci.c:1525) [ 18.016498][ T9] which would create a new lock dependency: [ 18.016498][ T9] (&xhci->lock){-.-.}-{2:2} -> (mmu_notifier_invalidate_range_start){+.+.}-{0:0} [ 18.016498][ T9] [ 18.016498][ T9] but this new dependency connects a HARDIRQ-irq-safe lock: [ 18.016498][ T9] (&xhci->lock){-.-.}-{2:2} [ 18.016498][ T9] [ 18.016498][ T9] ... which became HARDIRQ-irq-safe at: [ 18.016498][ T9] __lock_acquire (kernel/locking/lockdep.c:5090) [ 18.016498][ T9] lock_acquire (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5755 kernel/locking/lockdep.c:5718) [ 18.016498][ T9] _raw_spin_lock (include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) [ 18.016498][ T9] xhci_irq (drivers/usb/host/xhci-ring.c:3032) [ 18.016498][ T9] __handle_irq_event_percpu (kernel/irq/handle.c:158) The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20231122/202311222304.1a72c7d4-oliver.sang@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki