diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/core/datagram.c | 3 | ||||
-rw-r--r-- | net/decnet/dn_dev.c | 2 | ||||
-rw-r--r-- | net/ipv4/devinet.c | 2 | ||||
-rw-r--r-- | net/ipv4/tcp_input.c | 2 | ||||
-rw-r--r-- | net/ipv6/ndisc.c | 2 |
5 files changed, 7 insertions, 4 deletions
diff --git a/net/core/datagram.c b/net/core/datagram.c index cb056f476126..029b93e246b4 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c | |||
@@ -450,6 +450,9 @@ int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb, | |||
450 | __wsum csum; | 450 | __wsum csum; |
451 | int chunk = skb->len - hlen; | 451 | int chunk = skb->len - hlen; |
452 | 452 | ||
453 | if (!chunk) | ||
454 | return 0; | ||
455 | |||
453 | /* Skip filled elements. | 456 | /* Skip filled elements. |
454 | * Pretty silly, look at memcpy_toiovec, though 8) | 457 | * Pretty silly, look at memcpy_toiovec, though 8) |
455 | */ | 458 | */ |
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index fa6604fcf0e7..8def68209edd 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c | |||
@@ -814,7 +814,7 @@ static int dn_nl_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) | |||
814 | for (ifa = dn_db->ifa_list, dn_idx = 0; ifa; | 814 | for (ifa = dn_db->ifa_list, dn_idx = 0; ifa; |
815 | ifa = ifa->ifa_next, dn_idx++) { | 815 | ifa = ifa->ifa_next, dn_idx++) { |
816 | if (dn_idx < skip_naddr) | 816 | if (dn_idx < skip_naddr) |
817 | goto cont; | 817 | continue; |
818 | 818 | ||
819 | if (dn_nl_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid, | 819 | if (dn_nl_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid, |
820 | cb->nlh->nlmsg_seq, RTM_NEWADDR, | 820 | cb->nlh->nlmsg_seq, RTM_NEWADDR, |
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 5b77bdaa57dd..5dbe5803b7d5 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
@@ -1193,7 +1193,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) | |||
1193 | for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; | 1193 | for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; |
1194 | ifa = ifa->ifa_next, ip_idx++) { | 1194 | ifa = ifa->ifa_next, ip_idx++) { |
1195 | if (ip_idx < s_ip_idx) | 1195 | if (ip_idx < s_ip_idx) |
1196 | goto cont; | 1196 | continue; |
1197 | if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid, | 1197 | if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid, |
1198 | cb->nlh->nlmsg_seq, | 1198 | cb->nlh->nlmsg_seq, |
1199 | RTM_NEWADDR, NLM_F_MULTI) <= 0) | 1199 | RTM_NEWADDR, NLM_F_MULTI) <= 0) |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 1ee72127462b..bbad2cdb74b7 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -560,7 +560,7 @@ static u32 tcp_rto_min(struct sock *sk) | |||
560 | struct dst_entry *dst = __sk_dst_get(sk); | 560 | struct dst_entry *dst = __sk_dst_get(sk); |
561 | u32 rto_min = TCP_RTO_MIN; | 561 | u32 rto_min = TCP_RTO_MIN; |
562 | 562 | ||
563 | if (dst_metric_locked(dst, RTAX_RTO_MIN)) | 563 | if (dst && dst_metric_locked(dst, RTAX_RTO_MIN)) |
564 | rto_min = dst->metrics[RTAX_RTO_MIN-1]; | 564 | rto_min = dst->metrics[RTAX_RTO_MIN-1]; |
565 | return rto_min; | 565 | return rto_min; |
566 | } | 566 | } |
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 0358e6066a4e..73a894a2152c 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -736,7 +736,7 @@ static void ndisc_recv_ns(struct sk_buff *skb) | |||
736 | * so fail our DAD process | 736 | * so fail our DAD process |
737 | */ | 737 | */ |
738 | addrconf_dad_failure(ifp); | 738 | addrconf_dad_failure(ifp); |
739 | goto out; | 739 | return; |
740 | } else { | 740 | } else { |
741 | /* | 741 | /* |
742 | * This is not a dad solicitation. | 742 | * This is not a dad solicitation. |