diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/ip.h | 16 | ||||
| -rw-r--r-- | include/net/ip6_route.h | 3 | ||||
| -rw-r--r-- | include/net/sock.h | 2 |
3 files changed, 4 insertions, 17 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index 025c61c0dffb..6cc1eafb153a 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
| @@ -453,22 +453,6 @@ static __inline__ void inet_reset_saddr(struct sock *sk) | |||
| 453 | 453 | ||
| 454 | #endif | 454 | #endif |
| 455 | 455 | ||
| 456 | static inline int sk_mc_loop(struct sock *sk) | ||
| 457 | { | ||
| 458 | if (!sk) | ||
| 459 | return 1; | ||
| 460 | switch (sk->sk_family) { | ||
| 461 | case AF_INET: | ||
| 462 | return inet_sk(sk)->mc_loop; | ||
| 463 | #if IS_ENABLED(CONFIG_IPV6) | ||
| 464 | case AF_INET6: | ||
| 465 | return inet6_sk(sk)->mc_loop; | ||
| 466 | #endif | ||
| 467 | } | ||
| 468 | WARN_ON(1); | ||
| 469 | return 1; | ||
| 470 | } | ||
| 471 | |||
| 472 | bool ip_call_ra_chain(struct sk_buff *skb); | 456 | bool ip_call_ra_chain(struct sk_buff *skb); |
| 473 | 457 | ||
| 474 | /* | 458 | /* |
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 1d09b46c1e48..eda131d179d9 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h | |||
| @@ -174,7 +174,8 @@ int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *)); | |||
| 174 | 174 | ||
| 175 | static inline int ip6_skb_dst_mtu(struct sk_buff *skb) | 175 | static inline int ip6_skb_dst_mtu(struct sk_buff *skb) |
| 176 | { | 176 | { |
| 177 | struct ipv6_pinfo *np = skb->sk ? inet6_sk(skb->sk) : NULL; | 177 | struct ipv6_pinfo *np = skb->sk && !dev_recursion_level() ? |
| 178 | inet6_sk(skb->sk) : NULL; | ||
| 178 | 179 | ||
| 179 | return (np && np->pmtudisc >= IPV6_PMTUDISC_PROBE) ? | 180 | return (np && np->pmtudisc >= IPV6_PMTUDISC_PROBE) ? |
| 180 | skb_dst(skb)->dev->mtu : dst_mtu(skb_dst(skb)); | 181 | skb_dst(skb)->dev->mtu : dst_mtu(skb_dst(skb)); |
diff --git a/include/net/sock.h b/include/net/sock.h index ab186b1d31ff..e4079c28e6b8 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -1762,6 +1762,8 @@ struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie); | |||
| 1762 | 1762 | ||
| 1763 | struct dst_entry *sk_dst_check(struct sock *sk, u32 cookie); | 1763 | struct dst_entry *sk_dst_check(struct sock *sk, u32 cookie); |
| 1764 | 1764 | ||
| 1765 | bool sk_mc_loop(struct sock *sk); | ||
| 1766 | |||
| 1765 | static inline bool sk_can_gso(const struct sock *sk) | 1767 | static inline bool sk_can_gso(const struct sock *sk) |
| 1766 | { | 1768 | { |
| 1767 | return net_gso_ok(sk->sk_route_caps, sk->sk_gso_type); | 1769 | return net_gso_ok(sk->sk_route_caps, sk->sk_gso_type); |
