[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN6PR03MB3347F052B16EDFB9BED9029D99C80@BN6PR03MB3347.namprd03.prod.outlook.com>
Date: Tue, 31 Mar 2020 15:28:03 +0000
From: "Sa, Nuno" <Nuno.Sa@...log.com>
To: Rohit Sarkar <rohitsarkar5398@...il.com>,
"linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>
CC: "Bogdan, Dragos" <Dragos.Bogdan@...log.com>,
Lars-Peter Clausen <lars@...afoo.de>,
"Hennerich, Michael" <Michael.Hennerich@...log.com>,
Stefan Popa <stefan.popa@...log.com>,
Jonathan Cameron <jic23@...nel.org>,
Hartmut Knaack <knaack.h@....de>,
Peter Meerwald-Stadler <pmeerw@...erw.net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 1/2] iio: imu: adis16400: use DEFINE_DEBUGFS_ATTRIBUTE
instead of DEFINE_SIMPLE_ATTRIBUTE
> From: linux-iio-owner@...r.kernel.org <linux-iio-owner@...r.kernel.org> On
> Behalf Of Rohit Sarkar
> Sent: Dienstag, 31. März 2020 13:48
> To: linux-iio@...r.kernel.org
> Cc: Bogdan, Dragos <Dragos.Bogdan@...log.com>; Rohit Sarkar
> <rohitsarkar5398@...il.com>; Lars-Peter Clausen <lars@...afoo.de>;
> Hennerich, Michael <Michael.Hennerich@...log.com>; Stefan Popa
> <stefan.popa@...log.com>; Jonathan Cameron <jic23@...nel.org>; Hartmut
> Knaack <knaack.h@....de>; Peter Meerwald-Stadler
> <pmeerw@...erw.net>; linux-kernel@...r.kernel.org
> Subject: [PATCH v2 1/2] iio: imu: adis16400: use
> DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE
>
> debugfs_create_file_unsafe does not protect the fops handed to it
> against file removal. DEFINE_DEBUGFS_ATTRIBUTE makes the fops aware of
> the file lifetime and thus protects it against removal.
>
> Signed-off-by: Rohit Sarkar <rohitsarkar5398@...il.com>
> ---
> drivers/iio/imu/adis16400.c | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/iio/imu/adis16400.c b/drivers/iio/imu/adis16400.c
> index cfb1c19eb930..c8fcd40f58c0 100644
> --- a/drivers/iio/imu/adis16400.c
> +++ b/drivers/iio/imu/adis16400.c
> @@ -258,7 +258,7 @@ static int adis16400_show_product_id(void *arg, u64
> *val)
>
> return 0;
> }
> -DEFINE_SIMPLE_ATTRIBUTE(adis16400_product_id_fops,
> +DEFINE_DEBUGFS_ATTRIBUTE(adis16400_product_id_fops,
> adis16400_show_product_id, NULL, "%lld\n");
>
> static int adis16400_show_flash_count(void *arg, u64 *val)
> @@ -275,7 +275,7 @@ static int adis16400_show_flash_count(void *arg, u64
> *val)
>
> return 0;
> }
> -DEFINE_SIMPLE_ATTRIBUTE(adis16400_flash_count_fops,
> +DEFINE_DEBUGFS_ATTRIBUTE(adis16400_flash_count_fops,
> adis16400_show_flash_count, NULL, "%lld\n");
>
> static int adis16400_debugfs_init(struct iio_dev *indio_dev)
> @@ -283,15 +283,16 @@ static int adis16400_debugfs_init(struct iio_dev
> *indio_dev)
> struct adis16400_state *st = iio_priv(indio_dev);
>
> if (st->variant->flags & ADIS16400_HAS_SERIAL_NUMBER)
> - debugfs_create_file("serial_number", 0400,
> - indio_dev->debugfs_dentry, st,
> - &adis16400_serial_number_fops);
> + debugfs_create_file_unsafe("serial_number", 0400,
> + indio_dev->debugfs_dentry, st,
> + &adis16400_serial_number_fops);
> if (st->variant->flags & ADIS16400_HAS_PROD_ID)
> - debugfs_create_file("product_id", 0400,
> + debugfs_create_file_unsafe("product_id", 0400,
> + indio_dev->debugfs_dentry, st,
> + &adis16400_product_id_fops);
> + debugfs_create_file_unsafe("flash_count", 0400,
> indio_dev->debugfs_dentry, st,
> - &adis16400_product_id_fops);
> - debugfs_create_file("flash_count", 0400, indio_dev->debugfs_dentry,
> - st, &adis16400_flash_count_fops);
> + &adis16400_flash_count_fops);
>
> return 0;
> }
Tested-by Nuno Sá <nuno.sa@...log.com>
> --
> 2.23.0.385.gbc12974a89
Powered by blists - more mailing lists