[PATCH v2 0/2] nvme: fixup HKDF-Expand-Label implementation

Chris Leech cleech at redhat.com
Mon Sep 15 16:17:49 PDT 2025


Bump and a polite review/merge request.
There's been no feedback requiring changes in v2.

Thanks,
- Chris 

On Thu, Aug 21, 2025 at 01:48:14PM -0700, Chris Leech wrote:
> As per RFC 8446 (TLS 1.3) the HKDF-Expand-Label function is using vectors
> for the 'label' and 'context' field, but defines these vectors as a string
> prefixed with the string length (in binary). The implementation in nvme
> is missing the length prefix which was causing interoperability issues
> with spec-conformant implementations.
> 
> This patchset adds a function 'hkdf_expand_label()' to correctly implement
> the HKDF-Expand-Label functionality and modifies the nvme driver to utilize
> this function instead of the open-coded implementation.
> 
> As usual, comments and reviews are welcome.
> 
> Changes from v1:
>  - Moved hkdf_expand_label() from crypto/hkdf.c to nvme/common/auth.c.
>    It's not really an RFC 5869 HKDF function, it's defined for TLS but
>    currently only used by nvme in-kernel.
>  - Fixed kdoc label_len -> labellen
>  - Replaced "static const char []" with "const char *", it's just
>    clearer and generates the same code with a string literal assignment.
> 
> (I've left the crypto emails on this version, mostly to make it known
> that hkdf_expand_label() has been moved as Eric asked.)
> 
> Chris Leech (2):
>   nvme-auth: add hkdf_expand_label()
>   nvme-auth: use hkdf_expand_label()
> 
>  drivers/nvme/common/auth.c | 86 +++++++++++++++++++++++++++++---------
>  1 file changed, 66 insertions(+), 20 deletions(-)
> 
> -- 
> 2.50.1
> 
> 




More information about the Linux-nvme mailing list