diff --git a/net/core/filter.c b/net/core/filter.c index 68eabcba341605e97656fcc3404294b6f10400a3..a9a18196b25fa0ef5feb939708b7dc0c6f73e5c9 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -2849,7 +2849,7 @@ BPF_CALL_4(bpf_msg_push_data, struct sk_msg *, msg, u32, start, psge->length = start - offset; rsge.length -= psge->length; - rsge.offset += start; + rsge.offset += start - offset; sk_msg_iter_var_next(i); sg_unmark_end(psge);