aboutsummaryrefslogtreecommitdiff
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-02-10 18:24:22 +0000
committerMark Brown <broonie@kernel.org>2016-02-10 18:24:22 +0000
commit6b4fe72f6c1ab93a893a8bc2e1155d34d7689440 (patch)
tree68a7126da5b4fced21d1b803e0d5f391463b1cfd /net/ipv6/tcp_ipv6.c
parent8fa6d2e1fe937af9dbacb5aad8c43dbb67466fa0 (diff)
parent130faf3765d29c961be74f7245eb504a414a68e2 (diff)
Merge branch 'linux-linaro-lsk-v3.18' into linux-linaro-lsk-v3.18-android
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r--net/ipv6/tcp_ipv6.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index da93a74a05cb..9b4478d4c360 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -93,10 +93,9 @@ static void inet6_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb)
{
struct dst_entry *dst = skb_dst(skb);
- if (dst) {
+ if (dst && dst_hold_safe(dst)) {
const struct rt6_info *rt = (const struct rt6_info *)dst;
- dst_hold(dst);
sk->sk_rx_dst = dst;
inet_sk(sk)->rx_dst_ifindex = skb->skb_iif;
if (rt->rt6i_node)