From: kernel test robot <lkp@intel.com>
To: Jiri Olsa <jolsa@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC bpf-next 4/9] bpf: Add kfuncs to allocate and seal user pages
Date: Mon, 26 Oct 2026 23:27:17 +0800 [thread overview]
Message-ID: <202610262325.yiL2BU9U-lkp@intel.com> (raw)
In-Reply-To: <20261021195759.119421-5-jolsa@kernel.org>
Hi Jiri,
[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:
[auto build test ERROR on bpf-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Jiri-Olsa/bpf-Add-__srcptr-kfunc-argument-suffix/20261021-215750
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20261021195759.119421-5-jolsa%40kernel.org
patch subject: [RFC bpf-next 4/9] bpf: Add kfuncs to allocate and seal user pages
config: sparc64-allmodconfig (https://download.01.org/0day-ci/archive/20261026/202610262325.yiL2BU9U-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261026/202610262325.yiL2BU9U-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/202610262325.yiL2BU9U-lkp@intel.com/
All errors (new ones prefixed by >>):
>> kernel/bpf/helpers.c:3855:2: error: call to undeclared function 'flush_icache_user_page'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
3855 | flush_icache_user_page(vma, page, addr, PAGE_SIZE);
| ^
1 error generated.
vim +/flush_icache_user_page +3855 kernel/bpf/helpers.c
3807
3808 /**
3809 * bpf_user_page_exec() - Make a BPF-allocated user page read/execute
3810 * @addr: Address of the page to change
3811 *
3812 * Changes a writable page created by bpf_user_page_alloc() to read/execute.
3813 * The page cannot be made writable again after this call.
3814 *
3815 * Return: 0 on success, or a negative error code.
3816 */
3817 __bpf_kfunc int bpf_user_page_exec(unsigned long addr)
3818 {
3819 struct mm_struct *mm = current->mm;
3820 struct vm_area_struct *vma;
3821 struct page *page;
3822 int err = -EINVAL;
3823
3824 if (unlikely(in_interrupt() ||
3825 current->flags & (PF_KTHREAD | PF_EXITING)))
3826 return -EPERM;
3827 if (unlikely(!nmi_uaccess_okay()))
3828 return -EPERM;
3829 if (unlikely(!mm))
3830 return -EFAULT;
3831 if ((addr & ~PAGE_MASK) || addr > ULONG_MAX - PAGE_SIZE)
3832 return -EINVAL;
3833
3834 if (mmap_write_lock_killable(mm))
3835 return -EINTR;
3836
3837 vma = find_vma(mm, addr);
3838 if (!vma || vma->vm_start > addr)
3839 goto out;
3840 /* Allow to change only vma allocated by bpf_user_page_alloc. */
3841 if (vma->vm_private_data != &bpf_user_page_marker)
3842 goto out;
3843 if (!(vma->vm_flags & VM_WRITE) || !(vma->vm_flags & VM_MAYEXEC))
3844 goto out;
3845
3846 vma_start_write(vma);
3847
3848 err = get_user_pages(addr, 1, FOLL_WRITE, &page);
3849 if (err != 1) {
3850 if (!err)
3851 err = -EFAULT;
3852 goto out;
3853 }
3854
> 3855 flush_icache_user_page(vma, page, addr, PAGE_SIZE);
3856 err = do_mprotect_pkey_locked(addr, PAGE_SIZE, PROT_READ | PROT_EXEC, -1);
3857 if (!err) {
3858 vma = find_vma(mm, addr);
3859 vm_flags_clear(vma, VM_MAYWRITE);
3860 }
3861 put_page(page);
3862 out:
3863 mmap_write_unlock(mm);
3864 return err;
3865 }
3866
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-10-26 15:27 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 19:57 [RFC bpf-next 0/9] bpf: Add support to allocate user page Jiri Olsa
2026-10-21 19:57 ` [RFC bpf-next 1/9] bpf: Add __srcptr kfunc argument suffix Jiri Olsa
2026-10-21 20:16 ` sashiko-bot
2026-10-21 19:57 ` [RFC bpf-next 2/9] bpf: Add uprobe faultable user copy kfunc Jiri Olsa
2026-10-21 20:22 ` sashiko-bot
2026-10-21 20:30 ` bot+bpf-ci
2026-10-21 19:57 ` [RFC bpf-next 3/9] mm: Expose locked mprotect operation Jiri Olsa
2026-10-21 20:30 ` bot+bpf-ci
2026-10-22 10:25 ` Lorenzo Stoakes (ARM)
2026-10-22 19:39 ` Jiri Olsa
2026-10-21 19:57 ` [RFC bpf-next 4/9] bpf: Add kfuncs to allocate and seal user pages Jiri Olsa
2026-10-21 20:28 ` sashiko-bot
2026-10-21 20:41 ` bot+bpf-ci
2026-10-26 12:51 ` kernel test robot
2026-10-26 15:27 ` kernel test robot [this message]
2026-10-21 19:57 ` [RFC bpf-next 5/9] selftests/bpf: Add __srcptr kfunc arguments test Jiri Olsa
2026-10-21 19:57 ` [RFC bpf-next 6/9] selftests/bpf: Add user page allocation test Jiri Olsa
2026-10-21 19:57 ` [RFC bpf-next 7/9] selftests/bpf: Add uprobe user page exec test Jiri Olsa
2026-10-21 19:57 ` [RFC bpf-next 8/9] selftests/bpf: Add faultable user page writes test Jiri Olsa
2026-10-21 19:57 ` [RFC bpf-next 9/9] selftests/bpf: Add user page failures test Jiri Olsa
2026-10-21 20:30 ` bot+bpf-ci
2026-10-21 21:53 ` [RFC bpf-next 0/9] bpf: Add support to allocate user page Alexei Starovoitov
2026-10-22 10:01 ` Jiri Olsa
2026-10-22 10:27 ` Lorenzo Stoakes (ARM)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202610262325.yiL2BU9U-lkp@intel.com \
--to=lkp@intel.com \
--cc=jolsa@kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.