aquasecurity / libbpfgo

eBPF library for Go. Powered by libbpf.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

log callback is passing escaped output

geyslan opened this issue · comments

As reported by @yanivagman, libbpf output is being passed via callback as escaped:

v(id=2733) R8_w=ctx(id=0,off=0,imm=0) R9=inv(id=2735) R10=fp0 fp-8=mmmmmmmm fp-16=mmmmmmmm fp-24=mmmmmmmm fp-32=mmmmmmmm fp-40=mmmmmmmm fp-48=mmmmmmmm fp-56=mmmmmmmm fp-64=mmmmmmmm fp-72=inv7628147 fp-80=inv7737014201346191213 fp-88=map_value fp-96=ctx fp-104=map_value fp-112=map_value fp-120=map_value fp-128=map_value fp-136=map_value fp-144=map_value fp-152=mmmmmmmm fp-160=invP500\n; u32 size = sizeof(event_context_t) + p->event->buf_off;\n7693: (07) r5 += 128\n; asm volatile(\"if %[size] < %[max_size] goto +1;\\n\"\n7694: (a5) if r5 < 0x7d80 goto pc+1\nThe sequence of 8193 jumps is too complex.\nprocessed 87116 insns (limit 1000000) max_states_per_insn 2 total_states 2835 peak_states 2835 mark_read 1000\n-- END PROG LOAD LOG --

instead of:

v(id=2733) R8_w=ctx(id=0,off=0,imm=0) R9=inv(id=2735) R10=fp0 fp-8=mmmmmmmm fp-16=mmmmmmmm fp-24=mmmmmmmm fp-32=mmmmmmmm fp-40=mmmmmmmm fp-48=mmmmmmmm fp-56=mmmmmmmm fp-64=mmmmmmmm fp-72=inv7628147 fp-80=inv7737014201346191213 fp-88=map_value fp-96=ctx fp-104=map_value fp-112=map_value fp-120=map_value fp-128=map_value fp-136=map_value fp-144=map_value fp-152=mmmmmmmm fp-160=invP500
; u32 size = sizeof(event_context_t) + p->event->buf_off;
7693: (07) r5 += 128
; asm volatile(\"if %[size] < %[max_size] goto +1;\n"
7694: (a5) if r5 < 0x7d80 goto pc+1
The sequence of 8193 jumps is too complex.
processed 87116 insns (limit 1000000) max_states_per_insn 2 total_states 2835 peak_states 2835 mark_read 1000
-- END PROG LOAD LOG --

See conclusion: #312 (comment)

Should we close this then ?

Yes. Should close this. The formatting must be a consumer responsibility.