Re: [PATCH v3 bpf-next 00/13] BPF indirect jumps

Eduard Zingerman
2025-09-19T16:49:05Z

[-- Attachment #1: Type: text/plain, Size: 1167 bytes --]

On Fri, 2025-09-19 at 14:57 +0000, Anton Protopopov wrote:
> 25/09/18 11:46PM, Eduard Zingerman wrote:
> > On Thu, 2025-09-18 at 09:38 +0000, Anton Protopopov wrote:
> > > This patchset implements a new type of map, instruction set, and uses
> > > it to build support for indirect branches in BPF (on x86). (The same
> > > map will be later used to provide support for indirect calls and static
> > > keys.) See [1], [2] for more context.
> >
> > With this patch-set on top of the bpf-next at commit [1],
> > I get a KASAN bug report [2] when running `./test_progs -t tailcalls`.
> > Does not happen w/o this series applied.
> > Kernel is compiled with gcc 15.2.1, selftests are compiled with clang
> > 20.1.8 (w/o gotox support).
> >
> > [1] 3547a61ee2fe ("Merge branch 'update-kf_rcu_protected'")
> > [2] https://gist.github.com/eddyz87/8f82545db32223d8a80d2ca69a47bbc2
> >
> > [...]
>
> Can't reproduce on my setup yet (but with the other set of compilers,
> will try to reproduce with ~ your versions).

Double-checked with `git clean -xfd` between retries, see same outcome
as before. Attaching script I use for kernel configuration.

[-- Attachment #2: kernel-config-addons --]
[-- Type: text/plain, Size: 939 bytes --]

# need ethernet device for ssh connection
CONFIG_E1000=y

# use sda as boot device
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y

# allow using gdb from outside the VM
CONFIG_GDB_SCRIPTS=y
CONFIG_DEBUG_PREEMPT=y
CONFIG_KGDB=y
CONFIG_UNWINDER_FRAME_POINTER=y
CONFIG_FRAME_POINTER=y

# should be useful, but idk
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_KVM_GUEST=y

# used by BPF exceptions
CONFIG_UNWINDER_ORC=y

# boot from vmlinux
CONFIG_PVH=y

# to avoid kernel build error about legacy openssl shiphers
CONFIG_MODULE_SIG_SHA512=y

# sched_ext
CONFIG_SCHED_CLASS_EXT=y

# address sanitizer
#CONFIG_HAVE_ARCH_KASAN=y
#CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
#CONFIG_CC_HAS_KASAN_GENERIC=y
#CONFIG_CC_HAS_KASAN_SW_TAGS=y
#CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
#CONFIG_CC_HAS_KASAN_MEMINTRINSIC_PREFIX=y
#CONFIG_KASAN_GENERIC=y
#CONFIG_KASAN_INLINE=y
#CONFIG_KASAN_STACK=y
#CONFIG_KASAN_VMALLOC=y

[-- Attachment #3: make-kernel-config.sh --]
[-- Type: application/x-shellscript, Size: 643 bytes --]