Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13426304ybl; Sun, 29 Dec 2019 11:35:45 -0800 (PST) X-Google-Smtp-Source: APXvYqzEXr5cMR8JWAETl6SsAqd9QKGmNymxDmkzVLadNBpgV//oVLOjXlKsJ9RNdXmvmPk0FnA8 X-Received: by 2002:a9d:7851:: with SMTP id c17mr49140329otm.58.1577648145682; Sun, 29 Dec 2019 11:35:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577648145; cv=none; d=google.com; s=arc-20160816; b=X719rxfeNFo8o7T6/t6wYeXO2lrMyK9IwRY6eZk5DMYfndE9hH3LgLXkQ9pbEklIuC IBWhfMKmYVCagV6eeA+JaoAuEqOBuW6E8YdztSrhoEQXv2k12tq1+oomjtPRYyLFO03m N0RvMu8DCrwehh2nlxF6n1c6K+g9tIrWFkQdIYX+yaE58S//nHol6P9e/pezryEPtiSA Iexmmuom6hhm434qmZdzRJTrkyWsUijCD8Wdn47Lq8f/594Kw/OHo3LRojAO6oSlqAZO UkabelA01Q1MUcuZ7qjxVd3n7yyI34rLCGSzY9ZkoEGyzQoDEAsToqbjEN7il6L2SapC WzaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7yrZeu01CI8Mk/DKW2f01+GKLSbheeb5rTto5CVRDoc=; b=jYHqh9f+ETRfXvP0Qb8L6ASLrX+XFDs22Wun5X7xftoctJBiyopZFs+TJ+IP9BKxEo XZP/dx4iTZmON955ifSRusLSX0kpSy/AgwPU18qTmnbDRID8Ckz1WvlM4zMF3U/kXdkv tL3QQiz2iskvaLwmarKTlNBVvdLSjyXhqdEgPw/xiq8ILpzx/Ql3g/8VKi6+ytyq26mU I6uuENV6iRVadLeWXoAytaIN2I/ExDPLyC56PCzpBbGzAbobefmcYTvkmGGeljP7hXkc 3PDQA3IPvHyMOzBA239Pu5cAi6ePtF7Mq+3vkaNQ65mmo9Dj/Qy6GJBl1ryiF1xIA80P 6SRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=LMQ1qED9; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w5si22163896otq.238.2019.12.29.11.35.35; Sun, 29 Dec 2019 11:35:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=LMQ1qED9; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728970AbfL2Ra2 (ORCPT + 99 others); Sun, 29 Dec 2019 12:30:28 -0500 Received: from mail.kernel.org ([198.145.29.99]:56302 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728946AbfL2RaV (ORCPT ); Sun, 29 Dec 2019 12:30:21 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2B36220722; Sun, 29 Dec 2019 17:30:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640620; bh=G5oNyWpNmFEsSlsz7KFmJQDCVyjsY8Q9iaSYiYXTJhg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LMQ1qED9Rk1ZzN3YmWn9/diRM91NSqJZpIpBXjfLWXtoxMXqpnmauViCMxLOf53+0 3LcQaZ9Ff7kMnHKxBCElbCHAgsyP+U29EuR7m1V0tFImLcQS59KSJEpeI2vwwvJZlr Ge3rdoU4UfH0bMwCAoxLrhNmOA4WNW1P5ykpD4vo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Benoit Parrot , Tomi Valkeinen , Hans Verkuil , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 4.19 070/219] media: ti-vpe: vpe: fix a v4l2-compliance failure about invalid sizeimage Date: Sun, 29 Dec 2019 18:17:52 +0100 Message-Id: <20191229162516.981223051@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162508.458551679@linuxfoundation.org> References: <20191229162508.458551679@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Benoit Parrot [ Upstream commit 0bac73adea4df8d34048b38f6ff24dc3e73e90b6 ] v4l2-compliance fails with this message: fail: v4l2-test-formats.cpp(463): !pfmt.sizeimage fail: v4l2-test-formats.cpp(736): \ Video Capture Multiplanar is valid, \ but TRY_FMT failed to return a format test VIDIOC_TRY_FMT: FAIL This failure is causd by the driver failing to handle out range 'bytesperline' values from user space applications. VPDMA hardware is limited to 64k line stride (16 bytes aligned, so 65520 bytes). So make sure the provided or calculated 'bytesperline' is smaller than the maximum value. Signed-off-by: Benoit Parrot Reviewed-by: Tomi Valkeinen Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/platform/ti-vpe/vpdma.h | 1 + drivers/media/platform/ti-vpe/vpe.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/drivers/media/platform/ti-vpe/vpdma.h b/drivers/media/platform/ti-vpe/vpdma.h index 7e611501c291..f29074c84915 100644 --- a/drivers/media/platform/ti-vpe/vpdma.h +++ b/drivers/media/platform/ti-vpe/vpdma.h @@ -60,6 +60,7 @@ struct vpdma_data_format { * line stride of source and dest * buffers should be 16 byte aligned */ +#define VPDMA_MAX_STRIDE 65520 /* Max line stride 16 byte aligned */ #define VPDMA_DTD_DESC_SIZE 32 /* 8 words */ #define VPDMA_CFD_CTD_DESC_SIZE 16 /* 4 words */ diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c index 52d5aebe0fb8..a285b9db7ee8 100644 --- a/drivers/media/platform/ti-vpe/vpe.c +++ b/drivers/media/platform/ti-vpe/vpe.c @@ -1685,6 +1685,10 @@ static int __vpe_try_fmt(struct vpe_ctx *ctx, struct v4l2_format *f, if (stride > plane_fmt->bytesperline) plane_fmt->bytesperline = stride; + plane_fmt->bytesperline = clamp_t(u32, plane_fmt->bytesperline, + stride, + VPDMA_MAX_STRIDE); + plane_fmt->bytesperline = ALIGN(plane_fmt->bytesperline, VPDMA_STRIDE_ALIGN); -- 2.20.1