
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@external.thalesgroup.com
--- 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 @@ */ 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); } /**