
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@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!