Message ID | 1294933302-28469-1-git-send-email-christoph.paasch@uclouvain.be |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Jan 13, 2011 at 10:41 AM, Christoph Paasch <christoph.paasch@uclouvain.be> wrote: > th is already set some lines before to be th = tcp_hdr(skb). > > Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be> > --- > net/ipv4/tcp_ipv4.c | 1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c > index 856f684..7fe29c6 100644 > --- a/net/ipv4/tcp_ipv4.c > +++ b/net/ipv4/tcp_ipv4.c > @@ -1644,7 +1644,6 @@ int tcp_v4_rcv(struct sk_buff *skb) > if (!skb_csum_unnecessary(skb) && tcp_v4_checksum_init(skb)) > goto bad_packet; > > - th = tcp_hdr(skb); It needs to be reloaded because pskb_may_pull() may reallocate the buffer. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Le jeudi 13 janvier 2011 à 16:41 +0100, Christoph Paasch a écrit : > th is already set some lines before to be th = tcp_hdr(skb). > > Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be> > --- > net/ipv4/tcp_ipv4.c | 1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c > index 856f684..7fe29c6 100644 > --- a/net/ipv4/tcp_ipv4.c > +++ b/net/ipv4/tcp_ipv4.c > @@ -1644,7 +1644,6 @@ int tcp_v4_rcv(struct sk_buff *skb) > if (!skb_csum_unnecessary(skb) && tcp_v4_checksum_init(skb)) > goto bad_packet; > Well... no please. > - th = tcp_hdr(skb); > iph = ip_hdr(skb); > TCP_SKB_CB(skb)->seq = ntohl(th->seq); > TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin + Hint : pskb_may_pull() can change tcp_hdr(skb) result. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 856f684..7fe29c6 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1644,7 +1644,6 @@ int tcp_v4_rcv(struct sk_buff *skb) if (!skb_csum_unnecessary(skb) && tcp_v4_checksum_init(skb)) goto bad_packet; - th = tcp_hdr(skb); iph = ip_hdr(skb); TCP_SKB_CB(skb)->seq = ntohl(th->seq); TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin +
th is already set some lines before to be th = tcp_hdr(skb). Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be> --- net/ipv4/tcp_ipv4.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)