]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bpf: Remove migrate_{disable|enable} in bpf_obj_free_fields()
authorHou Tao <houtao1@huawei.com>
Wed, 8 Jan 2025 01:07:23 +0000 (09:07 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 9 Jan 2025 02:06:36 +0000 (18:06 -0800)
The callers of bpf_obj_free_fields() have already guaranteed that the
migration is disabled, therefore, there is no need to invoke
migrate_{disable,enable} pair in bpf_obj_free_fields()'s underly
implementation.

This patch removes unnecessary migrate_{disable|enable} pairs from
bpf_obj_free_fields() and its callees: bpf_list_head_free() and
bpf_rb_root_free().

Signed-off-by: Hou Tao <houtao1@huawei.com>
Link: https://lore.kernel.org/r/20250108010728.207536-12-houtao@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/helpers.c
kernel/bpf/syscall.c

index cd5f9884d85bf793bec7e80eb2726b0b2911fc15..bcda671feafd96dc3b399c9d6d7c80ef663fb8e8 100644 (file)
@@ -2066,9 +2066,7 @@ unlock:
                /* The contained type can also have resources, including a
                 * bpf_list_head which needs to be freed.
                 */
-               migrate_disable();
                __bpf_obj_drop_impl(obj, field->graph_root.value_rec, false);
-               migrate_enable();
        }
 }
 
@@ -2105,9 +2103,7 @@ void bpf_rb_root_free(const struct btf_field *field, void *rb_root,
                obj -= field->graph_root.node_offset;
 
 
-               migrate_disable();
                __bpf_obj_drop_impl(obj, field->graph_root.value_rec, false);
-               migrate_enable();
        }
 }
 
index 5d2420492946130c9cc157ea970777a5571233c5..0daf098e32074ba708545df61e5b414ad7fbaa02 100644 (file)
@@ -796,11 +796,9 @@ void bpf_obj_free_fields(const struct btf_record *rec, void *obj)
                        if (!btf_is_kernel(field->kptr.btf)) {
                                pointee_struct_meta = btf_find_struct_meta(field->kptr.btf,
                                                                           field->kptr.btf_id);
-                               migrate_disable();
                                __bpf_obj_drop_impl(xchgd_field, pointee_struct_meta ?
                                                                 pointee_struct_meta->record : NULL,
                                                                 fields[i].type == BPF_KPTR_PERCPU);
-                               migrate_enable();
                        } else {
                                field->kptr.dtor(xchgd_field);
                        }