aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIdo Schimmel <[email protected]>2021-01-07 16:48:22 +0200
committerJakub Kicinski <[email protected]>2021-01-07 18:47:18 -0800
commit7b01e53eee6dce7a8a6736e06b99b68cd0cc7a27 (patch)
treee36a4aafd3c8cc30cfc0ba1ac58f0e3398a92c3c
parent07e61a979ca4dddb3661f59328b3cd109f6b0070 (diff)
nexthop: Unlink nexthop group entry in error path
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 <[email protected]> Reviewed-by: Petr Machata <[email protected]> Reviewed-by: David Ahern <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
-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 f8035cfa9c20..712cdc061cde 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -1459,8 +1459,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);