From: Greg Kroah-Hartman Date: Fri, 23 Nov 2018 11:44:45 +0000 (+0100) Subject: 4.9-stable patches X-Git-Tag: v4.9.140~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a44b7f73d3788590471cc124d865954d0eb41b4;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: revert-ipv6-set-rt6i_protocol-properly-in-the-route-when-it.patch --- diff --git a/queue-4.9/revert-ipv6-set-rt6i_protocol-properly-in-the-route-when-it.patch b/queue-4.9/revert-ipv6-set-rt6i_protocol-properly-in-the-route-when-it.patch new file mode 100644 index 00000000000..86270a54dc2 --- /dev/null +++ b/queue-4.9/revert-ipv6-set-rt6i_protocol-properly-in-the-route-when-it.patch @@ -0,0 +1,66 @@ +From 77588b6ecc641068053020368f20231bc2524989 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Fri, 23 Nov 2018 12:42:42 +0100 +Subject: Revert "ipv6: set rt6i_protocol properly in the route when it is installed" + +From: Greg Kroah-Hartman + +This reverts commit 23e983e27aaff6357bb851d91b593d83a9a6552c which is +commit b91d532928dff2141ea9c107c3e73104d9843767 upstream. + +It breaks the Android networking test suite, which works fine with the +backported patch in 4.14. So something must be off for 4.9 for this +patch, so just revert it. + +Cc: Jianlin Shi +Cc: David Ahern +Cc: Xin Long +Cc: David S. Miller +Cc: Sasha Levin +Signed-off-by: Greg Kroah-Hartman + +--- + net/ipv6/route.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +--- a/net/ipv6/route.c ++++ b/net/ipv6/route.c +@@ -2292,7 +2292,6 @@ static void rt6_do_redirect(struct dst_e + if (on_link) + nrt->rt6i_flags &= ~RTF_GATEWAY; + +- nrt->rt6i_protocol = RTPROT_REDIRECT; + nrt->rt6i_gateway = *(struct in6_addr *)neigh->primary_key; + + if (ip6_ins_rt(nrt)) +@@ -2397,7 +2396,6 @@ static struct rt6_info *rt6_add_route_in + .fc_dst_len = prefixlen, + .fc_flags = RTF_GATEWAY | RTF_ADDRCONF | RTF_ROUTEINFO | + RTF_UP | RTF_PREF(pref), +- .fc_protocol = RTPROT_RA, + .fc_nlinfo.portid = 0, + .fc_nlinfo.nlh = NULL, + .fc_nlinfo.nl_net = net, +@@ -2450,7 +2448,6 @@ struct rt6_info *rt6_add_dflt_router(con + .fc_ifindex = dev->ifindex, + .fc_flags = RTF_GATEWAY | RTF_ADDRCONF | RTF_DEFAULT | + RTF_UP | RTF_EXPIRES | RTF_PREF(pref), +- .fc_protocol = RTPROT_RA, + .fc_nlinfo.portid = 0, + .fc_nlinfo.nlh = NULL, + .fc_nlinfo.nl_net = dev_net(dev), +@@ -3247,6 +3244,14 @@ static int rt6_fill_node(struct net *net + } + rtm->rtm_scope = RT_SCOPE_UNIVERSE; + rtm->rtm_protocol = rt->rt6i_protocol; ++ if (rt->rt6i_flags & RTF_DYNAMIC) ++ rtm->rtm_protocol = RTPROT_REDIRECT; ++ else if (rt->rt6i_flags & RTF_ADDRCONF) { ++ if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ROUTEINFO)) ++ rtm->rtm_protocol = RTPROT_RA; ++ else ++ rtm->rtm_protocol = RTPROT_KERNEL; ++ } + + if (rt->rt6i_flags & RTF_CACHE) + rtm->rtm_flags |= RTM_F_CLONED; diff --git a/queue-4.9/series b/queue-4.9/series index 88632629dfe..2bf68e5268e 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -1 +1,2 @@ revert-x86-speculation-enable-cross-hyperthread-spectre-v2.patch +revert-ipv6-set-rt6i_protocol-properly-in-the-route-when-it.patch