lkml.org 
[lkml]   [2007]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[-mm patch] remove tcp header from tcp_v4_check (take #2)
On Fri, Jan 12, 2007 at 01:33:09PM +0000, Frederik Deweerdt wrote:
> On Thu, Jan 11, 2007 at 10:26:27PM -0800, Andrew Morton wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20-rc3/2.6.20-rc4-mm1/
> >
Hi,

Sorry for the resend, I forgot the Signed-off-by line, and noticed a
whitespace breakage in ipt_REJECT.
The tcphdr struct passed to tcp_v4_check is not used, the following
patch removes it from the parameter list.
This adds the netfilter modifications missing in the patch I sent
for rc3-mm1.

Regards,
Frederik

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>


Index: 2.6.20-rc4-mm1-tcp/include/net/tcp.h
===================================================================
--- 2.6.20-rc4-mm1-tcp.orig/include/net/tcp.h 2007-01-12 11:55:05.000000000 +0100
+++ 2.6.20-rc4-mm1-tcp/include/net/tcp.h 2007-01-12 11:56:47.000000000 +0100
@@ -802,9 +802,8 @@
/*
* Calculate(/check) TCP checksum
*/
-static inline __sum16 tcp_v4_check(struct tcphdr *th, int len,
- __be32 saddr, __be32 daddr,
- __wsum base)
+static inline __sum16 tcp_v4_check(int len, __be32 saddr,
+ __be32 daddr, __wsum base)
{
return csum_tcpudp_magic(saddr,daddr,len,IPPROTO_TCP,base);
}
Index: 2.6.20-rc4-mm1-tcp/net/ipv4/netfilter/ipt_REJECT.c
===================================================================
--- 2.6.20-rc4-mm1-tcp.orig/net/ipv4/netfilter/ipt_REJECT.c 2007-01-12 11:55:05.000000000 +0100
+++ 2.6.20-rc4-mm1-tcp/net/ipv4/netfilter/ipt_REJECT.c 2007-01-12 14:47:07.000000000 +0100
@@ -116,7 +116,7 @@

/* Adjust TCP checksum */
tcph->check = 0;
- tcph->check = tcp_v4_check(tcph, sizeof(struct tcphdr),
+ tcph->check = tcp_v4_check(sizeof(struct tcphdr),
nskb->nh.iph->saddr,
nskb->nh.iph->daddr,
csum_partial((char *)tcph,
Index: 2.6.20-rc4-mm1-tcp/net/ipv4/tcp_ipv4.c
===================================================================
--- 2.6.20-rc4-mm1-tcp.orig/net/ipv4/tcp_ipv4.c 2007-01-12 11:55:19.000000000 +0100
+++ 2.6.20-rc4-mm1-tcp/net/ipv4/tcp_ipv4.c 2007-01-12 11:56:47.000000000 +0100
@@ -502,11 +502,11 @@
struct tcphdr *th = skb->h.th;

if (skb->ip_summed == CHECKSUM_PARTIAL) {
- th->check = ~tcp_v4_check(th, len,
- inet->saddr, inet->daddr, 0);
+ th->check = ~tcp_v4_check(len, inet->saddr,
+ inet->daddr, 0);
skb->csum_offset = offsetof(struct tcphdr, check);
} else {
- th->check = tcp_v4_check(th, len, inet->saddr, inet->daddr,
+ th->check = tcp_v4_check(len, inet->saddr, inet->daddr,
csum_partial((char *)th,
th->doff << 2,
skb->csum));
@@ -525,7 +525,7 @@
th = skb->h.th;

th->check = 0;
- th->check = ~tcp_v4_check(th, skb->len, iph->saddr, iph->daddr, 0);
+ th->check = ~tcp_v4_check(skb->len, iph->saddr, iph->daddr, 0);
skb->csum_offset = offsetof(struct tcphdr, check);
skb->ip_summed = CHECKSUM_PARTIAL;
return 0;
@@ -747,7 +747,7 @@
if (skb) {
struct tcphdr *th = skb->h.th;

- th->check = tcp_v4_check(th, skb->len,
+ th->check = tcp_v4_check(skb->len,
ireq->loc_addr,
ireq->rmt_addr,
csum_partial((char *)th, skb->len,
@@ -1514,7 +1514,7 @@
static __sum16 tcp_v4_checksum_init(struct sk_buff *skb)
{
if (skb->ip_summed == CHECKSUM_COMPLETE) {
- if (!tcp_v4_check(skb->h.th, skb->len, skb->nh.iph->saddr,
+ if (!tcp_v4_check(skb->len, skb->nh.iph->saddr,
skb->nh.iph->daddr, skb->csum)) {
skb->ip_summed = CHECKSUM_UNNECESSARY;
return 0;
Index: 2.6.20-rc4-mm1-tcp/net/ipv4/netfilter/ip_nat_helper.c
===================================================================
--- 2.6.20-rc4-mm1-tcp.orig/net/ipv4/netfilter/ip_nat_helper.c 2007-01-12 11:55:05.000000000 +0100
+++ 2.6.20-rc4-mm1-tcp/net/ipv4/netfilter/ip_nat_helper.c 2007-01-12 11:56:47.000000000 +0100
@@ -183,7 +183,7 @@
datalen = (*pskb)->len - iph->ihl*4;
if ((*pskb)->ip_summed != CHECKSUM_PARTIAL) {
tcph->check = 0;
- tcph->check = tcp_v4_check(tcph, datalen,
+ tcph->check = tcp_v4_check(datalen,
iph->saddr, iph->daddr,
csum_partial((char *)tcph,
datalen, 0));
Index: 2.6.20-rc4-mm1-tcp/net/ipv4/netfilter/nf_nat_helper.c
===================================================================
--- 2.6.20-rc4-mm1-tcp.orig/net/ipv4/netfilter/nf_nat_helper.c 2007-01-12 11:55:05.000000000 +0100
+++ 2.6.20-rc4-mm1-tcp/net/ipv4/netfilter/nf_nat_helper.c 2007-01-12 11:56:47.000000000 +0100
@@ -176,7 +176,7 @@
datalen = (*pskb)->len - iph->ihl*4;
if ((*pskb)->ip_summed != CHECKSUM_PARTIAL) {
tcph->check = 0;
- tcph->check = tcp_v4_check(tcph, datalen,
+ tcph->check = tcp_v4_check(datalen,
iph->saddr, iph->daddr,
csum_partial((char *)tcph,
datalen, 0));
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2007-01-12 15:21    [W:0.755 / U:0.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site