diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-09 10:33:02 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-09 10:33:02 -0400 |
| commit | 9dc263239bb2cfeb242d8ef758fca66a968822d5 (patch) | |
| tree | 70c0c46fa6f01740c776ae24bc0874a8d97df222 /net/ipv6 | |
| parent | 0e5dec478cfff2c29e68d1108ff828fa321adc59 (diff) | |
| parent | 829841146878e082613a49581ae252c071057c23 (diff) | |
Merge branch 'master'
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/mcast.c | 2 | ||||
| -rw-r--r-- | net/ipv6/ndisc.c | 2 | ||||
| -rw-r--r-- | net/ipv6/udp.c | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 519899fb11d5..39a96c768102 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
| @@ -1393,7 +1393,7 @@ static void mld_sendpack(struct sk_buff *skb) | |||
| 1393 | 1393 | ||
| 1394 | static int grec_size(struct ifmcaddr6 *pmc, int type, int gdel, int sdel) | 1394 | static int grec_size(struct ifmcaddr6 *pmc, int type, int gdel, int sdel) |
| 1395 | { | 1395 | { |
| 1396 | return sizeof(struct mld2_grec) + 4*mld_scount(pmc,type,gdel,sdel); | 1396 | return sizeof(struct mld2_grec) + 16 * mld_scount(pmc,type,gdel,sdel); |
| 1397 | } | 1397 | } |
| 1398 | 1398 | ||
| 1399 | static struct sk_buff *add_grhead(struct sk_buff *skb, struct ifmcaddr6 *pmc, | 1399 | static struct sk_buff *add_grhead(struct sk_buff *skb, struct ifmcaddr6 *pmc, |
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 555a31347eda..305d9ee6d7db 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
| @@ -1450,7 +1450,7 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, | |||
| 1450 | 1450 | ||
| 1451 | static void pndisc_redo(struct sk_buff *skb) | 1451 | static void pndisc_redo(struct sk_buff *skb) |
| 1452 | { | 1452 | { |
| 1453 | ndisc_rcv(skb); | 1453 | ndisc_recv_ns(skb); |
| 1454 | kfree_skb(skb); | 1454 | kfree_skb(skb); |
| 1455 | } | 1455 | } |
| 1456 | 1456 | ||
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index e4cad11f284a..bf9519341fd3 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
| @@ -99,7 +99,7 @@ static int udp_v6_get_port(struct sock *sk, unsigned short snum) | |||
| 99 | next:; | 99 | next:; |
| 100 | } | 100 | } |
| 101 | result = best; | 101 | result = best; |
| 102 | for(;; result += UDP_HTABLE_SIZE) { | 102 | for(i = 0; i < (1 << 16) / UDP_HTABLE_SIZE; i++, result += UDP_HTABLE_SIZE) { |
| 103 | if (result > sysctl_local_port_range[1]) | 103 | if (result > sysctl_local_port_range[1]) |
| 104 | result = sysctl_local_port_range[0] | 104 | result = sysctl_local_port_range[0] |
| 105 | + ((result - sysctl_local_port_range[0]) & | 105 | + ((result - sysctl_local_port_range[0]) & |
| @@ -107,6 +107,8 @@ static int udp_v6_get_port(struct sock *sk, unsigned short snum) | |||
| 107 | if (!udp_lport_inuse(result)) | 107 | if (!udp_lport_inuse(result)) |
| 108 | break; | 108 | break; |
| 109 | } | 109 | } |
| 110 | if (i >= (1 << 16) / UDP_HTABLE_SIZE) | ||
| 111 | goto fail; | ||
| 110 | gotit: | 112 | gotit: |
| 111 | udp_port_rover = snum = result; | 113 | udp_port_rover = snum = result; |
| 112 | } else { | 114 | } else { |
