I'm running test_verifier for testing, and I notice in my JIT that a 32-bit move from the frame pointer (BPF_REG_10) ends up in the JIT.
It is from this test: "unpriv: partial copy of pointer", .insns = { BPF_MOV32_REG(BPF_REG_1, BPF_REG_10), BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, .errstr_unpriv = "R10 partial copy", .result_unpriv = REJECT, .result = ACCEPT, It seems to suggest that privileged code is allowed to do this, but I can't think of a legitimate usage. I really want to be able to JIT anything the verifier accepts, but I have a hard time justifying adding 32-bit FP register move support, adjusting for the stack bias, etc. Thanks.