On Mon, Jul 27, 2020 at 12:22 PM Roman Gushchin <guro@xxxxxx> wrote: > > Do not use rlimit-based memory accounting for cpumap maps. > It has been replaced with the memcg-based memory accounting. > > Signed-off-by: Roman Gushchin <guro@xxxxxx> Acked-by: Song Liu <songliubraving@xxxxxx> > --- > kernel/bpf/cpumap.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/kernel/bpf/cpumap.c b/kernel/bpf/cpumap.c > index 74ae9fcbe82e..50f3444a3301 100644 > --- a/kernel/bpf/cpumap.c > +++ b/kernel/bpf/cpumap.c > @@ -86,8 +86,6 @@ static struct bpf_map *cpu_map_alloc(union bpf_attr *attr) > u32 value_size = attr->value_size; > struct bpf_cpu_map *cmap; > int err = -ENOMEM; > - u64 cost; > - int ret; > > if (!bpf_capable()) > return ERR_PTR(-EPERM); > @@ -111,26 +109,14 @@ static struct bpf_map *cpu_map_alloc(union bpf_attr *attr) > goto free_cmap; > } > > - /* make sure page count doesn't overflow */ > - cost = (u64) cmap->map.max_entries * sizeof(struct bpf_cpu_map_entry *); > - > - /* Notice returns -EPERM on if map size is larger than memlock limit */ > - ret = bpf_map_charge_init(&cmap->map.memory, cost); > - if (ret) { > - err = ret; > - goto free_cmap; > - } > - > /* Alloc array for possible remote "destination" CPUs */ > cmap->cpu_map = bpf_map_area_alloc(cmap->map.max_entries * > sizeof(struct bpf_cpu_map_entry *), > cmap->map.numa_node); > if (!cmap->cpu_map) > - goto free_charge; > + goto free_cmap; > > return &cmap->map; > -free_charge: > - bpf_map_charge_finish(&cmap->map.memory); > free_cmap: > kfree(cmap); > return ERR_PTR(err); > -- > 2.26.2 >