/kernel/linux/linux-6.6/drivers/infiniband/sw/rxe/ |
H A D | rxe_pool.h | 59 bool sleepable); 61 #define rxe_add_to_pool_ah(pool, obj, sleepable) __rxe_add_to_pool(pool, \ 62 &(obj)->elem, sleepable) 73 int __rxe_cleanup(struct rxe_pool_elem *elem, bool sleepable); 75 #define rxe_cleanup_ah(obj, sleepable) __rxe_cleanup(&(obj)->elem, sleepable)
|
H A D | rxe_pool.c | 120 bool sleepable) in __rxe_add_to_pool() 135 * call is not sleepable use GFP_ATOMIC. in __rxe_add_to_pool() 137 gfp_flags = sleepable ? GFP_KERNEL : GFP_ATOMIC; in __rxe_add_to_pool() 139 if (sleepable) in __rxe_add_to_pool() 177 int __rxe_cleanup(struct rxe_pool_elem *elem, bool sleepable) in __rxe_cleanup() argument 185 if (sleepable) in __rxe_cleanup() 204 if (sleepable) { in __rxe_cleanup() 222 * when the destroy_ah call is not sleepable in __rxe_cleanup() 119 __rxe_add_to_pool(struct rxe_pool *pool, struct rxe_pool_elem *elem, bool sleepable) __rxe_add_to_pool() argument
|
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | trampoline.c | 307 * rcu_read_lock_trace to protect sleepable bpf progs in bpf_tramp_image_put() 345 * Use call_rcu_tasks_trace() to wait for sleepable progs to finish. in bpf_tramp_image_put() 1006 bool sleepable = prog->aux->sleepable; in bpf_trampoline_enter() local 1009 return sleepable ? __bpf_prog_enter_sleepable_recur : in bpf_trampoline_enter() 1016 return sleepable ? __bpf_prog_enter_sleepable : __bpf_prog_enter; in bpf_trampoline_enter() 1021 bool sleepable = prog->aux->sleepable; in bpf_trampoline_exit() local 1024 return sleepable ? __bpf_prog_exit_sleepable_recur : in bpf_trampoline_exit() 1031 return sleepable in bpf_trampoline_exit() [all...] |
H A D | bpf_iter.c | 550 /* Only allow sleepable program for resched-able iterator */ in bpf_iter_link_attach() 551 if (prog->aux->sleepable && !bpf_iter_target_support_resched(tinfo)) in bpf_iter_link_attach() 700 if (prog->aux->sleepable) { in bpf_iter_run_prog()
|
H A D | verifier.c | 5304 /* The non-sleepable programs and sleepable programs with explicit bpf_rcu_read_lock() 5311 !env->prog->aux->sleepable; in in_rcu_cs() 6466 * happened in a sleepable program outside of bpf_rcu_read_lock() in check_ptr_to_btf_access() 6467 * section. In a non-sleepable program it's trusted while in RCU CS (aka MEM_RCU). in check_ptr_to_btf_access() 9972 if (!env->prog->aux->sleepable && fn->might_sleep) { in check_helper_call() 9973 verbose(env, "helper call might sleep in a non-sleepable prog\n"); in check_helper_call() 9997 verbose(env, "sleepable helper %s#%d in rcu_read_lock region\n", in check_helper_call() 10002 if (env->prog->aux->sleepable && is_storage_get_function(func_id)) in check_helper_call() 11710 bool sleepable, rcu_loc in check_kfunc_call() local [all...] |
H A D | syscall.c | 1595 /* These maps require sleepable context */ in map_delete_elem() 2156 if (prog->aux->sleepable) in __bpf_prog_put_noref() 2685 prog->aux->sleepable = attr->prog_flags & BPF_F_SLEEPABLE; in bpf_prog_load() 2890 * from sleepable context in order to acquire sleeping locks during the process.
|
/kernel/linux/linux-6.6/net/bpf/ |
H A D | bpf_dummy_struct_ops.c | 167 if (prog->aux->sleepable) in bpf_dummy_ops_check_member()
|
/kernel/linux/linux-6.6/kernel/trace/ |
H A D | bpf_trace.c | 3097 bool sleepable = prog->aux->sleepable; in uprobe_prog_run() local 3104 if (sleepable) in uprobe_prog_run() 3117 if (sleepable) in uprobe_prog_run()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | bpf.h | 1416 bool sleepable; member 1952 /* Notes on RCU design for bpf_prog_arrays containing sleepable programs: 1958 * When a non-sleepable program is inside the array, we take the rcu read 1986 if (!prog->aux->sleepable) in bpf_prog_run_array_uprobe() 1993 if (!prog->aux->sleepable) in bpf_prog_run_array_uprobe()
|
/kernel/linux/linux-5.10/arch/x86/net/ |
H A D | bpf_jit_comp.c | 1549 if (p->aux->sleepable) { in invoke_bpf_prog() 1581 if (p->aux->sleepable) { in invoke_bpf_prog()
|
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | syscall.c | 1181 /* These maps require sleepable context */ in map_delete_elem() 1764 if (prog->aux->sleepable) in __bpf_prog_put_noref() 2196 prog->aux->sleepable = attr->prog_flags & BPF_F_SLEEPABLE; in bpf_prog_load()
|
H A D | verifier.c | 10547 if (prog->aux->sleepable) in check_map_prog_compatibility() 12241 /* non exhaustive list of sleepable bpf_lsm_*() functions */ 12255 /* list of non-sleepable functions that are otherwise on 12259 /* Three functions below can be called from sleepable and non-sleepable context. 12260 * Assume non-sleepable from bpf safety point of view. 12461 if (prog->aux->sleepable) { in bpf_check_attach_target() 12465 /* fentry/fexit/fmod_ret progs can be sleepable only if they are in bpf_check_attach_target() 12474 * Only some of them are sleepable. in bpf_check_attach_target() 12483 bpf_log(log, "%s is not sleepable\ in bpf_check_attach_target() [all...] |
/kernel/linux/linux-5.10/kernel/trace/ |
H A D | bpf_trace.c | 1345 return prog->aux->sleepable ? &bpf_copy_from_user_proto : NULL; in bpf_tracing_func_proto()
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | bpf.h | 865 bool sleepable; member
|
/kernel/linux/linux-6.6/kernel/events/ |
H A D | core.c | 10540 if (prog->type == BPF_PROG_TYPE_KPROBE && prog->aux->sleepable && !is_uprobe) in perf_event_set_bpf_prog() 10541 /* only uprobe programs are allowed to be sleepable */ in perf_event_set_bpf_prog()
|