Re: [PATCH v1 1/1] kernel.h: Move sysfs related macro to sysfs.h

kernel test robot
2022-06-05T22:14:25Z

config: s390-alldefconfig (https://download.01.org/0day-ci/archive/20220606/202206060518.OTKHr5Mp-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 416a5080d89066029f9889dc23f94de47c2fa895)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/0fad3ce70c6f6736d3913e3238642a056f70b123
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Andy-Shevchenko/kernel-h-Move-sysfs-related-macro-to-sysfs-h/20220606-004344
git checkout 0fad3ce70c6f6736d3913e3238642a056f70b123
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash arch/s390/crypto/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> arch/s390/crypto/arch_random.c:145:1: error: call to undeclared function 'VERIFY_OCTAL_PERMISSIONS'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
module_param_named(rndlong_drbg_reseed, rndlong_drbg_reseed, int, 0600);
^
include/linux/moduleparam.h:151:2: note: expanded from macro 'module_param_named'
module_param_cb(name, &param_ops_##type, &value, perm); \
^
include/linux/moduleparam.h:176:2: note: expanded from macro 'module_param_cb'
__module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
^
include/linux/moduleparam.h:294:6: note: expanded from macro '__module_param_call'
VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
^
>> arch/s390/crypto/arch_random.c:145:1: error: initializer element is not a compile-time constant
module_param_named(rndlong_drbg_reseed, rndlong_drbg_reseed, int, 0600);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:151:2: note: expanded from macro 'module_param_named'
module_param_cb(name, &param_ops_##type, &value, perm); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:176:2: note: expanded from macro 'module_param_cb'
__module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:294:6: note: expanded from macro '__module_param_call'
VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

vim +/VERIFY_OCTAL_PERMISSIONS +145 arch/s390/crypto/arch_random.c

ff98cc986ae883 Harald Freudenberger 2020-12-03 143
ff98cc986ae883 Harald Freudenberger 2020-12-03 144 static int rndlong_drbg_reseed = 256;
ff98cc986ae883 Harald Freudenberger 2020-12-03 @145 module_param_named(rndlong_drbg_reseed, rndlong_drbg_reseed, int, 0600);
ff98cc986ae883 Harald Freudenberger 2020-12-03 146 MODULE_PARM_DESC(rndlong_drbg_reseed, "s390 arch_get_random_long() drbg reseed");
ff98cc986ae883 Harald Freudenberger 2020-12-03 147