deardaniel/secdata-raw huggingface dataset:
CVE: CVE-2022-49105
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

staging: wfx: fix an error handling in wfx_init_common()

One error handler of wfx_init_common() return without calling
ieee80211_free_hw(hw), which may result in memory leak. And I add
one err label to unify the error handler, which is useful for the
subsequent changes.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/60f1d3c92dc1ef1026e5b917a329a7fa947da036; https://git.kernel.org/stable/c/86efcb524ae1889ae73f2a2f0bb7fff2ec757ab0; https://git.kernel.org/stable/c/93498c6e775ae91732a8109dba1bdcd324908f84
CVE: CVE-2022-49106
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

staging: vchiq_arm: Avoid NULL ptr deref in vchiq_dump_platform_instances

vchiq_get_state() can return a NULL pointer. So handle this cases and
avoid a NULL pointer derefence in vchiq_dump_platform_instances.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-476, CWE-476
References: https://git.kernel.org/stable/c/176df12b38c70b0a45e6392a0ee5bc83489dfc29; https://git.kernel.org/stable/c/4627250cabaa80278d3ab01ad107893cea83799f; https://git.kernel.org/stable/c/51e5e5c34c22c0bfec0808d8c33e0b2fcf4c7c89
CVE: CVE-2022-49107
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

ceph: fix memory leak in ceph_readdir when note_last_dentry returns error

Reset the last_readdir at the same time, and add a comment explaining
why we don't free last_readdir when dir_emit returns false.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/2fe82d3254029ef9ec4e7be890125d5ef4f537de; https://git.kernel.org/stable/c/7f740ede35132d3d5d19747cad56a511d21bb156; https://git.kernel.org/stable/c/e792575b902a3939ca482491ee9fb3a236f99640
CVE: CVE-2022-49108
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

clk: mediatek: Fix memory leaks on probe

Handle the error branches to free memory where required.

Addresses-Coverity-ID: 1491825 ("Resource leak")
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/02742d1d5c95cff8b6e9379aae4ab12674f7265d; https://git.kernel.org/stable/c/7a688c91d3fd54c53e7a9edd6052cdae98dd99d8; https://git.kernel.org/stable/c/c6a0b413398588fc2d8b174a79ea715b66413fca
CVE: CVE-2022-49109
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

ceph: fix inode reference leakage in ceph_get_snapdir()

The ceph_get_inode() will search for or insert a new inode into the
hash for the given vino, and return a reference to it. If new is
non-NULL, its reference is consumed.

We should release the reference when in error handing cases.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/322794d3355c33adcc4feace0045d85a8e4ed813; https://git.kernel.org/stable/c/3ae7163598c611a8892698e0c056fe794e52b44b; https://git.kernel.org/stable/c/9cd21981dedfb4fe9f344529e4be35727cb10940
CVE: CVE-2022-49110
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

netfilter: conntrack: revisit gc autotuning

as of commit 4608fdfc07e1
("netfilter: conntrack: collect all entries in one cycle")
conntrack gc was changed to run every 2 minutes.

On systems where conntrack hash table is set to large value, most evictions
happen from gc worker rather than the packet path due to hash table
distribution.

This causes netlink event overflows when events are collected.

This change collects average expiry of scanned entries and
reschedules to the average remaining value, within 1 to 60 second interval.

To avoid event overflows, reschedule after each bucket and add a
limit for both run time and number of evictions per run.

If more entries have to be evicted, reschedule and restart 1 jiffy
into the future.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/2cfadb761d3d0219412fd8150faea60c7e863833; https://git.kernel.org/stable/c/58d52743ae85d28c9335c6034d6ce350b8689951; https://git.kernel.org/stable/c/592e57591826f3d09c28d755a39ea8e9d13705ad
CVE: CVE-2022-49112
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

mt76: fix monitor mode crash with sdio driver

