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) :)
Yours
-- Matti
--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland
~~ When things go utterly wrong vim users can always type :help! ~~