Unverified Commit 2d913a6e authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!11613 Input: uinput - reject requests with unreasonable number of slots

parents 3531f9ea 5a9ad0d4
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -417,6 +417,20 @@ static int uinput_validate_absinfo(struct input_dev *dev, unsigned int code,
		return -EINVAL;
	}

	/*
	 * Limit number of contacts to a reasonable value (100). This
	 * ensures that we need less than 2 pages for struct input_mt
	 * (we are not using in-kernel slot assignment so not going to
	 * allocate memory for the "red" table), and we should have no
	 * trouble getting this much memory.
	 */
	if (code == ABS_MT_SLOT && max > 99) {
		printk(KERN_DEBUG
		       "%s: unreasonably large number of slots requested: %d\n",
		       UINPUT_NAME, max);
		return -EINVAL;
	}

	return 0;
}