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