From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [git pull] drm fixes Date: Mon, 7 Jun 2010 22:33:10 +0100 Message-ID: <20100607213310.GO31073@ZenIV.linux.org.uk> References: <20100607182640.GL31073@ZenIV.linux.org.uk> <1275939165.17903.5100.camel@macbook.infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Linus Torvalds Cc: David Woodhouse , Dave Airlie , dri-devel@lists.freedesktop.org, Linux Kernel Mailing List List-Id: dri-devel@lists.freedesktop.org On Mon, Jun 07, 2010 at 02:17:23PM -0700, Linus Torvalds wrote: > jffs2_clear_inode(inode); > > into > > make_bad_inode(inode); > iput(inode); > > and that changelog doesn't really explain it either ("fix leak"? Ok, I can > see the iput() fixing the leak - but you also did that jffs2_clear_inode() > change, and that has no explanation what-so-ever. The final iput() calls ->clear_inode() (jffs2_clear_inode in case of jffs2) and the inode has just been created, with no other in-core references existing. Basically, that call was the only part of (required) iput() that _was_ done there ;-) FWIW, what's happening around ->clear_inode()/->delete_inode()/->drop_inode() is a mess. This leak got found when I'd been looking through that crap; results of sanitizing are in #evict_inode (vfs-2.6.git). I'm going to shift that into for-next tomorrow, assuming it survives local beating. For now I've just pulled jffs2-fixes in it...