Lines Matching refs:jt
250 struct bpf_iarray *jt; in jt_from_map() local
254 jt = bpf_iarray_realloc(NULL, map->max_entries); in jt_from_map()
255 if (!jt) in jt_from_map()
258 n = bpf_copy_insn_array_uniq(map, 0, map->max_entries - 1, jt->items); in jt_from_map()
267 jt->cnt = n; in jt_from_map()
268 return jt; in jt_from_map()
271 kvfree(jt); in jt_from_map()
282 struct bpf_iarray *jt = NULL; in jt_from_subprog() local
296 kvfree(jt); in jt_from_subprog()
305 u32 old_cnt = jt ? jt->cnt : 0; in jt_from_subprog()
306 jt = bpf_iarray_realloc(jt, old_cnt + jt_cur->cnt); in jt_from_subprog()
307 if (!jt) { in jt_from_subprog()
311 memcpy(jt->items + old_cnt, jt_cur->items, jt_cur->cnt << 2); in jt_from_subprog()
317 if (!jt) { in jt_from_subprog()
322 jt->cnt = sort_insn_array_uniq(jt->items, jt->cnt); in jt_from_subprog()
323 return jt; in jt_from_subprog()
331 struct bpf_iarray *jt; in create_jt() local
337 jt = jt_from_subprog(env, subprog_start, subprog_end); in create_jt()
338 if (IS_ERR(jt)) in create_jt()
339 return jt; in create_jt()
342 for (i = 0; i < jt->cnt; i++) { in create_jt()
343 if (jt->items[i] < subprog_start || jt->items[i] >= subprog_end) { in create_jt()
346 kvfree(jt); in create_jt()
351 return jt; in create_jt()
360 struct bpf_iarray *jt; in visit_gotox_insn() local
363 jt = env->insn_aux_data[t].jt; in visit_gotox_insn()
364 if (!jt) { in visit_gotox_insn()
365 jt = create_jt(t, env); in visit_gotox_insn()
366 if (IS_ERR(jt)) in visit_gotox_insn()
367 return PTR_ERR(jt); in visit_gotox_insn()
369 env->insn_aux_data[t].jt = jt; in visit_gotox_insn()
373 for (i = 0; i < jt->cnt; i++) { in visit_gotox_insn()
374 w = jt->items[i]; in visit_gotox_insn()
405 struct bpf_iarray *jt; in visit_abnormal_return_insn() local
407 if (env->insn_aux_data[t].jt) in visit_abnormal_return_insn()
410 jt = bpf_iarray_realloc(NULL, 2); in visit_abnormal_return_insn()
411 if (!jt) in visit_abnormal_return_insn()
415 jt->items[0] = t + 1; in visit_abnormal_return_insn()
416 jt->items[1] = subprog->exit_idx; in visit_abnormal_return_insn()
417 env->insn_aux_data[t].jt = jt; in visit_abnormal_return_insn()