lockd: fix server crash on reboot of client holding lock
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 18 Jan 2022 22:00:16 +0000 (17:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Feb 2022 11:38:57 +0000 (12:38 +0100)
commitcb5864bf93b26c867e53c4f1cdace12e9805ec6d
tree8f6d4705755370e7d309f55364dfcdd8013ea6a6
parent559bc6ec873ad5ad96063526f12656c5ade32b7d
lockd: fix server crash on reboot of client holding lock

commit 6e7f90d163afa8fc2efd6ae318e7c20156a5621f upstream.

I thought I was iterating over the array when actually the iteration is
over the values contained in the array?

Ugh, keep it simple.

Symptoms were a null deference in vfs_lock_file() when an NFSv3 client
that previously held a lock came back up and sent a notify.

Reported-by: Jonathan Woithe <jwoithe@just42.net>
Fixes: 7f024fcd5c97 ("Keep read and write fds with each nlm_file")
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/lockd/svcsubs.c