diff options
author | Ido Schimmel <idosch@nvidia.com> | 2021-01-07 16:48:22 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-01-17 14:16:57 +0100 |
commit | eaa7a6c39d10f764d9dc68e2ba5547bc2fdfe394 (patch) | |
tree | 96d158b3b380ceac0b0b86095886613ad084fd97 /net | |
parent | 6486bc0a3400f2d67c0577fe8ddd792924b6614a (diff) | |
download | linux-stable-eaa7a6c39d10f764d9dc68e2ba5547bc2fdfe394.tar.gz linux-stable-eaa7a6c39d10f764d9dc68e2ba5547bc2fdfe394.tar.bz2 linux-stable-eaa7a6c39d10f764d9dc68e2ba5547bc2fdfe394.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')
-rw-r--r-- | net/ipv4/nexthop.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c index 2f0fed9abf43..23024ba7ab78 100644 --- a/net/ipv4/nexthop.c +++ b/net/ipv4/nexthop.c @@ -1277,8 +1277,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); |