Message ID | 20210525035935.1461796-1-andrii@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | libbpf: error reporting changes for v1.0 | expand |
On Mon, May 24, 2021 at 9:04 PM Andrii Nakryiko <andrii@kernel.org> wrote: > > Implement error reporting changes discussed in "Libbpf: the road to v1.0" > ([0]) document. > > Libbpf gets a new API, libbpf_set_strict_mode() which accepts a set of flags > that turn on a set of libbpf 1.0 changes, that might be potentially breaking. > It's possible to opt-in into all current and future 1.0 features by specifying > LIBBPF_STRICT_ALL flag. > > When some of the 1.0 "features" are requested, libbpf APIs might behave > differently. In this patch set a first set of changes are implemented, all > related to the way libbpf returns errors. See individual patches for details. > > Patch #1 adds a no-op libbpf_set_strict_mode() functionality to enable > updating selftests. > > Patch #2 gets rid of all the bad code patterns that will break in libbpf 1.0 > (exact -1 comparison for low-level APIs, direct IS_ERR() macro usage to check > pointer-returning APIs for error, etc). These changes make selftest work in > both legacy and 1.0 libbpf modes. Selftests also opt-in into 100% libbpf 1.0 > mode to automatically gain all the subsequent changes, which will come in > follow up patches. > > Patch #3 streamlines error reporting for low-level APIs wrapping bpf() syscall. > > Patch #4 streamlines errors for all the rest APIs. > > Patch #5 ensures that BPF skeletons propagate errors properly as well, as > currently on error some APIs will return NULL with no way of checking exact > error code. > > [0] https://docs.google.com/document/d/1UyjTZuPFWiPFyKk1tV5an11_iaRuec6U-ZESZ54nNTY > > v1->v2: > - move libbpf_set_strict_mode() implementation to patch #1, where it belongs > (Alexei); > - add acks, slight rewording of commit messages. Applied. Thanks
Hello: This series was applied to bpf/bpf-next.git (refs/heads/master): On Mon, 24 May 2021 20:59:30 -0700 you wrote: > Implement error reporting changes discussed in "Libbpf: the road to v1.0" > ([0]) document. > > Libbpf gets a new API, libbpf_set_strict_mode() which accepts a set of flags > that turn on a set of libbpf 1.0 changes, that might be potentially breaking. > It's possible to opt-in into all current and future 1.0 features by specifying > LIBBPF_STRICT_ALL flag. > > [...] Here is the summary with links: - [v2,bpf-next,1/5] libbpf: add libbpf_set_strict_mode() API to turn on libbpf 1.0 behaviors https://git.kernel.org/bpf/bpf-next/c/5981881d21df - [v2,bpf-next,2/5] selftests/bpf: turn on libbpf 1.0 mode and fix all IS_ERR checks https://git.kernel.org/bpf/bpf-next/c/bad2e478af3b - [v2,bpf-next,3/5] libbpf: streamline error reporting for low-level APIs https://git.kernel.org/bpf/bpf-next/c/f12b65432728 - [v2,bpf-next,4/5] libbpf: streamline error reporting for high-level APIs https://git.kernel.org/bpf/bpf-next/c/e9fc3ce99b34 - [v2,bpf-next,5/5] bpftool: set errno on skeleton failures and propagate errors https://git.kernel.org/bpf/bpf-next/c/9c6c0449deb4 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html