Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e77cc47 authored by Matthew Wilcox's avatar Matthew Wilcox
Browse files

Convert net_namespace to new IDA API

parent 4c9ca2fd
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -973,22 +973,18 @@ static int register_pernet_operations(struct list_head *list,
	int error;

	if (ops->id) {
again:
		error = ida_get_new_above(&net_generic_ids, MIN_PERNET_OPS_ID, ops->id);
		if (error < 0) {
			if (error == -EAGAIN) {
				ida_pre_get(&net_generic_ids, GFP_KERNEL);
				goto again;
			}
		error = ida_alloc_min(&net_generic_ids, MIN_PERNET_OPS_ID,
				GFP_KERNEL);
		if (error < 0)
			return error;
		}
		*ops->id = error;
		max_gen_ptrs = max(max_gen_ptrs, *ops->id + 1);
	}
	error = __register_pernet_operations(list, ops);
	if (error) {
		rcu_barrier();
		if (ops->id)
			ida_remove(&net_generic_ids, *ops->id);
			ida_free(&net_generic_ids, *ops->id);
	}

	return error;
@@ -999,7 +995,7 @@ static void unregister_pernet_operations(struct pernet_operations *ops)
	__unregister_pernet_operations(ops);
	rcu_barrier();
	if (ops->id)
		ida_remove(&net_generic_ids, *ops->id);
		ida_free(&net_generic_ids, *ops->id);
}

/**