mm/filemap.c:4249:1: sparse: sparse: Using plain integer as NULL pointer

From: kernel test robot
Date: Tue Nov 07 2023 - 11:30:31 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: be3ca57cfb777ad820c6659d52e60bbdd36bf5ff
commit: cf264e1329fb0307e044f7675849f9f38b44c11a cachestat: implement cachestat syscall
date: 5 months ago
config: s390-randconfig-r123-20231107 (https://download.01.org/0day-ci/archive/20231108/202311080014.GABRIG2T-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231108/202311080014.GABRIG2T-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311080014.GABRIG2T-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
mm/filemap.c:1416:17: sparse: sparse: context imbalance in 'migration_entry_wait_on_locked' - unexpected unlock
>> mm/filemap.c:4249:1: sparse: sparse: Using plain integer as NULL pointer
>> mm/filemap.c:4249:1: sparse: sparse: Using plain integer as NULL pointer
>> mm/filemap.c:4249:1: sparse: sparse: Using plain integer as NULL pointer
>> mm/filemap.c:4249:1: sparse: sparse: Using plain integer as NULL pointer

vim +4249 mm/filemap.c

4214
4215 /*
4216 * The cachestat(2) system call.
4217 *
4218 * cachestat() returns the page cache statistics of a file in the
4219 * bytes range specified by `off` and `len`: number of cached pages,
4220 * number of dirty pages, number of pages marked for writeback,
4221 * number of evicted pages, and number of recently evicted pages.
4222 *
4223 * An evicted page is a page that is previously in the page cache
4224 * but has been evicted since. A page is recently evicted if its last
4225 * eviction was recent enough that its reentry to the cache would
4226 * indicate that it is actively being used by the system, and that
4227 * there is memory pressure on the system.
4228 *
4229 * `off` and `len` must be non-negative integers. If `len` > 0,
4230 * the queried range is [`off`, `off` + `len`]. If `len` == 0,
4231 * we will query in the range from `off` to the end of the file.
4232 *
4233 * The `flags` argument is unused for now, but is included for future
4234 * extensibility. User should pass 0 (i.e no flag specified).
4235 *
4236 * Currently, hugetlbfs is not supported.
4237 *
4238 * Because the status of a page can change after cachestat() checks it
4239 * but before it returns to the application, the returned values may
4240 * contain stale information.
4241 *
4242 * return values:
4243 * zero - success
4244 * -EFAULT - cstat or cstat_range points to an illegal address
4245 * -EINVAL - invalid flags
4246 * -EBADF - invalid file descriptor
4247 * -EOPNOTSUPP - file descriptor is of a hugetlbfs file
4248 */
> 4249 SYSCALL_DEFINE4(cachestat, unsigned int, fd,

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki