Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13328229ybl; Sun, 29 Dec 2019 09:24:26 -0800 (PST) X-Google-Smtp-Source: APXvYqze9YhIdLWNOnTOrlmtX6yYvAWhVFkRhrnkIWtPrSlFkhshvYvFwdq0VqHuSSSb1V1I92Lq X-Received: by 2002:a9d:6502:: with SMTP id i2mr42120336otl.206.1577640265982; Sun, 29 Dec 2019 09:24:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577640265; cv=none; d=google.com; s=arc-20160816; b=EqyDofY72a9+qm8jctySM/1WDziXPEfhwIvsnCdkunQe1JNQWpyO0N8aaas1Iv4wBF EpqlJJ/tIkLVivIUkkBjmx6X6D/0zEtaeVTVa1B7SCWvBGEhPkx4flh1fEICXyn+q1gM SUo/+SNiGvlvhHyyqucRrjrQAIWtClK4ZdwEoQCY0PVns7IXLOUMOiwBm1nUUkBQIazb kJLgErpH1Km8D4kRFkVfCKMqBTO/Ea5mWr/z31TyNDPdY3lm5OfKhGt1/VqdrGi5VmrN vMPWUQHUnyx4l76F6feBNa6XrYFS5nG/I42uteuK8kDnW+ebY0iLzc6XAvKm5AKrhfIR Zb+g== 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=Yk3zfDAX29ptWcgUSEl2Mhnm4iaPhDZEXGCa4JqyL4w=; b=0aBGNZCpXa0QDbwVcAqkDUZ9Za8CHSiv7/k0nTJNP11W/azTFUiRti7eglgXp3IWXk Cb1g6BKYVGv/tcFr2x1RzQrEjKN2nPyfdhJR/QHow5emmg89VZwURwc4ev27PD04tt+n ccNL+F1V1A3/tPtePjeKU3CvkqV2kbIGDEm+TvdRpwNhZYex2LW2Mm3GVIrH1Nu7op86 /OfDuhfYoVs8QJG4CjsM1lePrGLd1sAauaQhw5UMoc6QFUEdR+5KCCFjF2s1Ug+XqViT ykDZUUhHeuIBt62cNQe9lAa2N6lTbc9LQsw8o88tMlcN+kzLmv/Mfxh9rFVVSsVbxx1g OE3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0bYr43MB; 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 k7si20789087otp.22.2019.12.29.09.24.14; Sun, 29 Dec 2019 09:24:25 -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=0bYr43MB; 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 S1727487AbfL2RXJ (ORCPT + 99 others); Sun, 29 Dec 2019 12:23:09 -0500 Received: from mail.kernel.org ([198.145.29.99]:40326 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727054AbfL2RXG (ORCPT ); Sun, 29 Dec 2019 12:23:06 -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 2DCEB21744; Sun, 29 Dec 2019 17:23:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640185; bh=fvMLFG8yuBkK7nSBE8ksWzysVA3V9rPrBM/VglFIglE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0bYr43MBr61yMUM3+p4JP0gDdHj/4y4nJdgu5SuIWyypc8BMlJCd36gRoXViKz2zj 9lHd5RmNOEQ6Rls+eBjRqvekykDEZ+FZH4plhLOXW6SmQ2aj59FeEhIMNwklPBkIOa L9wpmkH866adrJkViosZ+sg/n0n+uWmAHriFeJLI= 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.14 054/161] media: ti-vpe: vpe: fix a v4l2-compliance failure causing a kernel panic Date: Sun, 29 Dec 2019 18:18:22 +0100 Message-Id: <20191229162415.602142716@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162355.500086350@linuxfoundation.org> References: <20191229162355.500086350@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 a37980ac5be29b83da67bf7d571c6bd9f90f8e45 ] v4l2-compliance fails with this message: warn: v4l2-test-formats.cpp(717): \ TRY_FMT cannot handle an invalid pixelformat. test VIDIOC_TRY_FMT: FAIL This causes the following kernel panic: Unable to handle kernel paging request at virtual address 56595561 pgd = ecd80e00 *pgd=00000000 Internal error: Oops: 205 [#1] PREEMPT SMP ARM ... CPU: 0 PID: 930 Comm: v4l2-compliance Not tainted \ 4.14.62-01715-gc8cd67f49a19 #1 Hardware name: Generic DRA72X (Flattened Device Tree) task: ece44d80 task.stack: ecc6e000 PC is at __vpe_try_fmt+0x18c/0x2a8 [ti_vpe] LR is at 0x8 Because the driver fails to properly check the 'num_planes' values for proper ranges it ends up accessing out of bound data causing the kernel panic. Since this driver only handle single or dual plane pixel format, make sure the provided value does not exceed 2 planes. 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/vpe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c index a136fb14bf1a..5adafee98e4c 100644 --- a/drivers/media/platform/ti-vpe/vpe.c +++ b/drivers/media/platform/ti-vpe/vpe.c @@ -1663,7 +1663,7 @@ static int __vpe_try_fmt(struct vpe_ctx *ctx, struct v4l2_format *f, &pix->height, MIN_H, MAX_H, H_ALIGN, S_ALIGN); - if (!pix->num_planes) + if (!pix->num_planes || pix->num_planes > 2) pix->num_planes = fmt->coplanar ? 2 : 1; else if (pix->num_planes > 1 && !fmt->coplanar) pix->num_planes = 1; -- 2.20.1