diff options
| author | John W. Linville <linville@tuxdriver.com> | 2006-03-15 17:02:08 -0500 | 
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2006-03-15 17:02:08 -0500 | 
| commit | dd288e7d75b9041f79fecae77d61cfa345da7266 (patch) | |
| tree | 85ff1d1ea0fe1d6eae0b6819422d5c6c05f862cd /net/ipv6 | |
| parent | 30dcbf29cc6d92d70fa262e79e84011fe6913bed (diff) | |
| parent | 72df16f109b73be37977a26d342e9103e8851cb6 (diff) | |
Merge branch 'upstream-fixes'
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/addrconf.c | 2 | ||||
| -rw-r--r-- | net/ipv6/ah6.c | 2 | ||||
| -rw-r--r-- | net/ipv6/inet6_hashtables.c | 6 | ||||
| -rw-r--r-- | net/ipv6/ip6_output.c | 7 | 
4 files changed, 11 insertions, 6 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index b7d8822c1be4..19727d941962 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c  | |||
| @@ -822,7 +822,7 @@ struct ipv6_saddr_score { | |||
| 822 | int addr_type; | 822 | int addr_type; | 
| 823 | unsigned int attrs; | 823 | unsigned int attrs; | 
| 824 | int matchlen; | 824 | int matchlen; | 
| 825 | unsigned int scope; | 825 | int scope; | 
| 826 | unsigned int rule; | 826 | unsigned int rule; | 
| 827 | }; | 827 | }; | 
| 828 | 828 | ||
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c index c7932cb420a5..84963749ab77 100644 --- a/net/ipv6/ah6.c +++ b/net/ipv6/ah6.c  | |||
| @@ -279,7 +279,7 @@ static int ah6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struc | |||
| 279 | goto out; | 279 | goto out; | 
| 280 | memcpy(tmp_hdr, skb->nh.raw, hdr_len); | 280 | memcpy(tmp_hdr, skb->nh.raw, hdr_len); | 
| 281 | if (ipv6_clear_mutable_options(skb->nh.ipv6h, hdr_len)) | 281 | if (ipv6_clear_mutable_options(skb->nh.ipv6h, hdr_len)) | 
| 282 | goto out; | 282 | goto free_out; | 
| 283 | skb->nh.ipv6h->priority = 0; | 283 | skb->nh.ipv6h->priority = 0; | 
| 284 | skb->nh.ipv6h->flow_lbl[0] = 0; | 284 | skb->nh.ipv6h->flow_lbl[0] = 0; | 
| 285 | skb->nh.ipv6h->flow_lbl[1] = 0; | 285 | skb->nh.ipv6h->flow_lbl[1] = 0; | 
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c index 4154f3a8b6cf..bb8ffb8a14c5 100644 --- a/net/ipv6/inet6_hashtables.c +++ b/net/ipv6/inet6_hashtables.c  | |||
| @@ -87,7 +87,7 @@ static int __inet6_check_established(struct inet_timewait_death_row *death_row, | |||
| 87 | struct inet_timewait_sock **twp) | 87 | struct inet_timewait_sock **twp) | 
| 88 | { | 88 | { | 
| 89 | struct inet_hashinfo *hinfo = death_row->hashinfo; | 89 | struct inet_hashinfo *hinfo = death_row->hashinfo; | 
| 90 | const struct inet_sock *inet = inet_sk(sk); | 90 | struct inet_sock *inet = inet_sk(sk); | 
| 91 | const struct ipv6_pinfo *np = inet6_sk(sk); | 91 | const struct ipv6_pinfo *np = inet6_sk(sk); | 
| 92 | const struct in6_addr *daddr = &np->rcv_saddr; | 92 | const struct in6_addr *daddr = &np->rcv_saddr; | 
| 93 | const struct in6_addr *saddr = &np->daddr; | 93 | const struct in6_addr *saddr = &np->daddr; | 
| @@ -129,6 +129,10 @@ static int __inet6_check_established(struct inet_timewait_death_row *death_row, | |||
| 129 | } | 129 | } | 
| 130 | 130 | ||
| 131 | unique: | 131 | unique: | 
| 132 | /* Must record num and sport now. Otherwise we will see | ||
| 133 | * in hash table socket with a funny identity. */ | ||
| 134 | inet->num = lport; | ||
| 135 | inet->sport = htons(lport); | ||
| 132 | BUG_TRAP(sk_unhashed(sk)); | 136 | BUG_TRAP(sk_unhashed(sk)); | 
| 133 | __sk_add_node(sk, &head->chain); | 137 | __sk_add_node(sk, &head->chain); | 
| 134 | sk->sk_hash = hash; | 138 | sk->sk_hash = hash; | 
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index f999edd846a9..5bf70b1442ea 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c  | |||
| @@ -944,10 +944,11 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, | |||
| 944 | if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && | 944 | if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && | 
| 945 | (rt->u.dst.dev->features & NETIF_F_UFO)) { | 945 | (rt->u.dst.dev->features & NETIF_F_UFO)) { | 
| 946 | 946 | ||
| 947 | if(ip6_ufo_append_data(sk, getfrag, from, length, hh_len, | 947 | err = ip6_ufo_append_data(sk, getfrag, from, length, hh_len, | 
| 948 | fragheaderlen, transhdrlen, mtu, flags)) | 948 | fragheaderlen, transhdrlen, mtu, | 
| 949 | flags); | ||
| 950 | if (err) | ||
| 949 | goto error; | 951 | goto error; | 
| 950 | |||
| 951 | return 0; | 952 | return 0; | 
| 952 | } | 953 | } | 
| 953 | 954 | ||
