SUNRPC: Fix infinite looping in rpc_clnt_iterate_for_each_xprt
authorTrond Myklebust <trond.myklebust@primarydata.com>
Sat, 16 Jul 2016 15:47:00 +0000 (11:47 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sat, 16 Jul 2016 15:59:35 +0000 (11:59 -0400)
commitbdc54d8e3cb4a41dddcabfd86d9eb3aa5f622b75
tree7bfca83d058439ba9b7f35da06801d0143832b5a
parent9ffadfbc092fc25d9639a019fb3079cf352ef978
SUNRPC: Fix infinite looping in rpc_clnt_iterate_for_each_xprt

If there were less than 2 entries in the multipath list, then
xprt_iter_next_entry_multiple() would never advance beyond the
first entry, which is correct for round robin behaviour, but not
for the list iteration.

The end result would be infinite looping in rpc_clnt_iterate_for_each_xprt()
as we would never see the xprt == NULL condition fulfilled.

Reported-by: Oleg Drokin <green@linuxhacker.ru>
Fixes: 80b14d5e61ca ("SUNRPC: Add a structure to track multiple transports")
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/xprtmultipath.c