drm/msm/hdmi: Add missing check for alloc_ordered_workqueue
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Fri, 6 Jan 2023 02:30:11 +0000 (10:30 +0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 8 Jan 2023 22:47:05 +0000 (00:47 +0200)
Add check for the return value of alloc_ordered_workqueue as it may return
NULL pointer and cause NULL pointer dereference in `hdmi_hdcp.c` and
`hdmi_hpd.c`.

Fixes: c6a57a50ad56 ("drm/msm/hdmi: add hdmi hdcp support (V3)")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/517211/
Link: https://lore.kernel.org/r/20230106023011.3985-1-jiasheng@iscas.ac.cn
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/hdmi/hdmi.c

index 97372bb..4ad36bc 100644 (file)
@@ -120,6 +120,10 @@ static int msm_hdmi_init(struct hdmi *hdmi)
        int ret;
 
        hdmi->workq = alloc_ordered_workqueue("msm_hdmi", 0);
+       if (!hdmi->workq) {
+               ret = -ENOMEM;
+               goto fail;
+       }
 
        hdmi->i2c = msm_hdmi_i2c_init(hdmi);
        if (IS_ERR(hdmi->i2c)) {