The 'n_buckets * (value_size + sizeof(struct stack_map_bucket))' part of the allocated memory for 'smap' is never used, get rid of it. Fixes: b936ca643ade ("bpf: rework memlock-based memory accounting for maps") Signed-off-by: Yuntao Wang <ytcoode@xxxxxxxxx> Link: https://lore.kernel.org/bpf/20220407130423.798386-1-ytcoode@xxxxxxxxx --- This is the modified version for 5.10, the original patch is: [ Upstream commit b45043192b3e481304062938a6561da2ceea46a6 ] It would be better if the new patch can be reviewed by someone else. kernel/bpf/stackmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c index 4575d2d60cb1..54fdcb78ad19 100644 --- a/kernel/bpf/stackmap.c +++ b/kernel/bpf/stackmap.c @@ -121,8 +121,8 @@ static struct bpf_map *stack_map_alloc(union bpf_attr *attr) return ERR_PTR(-E2BIG); cost = n_buckets * sizeof(struct stack_map_bucket *) + sizeof(*smap); - cost += n_buckets * (value_size + sizeof(struct stack_map_bucket)); - err = bpf_map_charge_init(&mem, cost); + err = bpf_map_charge_init(&mem, cost + n_buckets * + (value_size + sizeof(struct stack_map_bucket))); if (err) return ERR_PTR(err); -- 2.36.0