mt7921s driver may receive frames with fragment buffers. If there is a
CTS packet received in monitor mode, the payload is 10 bytes only and
need 6 bytes header padding after RXD buffer. However, only RXD in the
first linear buffer, if we pull buffer size RXD-size+6 bytes with
skb_pull(), that would trigger "BUG_ON(skb->len < skb->data_len)" in
__skb_pull().

To avoid the nonlinear buffer issue, enlarge the RXD size from 128 to
256 to make sure all MCU operation in linear buffer.

[   52.007562] kernel BUG at include/linux/skbuff.h:2313!
[   52.007578] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[   52.007987] pc : skb_pull+0x48/0x4c
[   52.008015] lr : mt7921_queue_rx_skb+0x494/0x890 [mt7921_common]
[   52.008361] Call trace:
[   52.008377]  skb_pull+0x48/0x4c
[   52.008400]  mt76s_net_worker+0x134/0x1b0 [mt76_sdio 35339a92c6eb7d4bbcc806a1d22f[PII_REDACTED]5c]
[   52.008431]  __mt76_worker_fn+0xe8/0x170 [mt76 ef716597d11a77150bc07e3fdd68eeb0f9b56917]
[   52.008449]  kthread+0x148/0x3ac
[   52.008466]  ret_from_fork+0x10/0x30
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/123bc712b1de0805f9d683687e17b1ec2aba0b68; https://git.kernel.org/stable/c/13946d5a68efd11dd6af2f6ef4c908f6b00158a5; https://git.kernel.org/stable/c/95e2af01669c7a3cb7a933cefa06361f9db15059
CVE: CVE-2022-49113
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

powerpc/secvar: fix refcount leak in format_show()

Refcount leak will happen when format_show returns failure in multiple
cases. Unified management of of_node_put can fix this problem.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/02222bf4f0a27f6eba66d1f597cdb5daadd51829; https://git.kernel.org/stable/c/2a71e3ecd829a82013cf095c55068c61d991e885; https://git.kernel.org/stable/c/c105ffb6b9744158e37e9f81f0f38861951d1c1f
CVE: CVE-2022-49114
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

scsi: libfc: Fix use after free in fc_exch_abts_resp()

fc_exch_release(ep) will decrease the ep's reference count. When the
reference count reaches zero, it is freed. But ep is still used in the
following code, which will lead to a use after free.

Return after the fc_exch_release() call to avoid use after free.
CVSS Score: 7.8 (HIGH)
CWE: CWE-416
References: https://git.kernel.org/stable/c/1d7effe5fff9d28e45e18ac3a564067c7ddfe898; https://git.kernel.org/stable/c/271add11994ba1a[PII_REDACTED]67e04d2be2ebdd4; https://git.kernel.org/stable/c/412dd8299b02e4410fe77b8396953c1a8dde183a
CVE: CVE-2022-49115
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

PCI: endpoint: Fix misused goto label

Fix a misused goto label jump since that can result in a memory leak.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/70236a0d2d62b081d52076de22d8d017d6cbe99f; https://git.kernel.org/stable/c/7c657c0694ff690e361a13ce41c36b9dfb433ec8; https://git.kernel.org/stable/c/bf8d87c076f55b8b4dfdb6bc6c6b6dc0c2ccb487
CVE: CVE-2022-49116
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: use memset avoid memory leaks

Use memset to initialize structs to prevent memory leaks
in l2cap_ecred_connect
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/42b6a39f439b6f37cc2024d91ce547d83290ff78; https://git.kernel.org/stable/c/9567d54e70ff58c2695c2cc2e53c86c67551d3e6; https://git.kernel.org/stable/c/d3715b2333e9a21692ba16ef8645eda584a9515d
CVE: CVE-2022-49117
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

mips: ralink: fix a refcount leak in ill_acc_of_setup()

of_node_put(np) needs to be called when pdev == NULL.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/060a485df4ec1183d543317511cb4caa43468b5d; https://git.kernel.org/stable/c/142ae7d4f21524acfe073e5a3da5667aa85eb970; https://git.kernel.org/stable/c/4a0a1436053b17e50b7c88858fb[PII_REDACTED]793
CVE: CVE-2022-49118
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

