Skip to content

Instantly share code, notes, and snippets.

View hfingler's full-sized avatar

Henrique Fingler hfingler

  • Austin, TX
View GitHub Profile
scripts/config --enable CONFIG_BPF
scripts/config --enable CONFIG_BPF_SYSCALL
scripts/config --enable CONFIG_HAVE_EBPF_JIT
scripts/config --enable CONFIG_BPF_JIT
scripts/config --enable CONFIG_BPF_JIT_ALWAYS_ON
scripts/config --enable CONFIG_DEBUG_INFO_BTF
scripts/config --enable CONFIG_DEBUG_INFO_BTF_MODULES
scripts/config --enable CONFIG_CGROUPS
scripts/config --enable CONFIG_CGROUP_BPF
@hfingler
hfingler / gist:eb544b23cc36d57b8e9723cd36fbf243
Last active September 30, 2022 21:59
libbpfs kfunc functions
// SPDX-License-Identifier: GPL-2.0
#include "vmlinux.h"
#include <bpf/bpf_helpers.h>
extern __u64 bpf_kfunc_call_test1(struct sock *sk, __u32 a, __u64 b,
__u32 c, __u64 d) __ksym;
extern __u64 bpf_kfunc_call_test4(__u32 a, __u64 b,
__u32 c, __u64 d) __ksym;
@hfingler
hfingler / gist:5c2c0b713299daa6b0ba07fa92ff29de
Created September 30, 2022 21:54
libbpf kfunc Permission denied
libbpf: loading object 'hello_bpf' from buffer
libbpf: elf: section(3) tc, size 152, link 0, flags 6, type=1
libbpf: sec 'tc': found program 'kfunc_call_test1' at insn offset 0 (0 bytes), code size 19 insns (152 bytes)
libbpf: elf: section(4) .reltc, size 16, link 11, flags 40, type=9
libbpf: elf: section(5) license, size 4, link 0, flags 3, type=1
libbpf: license of hello_bpf is GPL
libbpf: elf: section(6) .BTF, size 89879, link 0, flags 0, type=1
libbpf: elf: section(8) .BTF.ext, size 236, link 0, flags 0, type=1
libbpf: elf: section(11) .symtab, size 144, link 1, flags 0, type=2
libbpf: looking for externs among 6 symbols...
@hfingler
hfingler / gist:ac69e286f9e527dfd678ef2d768e757c
Created September 28, 2022 20:48
output of bpf handle_tp
libbpf: loading object 'hello_bpf' from buffer
libbpf: elf: section(3) tp/raw_syscalls/sys_enter, size 192, link 0, flags 6, type=1
libbpf: sec 'tp/raw_syscalls/sys_enter': found program 'handle_tp' at insn offset 0 (0 bytes), code size 24 insns (192 bytes)
libbpf: elf: section(4) .reltp/raw_syscalls/sys_enter, size 64, link 13, flags 40, type=9
libbpf: elf: section(5) .bss, size 4, link 0, flags 3, type=8
libbpf: elf: section(6) .rodata, size 56, link 0, flags 2, type=1
libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1
libbpf: license of hello_bpf is GPL
libbpf: elf: section(8) .BTF, size 89296, link 0, flags 0, type=1
libbpf: elf: section(10) .BTF.ext, size 192, link 0, flags 0, type=1
@hfingler
hfingler / gist:dc96af45d87004d0dc412e35be31709c
Created September 28, 2022 20:44
output of bpf kfunc_call_test1
libbpf: loading object 'hello_bpf' from buffer
libbpf: elf: section(3) classifier, size 112, link 0, flags 6, type=1
libbpf: sec 'classifier': found program 'kfunc_call_test1' at insn offset 0 (0 bytes), code size 14 insns (112 bytes)
libbpf: elf: section(4) .relclassifier, size 32, link 13, flags 40, type=9
libbpf: elf: section(5) .bss, size 4, link 0, flags 3, type=8
libbpf: elf: section(6) .rodata, size 28, link 0, flags 2, type=1
libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1
libbpf: license of hello_bpf is GPL
libbpf: elf: section(8) .BTF, size 89875, link 0, flags 0, type=1
libbpf: elf: section(10) .BTF.ext, size 112, link 0, flags 0, type=1
@hfingler
hfingler / gist:322ca816d598c7a92dbc10048cd61bb3
Created September 27, 2022 13:50
Output of apt --simulate install libudev-dev on Ubuntu 22.04
NOTE: This is only a simulation!
apt needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
adwaita-icon-theme bolt eatmydata finalrd fwupd-signed gir1.2-packagekitglib-1.0 gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme initramfs-tools-bin klibc-utils libappstream4 libatasmart4 libatk-bridge2.0-0 libatk1.0-0
libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2
@hfingler
hfingler / gist:f5597511af0ddf9d0b8ba4ca82bdf781
Created January 30, 2020 19:09
Alpine container to build aws-sdk-cpp
#save this to Dockerfile.x86_64
#to build, run something like: $docker build --rm -t alpine-awssdk:latest -f Dockerfile.x86_64 .
FROM alpine:edge
RUN apk add git emacs g++ make cmake zlib-dev openssl-dev curl-dev perl nghttp2-static boost-dev build-base
RUN cd / && git clone https://github.com/aws/aws-sdk-cpp.git && \
mkdir -p sdkbuild && cd sdkbuild && cmake -DBUILD_ONLY="s3;transfer" -DCMAKE_INSTALL_PREFIX=/musl \
-DBUILD_SHARED_LIBS=OFF -DENABLE_TESTING=OFF -DFORCE_SHARED_CRT=OFF \