Patch "Revert "drm/msm: Add missing check and destroy for alloc_ordered_workqueue"" has been added to the 6.3-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Revert "drm/msm: Add missing check and destroy for alloc_ordered_workqueue"

to the 6.3-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     revert-drm-msm-add-missing-check-and-destroy-for-all.patch
and it can be found in the queue-6.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 03539983d05a490db68cc2948b80e8689b263a2d
Author: Johan Hovold <johan+linaro@xxxxxxxxxx>
Date:   Mon Mar 6 11:07:13 2023 +0100

    Revert "drm/msm: Add missing check and destroy for alloc_ordered_workqueue"
    
    [ Upstream commit dfa70344d1b5f5ff08525a8c872c8dd5e82fc5d9 ]
    
    This reverts commit 643b7d0869cc7f1f7a5ac7ca6bd25d88f54e31d0.
    
    A recent patch that tried to fix up the msm_drm_init() paths with
    respect to the workqueue but only ended up making things worse:
    
    First, the newly added calls to msm_drm_uninit() on early errors would
    trigger NULL-pointer dereferences, for example, as the kms pointer would
    not have been initialised. (Note that these paths were also modified by
    a second broken error handling patch which in effect cancelled out this
    part when merged.)
    
    Second, the newly added allocation sanity check would still leak the
    previously allocated drm device.
    
    Instead of trying to salvage what was badly broken (and clearly not
    tested), let's revert the bad commit so that clean and backportable
    fixes can be added in its place.
    
    Fixes: 643b7d0869cc ("drm/msm: Add missing check and destroy for alloc_ordered_workqueue")
    Cc: Jiasheng Jiang <jiasheng@xxxxxxxxxxx>
    Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
    Patchwork: https://patchwork.freedesktop.org/patch/525107/
    Link: https://lore.kernel.org/r/20230306100722.28485-2-johan+linaro@xxxxxxxxxx
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index aca48c868c14d..b7f5a78eadd4a 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -420,8 +420,6 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
 	priv->dev = ddev;
 
 	priv->wq = alloc_ordered_workqueue("msm", 0);
-	if (!priv->wq)
-		return -ENOMEM;
 
 	INIT_LIST_HEAD(&priv->objects);
 	mutex_init(&priv->obj_lock);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux