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.
https://git.kernel.org/stable/c/cf839636911d8313f3ecd098329fd0b96499e4cf
https://git.kernel.org/stable/c/98b7b2a29ae87937aa02ab9391543ef8c602cd94
https://git.kernel.org/stable/c/7a96b9f6d5ba23dbce66c8a4a242effd4c01a830
https://git.kernel.org/stable/c/6727b7618f49401acf373fa3ec5712e2ec52e5cf
https://git.kernel.org/stable/c/626614df9080d7052fbe24dc90b5434717ab7a9f