Typically opt not to patch for kernel support downstream, but in this case it's only conditionally broken depending on kernel crypto configs and USE=kernel-open, then an (official) NVIDIA representative has responded with a fix in [1] which should be safe. [1] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/574#issuecomment-1809283181 --- a/kernel/nvidia/libspdm_shash.c +++ b/kernel/nvidia/libspdm_shash.c @@ -89,4 +89,4 @@ struct crypto_shash *dst_tfm = dst->tfm; - char *src_ipad = crypto_tfm_ctx_aligned(&src_tfm->base); - char *dst_ipad = crypto_tfm_ctx_aligned(&dst_tfm->base); + char *src_ipad = crypto_tfm_ctx_align(&src_tfm->base, crypto_tfm_alg_alignmask(&src_tfm->base) + 1); + char *dst_ipad = crypto_tfm_ctx_align(&dst_tfm->base, crypto_tfm_alg_alignmask(&dst_tfm->base) + 1); int ss = crypto_shash_statesize(dst_tfm); --- a/kernel-module-source/kernel-open/nvidia/libspdm_shash.c +++ b/kernel-module-source/kernel-open/nvidia/libspdm_shash.c @@ -89,4 +89,4 @@ struct crypto_shash *dst_tfm = dst->tfm; - char *src_ipad = crypto_tfm_ctx_aligned(&src_tfm->base); - char *dst_ipad = crypto_tfm_ctx_aligned(&dst_tfm->base); + char *src_ipad = crypto_tfm_ctx_align(&src_tfm->base, crypto_tfm_alg_alignmask(&src_tfm->base) + 1); + char *dst_ipad = crypto_tfm_ctx_align(&dst_tfm->base, crypto_tfm_alg_alignmask(&dst_tfm->base) + 1); int ss = crypto_shash_statesize(dst_tfm);