diff --git a/net/ipv6/route.c b/net/ipv6/route.c index e6b021588eb07c425ba3f04b3b50f41ebbf0b60e..80dd55c436fa6dd56394f4f1d54f03f920de902a 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -4477,12 +4477,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; }