Message ID | 8b9a709ef321aa246b9ef00a8bcfa71a77df4245.1742919341.git.trond.myklebust@hammerspace.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Ensure that ENETUNREACH terminates state recovery | expand |
On Tue, 2025-03-25 at 12:17 -0400, trondmy@kernel.org wrote: > From: Trond Myklebust <trond.myklebust@hammerspace.com> > > If we already had a valid port number for the RPC service, then we > should not allow the rpcbind client to set it to the invalid value '0'. > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> > --- > net/sunrpc/rpcb_clnt.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c > index 102c3818bc54..53bcca365fb1 100644 > --- a/net/sunrpc/rpcb_clnt.c > +++ b/net/sunrpc/rpcb_clnt.c > @@ -820,9 +820,10 @@ static void rpcb_getport_done(struct rpc_task *child, void *data) > } > > trace_rpcb_setport(child, map->r_status, map->r_port); > - xprt->ops->set_port(xprt, map->r_port); > - if (map->r_port) > + if (map->r_port) { > + xprt->ops->set_port(xprt, map->r_port); > xprt_set_bound(xprt); > + } > } > > /* Reviewed-by: Jeff Layton <jlayton@kernel.org>
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c index 102c3818bc54..53bcca365fb1 100644 --- a/net/sunrpc/rpcb_clnt.c +++ b/net/sunrpc/rpcb_clnt.c @@ -820,9 +820,10 @@ static void rpcb_getport_done(struct rpc_task *child, void *data) } trace_rpcb_setport(child, map->r_status, map->r_port); - xprt->ops->set_port(xprt, map->r_port); - if (map->r_port) + if (map->r_port) { + xprt->ops->set_port(xprt, map->r_port); xprt_set_bound(xprt); + } } /*