CVE-2025-37993 (GCVE-0-2025-37993)
Vulnerability from cvelistv5
Published
2025-05-29 13:15
Modified
2025-05-29 13:15
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe
The spin lock tx_handling_spinlock in struct m_can_classdev 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, .owner_cpu: 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>] dump_backtrace+0x1c/0x24
| [<ffffffff800022f2>] show_stack+0x28/0x34
| [<ffffffff8000de3e>] dump_stack_lvl+0x4a/0x68
| [<ffffffff8000de70>] dump_stack+0x14/0x1c
| [<ffffffff80003134>] spin_dump+0x62/0x6e
| [<ffffffff800883ba>] do_raw_spin_lock+0xd0/0x142
| [<ffffffff807a6fcc>] _raw_spin_lock_irqsave+0x20/0x2c
| [<ffffffff80536dba>] m_can_start_xmit+0x90/0x34a
| [<ffffffff806148b0>] dev_hard_start_xmit+0xa6/0xee
| [<ffffffff8065b730>] sch_direct_xmit+0x114/0x292
| [<ffffffff80614e2a>] __dev_queue_xmit+0x3b0/0xaa8
| [<ffffffff8073b8fa>] can_send+0xc6/0x242
| [<ffffffff8073d1c0>] raw_sendmsg+0x1a8/0x36c
| [<ffffffff805ebf06>] sock_write_iter+0x9a/0xee
| [<ffffffff801d06ea>] vfs_write+0x184/0x3a6
| [<ffffffff801d0a88>] ksys_write+0xa0/0xc0
| [<ffffffff801d0abc>] __riscv_sys_write+0x14/0x1c
| [<ffffffff8079ebf8>] do_trap_ecall_u+0x168/0x212
| [<ffffffff807a830a>] handle_exception+0x146/0x152
Initializing the spin lock in m_can_class_allocate_dev solves that
problem.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/can/m_can/m_can.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "2ecce25ea296f328d79070ee36229a15aeeb7aca",
"status": "affected",
"version": "1fa80e23c15051edc1c594270517de3517ded798",
"versionType": "git"
},
{
"lessThan": "7d5379cfecfdd665e4206bc4f19824656388779f",
"status": "affected",
"version": "1fa80e23c15051edc1c594270517de3517ded798",
"versionType": "git"
},
{
"lessThan": "dcaeeb8ae84c5506ebc574732838264f3887738c",
"status": "affected",
"version": "1fa80e23c15051edc1c594270517de3517ded798",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/can/m_can/m_can.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.9"
},
{
"lessThan": "6.9",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.29",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.14.*",
"status": "unaffected",
"version": "6.14.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.15",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.29",
"versionStartIncluding": "6.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.14.7",
"versionStartIncluding": "6.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.15",
"versionStartIncluding": "6.9",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncan: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe\n\nThe spin lock tx_handling_spinlock in struct m_can_classdev is not\nbeing initialized. This leads the following spinlock bad magic\ncomplaint from the kernel, eg. when trying to send CAN frames with\ncansend from can-utils:\n\n| BUG: spinlock bad magic on CPU#0, cansend/95\n| lock: 0xff60000002ec1010, .magic: 00000000, .owner: \u003cnone\u003e/-1, .owner_cpu: 0\n| CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE\n| Hardware name: MachineWare SIM-V (DT)\n| Call Trace:\n| [\u003cffffffff800133e0\u003e] dump_backtrace+0x1c/0x24\n| [\u003cffffffff800022f2\u003e] show_stack+0x28/0x34\n| [\u003cffffffff8000de3e\u003e] dump_stack_lvl+0x4a/0x68\n| [\u003cffffffff8000de70\u003e] dump_stack+0x14/0x1c\n| [\u003cffffffff80003134\u003e] spin_dump+0x62/0x6e\n| [\u003cffffffff800883ba\u003e] do_raw_spin_lock+0xd0/0x142\n| [\u003cffffffff807a6fcc\u003e] _raw_spin_lock_irqsave+0x20/0x2c\n| [\u003cffffffff80536dba\u003e] m_can_start_xmit+0x90/0x34a\n| [\u003cffffffff806148b0\u003e] dev_hard_start_xmit+0xa6/0xee\n| [\u003cffffffff8065b730\u003e] sch_direct_xmit+0x114/0x292\n| [\u003cffffffff80614e2a\u003e] __dev_queue_xmit+0x3b0/0xaa8\n| [\u003cffffffff8073b8fa\u003e] can_send+0xc6/0x242\n| [\u003cffffffff8073d1c0\u003e] raw_sendmsg+0x1a8/0x36c\n| [\u003cffffffff805ebf06\u003e] sock_write_iter+0x9a/0xee\n| [\u003cffffffff801d06ea\u003e] vfs_write+0x184/0x3a6\n| [\u003cffffffff801d0a88\u003e] ksys_write+0xa0/0xc0\n| [\u003cffffffff801d0abc\u003e] __riscv_sys_write+0x14/0x1c\n| [\u003cffffffff8079ebf8\u003e] do_trap_ecall_u+0x168/0x212\n| [\u003cffffffff807a830a\u003e] handle_exception+0x146/0x152\n\nInitializing the spin lock in m_can_class_allocate_dev solves that\nproblem."
}
],
"providerMetadata": {
"dateUpdated": "2025-05-29T13:15:52.811Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/2ecce25ea296f328d79070ee36229a15aeeb7aca"
},
{
"url": "https://git.kernel.org/stable/c/7d5379cfecfdd665e4206bc4f19824656388779f"
},
{
"url": "https://git.kernel.org/stable/c/dcaeeb8ae84c5506ebc574732838264f3887738c"
}
],
"title": "can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2025-37993",
"datePublished": "2025-05-29T13:15:52.811Z",
"dateReserved": "2025-04-16T04:51:23.976Z",
"dateUpdated": "2025-05-29T13:15:52.811Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2025-37993\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-05-29T14:15:35.767\",\"lastModified\":\"2025-05-29T14:29:50.247\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncan: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe\\n\\nThe spin lock tx_handling_spinlock in struct m_can_classdev is not\\nbeing initialized. This leads the following spinlock bad magic\\ncomplaint from the kernel, eg. when trying to send CAN frames with\\ncansend from can-utils:\\n\\n| BUG: spinlock bad magic on CPU#0, cansend/95\\n| lock: 0xff60000002ec1010, .magic: 00000000, .owner: \u003cnone\u003e/-1, .owner_cpu: 0\\n| CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE\\n| Hardware name: MachineWare SIM-V (DT)\\n| Call Trace:\\n| [\u003cffffffff800133e0\u003e] dump_backtrace+0x1c/0x24\\n| [\u003cffffffff800022f2\u003e] show_stack+0x28/0x34\\n| [\u003cffffffff8000de3e\u003e] dump_stack_lvl+0x4a/0x68\\n| [\u003cffffffff8000de70\u003e] dump_stack+0x14/0x1c\\n| [\u003cffffffff80003134\u003e] spin_dump+0x62/0x6e\\n| [\u003cffffffff800883ba\u003e] do_raw_spin_lock+0xd0/0x142\\n| [\u003cffffffff807a6fcc\u003e] _raw_spin_lock_irqsave+0x20/0x2c\\n| [\u003cffffffff80536dba\u003e] m_can_start_xmit+0x90/0x34a\\n| [\u003cffffffff806148b0\u003e] dev_hard_start_xmit+0xa6/0xee\\n| [\u003cffffffff8065b730\u003e] sch_direct_xmit+0x114/0x292\\n| [\u003cffffffff80614e2a\u003e] __dev_queue_xmit+0x3b0/0xaa8\\n| [\u003cffffffff8073b8fa\u003e] can_send+0xc6/0x242\\n| [\u003cffffffff8073d1c0\u003e] raw_sendmsg+0x1a8/0x36c\\n| [\u003cffffffff805ebf06\u003e] sock_write_iter+0x9a/0xee\\n| [\u003cffffffff801d06ea\u003e] vfs_write+0x184/0x3a6\\n| [\u003cffffffff801d0a88\u003e] ksys_write+0xa0/0xc0\\n| [\u003cffffffff801d0abc\u003e] __riscv_sys_write+0x14/0x1c\\n| [\u003cffffffff8079ebf8\u003e] do_trap_ecall_u+0x168/0x212\\n| [\u003cffffffff807a830a\u003e] handle_exception+0x146/0x152\\n\\nInitializing the spin lock in m_can_class_allocate_dev solves that\\nproblem.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2ecce25ea296f328d79070ee36229a15aeeb7aca\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7d5379cfecfdd665e4206bc4f19824656388779f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/dcaeeb8ae84c5506ebc574732838264f3887738c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…