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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-50079— io_uring/sqpoll: ensure task state is TASK_RUNNING when running task_work

EPSS 0.03% · P10
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-50079

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
io_uring/sqpoll: ensure task state is TASK_RUNNING when running task_work
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: io_uring/sqpoll: ensure task state is TASK_RUNNING when running task_work When the sqpoll is exiting and cancels pending work items, it may need to run task_work. If this happens from within io_uring_cancel_generic(), then it may be under waiting for the io_uring_task waitqueue. This results in the below splat from the scheduler, as the ring mutex may be attempted grabbed while in a TASK_INTERRUPTIBLE state. Ensure that the task state is set appropriately for that, just like what is done for the other cases in io_run_task_work(). do not call blocking ops when !TASK_RUNNING; state=1 set at [<0000000029387fd2>] prepare_to_wait+0x88/0x2fc WARNING: CPU: 6 PID: 59939 at kernel/sched/core.c:8561 __might_sleep+0xf4/0x140 Modules linked in: CPU: 6 UID: 0 PID: 59939 Comm: iou-sqp-59938 Not tainted 6.12.0-rc3-00113-g8d020023b155 #7456 Hardware name: linux,dummy-virt (DT) pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : __might_sleep+0xf4/0x140 lr : __might_sleep+0xf4/0x140 sp : ffff80008c5e7830 x29: ffff80008c5e7830 x28: ffff0000d93088c0 x27: ffff60001c2d7230 x26: dfff800000000000 x25: ffff0000e16b9180 x24: ffff80008c5e7a50 x23: 1ffff000118bcf4a x22: ffff0000e16b9180 x21: ffff0000e16b9180 x20: 000000000000011b x19: ffff80008310fac0 x18: 1ffff000118bcd90 x17: 30303c5b20746120 x16: 74657320313d6574 x15: 0720072007200720 x14: 0720072007200720 x13: 0720072007200720 x12: ffff600036c64f0b x11: 1fffe00036c64f0a x10: ffff600036c64f0a x9 : dfff800000000000 x8 : 00009fffc939b0f6 x7 : ffff0001b6327853 x6 : 0000000000000001 x5 : ffff0001b6327850 x4 : ffff600036c64f0b x3 : ffff8000803c35bc x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000e16b9180 Call trace: __might_sleep+0xf4/0x140 mutex_lock+0x84/0x124 io_handle_tw_list+0xf4/0x260 tctx_task_work_run+0x94/0x340 io_run_task_work+0x1ec/0x3c0 io_uring_cancel_generic+0x364/0x524 io_sq_thread+0x820/0x124c ret_from_fork+0x10/0x20
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存在安全漏洞,该漏洞源于在运行task_work时未确保任务状态为TASK_RUNNING,可能导致调度器出现警告。
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 af5d68f8892f8ee8f137648b79ceb2abc153a19b ~ 887ba598d9cfb537bdb3dfd95f087ff8a08cb74d -
LinuxLinux 6.9 -

II. Public POCs for CVE-2024-50079

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-50079

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-10-29 · 21 CVEs total

CVE-2024-50077Bluetooth: ISO: Fix multiple init when debugfs is disabled
CVE-2024-50068mm/damon/tests/sysfs-kunit.h: fix memory leak in damon_sysfs_test_add_targets()
CVE-2024-50069pinctrl: apple: check devm_kasprintf() returned value
CVE-2024-50070pinctrl: stm32: check devm_kasprintf() returned value
CVE-2024-50071pinctrl: nuvoton: fix a double free in ma35_pinctrl_dt_node_to_map_func()
CVE-2024-50072x86/bugs: Use code segment selector for VERW operand
CVE-2024-50073tty: n_gsm: Fix use-after-free in gsm_cleanup_mux
CVE-2024-50074parport: Proper fix for array out-of-bounds access
CVE-2024-50075xhci: tegra: fix checked USB2 port number
CVE-2024-50076vt: prevent kernel-infoleak in con_font_get()
CVE-2024-50088btrfs: fix uninitialized pointer free in add_inode_ref()
CVE-2024-50078Bluetooth: Call iso_exit() on module unload
CVE-2024-50080ublk: don't allow user copy for unprivileged device
CVE-2024-50081blk-mq: setup queue ->tag_set before initializing hctx
CVE-2024-50082blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race
CVE-2024-50083tcp: fix mptcp DSS corruption due to large pmtu xmit
CVE-2024-50084net: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test()
CVE-2024-50085mptcp: pm: fix UaF read in mptcp_pm_nl_rm_addr_or_subflow
CVE-2024-50086ksmbd: fix user-after-free from session log off
CVE-2024-50087btrfs: fix uninitialized pointer free on read_alloc_one_name() error

IV. Related Vulnerabilities

V. Comments for CVE-2024-50079

No comments yet


Leave a comment