CVE-2025-37993

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-37993
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-37993.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-37993
Downstream
Published
2025-05-29T13:15:52Z
Modified
2025-10-16T00:43:23.356522Z
Summary
can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe
Details

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

can: mcan: mcanclassallocate_dev(): initialize spin lock on device probe

The spin lock txhandlingspinlock in struct mcanclassdev is not being initialized. This leads the following spinlock bad magic complaint from the kernel, eg. when trying to send CAN frames with cansend from can-utils:

| BUG: spinlock bad magic on CPU#0, cansend/95 | lock: 0xff60000002ec1010, .magic: 00000000, .owner: <none>/-1, .ownercpu: 0 | CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE | Hardware name: MachineWare SIM-V (DT) | Call Trace: | [<ffffffff800133e0>] dumpbacktrace+0x1c/0x24 | [<ffffffff800022f2>] showstack+0x28/0x34 | [<ffffffff8000de3e>] dumpstacklvl+0x4a/0x68 | [<ffffffff8000de70>] dumpstack+0x14/0x1c | [<ffffffff80003134>] spindump+0x62/0x6e | [<ffffffff800883ba>] dorawspinlock+0xd0/0x142 | [<ffffffff807a6fcc>] rawspinlockirqsave+0x20/0x2c | [<ffffffff80536dba>] mcanstartxmit+0x90/0x34a | [<ffffffff806148b0>] devhardstartxmit+0xa6/0xee | [<ffffffff8065b730>] schdirectxmit+0x114/0x292 | [<ffffffff80614e2a>] _devqueuexmit+0x3b0/0xaa8 | [<ffffffff8073b8fa>] cansend+0xc6/0x242 | [<ffffffff8073d1c0>] rawsendmsg+0x1a8/0x36c | [<ffffffff805ebf06>] sockwriteiter+0x9a/0xee | [<ffffffff801d06ea>] vfswrite+0x184/0x3a6 | [<ffffffff801d0a88>] ksyswrite+0xa0/0xc0 | [<ffffffff801d0abc>] _riscvsyswrite+0x14/0x1c | [<ffffffff8079ebf8>] dotrapecallu+0x168/0x212 | [<ffffffff807a830a>] handleexception+0x146/0x152

Initializing the spin lock in mcanclassallocatedev solves that problem.

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
1fa80e23c15051edc1c594270517de3517ded798
Fixed
2ecce25ea296f328d79070ee36229a15aeeb7aca
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1fa80e23c15051edc1c594270517de3517ded798
Fixed
7d5379cfecfdd665e4206bc4f19824656388779f
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1fa80e23c15051edc1c594270517de3517ded798
Fixed
dcaeeb8ae84c5506ebc574732838264f3887738c

Affected versions

v6.*

v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.12.1
v6.12.10
v6.12.11
v6.12.12
v6.12.13
v6.12.14
v6.12.15
v6.12.16
v6.12.17
v6.12.18
v6.12.19
v6.12.2
v6.12.20
v6.12.21
v6.12.22
v6.12.23
v6.12.24
v6.12.25
v6.12.26
v6.12.27
v6.12.28
v6.12.3
v6.12.4
v6.12.5
v6.12.6
v6.12.7
v6.12.8
v6.12.9
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.14
v6.14-rc1
v6.14-rc2
v6.14-rc3
v6.14-rc4
v6.14-rc5
v6.14-rc6
v6.14-rc7
v6.14.1
v6.14.2
v6.14.3
v6.14.4
v6.14.5
v6.14.6
v6.15-rc1
v6.15-rc2
v6.15-rc3
v6.15-rc4
v6.8
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.9.0
Fixed
6.12.29
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.14.7