Bug 19079 - [ANCK6.6.71-3 rc1][aarch64][倚天710机器]kernel-selftests测试套bpf编译失败
Summary: [ANCK6.6.71-3 rc1][aarch64][倚天710机器]kernel-selftests测试套bpf编译失败
Status: CLOSED WONTFIX
Alias: None
Product: Antest
Classification: Infrastructures
Component: 测试用例 (show other bugs) 测试用例
Version: unspecified
Hardware: aarch64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: zhangxinyi
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-27 15:55 UTC by zhixin01
Modified: 2025-03-06 10:40 UTC (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zhixin01 alibaba_cloud_group 2025-02-27 15:55:07 UTC
[缺陷描述]:
kernel-selftests测试套bpf编译失败
 
编译日志如下:
  TEST-OBJ [test_progs] bpf_obj_pinning.test.o
  EXT-OBJ  [test_progs] test_progs.o
  EXT-OBJ  [test_progs] cgroup_helpers.o
  EXT-OBJ  [test_progs] trace_helpers.o
  EXT-OBJ  [test_progs] network_helpers.o
  EXT-OBJ  [test_progs] btf_helpers.o
  EXT-OBJ  [test_progs] netlink_helpers.o
  EXT-OBJ  [test_progs] test_loader.o
  EXT-OBJ  [test_progs] xsk.o
  EXT-OBJ  [test_progs] disasm.o
  EXT-OBJ  [test_progs] json_writer.o
  LIB      liburandom_read.so
  BINARY   urandom_read
  MOD      bpf_testmod.ko
awk: fatal: cannot open file `include/generated/asm-offsets.h' for reading (No such file or directory)
  GEN     arch/arm64/include/generated/asm/orc_hash.h
  CC [M]  /root/rpmbuild/BUILD/kernel-6.6.71-3_rc1.al8/linux-6.6.71-3_rc1.al8.aarch64/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.o
gcc: error: missing argument to ‘-mstack-protector-guard-offset=’
make[3]: *** [scripts/Makefile.build:243: /root/rpmbuild/BUILD/kernel-6.6.71-3_rc1.al8/linux-6.6.71-3_rc1.al8.aarch64/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.o] Error 1
make[2]: *** [Makefile:1921: /root/rpmbuild/BUILD/kernel-6.6.71-3_rc1.al8/linux-6.6.71-3_rc1.al8.aarch64/tools/testing/selftests/bpf/bpf_testmod] Error 2
make[1]: *** [Makefile:16: all] Error 2
make: *** [Makefile:231: /root/rpmbuild/BUILD/kernel-6.6.71-3_rc1.al8/linux-6.6.71-3_rc1.al8.aarch64/tools/testing/selftests/bpf/bpf_testmod.ko] Error 2

[重现概率]:
必现

[重现环境]:
环境信息:倚天710机器
11.163.178.238

#uname -r
6.6.71-3_rc1.al8.aarch64

#cat /etc/os-release
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
UPDATE_ID="10"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"

#lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              128
On-line CPU(s) list: 0-127
Thread(s) per core:  1
Core(s) per socket:  128
Socket(s):           1
NUMA node(s):        2
Vendor ID:           ARM
BIOS Vendor ID:      T-HEAD
Model:               0
Model name:          Neoverse-N2
BIOS Model name:     Yitian710-128
Stepping:            r0p0
CPU MHz:             2750.000
BogoMIPS:            100.00
Hypervisor vendor:   Alibaba
Virtualization type: full
L1d cache:           64K
L1i cache:           64K
L2 cache:            1024K
L3 cache:            65536K
NUMA node0 CPU(s):   0-63
NUMA node1 CPU(s):   64-127
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh

#free -h
              total        used        free      shared  buff/cache   available
Mem:          125Gi       3.6Gi       121Gi        12Mi       1.0Gi       122Gi
Swap:         2.0Gi          0B       2.0Gi

#cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/boot/vmlinuz-6.6.71-3_rc1.al8.aarch64 root=UUID=d0af582f-7147-41de-85e3-deb2e14cde99 ro biosdevname=0 rd.driver.pre=ahci iommu.passthrough=1 iommu.strict=0 nospectre_bhb ssbd=force-off systemd.unified_cgroup_hierarchy=0 cgroup.memory=nokmem console=ttyS0,115200 fsck.repair=yes crashkernel=0M-2G:0M,2G-256G:256M,256G-1024G:320M,1024G-:384M

#gcc --version
gcc (GCC) 12.3.0 20230508 (Red Hat 12.3.0-1)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

[重现步骤]:
# 下载并编译用例
wget 内核对应src.rpm包(从这里获取https://koji.alibaba-inc.com/taskinfo?taskID=730244)
rpm -ivh xxx.src.rpm 默认安装到/root下
yum install yum-utils
yum-builddep -y /root/rpmbuild/SPECS/kernel.spec 自动安装前置依赖包 需要yum-utils
rpmbuild -bp /root/rpmbuild/SPECS/kernel.spec # 这个步骤会打相关的patch, 解压缩tar包,生成BUILD目录
cd /root/rpmbuild/BUILD/kernel-*/linux-*
make -C tools/testing/selftests/
cd /root/rpmbuild/BUILD/kernel-*/linux-*/tools/testing/selftests/bpf
make

[期望结果]:
kernel-selftests测试套bpf编译成功

[实际结果]:
bpf编译失败

[分析定位]
按照https://bugzilla.openanolis.cn/show_bug.cgi?id=8818,将tools/testing/selftests/bpf/Makefile 里的 testmod 相关内容去掉,可以编译成功

bpf编译失败是否需要解决,烦请开发同学确认下
Comment 1 zhangxinyi alibaba_cloud_group 2025-03-03 15:57:24 UTC
6.6内核kernerl-selftest中bpf测试需要修改编译命令
ln -s /lib/debug/lib/modules/$(uname -r)/vmlinux /lib/modules/$(uname -r)/build/
cd /root/rpmbuild/BUILD/kernel-*/linux-*/
make KDIR=/lib/modules/$(uname -r)/build/ -C tools/testing/selftests/bpf
Comment 2 zhixin01 alibaba_cloud_group 2025-03-06 10:39:56 UTC
按照上述方法,kernel-selftests测试套bpf编译成功,问题已解决,关闭bug单。

部分编译日志:
  EXT-OBJ  [test_progs] btf_helpers.o
  EXT-OBJ  [test_progs] netlink_helpers.o
  EXT-OBJ  [test_progs] test_loader.o
  EXT-OBJ  [test_progs] xsk.o
  EXT-OBJ  [test_progs] disasm.o
  EXT-OBJ  [test_progs] json_writer.o
  LIB      liburandom_read.so
  BINARY   urandom_read
  MOD      bpf_testmod.ko
  CC [M]  /var/tmp/tone/build/kernel-selftests/alk-source/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.o
  MODPOST /var/tmp/tone/build/kernel-selftests/alk-source/tools/testing/selftests/bpf/bpf_testmod/Module.symvers
  CC [M]  /var/tmp/tone/build/kernel-selftests/alk-source/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.mod.o
  LD [M]  /var/tmp/tone/build/kernel-selftests/alk-source/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.ko
  BTF [M] /var/tmp/tone/build/kernel-selftests/alk-source/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.ko
  BINARY   xdp_synproxy
  SIGN-FILE sign-file
  BINARY   uprobe_multi
  BINARY   test_progs
  BINARY   test_dev_cgroup
  BINARY   test_sock
  BINARY   test_sockmap
  BINARY   get_cgroup_id_user
  BINARY   test_cgroup_storage
  BINARY   test_tcpnotify_user
  BINARY   test_sysctl
  MKDIR    no_alu32
  CLNG-BPF [test_progs-no_alu32] btf__core_reloc_nesting___extra_nesting.bpf.o
  CLNG-BPF [test_progs-no_alu32] test_ksyms_module.bpf.o
  CLNG-BPF [test_progs-no_alu32] verifier_d_path.bpf.o
  CLNG-BPF [test_progs-no_alu32] xsk_xdp_progs.bpf.o
  CLNG-BPF [test_progs-no_alu32] test_static_linked2.bpf.o
  CLNG-BPF [test_progs-no_alu32] test_skb_cgroup_id_kern.bpf.o
  CLNG-BPF [test_progs-no_alu32] test_cls_redirect_subprogs.bpf.o
  CLNG-BPF [test_progs-no_alu32] test_core_reloc_nesting.bpf.o
  CLNG-BPF [test_progs-no_alu32] btf_dump_test_case_padding.bpf.o
  CLNG-BPF [test_progs-no_alu32] test_cls_redirect.bpf.o
  CLNG-BPF [test_progs-no_alu32] connect_ping.bpf.o
  CLNG-BPF [test_progs-no_alu32] verifier_raw_stack.bpf.o
  CLNG-BPF [test_progs-no_alu32] pyperf600.bpf.o
  CLNG-BPF [test_progs-no_alu32] atomics.bpf.o
  CLNG-BPF [test_progs-no_alu32] recvmsg6_prog.bpf.o
  CLNG-BPF [test_progs-no_alu32] verifier_typedef.bpf.o
  CLNG-BPF [test_progs-no_alu32] tcp_ca_write_sk_pacing.bpf.o