From: Matthew Wilcox <mawil...@microsoft.com>

Use the new helper.  This has a modest reduction in both lines of code
and compiled code size.

Signed-off-by: Matthew Wilcox <mawil...@microsoft.com>
---
 net/sched/cls_bpf.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c
index 1660fc8294ef..db1dd4de7d6a 100644
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -472,7 +472,6 @@ static int cls_bpf_change(struct net *net, struct sk_buff 
*in_skb,
        struct cls_bpf_prog *oldprog = *arg;
        struct nlattr *tb[TCA_BPF_MAX + 1];
        struct cls_bpf_prog *prog;
-       unsigned long idr_index;
        int ret;
 
        if (tca[TCA_OPTIONS] == NULL)
@@ -499,21 +498,18 @@ static int cls_bpf_change(struct net *net, struct sk_buff 
*in_skb,
        }
 
        if (handle == 0) {
-               ret = idr_alloc_ext(&head->handle_idr, prog, &idr_index,
-                                   1, 0x7FFFFFFF, GFP_KERNEL);
-               if (ret)
-                       goto errout;
-               prog->handle = idr_index;
-       } else {
-               if (!oldprog) {
-                       ret = idr_alloc_ext(&head->handle_idr, prog, &idr_index,
-                                           handle, handle + 1, GFP_KERNEL);
-                       if (ret)
-                               goto errout;
-               }
-               prog->handle = handle;
+               handle = 1;
+               ret = idr_alloc_u32(&head->handle_idr, prog, &handle,
+                                   INT_MAX, GFP_KERNEL);
+       } else if (!oldprog) {
+               ret = idr_alloc_u32(&head->handle_idr, prog, &handle,
+                                   handle, GFP_KERNEL);
        }
 
+       if (ret)
+               goto errout;
+       prog->handle = handle;
+
        ret = cls_bpf_set_parms(net, tp, prog, base, tb, tca[TCA_RATE], ovr);
        if (ret < 0)
                goto errout_idr;
-- 
2.15.0

Reply via email to