On Thu, Oct 31, 2024 at 08:14:32AM +0100, Stefano Brivio wrote: > 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 > Fixes: 3d484aa37090 ("tcp: Update TCP checksum using an iovec array") > Signed-off-by: Stefano Brivio Reviewed-by: David Gibson > --- > v2: Use uint16_t instead of including linux/types.h > > tcp.c | 8 ++++---- > 1 file 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); -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson