Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3bc23e7 authored by Al Viro's avatar Al Viro Committed by David S. Miller
Browse files

[NET]: Annotate callers of csum_fold() in net/*

parent 9981a0e3
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -413,9 +413,9 @@ static int skb_copy_and_csum_datagram(const struct sk_buff *skb, int offset,

unsigned int __skb_checksum_complete(struct sk_buff *skb)
{
	unsigned int sum;
	__sum16 sum;

	sum = (u16)csum_fold(skb_checksum(skb, 0, skb->len, skb->csum));
	sum = csum_fold(skb_checksum(skb, 0, skb->len, skb->csum));
	if (likely(!sum)) {
		if (unlikely(skb->ip_summed == CHECKSUM_COMPLETE))
			netdev_rx_csum_fault(skb->dev);
@@ -441,7 +441,7 @@ EXPORT_SYMBOL(__skb_checksum_complete);
int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb,
				     int hlen, struct iovec *iov)
{
	unsigned int csum;
	__wsum csum;
	int chunk = skb->len - hlen;

	/* Skip filled elements.
@@ -460,7 +460,7 @@ int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb,
		if (skb_copy_and_csum_datagram(skb, hlen, iov->iov_base,
					       chunk, &csum))
			goto fault;
		if ((unsigned short)csum_fold(csum))
		if (csum_fold(csum))
			goto csum_error;
		if (unlikely(skb->ip_summed == CHECKSUM_COMPLETE))
			netdev_rx_csum_fault(skb->dev);
+2 −2
Original line number Diff line number Diff line
@@ -1169,7 +1169,7 @@ EXPORT_SYMBOL(netif_device_attach);
 */
int skb_checksum_help(struct sk_buff *skb)
{
	unsigned int csum;
	__wsum csum;
	int ret = 0, offset = skb->h.raw - skb->data;

	if (skb->ip_summed == CHECKSUM_COMPLETE)
@@ -1193,7 +1193,7 @@ int skb_checksum_help(struct sk_buff *skb)
	BUG_ON(offset <= 0);
	BUG_ON(skb->csum + 2 > offset);

	*(u16*)(skb->h.raw + skb->csum) = csum_fold(csum);
	*(__sum16*)(skb->h.raw + skb->csum) = csum_fold(csum);

out_set_summed:
	skb->ip_summed = CHECKSUM_NONE;
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ static int checksum_udp(struct sk_buff *skb, struct udphdr *uh,
	psum = csum_tcpudp_nofold(saddr, daddr, ulen, IPPROTO_UDP, 0);

	if (skb->ip_summed == CHECKSUM_COMPLETE &&
	    !(u16)csum_fold(csum_add(psum, skb->csum)))
	    !csum_fold(csum_add(psum, skb->csum)))
		return 0;

	skb->csum = psum;
+2 −2
Original line number Diff line number Diff line
@@ -1396,7 +1396,7 @@ unsigned int skb_copy_and_csum_bits(const struct sk_buff *skb, int offset,

void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to)
{
	unsigned int csum;
	__wsum csum;
	long csstart;

	if (skb->ip_summed == CHECKSUM_PARTIAL)
@@ -1416,7 +1416,7 @@ void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to)
	if (skb->ip_summed == CHECKSUM_PARTIAL) {
		long csstuff = csstart + skb->csum;

		*((unsigned short *)(to + csstuff)) = csum_fold(csum);
		*((__sum16 *)(to + csstuff)) = csum_fold(csum);
	}
}

+2 −2
Original line number Diff line number Diff line
@@ -356,7 +356,7 @@ static void icmp_push_reply(struct icmp_bxm *icmp_param,
		ip_flush_pending_frames(icmp_socket->sk);
	else if ((skb = skb_peek(&icmp_socket->sk->sk_write_queue)) != NULL) {
		struct icmphdr *icmph = skb->h.icmph;
		unsigned int csum = 0;
		__wsum csum = 0;
		struct sk_buff *skb1;

		skb_queue_walk(&icmp_socket->sk->sk_write_queue, skb1) {
@@ -931,7 +931,7 @@ int icmp_rcv(struct sk_buff *skb)

	switch (skb->ip_summed) {
	case CHECKSUM_COMPLETE:
		if (!(u16)csum_fold(skb->csum))
		if (!csum_fold(skb->csum))
			break;
		/* fall through */
	case CHECKSUM_NONE:
Loading