vmd may fail to create sysfs entry while `pci_rescan_bus()` called in some other drivers like wwan

Bug #2011389 reported by You-Sheng Yang
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
New
Undecided
Unassigned
linux (Ubuntu)
Fix Released
High
You-Sheng Yang
Jammy
Invalid
Undecided
Unassigned
Lunar
Fix Released
High
You-Sheng Yang
linux-oem-6.0 (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Won't Fix
Undecided
Unassigned
Lunar
Invalid
Undecided
Unassigned
linux-oem-6.1 (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Fix Released
High
You-Sheng Yang
Lunar
Invalid
Undecided
Unassigned

Bug Description

[SRU Justification]

[Impact]

With wwan t7xx driver patched, vmd may fail the probe process because it does not lock properly.

[Fix]

https://<email address hidden>/T/#u

[Test Case]

Verify on platforms with FM350 wwan module with prebuilt oem-6.1 or above kernels. No vmd probe error should be found in dmesg.

[Where problems could occur]

This is the way it should have been done.

[Other Info]

This is not reproducible with v6.0 or older kernels, so only Lunar and oem-6.1 are nominated for fix. OEM-6.0 patch goes to Gerrit instead.

========== original bug report ==========

vmd may fail to create sysfs entry while `pci_rescan_bus()` called in some other drivers like wwan.

This happens after bug 2002089 re-added pci rescan feature back to wwan t7xx driver to support firmware updates via devlink. t7xx may call `pci_rescan_bus()` with proper locks, but vmd doesn't.

sysfs: cannot create duplicate filename '/devices/.../resource0'
Call Trace:
 <TASK>
 sysfs_warn_dup.cold+0x17/0x34
 sysfs_add_bin_file_mode_ns+0xc0/0xf0
 sysfs_create_bin_file+0x6d/0xb0
 pci_create_attr+0x117/0x260
 pci_create_resource_files+0x6b/0x150
 pci_create_sysfs_dev_files+0x18/0x30
 pci_bus_add_device+0x30/0x80
 pci_bus_add_devices+0x31/0x80
 pci_bus_add_devices+0x5b/0x80
 vmd_enable_domain.constprop.0+0x6b7/0x880 [vmd]
 vmd_probe+0x16d/0x193 [vmd]

You-Sheng Yang (vicamo)
description: updated
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 2011389

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
You-Sheng Yang (vicamo)
Changed in linux-oem-6.1 (Ubuntu Lunar):
status: New → Invalid
Changed in linux-oem-6.0 (Ubuntu Lunar):
status: New → Invalid
Changed in linux (Ubuntu Jammy):
status: New → Invalid
Changed in linux (Ubuntu Lunar):
status: Incomplete → In Progress
importance: Undecided → High
assignee: nobody → You-Sheng Yang (vicamo)
Changed in linux-oem-6.1 (Ubuntu Jammy):
status: New → In Progress
importance: Undecided → High
assignee: nobody → You-Sheng Yang (vicamo)
Revision history for this message
You-Sheng Yang (vicamo) wrote :

https://<email address hidden>/T/#u

tags: added: oem-priority originate-from-2008984 somerville
Revision history for this message
You-Sheng Yang (vicamo) wrote :

The lack of proper lock begins since commit 185a383ada2e ("x86/PCI: Add driver for Intel Volume Management Device (VMD)"), v4.4, but we only bump into this issue in 6.1 oem/generic kernels or above.

Revision history for this message
You-Sheng Yang (vicamo) wrote :
Revision history for this message
You-Sheng Yang (vicamo) wrote :
description: updated
Revision history for this message
You-Sheng Yang (vicamo) wrote :

While we cannot reproduce this on kernels older than 6.1, we will skip this.

Changed in linux-oem-6.0 (Ubuntu Jammy):
status: New → Won't Fix
Timo Aaltonen (tjaalton)
Changed in linux-oem-6.1 (Ubuntu Jammy):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.1/6.1.0-1009.9 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-oem-6.1 verification-needed-jammy
Revision history for this message
You-Sheng Yang (vicamo) wrote :

verified.

tags: added: verification-done-jammy
removed: verification-needed-jammy
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (110.6 KiB)

This bug was fixed in the package linux-oem-6.1 - 6.1.0-1009.9

---------------
linux-oem-6.1 (6.1.0-1009.9) jammy; urgency=medium

  * jammy/linux-oem-6.1: 6.1.0-1009.9 -proposed tracker (LP: #2011921)

  * Fix spurious wakeup from S5 when TBT dock is plugged (LP: #2012846)
    - ACPICA: MADT: Add loong_arch-specific APICs support
    - ACPICA: Events: Support fixed PCIe wake event

  * The panel get blank for too long after disconnecting dock with monitors
    (LP: #2013114)
    - drm/i915/tc: Abort DP AUX transfer on a disconnected TC port

  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- update from kernel-versions (main/2023.03.20)

  * Jammy update: v6.1.22 upstream stable release (LP: #2013346)
    - interconnect: qcom: osm-l3: fix icc_onecell_data allocation
    - interconnect: qcom: sm8450: switch to qcom_icc_rpmh_* function
    - interconnect: qcom: qcm2290: Fix MASTER_SNOC_BIMC_NRT
    - perf/core: Fix perf_output_begin parameter is incorrectly invoked in
      perf_event_bpf_output
    - perf: fix perf_event_context->time
    - tracing/hwlat: Replace sched_setaffinity with set_cpus_allowed_ptr
    - drm/amd/display: Include virtual signal to set k1 and k2 values
    - drm/amd/display: fix k1 k2 divider programming for phantom streams
    - drm/amd/display: Remove OTG DIV register write for Virtual signals.
    - mptcp: refactor passive socket initialization
    - mptcp: use the workqueue to destroy unaccepted sockets
    - mptcp: fix UaF in listener shutdown
    - drm/amd/display: Fix DP MST sinks removal issue
    - arm64: dts: qcom: sm8450: Mark UFS controller as cache coherent
    - power: supply: bq24190: Fix use after free bug in bq24190_remove due to race
      condition
    - power: supply: da9150: Fix use after free bug in da9150_charger_remove due
      to race condition
    - arm64: dts: imx8dxl-evk: Disable hibernation mode of AR8031 for EQOS
    - arm64: dts: imx8dxl-evk: Fix eqos phy reset gpio
    - ARM: dts: imx6sll: e70k02: fix usbotg1 pinctrl
    - ARM: dts: imx6sll: e60k02: fix usbotg1 pinctrl
    - ARM: dts: imx6sl: tolino-shine2hd: fix usbotg1 pinctrl
    - arm64: dts: imx8mn: specify #sound-dai-cells for SAI nodes
    - arm64: dts: imx93: add missing #address-cells and #size-cells to i2c nodes
    - NFS: Fix /proc/PID/io read_bytes for buffered reads
    - xsk: Add missing overflow check in xdp_umem_reg
    - iavf: fix inverted Rx hash condition leading to disabled hash
    - iavf: fix non-tunneled IPv6 UDP packet type and hashing
    - iavf: do not track VLAN 0 filters
    - intel/igbvf: free irq on the error path in igbvf_request_msix()
    - igbvf: Regard vf reset nack as success
    - igc: fix the validation logic for taprio's gate list
    - i2c: imx-lpi2c: check only for enabled interrupt flags
    - i2c: mxs: ensure that DMA buffers are safe for DMA
    - i2c: hisi: Only use the completion interrupt to finish the transfer
    - scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
    - nfsd: don't replace page in rq_pages if it's a continuation of last page
    - net: dsa: b53: mmap: fix device tree support
    - net: usb: smsc95xx: Limit packet length to skb->len
    - efi/li...

Changed in linux-oem-6.1 (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-hwe-6.2/6.2.0-23.23~22.04.1 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-hwe-6.2 verification-needed-jammy
removed: verification-done-jammy
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-nvidia-6.2/6.2.0-1003.3~22.04.1 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-nvidia-6.2
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (72.7 KiB)

This bug was fixed in the package linux - 6.2.0-23.23

---------------
linux (6.2.0-23.23) lunar; urgency=medium

  * lunar/linux: 6.2.0-23.23 -proposed tracker (LP: #2019845)

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts
    - debian/dkms-versions -- update from kernel-versions (main/2023.05.15)

  * Fix flicker display problem on some panels which support PSR2 (LP: #2002968)
    - drm/i915/psr: Add continuous full frame bit together with single

  * Kernel 6.1 bumped the disk consumption on default images by 15%
    (LP: #2015867)
    - [Packaging] introduce a separate linux-lib-rust package

  * Update I915 PSR calculation on Linux 6.2 (LP: #2018655)
    - drm/i915: Fix fast wake AUX sync len
    - drm/i915: Explain the magic numbers for AUX SYNC/precharge length

  * Computer with Intel Atom CPU will not boot with Kernel 6.2.0-20
    (LP: #2017444)
    - [Config]: Disable CONFIG_INTEL_ATOMISP

  * udev fails to make prctl() syscall with apparmor=0 (as used by maas by
    default) (LP: #2016908)
    - SAUCE: (no-up) Stacking v38: Fix prctl() syscall with apparmor=0

  * CVE-2023-32233
    - netfilter: nf_tables: deactivate anonymous set from preparation phase

  * CVE-2023-2612
    - SAUCE: shiftfs: prevent lock unbalance in shiftfs_create_object()

  * CVE-2023-31436
    - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg

  * CVE-2023-1380
    - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()

  * 5.19 not reporting cgroups v1 blkio.throttle.io_serviced (LP: #2016186)
    - SAUCE: blk-throttle: Fix io statistics for cgroup v1

  * LSM stacking and AppArmor for 6.2: additional fixes (LP: #2017903)
    - SAUCE: (no-up) apparmor: fix policy_compat perms remap for file dfa
    - SAUCE: (no-up) apparmor: fix profile verification and enable it
    - SAUCE: (no-up) apparmor: fix: add missing failure check in
      compute_xmatch_perms
    - SAUCE: (no-up) apparmor: fix: kzalloc perms tables for shared dfas

  * Lunar update: v6.2.12 upstream stable release (LP: #2017219)
    - Revert "pinctrl: amd: Disable and mask interrupts on resume"
    - drm/amd/display: Pass the right info to drm_dp_remove_payload
    - drm/i915: Workaround ICL CSC_MODE sticky arming
    - ALSA: emu10k1: fix capture interrupt handler unlinking
    - ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
    - ALSA: i2c/cs8427: fix iec958 mixer control deactivation
    - ALSA: hda: patch_realtek: add quirk for Asus N7601ZM
    - ALSA: hda/realtek: Add quirks for Lenovo Z13/Z16 Gen2
    - ALSA: firewire-tascam: add missing unwind goto in
      snd_tscm_stream_start_duplex()
    - ALSA: emu10k1: don't create old pass-through playback device on Audigy
    - ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
    - ALSA: hda/hdmi: disable KAE for Intel DG2
    - Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
    - Bluetooth: Fix race condition in hidp_session_thread
    - bluetooth: btbcm: Fix logic error in forming the board name.
    - Bluetooth: Free potentially unfreed SCO connection
    - Bluetooth: hci_conn: Fix possible UAF
    - btrfs: restore the thread_pool=...

Changed in linux (Ubuntu Lunar):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 6.3.0-7.7

---------------
linux (6.3.0-7.7) mantic; urgency=medium

  * mantic/linux: 6.3.0-7.7 -proposed tracker (LP: #2023297)

  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- update from kernel-versions (main/master)

 -- Paolo Pisati <email address hidden> Thu, 08 Jun 2023 16:44:41 +0200

Changed in linux (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-azure/6.2.0-1009.9 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-lunar' to 'verification-done-lunar'. If the problem still exists, change the tag 'verification-needed-lunar' to 'verification-failed-lunar'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-lunar-linux-azure verification-needed-lunar
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.