Re: [lkp-robot] [NFS] 14d1bbb0ca: BUG:scheduling_while_atomic

From: Trond Myklebust
Date: Wed May 24 2017 - 07:45:01 EST


On Wed, 2017-05-24 at 10:36 +0800, kernel test robot wrote:
> FYI, we noticed the following commit:
>
> commit: 14d1bbb0ca425c4fdd9a38eaac346c028661b752 ("NFS: Create a
> common nfs4_match_client() function")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
> master
>
> in testcase: boot
>
> on test machine: qemu-system-x86_64 -enable-kvm -cpu host -smp 2 -m
> 4G
>
> caused below changes (please refer to attached dmesg/kmsg for entire
> log/backtrace):
>
>
> +-------------------------------+------------+------------+
> > ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ| 5b6d3ff605 | 14d1bbb0ca |
>
> +-------------------------------+------------+------------+
> > boot_successesÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ| 469ÂÂÂÂÂÂÂÂ| 470ÂÂÂÂÂÂÂÂ|
> > boot_failuresÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ| 0ÂÂÂÂÂÂÂÂÂÂ| 31ÂÂÂÂÂÂÂÂÂ|
> > BUG:scheduling_while_atomicÂÂÂ| 0ÂÂÂÂÂÂÂÂÂÂ| 31ÂÂÂÂÂÂÂÂÂ|
> > BUG:spinlock_recursion_on_CPU | 0ÂÂÂÂÂÂÂÂÂÂ| 30ÂÂÂÂÂÂÂÂÂ|
>
> +-------------------------------+------------+------------+
>
>
>
> [ÂÂ299.158991] BUG: scheduling while atomic:
> mount.nfs/9387/0x00000002
> [ÂÂ299.169587] 2 locks held by mount.nfs/9387:
> [ÂÂ299.176165]ÂÂ#0:ÂÂ(nfs_clid_init_mutex){......}, at:
> [<ffffffff8130cc92>] nfs4_discover_server_trunking+0x47/0x1fc
> [ÂÂ299.201802]ÂÂ#1:ÂÂ(&(&nn->nfs_client_lock)->rlock){......}, at:
> [<ffffffff813125fa>] nfs40_walk_client_list+0x2e9/0x338
>

Oops. Anna, it looks as if that patch adds an incorrect call to
"spin_lock(&nn->nfs_client_lock)" for the "default:" case when
processing the result from the SETCLIENTID_CONFIRM call. I can send a
fix.

Thanks Xiaolong!

Cheers
Trond

--
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@xxxxxxxxxxxxxxx