Sasha Levin <levinsasha928@xxxxxxxxx> wrote: >The error was introduced in commit b4641336 ("iio: fix a leak due to >improper use of anon_inode_getfd()"). > >Looks like the code wasn't even compile tested. Instead of just fixing >the >error I changed the function a bit to make it nicer. Minimal change would have been slightly nicer but clean up is obvious so fine. Thanks for doing this. Andrew m has a dirty build fix in NM but he will drop that when this hits. >Cc: Jonathan Cameron <jic23@xxxxxxxxx> >Cc: Greg Kroah-Hartman <gregkh@xxxxxxx> >Cc: linux-iio@xxxxxxxxxxxxxxx >Cc: devel@xxxxxxxxxxxxxxxxxxxx >Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> >--- > drivers/staging/iio/industrialio-core.c | 21 ++++++++++----------- > 1 files changed, 10 insertions(+), 11 deletions(-) > >diff --git a/drivers/staging/iio/industrialio-core.c >b/drivers/staging/iio/industrialio-core.c >index 2656409..5367914 100644 >--- a/drivers/staging/iio/industrialio-core.c >+++ b/drivers/staging/iio/industrialio-core.c >@@ -242,25 +242,24 @@ static const struct file_operations >iio_event_chrdev_fileops = { > > static int iio_event_getfd(struct iio_dev *indio_dev) > { >+ struct iio_event_interface *ev_int = indio_dev->event_interface; > int fd; > >- if (indio_dev->event_interface == NULL) >+ if (ev_int == NULL) > return -ENODEV; > >- mutex_lock(&indio_dev->event_interface->event_list_lock); >- if (test_and_set_bit(IIO_BUSY_BIT_POS, >- &indio_dev->event_interface->flags)) { >- mutex_unlock(&indio_dev->event_interface->event_list_lock); >+ mutex_lock(&ev_int->event_list_lock); >+ if (test_and_set_bit(IIO_BUSY_BIT_POS, &ev_int->flags)) { >+ mutex_unlock(&ev_int->event_list_lock); > return -EBUSY; > } >- mutex_unlock(&indio_dev->event_interface->event_list_lock); >- fd = anon_inode_getfd("iio:event", >- &iio_event_chrdev_fileops, >- indio_dev->event_interface, O_RDONLY); >+ mutex_unlock(&ev_int->event_list_lock); >+ fd = anon_inode_getfd("iio:event", &iio_event_chrdev_fileops, >+ ev_int, O_RDONLY); > if (fd < 0) { >- mutex_lock(&indio_dev->event_interface->event_list_lock); >+ mutex_lock(&ev_int->event_list_lock); > clear_bit(IIO_BUSY_BIT_POS, &ev_int->flags); >- mutex_unlock(&indio_dev->event_interface->event_list_lock); >+ mutex_unlock(&ev_int->event_list_lock); > } > return fd; > } >-- >1.7.8.rc3 -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel