diff --git a/driver/bpf/fillers.h b/driver/bpf/fillers.h index 7a483bef76..b0a536ed50 100644 --- a/driver/bpf/fillers.h +++ b/driver/bpf/fillers.h @@ -456,11 +456,11 @@ static __always_inline int bpf_parse_readv_writev_bufs(struct filler_data *data, #ifdef BPF_FORBIDS_ZERO_ACCESS if (to_read) - if (bpf_probe_read(&data->buf[off & SCRATCH_SIZE_HALF], + if (bpf_probe_read(&data->buf[off & SCRATCH_SIZE_HALF - 1], ((to_read - 1) & SCRATCH_SIZE_HALF) + 1, iov[j].iov_base)) #else - if (bpf_probe_read(&data->buf[off & SCRATCH_SIZE_HALF], + if (bpf_probe_read(&data->buf[off & SCRATCH_SIZE_HALF - 1], to_read & SCRATCH_SIZE_HALF, iov[j].iov_base)) #endif