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(-)
> >
>
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox