parisc: led: Fix potential null-ptr-deref in start_task()
stable inclusion from stable-v5.10.163 commit 3505c187b86136250b39e62c72a3a70435277af6 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I7PJ9N Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3505c187b86136250b39e62c72a3a70435277af6 ---------------------------------------------------- commit 41f563ab upstream. start_task() calls create_singlethread_workqueue() and not checked the ret value, which may return NULL. And a null-ptr-deref may happen: start_task() create_singlethread_workqueue() # failed, led_wq is NULL queue_delayed_work() queue_delayed_work_on() __queue_delayed_work() # warning here, but continue __queue_work() # access wq->flags, null-ptr-deref Check the ret value and return -ENOMEM if it is NULL. Fixes: 34994952 ("[PARISC] Use work queue in LED/LCD driver instead of tasklet.") Signed-off-by:Shang XiaoJing <shangxiaojing@huawei.com> Signed-off-by:
Helge Deller <deller@gmx.de> Cc: <stable@vger.kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
zhaoxiaoqiang11 <zhaoxiaoqiang11@jd.com>
Loading
Please sign in to comment