diff options
author | David S. Miller <davem@davemloft.net> | 2021-06-07 13:01:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-06-07 13:01:52 -0700 |
commit | 126285651b7f95282a0afe3a1b0221419b31d989 (patch) | |
tree | e5d547255814a5ed55b6b74be3155464598b39f2 /net/ipv6/route.c | |
parent | sch_htb: fix doc warning in htb_lookup_leaf() (diff) | |
parent | cxgb4: avoid link re-train during TC-MQPRIO configuration (diff) | |
download | linux-dev-126285651b7f95282a0afe3a1b0221419b31d989.tar.xz linux-dev-126285651b7f95282a0afe3a1b0221419b31d989.zip |
Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net
Bug fixes overlapping feature additions and refactoring, mostly.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c46889381ae4..7b756a7dc036 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -3800,11 +3800,11 @@ static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg, if (nh) { if (rt->fib6_src.plen) { NL_SET_ERR_MSG(extack, "Nexthops can not be used with source routing"); - goto out; + goto out_free; } if (!nexthop_get(nh)) { NL_SET_ERR_MSG(extack, "Nexthop has been deleted"); - goto out; + goto out_free; } rt->nh = nh; fib6_nh = nexthop_fib6_nh(rt->nh); @@ -3841,6 +3841,10 @@ static struct fib6_info *ip6_route_info_create(struct fib6_config *cfg, out: fib6_info_release(rt); return ERR_PTR(err); +out_free: + ip_fib_metrics_put(rt->fib6_metrics); + kfree(rt); + return ERR_PTR(err); } int ip6_route_add(struct fib6_config *cfg, gfp_t gfp_flags, |