All of lore.kernel.org
 help / color / mirror / Atom feed
* [jimc:folio-pool-v2-lockdep 8/21] kernel/bpf/syscall.c:2090:49: error: passing argument 3 of 'folio_scratchpad_init_key' from incompatible pointer type
@ 2026-08-18  9:05 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-18  9:05 UTC (permalink / raw)
  To: Jim Cromie,  Łukasz Bartosik; +Cc: oe-kbuild-all

tree:   https://github.com/jimc/linux.git folio-pool-v2-lockdep
head:   e77ee8289ea0755b0ee299348504d4568f942d71
commit: 2432ceb7a7491e75e80ba99c95a327d7f5eb1bf2 [8/21] bpf/syscall: Route generic_map_update_batch key/value allocations to folio_scratchpad
config: alpha-allmodconfig (https://download.01.org/0day-ci/archive/20260818/202608181733.nvO2seJ2-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260818/202608181733.nvO2seJ2-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608181733.nvO2seJ2-lkp@intel.com/

Note: the jimc/folio-pool-v2-lockdep HEAD e77ee8289ea0755b0ee299348504d4568f942d71 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   kernel/bpf/syscall.c: In function 'generic_map_update_batch':
>> kernel/bpf/syscall.c:2090:49: error: passing argument 3 of 'folio_scratchpad_init_key' from incompatible pointer type [-Wincompatible-pointer-types]
    2090 |         folio_scratchpad_init_key(&batch_sp, 0, &bpf_batch_scratchpad_key);
         |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
         |                                                 |
         |                                                 struct static_key_true *
   In file included from include/linux/bpf_verifier.h:901,
                    from kernel/bpf/syscall.c:9:
   include/linux/folio_pool.h:104:51: note: expected 'struct static_key *' but argument is of type 'struct static_key_true *'
     104 |                                struct static_key *key);
         |                                ~~~~~~~~~~~~~~~~~~~^~~


vim +/folio_scratchpad_init_key +2090 kernel/bpf/syscall.c

  2064	
  2065	int generic_map_update_batch(struct bpf_map *map, struct file *map_file,
  2066				     const union bpf_attr *attr,
  2067				     union bpf_attr __user *uattr)
  2068	{
  2069		void __user *values = u64_to_user_ptr(attr->batch.values);
  2070		void __user *keys = u64_to_user_ptr(attr->batch.keys);
  2071		struct folio_scratchpad batch_sp;
  2072		u32 value_size, cp, max_count;
  2073		void *key, *value;
  2074		int err = 0;
  2075	
  2076		err = bpf_map_check_op_flags(map, attr->batch.elem_flags,
  2077					     BPF_F_LOCK | BPF_F_CPU | BPF_F_ALL_CPUS);
  2078		if (err)
  2079			return err;
  2080	
  2081		value_size = bpf_map_value_size(map, attr->batch.elem_flags);
  2082	
  2083		max_count = attr->batch.count;
  2084		if (!max_count)
  2085			return 0;
  2086	
  2087		if (put_user(0, &uattr->batch.count))
  2088			return -EFAULT;
  2089	
> 2090		folio_scratchpad_init_key(&batch_sp, 0, &bpf_batch_scratchpad_key);
  2091	
  2092		key = folio_scratchpad_alloc(&batch_sp, map->key_size,
  2093					     sizeof(void *), GFP_USER | __GFP_NOWARN);
  2094		if (!key)
  2095			return -ENOMEM;
  2096	
  2097		value = folio_scratchpad_alloc(&batch_sp, value_size,
  2098					       sizeof(void *), GFP_USER | __GFP_NOWARN);
  2099		if (!value) {
  2100			folio_scratchpad_free(&batch_sp);
  2101			return -ENOMEM;
  2102		}
  2103	
  2104		for (cp = 0; cp < max_count; cp++) {
  2105			err = -EFAULT;
  2106			if (copy_from_user(key, keys + cp * map->key_size,
  2107			    map->key_size) ||
  2108			    copy_from_user(value, values + cp * value_size, value_size))
  2109				break;
  2110	
  2111			err = bpf_map_update_value(map, map_file, key, value,
  2112						   attr->batch.elem_flags);
  2113	
  2114			if (err)
  2115				break;
  2116			cond_resched();
  2117		}
  2118	
  2119		if (copy_to_user(&uattr->batch.count, &cp, sizeof(cp)))
  2120			err = -EFAULT;
  2121	
  2122		folio_scratchpad_free(&batch_sp);
  2123	
  2124		return err;
  2125	}
  2126	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-18  9:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18  9:05 [jimc:folio-pool-v2-lockdep 8/21] kernel/bpf/syscall.c:2090:49: error: passing argument 3 of 'folio_scratchpad_init_key' from incompatible pointer type kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.