Re: dcache shrink list corruption?

From: Al Viro
Date: Tue May 06 2014 - 15:15:35 EST


On Tue, May 06, 2014 at 10:01:21AM -0700, Linus Torvalds wrote:
> On Tue, May 6, 2014 at 9:52 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > OK... There's one more thing I would like to put there, if you are going to
> > be away for the week. It has sat in -next for a while, and it could stay
> > there, except that there's a _lot_ of followups touching stuff all over the
> > tree and I'd obviously prefer those to go into subsystem trees. Which
> > means inter-tree dependencies ;-/ Would you be OK if I included that one
> > into pull request? It just turns kvfree() into inline and takes it to
> > mm.h, next to is_vmalloc_addr();
>
> Is there any particular reason for inlining this? I'd actually rather
> not, _especially_ if it means that a lot of "is_vmalloc_addr()" usage
> goes away and we may end up with this as a real interface.

OK, I can live with that. dcache fixes + kvfree() (uninlined, exported by
mm/util.c) + posix_acl bugfix from hch. Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (9):
fix races between __d_instantiate() and checks of dentry flags
fold d_kill() and d_free()
fold try_prune_one_dentry()
new helper: dentry_free()
expand the call of dentry_lru_del() in dentry_kill()
dentry_kill(): don't try to remove from shrink list
don't remove from shrink list in select_collect()
more graceful recovery in umount_collect()
nick kvfree() from apparmor

Christoph Hellwig (1):
posix_acl: handle NULL ACL in posix_acl_equiv_mode

Miklos Szeredi (1):
dcache: don't need rcu in shrink_dentry_list()

Diffstat:
fs/dcache.c | 318 ++++++++++++++++++++++++---------------------------------------------------
fs/namei.c | 6 +-
fs/posix_acl.c | 6 ++
include/linux/dcache.h | 2 +
include/linux/mm.h | 2 +
mm/util.c | 10 +++
security/apparmor/include/apparmor.h | 1 -
security/apparmor/lib.c | 14 ----
8 files changed, 125 insertions(+), 234 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/