On Mon, Feb 23, 2026 at 12:35 PM Stefano Brivio <sbrivio@redhat.com> wrote:
By the way, we already run clang-tidy tests ('make clang-tidy') as part
of our tests (test/build/static_checkers.sh).

Would it be just a matter of enabling the misc-include-cleaner in the
list of tests we give clang-tidy from the Makefile:

  https://clang.llvm.org/extra/clang-tidy/checks/misc/include-cleaner.html

? I haven't tried.

It appears so, a local change to pass -checks=misc-include-cleaner to clang-tidy resulted in a ton of errors like:
/usr/local/google/home/pefoley/passt/vu_common.c:277:2: error: no header providing "iov_from_buf" is directly included [misc-include-cleaner,-warnings-as-errors]
  277 |         iov_from_buf(in_sg, elem_cnt, VNET_HLEN, buf, total);
      |         ^
/usr/local/google/home/pefoley/passt/vu_common.c:301:15: error: no header providing "ETH_ZLEN" is directly included [misc-include-cleaner,-warnings-as-errors]
    9 |         if (l2len >= ETH_ZLEN)
      |                      ^
/usr/local/google/home/pefoley/passt/vu_common.c:304:2: error: no header providing "memset" is directly included [misc-include-cleaner,-warnings-as-errors]
    9 |         memset((char *)iov->iov_base + iov->iov_len, 0, ETH_ZLEN - l2len);
 

> If you want, I can fold the two "include fixing" commits together and
> re-send.

Yes, thanks, that would be appreciated. I would first try to settle on
a convenient way to keep Blaze/Bazel happy for the future, though.

As I mentioned earlies, Bazel appears to be happy withough the include fixes, it's just Google's internal Blaze varient that has some kind of stricter checking that falls over.
I can send the change out for supporting the Bazel build, but I think using misc-include-cleaner would be a better plan.
 

--
Stefano