Do not use rlimit-based memory accounting for bpf local storage maps.
It has been replaced with the memcg-based memory accounting.

Signed-off-by: Roman Gushchin <g...@fb.com>
Acked-by: Song Liu <songliubrav...@fb.com>
---
 kernel/bpf/bpf_local_storage.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/kernel/bpf/bpf_local_storage.c b/kernel/bpf/bpf_local_storage.c
index abd0ea385274..0875bb46e96b 100644
--- a/kernel/bpf/bpf_local_storage.c
+++ b/kernel/bpf/bpf_local_storage.c
@@ -547,8 +547,6 @@ struct bpf_local_storage_map 
*bpf_local_storage_map_alloc(union bpf_attr *attr)
        struct bpf_local_storage_map *smap;
        unsigned int i;
        u32 nbuckets;
-       u64 cost;
-       int ret;
 
        smap = kzalloc(sizeof(*smap), GFP_USER | __GFP_NOWARN | __GFP_ACCOUNT);
        if (!smap)
@@ -559,18 +557,9 @@ struct bpf_local_storage_map 
*bpf_local_storage_map_alloc(union bpf_attr *attr)
        /* Use at least 2 buckets, select_bucket() is undefined behavior with 1 
bucket */
        nbuckets = max_t(u32, 2, nbuckets);
        smap->bucket_log = ilog2(nbuckets);
-       cost = sizeof(*smap->buckets) * nbuckets + sizeof(*smap);
-
-       ret = bpf_map_charge_init(&smap->map.memory, cost);
-       if (ret < 0) {
-               kfree(smap);
-               return ERR_PTR(ret);
-       }
-
        smap->buckets = kvcalloc(sizeof(*smap->buckets), nbuckets,
                                 GFP_USER | __GFP_NOWARN | __GFP_ACCOUNT);
        if (!smap->buckets) {
-               bpf_map_charge_finish(&smap->map.memory);
                kfree(smap);
                return ERR_PTR(-ENOMEM);
        }
-- 
2.26.2

Reply via email to