[U-Boot] [PATCH v2 1/1] net: avoid address-of-packed-member error

Tom Rini trini at konsulko.com
Tue Nov 5 13:51:57 UTC 2019


On Tue, Nov 05, 2019 at 12:48:19PM +0100, Heinrich Schuchardt wrote:

> sandbox_defconfig does not compile using GCC 9.2.1:
> 
> net/net.c: In function ‘net_process_received_packet’:
> net/net.c:1288:23: error: taking address of packed member of ‘struct
> ip_udp_hdr’ may result in an unaligned pointer value
> [-Werror=address-of-packed-member]
>  1288 |    sumptr = (ushort *)&(ip->udp_src);
>       |                       ^~~~~~~~~~~~~~
> 
> Avoid the error by using a u8 pointer instead of an u16 pointer and
> in-lining ntohs().
> 
> Simplify the checksumming of the last message byte.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
> v2:
> 	reword commit message
> 	add a comment
> 	simplify checksumming of last byte

If I follow what Simon was saying yesterday, the whole message framing
is wrong.  The problem isn't that gcc 9.2 is showing a warning, the
problem is that gcc 9.2 is showing that we have a problem (in terms of
what can/can't happen in real life networking terms), which you're
correcting.  Simon, can you please suggest a commit message here if
you're still not quite happy, as you understand the underlying problem
well it seems.  Thanks!

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


More information about the U-Boot mailing list