From: Denis Efremov <[email protected]> The vmemdup_user() function has no 2-factor argument form. Use array_size() to check for the overflow.
Signed-off-by: Denis Efremov <[email protected]> Reviewed-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]> Commit 5de30b286e7166164f9e45de991bde26f5db8298 in the mainline kernel. It is a follow-up for ms commit fa2b360f261e "tty/vt: avoid high order pages allocation on GIO_UNIMAP ioctl" and is nice to have in VZ8 too. Added to VZ8 in the scope of https://jira.sw.ru/browse/PSBM-127844. Signed-off-by: Evgenii Shatokhin <[email protected]> --- drivers/tty/vt/consolemap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/vt/consolemap.c b/drivers/tty/vt/consolemap.c index b28aa0d289f8..32acea9e8270 100644 --- a/drivers/tty/vt/consolemap.c +++ b/drivers/tty/vt/consolemap.c @@ -542,7 +542,7 @@ int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list) if (!ct) return 0; - unilist = vmemdup_user(list, ct * sizeof(struct unipair)); + unilist = vmemdup_user(list, array_size(sizeof(struct unipair), ct)); if (IS_ERR(unilist)) return PTR_ERR(unilist); -- 2.29.0 _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
