[PATCH] drm: fix double drm_put_minor() in fail paths

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

 



If driver failed to load (for example, -EPROBE_DEFER), we'd end up doing
drm_put_minor() both from drm_dev_register() and drm_dev_free(), the
second time with a bogus pointer.

Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
---
 drivers/gpu/drm/drm_stub.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
index f53d524..f245d99 100644
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@ -567,10 +567,13 @@ err_unload:
 		dev->driver->unload(dev);
 err_primary_node:
 	drm_put_minor(dev->primary);
+	dev->primary = NULL;
 err_render_node:
 	drm_put_minor(dev->render);
+	dev->render = NULL;
 err_control_node:
 	drm_put_minor(dev->control);
+	dev->control = NULL;
 err_agp:
 	if (dev->driver->bus->agp_destroy)
 		dev->driver->bus->agp_destroy(dev);
-- 
1.8.4.2

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux