summaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@nvidia.com>2021-01-07 16:48:22 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-01-17 14:05:32 +0100
commite6931e3eb0845a4e5cc0fb81a29866e91ea63fa8 (patch)
treeda365a1cfbcd7059c278bc46dbeca111cf56f905 /net/ipv4
parent3cecab93f271e7dc1674c7568104d316cd56480d (diff)
downloadlinux-stable-e6931e3eb0845a4e5cc0fb81a29866e91ea63fa8.tar.gz
linux-stable-e6931e3eb0845a4e5cc0fb81a29866e91ea63fa8.tar.bz2
linux-stable-e6931e3eb0845a4e5cc0fb81a29866e91ea63fa8.zip
nexthop: Unlink nexthop group entry in error path
[ Upstream commit 7b01e53eee6dce7a8a6736e06b99b68cd0cc7a27 ] In case of error, remove the nexthop group entry from the list to which it was previously added. Fixes: 430a049190de ("nexthop: Add support for nexthop groups") Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/nexthop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c
index 2acac8a0d18b..c2b7d43d92b0 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -1157,8 +1157,10 @@ static struct nexthop *nexthop_create_group(struct net *net,
return nh;
out_no_nh:
- for (i--; i >= 0; --i)
+ for (i--; i >= 0; --i) {
+ list_del(&nhg->nh_entries[i].nh_list);
nexthop_put(nhg->nh_entries[i].nh);
+ }
kfree(nhg->spare);
kfree(nhg);