Re: 2.6.20-rc2-mm1: INFO: possible recursive locking detected in con_close

Frederik Deweerdt
2007-01-05T10:59:20Z

On Thu, Jan 04, 2007 at 05:10:05PM -0800, Greg KH wrote:
> On Fri, Dec 29, 2006 at 11:00:41AM +0000, Frederik Deweerdt wrote:
> > On Thu, Dec 28, 2006 at 10:25:12PM +0100, Laurent Riffard wrote:
> > > Le 28.12.2006 11:42, Andrew Morton a ?crit :
> > > >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20-rc2/2.6.20-rc2-mm1/
> > >
> > > Hello,
> > >
> > > got this with 2.6.20-rc2-mm1, reverting
> > > gregkh-driver-driver-core-fix-race-in-sysfs-between-sysfs_remove_file-and-read-write.patch made it disappear.
> > >
> > Hi,
> >
> > This is due to sysfs_hash_and_remove() holding dir->d_inode->i_mutex
> > before calling sysfs_drop_dentry() which calls orphan_all_buffers()
> > which in turn takes node->i_mutex.
> > The following patch solves the problem by defering the buffers orphaning
> > after the dir->d_inode->imutex is released. Not sure it's the best
> > solution though, Greg?
> >
> > Regards,
> > Frederik
> >
> > Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
>
> Maneesh and Oliver, any objections to this patch?
>
Actually, there's a problem with the patch: inode is not initialized in
sysfs_hash_and_remove, I'll repost a patch against 2.6.20-rc3-mm1.

Regards,
Frederik