CVE-2023-54008

Source
https://cve.org/CVERecord?id=CVE-2023-54008
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54008.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-54008
Downstream
Related
Published
2025-12-24T10:55:41.982Z
Modified
2026-03-23T05:10:45.661910533Z
Summary
virtio_vdpa: build affinity masks conditionally
Details

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

virtio_vdpa: build affinity masks conditionally

We try to build affinity mask via createaffinitymasks() unconditionally which may lead several issues:

  • the affinity mask is not used for parent without affinity support (only VDUSE support the affinity now)
  • the logic of createaffinitymasks() might not work for devices other than block. For example it's not rare in the networking device where the number of queues could exceed the number of CPUs. Such case breaks the current affinity logic which is based on groupcpusevenly() who assumes the number of CPUs are not less than the number of groups. This can trigger a warning[1]:

    if (ret >= 0) WARNON(nrpresent + nr_others < numgrps);

Fixing this by only build the affinity masks only when

  • Driver passes affinity descriptor, driver like virtio-blk can make sure to limit the number of queues when it exceeds the number of CPUs
  • Parent support affinity setting config ops

This help to avoid the warning. More optimizations could be done on top.

[1] [ 682.146655] WARNING: CPU: 6 PID: 1550 at lib/groupcpus.c:400 groupcpusevenly+0x1aa/0x1c0 [ 682.146668] CPU: 6 PID: 1550 Comm: vdpa Not tainted 6.5.0-rc5jason+ #79 [ 682.146671] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014 [ 682.146673] RIP: 0010:groupcpus_evenly+0x1aa/0x1c0 [ 682.146676] Code: 4c 89 e0 5b 5d 41 5c 41 5d 41 5e c3 cc cc cc cc e8 1b c4 74 ff 48 89 ef e8 13 ac 98 ff 4c 89 e7 45 31 e4 e8 08 ac 98 ff eb c2 <0f> 0b eb b6 e8 fd 05 c3 00 45 31 e4 eb e5 cc cc cc cc cc cc cc cc [ 682.146679] RSP: 0018:ffffc9000215f498 EFLAGS: 00010293 [ 682.146682] RAX: 000000000001f1e0 RBX: 0000000000000041 RCX: 0000000000000000 [ 682.146684] RDX: ffff888109922058 RSI: 0000000000000041 RDI: 0000000000000030 [ 682.146686] RBP: ffff888109922058 R08: ffffc9000215f498 R09: ffffc9000215f4a0 [ 682.146687] R10: 00000000000198d0 R11: 0000000000000030 R12: ffff888107e02800 [ 682.146689] R13: 0000000000000030 R14: 0000000000000030 R15: 0000000000000041 [ 682.146692] FS: 00007fef52315740(0000) GS:ffff888237380000(0000) knlGS:0000000000000000 [ 682.146695] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 682.146696] CR2: 00007fef52509000 CR3: 0000000110dbc004 CR4: 0000000000370ee0 [ 682.146698] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 682.146700] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 682.146701] Call Trace: [ 682.146703] <TASK> [ 682.146705] ? __warn+0x7b/0x130 [ 682.146709] ? groupcpusevenly+0x1aa/0x1c0 [ 682.146712] ? reportbug+0x1c8/0x1e0 [ 682.146717] ? handlebug+0x3c/0x70 [ 682.146721] ? excinvalidop+0x14/0x70 [ 682.146723] ? asmexcinvalidop+0x16/0x20 [ 682.146727] ? groupcpusevenly+0x1aa/0x1c0 [ 682.146729] ? groupcpusevenly+0x15c/0x1c0 [ 682.146731] createaffinitymasks+0xaf/0x1a0 [ 682.146735] virtiovdpafindvqs+0x83/0x1d0 [ 682.146738] ? __pfxdefaultcalcsets+0x10/0x10 [ 682.146742] virtnetfindvqs+0x1f0/0x370 [ 682.146747] virtnetprobe+0x501/0xcd0 [ 682.146749] ? vpmoderngetstatus+0x12/0x20 [ 682.146751] ? getcapaddr.isra.0+0x10/0xc0 [ 682.146754] virtiodevprobe+0x1af/0x260 [ 682.146759] reallyprobe+0x1a5/0x410

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54008.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
3dad56823b5332ffdbe1867b2d7b50fbacea124a
Fixed
5f2592243ccd5bb5341f59be409ccfdd586841f3
Fixed
628b53fc66ca1910a3cb53c3c7e44e59750c3668
Fixed
ae15aceaa98ad9499763923f7890e345d9f46b60

Affected versions

v6.*
v6.3
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.4.1
v6.4.10
v6.4.11
v6.4.12
v6.4.13
v6.4.14
v6.4.15
v6.4.2
v6.4.3
v6.4.4
v6.4.5
v6.4.6
v6.4.7
v6.4.8
v6.4.9
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.5.1
v6.5.2

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.4.0
Fixed
6.4.16
Type
ECOSYSTEM
Events
Introduced
6.5.0
Fixed
6.5.3

Database specific

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