Message ID | 20221207105430.248613-1-roberto.sassu@huaweicloud.com |
---|---|
State | New |
Headers | show |
Series | public_key: Add a comment to public_key_signature struct definition | expand |
On Wed, Dec 7, 2022 at 5:55 AM Roberto Sassu <roberto.sassu@huaweicloud.com> wrote: > > From: Roberto Sassu <roberto.sassu@huawei.com> > > 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@kernel.org> > Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com> > --- > 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@paul-moore.com> > 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
On Fri, Jan 20, 2023 at 02:21:04PM -0500, Paul Moore wrote: > On Wed, Dec 7, 2022 at 5:55 AM Roberto Sassu > <roberto.sassu@huaweicloud.com> wrote: > > > > From: Roberto Sassu <roberto.sassu@huawei.com> > > > > 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@kernel.org> > > Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com> > > --- > > 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@paul-moore.com> > > > 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 This patch has been superseded by "KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()" (https://lore.kernel.org/r/20221227142740.2807136-1-roberto.sassu@huaweicloud.com). - Eric
On Fri, Jan 20, 2023 at 2:43 PM Eric Biggers <ebiggers@kernel.org> wrote: > On Fri, Jan 20, 2023 at 02:21:04PM -0500, Paul Moore wrote: > > On Wed, Dec 7, 2022 at 5:55 AM Roberto Sassu > > <roberto.sassu@huaweicloud.com> wrote: > > > > > > From: Roberto Sassu <roberto.sassu@huawei.com> > > > > > > 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@kernel.org> > > > Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com> > > > --- > > > 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@paul-moore.com> > > > > > 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 > > This patch has been superseded by > "KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()" > (https://lore.kernel.org/r/20221227142740.2807136-1-roberto.sassu@huaweicloud.com). Well nevermind then :)
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;