mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 05:47:30 -04:00
SUNRPC: Remove wrap/unwrap function pointers from enctype table
Every enctype points .wrap and .unwrap at gss_krb5_wrap_v2() and gss_krb5_unwrap_v2(). As with get_mic/verify_mic, the indirection dates from when v1 enctypes had different wrap implementations. Call the functions directly and remove the 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>
This commit is contained in:
@@ -44,11 +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 (*wrap)(struct krb5_ctx *kctx, int offset,
|
||||
struct xdr_buf *buf, struct page **pages);
|
||||
u32 (*unwrap)(struct krb5_ctx *kctx, int offset, int len,
|
||||
struct xdr_buf *buf, unsigned int *slack,
|
||||
unsigned int *align);
|
||||
};
|
||||
|
||||
/* krb5_ctx flags definitions */
|
||||
|
||||
@@ -46,9 +46,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
|
||||
.encrypt = gss_krb5_aead_encrypt,
|
||||
.decrypt = gss_krb5_aead_decrypt,
|
||||
|
||||
.wrap = gss_krb5_wrap_v2,
|
||||
.unwrap = gss_krb5_unwrap_v2,
|
||||
|
||||
.signalg = -1,
|
||||
.sealalg = -1,
|
||||
.keybytes = 16,
|
||||
@@ -73,9 +70,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
|
||||
.encrypt = gss_krb5_aead_encrypt,
|
||||
.decrypt = gss_krb5_aead_decrypt,
|
||||
|
||||
.wrap = gss_krb5_wrap_v2,
|
||||
.unwrap = gss_krb5_unwrap_v2,
|
||||
|
||||
.signalg = -1,
|
||||
.sealalg = -1,
|
||||
.keybytes = 32,
|
||||
@@ -110,8 +104,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
|
||||
.encrypt = gss_krb5_aead_encrypt,
|
||||
.decrypt = gss_krb5_aead_decrypt,
|
||||
|
||||
.wrap = gss_krb5_wrap_v2,
|
||||
.unwrap = gss_krb5_unwrap_v2,
|
||||
},
|
||||
/*
|
||||
* Camellia-256 with CMAC (RFC 6803)
|
||||
@@ -134,8 +126,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
|
||||
.encrypt = gss_krb5_aead_encrypt,
|
||||
.decrypt = gss_krb5_aead_decrypt,
|
||||
|
||||
.wrap = gss_krb5_wrap_v2,
|
||||
.unwrap = gss_krb5_unwrap_v2,
|
||||
},
|
||||
#endif
|
||||
|
||||
@@ -161,8 +151,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
|
||||
.encrypt = gss_krb5_aead_encrypt,
|
||||
.decrypt = gss_krb5_aead_decrypt,
|
||||
|
||||
.wrap = gss_krb5_wrap_v2,
|
||||
.unwrap = gss_krb5_unwrap_v2,
|
||||
},
|
||||
/*
|
||||
* AES-256 with SHA-384 (RFC 8009)
|
||||
@@ -185,8 +173,6 @@ static const struct gss_krb5_enctype supported_gss_krb5_enctypes[] = {
|
||||
.encrypt = gss_krb5_aead_encrypt,
|
||||
.decrypt = gss_krb5_aead_decrypt,
|
||||
|
||||
.wrap = gss_krb5_wrap_v2,
|
||||
.unwrap = gss_krb5_unwrap_v2,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@@ -631,7 +617,7 @@ static u32 gss_krb5_wrap(struct gss_ctx *gctx, int offset,
|
||||
{
|
||||
struct krb5_ctx *kctx = gctx->internal_ctx_id;
|
||||
|
||||
return kctx->gk5e->wrap(kctx, offset, buf, pages);
|
||||
return gss_krb5_wrap_v2(kctx, offset, buf, pages);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -653,7 +639,7 @@ static u32 gss_krb5_unwrap(struct gss_ctx *gctx, int offset,
|
||||
{
|
||||
struct krb5_ctx *kctx = gctx->internal_ctx_id;
|
||||
|
||||
return kctx->gk5e->unwrap(kctx, offset, len, buf,
|
||||
return gss_krb5_unwrap_v2(kctx, offset, len, buf,
|
||||
&gctx->slack, &gctx->align);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user