Re: [paulmck-rcu:dev.2021.12.02a 31/43] include/asm-generic/barrier.h:70:30: warning: 'kcsan_rmb' is static but used in inline function 'pte_offset_kernel' which is not static

From: Marco Elver
Date: Sat Dec 04 2021 - 08:02:52 EST


On Sat, 4 Dec 2021 at 06:33, kernel test robot <lkp@xxxxxxxxx> wrote:
[...]
> >> include/asm-generic/barrier.h:70:30: warning: 'kcsan_rmb' is static but used in inline function 'pte_offset_kernel' which is not static
> 70 | #define smp_rmb() do { kcsan_rmb(); __smp_rmb(); } while (0)
> | ^~~~~~~~~
> arch/alpha/include/asm/pgtable.h:303:9: note: in expansion of macro 'smp_rmb'
> 303 | smp_rmb(); /* see above */
> | ^~~~~~~
> >> include/asm-generic/barrier.h:70:30: warning: 'kcsan_rmb' is static but used in inline function 'pmd_offset' which is not static
> 70 | #define smp_rmb() do { kcsan_rmb(); __smp_rmb(); } while (0)
> | ^~~~~~~~~
> arch/alpha/include/asm/pgtable.h:293:9: note: in expansion of macro 'smp_rmb'
> 293 | smp_rmb(); /* see above */
> | ^~~~~~~

I had been wondering if barriers could be static __always_inline, like
we do for atomic_t operations. Apparently this answers that questions.

This should fix it:
https://lkml.kernel.org/r/20211204125703.3344454-1-elver@xxxxxxxxxx

Unrelatedly, I wonder if I can get the test robot to also check some
of my branches:
https://git.kernel.org/pub/scm/linux/kernel/git/melver/linux.git/
That'd be very useful, to catch things like this early, and avoid
disturbing Paul too much. :-)

Thanks,
-- Marco