[PATCH] for [BUG] rsa: crash in br_i32_decode() called from rsa_gen_key_prop() (Heinrich Schuchardt)

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Sep 14 13:05:38 CEST 2020


On 9/9/20 9:35 AM, REITHER Robert - Contractor wrote:
> Fixes problem for unaligned 32bit big-endian access in lib/rsa/rsa-keyprop.c
>
> Exchanges br_i32_decode() with get_unaligned_be32().
> This will keep the unaligned access for architectures capable and will do some byte-shift magic for the not so capable ones...
>
> robert.reither at external.thalesgroup.com

Hello Robert,

the solution approach looks fine but unfortunately your mail is not in
patch format.

Please, add you signature when committing the patch.
Format the patch with 'git format-patch'.
Check the file with 'scripts/checkpatch.pl'.
Determine the maintainers with 'scripts/get_maintainer.pl'.
Send the patch with 'git send-email' to the maintainers and the list.

Best regards

Heinrich

>
>   */
> static unsigned br_dec16be(const void *src)
> {
> -             return be16_to_cpup(src);
> +            return get_unaligned_be16(src);
> }
>  /**
> @@ -33,7 +34,7 @@ static unsigned br_dec16be(const void *s
>   */
> static uint32_t br_dec32be(const void *src)
> {
> -             return be32_to_cpup(src);
> +            return get_unaligned_be32(src);
> }
>  /**
>
> --- u-boot-master-20200908/lib/rsa/rsa-keyprop.c         2020-09-07 20:17:33.000000000 +0200
> +++ mycode/lib/rsa/rsa-keyprop.c         2020-09-08 18:10:59.122022000 +0200
> @@ -15,6 +15,7 @@
> #include <asm/byteorder.h>
> #include <crypto/internal/rsa.h>
> #include <u-boot/rsa-mod-exp.h>
> +#include <asm/unaligned.h>
>  /**
>   * br_dec16be() - Convert 16-bit big-endian integer to native
> @@ -23,7 +24,7 @@
>



More information about the U-Boot mailing list