All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@zeniv.linux.org.uk>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Pavel Machek <pavel@ucw.cz>,
	kernel list <linux-kernel@vger.kernel.org>,
	sfr@canb.auug.org.au
Subject: Re: next-20190708: kernel BUG at lib/lockref.c:189, softlockups in shrink_dcache...?
Date: Thu, 11 Jul 2019 01:25:27 +0100	[thread overview]
Message-ID: <20190711002527.GD17978@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20190710170912.dd53d6539127bb5b7536788d@linux-foundation.org>

On Wed, Jul 10, 2019 at 05:09:12PM -0700, Andrew Morton wrote:
> On Wed, 10 Jul 2019 22:13:11 +0200 Pavel Machek <pavel@ucw.cz> wrote:
> 
> > Hi!
> > 
> > I'm getting some nastyness from lockref / memory management.
> > 
> > Any ideas? Any ideas who to talk to?
> > 
> 
> I'd be suspecting Al's a99d7580f66e737 ("Teach shrink_dcache_parent()
> to cope with mixed-filesystem shrink lists").

It is, and it's already fixed.  See 9bdebc2bd1c4 with fixes folded in;
the incremental is

diff --git a/fs/dcache.c b/fs/dcache.c
index d8732cf2e302..01b8cae41a71 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1555,7 +1555,9 @@ void shrink_dcache_parent(struct dentry *parent)
 		d_walk(parent, &data, select_collect2);
 		if (data.victim) {
 			struct dentry *parent;
+			spin_lock(&data.victim->d_lock);
 			if (!shrink_lock_dentry(data.victim)) {
+				spin_unlock(&data.victim->d_lock);
 				rcu_read_unlock();
 			} else {
 				rcu_read_unlock();
 
> This appears to have been added to -next around the -rc6 timeframe,
> which seems awfully late?

I'm not sure if I'll be asking to pull that series this window,
actually ;-/

Sigh...  This cycle had been a mess - spent a month or so very unpleasantly
sick ;-/

  reply	other threads:[~2019-07-11  0:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-10 20:13 next-20190708: kernel BUG at lib/lockref.c:189, softlockups in shrink_dcache...? Pavel Machek
2019-07-11  0:09 ` Andrew Morton
2019-07-11  0:25   ` Al Viro [this message]
2019-07-11  7:24     ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190711002527.GD17978@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.