Commit Graph

20 Commits

Author SHA1 Message Date
Jesper Dangaard Brouer
e70136a68e ktrace-CO-RE: Adjust for newer libbpf API
‘bpf_program__next’ is deprecated: libbpf v0.7+:
       use bpf_object__next_program() instead

See: https://github.com/libbpf/libbpf/issues/296

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2022-09-02 14:45:42 +02:00
Jesper Dangaard Brouer
bdbc2aa6ee ktrace-CO-RE/ktrace01_kern: kprobe changed name to .isra.0
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-09-10 13:45:42 +02:00
Jesper Dangaard Brouer
0542d8a7a3 ktrace-CO-RE/ktrace01: Add --debug option to userspace loader
Use this --debug to better understand what libbpf does of
CO-RE relocation tricks and lookup of BTF-IDs.

Example output:

 [...]
 libbpf: loading kernel BTF '/sys/kernel/btf/vmlinux': 0
 libbpf: map 'ktrace01.data': created successfully, fd=4
 libbpf: sec 'kprobe/udp_send_skb': found 4 CO-RE relocations
 libbpf: prog 'udp_send_skb': relo #0: kind <byte_off> (0), spec is [2] struct pt_regs.di (0:14 @ offset 112)
 libbpf: CO-RE relocating [0] struct pt_regs: found target candidate [176] struct pt_regs in [vmlinux]
 libbpf: prog 'udp_send_skb': relo #0: matching candidate #0 [176] struct pt_regs.di (0:14 @ offset 112)
 libbpf: prog 'udp_send_skb': relo #0: patched insn #0 (LDX/ST/STX) off 112 -> 112
 libbpf: prog 'udp_send_skb': relo #1: kind <byte_off> (0), spec is [7] struct sk_buff___local.hash (0:1 @ offset 4)
 libbpf: CO-RE relocating [0] struct sk_buff___local: found target candidate [2965] struct sk_buff in [vmlinux]
 [...]

Notice how the BTF-ID of 'struct sk_buff' is resolved to be 2965.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-24 17:55:58 +02:00
Jesper Dangaard Brouer
2390b4b110 ktrace-CO-RE: Find running kernels BTF_ID for struct sk_buff
Using bpf_core_type_id_kernel to find kernels BTF_ID for SKB.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-24 14:34:31 +02:00
Jesper Dangaard Brouer
e0298638bd iktrace-CO-RE/ktrace01_kern.c: use attribute preserve_access_index
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-24 13:12:43 +02:00
Jesper Dangaard Brouer
7a05622440 ktrace-CO-RE: ktrace01 userspace side cleanup program
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-24 11:40:43 +02:00
Jesper Dangaard Brouer
4dc38c35b9 ktrace-CO-RE: ktrace01_kern.c print more info from SKB
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-24 09:02:19 +02:00
Jesper Dangaard Brouer
21d5dc3961 ktrace-CO-RE: Cleanup ktrace01_kern.c
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-17 13:10:59 +02:00
Jesper Dangaard Brouer
599646aa64 ktrace-CO-RE: Add bpf_printk statement in code
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-11 18:20:47 +02:00
Jesper Dangaard Brouer
566a14cb47 ktrace-CO-RE: Doc how I used bpftrace as pre-investigate tool
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-11 18:19:46 +02:00
Jesper Dangaard Brouer
13339a9760 ktrace-CO-RE: read /sys/kernel/debug/tracing/trace_pipe
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-11 18:18:36 +02:00
Jesper Dangaard Brouer
e26e1b970e ktrace-CO-RE: Cleanup
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-11 17:12:38 +02:00
Jesper Dangaard Brouer
54c0d52dd8 ktrace-CO-RE: README explain CPU architecture challenges
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-02 10:39:12 +02:00
Jesper Dangaard Brouer
ff5fef3dc9 headers/vmlinux: Add more archs powerpc and arm64
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-01 17:05:28 +02:00
Jesper Dangaard Brouer
8d44091df0 ktrace-CO-RE: remove debug code to troubleshoot tracing include
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-01 16:25:42 +02:00
Jesper Dangaard Brouer
064bc31354 headers/vmlinux: Add arch specific vmlinux.h defines
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-01 16:23:33 +02:00
Jesper Dangaard Brouer
f34f8d5787 headers/vmlinux: Add header files to shadow vmlinux.h
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-01 16:23:08 +02:00
Jesper Dangaard Brouer
cae6fcfbe2 ktrace: fight getting bpf/bpf_tracing.h working
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-06-01 14:44:58 +02:00
Jesper Dangaard Brouer
f11ff90d61 ktrace-CO-RE: Add trivial BPF-prog
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-05-31 18:58:01 +02:00
Jesper Dangaard Brouer
d2c3b9d8bc ktrace-CO-RE: Add README
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
2021-05-26 22:21:45 +02:00