scsi: hisi_sas: Free irq vectors in order for v3 HW

If the driver probe fails to request the channel IRQ or fatal IRQ, the
driver will free the IRQ vectors before freeing the IRQs in free_irq(),
and this will cause a kernel BUG like this:

------------[ cut here ]------------
kernel BUG at drivers/pci/msi.c:369!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
Call trace:
   free_msi_irqs+0x118/0x13c
   pci_disable_msi+0xfc/0x120
   pci_free_irq_vectors+0x24/0x3c
   hisi_sas_v3_probe+0x360/0x9d0 [hisi_sas_v3_hw]
   local_pci_probe+0x44/0xb0
   work_for_cpu_fn+0x20/0x34
   process_one_work+0x1d0/0x340
   worker_thread+0x2e0/0x460
   kthread+0x180/0x190
   ret_from_fork+0x10/0x20
---[ end trace b88990335b610c11 ]---

So we use devm_add_action() to control the order in which we free the
vectors.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/224903cc60d045576393c3b16907742f23e6c740; https://git.kernel.org/stable/c/554fb72ee34f4732c7f694f56c3c6e67790352a0; https://git.kernel.org/stable/c/8b6eab9d683bae7f88dc894b8c851f866032301c
CVE: CVE-2022-49119
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

scsi: pm8001: Fix memory leak in pm8001_chip_fw_flash_update_req()

In pm8001_chip_fw_flash_update_build(), if
pm8001_chip_fw_flash_update_build() fails, the struct fw_control_ex
allocated must be freed.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/a25ed5f21f94f9ae4bcc8dd747e978668890c921; https://git.kernel.org/stable/c/d83574666bac4b1462e90df393fbed6c5f57d1a3; https://git.kernel.org/stable/c/e5ecdb01952f230921aa8163d8d7f4c97c925ed8
CVE: CVE-2022-49120
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

scsi: pm8001: Fix task leak in pm8001_send_abort_all()

In pm8001_send_abort_all(), make sure to free the allocated sas task
if pm8001_tag_alloc() or pm8001_mpi_build_cmd() fail.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401
References: https://git.kernel.org/stable/c/146cae06d2682d[PII_REDACTED]be334e8e6d3862b8; https://git.kernel.org/stable/c/2051044d7901f1a9d7be95d0d32e53b88e9548f7; https://git.kernel.org/stable/c/2290dcad6f65864dec518fb2d5fb45f67d684150
CVE: CVE-2022-49121
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

scsi: pm8001: Fix tag leaks on error

In pm8001_chip_set_dev_state_req(), pm8001_chip_fw_flash_update_req(),
pm80xx_chip_phy_ctl_req() and pm8001_chip_reg_dev_req() add missing calls
to pm8001_tag_free() to free the allocated tag when pm8001_mpi_build_cmd()
fails.

Similarly, in pm8001_exec_internal_task_abort(), if the chip ->task_abort
method fails, the tag allocated for the abort request task must be
freed. Add the missing call to pm8001_tag_free().
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401
References: https://git.kernel.org/stable/c/43c617eefab7077d69f5989ad3e2a273da1d728b; https://git.kernel.org/stable/c/4c8f04b1905cd4b776d0b720463c091545478ef7; https://git.kernel.org/stable/c/9cc72bcc1c096ed42c91646f130d4b4191580a4c
CVE: CVE-2022-49122
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

dm ioctl: prevent potential spectre v1 gadget

It appears like cmd could be a Spectre v1 gadget as it's supplied by a
user and used as an array index. Prevent the contents of kernel memory
from being leaked to userspace via speculative execution by using
array_index_nospec.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/02cc46f397eb3691c56affbd5073e54f7a82ac32; https://git.kernel.org/stable/c/0320bac5801b[PII_REDACTED]7173205d017488f140; https://git.kernel.org/stable/c/44e6cb3ab177faae840bb2c1ebda9a[PII_REDACTED]
CVE: CVE-2022-49124
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

