Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-21897— sched_ext: Fix pick_task_scx() picking non-queued tasks when it's called without balance()

EPSS 0.09% · P25
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-21897

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
sched_ext: Fix pick_task_scx() picking non-queued tasks when it's called without balance()
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix pick_task_scx() picking non-queued tasks when it's called without balance() a6250aa251ea ("sched_ext: Handle cases where pick_task_scx() is called without preceding balance_scx()") added a workaround to handle the cases where pick_task_scx() is called without prececing balance_scx() which is due to a fair class bug where pick_taks_fair() may return NULL after a true return from balance_fair(). The workaround detects when pick_task_scx() is called without preceding balance_scx() and emulates SCX_RQ_BAL_KEEP and triggers kicking to avoid stalling. Unfortunately, the workaround code was testing whether @prev was on SCX to decide whether to keep the task running. This is incorrect as the task may be on SCX but no longer runnable. This could lead to a non-runnable task to be returned from pick_task_scx() which cause interesting confusions and failures. e.g. A common failure mode is the task ending up with (!on_rq && on_cpu) state which can cause potential wakers to busy loop, which can easily lead to deadlocks. Fix it by testing whether @prev has SCX_TASK_QUEUED set. This makes @prev_on_scx only used in one place. Open code the usage and improve the comment while at it.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于pick_task_scx()在没有balance()的情况下选择非队列任务的问题。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux a6250aa251eacaf3ebfcfe152a96a727fd483ecd ~ 5324c459f90d16b0c43a78b494c598915d782b7a -
LinuxLinux 6.12 -

II. Public POCs for CVE-2025-21897

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21897

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-04-01 · 93 CVEs total

CVE-2025-219478.1 HIGHksmbd: fix type confusion via race condition when using ipc_msg_send_request
CVE-2025-21926net: gso: fix ownership in __udp_gso_segment
CVE-2025-21932mm: abort vma_modify() on merge out of memory failure
CVE-2025-21935rapidio: add check for rio_add_net() in rio_scan_alloc_net()
CVE-2025-21937Bluetooth: Add check for mgmt_alloc_skb() in mgmt_remote_name()
CVE-2025-21936Bluetooth: Add check for mgmt_alloc_skb() in mgmt_device_connected()
CVE-2025-21939drm/xe/hmm: Don't dereference struct page pointers without notifier lock
CVE-2025-21938mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr
CVE-2025-21934rapidio: fix an API misues when rio_add_net() fails
CVE-2025-21928HID: intel-ish-hid: Fix use-after-free issue in ishtp_hid_remove()
CVE-2025-21927nvme-tcp: fix potential memory corruption in nvme_tcp_recv_pdu()
CVE-2025-21929HID: intel-ish-hid: Fix use-after-free issue in hid_ishtp_cl_remove()
CVE-2025-21925llc: do not use skb_get() before dev_queue_xmit()
CVE-2025-21924net: hns3: make sure ptp clock is unregister and freed if hclge_ptp_get_cycle returns an e
CVE-2025-21922ppp: Fix KMSAN uninit-value warning with bpf
CVE-2025-21923HID: hid-steam: Fix use-after-free when detaching device
CVE-2025-21920vlan: enforce underlying device type
CVE-2025-21921net: ethtool: netlink: Allow NULL nlattrs when getting a phy_device
CVE-2025-21919sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
CVE-2025-21918usb: typec: ucsi: Fix NULL pointer access

Showing top 20 of 93 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-21897

No comments yet


Leave a comment