Description
In the Linux kernel, the following vulnerability has been resolved: samples/ftrace: Fix kthread_stop() on ERR_PTR in ftrace-direct-multi-modify ftrace_direct_multi_init() assigns kthread_run()'s return value to simple_tsk without an IS_ERR() check. When kthread_run() fails it returns ERR_PTR(-ENOMEM), but init still returns 0, so the module loads with simple_tsk holding an error pointer. On unload, ftrace_direct_multi_exit() then passes that ERR_PTR to kthread_stop(), leading to a null-pointer-dereference. Check the return value of kthread_run() with IS_ERR(); on failure, unregister the ftrace direct call and propagate the error code.
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
e1067a07cfbc5a36abad3752fafe4c79e06db1bb to < 02866f063062dcc5686445c738be003de9787250affectede1067a07cfbc5a36abad3752fafe4c79e06db1bb to < 7a96b9f6d5ba23dbce66c8a4a242effd4c01a830affectede1067a07cfbc5a36abad3752fafe4c79e06db1bb to < 98b7b2a29ae87937aa02ab9391543ef8c602cd94affectede1067a07cfbc5a36abad3752fafe4c79e06db1bb to < 626614df9080d7052fbe24dc90b5434717ab7a9faffectede1067a07cfbc5a36abad3752fafe4c79e06db1bb to < cf839636911d8313f3ecd098329fd0b96499e4cfaffectede1067a07cfbc5a36abad3752fafe4c79e06db1bb to < 6727b7618f49401acf373fa3ec5712e2ec52e5cfaffected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.191 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/02866f063062dcc5686445c738be003de9787250 ↗
- https://git.kernel.org/stable/c/7a96b9f6d5ba23dbce66c8a4a242effd4c01a830 ↗
- https://git.kernel.org/stable/c/98b7b2a29ae87937aa02ab9391543ef8c602cd94 ↗
- https://git.kernel.org/stable/c/626614df9080d7052fbe24dc90b5434717ab7a9f ↗
- https://git.kernel.org/stable/c/cf839636911d8313f3ecd098329fd0b96499e4cf ↗
- https://git.kernel.org/stable/c/6727b7618f49401acf373fa3ec5712e2ec52e5cf ↗