x86/mce: Work around an erratum on fast string copy instructions

A rare kernel panic scenario can happen when the following conditions
are met due to an erratum on fast string copy instructions:

1) An uncorrected error.
2) That error must be in first cache line of a page.
3) Kernel must execute page_copy from the page immediately before that
page.

The fast string copy instructions ("REP; MOVS*") could consume an
uncorrectable memory error in the cache line _right after_ the desired
region to copy and raise an MCE.

Bit 0 of MSR_IA32_MISC_ENABLE can be cleared to disable fast string
copy and will avoid such spurious machine checks. However, that is less
preferable due to the permanent performance impact. Considering memory
poison is rare, it's desirable to keep fast string copy enabled until an
MCE is seen.

Intel has confirmed the following:
1. The CPU erratum of fast string copy only applies to Skylake,
Cascade Lake and Cooper Lake generations.

Directly return from the MCE handler:
2. Will result in complete execution of the "REP; MOVS*" with no data
loss or corruption.
3. Will not result in another MCE firing on the next poisoned cache line
due to "REP; MOVS*".
4. Will resume execution from a correct point in code.
5. Will result in the same instruction that triggered the MCE firing a
second MCE immediately for any other software recoverable data fetch
errors.
6. Is not safe without disabling the fast string copy, as the next fast
string copy of the same buffer on the same CPU would result in a PANIC
MCE.

This should mitigate the erratum completely with the only caveat that
the fast string copy is disabled on the affected hyper thread thus
performance degradation.

This is still better than the OS crashing on MCEs raised on an
irrelevant process due to "REP; MOVS*' accesses in a kernel context,
e.g., copy_page.


Injected errors on 1st cache line of 8 anonymous pages of process
'proc1' and observed MCE consumption from 'proc2' with no panic
(directly returned).

