Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3761290pxk; Tue, 29 Sep 2020 05:45:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzXBQUu4tWXth26TCi3t43yfMkeTFx8xFGEDZmF2YwkO8CBIMaAaIF9Wvv3XWIS/FswahGp X-Received: by 2002:a17:906:c43:: with SMTP id t3mr3562399ejf.219.1601383540503; Tue, 29 Sep 2020 05:45:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601383540; cv=none; d=google.com; s=arc-20160816; b=W5I2KxuDadbSgY+bwCl4jNimPu63tPUBXOa9gej3rKV6AIMDASd9WxVl5Oz6dptM+a Rq/GrCmDcWNaXpmzzYdf9U3ghVxKAWfWWVQwgE5lEqeRyOkWMLaMsZ4+wWdsaWVGl72Y StZgeJMTG1sfIicefLWZKOnJhjZ/L4br0IdR3JXkkBAmLUQqtcWcI6RKL3BzO/Y1Xd9v OXeyaRJhRC8gSzkS5ubAUr55z1F3ZcSOHufHYyJWDt5/n8muoTzyfRL/6Vzw/9J6OKgp uMunFpv3y+aRmtCIH7O+Wtz3qRLq/+IG8jaW8aM5OKxQFLMYNRZ/oWQD4ai8BuHATX44 FFqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=v/q0rz2e6OQbuFzYEDLnk+ucv3ym4NP64kz+JiaHGTw=; b=qVrVV16rDPQXerq/sguI2aCh+IrKz+NcAy1tDEh/0/Bx6DqbLHGiqAInGBFPrYk7K8 iUa3oJgmfs0zhZMpRPADwF3wSKzuZM0SfmHuGb4PpJ4xhEx2x6K40yRcBKYhLXbrisjh a7oQGlFTN6bxgsr/QjkLYvS4wqokepPC1Je4Ed9pvgz/5WaQSXdlKNYf7aculCu3LAuD CsnltGwpduTrqFHLBZxfVM5a5OAainlFIwV4Wovn/7IjvxXKFRbHrggWoXvTeORyYSlt JlZadjiaXH2PVSxHwbBGdC6k6L0IbnSBon6p4CPzmBDAv30iTAAeAYV5bFlhVInUGEna x34A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Fk+nD1TD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ce11si1094485ejb.481.2020.09.29.05.45.17; Tue, 29 Sep 2020 05:45:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Fk+nD1TD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733202AbgI2MoZ (ORCPT + 99 others); Tue, 29 Sep 2020 08:44:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:47400 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728963AbgI2LIZ (ORCPT ); Tue, 29 Sep 2020 07:08:25 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 5DE11221E8; Tue, 29 Sep 2020 11:08:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601377681; bh=coEGVUznuFfa6GSztzmYsJ5ao0RL88SvQOSVc9PE6jw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Fk+nD1TD9BRlHRbl1F50zDAO9Gq2V8ByyQhG7tmCoSK+rDKCffQ2Eb0y77d7yNVK9 oMhRuTCRXzoSE1KJFBjEeYdN8iqVdPP0Q7WAQ/gnn+hmIWzzogpv+2MVMcZVjTMLbN u1XkPCSJFgXrTXIp+V1d4P9LSBxnNP5N0D53GXQA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nikhil Devshatwar , Benoit Parrot , Hans Verkuil , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 4.9 034/121] media: ti-vpe: cal: Restrict DMA to avoid memory corruption Date: Tue, 29 Sep 2020 12:59:38 +0200 Message-Id: <20200929105931.875075502@linuxfoundation.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200929105930.172747117@linuxfoundation.org> References: <20200929105930.172747117@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nikhil Devshatwar [ Upstream commit 6e72eab2e7b7a157d554b8f9faed7676047be7c1 ] When setting DMA for video capture from CSI channel, if the DMA size is not given, it ends up writing as much data as sent by the camera. This may lead to overwriting the buffers causing memory corruption. Observed green lines on the default framebuffer. Restrict the DMA to maximum height as specified in the S_FMT ioctl. Signed-off-by: Nikhil Devshatwar Signed-off-by: Benoit Parrot Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/platform/ti-vpe/cal.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/ti-vpe/cal.c b/drivers/media/platform/ti-vpe/cal.c index 563b9636ab63b..803e0794ca131 100644 --- a/drivers/media/platform/ti-vpe/cal.c +++ b/drivers/media/platform/ti-vpe/cal.c @@ -690,12 +690,13 @@ static void pix_proc_config(struct cal_ctx *ctx) } static void cal_wr_dma_config(struct cal_ctx *ctx, - unsigned int width) + unsigned int width, unsigned int height) { u32 val; val = reg_read(ctx->dev, CAL_WR_DMA_CTRL(ctx->csi2_port)); set_field(&val, ctx->csi2_port, CAL_WR_DMA_CTRL_CPORT_MASK); + set_field(&val, height, CAL_WR_DMA_CTRL_YSIZE_MASK); set_field(&val, CAL_WR_DMA_CTRL_DTAG_PIX_DAT, CAL_WR_DMA_CTRL_DTAG_MASK); set_field(&val, CAL_WR_DMA_CTRL_MODE_CONST, @@ -1321,7 +1322,8 @@ static int cal_start_streaming(struct vb2_queue *vq, unsigned int count) csi2_lane_config(ctx); csi2_ctx_config(ctx); pix_proc_config(ctx); - cal_wr_dma_config(ctx, ctx->v_fmt.fmt.pix.bytesperline); + cal_wr_dma_config(ctx, ctx->v_fmt.fmt.pix.bytesperline, + ctx->v_fmt.fmt.pix.height); cal_wr_dma_addr(ctx, addr); csi2_ppi_enable(ctx); -- 2.25.1