lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 24 Nov 2011 08:49:51 +0000
From:	Jonathan Cameron <jic23@....ac.uk>
To:	Sasha Levin <levinsasha928@...il.com>, linux-kernel@...r.kernel.org
CC:	Greg Kroah-Hartman <gregkh@...e.de>, linux-iio@...r.kernel.org,
	devel@...verdev.osuosl.org
Subject: Re: [PATCH] iio: Fix build error in industrialio-core.c



Sasha Levin <levinsasha928@...il.com> 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@....ac.uk>
>Cc: Greg Kroah-Hartman <gregkh@...e.de>
>Cc: linux-iio@...r.kernel.org
>Cc: devel@...verdev.osuosl.org
>Signed-off-by: Sasha Levin <levinsasha928@...il.com>
Acked-by: Jonathan Cameron <jic23@...nel.org>
>---
> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