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

Commit 9c160941 authored by Matthew Wilcox's avatar Matthew Wilcox
Browse files

idr: Delete idr_remove_ext function



Simply changing idr_remove's 'id' argument to 'unsigned long' suffices
for all callers.

Signed-off-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
parent 6e6d3014
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -140,16 +140,11 @@ void *idr_replace(struct idr *, void *, int id);
void *idr_replace_ext(struct idr *idr, void *ptr, unsigned long id);
void idr_destroy(struct idr *);

static inline void *idr_remove_ext(struct idr *idr, unsigned long id)
static inline void *idr_remove(struct idr *idr, unsigned long id)
{
	return radix_tree_delete_item(&idr->idr_rt, id, NULL);
}

static inline void *idr_remove(struct idr *idr, int id)
{
	return idr_remove_ext(idr, id);
}

static inline void idr_init(struct idr *idr)
{
	INIT_RADIX_TREE(&idr->idr_rt, IDR_RT_MARKER);
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ static void free_tcf(struct tc_action *p)
static void tcf_idr_remove(struct tcf_idrinfo *idrinfo, struct tc_action *p)
{
	spin_lock_bh(&idrinfo->lock);
	idr_remove_ext(&idrinfo->action_idr, p->tcfa_index);
	idr_remove(&idrinfo->action_idr, p->tcfa_index);
	spin_unlock_bh(&idrinfo->lock);
	gen_kill_estimator(&p->tcfa_rate_est);
	free_tcf(p);
+1 −1
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ static void tcf_block_remove(struct tcf_block *block, struct net *net)
{
	struct tcf_net *tn = net_generic(net, tcf_net_id);

	idr_remove_ext(&tn->idr, block->index);
	idr_remove(&tn->idr, block->index);
}

static struct tcf_block *tcf_block_create(struct net *net, struct Qdisc *q,
+3 −3
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ static void basic_destroy(struct tcf_proto *tp, struct netlink_ext_ack *extack)
	list_for_each_entry_safe(f, n, &head->flist, link) {
		list_del_rcu(&f->link);
		tcf_unbind_filter(tp, &f->res);
		idr_remove_ext(&head->handle_idr, f->handle);
		idr_remove(&head->handle_idr, f->handle);
		if (tcf_exts_get_net(&f->exts))
			call_rcu(&f->rcu, basic_delete_filter);
		else
@@ -138,7 +138,7 @@ static int basic_delete(struct tcf_proto *tp, void *arg, bool *last,

	list_del_rcu(&f->link);
	tcf_unbind_filter(tp, &f->res);
	idr_remove_ext(&head->handle_idr, f->handle);
	idr_remove(&head->handle_idr, f->handle);
	tcf_exts_get_net(&f->exts);
	call_rcu(&f->rcu, basic_delete_filter);
	*last = list_empty(&head->flist);
@@ -228,7 +228,7 @@ static int basic_change(struct net *net, struct sk_buff *in_skb,
			      extack);
	if (err < 0) {
		if (!fold)
			idr_remove_ext(&head->handle_idr, fnew->handle);
			idr_remove(&head->handle_idr, fnew->handle);
		goto errout;
	}

+2 −2
Original line number Diff line number Diff line
@@ -295,7 +295,7 @@ static void __cls_bpf_delete(struct tcf_proto *tp, struct cls_bpf_prog *prog,
{
	struct cls_bpf_head *head = rtnl_dereference(tp->root);

	idr_remove_ext(&head->handle_idr, prog->handle);
	idr_remove(&head->handle_idr, prog->handle);
	cls_bpf_stop_offload(tp, prog, extack);
	list_del_rcu(&prog->link);
	tcf_unbind_filter(tp, &prog->res);
@@ -542,7 +542,7 @@ static int cls_bpf_change(struct net *net, struct sk_buff *in_skb,
	cls_bpf_free_parms(prog);
errout_idr:
	if (!oldprog)
		idr_remove_ext(&head->handle_idr, prog->handle);
		idr_remove(&head->handle_idr, prog->handle);
errout:
	tcf_exts_destroy(&prog->exts);
	kfree(prog);
Loading