Re: [PATCH] public_key: Add a comment to public_key_signature struct definition

From: Paul Moore
Date: Fri Jan 20 2023 - 14:21:24 EST


On Wed, Dec 7, 2022 at 5:55 AM Roberto Sassu
<roberto.sassu@xxxxxxxxxxxxxxx> wrote:
>
> From: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
>
> public_key_verify_signature() calls sg_set_buf() to set the signature and
> digest for the signature verification.
>
> As sg_set_buf() requires the buffer to be in physically contiguous memory,
> see commit ac4e97abce9b8 ("scatterlist: sg_set_buf() argument must be in
> linear mapping"), mention that in a comment for the signature and digest
> fields of the public_key_signature structure.
>
> Link: https://lore.kernel.org/linux-integrity/Y4pIpxbjBdajymBJ@sol.localdomain/
> Suggested-by: Eric Biggers <ebiggers@xxxxxxxxxx>
> Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
> ---
> include/crypto/public_key.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

This seems especially important considering the BUG_ON that could be triggered.

David, are you going to pick this up?

Reviewed-by: Paul Moore <paul@xxxxxxxxxxxxxx>

> diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h
> index 68f7aa2a7e55..6d623e063034 100644
> --- a/include/crypto/public_key.h
> +++ b/include/crypto/public_key.h
> @@ -37,8 +37,8 @@ extern void public_key_free(struct public_key *key);
> */
> struct public_key_signature {
> struct asymmetric_key_id *auth_ids[3];
> - u8 *s; /* Signature */
> - u8 *digest;
> + u8 *s; /* Signature (in physically contiguous mem) */
> + u8 *digest; /* Digest (in physically contiguous mem) */
> u32 s_size; /* Number of bytes in signature */
> u32 digest_size; /* Number of bytes in digest */
> const char *pkey_algo;
> --
> 2.25.1

--
paul-moore.com