All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Eugen Hristev <eugen.hristev@microchip.com>,
	Andreas Klinger <ak@it-klinger.d>,
	Matt Ranostay <matt.ranostay@konsulko.com>,
	Gwendal Grignou <gwendal@chromium.org>,
	Song Qiang <songqiang1304521@gmail.com>,
	Mathieu Othacehe <m.othacehe@gmail.com>,
	Parthiban Nallathambi <pn@denx.de>,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: Re: [PATCH 00/11] IIO: Alignment fixes part 3 - __aligned(8) used to ensure alignment
Date: Wed, 26 May 2021 18:09:16 +0100	[thread overview]
Message-ID: <20210526180916.5e253ef3@jic23-huawei> (raw)
In-Reply-To: <20210513185832.515046f9@jic23-huawei>

On Thu, 13 May 2021 18:58:32 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Sat,  1 May 2021 18:13:41 +0100
> Jonathan Cameron <jic23@kernel.org> wrote:
> 
> > From: Jonathan Cameron <Jonathan.Cameron@huawei.com>  
> 
> Thanks to those who have already provided reviews on this set.
> If anyone has time to do a quick sanity check of the remaining patches
> it would be much appreciated.  I'll pick up the ones which have been reviewed
> in a few mins.
> 
> +Cc Andy who was kind enough to look at the other 'parts' of this mega series.

Anyone bored?  Still looking for a sanity check of the rest of this
series before I apply it.

I aim to revisit part 4 in the next few days.

Jonathan

> 
> Thanks
> 
> Jonathan
> 
> > 
> > I finally got around to do a manual audit of all the calls to
> > iio_push_to_buffers_with_timestamp() which has the somewhat odd requirements
> > of:
> > 1. 8 byte alignment of the provided buffer.
> > 2. space for an 8 byte naturally aligned timestamp to be inserted at the
> >    end.
> > 
> > Unfortunately there were rather a lot of these left, but time to bite the bullet
> > and clean them up.
> > 
> > As discussed previous in
> > https://lore.kernel.org/linux-iio/20200920112742.170751-1-jic23@kernel.org/
> > it is not easy to fix the alignment issue without requiring a bounce buffer
> > (see part 4 of the alignment fixes for a proposal for that where it is
> > absolutely necessary).
> > 
> > Part 3 contains the cases where the struct approach in part 2 did not seem
> > appropriate.  Normally there are two possible reasons for this.
> > 1.  Would have required an additional memset operation to avoid any
> >     possibility of leaking kernel data.
> > 2.  The location of the timestamp may depend on the channels enabled.
> >     This normally happens when the max sizeof channels is greater than
> >     8 bytes.
> > 
> > Once all cases are fixes, I'll take a look at hardening against any
> > accidental reintroductions. Note that on many platforms and usecases the
> > bug in question will never occur.
> > 
> > Cc: Eugen Hristev <eugen.hristev@microchip.com>
> > Cc: Andreas Klinger <ak@it-klinger.d>
> > Cc: Matt Ranostay <matt.ranostay@konsulko.com>
> > Cc: Gwendal Grignou <gwendal@chromium.org>
> > Cc: Song Qiang <songqiang1304521@gmail.com>
> > Cc: Mathieu Othacehe <m.othacehe@gmail.com>
> > Cc: Parthiban Nallathambi <pn@denx.de>
> > 
> > Jonathan Cameron (11):
> >   iio: adc: at91-sama5d2: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: adc: hx711: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: adc: mxs-lradc: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: adc: ti-ads8688: Fix alignment of buffer in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: chemical: atlas: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: cros_ec_sensors: Fix alignment of buffer in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: potentiostat: lmp91000: Fix alignment of buffer in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: magn: rm3100: Fix alignment of buffer in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: light: vcnl4000: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: light: vcnl4035: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> >   iio: prox: isl29501: Fix buffer alignment in
> >     iio_push_to_buffers_with_timestamp()
> > 
> >  drivers/iio/adc/at91-sama5d2_adc.c              | 3 ++-
> >  drivers/iio/adc/hx711.c                         | 4 ++--
> >  drivers/iio/adc/mxs-lradc-adc.c                 | 3 ++-
> >  drivers/iio/adc/ti-ads8688.c                    | 3 ++-
> >  drivers/iio/chemical/atlas-sensor.c             | 4 ++--
> >  drivers/iio/light/vcnl4000.c                    | 2 +-
> >  drivers/iio/light/vcnl4035.c                    | 3 ++-
> >  drivers/iio/magnetometer/rm3100-core.c          | 3 ++-
> >  drivers/iio/potentiostat/lmp91000.c             | 4 ++--
> >  drivers/iio/proximity/isl29501.c                | 2 +-
> >  include/linux/iio/common/cros_ec_sensors_core.h | 2 +-
> >  11 files changed, 19 insertions(+), 14 deletions(-)
> >   
> 


  reply	other threads:[~2021-05-26 17:07 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-01 17:13 [PATCH 00/11] IIO: Alignment fixes part 3 - __aligned(8) used to ensure alignment Jonathan Cameron
2021-05-01 17:13 ` [PATCH 01/11] iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp() Jonathan Cameron
2021-05-26 17:23   ` Eugen.Hristev
2021-05-27  8:48     ` Jonathan Cameron
2021-05-01 17:13 ` [PATCH 02/11] iio: adc: hx711: " Jonathan Cameron
2021-05-01 17:13 ` [PATCH 03/11] iio: adc: mxs-lradc: " Jonathan Cameron
2021-05-01 17:13 ` [PATCH 04/11] iio: adc: ti-ads8688: Fix alignment of buffer " Jonathan Cameron
2021-05-01 17:13 ` [PATCH 05/11] iio: chemical: atlas: Fix buffer alignment " Jonathan Cameron
2021-05-06  6:44   ` Matt Ranostay
2021-05-13 17:59     ` Jonathan Cameron
2021-05-01 17:13 ` [PATCH 06/11] iio: cros_ec_sensors: Fix alignment of buffer " Jonathan Cameron
2021-05-01 23:58   ` Gwendal Grignou
2021-05-13 18:03     ` Jonathan Cameron
2021-05-01 17:13 ` [PATCH 07/11] iio: potentiostat: lmp91000: " Jonathan Cameron
2021-05-06  6:44   ` Matt Ranostay
2021-05-13 18:04     ` Jonathan Cameron
2021-05-01 17:13 ` [PATCH 08/11] iio: magn: rm3100: " Jonathan Cameron
2021-05-01 17:13 ` [PATCH 09/11] iio: light: vcnl4000: Fix buffer alignment " Jonathan Cameron
2021-05-01 17:13 ` [PATCH 10/11] iio: light: vcnl4035: " Jonathan Cameron
2021-05-01 17:13 ` [PATCH 11/11] iio: prox: isl29501: " Jonathan Cameron
2021-05-13 17:58 ` [PATCH 00/11] IIO: Alignment fixes part 3 - __aligned(8) used to ensure alignment Jonathan Cameron
2021-05-26 17:09   ` Jonathan Cameron [this message]
2021-05-26 17:17     ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210526180916.5e253ef3@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=ak@it-klinger.d \
    --cc=andy.shevchenko@gmail.com \
    --cc=eugen.hristev@microchip.com \
    --cc=gwendal@chromium.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=m.othacehe@gmail.com \
    --cc=matt.ranostay@konsulko.com \
    --cc=pn@denx.de \
    --cc=songqiang1304521@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.