[PATCH] drm: fix double drm_put_minor() in fail paths
Rob Clark
robdclark at gmail.com
Thu Dec 12 09:17:41 PST 2013
On Thu, Dec 12, 2013 at 12:12 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Thu, Dec 12, 2013 at 12:07 PM, Rob Clark <robdclark at gmail.com> wrote:
>> 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.
>
> FYI, I sent a similar patch ~week ago that changed put_minor into
> unplug_minor per David Herrmann's advice.
ahh, ok.. I didn't see it, but if it fixes the same issue we can drop my patch..
BR,
-R
>>
>> Signed-off-by: Rob Clark <robdclark at gmail.com>
>> ---
>> 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 at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list