diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 56f0783df589..5ef6e27e026e 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -5146,12 +5146,10 @@ static int ip6_route_multipath_add(struct fib6_config *cfg, nla = nla_find(attrs, attrlen, RTA_GATEWAY); if (nla) { - int ret; - - ret = fib6_gw_from_attr(&r_cfg.fc_gateway, nla, + err = fib6_gw_from_attr(&r_cfg.fc_gateway, nla, extack); - if (ret) - return ret; + if (err) + goto cleanup; r_cfg.fc_flags |= RTF_GATEWAY; }