On Mon, 2023-08-07 at 16:11 +0300, Eduard Zingerman wrote: [...] > $ bpftool prog dump jited id <some-id> > bpf_prog_ebeed182d92b487f: > 0: nopl (%rax,%rax) > 5: nop > 7: pushq %rbp > 8: movq %rsp, %rbp > b: subq $8, %rsp > 12: movl $553656332, -8(%rbp) > 19: movswq %bp, %rdi ; <---- Note movswq %bp ! > 1d: addq $-8, %rdi > 21: movl $3, %esi > 26: cmpq %rdi, %rsi > 29: jbe 0x2b > 2b: callq 0xffffffffe11c484c > 30: xorl %eax, %eax > 32: leave > 33: retq > > Note jit instruction #19 corresponding to BPF instruction #1, which > loads truncated and sign-extended value of %rbp's first byte as an > address of format string. Correction: sign-extended value of %rbp's first *two* bytes, disassembly with opcodes: 19: movswq %bp, %rdi 48 0f bf fd [...]