CVE-2025-37993
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
29/05/2025
Last modified:
29/05/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe<br />
<br />
The spin lock tx_handling_spinlock in struct m_can_classdev is not<br />
being initialized. This leads the following spinlock bad magic<br />
complaint from the kernel, eg. when trying to send CAN frames with<br />
cansend from can-utils:<br />
<br />
| BUG: spinlock bad magic on CPU#0, cansend/95<br />
| lock: 0xff60000002ec1010, .magic: 00000000, .owner: /-1, .owner_cpu: 0<br />
| CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE<br />
| Hardware name: MachineWare SIM-V (DT)<br />
| Call Trace:<br />
| [] dump_backtrace+0x1c/0x24<br />
| [] show_stack+0x28/0x34<br />
| [] dump_stack_lvl+0x4a/0x68<br />
| [] dump_stack+0x14/0x1c<br />
| [] spin_dump+0x62/0x6e<br />
| [] do_raw_spin_lock+0xd0/0x142<br />
| [] _raw_spin_lock_irqsave+0x20/0x2c<br />
| [] m_can_start_xmit+0x90/0x34a<br />
| [] dev_hard_start_xmit+0xa6/0xee<br />
| [] sch_direct_xmit+0x114/0x292<br />
| [] __dev_queue_xmit+0x3b0/0xaa8<br />
| [] can_send+0xc6/0x242<br />
| [] raw_sendmsg+0x1a8/0x36c<br />
| [] sock_write_iter+0x9a/0xee<br />
| [] vfs_write+0x184/0x3a6<br />
| [] ksys_write+0xa0/0xc0<br />
| [] __riscv_sys_write+0x14/0x1c<br />
| [] do_trap_ecall_u+0x168/0x212<br />
| [] handle_exception+0x146/0x152<br />
<br />
Initializing the spin lock in m_can_class_allocate_dev solves that<br />
problem.