]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
SUNRPC: Remove get_mic/verify_mic function pointers from enctype table
authorChuck Lever <chuck.lever@oracle.com>
Mon, 27 Apr 2026 13:50:55 +0000 (09:50 -0400)
committerChuck Lever <cel@kernel.org>
Tue, 9 Jun 2026 20:32:59 +0000 (16:32 -0400)
Every enctype in the table points .get_mic and .verify_mic at
the same pair of functions. The indirection served no purpose
after the v1 enctype support was removed. Call
gss_krb5_get_mic_v2() and gss_krb5_verify_mic_v2() directly
from the GSS mechanism dispatch and drop the function pointers
from struct gss_krb5_enctype.

Assisted-by: Claude:claude-opus-4-6
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Acked-by: Anna Schumaker <anna.schumaker@hammerspace.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/auth_gss/gss_krb5_internal.h
net/sunrpc/auth_gss/gss_krb5_mech.c

index 83e969494b5438b4257022befadbe1a3964b1c44..a63f8d465b63e70a11ea5f4ac4657bfc89e58424 100644 (file)
@@ -44,10 +44,6 @@ struct gss_krb5_enctype {
                       struct xdr_buf *buf, struct page **pages);
        u32 (*decrypt)(struct krb5_ctx *kctx, u32 offset, u32 len,
                       struct xdr_buf *buf, u32 *headskip, u32 *tailskip);
-       u32 (*get_mic)(struct krb5_ctx *kctx, struct xdr_buf *text,
-                      struct xdr_netobj *token);
-       u32 (*verify_mic)(struct krb5_ctx *kctx, struct xdr_buf *message_buffer,
-                         struct xdr_netobj *read_token);
        u32 (*wrap)(struct krb5_ctx *kctx, int offset,
                    struct xdr_buf *buf, struct page **pages);
        u32 (*unwrap)(struct krb5_ctx *kctx, int offset, int len,
index 9a5e367fef5b93f227885ef79e0fb255dd90c4bf..511e19e0e78637489cbaae9ed6987025b53f5227 100644 (file)
@@ -46,8 +46,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
          .encrypt = gss_krb5_aead_encrypt,
          .decrypt = gss_krb5_aead_decrypt,
 
-         .get_mic = gss_krb5_get_mic_v2,
-         .verify_mic = gss_krb5_verify_mic_v2,
          .wrap = gss_krb5_wrap_v2,
          .unwrap = gss_krb5_unwrap_v2,
 
@@ -75,8 +73,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
          .encrypt = gss_krb5_aead_encrypt,
          .decrypt = gss_krb5_aead_decrypt,
 
-         .get_mic = gss_krb5_get_mic_v2,
-         .verify_mic = gss_krb5_verify_mic_v2,
          .wrap = gss_krb5_wrap_v2,
          .unwrap = gss_krb5_unwrap_v2,
 
@@ -114,8 +110,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
                .encrypt        = gss_krb5_aead_encrypt,
                .decrypt        = gss_krb5_aead_decrypt,
 
-               .get_mic        = gss_krb5_get_mic_v2,
-               .verify_mic     = gss_krb5_verify_mic_v2,
                .wrap           = gss_krb5_wrap_v2,
                .unwrap         = gss_krb5_unwrap_v2,
        },
@@ -140,8 +134,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
                .encrypt        = gss_krb5_aead_encrypt,
                .decrypt        = gss_krb5_aead_decrypt,
 
-               .get_mic        = gss_krb5_get_mic_v2,
-               .verify_mic     = gss_krb5_verify_mic_v2,
                .wrap           = gss_krb5_wrap_v2,
                .unwrap         = gss_krb5_unwrap_v2,
        },
@@ -169,8 +161,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
                .encrypt        = gss_krb5_aead_encrypt,
                .decrypt        = gss_krb5_aead_decrypt,
 
-               .get_mic        = gss_krb5_get_mic_v2,
-               .verify_mic     = gss_krb5_verify_mic_v2,
                .wrap           = gss_krb5_wrap_v2,
                .unwrap         = gss_krb5_unwrap_v2,
        },
@@ -195,8 +185,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
                .encrypt        = gss_krb5_aead_encrypt,
                .decrypt        = gss_krb5_aead_decrypt,
 
-               .get_mic        = gss_krb5_get_mic_v2,
-               .verify_mic     = gss_krb5_verify_mic_v2,
                .wrap           = gss_krb5_wrap_v2,
                .unwrap         = gss_krb5_unwrap_v2,
        },
@@ -601,7 +589,7 @@ static u32 gss_krb5_get_mic(struct gss_ctx *gctx, struct xdr_buf *text,
 {
        struct krb5_ctx *kctx = gctx->internal_ctx_id;
 
-       return kctx->gk5e->get_mic(kctx, text, token);
+       return gss_krb5_get_mic_v2(kctx, text, token);
 }
 
 /**
@@ -623,7 +611,7 @@ static u32 gss_krb5_verify_mic(struct gss_ctx *gctx,
 {
        struct krb5_ctx *kctx = gctx->internal_ctx_id;
 
-       return kctx->gk5e->verify_mic(kctx, message_buffer, read_token);
+       return gss_krb5_verify_mic_v2(kctx, message_buffer, read_token);
 }
 
 /**