diff options
author | Liu Jian <[email protected]> | 2021-10-29 22:12:14 +0800 |
---|---|---|
committer | Daniel Borkmann <[email protected]> | 2021-11-01 17:08:21 +0100 |
commit | 7303524e04af49a47991e19f895c3b8cdc3796c7 (patch) | |
tree | 3f2050b6eb8fd1bdae37eda57fd6600828d12562 /tools/perf/util/trace-event-scripting.c | |
parent | 0133c20480b14820d43c37c0e9502da4bffcad3a (diff) |
skmsg: Lose offset info in sk_psock_skb_ingress
If sockmap enable strparser, there are lose offset info in
sk_psock_skb_ingress(). If the length determined by parse_msg function is not
skb->len, the skb will be converted to sk_msg multiple times, and userspace
app will get the data multiple times.
Fix this by get the offset and length from strp_msg. And as Cong suggested,
add one bit in skb->_sk_redir to distinguish enable or disable strparser.
Fixes: 604326b41a6fb ("bpf, sockmap: convert to generic sk_msg interface")
Signed-off-by: Liu Jian <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
Reviewed-by: Cong Wang <[email protected]>
Acked-by: John Fastabend <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions