On Mon, 2021-10-18 at 09:38 -0300, Thiago Rafael Becker wrote: > If we pass a NULL client to rpc_task_set_client and no client is > attached to the task, then the kernel will crash later. Antecipate > the > crash by checking if a client is available for the task. > > Signed-off-by: Thiago Rafael Becker <trbecker@xxxxxxxxx> > --- > net/sunrpc/clnt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > index f056ff931444..ccbc9a9715da 100644 > --- a/net/sunrpc/clnt.c > +++ b/net/sunrpc/clnt.c > @@ -1076,7 +1076,7 @@ void rpc_task_set_transport(struct rpc_task > *task, struct rpc_clnt *clnt) > static > void rpc_task_set_client(struct rpc_task *task, struct rpc_clnt > *clnt) > { > - > + BUG_ON(clnt == NULL && task->tk_client == NULL); > if (clnt != NULL) { > rpc_task_set_transport(task, clnt); > task->tk_client = clnt; I'm not seeing the point of this BUG_ON(). Why not just change this code to not check for clnt == NULL, and let the thing Oops when it tries to dereference clnt? -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx