CVE-2024-40995

net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()

State
Published
Severity
Not scored
Published
Jul 12, 2024
Updated
Oct 15, 2026
Reserved
Jul 12, 2024

Read the record on cve.org

Description

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

net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()

syzbot found hanging tasks waiting on rtnl_lock [1]

A reproducer is available in the syzbot bug.

When a request to add multiple actions with the same index is sent, the second request will block forever on the first request. This holds rtnl_lock, and causes tasks to hang.

Return -EAGAIN to prevent infinite looping, while keeping documented behavior.

[1]

INFO: task kworker/1:0:5088 blocked for more than 143 seconds. Not tainted 6.9.0-rc4-syzkaller-00173-g3cdb45594619 #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/1:0 state:D stack:23744 pid:5088 tgid:5088 ppid:2 flags:0x00004000 Workqueue: events_power_efficient reg_check_chans_work Call Trace: <TASK> context_switch kernel/sched/core.c:5409 [inline] __schedule+0xf15/0x5d00 kernel/sched/core.c:6746 __schedule_loop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6895 __mutex_lock_common kernel/locking/mutex.c:684 [inline] __mutex_lock+0x5b8/0x9c0 kernel/locking/mutex.c:752 wiphy_lock include/net/cfg80211.h:5953 [inline] reg_leave_invalid_chans net/wireless/reg.c:2466 [inline] reg_check_chans_work+0x10a/0x10e0 net/wireless/reg.c:2481

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before 0d8a2d287c8a394c0d4653f0c6c7be4c688e5a74Affected
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before c6a7da65a296745535a964be1019ec7691b0cb90Affected
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before 25987a97eec4d5f897cd04ee1b45170829c610daAffected
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before 6fc78d67f51aeb9a542d39a8714e16bc411582d4Affected
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before 5f926aa96b08b6c47178fe1171e7ae331c695fc2Affected
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before 7a0e497b597df7c4cf2b63fc6e9188b6cabe5335Affected
  • 0190c1d452a91c38a3462abdd81752be1b9006a8 to before d864319871b05fadd153e0aede4811ca7008f5d6Affected
LinuxLinux
  • 4.19Affected
  • before 4.19Not affected
  • 5.4.279 through 5.4.*Not affected
  • 5.10.221 through 5.10.*Not affected
  • 5.15.162 through 5.15.*Not affected
  • 6.1.96 through 6.1.*Not affected
  • 6.6.36 through 6.6.*Not affected
  • 6.9.7 through 6.9.*Not affected
  • 6.10 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.