Re: [PATCH vfs/for-next] fs/dcache.c: fix NULL pointer dereference in shrink_lock_dentry()

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

 



On Sat, Mar 24, 2018 at 04:50:54AM +0000, Al Viro wrote:
> On Fri, Mar 23, 2018 at 09:37:35PM -0700, Matthew Wilcox wrote:
> > That puts the comparison out-of-line rather than in the exit path that
> > everybody uses.
> 
> That was my first reaction as well, but...  we can get there without parent
> changing - just a negative dentry that got grabbed by somebody else just
> as we'd been getting its ->d_lock.  Moreover, this is _not_ the exit path
> everyone takes - all paths reaching it go though an unlikely branch.
> The common ones are actually "got all locks, everything's stable, nobody
> has grabbed any references" (return true a couple of lines prior) or
> "the sucker has grown references while it sat on the shrink list" as the
> second (considerably more rare) option (the very first return false in
> that function).

Quite right.  I just woke up and my brain had figured that out while I
was sleeping.  Thanks.



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux