[PATCH RFC v1 09/15] xdp: clear grow memory in bpf_xdp_adjust_tail()

Jesper Dangaard Brouer
2020-03-17T17:30:15Z

To reviewers: Need some opinions if this is needed?

(TODO: Squash patch)
---
net/core/filter.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/net/core/filter.c b/net/core/filter.c
index 0ceddee0c678..669f29992177 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -3432,6 +3432,12 @@ BPF_CALL_2(bpf_xdp_adjust_tail, struct xdp_buff *, xdp, int, offset)
if (unlikely(data_end < xdp->data + ETH_HLEN))
return -EINVAL;

+ // XXX: To reviewers: How paranoid are we? Do we really need to
+ /* clear memory area on grow, as in-theory can contain uninit kmem */
+ if (offset > 0) {
+ memset(xdp->data_end, 0, offset);
+ }
+
xdp->data_end = data_end;

return 0;