Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp826941ybg; Tue, 9 Jun 2020 13:59:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxptwV5J1Iw94FcMOLgTy0sTFc+PC0jKuYy1oCkrKylbPBsW4cIaAF+MzsPxfDb9Y0hc5dE X-Received: by 2002:a50:fc04:: with SMTP id i4mr28105319edr.117.1591736398981; Tue, 09 Jun 2020 13:59:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591736398; cv=none; d=google.com; s=arc-20160816; b=rMaTXYcRfea6BklB8zzkWJlbQ2pgeMWMbpfg8FZcpBGSvkso/RYlBQx1Wbqhcp5zgC 8LHWkcP3Xgfu5M9PjGnMBT6np022Yewyk5bDCblXfLmP67tapWmujbzJpkKd2rRaZ1xa AOaTVJc/5RxXZzIn2sGjpaLl//Pw6+bksIoHdt0KFZnPqQ+gHzD+ctSemJpDAqxEzdhM l/IXzQNK3O7Y6+zm3X0wTFtrHAwtElmwgI1wM6XzBOZUnGOvnE1zErBy0FzuKroGB0sQ cpb3l6Xe/uwMkju+Nrts6qNw/C4lEn9bu+rEy4crbRNMhN93d5NXFYPCpiEUi4zbrCAL VaoQ== 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=bY+5RgWAuj4+Fukc/KBqnT65+4+MKFT1kIjxWaD0A6Q=; b=o48TBsu2Xbu2zjzfma3kHa+nqVwOMVwRwdcTw3C2mXon47DtKAgd+C99WBrrJ4D2dN heVJM+jcMXBpi+i2vO7HkPZwmm56sp+fHq2EqNZVztX5QchgWwCgzCMPbPexzkBGFbhn q2YZmOUnLb572Bl+3T6IJmsExrLphHqC+/XLehD3QhsY3dbZknddA/AWlZbWA51XCPJu okop/OuzVzKORvcq0c41q9Jc3PxR5J7Rb3YH7qIV2aNHga//PQ1nxPUnP9o/6G6UgD98 IhMwLogeayEvpzhMDrRgijT1hvtvx54mw6tf/C8sIuGFtf4VGVOhLNtmXDxD0LUTVAd7 Q4dw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gPZoE1+0; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dn4si10757024ejc.39.2020.06.09.13.59.35; Tue, 09 Jun 2020 13:59:58 -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=gPZoE1+0; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728706AbgFIR6x (ORCPT + 99 others); Tue, 9 Jun 2020 13:58:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:47352 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733206AbgFIRzM (ORCPT ); Tue, 9 Jun 2020 13:55:12 -0400 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 59F3520774; Tue, 9 Jun 2020 17:55:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591725311; bh=9QiSaFPCF+LjbweQTWvY4JtLf48Yd8AZc7D1koPx13M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gPZoE1+0gH1iw84NFL4cDXmSrzXidyABkrCVJaGDEADrx3UMHqZsbmFp6soRIypd+ mV+jZYeXt8M3bdOcDW2D8xlJz+Q6/BXlOzTwQzSxWx1w6lpbFgVns1R7tIbIoP7yQy nMuk3+xUvipF9GViRlx+WphNKdx84hfDIostuuj0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Jonathan Cameron , Stable@vger.kernel.org, Tomasz Duszynski Subject: [PATCH 5.7 06/24] iio:chemical:sps30: Fix timestamp alignment Date: Tue, 9 Jun 2020 19:45:37 +0200 Message-Id: <20200609174149.832597490@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200609174149.255223112@linuxfoundation.org> References: <20200609174149.255223112@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: Jonathan Cameron commit a5bf6fdd19c327bcfd9073a8740fa19ca4525fd4 upstream. One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses an array of smaller elements on the stack. Fixes: 232e0f6ddeae ("iio: chemical: add support for Sensirion SPS30 sensor") Reported-by: Lars-Peter Clausen Signed-off-by: Jonathan Cameron Cc: Acked-by: Tomasz Duszynski Signed-off-by: Greg Kroah-Hartman --- drivers/iio/chemical/sps30.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) --- a/drivers/iio/chemical/sps30.c +++ b/drivers/iio/chemical/sps30.c @@ -230,15 +230,18 @@ static irqreturn_t sps30_trigger_handler struct iio_dev *indio_dev = pf->indio_dev; struct sps30_state *state = iio_priv(indio_dev); int ret; - s32 data[4 + 2]; /* PM1, PM2P5, PM4, PM10, timestamp */ + struct { + s32 data[4]; /* PM1, PM2P5, PM4, PM10 */ + s64 ts; + } scan; mutex_lock(&state->lock); - ret = sps30_do_meas(state, data, 4); + ret = sps30_do_meas(state, scan.data, ARRAY_SIZE(scan.data)); mutex_unlock(&state->lock); if (ret) goto err; - iio_push_to_buffers_with_timestamp(indio_dev, data, + iio_push_to_buffers_with_timestamp(indio_dev, &scan, iio_get_time_ns(indio_dev)); err: iio_trigger_notify_done(indio_dev->trig);