From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [PATCH 1/1] lib: rsa: fix data abort in br_i32_decode()
Date: Thu, 10 Sep 2020 09:15:55 +0900 [thread overview]
Message-ID: <20200910001555.GA2074276@laputa> (raw)
In-Reply-To: <CAPnjgZ0-_0ed+9uu89A5u7t2L-k4OuRewhZyQmyDgqU5Cm0vzA@mail.gmail.com>
On Tue, Sep 08, 2020 at 05:56:06PM -0600, Simon Glass wrote:
> HI Heinrich,
>
> On Tue, 8 Sep 2020 at 04:29, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> >
> > After removing leading zeros the RSA modulus may be unaligned. On
> > architectures like ARM 32bit unaligned access may lead to a data abort,
> > e.g. when executing 'ut lib lib_asn1_pkcs7'.
> >
> > Use memcpy() to transfer from unaligned to aligned memory.
> >
> > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > ---
> > lib/rsa/rsa-keyprop.c | 22 ++++++++++++++--------
> > 1 file changed, 14 insertions(+), 8 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> >
> > diff --git a/lib/rsa/rsa-keyprop.c b/lib/rsa/rsa-keyprop.c
> > index 1e83eedc82..6153cb00b3 100644
> > --- a/lib/rsa/rsa-keyprop.c
> > +++ b/lib/rsa/rsa-keyprop.c
> > @@ -17,23 +17,29 @@
> > #include <u-boot/rsa-mod-exp.h>
> >
> > /**
> > - * br_dec16be() - Convert 16-bit big-endian integer to native
> > - * @src: Pointer to data
> > - * Return: Native-endian integer
> > + * br_dec16be() - convert unaligned 16-bit big-endian integer to native
> > + * @src: unaligned pointer to data
> > + * Return: native-endian 16-bit integer
> > */
> > static unsigned br_dec16be(const void *src)
> > {
> > - return be16_to_cpup(src);
> > + u16 buf;
> > +
> > + memcpy(&buf, src, sizeof(buf));
> > + return be16_to_cpu(buf);
>
> Is it possible to use __get_unaligned_be() ?
Robert has sent the fix here:
https://lists.denx.de/pipermail/u-boot/2020-September/425949.html
I think it's better.
-Takahiro Akashi
> Regards,
> Simon
prev parent reply other threads:[~2020-09-10 0:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-08 10:29 [PATCH 1/1] lib: rsa: fix data abort in br_i32_decode() Heinrich Schuchardt
2020-09-08 23:56 ` Simon Glass
2020-09-10 0:15 ` AKASHI Takahiro [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200910001555.GA2074276@laputa \
--to=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.