]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
lockd: Use xdrgen XDR functions for the NLMv4 CANCEL_RES procedure
authorChuck Lever <chuck.lever@oracle.com>
Tue, 17 Feb 2026 22:07:08 +0000 (17:07 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 30 Mar 2026 01:25:09 +0000 (21:25 -0400)
Convert the CANCEL_RES procedure to use xdrgen functions
nlm4_svc_decode_nlm4_res and nlm4_svc_encode_void.
CANCEL_RES is a callback procedure where the client sends
cancel results back to the server after an async CANCEL
request.

The pc_argzero field is set to zero because xdrgen decoders
reliably initialize all arguments, making the early
defensive memset unnecessary.

This change also corrects the pc_xdrressize field, which
previously contained a placeholder value.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/lockd/svc4proc.c

index c5f21fc2228c43ed2ef1e7291723c5dca2919d69..e9834b0077a04225fba73ea78334d8af9728fafd 100644 (file)
@@ -1250,15 +1250,15 @@ static const struct svc_procedure nlm4svc_procedures[24] = {
                .pc_xdrressize  = XDR_void,
                .pc_name        = "LOCK_RES",
        },
-       [NLMPROC_CANCEL_RES] = {
-               .pc_func = nlm4svc_proc_null,
-               .pc_decode = nlm4svc_decode_void,
-               .pc_encode = nlm4svc_encode_void,
-               .pc_argsize = sizeof(struct nlm_res),
-               .pc_argzero = sizeof(struct nlm_res),
-               .pc_ressize = sizeof(struct nlm_void),
-               .pc_xdrressize = St,
-               .pc_name = "CANCEL_RES",
+       [NLMPROC4_CANCEL_RES] = {
+               .pc_func        = nlm4svc_proc_null,
+               .pc_decode      = nlm4_svc_decode_nlm4_res,
+               .pc_encode      = nlm4_svc_encode_void,
+               .pc_argsize     = sizeof(struct nlm4_res),
+               .pc_argzero     = 0,
+               .pc_ressize     = 0,
+               .pc_xdrressize  = XDR_void,
+               .pc_name        = "CANCEL_RES",
        },
        [NLMPROC_UNLOCK_RES] = {
                .pc_func = nlm4svc_proc_null,