[U-Boot] [PATCH 1/1] lib: uuid: alignment error in gen_rand_uuid()

Tom Rini trini at konsulko.com
Tue Jul 30 01:23:40 UTC 2019


On Sun, Jul 14, 2019 at 11:31:50PM +0200, Heinrich Schuchardt wrote:

> Packed structures like struct uuid are not aligned. GCC 9.1 therefore
> throws an error when trying to compile gen_rand_uuid().
> 
> lib/uuid.c: In function ‘gen_rand_uuid’:
> lib/uuid.c:244:2: error: converting a packed ‘struct uuid’ pointer
> (alignment 1) to a ‘unsigned int’ pointer (alignment 4) may result in
> an unaligned pointer value [-Werror=address-of-packed-member]
>   244 |  unsigned int *ptr = (unsigned int *)&uuid;
>       |  ^~~~~~~~
> 
> Generate the uuid in a properly aligned buffer.
> 
> The byte order of a random number should not matter. Do not call
> cpu_to_be32() to change the byte order.
> 
> Reported-by: Ramon Fried <rfried.dev at gmail.com>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190729/dc2c9108/attachment.sig>


More information about the U-Boot mailing list