linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Scott Mayhew <smayhew@redhat.com>
Cc: jlayton@poochiereds.net, davej@codemonkey.org.uk,
	linux-nfs@vger.kernel.org
Subject: Re: [PATCH 0/3] nfsd/lockd notifier block fixes
Date: Fri, 6 Jan 2017 16:46:54 -0500	[thread overview]
Message-ID: <20170106214654.GE31401@fieldses.org> (raw)
In-Reply-To: <1483652091-25508-1-git-send-email-smayhew@redhat.com>

Thanks.  I'm assuming the third at least should also get a stable cc
with Fixes: c3d4879e01be.

What about the first two?  I'm not clear what the actual consequences
are.  If it's that some local listeners might not get shut down, that
sounds like a lower priority.

--b.

On Thu, Jan 05, 2017 at 04:34:48PM -0500, Scott Mayhew wrote:
> These patches fix some issues with the notifier blocks used by nfsd and
> lockd.  The first two patches initialize the scope id for link local
> addresses (this is needed because rpc_cmp_addr6 looks at it when
> comparing link local addresses).  The third patch fixes the illegal
> context switch warnings such as the following:
> 
> 
> Jan 04 16:27:20 fedora25 kernel: ===============================
> Jan 04 16:27:20 fedora25 kernel: [ INFO: suspicious RCU usage. ]
> Jan 04 16:27:20 fedora25 kernel: 4.10.0-rc2+ #9 Not tainted
> Jan 04 16:27:20 fedora25 kernel: -------------------------------
> Jan 04 16:27:20 fedora25 kernel: ./include/linux/rcupdate.h:557 Illegal context switch in RCU read-side critical section!
> Jan 04 16:27:20 fedora25 kernel: 
>                                  other info that might help us debug this:
> Jan 04 16:27:20 fedora25 kernel: 
>                                  rcu_scheduler_active = 1, debug_locks = 1
> Jan 04 16:27:20 fedora25 kernel: 2 locks held by ip/1281:
> Jan 04 16:27:20 fedora25 kernel:  #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff977abd6b>] rtnetlink_rcv+0x1b/0x40
> Jan 04 16:27:20 fedora25 kernel:  #1:  (rcu_read_lock){......}, at: [<ffffffff970d76c5>] atomic_notifier_call_chain+0x5/0x100
> Jan 04 16:27:20 fedora25 kernel: 
>                                  stack backtrace:
> Jan 04 16:27:20 fedora25 kernel: CPU: 3 PID: 1281 Comm: ip Not tainted 4.10.0-rc2+ #9
> Jan 04 16:27:20 fedora25 kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.1-1.fc24 04/01/2014
> Jan 04 16:27:20 fedora25 kernel: Call Trace:
> Jan 04 16:27:20 fedora25 kernel:  dump_stack+0x86/0xc3
> Jan 04 16:27:20 fedora25 kernel:  lockdep_rcu_suspicious+0xc5/0x100
> Jan 04 16:27:20 fedora25 kernel:  __schedule+0x4a8/0xab0
> Jan 04 16:27:20 fedora25 kernel:  ? irq_work_queue+0x8d/0xa0
> Jan 04 16:27:20 fedora25 kernel:  _cond_resched+0x2b/0x40
> Jan 04 16:27:20 fedora25 kernel:  lock_sock_nested+0x24/0xa0
> Jan 04 16:27:20 fedora25 kernel:  sock_setsockopt+0x8b/0xac0
> Jan 04 16:27:20 fedora25 kernel:  ? __local_bh_enable_ip+0x70/0xc0
> Jan 04 16:27:20 fedora25 kernel:  kernel_setsockopt+0x49/0x50
> Jan 04 16:27:20 fedora25 kernel:  svc_tcp_kill_temp_xprt+0x4a/0x60 [sunrpc]
> Jan 04 16:27:20 fedora25 kernel:  svc_age_temp_xprts_now+0x186/0x210 [sunrpc]
> Jan 04 16:27:20 fedora25 kernel:  nfsd_inet6addr_event+0x1a5/0x200 [nfsd]
> Jan 04 16:27:20 fedora25 kernel:  ? nfsd_inet6addr_event+0x5/0x200 [nfsd]
> Jan 04 16:27:20 fedora25 kernel:  notifier_call_chain+0x4a/0x70
> Jan 04 16:27:20 fedora25 kernel:  atomic_notifier_call_chain+0x67/0x100
> Jan 04 16:27:20 fedora25 kernel:  ? atomic_notifier_call_chain+0x5/0x100
> Jan 04 16:27:20 fedora25 kernel:  inet6addr_notifier_call_chain+0x1b/0x20
> Jan 04 16:27:20 fedora25 kernel:  ipv6_del_addr+0x145/0x250
> Jan 04 16:27:20 fedora25 kernel:  inet6_addr_del+0xf1/0x1b0
> Jan 04 16:27:20 fedora25 kernel:  inet6_rtm_deladdr+0xa9/0xc0
> Jan 04 16:27:20 fedora25 kernel:  rtnetlink_rcv_msg+0xe6/0x210
> Jan 04 16:27:20 fedora25 kernel:  ? debug_lockdep_rcu_enabled+0x1d/0x20
> Jan 04 16:27:20 fedora25 kernel:  ? rtnl_newlink+0x860/0x860
> Jan 04 16:27:20 fedora25 kernel:  netlink_rcv_skb+0xa4/0xc0
> Jan 04 16:27:20 fedora25 kernel:  rtnetlink_rcv+0x2a/0x40
> Jan 04 16:27:20 fedora25 kernel:  netlink_unicast+0x1e5/0x2e0
> Jan 04 16:27:20 fedora25 kernel:  ? netlink_unicast+0x16f/0x2e0
> Jan 04 16:27:20 fedora25 kernel:  netlink_sendmsg+0x2fe/0x3b0
> Jan 04 16:27:20 fedora25 kernel:  sock_sendmsg+0x38/0x50
> Jan 04 16:27:20 fedora25 kernel:  ___sys_sendmsg+0x2e0/0x2f0
> Jan 04 16:27:20 fedora25 kernel:  ? trace_hardirqs_on_caller+0xf5/0x1b0
> Jan 04 16:27:20 fedora25 kernel:  ? _raw_spin_unlock+0x27/0x30
> Jan 04 16:27:20 fedora25 kernel:  ? handle_mm_fault+0x6b5/0x15f0
> Jan 04 16:27:20 fedora25 kernel:  ? handle_mm_fault+0x4f/0x15f0
> Jan 04 16:27:20 fedora25 kernel:  ? debug_lockdep_rcu_enabled+0x1d/0x20
> Jan 04 16:27:20 fedora25 kernel:  __sys_sendmsg+0x54/0x90
> Jan 04 16:27:20 fedora25 kernel:  SyS_sendmsg+0x12/0x20
> Jan 04 16:27:20 fedora25 kernel:  entry_SYSCALL_64_fastpath+0x1f/0xc2
> Jan 04 16:27:20 fedora25 kernel: RIP: 0033:0x7f8fd55e6037
> Jan 04 16:27:20 fedora25 kernel: RSP: 002b:00007ffc7f1a7558 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
> Jan 04 16:27:20 fedora25 kernel: RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f8fd55e6037
> Jan 04 16:27:20 fedora25 kernel: RDX: 0000000000000000 RSI: 00007ffc7f1a75a0 RDI: 0000000000000003
> Jan 04 16:27:20 fedora25 kernel: RBP: 00007ffc7f1a75a0 R08: 0000000000000400 R09: fefefeff77686d74
> Jan 04 16:27:20 fedora25 kernel: R10: 00000000000005eb R11: 0000000000000246 R12: 0000000000000000
> Jan 04 16:27:20 fedora25 kernel: R13: 000000000065d3a0 R14: 00007ffc7f1af6e0 R15: 00007ffc7f1af6e8
> 
> 
> Scott Mayhew (3):
>   nfsd: initialize sin6_scope_id in nfsd_inet6addr_event()
>   lockd: initialize sin6_scope_id in lockd_inet6addr_event()
>   sunrpc: don't call sleeping functions from the notifier block
>     callbacks
> 
>  fs/lockd/svc.c                  |  2 ++
>  fs/nfsd/nfssvc.c                |  2 ++
>  include/linux/sunrpc/svc_xprt.h |  1 +
>  net/sunrpc/svc_xprt.c           | 10 +++++++---
>  4 files changed, 12 insertions(+), 3 deletions(-)
> 
> -- 
> 2.7.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-01-06 21:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-05 21:34 [PATCH 0/3] nfsd/lockd notifier block fixes Scott Mayhew
2017-01-05 21:34 ` [PATCH 1/3] nfsd: initialize sin6_scope_id in nfsd_inet6addr_event() Scott Mayhew
2017-01-05 21:34 ` [PATCH 2/3] lockd: initialize sin6_scope_id in lockd_inet6addr_event() Scott Mayhew
2017-01-05 21:34 ` [PATCH 3/3] sunrpc: don't call sleeping functions from the notifier block callbacks Scott Mayhew
2017-01-06 21:46 ` J. Bruce Fields [this message]
2017-01-10 17:09   ` [PATCH 0/3] nfsd/lockd notifier block fixes Scott Mayhew
2017-01-12 21:16     ` J. Bruce Fields

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=20170106214654.GE31401@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=davej@codemonkey.org.uk \
    --cc=jlayton@poochiereds.net \
    --cc=linux-nfs@vger.kernel.org \
    --cc=smayhew@redhat.com \
    /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).