Message ID | 1413194063-10354-1-git-send-email-jiri@resnulli.us |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, 2014-10-13 at 11:54 +0200, Jiri Pirko wrote: > fib_nh_match does not match nexthops correctly. Example: > > This command is not successful and route is removed. After this patch > applied, the route is correctly matched and result is: > RTNETLINK answers: No such process > > Please consider this for stable trees as well. > > Signed-off-by: Jiri Pirko <jiri@resnulli.us> > --- > net/ipv4/fib_semantics.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c > index 5b6efb3..f99f41b 100644 > --- a/net/ipv4/fib_semantics.c > +++ b/net/ipv4/fib_semantics.c > @@ -537,7 +537,7 @@ int fib_nh_match(struct fib_config *cfg, struct fib_info *fi) > return 1; > > attrlen = rtnh_attrlen(rtnh); > - if (attrlen < 0) { > + if (attrlen > 0) { > struct nlattr *nla, *attrs = rtnh_attrs(rtnh); > > nla = nla_find(attrs, attrlen, RTA_GATEWAY); Fixes: 4e902c57417c4 ("[IPv4]: FIB configuration using struct fib_config") Good catch, thanks ! Acked-by: Eric Dumazet <edumazet@google.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mon, Oct 13, 2014 at 02:22:46PM CEST, eric.dumazet@gmail.com wrote: >On Mon, 2014-10-13 at 11:54 +0200, Jiri Pirko wrote: >> fib_nh_match does not match nexthops correctly. Example: >> >> This command is not successful and route is removed. After this patch >> applied, the route is correctly matched and result is: >> RTNETLINK answers: No such process >> >> Please consider this for stable trees as well. >> >> Signed-off-by: Jiri Pirko <jiri@resnulli.us> >> --- >> net/ipv4/fib_semantics.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c >> index 5b6efb3..f99f41b 100644 >> --- a/net/ipv4/fib_semantics.c >> +++ b/net/ipv4/fib_semantics.c >> @@ -537,7 +537,7 @@ int fib_nh_match(struct fib_config *cfg, struct fib_info *fi) >> return 1; >> >> attrlen = rtnh_attrlen(rtnh); >> - if (attrlen < 0) { >> + if (attrlen > 0) { >> struct nlattr *nla, *attrs = rtnh_attrs(rtnh); >> >> nla = nla_find(attrs, attrlen, RTA_GATEWAY); > >Fixes: 4e902c57417c4 ("[IPv4]: FIB configuration using struct fib_config") > >Good catch, thanks ! > >Acked-by: Eric Dumazet <edumazet@google.com> Thanks Eric. I reposted with your ack, fixes line and missing example. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 5b6efb3..f99f41b 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -537,7 +537,7 @@ int fib_nh_match(struct fib_config *cfg, struct fib_info *fi) return 1; attrlen = rtnh_attrlen(rtnh); - if (attrlen < 0) { + if (attrlen > 0) { struct nlattr *nla, *attrs = rtnh_attrs(rtnh); nla = nla_find(attrs, attrlen, RTA_GATEWAY);
fib_nh_match does not match nexthops correctly. Example: This command is not successful and route is removed. After this patch applied, the route is correctly matched and result is: RTNETLINK answers: No such process Please consider this for stable trees as well. Signed-off-by: Jiri Pirko <jiri@resnulli.us> --- net/ipv4/fib_semantics.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)