generic/4.0: fix error during kernel patch application

Commit 5168c9a5702648eb690d32ec821647aca80aeba9 introduced a regression
during patch application on the 4.0 kernel. Some of the patched content
doesn't match the actual code, therefore leading to the following error:
  Applying patch generic/667-ipv6-Fixed-source-specific-default-route-handling.patch
  patching file net/ipv6/ip6_output.c
  Hunk #1 FAILED at 886.
  1 out of 1 hunk FAILED -- rejects in file net/ipv6/ip6_output.c
  patching file net/ipv6/route.c
  Hunk #1 succeeded at 2247 (offset 2 lines).
  Patch generic/667-ipv6-Fixed-source-specific-default-route-handling.patch does not apply (enforce with -f)

This change just adapts the actual patch to fix what is in kernel 4.0
and make it apply cleanly.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45705 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Steven Barth 2015-05-20 19:23:33 +00:00
parent 86e4ee7273
commit 1abaf019e5
1 changed files with 3 additions and 10 deletions

View File

@ -24,15 +24,13 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c | 5 +++-- net/ipv6/route.c | 5 +++--
2 files changed, 34 insertions(+), 10 deletions(-) 2 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 7fde1f2..c217775 100644
--- a/net/ipv6/ip6_output.c --- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c
@@ -886,22 +886,45 @@ static int ip6_dst_lookup_tail(struct sock *sk, @@ -883,22 +883,45 @@ static int ip6_dst_lookup_tail(struct so
#endif #endif
int err; int err;
- if (!*dst) - if (*dst == NULL)
- *dst = ip6_route_output(net, sk, fl6); - *dst = ip6_route_output(net, sk, fl6);
- -
- err = (*dst)->error; - err = (*dst)->error;
@ -82,11 +80,9 @@ index 7fde1f2..c217775 100644
#ifdef CONFIG_IPV6_OPTIMISTIC_DAD #ifdef CONFIG_IPV6_OPTIMISTIC_DAD
/* /*
* Here if the dst entry we've looked up * Here if the dst entry we've looked up
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 5c48293..d358888 100644
--- a/net/ipv6/route.c --- a/net/ipv6/route.c
+++ b/net/ipv6/route.c +++ b/net/ipv6/route.c
@@ -2245,9 +2245,10 @@ int ip6_route_get_saddr(struct net *net, @@ -2247,9 +2247,10 @@ int ip6_route_get_saddr(struct net *net,
unsigned int prefs, unsigned int prefs,
struct in6_addr *saddr) struct in6_addr *saddr)
{ {
@ -99,6 +95,3 @@ index 5c48293..d358888 100644
*saddr = rt->rt6i_prefsrc.addr; *saddr = rt->rt6i_prefsrc.addr;
else else
err = ipv6_dev_get_saddr(net, idev ? idev->dev : NULL, err = ipv6_dev_get_saddr(net, idev ? idev->dev : NULL,
--
2.1.4