* [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.