[ammarfaizi2-block:herbert/cryptodev-2.6/master 137/137] include/linux/cacheflush.h:12:46: warning: 'struct folio' declared inside parameter list will not be visible outside of this definition or declaration

From: kernel test robot
Date: Mon Mar 14 2022 - 03:26:21 EST


tree: https://github.com/ammarfaizi2/linux-block herbert/cryptodev-2.6/master
head: 0e03b8fd29363f2df44e2a7a176d486de550757a
commit: 0e03b8fd29363f2df44e2a7a176d486de550757a [137/137] crypto: xilinx - Turn SHA into a tristate and allow COMPILE_TEST
config: h8300-allmodconfig (https://download.01.org/0day-ci/archive/20220314/202203141545.snRTl9jH-lkp@xxxxxxxxx/config)
compiler: h8300-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/ammarfaizi2/linux-block/commit/0e03b8fd29363f2df44e2a7a176d486de550757a
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block herbert/cryptodev-2.6/master
git checkout 0e03b8fd29363f2df44e2a7a176d486de550757a
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=h8300 SHELL=/bin/bash drivers/crypto/xilinx/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

In file included from drivers/crypto/xilinx/zynqmp-sha.c:6:
>> include/linux/cacheflush.h:12:46: warning: 'struct folio' declared inside parameter list will not be visible outside of this definition or declaration
12 | static inline void flush_dcache_folio(struct folio *folio)
| ^~~~~
In file included from include/asm-generic/percpu.h:5,
from ./arch/h8300/include/generated/asm/percpu.h:1,
from include/linux/irqflags.h:17,
from include/asm-generic/cmpxchg.h:15,
from ./arch/h8300/include/generated/asm/cmpxchg.h:1,
from include/asm-generic/atomic.h:12,
from ./arch/h8300/include/generated/asm/atomic.h:1,
from include/linux/atomic.h:7,
from include/linux/crypto.h:15,
from include/crypto/hash.h:11,
from drivers/crypto/xilinx/zynqmp-sha.c:7:
include/linux/scatterlist.h: In function 'sg_set_buf':
include/asm-generic/page.h:89:51: warning: ordered comparison of pointer with null pointer [-Wextra]
89 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
| ^~
include/linux/compiler.h:78:45: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:160:9: note: in expansion of macro 'BUG_ON'
160 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:160:17: note: in expansion of macro 'virt_addr_valid'
160 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~


vim +12 include/linux/cacheflush.h

522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 6)
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 7) #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 8) #ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 9) void flush_dcache_folio(struct folio *folio);
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 10) #endif
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 11) #else
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 @12) static inline void flush_dcache_folio(struct folio *folio)
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 13) {
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 14) }
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 15) #define ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO 0
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 16) #endif /* ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE */
522a0032af0055 Matthew Wilcox (Oracle 2021-11-06 17)

:::::: The code at line 12 was first introduced by commit
:::::: 522a0032af005502507f5f81ae64fdcc82b5d068 Add linux/cacheflush.h

:::::: TO: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
:::::: CC: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx