Re: [PATCH 13/14] net: sched: use unique idr insert function in unlocked actions

From: Jiri Pirko
Date: Wed May 16 2018 - 05:18:21 EST


Mon, May 14, 2018 at 04:27:14PM CEST, vladbu@xxxxxxxxxxxx wrote:
>Substitute calls to action insert function with calls to action insert
>unique function that warns if insertion overwrites index in idr.
>
>Signed-off-by: Vlad Buslov <vladbu@xxxxxxxxxxxx>
>---
> net/sched/act_bpf.c | 2 +-
> net/sched/act_connmark.c | 2 +-
> net/sched/act_csum.c | 2 +-
> net/sched/act_gact.c | 2 +-
> net/sched/act_ife.c | 2 +-
> net/sched/act_ipt.c | 2 +-
> net/sched/act_mirred.c | 2 +-
> net/sched/act_nat.c | 2 +-
> net/sched/act_pedit.c | 2 +-
> net/sched/act_police.c | 2 +-
> net/sched/act_sample.c | 2 +-
> net/sched/act_simple.c | 2 +-
> net/sched/act_skbedit.c | 2 +-
> net/sched/act_skbmod.c | 2 +-
> net/sched/act_tunnel_key.c | 2 +-
> net/sched/act_vlan.c | 2 +-
> 16 files changed, 16 insertions(+), 16 deletions(-)
>
>diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c
>index 7e20fdc..0bf4ecf 100644
>--- a/net/sched/act_bpf.c
>+++ b/net/sched/act_bpf.c
>@@ -354,7 +354,7 @@ static int tcf_bpf_init(struct net *net, struct nlattr *nla,
> rcu_assign_pointer(prog->filter, cfg.filter);
>
> if (res == ACT_P_CREATED) {
>- tcf_idr_insert(tn, *act);
>+ tcf_idr_insert_unique(tn, *act);

Seems to me that tcf_idr_insert() is unused after this patch. If that is
the case, I think that you don't need to introduce
tcf_idr_insert_unique() and just do what you need to do in
tcf_idr_insert()

[...]