提交 c1fe0e3b 编写于 作者: D David Ahern 提交者: Yongqiang Liu

ipv6: Do cleanup if attribute validation fails in multipath route

stable inclusion
from linux-4.19.225
commit dd74b4e027324219e51d9821c0db4368c9f8526a

--------------------------------

[ Upstream commit 95bdba23 ]

As Nicolas noted, if gateway validation fails walking the multipath
attribute the code should jump to the cleanup to free previously
allocated memory.

Fixes: 1ff15a71 ("ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route")
Signed-off-by: NDavid Ahern <dsahern@kernel.org>
Acked-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
Link: https://lore.kernel.org/r/20220103170555.94638-1-dsahern@kernel.orgSigned-off-by: NJakub Kicinski <kuba@kernel.org>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYongqiang Liu <liuyongqiang13@huawei.com>
Signed-off-by: NLaibin Qiu <qiulaibin@huawei.com>
Signed-off-by: NYongqiang Liu <liuyongqiang13@huawei.com>
上级 25bc9a3f
...@@ -4477,12 +4477,10 @@ static int ip6_route_multipath_add(struct fib6_config *cfg, ...@@ -4477,12 +4477,10 @@ static int ip6_route_multipath_add(struct fib6_config *cfg,
nla = nla_find(attrs, attrlen, RTA_GATEWAY); nla = nla_find(attrs, attrlen, RTA_GATEWAY);
if (nla) { if (nla) {
int ret; err = fib6_gw_from_attr(&r_cfg.fc_gateway, nla,
ret = fib6_gw_from_attr(&r_cfg.fc_gateway, nla,
extack); extack);
if (ret) if (err)
return ret; goto cleanup;
r_cfg.fc_flags |= RTF_GATEWAY; r_cfg.fc_flags |= RTF_GATEWAY;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册