Return-Path: Received: from fieldses.org ([173.255.197.46]:60080 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750730AbdALVQL (ORCPT ); Thu, 12 Jan 2017 16:16:11 -0500 Date: Thu, 12 Jan 2017 16:16:11 -0500 From: "J. Bruce Fields" To: Scott Mayhew Cc: jlayton@poochiereds.net, davej@codemonkey.org.uk, linux-nfs@vger.kernel.org Subject: Re: [PATCH 0/3] nfsd/lockd notifier block fixes Message-ID: <20170112211611.GF10501@fieldses.org> References: <1483652091-25508-1-git-send-email-smayhew@redhat.com> <20170106214654.GE31401@fieldses.org> <20170110170940.dkpvwglxu242jetg@tonberry.usersys.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20170110170940.dkpvwglxu242jetg@tonberry.usersys.redhat.com> Sender: linux-nfs-owner@vger.kernel.org List-ID: On Tue, Jan 10, 2017 at 12:09:40PM -0500, Scott Mayhew wrote: > On Fri, 06 Jan 2017, J. Bruce Fields wrote: > > > Thanks. I'm assuming the third at least should also get a stable cc > > with Fixes: c3d4879e01be. > > Yes. Commit ea08e39230 ("sunrpc: svc_age_temp_xprts_now should not call > setsockopt non-tcp transport") is needed for the third patch to apply > cleanly, and it's in the 4.8 and 4.9 stable branches. > > > > > 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. > > Correct, the first two probably don't need to be cc'ed to stable. OK, thanks, applying. --b. > > -Scott > > > > --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: [] rtnetlink_rcv+0x1b/0x40 > > > Jan 04 16:27:20 fedora25 kernel: #1: (rcu_read_lock){......}, at: [] 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