drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl()
authorRafael Mendonca <rafaelmendsr@gmail.com>
Fri, 16 Sep 2022 20:47:51 +0000 (17:47 -0300)
committerZack Rusin <zackr@vmware.com>
Wed, 21 Sep 2022 16:15:15 +0000 (12:15 -0400)
If the copy of the description string from userspace fails, then the page
for the instance descriptor doesn't get freed before returning -EFAULT,
which leads to a memleak.

Fixes: 7a7a933edd6c ("drm/vmwgfx: Introduce VMware mks-guest-stats")
Signed-off-by: Rafael Mendonca <rafaelmendsr@gmail.com>
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Signed-off-by: Zack Rusin <zackr@vmware.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220916204751.720716-1-rafaelmendsr@gmail.com
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c

index 2aceac7856e21968d3d844f8986b9076355edc0d..089046fa21bea98724bf4392fd2604c0eb1658ff 100644 (file)
@@ -1076,6 +1076,7 @@ int vmw_mksstat_add_ioctl(struct drm_device *dev, void *data,
 
        if (desc_len < 0) {
                atomic_set(&dev_priv->mksstat_user_pids[slot], 0);
+               __free_page(page);
                return -EFAULT;
        }