iovisor / ubpf

Userspace eBPF VM
Apache License 2.0
814 stars 132 forks source link

Crash if call target is not start of a function #480

Closed Alan-Jowett closed 4 months ago

Alan-Jowett commented 4 months ago
mov32 %r0, 0x2d0000
mov32 %r2, 0x95959595
exit
stxh [%r4+5140], %r1
call local 0xfffffffd

Generates

   0x7ffff763a000:      push   %rbp
   0x7ffff763a001:      push   %rbx
   0x7ffff763a002:      push   %r12
   0x7ffff763a004:      push   %r13
   0x7ffff763a006:      push   %r14
   0x7ffff763a008:      push   %r15
   0x7ffff763a00a:      mov    %rdi,%r11
   0x7ffff763a00d:      sub    $0x8,%rsp
   0x7ffff763a014:      mov    %rsp,%rbp
   0x7ffff763a017:      mov    %rdx,%r15
   0x7ffff763a01a:      add    %rcx,%r15
   0x7ffff763a01d:      call   0x7ffff763a027
   0x7ffff763a022:      jmp    0x7ffff763a088
   0x7ffff763a027:      sub    $0x8,%rsp
   0x7ffff763a02e:      movq   $0x0,(%rsp)
   0x7ffff763a036:      mov    $0x2d0000,%eax
   0x7ffff763a03c:      and    $0xffffffff,%eax
   0x7ffff763a042:      mov    $0x95959595,%esi
   0x7ffff763a048:      and    $0xffffffff,%esi
   0x7ffff763a04e:      sub    $0x8,%rsp
   0x7ffff763a055:      movq   $0x0,(%rsp)
   0x7ffff763a05d:      add    $0x8,%rsp
   0x7ffff763a064:      ret
hawkinsw commented 4 months ago

On it!