All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.