Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2024-44958

sched/smt: Fix unbalance sched_smt_present dec/inc

Description

In the Linux kernel, the following vulnerability has been resolved: sched/smt: Fix unbalance sched_smt_present dec/inc I got the following warn report while doing stress test: jump label: negative count! WARNING: CPU: 3 PID: 38 at kernel/jump_label.c:263 static_key_slow_try_dec+0x9d/0xb0 Call Trace: <TASK> __static_key_slow_dec_cpuslocked+0x16/0x70 sched_cpu_deactivate+0x26e/0x2a0 cpuhp_invoke_callback+0x3ad/0x10d0 cpuhp_thread_fun+0x3f5/0x680 smpboot_thread_fn+0x56d/0x8d0 kthread+0x309/0x400 ret_from_fork+0x41/0x70 ret_from_fork_asm+0x1b/0x30 </TASK> Because when cpuset_cpu_inactive() fails in sched_cpu_deactivate(), the cpu offline failed, but sched_smt_present is decremented before calling sched_cpu_deactivate(), it leads to unbalanced dec/inc, so fix it by incrementing sched_smt_present in the error path.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • c5511d03ec090980732e929c318a7a6374b5550e to < 2a3548c7ef2e135aee40e7e5e44e7d11b893e7c4affected
  • c5511d03ec090980732e929c318a7a6374b5550e to < 2cf7665efe451e48d27953e6b5bc627d518c902baffected
  • c5511d03ec090980732e929c318a7a6374b5550e to < 65727331b60197b742089855ac09464c22b96f66affected
  • c5511d03ec090980732e929c318a7a6374b5550e to < d0c87a3c6be10a57aa3463c32c3fc6b2a47c3dabaffected
  • c5511d03ec090980732e929c318a7a6374b5550e to < e22f910a26cc2a3ac9c66b8e935ef2a7dd881117affected
  • 01659361c63fdc91c0af239d08cdd211d590a656affected
  • a2c094816f894b7a265851fad858e994fa0f78b3affected
  • 4.14.86 to < 4.15affected
  • 4.19.7 to < 4.20affected

Linux Linux

Default version status: affected

  • 4.20affected
  • 0 to < 4.20unaffected
  • 5.15.165 to ≤ 5.15.*unaffected
  • 6.1.105 to ≤ 6.1.*unaffected
  • 6.6.46 to ≤ 6.6.*unaffected
  • 6.10.5 to ≤ 6.10.*unaffected
  • 6.11 to ≤ *unaffected

References