CVE-2026-31647

Source
https://cve.org/CVERecord?id=CVE-2026-31647
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31647.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-31647
Downstream
Related
Published
2026-04-24T14:45:00.734Z
Modified
2026-07-15T01:48:56.029945852Z
Summary
idpf: fix PREEMPT_RT raw/bh spinlock nesting for async VC handling
Details

In the Linux kernel, the following vulnerability has been resolved:

idpf: fix PREEMPT_RT raw/bh spinlock nesting for async VC handling

Switch from using the completion's raw spinlock to a local lock in the idpfvcxn struct. The conversion is safe because complete/_all() are called outside the lock and there is no reason to share the completion lock in the current logic. This avoids invalid wait context reported by the kernel due to the async handler taking BH spinlock:

[ 805.726977] ============================= [ 805.726991] [ BUG: Invalid wait context ] [ 805.727006] 7.0.0-rc2-net-devq-031026+ #28 Tainted: G S OE [ 805.727026] ----------------------------- [ 805.727038] kworker/u261:0/572 is trying to lock: [ 805.727051] ff190da6a8dbb6a0 (&vportconfig->macfilterlistlock){+...}-{3:3}, at: idpfmacfilterasynchandler+0xe9/0x260 [idpf] [ 805.727099] other info that might help us debug this: [ 805.727111] context-{5:5} [ 805.727119] 3 locks held by kworker/u261:0/572: [ 805.727132] #0: ff190da6db3e6148 ((wqcompletion)idpf-0000:83:00.0-mbx){+.+.}-{0:0}, at: processonework+0x4b5/0x730 [ 805.727163] #1: ff3c6f0a6131fe50 ((workcompletion)(&(&adapter->mbxtask)->work)){+.+.}-{0:0}, at: processonework+0x1e5/0x730 [ 805.727191] #2: ff190da765190020 (&x->wait#34){+.+.}-{2:2}, at: idpfrecvmbmsg+0xc8/0x710 [idpf] [ 805.727218] stack backtrace: ... [ 805.727238] Workqueue: idpf-0000:83:00.0-mbx idpfmbxtask [idpf] [ 805.727247] Call Trace: [ 805.727249] <TASK> [ 805.727251] dumpstacklvl+0x77/0xb0 [ 805.727259] __lock_acquire+0xb3b/0x2290 [ 805.727268] ? __irqworkqueuelocal+0x59/0x130 [ 805.727275] lockacquire+0xc6/0x2f0 [ 805.727277] ? idpfmacfilterasynchandler+0xe9/0x260 [idpf] [ 805.727284] ? printk+0x5b/0x80 [ 805.727290] rawspinlock_bh+0x38/0x50 [ 805.727298] ? idpfmacfilterasynchandler+0xe9/0x260 [idpf] [ 805.727303] idpfmacfilterasynchandler+0xe9/0x260 [idpf] [ 805.727310] idpfrecvmbmsg+0x1c8/0x710 [idpf] [ 805.727317] processonework+0x226/0x730 [ 805.727322] workerthread+0x19e/0x340 [ 805.727325] ? __pfxworkerthread+0x10/0x10 [ 805.727328] kthread+0xf4/0x130 [ 805.727333] ? __pfxkthread+0x10/0x10 [ 805.727336] retfrom_fork+0x32c/0x410 [ 805.727345] ? __pfxkthread+0x10/0x10 [ 805.727347] retfromforkasm+0x1a/0x30 [ 805.727354] </TASK>

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31647.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
34c21fa894a1af6166f4284c81d1dc21efed8f38
Fixed
b448529f2f2921c6fe82fd4e985cc7c05cbf02a3
Fixed
e02c974fc331f04b5ba2007d4bc6862df8a43148
Fixed
3bb632c6b6d8154e9019beda4a43a4b518ee3e8a
Fixed
591478118293c1bd628de330a99eb1eb2ef8d76b

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31647.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.9.0
Fixed
6.12.83
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.23
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
6.19.13

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31647.json"