On Tue, 18 Feb 2020 21:54:17 -0700 Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > Hi everyone, > > This patch series aims to silence some instances of clang's > -Wtautological-compare that are not problematic and enable it globally > for the kernel because it has a bunch of subwarnings that can find real > bugs in the kernel such as > https://lore.kernel.org/lkml/20200116222658.5285-1-natechancellor@xxxxxxxxx/ > and https://bugs.llvm.org/show_bug.cgi?id=42666, which was specifically > requested by Dmitry. > > The first patch adds a macro that casts the section variables to > unsigned long (uintptr_t), which silences the warning and adds > documentation. > > Patches two through four silence the warning in the places I have > noticed it across all of my builds with -Werror, including arm, arm64, > and x86_64 defconfig/allmodconfig/allyesconfig. There might still be > more lurking but those will have to be teased out over time. > > Patch six finally enables the warning, while leaving one of the > subwarnings disabled because it is rather noisy and somewhat pointless > for the kernel, where core kernel code is expected to build and run with > many different configurations where variable types can be different > sizes. > For some reason none of these patches apply. Not sure why - prehaps something in the diff headers. Anyway, the kmemleak.c code has recently changed in ways which impact these patches. Please take a look at that, redo, retest and resend?