Messages in this thread | | | Date | Sat, 4 Jun 2022 17:46:18 +0800 | From | kernel test robot <> | Subject | security/landlock/syscalls.c:150:1: sparse: sparse: Using plain integer as NULL pointer |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 032dcf09e2bf7c822be25b4abef7a6c913870d98 commit: 265885daf3e5082eb9f6e2a23bdbf9ba4456a21b landlock: Add syscall implementations date: 1 year, 1 month ago config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20220604/202206041737.hvLpbdsq-lkp@intel.com/config) compiler: s390-linux-gcc (GCC) 11.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-18-g56afb504-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=265885daf3e5082eb9f6e2a23bdbf9ba4456a21b git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 265885daf3e5082eb9f6e2a23bdbf9ba4456a21b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=s390 SHELL=/bin/bash drivers/s390/scsi/ kernel/ security/landlock/
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>) >> security/landlock/syscalls.c:150:1: sparse: sparse: Using plain integer as NULL pointer >> security/landlock/syscalls.c:150:1: sparse: sparse: Using plain integer as NULL pointer security/landlock/syscalls.c:295:1: sparse: sparse: Using plain integer as NULL pointer security/landlock/syscalls.c:295:1: sparse: sparse: Using plain integer as NULL pointer
vim +150 security/landlock/syscalls.c
130 131 /** 132 * sys_landlock_create_ruleset - Create a new ruleset 133 * 134 * @attr: Pointer to a &struct landlock_ruleset_attr identifying the scope of 135 * the new ruleset. 136 * @size: Size of the pointed &struct landlock_ruleset_attr (needed for 137 * backward and forward compatibility). 138 * @flags: Must be 0. 139 * 140 * This system call enables to create a new Landlock ruleset, and returns the 141 * related file descriptor on success. 142 * 143 * Possible returned errors are: 144 * 145 * - EOPNOTSUPP: Landlock is supported by the kernel but disabled at boot time; 146 * - EINVAL: @flags is not 0, or unknown access, or too small @size; 147 * - E2BIG or EFAULT: @attr or @size inconsistencies; 148 * - ENOMSG: empty &landlock_ruleset_attr.handled_access_fs. 149 */ > 150 SYSCALL_DEFINE3(landlock_create_ruleset, 151 const struct landlock_ruleset_attr __user *const, attr, 152 const size_t, size, const __u32, flags) 153 { 154 struct landlock_ruleset_attr ruleset_attr; 155 struct landlock_ruleset *ruleset; 156 int err, ruleset_fd; 157 158 /* Build-time checks. */ 159 build_check_abi(); 160 161 if (!landlock_initialized) 162 return -EOPNOTSUPP; 163 164 /* No flag for now. */ 165 if (flags) 166 return -EINVAL; 167 168 /* Copies raw user space buffer. */ 169 err = copy_min_struct_from_user(&ruleset_attr, sizeof(ruleset_attr), 170 offsetofend(typeof(ruleset_attr), handled_access_fs), 171 attr, size); 172 if (err) 173 return err; 174 175 /* Checks content (and 32-bits cast). */ 176 if ((ruleset_attr.handled_access_fs | LANDLOCK_MASK_ACCESS_FS) != 177 LANDLOCK_MASK_ACCESS_FS) 178 return -EINVAL; 179 180 /* Checks arguments and transforms to kernel struct. */ 181 ruleset = landlock_create_ruleset(ruleset_attr.handled_access_fs); 182 if (IS_ERR(ruleset)) 183 return PTR_ERR(ruleset); 184 185 /* Creates anonymous FD referring to the ruleset. */ 186 ruleset_fd = anon_inode_getfd("landlock-ruleset", &ruleset_fops, 187 ruleset, O_RDWR | O_CLOEXEC); 188 if (ruleset_fd < 0) 189 landlock_put_ruleset(ruleset); 190 return ruleset_fd; 191 } 192
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |