Re: [PATCH 00/10] drm/msm: fix bind error handling

From: Dmitry Baryshkov
Date: Tue Mar 21 2023 - 11:22:33 EST


On 21/03/2023 15:02, Johan Hovold wrote:
On Mon, Mar 06, 2023 at 11:07:12AM +0100, Johan Hovold wrote:
I had reasons to look closer at the MSM DRM driver error handling and
realised that it had suffered from a fair amount of bit rot over the
years.

Unfortunately, I started fixing this in my 6.2 branch and failed to
notice two partial and, as it turned out, broken attempts to address
this that are now in 6.3-rc1.

Instead of trying to salvage this incrementally, I'm reverting the two
broken commits so that clean and backportable fixes can be added in
their place.

Included are also two related cleanups.

Any further comments to these patches (except for 9/10, which should be
dropped)?

As the patches being reverted here were first added in 6.3-rc1 there is
still time to get this into 6.3-rc (e.g. before AUTOSEL starts trying to
backport them).

I will take a look at the patches. Additional question, as you have been looking into this area. We have plenty of code which is only called under the `if (kms)` condition. Could you hopefully move these parts to separate functions, so that the error handling is also simpler? If not, I'll put this to my todo list, but it might take some time before I have time for that.


Johan

Johan Hovold (10):
Revert "drm/msm: Add missing check and destroy for
alloc_ordered_workqueue"
Revert "drm/msm: Fix failure paths in msm_drm_init()"
drm/msm: fix NULL-deref on snapshot tear down
drm/msm: fix NULL-deref on irq uninstall
drm/msm: fix drm device leak on bind errors
drm/msm: fix vram leak on bind errors
drm/msm: fix missing wq allocation error handling
drm/msm: fix workqueue leak on bind errors
drm/msm: use drmm_mode_config_init()
drm/msm: move include directive

drivers/gpu/drm/msm/disp/msm_disp_snapshot.c | 3 -
drivers/gpu/drm/msm/msm_drv.c | 67 +++++++++++++-------
2 files changed, 44 insertions(+), 26 deletions(-)

--
With best wishes
Dmitry