CVE-2024-57939

riscv: Fix sleeping in invalid context in die()

State
Published
Severity
5.5 Medium
Published
Jan 21, 2025
Updated
May 11, 2026
Reserved
Jan 19, 2025

Read the record on cve.org

Description

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

riscv: Fix sleeping in invalid context in die()

die() can be called in exception handler, and therefore cannot sleep. However, die() takes spinlock_t which can sleep with PREEMPT_RT enabled. That causes the following warning:

BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 285, name: mutex preempt_count: 110001, expected: 0 RCU nest depth: 0, expected: 0 CPU: 0 UID: 0 PID: 285 Comm: mutex Not tainted 6.12.0-rc7-00022-ge19049cf7d56-dirty #234 Hardware name: riscv-virtio,qemu (DT) Call Trace: dump_backtrace+0x1c/0x24 show_stack+0x2c/0x38 dump_stack_lvl+0x5a/0x72 dump_stack+0x14/0x1c __might_resched+0x130/0x13a rt_spin_lock+0x2a/0x5c die+0x24/0x112 do_trap_insn_illegal+0xa0/0xea _new_vmalloc_restore_context_a0+0xcc/0xd8 Oops - illegal instruction [#1]

Switch to use raw_spinlock_t, which does not sleep even with PREEMPT_RT enabled.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 76d2a0493a17d4c8ecc781366850c3c4f8e1a446 to before 8c38baa03ac8e18140faf36a3b955d30cad48e74Affected
  • 76d2a0493a17d4c8ecc781366850c3c4f8e1a446 to before 10c24df2e303f517fab0359392c11b6b1d553f2bAffected
  • 76d2a0493a17d4c8ecc781366850c3c4f8e1a446 to before c21df31fc2a4afc02a6e56511364e9e793ea92ecAffected
  • 76d2a0493a17d4c8ecc781366850c3c4f8e1a446 to before f48f060a4b36b5e96628f6c3fb1540f1e8dedb69Affected
  • 76d2a0493a17d4c8ecc781366850c3c4f8e1a446 to before 76ab0afcdbe8c9685b589016ee1c0e25fe596707Affected
  • 76d2a0493a17d4c8ecc781366850c3c4f8e1a446 to before 6a97f4118ac07cfdc316433f385dbdc12af5025eAffected
LinuxLinux
  • 4.15Affected
  • before 4.15Not affected
  • 5.10.234 through 5.10.*Not affected
  • 5.15.177 through 5.15.*Not affected
  • 6.1.125 through 6.1.*Not affected
  • 6.6.72 through 6.6.*Not affected
  • 6.12.10 through 6.12.*Not affected
  • 6.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.