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 at lynxeye.de>
---
 drivers/gpu/drm/nouveau/nvif/notify.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nvif/notify.c 
b/drivers/gpu/drm/nouveau/nvif/notify.c
index b0787ff..278b393 100644
--- a/drivers/gpu/drm/nouveau/nvif/notify.c
+++ b/drivers/gpu/drm/nouveau/nvif/notify.c
@@ -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;
 }
-- 
2.7.4

Reply via email to