From 1e6c751db7d6b63737f12486b89241c701aa76cc Mon Sep 17 00:00:00 2001 From: Shunchao Hu Date: Sat, 4 Apr 2026 08:48:25 +0800 Subject: [PATCH] net/nat: Unlock on outbound NAT entry creation failure. Release nat_lock before returning -ENOENT from the IPv4 and IPv6 outbound NAT paths when NAT entry creation fails. Signed-off-by: Shunchao Hu --- net/nat/ipv4_nat.c | 1 + net/nat/ipv6_nat.c | 1 + 2 files changed, 2 insertions(+) diff --git a/net/nat/ipv4_nat.c b/net/nat/ipv4_nat.c index ffb71d442be..51145362bf0 100644 --- a/net/nat/ipv4_nat.c +++ b/net/nat/ipv4_nat.c @@ -795,6 +795,7 @@ int ipv4_nat_outbound(FAR struct net_driver_s *dev, { /* Outbound entry creation failed, should have entry. */ + nat_unlock(); return -ENOENT; } } diff --git a/net/nat/ipv6_nat.c b/net/nat/ipv6_nat.c index 8348dbe7d6d..19854008a24 100644 --- a/net/nat/ipv6_nat.c +++ b/net/nat/ipv6_nat.c @@ -683,6 +683,7 @@ int ipv6_nat_outbound(FAR struct net_driver_s *dev, { /* Outbound entry creation failed, should have entry. */ + nat_unlock(); return -ENOENT; } }