diff options
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/datagram.c | 2 | ||||
| -rw-r--r-- | net/ipv6/route.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c index ae08aee1773c..251e7cd75e89 100644 --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c | |||
| @@ -575,7 +575,7 @@ int datagram_recv_ctl(struct sock *sk, struct msghdr *msg, struct sk_buff *skb) | |||
| 575 | } | 575 | } |
| 576 | if (np->rxopt.bits.rxorigdstaddr) { | 576 | if (np->rxopt.bits.rxorigdstaddr) { |
| 577 | struct sockaddr_in6 sin6; | 577 | struct sockaddr_in6 sin6; |
| 578 | u16 *ports = (u16 *) skb_transport_header(skb); | 578 | __be16 *ports = (__be16 *) skb_transport_header(skb); |
| 579 | 579 | ||
| 580 | if (skb_transport_offset(skb) + 4 <= skb->len) { | 580 | if (skb_transport_offset(skb) + 4 <= skb->len) { |
| 581 | /* All current transport protocols have the port numbers in the | 581 | /* All current transport protocols have the port numbers in the |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 07361dfa8085..8c2e3ab58f2a 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
| @@ -1091,6 +1091,7 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev, | |||
| 1091 | else { | 1091 | else { |
| 1092 | neigh = ip6_neigh_lookup(&rt->dst, &fl6->daddr); | 1092 | neigh = ip6_neigh_lookup(&rt->dst, &fl6->daddr); |
| 1093 | if (IS_ERR(neigh)) { | 1093 | if (IS_ERR(neigh)) { |
| 1094 | in6_dev_put(idev); | ||
| 1094 | dst_free(&rt->dst); | 1095 | dst_free(&rt->dst); |
| 1095 | return ERR_CAST(neigh); | 1096 | return ERR_CAST(neigh); |
| 1096 | } | 1097 | } |
