Follow-up to fix incorrect pruning when alignment tracking is in use and to properly clear regs after call to not leave stale data behind, also a fix that adds bpf_clone_redirect to the bpf_helper_changes_pkt_data helper and exposes correct map_flags for lpm map into fdinfo. For details, please see individual patches.
Thanks! v1 -> v2: - Reworked first patch so that env->strict_alignment is the final indicator on whether we have to deal with strict alignment rather than having CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS checks on various locations, so only checking env->strict_alignment is sufficient after that. Thanks for spotting, Dave! - Added patch 3 and 4. - Rest as is. Daniel Borkmann (5): bpf: fix incorrect pruning decision when alignment must be tracked bpf: properly reset caller saved regs after helper call and ld_abs/ind bpf: add bpf_clone_redirect to bpf_helper_changes_pkt_data bpf: fix wrong exposure of map_flags into fdinfo for lpm bpf: add various verifier test cases include/linux/filter.h | 10 ++ kernel/bpf/arraymap.c | 1 + kernel/bpf/lpm_trie.c | 1 + kernel/bpf/stackmap.c | 1 + kernel/bpf/verifier.c | 56 +++---- net/core/filter.c | 1 + tools/include/linux/filter.h | 10 ++ tools/testing/selftests/bpf/test_verifier.c | 239 +++++++++++++++++++++++++++- 8 files changed, 285 insertions(+), 34 deletions(-) -- 1.9.3