Re: [PATCH] autofs - fix lockref lookup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-04-23 at 14:46 -0700, Andrew Morton wrote:
> On Wed, 23 Apr 2014 13:20:36 +0800 Ian Kent <raven@xxxxxxxxxx> wrote:
> 
> > autofs needs to be able to see private data dentry flags for
> > its dentrys that are being created but not yet hashed and for
> > its dentys that have been rmdir()ed but not yet freed. It
> > needs to do this so it can block processes in these states
> > until a status has been returned to indicate the given
> > operation is complete.
> > 
> > It does this by keeping two lists, active and expring, of
> > dentrys in this state and uses ->d_release() to keep them
> > stable while it checks the reference count to determine
> > if they should be used.
> > 
> > But with the recent lockref changes dentrys being freed
> > sometimes don't transition to a reference count of 0 before
> > being freed so autofs can occassionally use a dentry that
> > is invalid which can lead to a panic.
> 
> What's the value of "recent"?  I assume 3.14 is OK?

I'll need to look again but from memory it's broken from 3.12 onward.

The breakage happened when lockref_mark_dead() was introduced because it
sets lockref->count = -128 instead of reducing count by one as was done
previously.

Ian
  


--
To unsubscribe from this list: send the line "unsubscribe autofs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux Ext4]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux