Re: [RFT PATCH v3 10/10] iio: Don't silently expect attribute types

From: Matti Vaittinen
Date: Thu Oct 06 2022 - 08:55:42 EST

Hi Claudiu,

On 10/6/22 11:35, Claudiu.Beznea@xxxxxxxxxxxxx wrote:
On 03.10.2022 11:13, Matti Vaittinen wrote:
The iio_triggered_buffer_setup_ext() and the
devm_iio_kfifo_buffer_setup_ext() were changed by
commit 15097c7a1adc ("iio: buffer: wrap all buffer attributes into iio_dev_attr")
to silently expect that all attributes given in buffer_attrs array are
device-attributes. This expectation was not forced by the API - and some
drivers did register attributes created by IIO_CONST_ATTR().

When using IIO_CONST_ATTRs the added attribute "wrapping" does not copy
the pointer to stored string constant and when the sysfs file is read the
kernel will access to invalid location.

Change the function signatures to expect an array of iio_dev_attrs to
avoid similar errors in the future.

Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>

Tested-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>

on SAMA5D2

Thanks a ton for the testing! I do _really_ appreciate it :) I am now slightly more confident regarding the fix here - and a lot more confident that we do have an actual bug (as you explained in the reply to the first RFT) :)

-- Matti

Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~