s390/vfio-ap: Fix NULL deref in status_show() during queue probe
Summary
| CVE | CVE-2026-89955 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-16 11:17:05 UTC |
| Updated | 2026-10-19 09:18:41 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
s390/vfio-ap: Fix NULL deref in status_show() during queue probe
When vfio_ap_mdev_probe_queue() creates the sysfs attribute group,
the queue's driver data has not yet been set. A concurrent read of
the 'status' attribute can therefore call dev_get_drvdata() and
get NULL, which is then passed directly to
vfio_ap_mdev_for_queue() where q->apqn is unconditionally
dereferenced, causing a NULL pointer dereference.
Fix this by acquiring the update locks before calling
sysfs_create_group(). The status_show() function acquires
guests_lock before reading the driver data, so any concurrent
read will block until after dev_set_drvdata() has been called
and the update locks are released.
As a bonus, the APQN no longer needs to be read from the queue
struct after allocation — it can be read directly from apdev
before allocation and stored in a local variable, which is then
assigned to q->apqn once the allocation succeeds. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 260f3ea141382386e97611e7c2029bc013088ab1 31fa0a8a3c337ed2d200166d6926ab23c14f8b2e git |
Not specified |
| CNA |
Linux |
Linux |
affected 260f3ea141382386e97611e7c2029bc013088ab1 e102ce0f4af99dff769a4b1b4daa4cc6bd5ad2d9 git |
Not specified |
| CNA |
Linux |
Linux |
affected 260f3ea141382386e97611e7c2029bc013088ab1 69632952aca04caa71e49953b6949fc04e788e67 git |
Not specified |
| CNA |
Linux |
Linux |
affected 260f3ea141382386e97611e7c2029bc013088ab1 7db2511fc601ca3a6e3fb1bdce02261c3c3167c3 git |
Not specified |
| CNA |
Linux |
Linux |
affected 260f3ea141382386e97611e7c2029bc013088ab1 dd6f4ef6f8a37412909ad787c837332fb070159c git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.0 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.0 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.157 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.110 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.51 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.5 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/69632952aca04caa71e49953b6949fc04e788e67 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/7db2511fc601ca3a6e3fb1bdce02261c3c3167c3 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/31fa0a8a3c337ed2d200166d6926ab23c14f8b2e |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/e102ce0f4af99dff769a4b1b4daa4cc6bd5ad2d9 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/dd6f4ef6f8a37412909ad787c837332fb070159c |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.