]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bpf: suppress false-positive clang-tidy/clangd diagnostics under src/bpf
authorDaan De Meyer <daan@amutable.com>
Tue, 21 Apr 2026 20:31:34 +0000 (20:31 +0000)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 22 Apr 2026 14:49:36 +0000 (16:49 +0200)
clang-tidy's misc-use-internal-linkage fires on BPF map declarations
(they have the SEC(".maps") attribute and must retain external linkage
so bpftool gen skeleton can resolve them as ELF symbols), and its
misc-include-cleaner flags errno.h as unused even where a /* IWYU
pragma: keep */ is present. clangd's own unused-includes analysis
emits the equivalent diagnostic independently of clang-tidy.

Add src/bpf/.clang-tidy and src/bpf/.clangd that inherit the parent
configs and scope these suppressions to BPF sources only.

src/bpf/.clang-tidy [new file with mode: 0644]
src/bpf/.clangd [new file with mode: 0644]

diff --git a/src/bpf/.clang-tidy b/src/bpf/.clang-tidy
new file mode 100644 (file)
index 0000000..43b0c59
--- /dev/null
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+---
+InheritParentConfig: true
+Checks: '-misc-use-internal-linkage'
+CheckOptions:
+  misc-include-cleaner.IgnoreHeaders: 'errno\.h'
+...
diff --git a/src/bpf/.clangd b/src/bpf/.clangd
new file mode 100644 (file)
index 0000000..ec2f818
--- /dev/null
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+Diagnostics:
+  Includes:
+    IgnoreHeader: [errno\.h]