CVE-2024-26854

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-26854
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-26854.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-26854
Downstream
Related
Published
2024-04-17T10:17:17Z
Modified
2025-10-09T05:08:37.018317Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
ice: fix uninitialized dplls mutex usage
Details

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

ice: fix uninitialized dplls mutex usage

The pf->dplls.lock mutex is initialized too late, after its first use. Move it to the top of icedpllinit. Note that the "errexit" error path destroys the mutex. And the mutex is the last thing destroyed in icedplldeinit. This fixes the following warning with CONFIGDEBUG_MUTEXES:

ice 0000:10:00.0: The DDP package was successfully loaded: ICE OS Default Package version 1.3.36.0 ice 0000:10:00.0: 252.048 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x16 link) ice 0000:10:00.0: PTP init successful ------------[ cut here ]------------ DEBUGLOCKSWARNON(lock->magic != lock) WARNING: CPU: 0 PID: 410 at kernel/locking/mutex.c:587 mutexlock+0x773/0xd40 Modules linked in: crct10difpclmul crc32pclmul crc32cintel polyvalclmulni polyvalgeneric ice(+) nvme nvmec> CPU: 0 PID: 410 Comm: kworker/0:4 Not tainted 6.8.0-rc5+ #3 Hardware name: HPE ProLiant DL110 Gen10 Plus/ProLiant DL110 Gen10 Plus, BIOS U56 10/19/2023 Workqueue: events workforcpufn RIP: 0010:mutexlock+0x773/0xd40 Code: c0 0f 84 1d f9 ff ff 44 8b 35 0d 9c 69 01 45 85 f6 0f 85 0d f9 ff ff 48 c7 c6 12 a2 a9 85 48 c7 c7 12 f1 a> RSP: 0018:ff7eb1a3417a7ae0 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000000000 RDX: 0000000000000002 RSI: ffffffff85ac2bff RDI: 00000000ffffffff RBP: ff7eb1a3417a7b80 R08: 0000000000000000 R09: 00000000ffffbfff R10: ff7eb1a3417a7978 R11: ff32b80f7fd2e568 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: ff32b7f02c50e0d8 FS: 0000000000000000(0000) GS:ff32b80efe800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055b5852cc000 CR3: 000000003c43a004 CR4: 0000000000771ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? _warn+0x84/0x170 ? _mutexlock+0x773/0xd40 ? reportbug+0x1c7/0x1d0 ? prbreadvalid+0x1b/0x30 ? handlebug+0x42/0x70 ? excinvalidop+0x18/0x70 ? asmexcinvalidop+0x1a/0x20 ? _mutexlock+0x773/0xd40 ? rcuiswatching+0x11/0x50 ? _kmallocnodetrackcaller+0x346/0x490 ? icedplllockstatusget+0x28/0x50 [ice] ? _pfxicedplllockstatusget+0x10/0x10 [ice] ? icedplllockstatusget+0x28/0x50 [ice] icedplllockstatusget+0x28/0x50 [ice] dplldevicegetone+0x14f/0x2e0 dplldeviceeventsend+0x7d/0x150 dplldeviceregister+0x124/0x180 icedpllinitdpll+0x7b/0xd0 [ice] icedpllinit+0x224/0xa40 [ice] ? _devinfo+0x70/0x90 iceload+0x468/0x690 [ice] iceprobe+0x75b/0xa10 [ice] ? rawspinunlockirqrestore+0x4f/0x80 ? processonework+0x1a3/0x500 localpciprobe+0x47/0xa0 workforcpufn+0x17/0x30 processonework+0x20d/0x500 workerthread+0x1df/0x3e0 ? _pfxworkerthread+0x10/0x10 kthread+0x103/0x140 ? _pfxkthread+0x10/0x10 retfromfork+0x31/0x50 ? _pfxkthread+0x10/0x10 retfromforkasm+0x1b/0x30 </TASK> irq event stamp: 125197 hardirqs last enabled at (125197): [<ffffffff8416409d>] finishtaskswitch.isra.0+0x12d/0x3d0 hardirqs last disabled at (125196): [<ffffffff85134044>] _schedule+0xea4/0x19f0 softirqs last enabled at (105334): [<ffffffff84e1e65a>] napigetfragscheck+0x1a/0x60 softirqs last disabled at (105332): [<ffffffff84e1e65a>] napigetfrags_check+0x1a/0x60 ---[ end trace 0000000000000000 ]---

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
d7999f5ea64bb10d2857b8cbfe973be373bac7c9
Fixed
db29ceff3e25c48907016da456a7cbee6310fd83
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d7999f5ea64bb10d2857b8cbfe973be373bac7c9
Fixed
9224fc86f1776193650a33a275cac628952f80a9

Affected versions

v6.*

v6.6
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.7.1
v6.7.2
v6.7.3
v6.7.4
v6.7.5
v6.7.6
v6.7.7
v6.7.8
v6.7.9
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.10

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Last affected
d7999f5ea64b

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Last affected
6.7