From 0308f694276ea8943bde3cc5848669ea828f0c22 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Mon, 27 Apr 2026 09:50:55 -0400 Subject: [PATCH] SUNRPC: Remove get_mic/verify_mic function pointers from enctype table 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 Acked-by: Anna Schumaker Signed-off-by: Chuck Lever --- net/sunrpc/auth_gss/gss_krb5_internal.h | 4 ---- net/sunrpc/auth_gss/gss_krb5_mech.c | 16 ++-------------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/net/sunrpc/auth_gss/gss_krb5_internal.h b/net/sunrpc/auth_gss/gss_krb5_internal.h index 83e969494b54..a63f8d465b63 100644 --- a/net/sunrpc/auth_gss/gss_krb5_internal.h +++ b/net/sunrpc/auth_gss/gss_krb5_internal.h @@ -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, diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_mech.c index 9a5e367fef5b..511e19e0e786 100644 --- a/net/sunrpc/auth_gss/gss_krb5_mech.c +++ b/net/sunrpc/auth_gss/gss_krb5_mech.c @@ -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); } /**