Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu"
[ Upstream commit09454fd0a4
] This reverts commit19bda36c42
: | ipv6: add mtu lock check in __ip6_rt_update_pmtu | | Prior to this patch, ipv6 didn't do mtu lock check in ip6_update_pmtu. | It leaded to that mtu lock doesn't really work when receiving the pkt | of ICMPV6_PKT_TOOBIG. | | This patch is to add mtu lock check in __ip6_rt_update_pmtu just as ipv4 | did in __ip_rt_update_pmtu. The above reasoning is incorrect. IPv6 *requires* icmp based pmtu to work. There's already a comment to this effect elsewhere in the kernel: $ git grep -p -B1 -A3 'RTAX_MTU lock' net/ipv6/route.c=4813= static int rt6_mtu_change_route(struct fib6_info *f6i, void *p_arg) ... /* In IPv6 pmtu discovery is not optional, so that RTAX_MTU lock cannot disable it. We still use this lock to block changes caused by addrconf/ndisc. */ This reverts to the pre-4.9 behaviour. Cc: Eric Dumazet <edumazet@google.com> Cc: Willem de Bruijn <willemb@google.com> Cc: Xin Long <lucien.xin@gmail.com> Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: Maciej Żenczykowski <maze@google.com> Fixes:19bda36c42
("ipv6: add mtu lock check in __ip6_rt_update_pmtu") Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5f93b45fa5
commit
f152793058
@ -2728,8 +2728,10 @@ static void __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk,
|
|||||||
const struct in6_addr *daddr, *saddr;
|
const struct in6_addr *daddr, *saddr;
|
||||||
struct rt6_info *rt6 = (struct rt6_info *)dst;
|
struct rt6_info *rt6 = (struct rt6_info *)dst;
|
||||||
|
|
||||||
if (dst_metric_locked(dst, RTAX_MTU))
|
/* Note: do *NOT* check dst_metric_locked(dst, RTAX_MTU)
|
||||||
return;
|
* IPv6 pmtu discovery isn't optional, so 'mtu lock' cannot disable it.
|
||||||
|
* [see also comment in rt6_mtu_change_route()]
|
||||||
|
*/
|
||||||
|
|
||||||
if (iph) {
|
if (iph) {
|
||||||
daddr = &iph->daddr;
|
daddr = &iph->daddr;
|
||||||
|
Loading…
Reference in New Issue
Block a user