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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 16 Oct 2010 21:24:37 -0400
From:	Christoph Hellwig <hch@...radead.org>
To:	Boaz Harrosh <bharrosh@...asas.com>
Cc:	Christoph Hellwig <hch@...radead.org>,
	Dave Chinner <david@...morbit.com>,
	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 06/18] exofs: use iput() for inode reference count
 decrements

On Wed, Oct 13, 2010 at 10:49:46AM -0400, Boaz Harrosh wrote:
> I suspect it's not a bug but a useless inc/dec because in all my testing
> I have not seen an inode leak. Let me investigate if it can be removed.
> 
> So I do not think we need it for 2.6.36.
> 
> I'll take this patch into my 2.6.37-rcX merge window. It should appear
> in linux-next by tomorrow. Hopefully followed by a removal patch later.

It's a very real bug.  If an inode goes away in-core before the creation
on the OSD has finished, e.g. by using the drop_cache files the
atomic_dec instead of the iput means you will never call iput_final
and thus leak all ressources associated with the inode, as well as
leaving it on all lists.  It's not easy to hit, but very nasty when
it is hit.

Another option to fix it might be to drop the refcount games and just
add a wait for the objection creation in the evict_inode method to
make sure we never remove the inode before the object creation
has finished.

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