From 8afa5d3ccd06df80212ce2ea23b6482287d9481b Mon Sep 17 00:00:00 2001 From: Nathan Skrzypczak Date: Fri, 4 Jun 2021 11:17:40 +0200 Subject: [PATCH] cnat: fix spinlock Type: fix Change-Id: Id6406702061ada54e51ebcf5c367328605de2b6b Signed-off-by: Nathan Skrzypczak --- src/plugins/cnat/cnat_src_policy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/cnat/cnat_src_policy.c b/src/plugins/cnat/cnat_src_policy.c index e11e912ab15..cac24b7742c 100644 --- a/src/plugins/cnat/cnat_src_policy.c +++ b/src/plugins/cnat/cnat_src_policy.c @@ -122,7 +122,10 @@ cnat_allocate_port (u16 * port, ip_protocol_t iproto) if (PREDICT_FALSE (*port >= UINT16_MAX)) *port = clib_bitmap_next_clear (ca->bmap, MIN_SRC_PORT); if (PREDICT_FALSE (*port >= UINT16_MAX)) - return -1; + { + clib_spinlock_unlock (&ca->lock); + return -1; + } } clib_bitmap_set_no_check (ca->bmap, *port, 1); *port = clib_host_to_net_u16 (*port); -- 2.16.6