Skip to contentSkip to conversation

ipv6: Do cleanup if attribute validation fails in multipath route

PATCH Applied David Ahern 3 participants 3 messages Jan 3, 2022

Subsystems (3)
lore
Share & tools
lore

David Ahern

author maintainer
#0 lore raw

PATCH 1/1 ipv6: Do cleanup if attribute validation fails in multipath route

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

Fixes 23fb261977fd ("ipv6: Check attribute length for RTA_GATEWAY in multipath route")
Cc Nicolas Dichtel <[email protected]>
---
 net/ipv6/route.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
net/ipv6/route.c +3 -5
index d2ff8a7e1709..3f36f9603f00 100644
@@ -5277,12 +5277,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;
 			}
Signature · 1 line
2.24.3 (Apple Git-128)
#2 lore raw
In reply to David Ahern
This patch was applied to netdev/net.git (master) by Jakub Kicinski <[email protected]>:

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:

Quoted 9 lines · On Mon, 3 Jan 2022 10:05:55 -0700 you wrote:

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

Fixes 23fb261977fd ("ipv6: Check attribute length for RTA_GATEWAY in multipath route")
Cc Nicolas Dichtel <[email protected]>

[...]

Here is the summary with links:
- [net] ipv6: Do cleanup if attribute validation fails in multipath route

    https://git.kernel.org/netdev/net/c/95bdba23b5b4

You are awesome, thank you!

Signature · 2 lines
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html