Re: [PATCH v14 031/138] fs/netfs: Add folio fscache functions
by kernel test robot
Hi "Matthew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.14-rc1 next-20210715]
[cannot apply to hnaz-linux-mm/master xfs-linux/for-next tip/perf/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Memory-fol...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8096acd7442e613fad0354fc8dfdb2003cceea0b
config: nios2-defconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 10.3.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/0day-ci/linux/commit/8e4044529261dffc386ab56b6d90e8511...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Memory-folios/20210715-133101
git checkout 8e4044529261dffc386ab56b6d90e8511c820605
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/fscache.h:22,
from fs/nfs/fscache.h:14,
from fs/nfs/client.c:48:
include/linux/netfs.h: In function 'folio_start_fscache':
>> include/linux/netfs.h:43:2: error: implicit declaration of function 'folio_set_private_2_flag'; did you mean 'folio_set_private_2'? [-Werror=implicit-function-declaration]
43 | folio_set_private_2_flag(folio);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| folio_set_private_2
cc1: some warnings being treated as errors
vim +43 include/linux/netfs.h
31
32 /**
33 * folio_start_fscache - Start an fscache write on a folio.
34 * @folio: The folio.
35 *
36 * Call this function before writing a folio to a local cache. Starting a
37 * second write before the first one finishes is not allowed.
38 */
39 static inline void folio_start_fscache(struct folio *folio)
40 {
41 VM_BUG_ON_FOLIO(folio_test_private_2(folio), folio);
42 folio_get(folio);
> 43 folio_set_private_2_flag(folio);
44 }
45
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[chanwoo:devfreq-testing 4/4] drivers/devfreq/governor_passive.c:350:3: warning: this 'if' clause does not guard...
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git devfreq-testing
head: 52c939f2c35e2e9108daef8da5dda2c9eca80532
commit: 52c939f2c35e2e9108daef8da5dda2c9eca80532 [4/4] PM / devfreq: passive: Update frequency when start governor
config: m68k-buildonly-randconfig-r006-20210714 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git/commit/...
git remote add chanwoo https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
git fetch --no-tags chanwoo devfreq-testing
git checkout 52c939f2c35e2e9108daef8da5dda2c9eca80532
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/devfreq/governor_passive.c: In function 'devfreq_passive_event_handler':
>> drivers/devfreq/governor_passive.c:350:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
350 | if (parent->previous_freq)
| ^~
drivers/devfreq/governor_passive.c:352:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
352 | ret = devfreq_update_target(devfreq, parent->previous_freq);
| ^~~
vim +/if +350 drivers/devfreq/governor_passive.c
322
323 static int devfreq_passive_event_handler(struct devfreq *devfreq,
324 unsigned int event, void *data)
325 {
326 struct devfreq_passive_data *p_data
327 = (struct devfreq_passive_data *)devfreq->data;
328 struct devfreq *parent = (struct devfreq *)p_data->parent;
329 struct notifier_block *nb = &p_data->nb;
330 int ret = 0;
331
332 if (p_data->parent_type == DEVFREQ_PARENT_DEV && !parent)
333 return -EPROBE_DEFER;
334
335 switch (event) {
336 case DEVFREQ_GOV_START:
337 if (!p_data->this)
338 p_data->this = devfreq;
339
340 /*
341 * If the parent device changes the their frequency before
342 * registering the passive device, the passive device cannot
343 * receive the notification from parent device and then the
344 * passive device cannot be able to set the proper frequency
345 * according to the frequency of parent device.
346 *
347 * When start the passive governor, update the frequency
348 * according to the frequency of parent device.
349 */
> 350 if (parent->previous_freq)
351 mutex_lock(&devfreq->lock);
352 ret = devfreq_update_target(devfreq, parent->previous_freq);
353 if (ret < 0) {
354 dev_warn(&devfreq->dev,
355 "failed to update devfreq using passive governor\n");
356 mutex_unlock(&devfreq->lock);
357 }
358
359 if (p_data->parent_type == DEVFREQ_PARENT_DEV) {
360 nb->notifier_call = devfreq_passive_notifier_call;
361 ret = devfreq_register_notifier(parent, nb,
362 DEVFREQ_TRANSITION_NOTIFIER);
363 } else if (p_data->parent_type == CPUFREQ_PARENT_DEV) {
364 ret = cpufreq_passive_register_notifier(devfreq);
365 } else {
366 ret = -EINVAL;
367 }
368 break;
369 case DEVFREQ_GOV_STOP:
370 if (p_data->parent_type == DEVFREQ_PARENT_DEV)
371 WARN_ON(devfreq_unregister_notifier(parent, nb,
372 DEVFREQ_TRANSITION_NOTIFIER));
373 else if (p_data->parent_type == CPUFREQ_PARENT_DEV)
374 WARN_ON(cpufreq_passive_unregister_notifier(devfreq));
375 else
376 ret = -EINVAL;
377 break;
378 default:
379 break;
380 }
381
382 return ret;
383 }
384
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[chanwoo:devfreq-testing 4/4] drivers/devfreq/governor_passive.c:352:4: warning: misleading indentation; statement is not part of the previous 'if'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git devfreq-testing
head: 52c939f2c35e2e9108daef8da5dda2c9eca80532
commit: 52c939f2c35e2e9108daef8da5dda2c9eca80532 [4/4] PM / devfreq: passive: Update frequency when start governor
config: x86_64-randconfig-r031-20210715 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 0e49c54a8cbd3e779e5526a5888c683c01cc3c50)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git/commit/...
git remote add chanwoo https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
git fetch --no-tags chanwoo devfreq-testing
git checkout 52c939f2c35e2e9108daef8da5dda2c9eca80532
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/devfreq/governor_passive.c:352:4: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
ret = devfreq_update_target(devfreq, parent->previous_freq);
^
drivers/devfreq/governor_passive.c:350:3: note: previous statement is here
if (parent->previous_freq)
^
1 warning generated.
vim +/if +352 drivers/devfreq/governor_passive.c
322
323 static int devfreq_passive_event_handler(struct devfreq *devfreq,
324 unsigned int event, void *data)
325 {
326 struct devfreq_passive_data *p_data
327 = (struct devfreq_passive_data *)devfreq->data;
328 struct devfreq *parent = (struct devfreq *)p_data->parent;
329 struct notifier_block *nb = &p_data->nb;
330 int ret = 0;
331
332 if (p_data->parent_type == DEVFREQ_PARENT_DEV && !parent)
333 return -EPROBE_DEFER;
334
335 switch (event) {
336 case DEVFREQ_GOV_START:
337 if (!p_data->this)
338 p_data->this = devfreq;
339
340 /*
341 * If the parent device changes the their frequency before
342 * registering the passive device, the passive device cannot
343 * receive the notification from parent device and then the
344 * passive device cannot be able to set the proper frequency
345 * according to the frequency of parent device.
346 *
347 * When start the passive governor, update the frequency
348 * according to the frequency of parent device.
349 */
350 if (parent->previous_freq)
351 mutex_lock(&devfreq->lock);
> 352 ret = devfreq_update_target(devfreq, parent->previous_freq);
353 if (ret < 0) {
354 dev_warn(&devfreq->dev,
355 "failed to update devfreq using passive governor\n");
356 mutex_unlock(&devfreq->lock);
357 }
358
359 if (p_data->parent_type == DEVFREQ_PARENT_DEV) {
360 nb->notifier_call = devfreq_passive_notifier_call;
361 ret = devfreq_register_notifier(parent, nb,
362 DEVFREQ_TRANSITION_NOTIFIER);
363 } else if (p_data->parent_type == CPUFREQ_PARENT_DEV) {
364 ret = cpufreq_passive_register_notifier(devfreq);
365 } else {
366 ret = -EINVAL;
367 }
368 break;
369 case DEVFREQ_GOV_STOP:
370 if (p_data->parent_type == DEVFREQ_PARENT_DEV)
371 WARN_ON(devfreq_unregister_notifier(parent, nb,
372 DEVFREQ_TRANSITION_NOTIFIER));
373 else if (p_data->parent_type == CPUFREQ_PARENT_DEV)
374 WARN_ON(cpufreq_passive_unregister_notifier(devfreq));
375 else
376 ret = -EINVAL;
377 break;
378 default:
379 break;
380 }
381
382 return ret;
383 }
384
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[gustavoars-linux:for-next/Warray-bounds 1/1] arch/arm/kernel/atags_compat.c:200:2: warning: 'strcpy' offset 364 from the object at 'tags' is out of the bounds of referenced subobject 'cmdline' with type 'char[1]' at offset 364
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/Warray-bounds
head: 0d6455c92b82b36e29e5206a46329058d75fbc33
commit: 0d6455c92b82b36e29e5206a46329058d75fbc33 [1/1] Makefile: Enable -Warray-bounds
config: arm-randconfig-r035-20210715 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 10.3.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://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/comm...
git remote add gustavoars-linux https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git
git fetch --no-tags gustavoars-linux for-next/Warray-bounds
git checkout 0d6455c92b82b36e29e5206a46329058d75fbc33
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In function 'build_tag_list',
inlined from 'convert_to_tag_list' at arch/arm/kernel/atags_compat.c:213:2:
>> arch/arm/kernel/atags_compat.c:200:2: warning: 'strcpy' offset 364 from the object at 'tags' is out of the bounds of referenced subobject 'cmdline' with type 'char[1]' at offset 364 [-Warray-bounds]
200 | strcpy(tag->u.cmdline.cmdline, params->commandline);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/arm/include/asm/setup.h:14,
from arch/arm/kernel/atags_compat.c:20:
arch/arm/kernel/atags_compat.c: In function 'convert_to_tag_list':
arch/arm/include/uapi/asm/setup.h:127:7: note: subobject 'cmdline' declared here
127 | char cmdline[1]; /* this is the minimum size */
| ^~~~~~~
vim +200 arch/arm/kernel/atags_compat.c
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 195
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 196 tag = tag_next(tag);
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 197 tag->hdr.tag = ATAG_CMDLINE;
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 198 tag->hdr.size = (strlen(params->commandline) + 3 +
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 199 sizeof(struct tag_header)) >> 2;
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 @200 strcpy(tag->u.cmdline.cmdline, params->commandline);
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 201
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 202 tag = tag_next(tag);
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 203 tag->hdr.tag = ATAG_NONE;
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 204 tag->hdr.size = 0;
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 205
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 206 memmove(params, taglist, ((int)tag) - ((int)taglist) +
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 207 sizeof(struct tag_header));
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 208 }
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 209
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 210 void __init convert_to_tag_list(struct tag *tags)
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 211 {
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 212 struct param_struct *params = (struct param_struct *)tags;
^1da177e4c3f41 arch/arm/kernel/compat.c Linus Torvalds 2005-04-16 @213 build_tag_list(params, ¶ms->u2);
:::::: The code at line 200 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH v14 031/138] fs/netfs: Add folio fscache functions
by kernel test robot
Hi "Matthew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.14-rc1 next-20210715]
[cannot apply to hnaz-linux-mm/master xfs-linux/for-next tip/perf/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Memory-fol...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8096acd7442e613fad0354fc8dfdb2003cceea0b
config: powerpc-randconfig-r033-20210715 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 0e49c54a8cbd3e779e5526a5888c683c01cc3c50)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://github.com/0day-ci/linux/commit/8e4044529261dffc386ab56b6d90e8511...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Memory-folios/20210715-133101
git checkout 8e4044529261dffc386ab56b6d90e8511c820605
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:16:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/netfs/read_helper.c:12:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:20:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/netfs/read_helper.c:12:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:24:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/netfs/read_helper.c:12:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:28:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/netfs/read_helper.c:12:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:32:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/netfs/read_helper.c:17:
>> include/linux/netfs.h:43:2: error: implicit declaration of function 'folio_set_private_2_flag' [-Werror,-Wimplicit-function-declaration]
folio_set_private_2_flag(folio);
^
include/linux/netfs.h:43:2: note: did you mean 'folio_set_private_2'?
include/linux/page-flags.h:445:1: note: 'folio_set_private_2' declared here
PAGEFLAG(Private2, private_2, PF_ANY) TESTSCFLAG(Private2, private_2, PF_ANY)
^
include/linux/page-flags.h:362:2: note: expanded from macro 'PAGEFLAG'
SETPAGEFLAG(uname, lname, policy) \
^
include/linux/page-flags.h:320:6: note: expanded from macro 'SETPAGEFLAG'
void folio_set_##lname(struct folio *folio) \
^
<scratch space>:70:1: note: expanded from here
folio_set_private_2
^
12 warnings and 1 error generated.
vim +/folio_set_private_2_flag +43 include/linux/netfs.h
31
32 /**
33 * folio_start_fscache - Start an fscache write on a folio.
34 * @folio: The folio.
35 *
36 * Call this function before writing a folio to a local cache. Starting a
37 * second write before the first one finishes is not allowed.
38 */
39 static inline void folio_start_fscache(struct folio *folio)
40 {
41 VM_BUG_ON_FOLIO(folio_test_private_2(folio), folio);
42 folio_get(folio);
> 43 folio_set_private_2_flag(folio);
44 }
45
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH rfc v5 2/4] page_pool: add interface to manipulate frag count in page pool
by kernel test robot
Hi Yunsheng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on net/master linus/master v5.14-rc1 next-20210715]
[cannot apply to sparc-next/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Yunsheng-Lin/add-frag-page-suppo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 5e437416ff66981d8154687cfdf7de50b1d82bfc
config: m68k-buildonly-randconfig-r006-20210714 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/247943d70c2069ca3fa3a272f3eb26b46...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yunsheng-Lin/add-frag-page-support-in-page-pool/20210714-173612
git checkout 247943d70c2069ca3fa3a272f3eb26b463e17f4d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/skbuff.h:40,
from include/net/net_namespace.h:39,
from include/linux/netdevice.h:37,
from drivers/net/ethernet/wiznet/w5100.c:11:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/filter.h:13,
from kernel/bpf/core.c:21:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
kernel/bpf/core.c: At top level:
kernel/bpf/core.c:1356:12: warning: no previous prototype for 'bpf_probe_read_kernel' [-Wmissing-prototypes]
1356 | u64 __weak bpf_probe_read_kernel(void *dst, u32 size, const void *unsafe_ptr)
| ^~~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/filter.h:13,
from include/linux/bpf_verifier.h:9,
from kernel/bpf/verifier.c:12:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
In file included from include/linux/bpf_verifier.h:9,
from kernel/bpf/verifier.c:12:
kernel/bpf/verifier.c: In function 'jit_subprogs':
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'unsigned int (*)(const void *, const struct bpf_insn *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12209:16: note: in expansion of macro 'BPF_CAST_CALL'
12209 | insn->imm = BPF_CAST_CALL(func[subprog]->bpf_func) -
| ^~~~~~~~~~~~~
kernel/bpf/verifier.c: In function 'do_misc_fixups':
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'void * (* const)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12648:17: note: in expansion of macro 'BPF_CAST_CALL'
12648 | insn->imm = BPF_CAST_CALL(ops->map_lookup_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *, void *, u64)' {aka 'int (* const)(struct bpf_map *, void *, void *, long long unsigned int)'} to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12652:17: note: in expansion of macro 'BPF_CAST_CALL'
12652 | insn->imm = BPF_CAST_CALL(ops->map_update_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12656:17: note: in expansion of macro 'BPF_CAST_CALL'
12656 | insn->imm = BPF_CAST_CALL(ops->map_delete_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *, u64)' {aka 'int (* const)(struct bpf_map *, void *, long long unsigned int)'} to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12660:17: note: in expansion of macro 'BPF_CAST_CALL'
12660 | insn->imm = BPF_CAST_CALL(ops->map_push_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12664:17: note: in expansion of macro 'BPF_CAST_CALL'
12664 | insn->imm = BPF_CAST_CALL(ops->map_pop_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12668:17: note: in expansion of macro 'BPF_CAST_CALL'
12668 | insn->imm = BPF_CAST_CALL(ops->map_peek_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, u32, u64)' {aka 'int (* const)(struct bpf_map *, unsigned int, long long unsigned int)'} to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:12672:17: note: in expansion of macro 'BPF_CAST_CALL'
12672 | insn->imm = BPF_CAST_CALL(ops->map_redirect) -
| ^~~~~~~~~~~~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/filter.h:13,
from kernel/bpf/hashtab.c:8:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
In file included from kernel/bpf/hashtab.c:8:
kernel/bpf/hashtab.c: In function 'htab_map_gen_lookup':
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
include/linux/filter.h:371:14: note: in definition of macro 'BPF_EMIT_CALL'
371 | .imm = ((FUNC) - __bpf_call_base) })
| ^~~~
kernel/bpf/hashtab.c:641:26: note: in expansion of macro 'BPF_CAST_CALL'
641 | *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem));
| ^~~~~~~~~~~~~
kernel/bpf/hashtab.c: In function 'htab_lru_map_gen_lookup':
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
include/linux/filter.h:371:14: note: in definition of macro 'BPF_EMIT_CALL'
371 | .imm = ((FUNC) - __bpf_call_base) })
| ^~~~
kernel/bpf/hashtab.c:682:26: note: in expansion of macro 'BPF_CAST_CALL'
682 | *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem));
| ^~~~~~~~~~~~~
kernel/bpf/hashtab.c: In function 'htab_of_map_gen_lookup':
include/linux/filter.h:363:4: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} [-Wcast-function-type]
363 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
include/linux/filter.h:371:14: note: in definition of macro 'BPF_EMIT_CALL'
371 | .imm = ((FUNC) - __bpf_call_base) })
| ^~~~
kernel/bpf/hashtab.c:2319:26: note: in expansion of macro 'BPF_CAST_CALL'
2319 | *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem));
| ^~~~~~~~~~~~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/filter.h:13,
from include/linux/bpf_verifier.h:9,
from kernel/bpf/btf.c:19:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
kernel/bpf/btf.c: In function 'btf_seq_show':
kernel/bpf/btf.c:5694:22: warning: function 'btf_seq_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
5694 | seq_vprintf((struct seq_file *)show->target, fmt, args);
| ^~~~~~~~
kernel/bpf/btf.c: In function 'btf_snprintf_show':
kernel/bpf/btf.c:5731:2: warning: function 'btf_snprintf_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
5731 | len = vsnprintf(show->target, ssnprintf->len_left, fmt, args);
| ^~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/if_ether.h:19,
from include/uapi/linux/ethtool.h:19,
from include/linux/ethtool.h:18,
from include/linux/phy.h:16,
from include/linux/fec.h:14,
from arch/m68k/coldfire/device.c:16:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
arch/m68k/coldfire/device.c: At top level:
arch/m68k/coldfire/device.c:512:13: error: 'MCFEDMA_BASE' undeclared here (not in a function); did you mean 'MCFQSPI_BASE'?
512 | .start = MCFEDMA_BASE,
| ^~~~~~~~~~~~
| MCFQSPI_BASE
arch/m68k/coldfire/device.c:513:26: error: 'MCFEDMA_SIZE' undeclared here (not in a function); did you mean 'MCFQSPI_SIZE'?
513 | .end = MCFEDMA_BASE + MCFEDMA_SIZE - 1,
| ^~~~~~~~~~~~
| MCFQSPI_SIZE
arch/m68k/coldfire/device.c:517:13: error: 'MCFEDMA_IRQ_INTR0' undeclared here (not in a function)
517 | .start = MCFEDMA_IRQ_INTR0,
| ^~~~~~~~~~~~~~~~~
arch/m68k/coldfire/device.c:523:13: error: 'MCFEDMA_IRQ_INTR16' undeclared here (not in a function)
523 | .start = MCFEDMA_IRQ_INTR16,
| ^~~~~~~~~~~~~~~~~~
arch/m68k/coldfire/device.c:529:13: error: 'MCFEDMA_IRQ_INTR56' undeclared here (not in a function)
529 | .start = MCFEDMA_IRQ_INTR56,
| ^~~~~~~~~~~~~~~~~~
arch/m68k/coldfire/device.c:535:13: error: 'MCFEDMA_IRQ_ERR' undeclared here (not in a function)
535 | .start = MCFEDMA_IRQ_ERR,
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/skbuff.h:40,
from include/net/net_namespace.h:39,
from include/linux/init_task.h:18,
from arch/m68k/kernel/process.c:30:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
arch/m68k/kernel/process.c: At top level:
arch/m68k/kernel/process.c:115:16: warning: no previous prototype for 'm68k_clone' [-Wmissing-prototypes]
115 | asmlinkage int m68k_clone(struct pt_regs *regs)
| ^~~~~~~~~~
arch/m68k/kernel/process.c:136:16: warning: no previous prototype for 'm68k_clone3' [-Wmissing-prototypes]
136 | asmlinkage int m68k_clone3(struct pt_regs *regs)
| ^~~~~~~~~~~
arch/m68k/kernel/process.c:215:5: warning: no previous prototype for 'dump_fpu' [-Wmissing-prototypes]
215 | int dump_fpu (struct pt_regs *regs, struct user_m68kfp_struct *fpu)
| ^~~~~~~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/filter.h:13,
from kernel/kallsyms.c:25:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
kernel/kallsyms.c: At top level:
kernel/kallsyms.c:502:12: warning: no previous prototype for 'arch_get_kallsym' [-Wmissing-prototypes]
502 | int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value,
| ^~~~~~~~~~~~~~~~
--
kernel/fork.c:162:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes]
162 | void __weak arch_release_task_struct(struct task_struct *tsk)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:752:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes]
752 | void __init __weak arch_task_cache_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~
kernel/fork.c:847:12: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes]
847 | int __weak arch_dup_task_struct(struct task_struct *dst,
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/skbuff.h:40,
from include/net/net_namespace.h:39,
from include/linux/init_task.h:18,
from kernel/fork.c:983:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
--
In file included from include/linux/skbuff.h:40,
from include/net/net_namespace.h:39,
from include/linux/init_task.h:18,
from kernel/exit.c:55:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
kernel/exit.c: At top level:
kernel/exit.c:1810:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes]
1810 | __weak void abort(void)
| ^~~~~
--
In file included from include/linux/skbuff.h:40,
from include/linux/if_ether.h:19,
from include/uapi/linux/ethtool.h:19,
from include/linux/ethtool.h:18,
from include/linux/phy.h:16,
from include/linux/acpi_mdio.h:9,
from drivers/net/ethernet/marvell/mvmdio.c:21:
include/net/page_pool.h: In function 'page_pool_get_dma_addr':
>> include/net/page_pool.h:209:7: warning: left shift count >= width of type [-Wshift-count-overflow]
209 | ret <<= 32;
| ^~~
include/net/page_pool.h: In function 'page_pool_set_dma_addr':
>> include/net/page_pool.h:220:8: warning: right shift count >= width of type [-Wshift-count-overflow]
220 | addr >>= 32;
| ^~~
At top level:
drivers/net/ethernet/marvell/mvmdio.c:432:36: warning: 'orion_mdio_acpi_match' defined but not used [-Wunused-const-variable=]
432 | static const struct acpi_device_id orion_mdio_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~~~~~
..
vim +209 include/net/page_pool.h
200
201 #define PAGE_POOL_DMA_USE_PP_FRAG_COUNT \
202 (sizeof(dma_addr_t) > sizeof(unsigned long))
203
204 static inline dma_addr_t page_pool_get_dma_addr(struct page *page)
205 {
206 dma_addr_t ret = page->dma_addr;
207
208 if (PAGE_POOL_DMA_USE_PP_FRAG_COUNT) {
> 209 ret <<= 32;
210 ret |= atomic_long_read(&page->pp_frag_count) & PAGE_MASK;
211 }
212
213 return ret;
214 }
215
216 static inline void page_pool_set_dma_addr(struct page *page, dma_addr_t addr)
217 {
218 if (PAGE_POOL_DMA_USE_PP_FRAG_COUNT) {
219 atomic_long_set(&page->pp_frag_count, addr & PAGE_MASK);
> 220 addr >>= 32;
221 }
222
223 page->dma_addr = addr;
224 }
225
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH v4 15/26] mm/hugetlb: Drop __unmap_hugepage_range definition from hugetlb.h
by kernel test robot
Hi Peter,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.14-rc1 next-20210715]
[cannot apply to hnaz-linux-mm/master asm-generic/master linux/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Peter-Xu/userfaultfd-wp-Support-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8096acd7442e613fad0354fc8dfdb2003cceea0b
config: powerpc-randconfig-r012-20210714 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 0e49c54a8cbd3e779e5526a5888c683c01cc3c50)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://github.com/0day-ci/linux/commit/f8dd355edbfe948f84c8aaa10a5173656...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20210715-062718
git checkout f8dd355edbfe948f84c8aaa10a5173656aa2778c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
__do_insb
^
arch/powerpc/include/asm/io.h:556:56: note: expanded from macro '__do_insb'
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from mm/hugetlb.c:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:126:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from mm/hugetlb.c:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:128:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from mm/hugetlb.c:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:130:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from mm/hugetlb.c:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:132:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from mm/hugetlb.c:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:134:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> mm/hugetlb.c:4334:6: warning: no previous prototype for function '__unmap_hugepage_range' [-Wmissing-prototypes]
void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,
^
mm/hugetlb.c:4334:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,
^
static
7 warnings generated.
vim +/__unmap_hugepage_range +4334 mm/hugetlb.c
63551ae0feaaa2 David Gibson 2005-06-21 4333
24669e58477e27 Aneesh Kumar K.V 2012-07-31 @4334 void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,
24669e58477e27 Aneesh Kumar K.V 2012-07-31 4335 unsigned long start, unsigned long end,
24669e58477e27 Aneesh Kumar K.V 2012-07-31 4336 struct page *ref_page)
63551ae0feaaa2 David Gibson 2005-06-21 4337 {
63551ae0feaaa2 David Gibson 2005-06-21 4338 struct mm_struct *mm = vma->vm_mm;
63551ae0feaaa2 David Gibson 2005-06-21 4339 unsigned long address;
c7546f8f03f5a4 David Gibson 2005-08-05 4340 pte_t *ptep;
63551ae0feaaa2 David Gibson 2005-06-21 4341 pte_t pte;
cb900f41215447 Kirill A. Shutemov 2013-11-14 4342 spinlock_t *ptl;
63551ae0feaaa2 David Gibson 2005-06-21 4343 struct page *page;
a5516438959d90 Andi Kleen 2008-07-23 4344 struct hstate *h = hstate_vma(vma);
a5516438959d90 Andi Kleen 2008-07-23 4345 unsigned long sz = huge_page_size(h);
ac46d4f3c43241 Jérôme Glisse 2018-12-28 4346 struct mmu_notifier_range range;
a5516438959d90 Andi Kleen 2008-07-23 4347
63551ae0feaaa2 David Gibson 2005-06-21 4348 WARN_ON(!is_vm_hugetlb_page(vma));
a5516438959d90 Andi Kleen 2008-07-23 4349 BUG_ON(start & ~huge_page_mask(h));
a5516438959d90 Andi Kleen 2008-07-23 4350 BUG_ON(end & ~huge_page_mask(h));
63551ae0feaaa2 David Gibson 2005-06-21 4351
07e326610e5634 Aneesh Kumar K.V 2016-12-12 4352 /*
07e326610e5634 Aneesh Kumar K.V 2016-12-12 4353 * This is a hugetlb vma, all the pte entries should point
07e326610e5634 Aneesh Kumar K.V 2016-12-12 4354 * to huge page.
07e326610e5634 Aneesh Kumar K.V 2016-12-12 4355 */
ed6a79352cad00 Peter Zijlstra 2018-08-31 4356 tlb_change_page_size(tlb, sz);
24669e58477e27 Aneesh Kumar K.V 2012-07-31 4357 tlb_start_vma(tlb, vma);
dff11abe280b47 Mike Kravetz 2018-10-05 4358
dff11abe280b47 Mike Kravetz 2018-10-05 4359 /*
dff11abe280b47 Mike Kravetz 2018-10-05 4360 * If sharing possible, alert mmu notifiers of worst case.
dff11abe280b47 Mike Kravetz 2018-10-05 4361 */
6f4f13e8d9e27c Jérôme Glisse 2019-05-13 4362 mmu_notifier_range_init(&range, MMU_NOTIFY_UNMAP, 0, vma, mm, start,
6f4f13e8d9e27c Jérôme Glisse 2019-05-13 4363 end);
ac46d4f3c43241 Jérôme Glisse 2018-12-28 4364 adjust_range_if_pmd_sharing_possible(vma, &range.start, &range.end);
ac46d4f3c43241 Jérôme Glisse 2018-12-28 4365 mmu_notifier_invalidate_range_start(&range);
569f48b85813f0 Hillf Danton 2014-12-10 4366 address = start;
569f48b85813f0 Hillf Danton 2014-12-10 4367 for (; address < end; address += sz) {
7868a2087ec13e Punit Agrawal 2017-07-06 4368 ptep = huge_pte_offset(mm, address, sz);
c7546f8f03f5a4 David Gibson 2005-08-05 4369 if (!ptep)
c7546f8f03f5a4 David Gibson 2005-08-05 4370 continue;
c7546f8f03f5a4 David Gibson 2005-08-05 4371
cb900f41215447 Kirill A. Shutemov 2013-11-14 4372 ptl = huge_pte_lock(h, mm, ptep);
34ae204f18519f Mike Kravetz 2020-08-11 4373 if (huge_pmd_unshare(mm, vma, &address, ptep)) {
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4374 spin_unlock(ptl);
dff11abe280b47 Mike Kravetz 2018-10-05 4375 /*
dff11abe280b47 Mike Kravetz 2018-10-05 4376 * We just unmapped a page of PMDs by clearing a PUD.
dff11abe280b47 Mike Kravetz 2018-10-05 4377 * The caller's TLB flush range should cover this area.
dff11abe280b47 Mike Kravetz 2018-10-05 4378 */
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4379 continue;
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4380 }
39dde65c9940c9 Kenneth W Chen 2006-12-06 4381
6629326b89b6e6 Hillf Danton 2012-03-23 4382 pte = huge_ptep_get(ptep);
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4383 if (huge_pte_none(pte)) {
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4384 spin_unlock(ptl);
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4385 continue;
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4386 }
6629326b89b6e6 Hillf Danton 2012-03-23 4387
6629326b89b6e6 Hillf Danton 2012-03-23 4388 /*
9fbc1f635fd0bd Naoya Horiguchi 2015-02-11 4389 * Migrating hugepage or HWPoisoned hugepage is already
9fbc1f635fd0bd Naoya Horiguchi 2015-02-11 4390 * unmapped and its refcount is dropped, so just clear pte here.
6629326b89b6e6 Hillf Danton 2012-03-23 4391 */
9fbc1f635fd0bd Naoya Horiguchi 2015-02-11 4392 if (unlikely(!pte_present(pte))) {
9386fac34c7cbe Punit Agrawal 2017-07-06 4393 huge_pte_clear(mm, address, ptep, sz);
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4394 spin_unlock(ptl);
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4395 continue;
8c4894c6bc790d Naoya Horiguchi 2012-12-12 4396 }
6629326b89b6e6 Hillf Danton 2012-03-23 4397
6629326b89b6e6 Hillf Danton 2012-03-23 4398 page = pte_page(pte);
04f2cbe35699d2 Mel Gorman 2008-07-23 4399 /*
04f2cbe35699d2 Mel Gorman 2008-07-23 4400 * If a reference page is supplied, it is because a specific
04f2cbe35699d2 Mel Gorman 2008-07-23 4401 * page is being unmapped, not a range. Ensure the page we
04f2cbe35699d2 Mel Gorman 2008-07-23 4402 * are about to unmap is the actual page of interest.
04f2cbe35699d2 Mel Gorman 2008-07-23 4403 */
04f2cbe35699d2 Mel Gorman 2008-07-23 4404 if (ref_page) {
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4405 if (page != ref_page) {
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4406 spin_unlock(ptl);
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4407 continue;
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4408 }
04f2cbe35699d2 Mel Gorman 2008-07-23 4409 /*
04f2cbe35699d2 Mel Gorman 2008-07-23 4410 * Mark the VMA as having unmapped its page so that
04f2cbe35699d2 Mel Gorman 2008-07-23 4411 * future faults in this VMA will fail rather than
04f2cbe35699d2 Mel Gorman 2008-07-23 4412 * looking like data was lost
04f2cbe35699d2 Mel Gorman 2008-07-23 4413 */
04f2cbe35699d2 Mel Gorman 2008-07-23 4414 set_vma_resv_flags(vma, HPAGE_RESV_UNMAPPED);
04f2cbe35699d2 Mel Gorman 2008-07-23 4415 }
04f2cbe35699d2 Mel Gorman 2008-07-23 4416
c7546f8f03f5a4 David Gibson 2005-08-05 4417 pte = huge_ptep_get_and_clear(mm, address, ptep);
b528e4b6405b9f Aneesh Kumar K.V 2016-12-12 4418 tlb_remove_huge_tlb_entry(h, tlb, ptep, address);
106c992a5ebef2 Gerald Schaefer 2013-04-29 4419 if (huge_pte_dirty(pte))
6649a3863232eb Ken Chen 2007-02-08 4420 set_page_dirty(page);
9e81130b7ce230 Hillf Danton 2012-03-21 4421
5d317b2b653659 Naoya Horiguchi 2015-11-05 4422 hugetlb_count_sub(pages_per_huge_page(h), mm);
d281ee61451835 Kirill A. Shutemov 2016-01-15 4423 page_remove_rmap(page, true);
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4424
cb900f41215447 Kirill A. Shutemov 2013-11-14 4425 spin_unlock(ptl);
e77b0852b551ff Aneesh Kumar K.V 2016-07-26 4426 tlb_remove_page_size(tlb, page, huge_page_size(h));
24669e58477e27 Aneesh Kumar K.V 2012-07-31 4427 /*
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4428 * Bail out after unmapping reference page if supplied
24669e58477e27 Aneesh Kumar K.V 2012-07-31 4429 */
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4430 if (ref_page)
31d49da5ad0172 Aneesh Kumar K.V 2016-07-26 4431 break;
fe1668ae5bf014 Kenneth W Chen 2006-10-04 4432 }
ac46d4f3c43241 Jérôme Glisse 2018-12-28 4433 mmu_notifier_invalidate_range_end(&range);
24669e58477e27 Aneesh Kumar K.V 2012-07-31 4434 tlb_end_vma(tlb, vma);
^1da177e4c3f41 Linus Torvalds 2005-04-16 4435 }
63551ae0feaaa2 David Gibson 2005-06-21 4436
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months