All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Trond Myklebust <trond.myklebust@primarydata.com>,
	Anna Schumaker <anna.schumaker@netapp.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Jeff Layton <jlayton@poochiereds.net>,
	"David S. Miller" <davem@davemloft.net>,
	linux-nfs@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Andy Adamson <andros@netapp.com>
Subject: net/sunrpc/clnt.c:2773 suspicious rcu_dereference_check() usage!
Date: Mon, 7 Nov 2016 22:42:02 -0700	[thread overview]
Message-ID: <20161108054202.GA12406@linux.intel.com> (raw)

I've got a virtual machine that has some NFS mounts, and with a newly compiled
kernel based on v4.9-rc3 I see the following warning/info message:

[   42.750181] ===============================
[   42.750192] [ INFO: suspicious RCU usage. ]
[   42.750203] 4.9.0-rc3-00002-g7b6e7de #3 Not tainted
[   42.750213] -------------------------------
[   42.750225] net/sunrpc/clnt.c:2773 suspicious rcu_dereference_check() usage!
[   42.750235] 
[   42.750235] other info that might help us debug this:
[   42.750235] 
[   42.750246] 
[   42.750246] rcu_scheduler_active = 1, debug_locks = 0
[   42.750257] 1 lock held by mount.nfs4/6440:
[   42.750278]  #0: 
[   42.750299]  (
[   42.750319] &(&nn->nfs_client_lock)->rlock
[   42.750340] ){+.+...}
[   42.750362] , at: 
[   42.750372] [<ffffffff813012b5>] nfs_get_client+0x105/0x5e0
[   42.750383] 
[   42.750383] stack backtrace:
[   42.750394] CPU: 0 PID: 6440 Comm: mount.nfs4 Not tainted 4.9.0-rc3-00002-g7b6e7de #3
[   42.750406] Hardware name: Intel Corporation PURLEY/PURLEY, BIOS PLYDCRB1.MBH.0096.D23.1608240105 08/24/2016
[   42.750429]  ffffc9000092fa68 ffffffff8150730f ffff88014ec8da40 0000000000000001
[   42.750452]  ffffc9000092fa98 ffffffff810bc3f7 ffff880150b0b228 ffff88015068dbb0
[   42.750475]  ffffc9000092fb38 ffff88014fc99180 ffffc9000092fac0 ffffffff81b243e5
[   42.750486] Call Trace:
[   42.750498]  [<ffffffff8150730f>] dump_stack+0x67/0x98
[   42.750511]  [<ffffffff810bc3f7>] lockdep_rcu_suspicious+0xe7/0x120
[   42.750524]  [<ffffffff81b243e5>] rpc_clnt_xprt_switch_has_addr+0x115/0x150
[   42.750536]  [<ffffffff813013f4>] nfs_get_client+0x244/0x5e0
[   42.750549]  [<ffffffff813012ac>] ? nfs_get_client+0xfc/0x5e0
[   42.750561]  [<ffffffff813568f8>] nfs4_set_client+0x98/0x130
[   42.750574]  [<ffffffff8135872e>] nfs4_create_server+0x13e/0x390
[   42.750588]  [<ffffffff8134cd0e>] nfs4_remote_mount+0x2e/0x60
[   42.750600]  [<ffffffff811f3a29>] mount_fs+0x39/0x170
[   42.750614]  [<ffffffff81214a0b>] vfs_kern_mount+0x6b/0x150
[   42.750626]  [<ffffffff8134cbec>] ? nfs_do_root_mount+0x3c/0xc0
[   42.750639]  [<ffffffff8134cc36>] nfs_do_root_mount+0x86/0xc0
[   42.750652]  [<ffffffff8134d014>] nfs4_try_mount+0x44/0xc0
[   42.750664]  [<ffffffff81302097>] ? get_nfs_version+0x27/0x90
[   42.750677]  [<ffffffff81310f8c>] nfs_fs_mount+0x4ac/0xd80
[   42.750689]  [<ffffffff810bb938>] ? lockdep_init_map+0x88/0x1f0
[   42.750701]  [<ffffffff81311ac0>] ? nfs_clone_super+0x130/0x130
[   42.750713]  [<ffffffff8130f300>] ? param_set_portnr+0x70/0x70
[   42.750726]  [<ffffffff811f3a29>] mount_fs+0x39/0x170
[   42.750740]  [<ffffffff81214a0b>] vfs_kern_mount+0x6b/0x150
[   42.750752]  [<ffffffff812176f1>] do_mount+0x1f1/0xd10
[   42.750765]  [<ffffffff81217441>] ? copy_mount_options+0xa1/0x140
[   42.750777]  [<ffffffff81218543>] SyS_mount+0x83/0xd0
[   42.750790]  [<ffffffff81002abc>] do_syscall_64+0x5c/0x130
[   42.750802]  [<ffffffff81c479a4>] entry_SYSCALL64_slow_path+0x25/0x25

This rcu_dereference_check() was introduced by the following commit:

commit 39e5d2df959dd4aea81fa33d765d2a5cc67a0512
Author: Andy Adamson <andros@netapp.com>
Date:   Fri Sep 9 09:22:25 2016 -0400

    SUNRPC search xprt switch for sockaddr
    
    Signed-off-by: Andy Adamson <andros@netapp.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>

Thanks,
- Ross

WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Trond Myklebust
	<trond.myklebust-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>,
	Anna Schumaker
	<anna.schumaker-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>,
	"J. Bruce Fields"
	<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
	Jeff Layton <jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org>,
	"David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Andy Adamson <andros-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>
Subject: net/sunrpc/clnt.c:2773 suspicious rcu_dereference_check() usage!
Date: Mon, 7 Nov 2016 22:42:02 -0700	[thread overview]
Message-ID: <20161108054202.GA12406@linux.intel.com> (raw)

I've got a virtual machine that has some NFS mounts, and with a newly compiled
kernel based on v4.9-rc3 I see the following warning/info message:

[   42.750181] ===============================
[   42.750192] [ INFO: suspicious RCU usage. ]
[   42.750203] 4.9.0-rc3-00002-g7b6e7de #3 Not tainted
[   42.750213] -------------------------------
[   42.750225] net/sunrpc/clnt.c:2773 suspicious rcu_dereference_check() usage!
[   42.750235] 
[   42.750235] other info that might help us debug this:
[   42.750235] 
[   42.750246] 
[   42.750246] rcu_scheduler_active = 1, debug_locks = 0
[   42.750257] 1 lock held by mount.nfs4/6440:
[   42.750278]  #0: 
[   42.750299]  (
[   42.750319] &(&nn->nfs_client_lock)->rlock
[   42.750340] ){+.+...}
[   42.750362] , at: 
[   42.750372] [<ffffffff813012b5>] nfs_get_client+0x105/0x5e0
[   42.750383] 
[   42.750383] stack backtrace:
[   42.750394] CPU: 0 PID: 6440 Comm: mount.nfs4 Not tainted 4.9.0-rc3-00002-g7b6e7de #3
[   42.750406] Hardware name: Intel Corporation PURLEY/PURLEY, BIOS PLYDCRB1.MBH.0096.D23.1608240105 08/24/2016
[   42.750429]  ffffc9000092fa68 ffffffff8150730f ffff88014ec8da40 0000000000000001
[   42.750452]  ffffc9000092fa98 ffffffff810bc3f7 ffff880150b0b228 ffff88015068dbb0
[   42.750475]  ffffc9000092fb38 ffff88014fc99180 ffffc9000092fac0 ffffffff81b243e5
[   42.750486] Call Trace:
[   42.750498]  [<ffffffff8150730f>] dump_stack+0x67/0x98
[   42.750511]  [<ffffffff810bc3f7>] lockdep_rcu_suspicious+0xe7/0x120
[   42.750524]  [<ffffffff81b243e5>] rpc_clnt_xprt_switch_has_addr+0x115/0x150
[   42.750536]  [<ffffffff813013f4>] nfs_get_client+0x244/0x5e0
[   42.750549]  [<ffffffff813012ac>] ? nfs_get_client+0xfc/0x5e0
[   42.750561]  [<ffffffff813568f8>] nfs4_set_client+0x98/0x130
[   42.750574]  [<ffffffff8135872e>] nfs4_create_server+0x13e/0x390
[   42.750588]  [<ffffffff8134cd0e>] nfs4_remote_mount+0x2e/0x60
[   42.750600]  [<ffffffff811f3a29>] mount_fs+0x39/0x170
[   42.750614]  [<ffffffff81214a0b>] vfs_kern_mount+0x6b/0x150
[   42.750626]  [<ffffffff8134cbec>] ? nfs_do_root_mount+0x3c/0xc0
[   42.750639]  [<ffffffff8134cc36>] nfs_do_root_mount+0x86/0xc0
[   42.750652]  [<ffffffff8134d014>] nfs4_try_mount+0x44/0xc0
[   42.750664]  [<ffffffff81302097>] ? get_nfs_version+0x27/0x90
[   42.750677]  [<ffffffff81310f8c>] nfs_fs_mount+0x4ac/0xd80
[   42.750689]  [<ffffffff810bb938>] ? lockdep_init_map+0x88/0x1f0
[   42.750701]  [<ffffffff81311ac0>] ? nfs_clone_super+0x130/0x130
[   42.750713]  [<ffffffff8130f300>] ? param_set_portnr+0x70/0x70
[   42.750726]  [<ffffffff811f3a29>] mount_fs+0x39/0x170
[   42.750740]  [<ffffffff81214a0b>] vfs_kern_mount+0x6b/0x150
[   42.750752]  [<ffffffff812176f1>] do_mount+0x1f1/0xd10
[   42.750765]  [<ffffffff81217441>] ? copy_mount_options+0xa1/0x140
[   42.750777]  [<ffffffff81218543>] SyS_mount+0x83/0xd0
[   42.750790]  [<ffffffff81002abc>] do_syscall_64+0x5c/0x130
[   42.750802]  [<ffffffff81c479a4>] entry_SYSCALL64_slow_path+0x25/0x25

