diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2022-09-28 20:45:55 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2022-09-29 12:23:10 +0200 |
commit | 5290b6f13e493b3fc814b4dc7fac2b5d7c252245 (patch) | |
tree | 1f00c7a831e93ed5c201e69b6b6c357d19a6087d /netlink.c | |
parent | 505a33e9f9d9d766e39fd9c54c6cb2136ae99ecb (diff) | |
download | passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.tar passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.tar.gz passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.tar.bz2 passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.tar.lz passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.tar.xz passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.tar.zst passt-5290b6f13e493b3fc814b4dc7fac2b5d7c252245.zip |
udp: Replace pragma to ignore bogus stringop-overread warning with workaround
Commit c318ffcb4c93 ("udp: Ignore bogus -Wstringop-overread for
write() from gcc 12.1") uses a gcc pragma to ignore a bogus warning,
which started appearing on gcc 12.1 (aarch64 and x86_64) due to:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103483
...but gcc 12.2 has the same issue. Not just that: if LTO is enabled,
the pragma itself is ignored (this wasn't the case with gcc 12.1),
because of:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80922
Drop the pragma, and assign a frame (in the networking sense) pointer
from the offset of the Ethernet header in the buffer, then pass it to
write() and pcap(), so that gcc doesn't obsess anymore with the fact
that an Ethernet header is 14 bytes and we're sending more than that.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'netlink.c')
0 files changed, 0 insertions, 0 deletions