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

Commit 701b385f authored by Yan Zhao's avatar Yan Zhao Committed by Greg Kroah-Hartman
Browse files

drm/i915/gvt: do not check len & max_len for lri



commit dbafc67307ec06036b25b223a251af03fe07969a upstream.

lri ususally of variable len and far exceeding 127 dwords.

Fixes: 00a33be4 ("drm/i915/gvt: Add valid length check for MI variable commands")
Signed-off-by: default avatarYan Zhao <yan.y.zhao@intel.com>
Acked-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20200304095121.21609-1-yan.y.zhao@intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a5bfcf24
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -963,18 +963,6 @@ static int cmd_handler_lri(struct parser_exec_state *s)
	int i, ret = 0;
	int cmd_len = cmd_length(s);
	struct intel_gvt *gvt = s->vgpu->gvt;
	u32 valid_len = CMD_LEN(1);

	/*
	 * Official intel docs are somewhat sloppy , check the definition of
	 * MI_LOAD_REGISTER_IMM.
	 */
	#define MAX_VALID_LEN 127
	if ((cmd_len < valid_len) || (cmd_len > MAX_VALID_LEN)) {
		gvt_err("len is not valid:  len=%u  valid_len=%u\n",
			cmd_len, valid_len);
		return -EFAULT;
	}

	for (i = 1; i < cmd_len; i += 2) {
		if (IS_BROADWELL(gvt->dev_priv) && s->ring_id != RCS0) {