aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/filelayout/filelayoutdev.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <[email protected]>2016-11-28 14:02:52 +0000
committerTrond Myklebust <[email protected]>2016-12-01 22:43:31 +0000
commitced85a7568b57a671fe186562dfc601a5baab54d (patch)
treebf8045efb9b8580aed2095d9c838e21702a57e33 /fs/nfs/filelayout/filelayoutdev.c
parentsunrpc: Don't engage exponential backoff when connection attempt is rejected. (diff)
downloadkernel-ced85a7568b57a671fe186562dfc601a5baab54d.tar.gz
kernel-ced85a7568b57a671fe186562dfc601a5baab54d.zip
nfs: fix false positives in nfs40_walk_client_list()
It's possible that two different servers can return the same (clientid, verifier) pair purely by coincidence. Both are 64-bit values, but depending on the server implementation, they can be highly predictable and collisions may be quite likely, especially when there are lots of servers. So, check for this case. If the clientid and verifier both match, then we actually know they *can't* be the same server, since a new SETCLIENTID to an already-known server should have changed the verifier. This helps fix a bug that could cause the client to mount a filesystem from the wrong server. Reviewed-by: Jeff Layton <[email protected]> Tested-by: Yongcheng Yang <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
Diffstat (limited to 'fs/nfs/filelayout/filelayoutdev.c')
0 files changed, 0 insertions, 0 deletions