Re: [PATCH v2 0/3] iio: adis: fix unprotected debugfs reads
Jonathan Cameron <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260822224729.1d9c09c0@jic23-huawei> |
On Sun, 16 Aug 2026 03:27:23 +0900 Arka Mondal <[email protected]> wrote: > Four open coded file operations in three ADIS drivers are passed to > debugfs_create_file_unsafe(). None of them call debugfs_file_get(), so > debugfs_remove_recursive() does not wait for a read in progress and > unbind frees the iio_dev underneath it. > > Andy Shevchenko <[email protected]> asked on v1 whether these > could use DEFINE_DEBUGFS_ATTRIBUTE() instead. They cannot, as it formats > a single u64, and these handlers print up to four registers, e.g. > "%.4x%.4x%.4x-%.4x" in adis16136. Converting them would change what the > files return. > > adis16475 and adis16550 already split this way, using > debugfs_create_file() for their open coded firmware files and > debugfs_create_file_unsafe() only for the DEFINE_DEBUGFS_ATTRIBUTE ones. > This does the same for adis16480, adis16400 and adis16136. This all makes sense to me, so I've queued this on the fixes-togreg branch of iio.git and marked them for stable. Note that branch will be rebased on rc1 once available. As such I don't really mind rebasing it for tags or any feedback that comes in. Thanks Jonathan > > Compile tested only; no ADIS hardware available. > > Changes since v1: > 1. patch 2: changelog rewritten to explain why serial_number cannot use > DEFINE_DEBUGFS_ATTRIBUTE(). Code unchanged. > 2. patches 1 and 3: unchanged, Reviewed-by added. > > Link to v1: > https://lore.kernel.org/r/[email protected] > > Arka Mondal (3): > iio: imu: adis16480: fix unprotected debugfs reads > iio: imu: adis16400: fix unprotected debugfs reads > iio: gyro: adis16136: fix unprotected debugfs reads > > drivers/iio/gyro/adis16136.c | 2 +- > drivers/iio/imu/adis16400.c | 2 +- > drivers/iio/imu/adis16480.c | 4 ++-- > 3 files changed, 4 insertions(+), 4 deletions(-) > > > base-commit: 3d6d817622b0a9721e3cc404df3469171582be13