On Tue, Apr 9, 2019 at 2:09 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > This series is a major rework of previously submitted libbpf > patches [0] in order to add global data support for BPF. The > kernel has been extended to add proper infrastructure that allows > for full .bss/.data/.rodata sections on BPF loader side based > upon feedback from LPC discussions [1]. Latter support is then > also added into libbpf in this series which allows for more > natural C-like programming of BPF programs. For more information > on loader, please refer to 'bpf, libbpf: support global data/bss/ > rodata sections' patch in this series. > > Thanks a lot! > > v5 -> v6: > - Removed synchronize_rcu() from map freeze (Jann) > - Rest as-is > v4 -> v5: > - Removed index selection again for ldimm64 (Alexei) > - Adapted related test cases and added new ones to test > rejection of off != 0 > v3 -> v4: > - Various fixes in BTF verification e.g. to disallow > Var and DataSec to be an intermediate type during resolve (Martin) > - More BTF test cases added > - Few cleanups in key-less BTF commit (Martin) > - Bump libbpf minor version from 2 to 3 > - Renamed and simplified read-only locking > - Various minor improvements all over the place > v2 -> v3: > - Implement BTF support in kernel, libbpf, bpftool, add tests > - Fix idx + off conversion (Andrii) > - Document lower / higher bits for direct value access (Andrii) > - Add tests with small value size (Andrii) > - Add index selection into ldimm64 (Andrii) > - Fix missing fdput() (Jann) > - Reject invalid flags in BPF_F_*_PROG (Jakub) > - Complete rework of libbpf support, includes: > - Add objname to map name (Stanislav) > - Make .rodata map full read-only after setup (Andrii) > - Merge relocation handling into single one (Andrii) > - Store global maps into obj->maps array (Andrii, Alexei) > - Debug message when skipping section (Andrii) > - Reject non-static global data till we have > semantics for sharing them (Yonghong, Andrii, Alexei) > - More test cases and completely reworked prog test (Alexei) > - Fixes, cleanups, etc all over the set > - Not yet addressed: > - Make BTF mandatory for these maps (Alexei) > -> Waiting till BTF support for these lands first > v1 -> v2: > - Instead of 32-bit static data, implement full global > data support (Alexei) > > [0] https://patchwork.ozlabs.org/cover/1040290/ > [1] http://vger.kernel.org/lpc-bpf2018.html#session-3 Applied to bpf-next. Thanks!