Description of problem: Anolis23 x86_64 ECS环境社区nightly kernel-selftests测net.reuseaddr_ports_exhausted.sh测试异常。 Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: rpm -ivh xxx.src.rpm 默认安装到/root下 yum-builddep -y rpmbuild/SPECS/kernel.spec 自动安装前置依赖包,需要yum-utils rpmbuild -bp ./rpmbuild/SPECS/kernel.spec # 这个步骤会打相关的patch, 解压缩tar包,生成BUILD目录 cd rpmbuild/BUILD/kernel-xxx/linux-xxx/ cd /tools/testing/selftests/net make ./reuseaddr_ports_exhausted.sh Actual results: [root@qibo-anolis23-nightly-func-x86-1 net]# ./reuseaddr_ports_exhausted.sh TAP version 13 1..3 # Starting 3 tests from 1 test cases. # RUN global.reuseaddr_ports_exhausted_unreusable ... # OK global.reuseaddr_ports_exhausted_unreusable ok 1 global.reuseaddr_ports_exhausted_unreusable # RUN global.reuseaddr_ports_exhausted_reusable_same_euid ... # OK global.reuseaddr_ports_exhausted_reusable_same_euid ok 2 global.reuseaddr_ports_exhausted_reusable_same_euid # RUN global.reuseaddr_ports_exhausted_reusable_different_euid ... # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:Expected -1 (-1) == ret (0) # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:should fail to listen because only one uid reserves the port in TCP_LISTEN. # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:Expected -1 (-1) == ret (0) # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:should fail to listen because only one uid reserves the port in TCP_LISTEN. # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:Expected -1 (-1) == ret (0) # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:should fail to listen because only one uid reserves the port in TCP_LISTEN. # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:Expected -1 (-1) == ret (0) # reuseaddr_ports_exhausted.c:153:reuseaddr_ports_exhausted_reusable_different_euid:should fail to listen because only one uid reserves the port in TCP_LISTEN. # reuseaddr_ports_exhausted_reusable_different_euid: Test failed at step #13 # FAIL global.reuseaddr_ports_exhausted_reusable_different_euid not ok 3 global.reuseaddr_ports_exhausted_reusable_different_euid # FAILED: 2 / 3 tests passed. # Totals: pass:2 fail:1 xfail:0 xpass:0 skip:0 error:0 Expected results: case pass Additional info: [root@qibo-anolis23-nightly-func-x86-1 net]# uname -r 5.10.134-48.git.868a8003184f.an23.x86_64 [root@qibo-anolis23-nightly-func-x86-1 net]# cat /etc/anolis-release Anolis OS release 23 [root@qibo-anolis23-nightly-func-x86-1 net]# cat /proc/cmdline BOOT_IMAGE=(hd0,msdos1)/boot/vmlinuz-5.10.134-48.git.868a8003184f.an23.x86_64 root=UUID=ece72b7f-465b-433d-8b3b-e5fa53a04642 ro rhgb cryptomgr.notests rcupdate.rcu_cpu_stall_timeout=300 quiet biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295 cgroup.memory=nokmem crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M [root@qibo-anolis23-nightly-func-x86-1 net]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 7.6G 4.0K 7.6G 1% /dev/shm tmpfs 3.1G 648K 3.1G 1% /run /dev/vda1 40G 18G 23G 44% / tmpfs 7.6G 2.9G 4.7G 39% /tmp tmpfs 1.6G 0 1.6G 0% /run/user/0 [root@qibo-anolis23-nightly-func-x86-1 net]# free -g total used free shared buff/cache available Mem: 15 0 9 2 4 11 Swap: 0 0 0 [root@qibo-anolis23-nightly-func-x86-1 net]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 57 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: GenuineIntel BIOS Vendor ID: Alibaba Cloud Model name: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz BIOS Model name: pc-i440fx-2.1 CPU @ 0.0GHz BIOS CPU family: 1 CPU family: 6 Model: 106 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 Stepping: 6 BogoMIPS: 5399.99 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss h t syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulq dq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi pku ospke avx512_vbmi2 gfni vaes vpc lmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities Virtualization features: Hypervisor vendor: KVM Virtualization type: full Caches (sum of all): L1d: 96 KiB (2 instances) L1i: 64 KiB (2 instances) L2: 2.5 MiB (2 instances) L3: 48 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerabilities: Itlb multihit: Not affected L1tf: Not affected Mds: Not affected Meltdown: Not affected Mmio stale data: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown Retbleed: Not affected Spec store bypass: Vulnerable Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Spectre v2: Mitigation; Enhanced IBRS, RSB filling, PBRSB-eIBRS SW sequence Srbds: Not affected Tsx async abort: Not affected l info:
该case在Anolis8-5.10-x86_64环境中,手动验证是pass的
该case在 5.10.134-14_rc1.an23.x86_64内核下是pass的 ------------------ # selftests: net: reuseaddr_ports_exhausted.sh # TAP version 13 # 1..3 # # Starting 3 tests from 1 test cases. # # RUN global.reuseaddr_ports_exhausted_unreusable ... # # OK global.reuseaddr_ports_exhausted_unreusable # ok 1 global.reuseaddr_ports_exhausted_unreusable # # RUN global.reuseaddr_ports_exhausted_reusable_same_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_same_euid # ok 2 global.reuseaddr_ports_exhausted_reusable_same_euid # # RUN global.reuseaddr_ports_exhausted_reusable_different_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_different_euid # ok 3 global.reuseaddr_ports_exhausted_reusable_different_euid # # PASSED: 3 / 3 tests passed. # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 # tests done ok 40 selftests: net: reuseaddr_ports_exhausted.sh ------------------ 结果: { "testcase": "net.reuseaddr_ports_exhausted.sh", "value": "Pass"