diff options
author | Eric Dumazet <edumazet@google.com> | 2024-04-26 15:19:52 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-04-29 13:32:01 +0100 |
commit | e8dfd42c17faf183415323db1ef0c977be0d6489 (patch) | |
tree | c51745e2765effa88f3047a634efef44e00eebb1 /net/ipv6/tcp_ipv6.c | |
parent | fac87d32a092e0a987e3fb7a7821e2468e96f91c (diff) | |
download | linux-e8dfd42c17faf183415323db1ef0c977be0d6489.tar.gz linux-e8dfd42c17faf183415323db1ef0c977be0d6489.tar.bz2 linux-e8dfd42c17faf183415323db1ef0c977be0d6489.zip |
ipv6: introduce dst_rt6_info() helper
Instead of (struct rt6_info *)dst casts, we can use :
#define dst_rt6_info(_ptr) \
container_of_const(_ptr, struct rt6_info, dst)
Some places needed missing const qualifiers :
ip6_confirm_neigh(), ipv6_anycast_destination(),
ipv6_unicast_destination(), has_gateway()
v2: added missing parts (David Ahern)
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 77958adf2e16..37201c4fb393 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -97,11 +97,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 && dst_hold_safe(dst)) { - const struct rt6_info *rt = (const struct rt6_info *)dst; - rcu_assign_pointer(sk->sk_rx_dst, dst); sk->sk_rx_dst_ifindex = skb->skb_iif; - sk->sk_rx_dst_cookie = rt6_get_cookie(rt); + sk->sk_rx_dst_cookie = rt6_get_cookie(dst_rt6_info(dst)); } } |