Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 41710
b: refs/heads/master
c: d3bc23e
h: refs/heads/master
v: v3
  • Loading branch information
Al Viro authored and David S. Miller committed Dec 3, 2006
1 parent 3061787 commit 3bf8b5a
Show file tree
Hide file tree
Showing 14 changed files with 25 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9981a0e36a572e9fcf84bfab915fdc93bed0e3c9
refs/heads/master: d3bc23e7ee9db8023dff5a86bb3b0069ed018789
8 changes: 4 additions & 4 deletions trunk/net/core/datagram.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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.
Expand All @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions trunk/net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/core/netpoll.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions trunk/net/core/skbuff.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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);
}
}

Expand Down
4 changes: 2 additions & 2 deletions trunk/net/ipv4/icmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/ipv4/igmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -932,7 +932,7 @@ int igmp_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:
Expand Down
4 changes: 2 additions & 2 deletions trunk/net/ipv4/ip_gre.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ static int ipgre_rcv(struct sk_buff *skb)
struct iphdr *iph;
u8 *h;
__be16 flags;
u16 csum = 0;
__sum16 csum = 0;
__be32 key = 0;
u32 seqno = 0;
struct ip_tunnel *tunnel;
Expand All @@ -580,7 +580,7 @@ static int ipgre_rcv(struct sk_buff *skb)
if (flags&GRE_CSUM) {
switch (skb->ip_summed) {
case CHECKSUM_COMPLETE:
csum = (u16)csum_fold(skb->csum);
csum = csum_fold(skb->csum);
if (!csum)
break;
/* fall through */
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/ipv4/ip_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -1384,7 +1384,7 @@ void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *ar
&ipc, rt, MSG_DONTWAIT);
if ((skb = skb_peek(&sk->sk_write_queue)) != NULL) {
if (arg->csumoffset >= 0)
*((u16 *)skb->h.raw + arg->csumoffset) = csum_fold(csum_add(skb->csum, arg->csum));
*((__sum16 *)skb->h.raw + arg->csumoffset) = csum_fold(csum_add(skb->csum, arg->csum));
skb->ip_summed = CHECKSUM_NONE;
ip_push_pending_frames(sk);
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/ipv4/ipmr.c
Original file line number Diff line number Diff line change
Expand Up @@ -1493,7 +1493,7 @@ static int pim_rcv(struct sk_buff * skb)
if (pim->type != ((PIM_VERSION<<4)|(PIM_REGISTER)) ||
(pim->flags&PIM_NULL_REGISTER) ||
(ip_compute_csum((void *)pim, sizeof(*pim)) != 0 &&
(u16)csum_fold(skb_checksum(skb, 0, skb->len, 0))))
csum_fold(skb_checksum(skb, 0, skb->len, 0))))
goto drop;

/* check if the inner packet is destined to mcast group */
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/ipv4/ipvs/ip_vs_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ static unsigned int ip_vs_post_routing(unsigned int hooknum,

u16 ip_vs_checksum_complete(struct sk_buff *skb, int offset)
{
return (u16) csum_fold(skb_checksum(skb, offset, skb->len - offset, 0));
return csum_fold(skb_checksum(skb, offset, skb->len - offset, 0));
}

static inline struct sk_buff *
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/ipv4/netfilter.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ unsigned int nf_ip_checksum(struct sk_buff *skb, unsigned int hook,
case CHECKSUM_COMPLETE:
if (hook != NF_IP_PRE_ROUTING && hook != NF_IP_LOCAL_IN)
break;
if ((protocol == 0 && !(u16)csum_fold(skb->csum)) ||
if ((protocol == 0 && !csum_fold(skb->csum)) ||
!csum_tcpudp_magic(iph->saddr, iph->daddr,
skb->len - dataoff, protocol,
skb->csum)) {
Expand Down
8 changes: 5 additions & 3 deletions trunk/net/ipv4/tcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2162,7 +2162,7 @@ struct sk_buff *tcp_tso_segment(struct sk_buff *skb, int features)
struct tcphdr *th;
unsigned thlen;
unsigned int seq;
unsigned int delta;
__be32 delta;
unsigned int oldlen;
unsigned int len;

Expand Down Expand Up @@ -2215,7 +2215,8 @@ struct sk_buff *tcp_tso_segment(struct sk_buff *skb, int features)
do {
th->fin = th->psh = 0;

th->check = ~csum_fold(th->check + delta);
th->check = ~csum_fold((__force __wsum)((__force u32)th->check +
(__force u32)delta));
if (skb->ip_summed != CHECKSUM_PARTIAL)
th->check = csum_fold(csum_partial(skb->h.raw, thlen,
skb->csum));
Expand All @@ -2229,7 +2230,8 @@ struct sk_buff *tcp_tso_segment(struct sk_buff *skb, int features)
} while (skb->next);

delta = htonl(oldlen + (skb->tail - skb->h.raw) + skb->data_len);
th->check = ~csum_fold(th->check + delta);
th->check = ~csum_fold((__force __wsum)((__force u32)th->check +
(__force u32)delta));
if (skb->ip_summed != CHECKSUM_PARTIAL)
th->check = csum_fold(csum_partial(skb->h.raw, thlen,
skb->csum));
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/sunrpc/socklib.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ int csum_partial_copy_to_xdr(struct xdr_buf *xdr, struct sk_buff *skb)
}
if (desc.count)
return -1;
if ((unsigned short)csum_fold(desc.csum))
if (csum_fold(desc.csum))
return -1;
if (unlikely(skb->ip_summed == CHECKSUM_COMPLETE))
netdev_rx_csum_fault(skb->dev);
Expand Down

0 comments on commit 3bf8b5a

Please sign in to comment.