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>
                /* 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();
        }
 }
 
                obj -= field->graph_root.node_offset;
 
 
-               migrate_disable();
                __bpf_obj_drop_impl(obj, field->graph_root.value_rec, false);
-               migrate_enable();
        }
 }
 
 
                        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);
                        }