[mcgrof-next:20211118-sysctl-cleanups-set-04-v2 36/36] fs/namespace.c:4615:77: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20211118-sysctl-cleanups-set-04-v2
head: 3110d41a56792588bd2f64621080948b0fceb6ab
commit: 3110d41a56792588bd2f64621080948b0fceb6ab [36/36] fs: move namespace sysctls and declare fs base directory
config: nds32-allnoconfig (attached as .config)
compiler: nds32le-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://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/com...
git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
git fetch --no-tags mcgrof-next 20211118-sysctl-cleanups-set-04-v2
git checkout 3110d41a56792588bd2f64621080948b0fceb6ab
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash
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 >>):
fs/namespace.c: In function 'init_fs_namespace_sysctls':
>> fs/namespace.c:4615:77: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
4615 | register_sysctl_init("fs", fs_namespace_sysctls, "namespace_sysctls");
| ^
In file included from include/linux/key.h:17,
from include/linux/cred.h:13,
from include/linux/sched/signal.h:10,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/uapi/linux/aio_abi.h:31,
from include/linux/syscalls.h:77,
from fs/namespace.c:11:
include/linux/sysctl.h:233: note: macro "register_sysctl_init" defined here
233 | #define register_sysctl_init(path, table) __register_sysctl_init(path, table, #table)
|
>> fs/namespace.c:4615:9: error: 'register_sysctl_init' undeclared (first use in this function); did you mean 'register_sysctl_paths'?
4615 | register_sysctl_init("fs", fs_namespace_sysctls, "namespace_sysctls");
| ^~~~~~~~~~~~~~~~~~~~
| register_sysctl_paths
fs/namespace.c:4615:9: note: each undeclared identifier is reported only once for each function it appears in
At top level:
fs/namespace.c:4601:25: warning: 'fs_namespace_sysctls' defined but not used [-Wunused-variable]
4601 | static struct ctl_table fs_namespace_sysctls[] = {
| ^~~~~~~~~~~~~~~~~~~~
vim +/register_sysctl_init +4615 fs/namespace.c
4612
4613 static int __init init_fs_namespace_sysctls(void)
4614 {
> 4615 register_sysctl_init("fs", fs_namespace_sysctls, "namespace_sysctls");
4616 return 0;
4617 }
4618 early_initcall(init_fs_namespace_sysctls);
4619
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH 10/12] nvmet: Implement basic In-Band Authentication
by kernel test robot
Hi Hannes,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.16-rc1 next-20211118]
[cannot apply to herbert-cryptodev-2.6/master herbert-crypto-2.6/master linux-nvme/for-next]
[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/Hannes-Reinecke/nvme-In-band-aut...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5833291ab6de9c3e2374336b51c814e515e8f3a5
config: arm64-buildonly-randconfig-r006-20211119 (attached as .config)
compiler: aarch64-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/0day-ci/linux/commit/e5bfdfa04f93ef1857a48ce68e035aab7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Hannes-Reinecke/nvme-In-band-authentication-support/20211112-210112
git checkout e5bfdfa04f93ef1857a48ce68e035aab7fe8b066
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash
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 >>):
>> aarch64-linux-ld: Unexpected GOT/PLT entries detected!
>> aarch64-linux-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-ld: drivers/nvme/target/configfs.o: in function `nvmet_host_dhchap_hash_store':
>> configfs.c:(.text+0x24): undefined reference to `nvme_auth_hmac_id'
>> aarch64-linux-ld: configfs.c:(.text+0x44): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: drivers/nvme/target/configfs.o: in function `nvmet_host_dhchap_hash_show':
>> configfs.c:(.text+0xcc): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: drivers/nvme/target/fabrics-cmd-auth.o: in function `nvmet_auth_negotiate':
>> fabrics-cmd-auth.c:(.text+0x340): undefined reference to `nvme_auth_dhgroup_name'
aarch64-linux-ld: drivers/nvme/target/fabrics-cmd-auth.o: in function `nvmet_auth_challenge':
>> fabrics-cmd-auth.c:(.text+0x76c): undefined reference to `nvme_auth_hmac_hash_len'
aarch64-linux-ld: drivers/nvme/target/fabrics-cmd-auth.o: in function `nvmet_execute_auth_receive':
fabrics-cmd-auth.c:(.text+0x1300): undefined reference to `nvme_auth_hmac_hash_len'
aarch64-linux-ld: drivers/nvme/target/auth.o: in function `nvmet_auth_set_host_key':
>> auth.c:(.text+0x9c): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: drivers/nvme/target/auth.o: in function `nvmet_auth_set_ctrl_key':
auth.c:(.text+0x1dc): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: drivers/nvme/target/auth.o: in function `nvmet_setup_auth':
auth.c:(.text+0x494): undefined reference to `nvme_auth_hmac_name'
>> aarch64-linux-ld: auth.c:(.text+0x4ec): undefined reference to `nvme_auth_extract_secret'
>> aarch64-linux-ld: auth.c:(.text+0x598): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: auth.c:(.text+0x614): undefined reference to `nvme_auth_extract_secret'
aarch64-linux-ld: auth.c:(.text+0x6ac): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: drivers/nvme/target/auth.o: in function `nvmet_auth_host_hash':
auth.c:(.text+0x88c): undefined reference to `nvme_auth_hmac_name'
>> aarch64-linux-ld: auth.c:(.text+0x984): undefined reference to `nvme_auth_transform_key'
aarch64-linux-ld: drivers/nvme/target/auth.o: in function `nvmet_auth_ctrl_hash':
auth.c:(.text+0xcec): undefined reference to `nvme_auth_hmac_name'
aarch64-linux-ld: auth.c:(.text+0xde4): undefined reference to `nvme_auth_transform_key'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH 07/11] dmaengine: qcom-adm: stop abusing slave_id config
by kernel test robot
Hi Arnd,
I love your patch! Perhaps something to improve:
[auto build test WARNING on vkoul-dmaengine/next]
[also build test WARNING on tiwai-sound/for-next staging/staging-testing linus/master v5.16-rc1 next-20211118]
[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/Arnd-Bergmann/dmaengine-kill-off...
base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
config: xtensa-buildonly-randconfig-r005-20211115 (attached as .config)
compiler: xtensa-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/0day-ci/linux/commit/f2e7f9ee67ce784864f75db39f20d1060...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Arnd-Bergmann/dmaengine-kill-off-dma_slave_config-slave_id/20211115-165731
git checkout f2e7f9ee67ce784864f75db39f20d1060c932279
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=xtensa
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/dma/qcom/qcom_adm.c:712:18: warning: no previous prototype for 'adm_dma_xlate' [-Wmissing-prototypes]
712 | struct dma_chan *adm_dma_xlate(struct of_phandle_args *dma_spec,
| ^~~~~~~~~~~~~
vim +/adm_dma_xlate +712 drivers/dma/qcom/qcom_adm.c
700
701 /**
702 * adm_dma_xlate
703 * @dma_spec: pointer to DMA specifier as found in the device tree
704 * @ofdma: pointer to DMA controller data
705 *
706 * This can use either 1-cell or 2-cell formats, the first cell
707 * identifies the slave device, while the optional second cell
708 * contains the crci value.
709 *
710 * Returns pointer to appropriate dma channel on success or NULL on error.
711 */
> 712 struct dma_chan *adm_dma_xlate(struct of_phandle_args *dma_spec,
713 struct of_dma *ofdma)
714 {
715 struct dma_device *dev = ofdma->of_dma_data;
716 struct dma_chan *chan, *candidate = NULL;
717 struct adm_chan *achan;
718
719 if (!dev || dma_spec->args_count > 2)
720 return NULL;
721
722 list_for_each_entry(chan, &dev->channels, device_node)
723 if (chan->chan_id == dma_spec->args[0]) {
724 candidate = chan;
725 break;
726 }
727
728 if (!candidate)
729 return NULL;
730
731 achan = to_adm_chan(candidate);
732 if (dma_spec->args_count == 2)
733 achan->crci = dma_spec->args[1];
734 else
735 achan->crci = 0;
736
737 return dma_get_slave_channel(candidate);
738 }
739
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[mcgrof-next:20211118-sysctl-cleanups-set-04-v2 34/36] fs/pipe.c:1498:67: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20211118-sysctl-cleanups-set-04-v2
head: 3110d41a56792588bd2f64621080948b0fceb6ab
commit: 08083da6a8f2a955383155397792120ffc520978 [34/36] fs: move pipe sysctls to is own file
config: nds32-allnoconfig (attached as .config)
compiler: nds32le-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://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/com...
git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
git fetch --no-tags mcgrof-next 20211118-sysctl-cleanups-set-04-v2
git checkout 08083da6a8f2a955383155397792120ffc520978
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash
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 >>):
fs/pipe.c:756:15: warning: no previous prototype for 'account_pipe_buffers' [-Wmissing-prototypes]
756 | unsigned long account_pipe_buffers(struct user_struct *user,
| ^~~~~~~~~~~~~~~~~~~~
fs/pipe.c:762:6: warning: no previous prototype for 'too_many_pipe_buffers_soft' [-Wmissing-prototypes]
762 | bool too_many_pipe_buffers_soft(unsigned long user_bufs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:769:6: warning: no previous prototype for 'too_many_pipe_buffers_hard' [-Wmissing-prototypes]
769 | bool too_many_pipe_buffers_hard(unsigned long user_bufs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:776:6: warning: no previous prototype for 'pipe_is_unprivileged_user' [-Wmissing-prototypes]
776 | bool pipe_is_unprivileged_user(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:1246:5: warning: no previous prototype for 'pipe_resize_ring' [-Wmissing-prototypes]
1246 | int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots)
| ^~~~~~~~~~~~~~~~
fs/pipe.c: In function 'init_pipe_fs':
>> fs/pipe.c:1498:67: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
1498 | register_sysctl_init("fs", fs_pipe_sysctls, "pipe_sysctls");
| ^
In file included from include/linux/key.h:17,
from include/linux/cred.h:13,
from include/linux/sched/signal.h:10,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:717,
from fs/pipe.c:8:
include/linux/sysctl.h:220: note: macro "register_sysctl_init" defined here
220 | #define register_sysctl_init(path, table) __register_sysctl_init(path, table, #table)
|
>> fs/pipe.c:1498:9: error: 'register_sysctl_init' undeclared (first use in this function); did you mean 'register_sysctl_paths'?
1498 | register_sysctl_init("fs", fs_pipe_sysctls, "pipe_sysctls");
| ^~~~~~~~~~~~~~~~~~~~
| register_sysctl_paths
fs/pipe.c:1498:9: note: each undeclared identifier is reported only once for each function it appears in
At top level:
fs/pipe.c:1460:25: warning: 'fs_pipe_sysctls' defined but not used [-Wunused-variable]
1460 | static struct ctl_table fs_pipe_sysctls[] = {
| ^~~~~~~~~~~~~~~
vim +/register_sysctl_init +1498 fs/pipe.c
1485
1486 static int __init init_pipe_fs(void)
1487 {
1488 int err = register_filesystem(&pipe_fs_type);
1489
1490 if (!err) {
1491 pipe_mnt = kern_mount(&pipe_fs_type);
1492 if (IS_ERR(pipe_mnt)) {
1493 err = PTR_ERR(pipe_mnt);
1494 unregister_filesystem(&pipe_fs_type);
1495 }
1496 }
1497 #ifdef CONFIG_SYSCTL
> 1498 register_sysctl_init("fs", fs_pipe_sysctls, "pipe_sysctls");
1499 #endif
1500 return err;
1501 }
1502
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH net 1/3] bnxt_en: extend RTNL to VF check in devlink driver_reinit
by kernel test robot
Hi Michael,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net/master]
url: https://github.com/0day-ci/linux/commits/Michael-Chan/bnxt_en-Bug-fixes/2...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 1aa3b2207e889a948049c9a8016cedb0218c2389
config: arm64-buildonly-randconfig-r003-20211115 (attached as .config)
compiler: aarch64-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/0day-ci/linux/commit/b17bc036418692ffb8055b7cbcdff979e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Michael-Chan/bnxt_en-Bug-fixes/20211115-154005
git checkout b17bc036418692ffb8055b7cbcdff979ec378e37
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/net/ethernet/broadcom/bnxt/
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 >>):
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c: In function 'bnxt_dl_reload_down':
>> drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:445:60: error: 'struct bnxt' has no member named 'sriov_cfg'
445 | if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) {
| ^~
vim +445 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
433
434 static int bnxt_dl_reload_down(struct devlink *dl, bool netns_change,
435 enum devlink_reload_action action,
436 enum devlink_reload_limit limit,
437 struct netlink_ext_ack *extack)
438 {
439 struct bnxt *bp = bnxt_get_bp_from_dl(dl);
440 int rc = 0;
441
442 switch (action) {
443 case DEVLINK_RELOAD_ACTION_DRIVER_REINIT: {
444 rtnl_lock();
> 445 if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) {
446 NL_SET_ERR_MSG_MOD(extack,
447 "reload is unsupported while VFs are allocated or being configured");
448 rtnl_unlock();
449 return -EOPNOTSUPP;
450 }
451 if (bp->dev->reg_state == NETREG_UNREGISTERED) {
452 rtnl_unlock();
453 return -ENODEV;
454 }
455 bnxt_ulp_stop(bp);
456 if (netif_running(bp->dev)) {
457 rc = bnxt_close_nic(bp, true, true);
458 if (rc) {
459 NL_SET_ERR_MSG_MOD(extack, "Failed to close");
460 dev_close(bp->dev);
461 rtnl_unlock();
462 break;
463 }
464 }
465 bnxt_vf_reps_free(bp);
466 rc = bnxt_hwrm_func_drv_unrgtr(bp);
467 if (rc) {
468 NL_SET_ERR_MSG_MOD(extack, "Failed to deregister");
469 if (netif_running(bp->dev))
470 dev_close(bp->dev);
471 rtnl_unlock();
472 break;
473 }
474 bnxt_cancel_reservations(bp, false);
475 bnxt_free_ctx_mem(bp);
476 kfree(bp->ctx);
477 bp->ctx = NULL;
478 break;
479 }
480 case DEVLINK_RELOAD_ACTION_FW_ACTIVATE: {
481 if (limit == DEVLINK_RELOAD_LIMIT_NO_RESET)
482 return bnxt_dl_livepatch_activate(bp, extack);
483 if (~bp->fw_cap & BNXT_FW_CAP_HOT_RESET) {
484 NL_SET_ERR_MSG_MOD(extack, "Device not capable, requires reboot");
485 return -EOPNOTSUPP;
486 }
487 if (!bnxt_hwrm_reset_permitted(bp)) {
488 NL_SET_ERR_MSG_MOD(extack,
489 "Reset denied by firmware, it may be inhibited by remote driver");
490 return -EPERM;
491 }
492 rtnl_lock();
493 if (bp->dev->reg_state == NETREG_UNREGISTERED) {
494 rtnl_unlock();
495 return -ENODEV;
496 }
497 if (netif_running(bp->dev))
498 set_bit(BNXT_STATE_FW_ACTIVATE, &bp->state);
499 rc = bnxt_hwrm_firmware_reset(bp->dev,
500 FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP,
501 FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP,
502 FW_RESET_REQ_FLAGS_RESET_GRACEFUL |
503 FW_RESET_REQ_FLAGS_FW_ACTIVATION);
504 if (rc) {
505 NL_SET_ERR_MSG_MOD(extack, "Failed to activate firmware");
506 clear_bit(BNXT_STATE_FW_ACTIVATE, &bp->state);
507 rtnl_unlock();
508 }
509 break;
510 }
511 default:
512 rc = -EOPNOTSUPP;
513 }
514
515 return rc;
516 }
517
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
arch/x86/platform/uv/bios_uv.c:175:12: sparse: sparse: function 'uv_bios_get_master_nasid' with external linkage has definition
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4c388a8e740d3235a194f330c8ef327deef710f6
commit: 9a3c425cfdfee169622f1cb1a974b2f287e5560c x86/platform/uv: Add and export uv_bios_* functions
date: 12 months ago
config: x86_64-rhel-8.3-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 9a3c425cfdfee169622f1cb1a974b2f287e5560c
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/ drivers/ fs/ lib// net/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> arch/x86/platform/uv/bios_uv.c:175:12: sparse: sparse: function 'uv_bios_get_master_nasid' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:182:12: sparse: sparse: function 'uv_bios_get_heapsize' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:189:12: sparse: sparse: function 'uv_bios_install_heap' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:196:12: sparse: sparse: function 'uv_bios_obj_count' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:203:12: sparse: sparse: function 'uv_bios_enum_objs' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:210:12: sparse: sparse: function 'uv_bios_enum_ports' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:217:12: sparse: sparse: function 'uv_bios_get_geoinfo' with external linkage has definition
>> arch/x86/platform/uv/bios_uv.c:223:12: sparse: sparse: function 'uv_bios_get_pci_topology' with external linkage has definition
arch/x86/platform/uv/bios_uv.c:249:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct uv_systab *[addressable] [assigned] [toplevel] uv_systab @@ got void [noderef] __iomem * @@
arch/x86/platform/uv/bios_uv.c:249:19: sparse: expected struct uv_systab *[addressable] [assigned] [toplevel] uv_systab
arch/x86/platform/uv/bios_uv.c:249:19: sparse: got void [noderef] __iomem *
arch/x86/platform/uv/bios_uv.c:252:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got struct uv_systab *[addressable] [assigned] [toplevel] uv_systab @@
arch/x86/platform/uv/bios_uv.c:252:25: sparse: expected void volatile [noderef] __iomem *addr
arch/x86/platform/uv/bios_uv.c:252:25: sparse: got struct uv_systab *[addressable] [assigned] [toplevel] uv_systab
arch/x86/platform/uv/bios_uv.c:260:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got struct uv_systab *[addressable] [assigned] [toplevel] uv_systab @@
arch/x86/platform/uv/bios_uv.c:260:25: sparse: expected void volatile [noderef] __iomem *addr
arch/x86/platform/uv/bios_uv.c:260:25: sparse: got struct uv_systab *[addressable] [assigned] [toplevel] uv_systab
arch/x86/platform/uv/bios_uv.c:261:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct uv_systab *[addressable] [assigned] [toplevel] uv_systab @@ got void [noderef] __iomem * @@
arch/x86/platform/uv/bios_uv.c:261:27: sparse: expected struct uv_systab *[addressable] [assigned] [toplevel] uv_systab
arch/x86/platform/uv/bios_uv.c:261:27: sparse: got void [noderef] __iomem *
vim +/uv_bios_get_master_nasid +175 arch/x86/platform/uv/bios_uv.c
174
> 175 extern s64 uv_bios_get_master_nasid(u64 size, u64 *master_nasid)
176 {
177 return uv_bios_call(UV_BIOS_EXTRA, 0, UV_BIOS_EXTRA_MASTER_NASID, 0,
178 size, (u64)master_nasid);
179 }
180 EXPORT_SYMBOL_GPL(uv_bios_get_master_nasid);
181
> 182 extern s64 uv_bios_get_heapsize(u64 nasid, u64 size, u64 *heap_size)
183 {
184 return uv_bios_call(UV_BIOS_EXTRA, nasid, UV_BIOS_EXTRA_GET_HEAPSIZE,
185 0, size, (u64)heap_size);
186 }
187 EXPORT_SYMBOL_GPL(uv_bios_get_heapsize);
188
> 189 extern s64 uv_bios_install_heap(u64 nasid, u64 heap_size, u64 *bios_heap)
190 {
191 return uv_bios_call(UV_BIOS_EXTRA, nasid, UV_BIOS_EXTRA_INSTALL_HEAP,
192 0, heap_size, (u64)bios_heap);
193 }
194 EXPORT_SYMBOL_GPL(uv_bios_install_heap);
195
> 196 extern s64 uv_bios_obj_count(u64 nasid, u64 size, u64 *objcnt)
197 {
198 return uv_bios_call(UV_BIOS_EXTRA, nasid, UV_BIOS_EXTRA_OBJECT_COUNT,
199 0, size, (u64)objcnt);
200 }
201 EXPORT_SYMBOL_GPL(uv_bios_obj_count);
202
> 203 extern s64 uv_bios_enum_objs(u64 nasid, u64 size, u64 *objbuf)
204 {
205 return uv_bios_call(UV_BIOS_EXTRA, nasid, UV_BIOS_EXTRA_ENUM_OBJECTS,
206 0, size, (u64)objbuf);
207 }
208 EXPORT_SYMBOL_GPL(uv_bios_enum_objs);
209
> 210 extern s64 uv_bios_enum_ports(u64 nasid, u64 obj_id, u64 size, u64 *portbuf)
211 {
212 return uv_bios_call(UV_BIOS_EXTRA, nasid, UV_BIOS_EXTRA_ENUM_PORTS,
213 obj_id, size, (u64)portbuf);
214 }
215 EXPORT_SYMBOL_GPL(uv_bios_enum_ports);
216
> 217 extern s64 uv_bios_get_geoinfo(u64 nasid, u64 size, u64 *buf)
218 {
219 return uv_bios_call(UV_BIOS_GET_GEOINFO, nasid, (u64)buf, size, 0, 0);
220 }
221 EXPORT_SYMBOL_GPL(uv_bios_get_geoinfo);
222
> 223 extern s64 uv_bios_get_pci_topology(u64 size, u64 *buf)
224 {
225 return uv_bios_call(UV_BIOS_GET_PCI_TOPOLOGY, (u64)buf, size, 0, 0, 0);
226 }
227 EXPORT_SYMBOL_GPL(uv_bios_get_pci_topology);
228
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[morse:mpam/snapshot/v5.15 62/139] fs/resctrl/monitor.c:102 __check_limbo() warn: unsigned 'arch_mon_ctx' is never less than zero.
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/snapshot/v5.15
head: ce3629841262f725a5f3a327403fcaf0e604a85e
commit: 016782894eb4694b95d6b67f4b1794cde795482c [62/139] x86/resctrl: Move the restrl code to fs
config: x86_64-randconfig-m001-20211115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
fs/resctrl/monitor.c:102 __check_limbo() warn: unsigned 'arch_mon_ctx' is never less than zero.
fs/resctrl/monitor.c:238 add_rmid_to_limbo() warn: unsigned 'arch_mon_ctx' is never less than zero.
fs/resctrl/monitor.c:369 mon_event_count() warn: unsigned 'rr->arch_mon_ctx' is never less than zero.
fs/resctrl/monitor.c:537 mbm_update() warn: unsigned 'rr.arch_mon_ctx' is never less than zero.
fs/resctrl/rdtgroup.c:3011 rdtgroup_mkdir_ctrl_mon() error: uninitialized symbol 'rmid'.
Old smatch warnings:
fs/resctrl/monitor.c:547 mbm_update() warn: unsigned 'rr.arch_mon_ctx' is never less than zero.
vim +/arch_mon_ctx +102 fs/resctrl/monitor.c
84
85 /*
86 * Check the RMIDs that are marked as busy for this domain. If the
87 * reported LLC occupancy is below the threshold clear the busy bit and
88 * decrement the count. If the busy count gets to zero on an RMID, we
89 * free the RMID
90 */
91 void __check_limbo(struct rdt_domain *d, bool force_free)
92 {
93 struct rdt_resource *r = resctrl_arch_get_resource(RDT_RESOURCE_L3);
94 u32 idx_limit = resctrl_arch_system_num_rmid_idx();
95 unsigned long arch_mon_ctx;
96 struct rmid_entry *entry;
97 u32 idx, cur_idx = 1;
98 bool rmid_dirty;
99 u64 val = 0;
100
101 arch_mon_ctx = resctrl_arch_mon_ctx_alloc(r, QOS_L3_OCCUP_EVENT_ID);
> 102 if (arch_mon_ctx < 0)
103 return;
104
105 /*
106 * Skip RMID 0 and start from RMID 1 and check all the RMIDs that
107 * are marked as busy for occupancy < threshold. If the occupancy
108 * is less than the threshold decrement the busy counter of the
109 * RMID and move it to the free list when the counter reaches 0.
110 */
111 for (;;) {
112 idx = find_next_bit(d->rmid_busy_llc, idx_limit, cur_idx);
113 if (idx >= idx_limit)
114 break;
115
116 entry = __rmid_entry(idx);
117 if (resctrl_arch_rmid_read(r, d, entry->closid, entry->rmid,
118 QOS_L3_OCCUP_EVENT_ID, &val,
119 arch_mon_ctx)) {
120 rmid_dirty = true;
121 } else {
122 rmid_dirty = (val >= resctrl_rmid_realloc_threshold);
123 }
124
125 if (force_free || !rmid_dirty) {
126 clear_bit(idx, d->rmid_busy_llc);
127 if (!--entry->busy) {
128 rmid_limbo_count--;
129 list_add_tail(&entry->list, &rmid_free_lru);
130 }
131 }
132 cur_idx = idx + 1;
133 }
134
135 resctrl_arch_mon_ctx_free(r, QOS_L3_OCCUP_EVENT_ID, arch_mon_ctx);
136 }
137
138 bool has_busy_rmid(struct rdt_resource *r, struct rdt_domain *d)
139 {
140 u32 idx_limit = resctrl_arch_system_num_rmid_idx();
141
142 return find_first_bit(d->rmid_busy_llc, idx_limit) != idx_limit;
143 }
144
145 static struct rmid_entry *resctrl_find_free_rmid(u32 closid)
146 {
147 struct rmid_entry *itr;
148 u32 itr_idx, cmp_idx;
149
150 if (list_empty(&rmid_free_lru))
151 return rmid_limbo_count ? ERR_PTR(-EBUSY) : ERR_PTR(-ENOSPC);
152
153 list_for_each_entry(itr, &rmid_free_lru, list) {
154 /*
155 * get the index of this free rmid, and the index it would need
156 * to be if it were used with this closid.
157 * If the closid is irrelevant on this architecture, these will
158 * always be the same. Otherwise they will only match if this
159 * rmid can be used with this closid.
160 */
161 itr_idx = resctrl_arch_rmid_idx_encode(itr->closid, itr->rmid);
162 cmp_idx = resctrl_arch_rmid_idx_encode(closid, itr->rmid);
163
164 if (itr_idx == cmp_idx)
165 return itr;
166 }
167
168 return ERR_PTR(-ENOSPC);
169 }
170
171 /**
172 * resctrl_closid_is_dirty - Determine if clean rmid can be allocate for this
173 * closid.
174 * @closid: The closid that is being queried.
175 *
176 * MPAM's equivalent of rmid are per-closid, meaning a freshly allocate closid
177 * may not be able to allocate clean rmid. To avoid this the allocator will
178 * only return clean closid.
179 */
180 bool resctrl_closid_is_dirty(u32 closid)
181 {
182 struct rmid_entry *entry;
183 int i;
184
185 lockdep_assert_held(&rdtgroup_mutex);
186
187 if (IS_ENABLED(CONFIG_RESCTRL_RMID_DEPENDS_ON_CLOSID))
188 return false;
189
190 for (i = 0; i < resctrl_arch_system_num_rmid_idx(); i++) {
191 entry = &rmid_ptrs[i];
192 if (entry->closid != closid)
193 continue;
194
195 if (entry->busy)
196 return true;
197 }
198
199 return false;
200 }
201
202 /*
203 * As of now the RMIDs allocation is the same in each domain.
204 * However we keep track of which packages the RMIDs
205 * are used to optimize the limbo list management.
206 * The closid is ignored on x86.
207 */
208 int alloc_rmid(u32 closid)
209 {
210 struct rmid_entry *entry;
211
212 lockdep_assert_held(&rdtgroup_mutex);
213
214 entry = resctrl_find_free_rmid(closid);
215 if (!IS_ERR(entry)) {
216 list_del(&entry->list);
217 return entry->rmid;
218 }
219
220 return PTR_ERR(entry);
221 }
222
223 static void add_rmid_to_limbo(struct rmid_entry *entry)
224 {
225 struct rdt_resource *r = resctrl_arch_get_resource(RDT_RESOURCE_L3);
226 unsigned long arch_mon_ctx;
227 struct rdt_domain *d;
228 u64 val = 0;
229 u32 idx;
230 int err;
231
232 /* Walking r->domains, ensure it can't race with cpuhp */
233 lockdep_assert_cpus_held();
234
235 idx = resctrl_arch_rmid_idx_encode(entry->closid, entry->rmid);
236
237 arch_mon_ctx = resctrl_arch_mon_ctx_alloc(r, QOS_L3_OCCUP_EVENT_ID);
> 238 if (arch_mon_ctx < 0)
239 return;
240
241 entry->busy = 0;
242 list_for_each_entry(d, &r->domains, list) {
243 err = resctrl_arch_rmid_read(r, d, entry->closid, entry->rmid,
244 QOS_L3_OCCUP_EVENT_ID, &val,
245 arch_mon_ctx);
246 if (err || val <= resctrl_rmid_realloc_threshold)
247 continue;
248
249 /*
250 * For the first limbo RMID in the domain,
251 * setup up the limbo worker.
252 */
253 if (!has_busy_rmid(r, d))
254 cqm_setup_limbo_handler(d, CQM_LIMBOCHECK_INTERVAL, -1);
255 set_bit(idx, d->rmid_busy_llc);
256 entry->busy++;
257 }
258 resctrl_arch_mon_ctx_free(r, QOS_L3_OCCUP_EVENT_ID, arch_mon_ctx);
259
260 if (entry->busy)
261 rmid_limbo_count++;
262 else
263 list_add_tail(&entry->list, &rmid_free_lru);
264 }
265
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[mcgrof-next:20211118-sysctl-cleanups-set-04-v2 33/36] fs/exec.c:2180:62: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20211118-sysctl-cleanups-set-04-v2
head: 3110d41a56792588bd2f64621080948b0fceb6ab
commit: 06e103c9b0d01c4e2e8c341e44a599e5d17413d2 [33/36] fs: move fs/exec.c sysctls into its own file
config: nds32-allnoconfig (attached as .config)
compiler: nds32le-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://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/com...
git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
git fetch --no-tags mcgrof-next 20211118-sysctl-cleanups-set-04-v2
git checkout 06e103c9b0d01c4e2e8c341e44a599e5d17413d2
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash
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 >>):
fs/exec.c: In function 'init_fs_exec_sysctls':
>> fs/exec.c:2180:62: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
2180 | register_sysctl_init("fs", fs_exec_sysctls, "fs_exec");
| ^
In file included from include/linux/key.h:17,
from include/linux/cred.h:13,
from include/linux/sched/signal.h:10,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/fdtable.h:16,
from fs/exec.c:29:
include/linux/sysctl.h:220: note: macro "register_sysctl_init" defined here
220 | #define register_sysctl_init(path, table) __register_sysctl_init(path, table, #table)
|
>> fs/exec.c:2180:9: error: 'register_sysctl_init' undeclared (first use in this function); did you mean 'register_sysctl_paths'?
2180 | register_sysctl_init("fs", fs_exec_sysctls, "fs_exec");
| ^~~~~~~~~~~~~~~~~~~~
| register_sysctl_paths
fs/exec.c:2180:9: note: each undeclared identifier is reported only once for each function it appears in
fs/exec.c:2182:74: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
2182 | register_sysctl_init("kernel", kernel_exec_sysctls, "kernel_exec");
| ^
In file included from include/linux/key.h:17,
from include/linux/cred.h:13,
from include/linux/sched/signal.h:10,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/fdtable.h:16,
from fs/exec.c:29:
include/linux/sysctl.h:220: note: macro "register_sysctl_init" defined here
220 | #define register_sysctl_init(path, table) __register_sysctl_init(path, table, #table)
|
At top level:
fs/exec.c:2152:25: warning: 'kernel_exec_sysctls' defined but not used [-Wunused-variable]
2152 | static struct ctl_table kernel_exec_sysctls[] = {
| ^~~~~~~~~~~~~~~~~~~
fs/exec.c:2127:25: warning: 'fs_exec_sysctls' defined but not used [-Wunused-variable]
2127 | static struct ctl_table fs_exec_sysctls[] = {
| ^~~~~~~~~~~~~~~
vim +/register_sysctl_init +2180 fs/exec.c
2177
2178 static int __init init_fs_exec_sysctls(void)
2179 {
> 2180 register_sysctl_init("fs", fs_exec_sysctls, "fs_exec");
2181 #ifdef CONFIG_COREDUMP
2182 register_sysctl_init("kernel", kernel_exec_sysctls, "kernel_exec");
2183 #endif
2184 return 0;
2185 }
2186
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months