Linux-PCI Archive on lore.kernel.org
 help / color / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Subject: Lockdep warning in pciehp (v5.0-based kernel)
Date: Mon, 1 Apr 2019 22:19:33 -0400
Message-ID: <20190402021933.GA2966@mit.edu> (raw)

[-- Attachment #1: Type: text/plain, Size: 8662 bytes --]

Hi, I got the following lockdep warning while booting a Dell XPS13.
Is this a known issue?

[   13.836367] pciehp 0000:3b:04.0:pcie204: Slot #4 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ LLActRep+

[   13.837149] ============================================
[   13.837149] WARNING: possible recursive locking detected
[   13.837150] 5.0.0-00034-gcaae0ec7396f #54 Not tainted
[   13.837151] --------------------------------------------
[   13.837152] irq/125-pciehp/165 is trying to acquire lock:
[   13.837153] 000000000f8f89cc (&ctrl->reset_lock){.+.+}, at: pciehp_check_presence+0x1b/0x72
[   13.837159] 
               but task is already holding lock:
[   13.837160] 000000001b052053 (&ctrl->reset_lock){.+.+}, at: pciehp_ist+0x10a/0x164
[   13.837162] 
               other info that might help us debug this:
[   13.837162]  Possible unsafe locking scenario:

[   13.837163]        CPU0
[   13.837163]        ----
[   13.837164]   lock(&ctrl->reset_lock);
[   13.837164]   lock(&ctrl->reset_lock);
[   13.837165] 
                *** DEADLOCK ***

[   13.837165]  May be due to missing lock nesting notation

[   13.837166] 4 locks held by irq/125-pciehp/165:
[   13.837167]  #0: 000000001b052053 (&ctrl->reset_lock){.+.+}, at: pciehp_ist+0x10a/0x164
[   13.837169]  #1: 0000000087e07843 (pci_rescan_remove_lock){+.+.}, at: pciehp_configure_device+0x1e/0xfd
[   13.837171]  #2: 00000000e9b570d4 (&dev->mutex){....}, at: __device_attach+0x28/0x12d
[   13.837174]  #3: 000000004add66ea (&dev->mutex){....}, at: __device_attach+0x28/0x12d
[   13.837176] 
               stack backtrace:
[   13.837178] CPU: 7 PID: 165 Comm: irq/125-pciehp Not tainted 5.0.0-00034-gcaae0ec7396f #54
[   13.837178] Hardware name: Dell Inc. XPS 13 9380/0KTW76, BIOS 1.2.1 02/14/2019
[   13.837179] Call Trace:
[   13.837183]  dump_stack+0x67/0x8e
[   13.837186]  __lock_acquire+0x9b2/0xddc
[   13.837189]  ? pci_hp_add+0x18a/0x1ee
[   13.837190]  ? pci_hp_add+0x18a/0x1ee
[   13.837192]  ? find_held_lock+0x2b/0x6e
[   13.837194]  lock_acquire+0x147/0x172
[   13.837196]  ? pciehp_check_presence+0x1b/0x72
[   13.837199]  down_read+0x44/0x87
[   13.837201]  ? pciehp_check_presence+0x1b/0x72
[   13.837203]  pciehp_check_presence+0x1b/0x72
[   13.837205]  pciehp_probe+0x229/0x24d
[   13.837207]  pcie_port_probe_service+0x38/0x4b
[   13.837209]  really_probe+0x1a5/0x372
[   13.837210]  ? driver_allows_async_probing+0x2c/0x2c
[   13.837211]  driver_probe_device+0xcf/0xff
[   13.837213]  ? driver_allows_async_probing+0x2c/0x2c
[   13.837215]  bus_for_each_drv+0x84/0xa8
[   13.837217]  __device_attach+0x9d/0x12d
[   13.837219]  bus_probe_device+0x31/0x9e
[   13.837221]  device_add+0x1c1/0x5bd
[   13.837223]  ? __init_waitqueue_head+0x36/0x47
[   13.837225]  pcie_port_device_register+0x3b9/0x41e
[   13.837228]  ? irq_thread_check_affinity+0x7b/0x7b
[   13.837230]  pcie_portdrv_probe+0x37/0xa4
[   13.837232]  pci_device_probe+0xbe/0x130
[   13.837234]  really_probe+0x1a5/0x372
[   13.837236]  ? driver_allows_async_probing+0x2c/0x2c
[   13.837237]  ? irq_thread+0x82/0x193
[   13.837238]  driver_probe_device+0xcf/0xff
[   13.837239]  ? driver_allows_async_probing+0x2c/0x2c
[   13.837241]  bus_for_each_drv+0x84/0xa8
[   13.837242]  __device_attach+0x9d/0x12d
[   13.837245]  pci_bus_add_device+0x4a/0x83
[   13.837247]  pci_bus_add_devices+0x2c/0x5d
[   13.837248]  pci_bus_add_devices+0x53/0x5d
[   13.837250]  pciehp_configure_device+0xef/0xfd
[   13.837253]  pciehp_handle_presence_or_link_change+0x28d/0x37b
[   13.837254]  pciehhp_ist+0x12c/0x164
[   13.837256]  ? irq_finalize_oneshot+0x9e/0x9e
[   13.837257]  irq_thread_fn+0x1e/0x41
[   13.837259]  irq_thread+0x138/0x193
[   13.837261]  ? wake_threads_waitq+0x27/0x27
[   13.837263]  ? irq_thread_check_affinity+0x7b/0x7b
[   13.837265]  kthread+0xf7/0xfc
[   13.837266]  ? kthread_cancel_delayed_work_sync+0xf/0xf
[   13.837269]  ret_from_fork+0x3a/0x50
[   13.837321] ------------[ cut here ]------------

It's followed by another warning which might be an unrelated issue;
least, the stack trace looks unrelated.

I've attached a compressed copy of the full dmesg.out in case it's
helpful.

Thanks!!

						- Ted

[   13.837321] downgrading a read lock
[   13.837327] WARNING: CPU: 2 PID: 741 at kernel/locking/lockdep.c:3553 lock_downgrade+0xe7/0x17f
[   13.837328] Modules linked in: nls_iso8859_1 nls_cp437 vfat fat snd_hda_codec_realtek snd_hda_codec_generic dell_laptop ledtrig_audio dell_wmi dell_smbios ath10k_pci joydev hid_multitouch(+) dcdbas intel_wmi_thunderbolt dell_wmi_descriptor intel_rapl x86_pkg_temp_thermal ath10k_core intel_powerclamp coretemp ath serio_raw kvm_intel snd_soc_skl btusb mac80211 snd_soc_core btrtl snd_soc_acpi_intel_match kvm btbcm snd_soc_acpi snd_soc_skl_ipc btintel snd_soc_sst_ipc irqbypass snd_soc_sst_dsp bluetooth snd_hda_ext_core uvcvideo cfg80211 videobuf2_vmalloc ecdh_generic videobuf2_memops snd_hda_intel i915 videobuf2_v4l2 videobuf2_common pcspkr snd_hda_codec snd_hwdep drm_kms_helper snd_hda_core idma64 drm mei_me processor_thermal_device intel_gtt intel_soc_dts_iosf fb_sys_fops mei syscopyarea sysfillrect intel_pch_thermal sysimgblt ucsi_acpi typec_ucsi int3403_thermal intel_hid int3400_thermal int340x_thermal_zone acpi_thermal_rel sparse_keymap acpi_pad pcc_cpufreq nfsd auth_rpcgss nfs_acl lockd
[   13.837356]  grace parport_pc ppdev lp sunrpc parport ip_tables x_tables autofs4 btrfs zstd_decompress zstd_compress dm_thin_pool dm_persistent_data dm_bio_prison algif_skcipher af_alg raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear hid_generic i2c_designware_platform i2c_designware_core crct10dif_pclmul crc32_pclmul rtsx_pci_sdmmc ghash_clmulni_intel xhci_pci i2c_i801 thunderbolt intel_lpss_pci rtsx_pci intel_lpss xhci_hcd mfd_core i2c_hid hid
[   13.837374] CPU: 2 PID: 741 Comm: run-parts Not tainted 5.0.0-00034-gcaae0ec7396f #54
[   13.837374] Hardware name: Dell Inc. XPS 13 9380/0KTW76, BIOS 1.2.1 02/14/2019
[   13.837375] RIP: 0010:lock_downgrade+0xe7/0x17f
[   13.837376] Code: 00 00 00 8b 44 24 04 89 83 80 08 00 00 48 8b 45 00 48 89 83 78 08 00 00 f6 45 32 03 74 0e 48 c7 c7 eb 6e e7 ab e8 34 81 fb ff <0f> 0b 8a 45 32 4c 89 6d 08 44 89 e6 48 89 df 83 e0 fc 83 c8 01 88
[   13.837377] RSP: 0018:ffff9dcbcf027e28 EFLAGS: 00010082
[   13.837378] RAX: 0000000000000000 RBX: ffff9dcbcef3a9c0 RCX: 0000000000000000
[   13.837379] RDX: ffff9dcbcef3a9c0 RSI: 0000000000000001 RDI: ffffffffab10ec18
[   13.837379] RBP: ffff9dcbcef3b248 R08: 0000000000000017 R09: 00000000001e1e80
[   13.837380] R10: ffff9dcbcef3a9c0 R11: 0000000a2851b6dd R12: 0000000000000001
[   13.837380] R13: ffffffffab205904 R14: 0000000000000246 R15: ffff9dcbcef49b28
[   13.837381] FS:  00007f6b961d7580(0000) GS:ffff9dcbdda00000(0000) knlGS:0000000000000000
[   13.837382] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   13.837383] CR2: 000055a3940d7000 CR3: 0000000494962005 CR4: 00000000003606e0
[   13.837383] Call Trace:
[   13.837387]  downgrade_write+0x17/0x80
[   13.837392]  __do_munmap+0x26f/0x2fe
[   13.837394]  __vm_munmap+0x74/0xbf
[   13.837396]  __x64_sys_munmap+0x27/0x2c
[   13.837398]  do_syscall_64+0x5e/0x6c
[   13.837400]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   13.837401] RIP: 0033:0x7f6b96214717
[   13.837402] Code: ff ff ff f7 d8 89 05 48 ea 00 00 48 c7 c0 ff ff ff ff eb 8a 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8d 0d 19 ea 00 00 f7 d8 89 01 48 83
[   13.837403] RSP: 002b:00007fffbd93f668 EFLAGS: 00000202 ORIG_RAX: 000000000000000b
[   13.837403] RAX: ffffffffffffffda RBX: 0000000a2851756f RCX: 00007f6b96214717
[   13.837406] RDX: 0000000a2851a714 RSI: 0000000000021557 RDI: 00007f6b961d8000
[   13.837406] RBP: 00007fffbd93f860 R08: 00007f6b9601a1f0 R09: 0000000000000007
[   13.837407] R10: 00007f6b962229f0 R11: 0000000000000202 R12: 0000000000000000
[   13.837407] R13: 00007f6b96223190 R14: 00007f6b961d7580 R15: 00007f6b96223190
[   13.837409] irq event stamp: 719
[   13.837413] hardirqs last  enabled at (719): [<ffffffffab0486c9>] do_user_addr_fault+0xf3/0x396
[   13.837414] hardirqs last disabled at (718): [<ffffffffab0019d6>] trace_hardirqs_off_thunk+0x1a/0x1c
[   13.837416] softirqs last  enabled at (0): [<ffffffffab0b4ead>] copy_process.part.43+0x452/0x1af8
[   13.837421] softirqs last disabled at (0): [<0000000000000000>]           (null)
[   13.837422] ---[ end trace 0c20cc7bb894cd38 ]---

[-- Attachment #2: dmesg.out.gz --]
[-- Type: application/gzip, Size: 25106 bytes --]

             reply index

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-02  2:19 Theodore Ts'o [this message]
2019-04-02  8:32 ` Lukas Wunner

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190402021933.GA2966@mit.edu \
    --to=tytso@mit.edu \
    --cc=bhelgaas@google.com \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-PCI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-pci/0 linux-pci/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-pci linux-pci/ https://lore.kernel.org/linux-pci \
		linux-pci@vger.kernel.org
	public-inbox-index linux-pci

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-pci


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git