From: Jeff Layton <jlayton@redhat.com>
To: "J. Bruce Fields" <bfields@fieldses.org>,
Naofumi Honda <honda@math.sci.hokudai.ac.jp>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [Bug 197817] "Panic: unable to handle kernel page request" in posix_unblock_lock() called from nfs4_laundromat()
Date: Thu, 09 Nov 2017 11:14:58 -0500 [thread overview]
Message-ID: <1510244098.30919.10.camel@redhat.com> (raw)
In-Reply-To: <20171109160728.GI8773@fieldses.org>
On Thu, 2017-11-09 at 11:07 -0500, J. Bruce Fields wrote:
> On Thu, Nov 09, 2017 at 10:08:28AM +0900, Naofumi Honda wrote:
> > Dear Developers:
> >
> > > https://bugzilla.kernel.org/show_bug.cgi?id=197817
> > >
> > > --- Comment #1 from bfields@fieldses.org ---
> > > Yes, I think you're right.
> > >
> > > Would it be possible for you to submit a patch to fix that typo in those two
> > > places? (Just mail it to me at bfields@fieldses.org, cc: to
> > > linux-nfs@vger.kernel.org).
> > >
> >
> > OK, I have attached the patch.
>
> Thanks for the investigation and the fix!
>
> For future reference, we prefer patches to be inline with the email
> message (not attached), and prefer them in "unified" format.
>
> But for a one-off patch I can fix it up myself; applied as follows.
>
> --b.
>
> commit c26806a20fa3
> Author: Naofumi Honda <honda@math.sci.hokudai.ac.jp>
> Date: Thu Nov 9 10:57:16 2017 -0500
>
> nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat
>
> From kernel 4.9, my two nfsv4 servers sometimes suffer from
> "panic: unable to handle kernel page request"
> in posix_unblock_lock() called from nfs4_laundromat().
>
> These panics diseappear if we revert the commit "nfsd: add a LRU list
> for blocked locks".
>
> The cause appears to be a typo in nfs4_laundromat(), which is also
> present in nfs4_state_shutdown_net().
>
> Cc: stable@vger.kernel.org
> Fixes: 7919d0a27f1e "nfsd: add a LRU list for blocked locks"
> Cc: jlayton@redhat.com
> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 923243369bbc..b99830ab63aa 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -4791,7 +4791,7 @@ nfs4_laundromat(struct nfsd_net *nn)
> spin_unlock(&nn->blocked_locks_lock);
>
> while (!list_empty(&reaplist)) {
> - nbl = list_first_entry(&nn->blocked_locks_lru,
> + nbl = list_first_entry(&reaplist,
> struct nfsd4_blocked_lock, nbl_lru);
> list_del_init(&nbl->nbl_lru);
> posix_unblock_lock(&nbl->nbl_lock);
> @@ -7260,7 +7260,7 @@ nfs4_state_shutdown_net(struct net *net)
> spin_unlock(&nn->blocked_locks_lock);
>
> while (!list_empty(&reaplist)) {
> - nbl = list_first_entry(&nn->blocked_locks_lru,
> + nbl = list_first_entry(&reaplist,
> struct nfsd4_blocked_lock, nbl_lru);
> list_del_init(&nbl->nbl_lru);
> posix_unblock_lock(&nbl->nbl_lock);
<facepalm>
Well spotted! I wonder if this might be the cause of some crashes we've
seen as well?
Reviewed-by: Jeff Layton <jlayton@redhat.com>
prev parent reply other threads:[~2017-11-09 16:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-197817-198953@https.bugzilla.kernel.org/>
[not found] ` <bug-197817-198953-0whWrJRFSz@https.bugzilla.kernel.org/>
2017-11-09 1:08 ` [Bug 197817] "Panic: unable to handle kernel page request" in posix_unblock_lock() called from nfs4_laundromat() Naofumi Honda
2017-11-09 16:07 ` J. Bruce Fields
2017-11-09 16:14 ` Jeff Layton [this message]
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=1510244098.30919.10.camel@redhat.com \
--to=jlayton@redhat.com \
--cc=bfields@fieldses.org \
--cc=honda@math.sci.hokudai.ac.jp \
--cc=linux-nfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).