Skip to content

Commit 5b00fd2

Browse files
committed
selftest: add --vmlinux flag and fix path resolution
- Add --vmlinux CLI argument to selftest (defaults to <kernel-src>/vmlinux) - Make kernel_src path absolute to fix resolution inside vng VMs - CI: explicitly pass --vmlinux staging/vmlinux Signed-off-by: Yunseong Kim <yunseong.kim@est.tech>
1 parent e280404 commit 5b00fd2

2 files changed

Lines changed: 16 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,35 +82,35 @@ jobs:
8282
if [ "$(uname -m)" = "x86_64" ]; then
8383
echo "Test 1: KCOV + syscall syzlang engines on KVM guest"
8484
85-
./vock selftest 1 --on vng-kvm --kernel-src staging
85+
./vock selftest 1 --on vng-kvm --kernel-src staging --vmlinux staging/vmlinux
8686
8787
echo "Test 2.1: Host HW + syscall syzlang engines"
8888
89-
sudo ./vock selftest 2 --on host --kernel-src staging
89+
sudo ./vock selftest 2 --on host --kernel-src staging --vmlinux staging/vmlinux
9090
9191
echo "Test 2.2: KVM Guest HW + syscall syzlang engines"
9292
93-
./vock selftest 2 --on vng-kvm --kernel-src staging
93+
./vock selftest 2 --on vng-kvm --kernel-src staging --vmlinux staging/vmlinux
9494
9595
echo "Test 2.3: KVM Guest HW + syscall syzlang engines"
9696
97-
./vock selftest 2 --on vng-kvm --kernel-src staging
97+
./vock selftest 2 --on vng-kvm --kernel-src staging --vmlinux staging/vmlinux
9898
else
9999
echo "Test 1: KCOV + syscall syzlang engines on KVM guest"
100100
101-
./vock selftest 1 --on vng-tcg --kernel-src staging
101+
./vock selftest 1 --on vng-tcg --kernel-src staging --vmlinux staging/vmlinux
102102
103103
echo "Test 2.1: Host HW + syscall syzlang engines"
104104
105-
sudo ./vock selftest 2 --on host --kernel-src staging
105+
sudo ./vock selftest 2 --on host --kernel-src staging --vmlinux staging/vmlinux
106106
107107
echo "Test 2.2: VM Guest HW + syscall syzlang engines"
108108
109-
./vock selftest 2 --on vng-tcg --kernel-src staging
109+
./vock selftest 2 --on vng-tcg --kernel-src staging --vmlinux staging/vmlinux
110110
111111
echo "Test 2.3: VM Guest HW + syscall syzlang engines"
112112
113-
./vock selftest 2 --on vng-tcg --kernel-src staging
113+
./vock selftest 2 --on vng-tcg --kernel-src staging --vmlinux staging/vmlinux
114114
fi
115115
116116
set -e

selftest/run.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def test_default(vock_dir, kernel_src, arch_info, syscall_on):
249249
return False
250250
log("PASS", "kernel configured + built")
251251

252-
vmlinux = os.path.join(kernel_src, "vmlinux")
252+
vmlinux = vmlinux_path
253253

254254
# ─── Group A: KCOV + vmlinux (source-level report) ───────────────────────
255255
print("\n── Group A: KCOV + vmlinux + syzlang ──")
@@ -364,7 +364,7 @@ def test_intel_pt(vock_dir, kernel_src, arch_info):
364364
log("PASS", "kernel configured + built")
365365

366366
print(f"\n[Test: {hw_type} + each --syscall]")
367-
vmlinux = os.path.join(kernel_src, "vmlinux")
367+
vmlinux = vmlinux_path
368368

369369
# Intel PT requires perf_event_paranoid <= 1 or root
370370
perf_pre = "echo -1 | sudo -n tee /proc/sys/kernel/perf_event_paranoid > /dev/null 2>&1 || true; "
@@ -474,7 +474,7 @@ def test_filter(vock_dir, kernel_src, arch_info):
474474
log("FAIL", "kernel configure+build failed"); return False
475475
log("PASS", "kernel configured + built")
476476

477-
vmlinux = os.path.join(kernel_src, "vmlinux")
477+
vmlinux = vmlinux_path
478478

479479
# Target: create/configure/destroy veth — exercises netlink write paths
480480
net_target = (
@@ -722,13 +722,17 @@ def main():
722722
help="execution target (default: vng-kvm)")
723723
parser.add_argument("--kernel-src", default=None,
724724
help="kernel source tree (default: $HOME/stable)")
725+
parser.add_argument("--vmlinux", default=None,
726+
help="path to vmlinux (default: <kernel-src>/vmlinux)")
725727
parser.add_argument("--llvm", default=None,
726728
help="LLVM suffix (e.g. -21, -20). Overrides auto-detect. Env: LLVM=")
727729
parser.add_argument("-v", "--verbose", action="store_true",
728730
help="show command output for debugging")
729731
args = parser.parse_args()
730732

731-
kernel_src = args.kernel_src or os.path.join(os.path.expanduser("~"), "stable")
733+
kernel_src = os.path.abspath(args.kernel_src or os.path.join(os.path.expanduser("~"), "stable"))
734+
global vmlinux_path
735+
vmlinux_path = os.path.abspath(args.vmlinux) if args.vmlinux else os.path.join(kernel_src, "vmlinux")
732736
vock_dir = find_vock_dir()
733737

734738
global LLVM_SUFFIX, RUN_TARGET, VERBOSE

0 commit comments

Comments
 (0)