From patchwork Mon Jul 12 06:10:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 472903 Delivered-To: patch@linaro.org Received: by 2002:a02:c94a:0:0:0:0:0 with SMTP id u10csp2660496jao; Sun, 11 Jul 2021 23:50:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxG7P7B3NFccBd1IRk1+iPZEZUpM4Ds3S7QJLkBPq2o2RxPRfPw2se/1agqW7mRoZk10aHX X-Received: by 2002:a05:6402:6c8:: with SMTP id n8mr62750281edy.180.1626072616175; Sun, 11 Jul 2021 23:50:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626072616; cv=none; d=google.com; s=arc-20160816; b=zBZqakVRrTBGLWdxH9nchi9okM/TJulNyMnjFIY6YgmtmUXNVyI9TR8ZhiSKCcaxkI +tIDiOTgqhNYyiCc3OJuafKNmfG1y5nfJ1VKgq+W64bsXlzp1JiVi5Hn7DJG0ZnQYxjh mNMFTzQu4hApaotGOpmDc56CcuX+pJNh8Ja3J/ehfeva0SgWXldExzyQGmVeC+isyMwE gJHSOxDBwypAEc8c8/vhPFcd6Jzptn4sbAx9M/oLT9g9rCsMk8B1nicxSWRTyKnKkVwU dqpOTVztlEAtbS3aV9Rx0p91+Tc3xwGkLb6HBF0W9Zn//49BTcPn9Tgmttf3mgaBWbK4 PB5Q== 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=sCWVUsDi1+9OtkcudNVDp5kVFHyGQ6OrfYYRMk4Uro0=; b=JeRg6VNQj0P5zXh8GQWTODEpWWS7xrB2d0Fjat30nUvbdGgZjpwSh/NcYTZNuNa5a1 t7d793ayGwyovBR2/D6ELGowQBqDmM6QPlpxQrI+GyWBhntEoaKj0WCN6YYZNsNBZ3hS EEdeeprZ/BPFe9NTn9pt+g9sPqySuA2a3a6RBDKNwFgDIOtCmgLeKkvPFSHJNFu8MwLN gOY3K+NQ6mhHCmmuZkAjwx51qUa08vDH4tUY7gObXrhm857owY8Ne+Ni1mGjYo76WjLT VTfPWZE4IBuTmLYsLI9PS0Pd1ZsHR+KNEwFiSRg5khB21zmkrz6fVwWqzw+2dWnqc7eU 2Psg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wd04eDgJ; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (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 r25si3440466edp.437.2021.07.11.23.50.15; Sun, 11 Jul 2021 23:50:16 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-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=@linuxfoundation.org header.s=korg header.b=wd04eDgJ; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237218AbhGLGwV (ORCPT + 12 others); Mon, 12 Jul 2021 02:52:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:44282 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238924AbhGLGtV (ORCPT ); Mon, 12 Jul 2021 02:49:21 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6D0026121E; Mon, 12 Jul 2021 06:45:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626072323; bh=bGvSRzuuP7sYaANfuvBJajzDaCwYoyxCmgraZru8dyk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wd04eDgJgUqqz9cC8tyd42v5VEFLZS5IruTNUPM+yV+l2oIHQ8saOyVftpSuUvAxK cL46A1vW9UImcPWJeAN4IH+vGnkTeEZ5nXyfqTB1355iBStPza/TUsbRnqSI78z+7y KgpmTNreY8ADJreSfhl19AfV4jzyLCmJ8188iKg4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jonathan Cameron , Andy Shevchenko , Sasha Levin Subject: [PATCH 5.10 449/593] iio: accel: mxc4005: Fix overread of data and alignment issue. Date: Mon, 12 Jul 2021 08:10:09 +0200 Message-Id: <20210712060938.594284901@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712060843.180606720@linuxfoundation.org> References: <20210712060843.180606720@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron [ Upstream commit f65802284a3a337510d7f8f916c97d66c74f2e71 ] The bulk read size is based on the size of an array that also has space for the timestamp alongside the channels. Fix that and also fix alignment of the buffer passed to iio_push_to_buffers_with_timestamp. Found during an audit of all calls to this function. Fixes: 1ce0eda0f757 ("iio: mxc4005: add triggered buffer mode for mxc4005") Signed-off-by: Jonathan Cameron Reviewed-by: Andy Shevchenko Link: https://lore.kernel.org/r/20210501170121.512209-6-jic23@kernel.org Signed-off-by: Sasha Levin --- drivers/iio/accel/mxc4005.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- 2.30.2 diff --git a/drivers/iio/accel/mxc4005.c b/drivers/iio/accel/mxc4005.c index f877263dc6ef..5a2b0ffbb145 100644 --- a/drivers/iio/accel/mxc4005.c +++ b/drivers/iio/accel/mxc4005.c @@ -56,7 +56,11 @@ struct mxc4005_data { struct mutex mutex; struct regmap *regmap; struct iio_trigger *dready_trig; - __be16 buffer[8]; + /* Ensure timestamp is naturally aligned */ + struct { + __be16 chans[3]; + s64 timestamp __aligned(8); + } scan; bool trigger_enabled; }; @@ -135,7 +139,7 @@ static int mxc4005_read_xyz(struct mxc4005_data *data) int ret; ret = regmap_bulk_read(data->regmap, MXC4005_REG_XOUT_UPPER, - data->buffer, sizeof(data->buffer)); + data->scan.chans, sizeof(data->scan.chans)); if (ret < 0) { dev_err(data->dev, "failed to read axes\n"); return ret; @@ -301,7 +305,7 @@ static irqreturn_t mxc4005_trigger_handler(int irq, void *private) if (ret < 0) goto err; - iio_push_to_buffers_with_timestamp(indio_dev, data->buffer, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, pf->timestamp); err: