If a socket is running a BPF_SK_SKB_SREAM_VERDICT program and KTLS is enabled the data stream may be broken if both TLS stream parser and BPF stream parser try to handle data. Fix this here by making KTLS stream parser run first to ensure TLS messages are received correctly and then calling the verdict program. This analogous to how we handle a similar conflict on the TX side. Note, this is a fix but it doesn't make sense to push this late to bpf tree so targeting bpf-next and keeping fixes tags. --- John Fastabend (3): bpf: refactor sockmap redirect code so its easy to reuse bpf: fix running sk_skb program types with ktls bpf, selftests: add test for ktls with skb bpf ingress policy include/linux/skmsg.h | 8 + include/net/tls.h | 9 + net/core/skmsg.c | 98 +++++++++--- net/tls/tls_sw.c | 20 ++ .../selftests/bpf/progs/test_sockmap_kern.h | 46 ++++++ tools/testing/selftests/bpf/test_sockmap.c | 163 +++++++++++++++++--- 6 files changed, 296 insertions(+), 48 deletions(-) -- Signature