[PATCH] pipeline: fix build with sanitizers or debug options

David Marchand david.marchand at redhat.com
Fri Mar 20 14:33:09 CET 2026


Similar to commit 84f5ac9418ea ("pipeline: fix build with ASan").

Here we are again. Depending on options (like debug, or ASan, or UBSan),
compilation can fail because of dumb construct like CHECK(0, XXX).
Dumb, because such an expression macro expands as: if (0) return -XXX;

../lib/pipeline/rte_swx_pipeline.c: In function ‘instr_movh_translate’:
../lib/pipeline/rte_swx_pipeline.c:3461:1: error: control reaches end of
	non-void function [-Werror=return-type]
 3461 | }
      | ^

Remove any such call when at the end of functions, using a regexp:
%s/CHECK(0, \(.*\))\(;\n}\)/return -\1\2/

Cc: stable at dpdk.org

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 lib/pipeline/rte_swx_pipeline.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/pipeline/rte_swx_pipeline.c b/lib/pipeline/rte_swx_pipeline.c
index a9157815e4..8ceb1fe88d 100644
--- a/lib/pipeline/rte_swx_pipeline.c
+++ b/lib/pipeline/rte_swx_pipeline.c
@@ -2524,7 +2524,7 @@ instr_table_translate(struct rte_swx_pipeline *p,
 		return 0;
 	}
 
-	CHECK(0, EINVAL);
+	return -EINVAL;
 }
 
 static inline void
@@ -3049,7 +3049,7 @@ instr_extern_translate(struct rte_swx_pipeline *p,
 		return 0;
 	}
 
-	CHECK(0, EINVAL);
+	return -EINVAL;
 }
 
 static inline void
@@ -3457,7 +3457,7 @@ instr_movh_translate(struct rte_swx_pipeline *p,
 		return 0;
 	}
 
-	CHECK(0, EINVAL);
+	return -EINVAL;
 }
 
 static inline void
-- 
2.53.0



More information about the dev mailing list