mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 17:57:38 -04:00
bpf:add _impl suffix for bpf_task_work_schedule* kfuncs
Rename: bpf_task_work_schedule_resume()->bpf_task_work_schedule_resume_impl() bpf_task_work_schedule_signal()->bpf_task_work_schedule_signal_impl() This aligns task work scheduling kfuncs with the established naming scheme for kfuncs with the bpf_prog_aux argument provided by the verifier implicitly. This convention will be taken advantage of with the upcoming KF_IMPLICIT_ARGS feature to preserve backwards compatibility to BPF programs. Acked-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Mykyta Yatsenko <yatsenko@meta.com> Link: https://lore.kernel.org/r/20251104-implv2-v3-1-4772b9ae0e06@meta.com Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Ihor Solodrai <ihor.solodrai@linux.dev>
This commit is contained in:
committed by
Alexei Starovoitov
parent
156c75f596
commit
ea0714d61d
@@ -4169,7 +4169,8 @@ static int bpf_task_work_schedule(struct task_struct *task, struct bpf_task_work
|
||||
}
|
||||
|
||||
/**
|
||||
* bpf_task_work_schedule_signal - Schedule BPF callback using task_work_add with TWA_SIGNAL mode
|
||||
* bpf_task_work_schedule_signal_impl - Schedule BPF callback using task_work_add with TWA_SIGNAL
|
||||
* mode
|
||||
* @task: Task struct for which callback should be scheduled
|
||||
* @tw: Pointer to struct bpf_task_work in BPF map value for internal bookkeeping
|
||||
* @map__map: bpf_map that embeds struct bpf_task_work in the values
|
||||
@@ -4178,15 +4179,17 @@ static int bpf_task_work_schedule(struct task_struct *task, struct bpf_task_work
|
||||
*
|
||||
* Return: 0 if task work has been scheduled successfully, negative error code otherwise
|
||||
*/
|
||||
__bpf_kfunc int bpf_task_work_schedule_signal(struct task_struct *task, struct bpf_task_work *tw,
|
||||
void *map__map, bpf_task_work_callback_t callback,
|
||||
void *aux__prog)
|
||||
__bpf_kfunc int bpf_task_work_schedule_signal_impl(struct task_struct *task,
|
||||
struct bpf_task_work *tw, void *map__map,
|
||||
bpf_task_work_callback_t callback,
|
||||
void *aux__prog)
|
||||
{
|
||||
return bpf_task_work_schedule(task, tw, map__map, callback, aux__prog, TWA_SIGNAL);
|
||||
}
|
||||
|
||||
/**
|
||||
* bpf_task_work_schedule_resume - Schedule BPF callback using task_work_add with TWA_RESUME mode
|
||||
* bpf_task_work_schedule_resume_impl - Schedule BPF callback using task_work_add with TWA_RESUME
|
||||
* mode
|
||||
* @task: Task struct for which callback should be scheduled
|
||||
* @tw: Pointer to struct bpf_task_work in BPF map value for internal bookkeeping
|
||||
* @map__map: bpf_map that embeds struct bpf_task_work in the values
|
||||
@@ -4195,9 +4198,10 @@ __bpf_kfunc int bpf_task_work_schedule_signal(struct task_struct *task, struct b
|
||||
*
|
||||
* Return: 0 if task work has been scheduled successfully, negative error code otherwise
|
||||
*/
|
||||
__bpf_kfunc int bpf_task_work_schedule_resume(struct task_struct *task, struct bpf_task_work *tw,
|
||||
void *map__map, bpf_task_work_callback_t callback,
|
||||
void *aux__prog)
|
||||
__bpf_kfunc int bpf_task_work_schedule_resume_impl(struct task_struct *task,
|
||||
struct bpf_task_work *tw, void *map__map,
|
||||
bpf_task_work_callback_t callback,
|
||||
void *aux__prog)
|
||||
{
|
||||
return bpf_task_work_schedule(task, tw, map__map, callback, aux__prog, TWA_RESUME);
|
||||
}
|
||||
@@ -4377,8 +4381,8 @@ BTF_ID_FLAGS(func, bpf_strnstr);
|
||||
BTF_ID_FLAGS(func, bpf_cgroup_read_xattr, KF_RCU)
|
||||
#endif
|
||||
BTF_ID_FLAGS(func, bpf_stream_vprintk, KF_TRUSTED_ARGS)
|
||||
BTF_ID_FLAGS(func, bpf_task_work_schedule_signal, KF_TRUSTED_ARGS)
|
||||
BTF_ID_FLAGS(func, bpf_task_work_schedule_resume, KF_TRUSTED_ARGS)
|
||||
BTF_ID_FLAGS(func, bpf_task_work_schedule_signal_impl, KF_TRUSTED_ARGS)
|
||||
BTF_ID_FLAGS(func, bpf_task_work_schedule_resume_impl, KF_TRUSTED_ARGS)
|
||||
BTF_KFUNCS_END(common_btf_ids)
|
||||
|
||||
static const struct btf_kfunc_id_set common_kfunc_set = {
|
||||
|
||||
@@ -12259,8 +12259,8 @@ enum special_kfunc_type {
|
||||
KF_bpf_res_spin_lock_irqsave,
|
||||
KF_bpf_res_spin_unlock_irqrestore,
|
||||
KF___bpf_trap,
|
||||
KF_bpf_task_work_schedule_signal,
|
||||
KF_bpf_task_work_schedule_resume,
|
||||
KF_bpf_task_work_schedule_signal_impl,
|
||||
KF_bpf_task_work_schedule_resume_impl,
|
||||
};
|
||||
|
||||
BTF_ID_LIST(special_kfunc_list)
|
||||
@@ -12331,13 +12331,13 @@ BTF_ID(func, bpf_res_spin_unlock)
|
||||
BTF_ID(func, bpf_res_spin_lock_irqsave)
|
||||
BTF_ID(func, bpf_res_spin_unlock_irqrestore)
|
||||
BTF_ID(func, __bpf_trap)
|
||||
BTF_ID(func, bpf_task_work_schedule_signal)
|
||||
BTF_ID(func, bpf_task_work_schedule_resume)
|
||||
BTF_ID(func, bpf_task_work_schedule_signal_impl)
|
||||
BTF_ID(func, bpf_task_work_schedule_resume_impl)
|
||||
|
||||
static bool is_task_work_add_kfunc(u32 func_id)
|
||||
{
|
||||
return func_id == special_kfunc_list[KF_bpf_task_work_schedule_signal] ||
|
||||
func_id == special_kfunc_list[KF_bpf_task_work_schedule_resume];
|
||||
return func_id == special_kfunc_list[KF_bpf_task_work_schedule_signal_impl] ||
|
||||
func_id == special_kfunc_list[KF_bpf_task_work_schedule_resume_impl];
|
||||
}
|
||||
|
||||
static bool is_kfunc_ret_null(struct bpf_kfunc_call_arg_meta *meta)
|
||||
|
||||
Reference in New Issue
Block a user