drm/nouveau: fix notify data leak
authorLucas Stach <dev@lynxeye.de>
Wed, 26 Oct 2016 11:11:06 +0000 (13:11 +0200)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 7 Nov 2016 04:04:37 +0000 (14:04 +1000)
There is no reason to not free the notify data if the NTFY_DEL ioctl
failed. As nvif_notify_fini() is also called from the cleanup path of
nvif_notify_init(), the notifier may not have been successfully created
at that point. But it should also be the right thing to just free the
data in the regular fini calls, as there is nothing much we can do if
the ioctl fails, so better not leak memory.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvif/notify.c

index b0787ff833ef6cd9dde58d7fa9145f5b43a0ac7a..278b3933dc96abd8201666dfda9c754a5c201701 100644 (file)
@@ -155,10 +155,8 @@ nvif_notify_fini(struct nvif_notify *notify)
        int ret = nvif_notify_put(notify);
        if (ret >= 0 && object) {
                ret = nvif_object_ioctl(object, &args, sizeof(args), NULL);
-               if (ret == 0) {
-                       notify->object = NULL;
-                       kfree((void *)notify->data);
-               }
+               notify->object = NULL;
+               kfree((void *)notify->data);
        }
        return ret;
 }