aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2024-10-30 21:31:05 +0100
committerStefano Brivio <sbrivio@redhat.com>2024-11-05 23:46:24 +0100
commitd165d36a0c88fe8665da012f35cb60ced991568b (patch)
treee7b8871c1f9bde1e77a2135df9cd32d0f38b8910
parentee7d0b62a716201abc818eb0d1df4c6bb1051336 (diff)
downloadpasst-d165d36a0c88fe8665da012f35cb60ced991568b.tar
passt-d165d36a0c88fe8665da012f35cb60ced991568b.tar.gz
passt-d165d36a0c88fe8665da012f35cb60ced991568b.tar.bz2
passt-d165d36a0c88fe8665da012f35cb60ced991568b.tar.lz
passt-d165d36a0c88fe8665da012f35cb60ced991568b.tar.xz
passt-d165d36a0c88fe8665da012f35cb60ced991568b.tar.zst
passt-d165d36a0c88fe8665da012f35cb60ced991568b.zip
tcp: Fix build against musl, __sum16 comes from linux/types.h
Use a plain uint16_t instead and avoid including one extra header: the 'bitwise' attribute of __sum16 is just used by sparse(1). Reported-by: omni <omni+alpine@hack.org> Fixes: 3d484aa37090 ("tcp: Update TCP checksum using an iovec array") Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--tcp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tcp.c b/tcp.c
index 4e0a17e..56ceba6 100644
--- a/tcp.c
+++ b/tcp.c
@@ -766,7 +766,7 @@ static void tcp_update_check_tcp4(const struct iphdr *iph,
struct in_addr saddr = { .s_addr = iph->saddr };
struct in_addr daddr = { .s_addr = iph->daddr };
size_t check_ofs;
- __sum16 *check;
+ uint16_t *check;
int check_idx;
uint32_t sum;
char *ptr;
@@ -797,7 +797,7 @@ static void tcp_update_check_tcp4(const struct iphdr *iph,
return;
}
- check = (__sum16 *)ptr;
+ check = (uint16_t *)ptr;
*check = 0;
*check = csum_iov(iov, iov_cnt, l4offset, sum);
@@ -816,7 +816,7 @@ static void tcp_update_check_tcp6(const struct ipv6hdr *ip6h,
{
uint16_t l4len = ntohs(ip6h->payload_len);
size_t check_ofs;
- __sum16 *check;
+ uint16_t *check;
int check_idx;
uint32_t sum;
char *ptr;
@@ -848,7 +848,7 @@ static void tcp_update_check_tcp6(const struct ipv6hdr *ip6h,
return;
}
- check = (__sum16 *)ptr;
+ check = (uint16_t *)ptr;
*check = 0;
*check = csum_iov(iov, iov_cnt, l4offset, sum);