On Tue, 2024-08-27 at 17:58 -0700, Martin KaFai Lau wrote: [...] > > +SEC("struct_ops/test_epilogue_exit") > > +__naked int test_epilogue_exit(void) > > +{ > > + asm volatile ( > > + "r1 = *(u64 *)(r1 +0);" > > + "r2 = *(u32 *)(r1 +0);" > > + "if r2 == 0 goto +3;" > > + "r0 = 0;" > > + "*(u32 *)(r1 + 0) = 0;" > > llvm17 cannot take "*(u32 *)(r1 +0) = 0". > > Instead: > > r3 = 0; > *(u32 *)(r1 + 0) = r3; > > The above solved the llvm17 error: > https://github.com/kernel-patches/bpf/actions/runs/10586206183/job/29334690461 > > However, there is still a zext with s390 that added extra insn and failed the > __xlated check. will try an adjustment in the tests to avoid the zext. Another option would be to limit archs for the test, e.g. use __arch_x86_64 and __arch_arm64.