* [kkdwivedi:arena-lazy-pte 4/6] kernel/bpf/arena.c:319:17: error: implicit declaration of function 'set_pte'; did you mean 'set_ptes'?
@ 2026-10-28 10:05 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-28 10:05 UTC (permalink / raw)
To: Kumar Kartikeya Dwivedi; +Cc: oe-kbuild-all
tree: https://github.com/kkdwivedi/linux arena-lazy-pte
head: ce19d941e895a85d7dc1e7d49e6b90b1262f7e79
commit: 71ddc46be0a854bf80bacf6c588aefd04049b95e [4/6] bpf: arena: Add the scratch PTE table and PMD-level fault recovery
config: powerpc64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20261028/202610281110.hVOgGluS-lkp@intel.com/config)
compiler: powerpc64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261028/202610281110.hVOgGluS-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/202610281110.hVOgGluS-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
kernel/bpf/arena.c: In function 'arena_pmd_is_scratch':
>> kernel/bpf/arena.c:307:36: warning: comparison between pointer and integer
307 | return pmd_page_vaddr(pmd) == (unsigned long)arena->scratch_pt;
| ^~
kernel/bpf/arena.c: In function 'arena_alloc_scratch_pt':
>> kernel/bpf/arena.c:319:17: error: implicit declaration of function 'set_pte'; did you mean 'set_ptes'? [-Wimplicit-function-declaration]
319 | set_pte(&arena->scratch_pt[i], pteval);
| ^~~~~~~
| set_ptes
vim +319 kernel/bpf/arena.c
294
295 /*
296 * A PMD slot of the band is in one of three states: none, holding the arena's
297 * scratch table, or holding a real table. The scratch table maps every page of
298 * its slot to the scratch page. Kernel-fault recovery installs it into a none
299 * slot, which keeps that path allocation-free: it runs from any context,
300 * including NMI, under memory exhaustion and with the arena lock held, and must
301 * never oops. The price is that one stray kernel access to an empty slot now
302 * backs 2 MB with scratch rather than one page; nothing real can live there,
303 * because a real page is only ever installed into a real table.
304 */
305 static bool arena_pmd_is_scratch(struct bpf_arena *arena, pmd_t pmd)
306 {
> 307 return pmd_page_vaddr(pmd) == (unsigned long)arena->scratch_pt;
308 }
309
310 static int arena_alloc_scratch_pt(struct bpf_arena *arena)
311 {
312 pte_t pteval = mk_pte(arena->scratch_page, PAGE_KERNEL);
313 unsigned long i;
314
315 arena->scratch_pt = arena_alloc_pt(arena, true);
316 if (!arena->scratch_pt)
317 return -ENOMEM;
318 for (i = 0; i < PTRS_PER_PTE; i++)
> 319 set_pte(&arena->scratch_pt[i], pteval);
320 /*
321 * The table is published much later, by the atomic PMD install in the
322 * fault handler, which orders these stores before the entry becomes
323 * visible. Make that explicit here, where the table is filled.
324 */
325 smp_wmb();
326 return 0;
327 }
328
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [kkdwivedi:arena-lazy-pte 4/6] kernel/bpf/arena.c:319:17: error: implicit declaration of function 'set_pte'; did you mean 'set_ptes'?
@ 2026-10-28 23:46 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-28 23:46 UTC (permalink / raw)
To: Kumar Kartikeya Dwivedi; +Cc: oe-kbuild-all
tree: https://github.com/kkdwivedi/linux arena-lazy-pte
head: ce19d941e895a85d7dc1e7d49e6b90b1262f7e79
commit: 71ddc46be0a854bf80bacf6c588aefd04049b95e [4/6] bpf: arena: Add the scratch PTE table and PMD-level fault recovery
config: sparc-randconfig-1000-20261028 (https://download.01.org/0day-ci/archive/20261029/202610290611.oQawVDDO-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 16.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261029/202610290611.oQawVDDO-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/202610290611.oQawVDDO-lkp@intel.com/
All errors (new ones prefixed by >>):
kernel/bpf/arena.c: In function 'arena_alloc_scratch_pt':
>> kernel/bpf/arena.c:319:17: error: implicit declaration of function 'set_pte'; did you mean 'set_ptes'? [-Wimplicit-function-declaration]
319 | set_pte(&arena->scratch_pt[i], pteval);
| ^~~~~~~
| set_ptes
vim +319 kernel/bpf/arena.c
309
310 static int arena_alloc_scratch_pt(struct bpf_arena *arena)
311 {
312 pte_t pteval = mk_pte(arena->scratch_page, PAGE_KERNEL);
313 unsigned long i;
314
315 arena->scratch_pt = arena_alloc_pt(arena, true);
316 if (!arena->scratch_pt)
317 return -ENOMEM;
318 for (i = 0; i < PTRS_PER_PTE; i++)
> 319 set_pte(&arena->scratch_pt[i], pteval);
320 /*
321 * The table is published much later, by the atomic PMD install in the
322 * fault handler, which orders these stores before the entry becomes
323 * visible. Make that explicit here, where the table is filled.
324 */
325 smp_wmb();
326 return 0;
327 }
328
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-28 23:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-28 10:05 [kkdwivedi:arena-lazy-pte 4/6] kernel/bpf/arena.c:319:17: error: implicit declaration of function 'set_pte'; did you mean 'set_ptes'? kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-10-28 23:46 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.