This rcu_dereference_check() was introduced by the following commit:

commit 39e5d2df959dd4aea81fa33d765d2a5cc67a0512
Author: Andy Adamson <andros-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>
Date:   Fri Sep 9 09:22:25 2016 -0400

    SUNRPC search xprt switch for sockaddr
    
    Signed-off-by: Andy Adamson <andros-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>
    Signed-off-by: Anna Schumaker <Anna.Schumaker-ZwjVKphTwtPQT0dZR+AlfA@public.gmane.org>

Thanks,
- Ross
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2016-11-08  5:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-08  5:42 Ross Zwisler [this message]
2016-11-08  5:42 ` net/sunrpc/clnt.c:2773 suspicious rcu_dereference_check() usage! Ross Zwisler
2016-11-08 11:53 ` Jeff Layton
2016-11-08 12:09   ` Jeff Layton
2016-11-08 12:42     ` Anna Schumaker
2016-11-08 17:43       ` Ross Zwisler
2016-11-08 17:56         ` Anna Schumaker
2016-11-08 17:56           ` Anna Schumaker

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=20161108054202.GA12406@linux.intel.com \
    --to=ross.zwisler@linux.intel.com \
    --cc=andros@netapp.com \
    --cc=anna.schumaker@netapp.com \
    --cc=bfields@fieldses.org \
    --cc=davem@davemloft.net \
    --cc=jlayton@poochiereds.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=trond.myklebust@primarydata.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 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.