On Tue, 20 Aug 2019 15:32:45 -0700, Matthew Wilcox wrote: > @@ -305,8 +306,12 @@ static void *u32_get(struct tcf_proto *tp, u32 handle) > /* Protected by rtnl lock */ > static u32 gen_new_htid(struct tc_u_common *tp_c, struct tc_u_hnode *ptr) > { > - int id = idr_alloc_cyclic(&tp_c->handle_idr, ptr, 1, 0x7FF, GFP_KERNEL); > - if (id < 0) > + int err; > + u32 id; > + > + err = xa_alloc_cyclic(&tp_c->ht_xa, &id, ptr, XA_LIMIT(0, 0x7ff), > + &tp_c->ht_next, GFP_KERNEL);
nit: indentation seems off here and a couple of other places.