Without the fix, the host panicked within a few minutes on a
random 'proc2' process due to kernel access from copy_page.

  [ bp: Fix comment style + touch ups, zap an unlikely(), improve the
    quirk function's readability. ]
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/8ca97812c3c830573f965a07bbd84223e8c5f5bd; https://git.kernel.org/stable/c/ba37c73be3d5632f6fb9fa20b250ce45560ca85d
CVE: CVE-2022-49125
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

drm/sprd: fix potential NULL dereference

'drm' could be null in sprd_drm_shutdown, and drm_warn maybe dereference
it, remove this warning log.


v1 -> v2:
- Split checking platform_get_resource() return value to a separate patch
- Use dev_warn() instead of removing the warning log
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-476, CWE-476
References: https://git.kernel.org/stable/c/8668658aebb0a19d877d5a81c004baf716c4aaa6; https://git.kernel.org/stable/c/c3acc8db1bc221604e2db9807f01d8a44b97a64d
CVE: CVE-2022-49126
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

scsi: mpi3mr: Fix memory leaks

Fix memory leaks related to operational reply queue's memory segments which
are not getting freed while unloading the driver.
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-401, CWE-401
References: https://git.kernel.org/stable/c/27fc9e90171ab0a94a411f3fdb3522ef5acb9537; https://git.kernel.org/stable/c/5d76a88b8536d75ff5362e232097e85946b8aadf; https://git.kernel.org/stable/c/71c7ac65a084ae7d387c3c1d02d59edfdecb009f
CVE: CVE-2022-49127
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

ref_tracker: implement use-after-free detection

Whenever ref_tracker_dir_init() is called, mark the struct ref_tracker_dir
as dead.

Test the dead status from ref_tracker_alloc() and ref_tracker_free()

This should detect buggy dev_put()/dev_hold() happening too late
in netdevice dismantle process.
CVSS Score: 7.8 (HIGH)
CWE: CWE-416
References: https://git.kernel.org/stable/c/3743c9de303fa36c2e2ca2522ab280c52bcafbd2; https://git.kernel.org/stable/c/e3ececfe668facd87d920b608349a32607060e66
CVE: CVE-2022-49128
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

drm/bridge: Add missing pm_runtime_put_sync

pm_runtime_get_sync() will increase the rumtime PM counter
even when it returns an error. Thus a pairing decrement is needed
to prevent refcount leak. Fix this by replacing this API with
pm_runtime_resume_and_get(), which will not change the runtime
PM counter on error. Besides, a matching decrement is needed
on the error handling path to keep the counter balanced.
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/46f[PII_REDACTED]1e354873546dde0b000106c068a; https://git.kernel.org/stable/c/792533e54cd6e89191798ccd1abd590c62b9077e; https://git.kernel.org/stable/c/9df80dc738926a2ea4bd1ce5993c3d0f4b0e855c
CVE: CVE-2022-49129
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

mt76: mt7921: fix crash when startup fails.

If the nic fails to start, it is possible that the
reset_work has already been scheduled.  Ensure the
work item is canceled so we do not have use-after-free
crash in case cleanup is called before the work item
is executed.

This fixes crash on my x86_64 apu2 when mt7921k radio
fails to work.  Radio still fails, but OS does not
crash.
CVSS Score: 7.8 (HIGH)
CWE: CWE-416
References: https://git.kernel.org/stable/c/38fbe806645090c07aa97171f20fc62c3d7d3a98; https://git.kernel.org/stable/c/827e7799c61b978fbc2cc9dac66cb62401b2b3f0; https://git.kernel.org/stable/c/ac1260b661c2ef0d0a56680cdb5672b931b7be8f
CVE: CVE-2022-49131
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

ath11k: fix kernel panic during unload/load ath11k modules

Call netif_napi_del() from ath11k_ahb_free_ext_irq() to fix
the following kernel panic when unload/load ath11k modules
for few iterations.

[  971.201365] Unable to handle kernel paging request at virtual address 6d97a208
[  971.204227] pgd = 594c2919
[  971.211478] [6d97a208] *pgd=00000000
[  971.214120] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[  971.412024] CPU: 2 PID: 4435 Comm: insmod Not tainted 5.4.89 #0
[  971.434256] Hardware name: Generic DT based system
[  971.440165] PC is at napi_by_id+0x10/0x40
[  971.445019] LR is at netif_napi_add+0x160/0x1dc

[  971.743127] (napi_by_id) from [<807d89a0>] (netif_napi_add+0x160/0x1dc)
[  971.751295] (netif_napi_add) from [<7f1209ac>] (ath11k_ahb_config_irq+0xf8/0x414 [ath11k_ahb])
[  971.759164] (ath11k_ahb_config_irq [ath11k_ahb]) from [<7f12135c>] (ath11k_ahb_probe+0x40c/0x51c [ath11k_ahb])
[  971.768567] (ath11k_ahb_probe [ath11k_ahb]) from [<80666864>] (platform_drv_probe+0x48/0x94)
[  971.779670] (platform_drv_probe) from [<80664718>] (really_probe+0x1c8/0x450)
[  971.789389] (really_probe) from [<80664cc4>] (driver_probe_device+0x15c/0x1b8)
[  971.797547] (driver_probe_device) from [<80664f60>] (device_driver_attach+0x44/0x60)
[  971.805795] (device_driver_attach) from [<806650a0>] (__driver_attach+0x124/0x140)
[  971.814822] (__driver_attach) from [<80662adc>] (bus_for_each_dev+0x58/0xa4)
[  971.823328] (bus_for_each_dev) from [<80663a2c>] (bus_add_driver+0xf0/0x1e8)
[  971.831662] (bus_add_driver) from [<806658a4>] (driver_register+0xa8/0xf0)
[  971.839822] (driver_register) from [<8030269c>] (do_one_initcall+0x78/0x1ac)
[  971.847638] (do_one_initcall) from [<80392524>] (do_init_module+0x54/0x200)
[  971.855968] (do_init_module) from [<803945b0>] (load_module+0x1e30/0x1ffc)
[  971.864126] (load_module) from [<803948b0>] (sys_init_module+0x134/0x17c)
[  971.871852] (sys_init_module) from [<80301000>] (ret_fast_syscall+0x0/0x50)

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.6.0.1-00760-QCAHKSWPL_SILICONZ-1
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/22b59cb965f79ee1accf83172441c9ca0ecb632a; https://git.kernel.org/stable/c/38e488db194dc16d2eb23c77c6a8c04ff583c40d; https://git.kernel.org/stable/c/699e8c87e5c406af0f0606f40eeebd248c51b702
CVE: CVE-2022-49132
Published: 2025-02-26
Description: In the Linux kernel, the following vulnerability has been resolved:

ath11k: pci: fix crash on suspend if board file is not found

Mario reported that the kernel was crashing on suspend if ath11k was not able
to find a board file:

[  473.693286] PM: Suspending system (s2idle)
[  473.693291] printk: Suspending console(s) (use no_console_suspend to debug)
[  474.407787] BUG: unable to handle page fault for address: [PII_REDACTED]
[  474.407791] #PF: supervisor read access in kernel mode
[  474.407794] #PF: error_code(0x0000) - not-present page
[  474.407798] PGD 0 P4D 0
[  474.407801] Oops: 0000 [#1] PREEMPT SMP NOPTI
[  474.407805] CPU: 2 PID: 2350 Comm: kworker/u32:14 Tainted: G        W         5.16.0 #248
[...]
[  474.407868] Call Trace:
[  474.407870]  <TASK>
[  474.407874]  ? _raw_spin_lock_irqsave+0x2a/0x60
[  474.407882]  ? lock_timer_base+0x72/0xa0
[  474.407889]  ? _raw_spin_unlock_irqrestore+0x29/0x3d
[  474.407892]  ? try_to_del_timer_sync+0x54/0x80
[  474.407896]  ath11k_dp_rx_pktlog_stop+0x49/0xc0 [ath11k]
[  474.407912]  ath11k_core_suspend+0x34/0x130 [ath11k]
[  474.407923]  ath11k_pci_pm_suspend+0x1b/0x50 [ath11k_pci]
[  474.407928]  pci_pm_suspend+0x7e/0x170
[  474.407935]  ? pci_pm_freeze+0xc0/0xc0
[  474.407939]  dpm_run_callback+0x4e/0x150
[  474.407947]  __device_suspend+0x148/0x4c0
[  474.407951]  async_suspend+0x20/0x90
dmesg-efi[PII_REDACTED]01001:
Oops#1 Part1
[  474.407955]  async_run_entry_fn+0x33/0x120
[  474.407959]  process_one_work+0x220/0x3f0
[  474.407966]  worker_thread+0x4a/0x3d0
[  474.407971]  kthread+0x17a/0x1a0
[  474.407975]  ? process_one_work+0x3f0/0x3f0
[  474.407979]  ? set_kthread_struct+0x40/0x40
[  474.407983]  ret_from_fork+0x22/0x30
[  474.407991]  </TASK>

The issue here is that board file loading happens after ath11k_pci_probe()
succesfully returns (ath11k initialisation happends asynchronously) and the
suspend handler is still enabled, of course failing as ath11k is not properly
initialised. Fix this by checking ATH11K_FLAG_QMI_FAIL during both suspend and
resume.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2
CVSS Score: 5.5 (MEDIUM)
CWE: CWE-908
References: https://git.kernel.org/stable/c/aeed776c00e804a0f7896db39c7c661cea34ee1f; https://git.kernel.org/stable/c/b4f4c56459a5c744f7f066b9fc2b54ea995030c5; https://git.kernel.org/stable/c/f3c5ef433da82d257337424b3647ce9dcb37d4b5