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-next>] [day] [month] [year] [list]
Message-ID: <daed65ee080e4cc417c87f34af8447f2.squirrel@webmail.novalis.org>
Date:	Tue, 4 Mar 2014 14:09:18 -0500
From:	"David Turner" <novalis@...alis.org>
To:	"John McCutchan" <john@...nmccutchan.com>,
	"Robert Love" <rlove@...ve.org>,
	"Eric Paris" <eparis@...isplace.org>, linux-kernel@...r.kernel.org
Subject: PROBLEM: Inotify leaks file descriptors.

I apologize for the slightly convoluted reproduction steps here,
but I was not easily able to find a simpler test case in the
time that I had available.

First, you'll need Facebook's watchman:
https://github.com/facebook/watchman

Build and install it.  Then run the attached Python script.
After a few hundred lines, you'll start to see errors of the form
inotify_init error: Too many open files.  That could just
indicate that watchman is leaking, but I think that's not what's
going on, because killing watchman does not fix the problem.

To demonstrate, kill the python script, then kill watchman.
Then run tail -f /etc/hosts.  You'll get "tail: inotify cannot be
used, reverting to polling: Too many open files" (you may need to
run a few tails to see the error).  In fact, the only way I have
found to get back to normal is to reboot.

I tried increasing the ulimit to 10000 (from the default 1024).
The error still happens, but it seems to take a bit longer.

I have tried on a couple of Ubuntu kernels:

Linux version 3.11.0-17-generic (buildd@...ol) (gcc version 4.6.3
(Ubuntu/Linaro 4.6.3-1ubuntu5) ) #31~precise1-Ubuntu SMP Tue Feb 4
21:25:43 UTC 2014

And Ubuntu's 3.8.0-36-generic (it's not running right now so I can't give
the full version).

I've also tried a stock kernel built from source (in a virtualbox):

Linux version 3.13.5 (dturner@...rner-virtualbox) (gcc version 4.8.1
(Ubuntu/Linaro 4.8.1-10ubuntu8) ) #1 SMP Mon Mar 3 20:41:51 EST 2014

I get the error on all of these.
There is no output in dmesg.

I was running these tests on ext4 filesystems:
(for the Ubuntu kernels)
/dev/mapper/stross--vg-root on / type ext4 (rw,errors=remount-ro)
(for the stock kernel, in the virtualbox)
/dev/sda1 on / type ext4 (rw,errors=remount-ro)

Please let me know if you need any more information.

FWIW, I did find this bug while googling, but it was on older kernels and
was allegedly fixed:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1101666



--
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