Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp2733582pxv; Mon, 12 Jul 2021 00:11:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwNAonESZkj48FDkPqM092ssW23i5TkecgcUhJA2tmm0hZXwwfImgzwLtn1ASvBva/dboFn X-Received: by 2002:a92:c64a:: with SMTP id 10mr3645100ill.159.1626073895310; Mon, 12 Jul 2021 00:11:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626073895; cv=none; d=google.com; s=arc-20160816; b=BJmPE2BHzjI4U5N0FIvgOUyJKli+pOE/7UE0PLRvO4QLWIKpbjnuR6QEKZlDniJMx7 26agu0vY5DqxnMUf4oRV5UZim3yHWb3Qn2XYjkja0jvHSYks5jeUNjOx8J2ARQoekaH1 wND8MYDMHpozTAPkoIqLMfcCklQs2zWQ2Vu4N0CpQ+HowJAwdU40iQB9F0EpsxkfO9b3 +Ik/A6zJ+Y0oXzbpJD2ZRuk5MxWhwPLQ/3gj9RbPnr9SqSOiiNrHNjBd9R+eDfPe74jv y/AaFPgYJb62ZxXwTPCRaY6P8wNs5HBfb0oVsgGqDbnmXnLlqAWAkCgZCKB1LuaKnqCV sNmg== 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=z+FEFlGVgkf/j7xnErSLt1IuAwhsmZ2vUWotEbsXzos=; b=XPcyg0Lf4zHtbSqYomKPxO8OM2afWBUctVIq2N5J+clKB4yvRbegsb0P2GwAbmaAh1 6b5BCajfH0J2bawcYjbWJ6bWXT6BO/fPfRgQOfzDEs9JcwndmizxWTgGhvGJQ5LwlYc7 TSLl7xPYfZcOBOJYQK8XYSZfGC23jtRgn9U8KdWKP8L2cqxLoNAO/s7lRQVpXnAUWZh0 xPBbtPvgYdXJW4tGUjU7xZUTf+rlFt7VaBC/69Hkgue+MJle2Zo9I7VRliWiKIBNSfEa L53wo2V83TXWfo0GdJIy/wTAPtuPfNdL7clAuIZMvo9dgWExG5mpuxp3jbFgx34C+zaD YWcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nuLr4rpK; 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=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 u26si16436385iog.84.2021.07.12.00.11.24; Mon, 12 Jul 2021 00:11:35 -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=@linuxfoundation.org header.s=korg header.b=nuLr4rpK; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241975AbhGLHNl (ORCPT + 99 others); Mon, 12 Jul 2021 03:13:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:49252 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238817AbhGLGtS (ORCPT ); Mon, 12 Jul 2021 02:49:18 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6B3B06120D; Mon, 12 Jul 2021 06:45:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626072316; bh=COx7KGEwyBUGakUkzfRySLpuKRMns13vFF5+zf6Cogc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nuLr4rpKfK/pIAfCNk3qbrGTFqi4I0kMsfe3B1xF3yx0FGbsifO3XnbX3UQoFtgVd Mw1Q6OOALF1jFUWxOcH+HDr5y6dvhmmfq9qlr/1e4dPqowh4+DIu3bTH59yR00kBHn 0hEZODFH4KGoCDD4gaYwB4vM+faStWxMHiIVHCEo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jonathan Cameron , Srinivas Pandruvada , Andy Shevchenko , Sasha Levin Subject: [PATCH 5.10 447/593] iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp() Date: Mon, 12 Jul 2021 08:10:07 +0200 Message-Id: <20210712060938.272326983@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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jonathan Cameron [ Upstream commit c6559bf796ccdb3a0c79db846af96c8f7046880b ] To make code more readable, use a structure to express the channel layout and ensure the timestamp is 8 byte aligned. Note this matches what was done in all the other hid sensor drivers. This one was missed previously due to an extra level of indirection. Found during an audit of all calls of this function. Fixes: a96cd0f901ee ("iio: accel: hid-sensor-accel-3d: Add timestamp") Signed-off-by: Jonathan Cameron Cc: Srinivas Pandruvada Reviewed-by: Andy Shevchenko Link: https://lore.kernel.org/r/20210501170121.512209-4-jic23@kernel.org Signed-off-by: Sasha Levin --- drivers/iio/accel/hid-sensor-accel-3d.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hid-sensor-accel-3d.c index 4c5e594024f8..f05840d17fb7 100644 --- a/drivers/iio/accel/hid-sensor-accel-3d.c +++ b/drivers/iio/accel/hid-sensor-accel-3d.c @@ -27,8 +27,11 @@ struct accel_3d_state { struct hid_sensor_hub_callbacks callbacks; struct hid_sensor_common common_attributes; struct hid_sensor_hub_attribute_info accel[ACCEL_3D_CHANNEL_MAX]; - /* Reserve for 3 channels + padding + timestamp */ - u32 accel_val[ACCEL_3D_CHANNEL_MAX + 3]; + /* Ensure timestamp is naturally aligned */ + struct { + u32 accel_val[3]; + s64 timestamp __aligned(8); + } scan; int scale_pre_decml; int scale_post_decml; int scale_precision; @@ -239,8 +242,8 @@ static int accel_3d_proc_event(struct hid_sensor_hub_device *hsdev, accel_state->timestamp = iio_get_time_ns(indio_dev); hid_sensor_push_data(indio_dev, - accel_state->accel_val, - sizeof(accel_state->accel_val), + &accel_state->scan, + sizeof(accel_state->scan), accel_state->timestamp); accel_state->timestamp = 0; @@ -265,7 +268,7 @@ static int accel_3d_capture_sample(struct hid_sensor_hub_device *hsdev, case HID_USAGE_SENSOR_ACCEL_Y_AXIS: case HID_USAGE_SENSOR_ACCEL_Z_AXIS: offset = usage_id - HID_USAGE_SENSOR_ACCEL_X_AXIS; - accel_state->accel_val[CHANNEL_SCAN_INDEX_X + offset] = + accel_state->scan.accel_val[CHANNEL_SCAN_INDEX_X + offset] = *(u32 *)raw_data; ret = 0; break; -- 2.30.2