From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202602 header.b=O+uQ0HNE; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 0BC065A0623 for ; Tue, 12 May 2026 07:53:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202602; t=1778565179; bh=mIgwFsM411iwXZOzxPSJqXBZ1EmzwpaEMVA3vo5md60=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=O+uQ0HNEoEomHwADG8dXt70olKdwyB4Mrp1WuTnsJbRDnV7KIPPc9BHsw1/AKCtCV Df/VJOACWAiYG5CV4ORR34FvnimgGkXm3Bswf5o7+QLGD0YM3uu/PqA4vontEmFwrr KN/anAf84ZpU3NATD9we4CUp7smUpa0J2brLlW9Yuk86liIuRYm2Q1EePInaD750Fy iVZHYhNDJQdg5SV0vKifiWwJbxs/Nw9aOtnwMTUhAdDWAfL5kjEnSaXzMzDpoBu8ad eBET6Pw++NhGNTuQD3rfRrn7vii2y7PhPKux//J9fvjSVeGsPAp1ry+Drif5iq0ZwO oBXM/bpDlWNyQ== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4gF5NW2MBHz4wTb; Tue, 12 May 2026 15:52:59 +1000 (AEST) From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH v3 12/12] pesto: Run static checkers on pesto sources Date: Tue, 12 May 2026 15:52:56 +1000 Message-ID: <20260512055256.1800449-13-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512055256.1800449-1-david@gibson.dropbear.id.au> References: <20260512055256.1800449-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: ABWHZ7OVLWCP7LTX3W4HCZZ3CZY4CZP7 X-Message-ID-Hash: ABWHZ7OVLWCP7LTX3W4HCZZ3CZY4CZP7 X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Update the Makefile to run both clang-tidy and cppcheck on pesto as well as on passt and passt-repair. This requires a couple of secondary corrections: * pesto.c had an inline suppression that is no longer correct now that the protocol version has been bumped to 1. Remove it. * We were globally suppressing the unusedStructMember because it hit many false positives on both passt and passt-repair. It doesn't in pesto, meaning it instead creates an unusedSuppression warning. Apply the suppression as a flag override for passt and passt-repair, instead of globally. Signed-off-by: David Gibson --- Makefile | 19 ++++++++++++++++--- pesto.c | 1 - 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 5027d587..7939bd79 100644 --- a/Makefile +++ b/Makefile @@ -193,7 +193,7 @@ docs: README.md CLANG_TIDY = clang-tidy CLANG_TIDY_FLAGS = -DCLANG_TIDY_58992 -clang-tidy: passt.clang-tidy passt-repair.clang-tidy +clang-tidy: passt.clang-tidy passt-repair.clang-tidy pesto.clang-tidy .PHONY: %.clang-tidy %.clang-tidy: @@ -201,6 +201,7 @@ clang-tidy: passt.clang-tidy passt-repair.clang-tidy passt.clang-tidy: $(PASST_SRCS) $(PASST_HEADERS) seccomp.h passt-repair.clang-tidy: $(PASST_REPAIR_SRCS) $(PASST_REPAIR_HEADERS) seccomp_repair.h +pesto.clang-tidy: $(PESTO_SRCS) $(PESTO_HEADERS) seccomp_pesto.h CPPCHECK = cppcheck CPPCHECK_FLAGS = --std=c11 --error-exitcode=1 --enable=all --force \ @@ -212,14 +213,26 @@ CPPCHECK_FLAGS = --std=c11 --error-exitcode=1 --enable=all --force \ echo ""; \ fi) \ --suppress=missingIncludeSystem \ - --suppress=unusedStructMember \ -D CPPCHECK_6936 -cppcheck: passt.cppcheck passt-repair.cppcheck +cppcheck: passt.cppcheck passt-repair.cppcheck pesto.cppcheck .PHONY: %.cppcheck %.cppcheck: $(CPPCHECK) $(CPPCHECK_FLAGS) $(BASE_CPPFLAGS) $^ +passt.cppcheck: BASE_CPPFLAGS += -UPESTO +passt.cppcheck: CPPCHECK_FLAGS += --suppress=unusedStructMember passt.cppcheck: $(PASST_SRCS) $(PASST_HEADERS) seccomp.h + +passt-repair.cppcheck: CPPCHECK_FLAGS += --suppress=unusedStructMember passt-repair.cppcheck: $(PASST_REPAIR_SRCS) $(PASST_REPAIR_HEADERS) seccomp_repair.h + +pesto.cppcheck: BASE_CPPFLAGS += -DPESTO +pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:bitmap.c +pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:inany.h +pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:inany.c +pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:ip.h +pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:serialise.c +pesto.cppcheck: CPPCHECK_FLAGS += --suppress=staticFunction:fwd_rule.c +pesto.cppcheck: $(PESTO_SRCS) $(PESTO_HEADERS) seccomp_pesto.h diff --git a/pesto.c b/pesto.c index f4d752bb..eeaf274d 100644 --- a/pesto.c +++ b/pesto.c @@ -410,7 +410,6 @@ int main(int argc, char **argv) s_version, PESTO_PROTOCOL_VERSION); } - /* cppcheck-suppress knownConditionTrueFalse */ if (!s_version) { if (PESTO_PROTOCOL_VERSION) die("Unsupported experimental server protocol"); -- 2.54.0