]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
lockd: Use xdrgen XDR functions for the NLMv4 TEST_RES procedure
authorChuck Lever <chuck.lever@oracle.com>
Tue, 17 Feb 2026 22:07:06 +0000 (17:07 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 30 Mar 2026 01:25:09 +0000 (21:25 -0400)
Convert the TEST_RES procedure to use xdrgen functions
nlm4_svc_decode_nlm4_testres and nlm4_svc_encode_void.
TEST_RES is a callback procedure where the client sends
test lock results back to the server after an async TEST
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 306ecc21154e1f02d5a8955d00e77e4e72562b73..6b391ec4934100e12d7b73607a18516457e5f42a 100644 (file)
@@ -1230,15 +1230,15 @@ static const struct svc_procedure nlm4svc_procedures[24] = {
                .pc_xdrressize  = XDR_void,
                .pc_name        = "GRANTED_MSG",
        },
-       [NLMPROC_TEST_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 = "TEST_RES",
+       [NLMPROC4_TEST_RES] = {
+               .pc_func        = nlm4svc_proc_null,
+               .pc_decode      = nlm4_svc_decode_nlm4_testres,
+               .pc_encode      = nlm4_svc_encode_void,
+               .pc_argsize     = sizeof(struct nlm4_testres),
+               .pc_argzero     = 0,
+               .pc_ressize     = 0,
+               .pc_xdrressize  = XDR_void,
+               .pc_name        = "TEST_RES",
        },
        [NLMPROC_LOCK_RES] = {
                .pc_func = nlm4svc_proc_null,