Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1539fb9b authored by Zhaowei Yuan's avatar Zhaowei Yuan Committed by Dave Airlie
Browse files

drm: fix NULL pointer access by wrong ioctl



If user uses wrong ioctl command with _IOC_NONE and argument size
greater than 0, it can cause NULL pointer access from memset of line
463. If _IOC_NONE, don't memset to 0 for kdata.

Signed-off-by: default avatarZhaowei Yuan <zhaowei.yuan@samsung.com>
Reviewed-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent a497c3ba
Loading
Loading
Loading
Loading

drivers/gpu/drm/drm_drv.c

100644 → 100755
+2 −1
Original line number Diff line number Diff line
@@ -419,8 +419,9 @@ long drm_ioctl(struct file *filp,
			retcode = -EFAULT;
			goto err_i1;
		}
	} else
	} else if (cmd & IOC_OUT) {
		memset(kdata, 0, usize);
	}

	if (ioctl->flags & DRM_UNLOCKED)
		retcode = func(dev, kdata, file_priv);