Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

bpf: Remove redundant KF_TRUSTED_ARGS flag from all kfuncs

Now that KF_TRUSTED_ARGS is the default for all kfuncs, remove the
explicit KF_TRUSTED_ARGS flag from all kfunc definitions and remove the
flag itself.

Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
Link: https://lore.kernel.org/r/20260102180038.2708325-3-puranjay@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Puranjay Mohan and committed by
Alexei Starovoitov
7646c7af 1a5c01d2

+63 -65
+6 -7
fs/bpf_fs_kfuncs.c
··· 356 356 __bpf_kfunc_end_defs(); 357 357 358 358 BTF_KFUNCS_START(bpf_fs_kfunc_set_ids) 359 - BTF_ID_FLAGS(func, bpf_get_task_exe_file, 360 - KF_ACQUIRE | KF_TRUSTED_ARGS | KF_RET_NULL) 359 + BTF_ID_FLAGS(func, bpf_get_task_exe_file, KF_ACQUIRE | KF_RET_NULL) 361 360 BTF_ID_FLAGS(func, bpf_put_file, KF_RELEASE) 362 - BTF_ID_FLAGS(func, bpf_path_d_path, KF_TRUSTED_ARGS) 363 - BTF_ID_FLAGS(func, bpf_get_dentry_xattr, KF_SLEEPABLE | KF_TRUSTED_ARGS) 364 - BTF_ID_FLAGS(func, bpf_get_file_xattr, KF_SLEEPABLE | KF_TRUSTED_ARGS) 365 - BTF_ID_FLAGS(func, bpf_set_dentry_xattr, KF_SLEEPABLE | KF_TRUSTED_ARGS) 366 - BTF_ID_FLAGS(func, bpf_remove_dentry_xattr, KF_SLEEPABLE | KF_TRUSTED_ARGS) 361 + BTF_ID_FLAGS(func, bpf_path_d_path) 362 + BTF_ID_FLAGS(func, bpf_get_dentry_xattr, KF_SLEEPABLE) 363 + BTF_ID_FLAGS(func, bpf_get_file_xattr, KF_SLEEPABLE) 364 + BTF_ID_FLAGS(func, bpf_set_dentry_xattr, KF_SLEEPABLE) 365 + BTF_ID_FLAGS(func, bpf_remove_dentry_xattr, KF_SLEEPABLE) 367 366 BTF_KFUNCS_END(bpf_fs_kfunc_set_ids) 368 367 369 368 static int bpf_fs_kfuncs_filter(const struct bpf_prog *prog, u32 kfunc_id)
+1 -1
fs/verity/measure.c
··· 162 162 __bpf_kfunc_end_defs(); 163 163 164 164 BTF_KFUNCS_START(fsverity_set_ids) 165 - BTF_ID_FLAGS(func, bpf_get_fsverity_digest, KF_TRUSTED_ARGS) 165 + BTF_ID_FLAGS(func, bpf_get_fsverity_digest) 166 166 BTF_KFUNCS_END(fsverity_set_ids) 167 167 168 168 static int bpf_get_fsverity_digest_filter(const struct bpf_prog *prog, u32 kfunc_id)
+1 -1
include/linux/bpf.h
··· 753 753 MEM_ALLOC = BIT(11 + BPF_BASE_TYPE_BITS), 754 754 755 755 /* PTR was passed from the kernel in a trusted context, and may be 756 - * passed to KF_TRUSTED_ARGS kfuncs or BPF helper functions. 756 + * passed to kfuncs or BPF helper functions. 757 757 * Confusingly, this is _not_ the opposite of PTR_UNTRUSTED above. 758 758 * PTR_UNTRUSTED refers to a kptr that was read directly from a map 759 759 * without invoking bpf_kptr_xchg(). What we really need to know is
+1 -2
include/linux/btf.h
··· 34 34 * 35 35 * And the following kfunc: 36 36 * 37 - * BTF_ID_FLAGS(func, bpf_task_acquire, KF_ACQUIRE | KF_TRUSTED_ARGS) 37 + * BTF_ID_FLAGS(func, bpf_task_acquire, KF_ACQUIRE) 38 38 * 39 39 * All invocations to the kfunc must pass the unmodified, unwalked task: 40 40 * ··· 66 66 * return 0; 67 67 * } 68 68 */ 69 - #define KF_TRUSTED_ARGS (1 << 4) /* kfunc only takes trusted pointer arguments */ 70 69 #define KF_SLEEPABLE (1 << 5) /* kfunc may sleep */ 71 70 #define KF_DESTRUCTIVE (1 << 6) /* kfunc performs destructive actions */ 72 71 #define KF_RCU (1 << 7) /* kfunc takes either rcu or trusted pointer arguments */
+3 -3
kernel/bpf/arena.c
··· 890 890 __bpf_kfunc_end_defs(); 891 891 892 892 BTF_KFUNCS_START(arena_kfuncs) 893 - BTF_ID_FLAGS(func, bpf_arena_alloc_pages, KF_TRUSTED_ARGS | KF_ARENA_RET | KF_ARENA_ARG2) 894 - BTF_ID_FLAGS(func, bpf_arena_free_pages, KF_TRUSTED_ARGS | KF_ARENA_ARG2) 895 - BTF_ID_FLAGS(func, bpf_arena_reserve_pages, KF_TRUSTED_ARGS | KF_ARENA_ARG2) 893 + BTF_ID_FLAGS(func, bpf_arena_alloc_pages, KF_ARENA_RET | KF_ARENA_ARG2) 894 + BTF_ID_FLAGS(func, bpf_arena_free_pages, KF_ARENA_ARG2) 895 + BTF_ID_FLAGS(func, bpf_arena_reserve_pages, KF_ARENA_ARG2) 896 896 BTF_KFUNCS_END(arena_kfuncs) 897 897 898 898 static const struct btf_kfunc_id_set common_kfunc_set = {
+1 -1
kernel/bpf/cpumask.c
··· 477 477 BTF_KFUNCS_START(cpumask_kfunc_btf_ids) 478 478 BTF_ID_FLAGS(func, bpf_cpumask_create, KF_ACQUIRE | KF_RET_NULL) 479 479 BTF_ID_FLAGS(func, bpf_cpumask_release, KF_RELEASE) 480 - BTF_ID_FLAGS(func, bpf_cpumask_acquire, KF_ACQUIRE | KF_TRUSTED_ARGS) 480 + BTF_ID_FLAGS(func, bpf_cpumask_acquire, KF_ACQUIRE) 481 481 BTF_ID_FLAGS(func, bpf_cpumask_first, KF_RCU) 482 482 BTF_ID_FLAGS(func, bpf_cpumask_first_zero, KF_RCU) 483 483 BTF_ID_FLAGS(func, bpf_cpumask_first_and, KF_RCU)
+10 -10
kernel/bpf/helpers.c
··· 4427 4427 BTF_ID_FLAGS(func, bpf_task_from_vpid, KF_ACQUIRE | KF_RET_NULL) 4428 4428 BTF_ID_FLAGS(func, bpf_throw) 4429 4429 #ifdef CONFIG_BPF_EVENTS 4430 - BTF_ID_FLAGS(func, bpf_send_signal_task, KF_TRUSTED_ARGS) 4430 + BTF_ID_FLAGS(func, bpf_send_signal_task) 4431 4431 #endif 4432 4432 #ifdef CONFIG_KEYS 4433 4433 BTF_ID_FLAGS(func, bpf_lookup_user_key, KF_ACQUIRE | KF_RET_NULL | KF_SLEEPABLE) ··· 4467 4467 BTF_ID_FLAGS(func, bpf_iter_task_vma_next, KF_ITER_NEXT | KF_RET_NULL) 4468 4468 BTF_ID_FLAGS(func, bpf_iter_task_vma_destroy, KF_ITER_DESTROY) 4469 4469 #ifdef CONFIG_CGROUPS 4470 - BTF_ID_FLAGS(func, bpf_iter_css_task_new, KF_ITER_NEW | KF_TRUSTED_ARGS) 4470 + BTF_ID_FLAGS(func, bpf_iter_css_task_new, KF_ITER_NEW) 4471 4471 BTF_ID_FLAGS(func, bpf_iter_css_task_next, KF_ITER_NEXT | KF_RET_NULL) 4472 4472 BTF_ID_FLAGS(func, bpf_iter_css_task_destroy, KF_ITER_DESTROY) 4473 - BTF_ID_FLAGS(func, bpf_iter_css_new, KF_ITER_NEW | KF_TRUSTED_ARGS | KF_RCU_PROTECTED) 4473 + BTF_ID_FLAGS(func, bpf_iter_css_new, KF_ITER_NEW | KF_RCU_PROTECTED) 4474 4474 BTF_ID_FLAGS(func, bpf_iter_css_next, KF_ITER_NEXT | KF_RET_NULL) 4475 4475 BTF_ID_FLAGS(func, bpf_iter_css_destroy, KF_ITER_DESTROY) 4476 4476 #endif 4477 - BTF_ID_FLAGS(func, bpf_iter_task_new, KF_ITER_NEW | KF_TRUSTED_ARGS | KF_RCU_PROTECTED) 4477 + BTF_ID_FLAGS(func, bpf_iter_task_new, KF_ITER_NEW | KF_RCU_PROTECTED) 4478 4478 BTF_ID_FLAGS(func, bpf_iter_task_next, KF_ITER_NEXT | KF_RET_NULL) 4479 4479 BTF_ID_FLAGS(func, bpf_iter_task_destroy, KF_ITER_DESTROY) 4480 4480 BTF_ID_FLAGS(func, bpf_dynptr_adjust) ··· 4510 4510 BTF_ID_FLAGS(func, bpf_probe_read_kernel_str_dynptr) 4511 4511 BTF_ID_FLAGS(func, bpf_copy_from_user_dynptr, KF_SLEEPABLE) 4512 4512 BTF_ID_FLAGS(func, bpf_copy_from_user_str_dynptr, KF_SLEEPABLE) 4513 - BTF_ID_FLAGS(func, bpf_copy_from_user_task_dynptr, KF_SLEEPABLE | KF_TRUSTED_ARGS) 4514 - BTF_ID_FLAGS(func, bpf_copy_from_user_task_str_dynptr, KF_SLEEPABLE | KF_TRUSTED_ARGS) 4513 + BTF_ID_FLAGS(func, bpf_copy_from_user_task_dynptr, KF_SLEEPABLE) 4514 + BTF_ID_FLAGS(func, bpf_copy_from_user_task_str_dynptr, KF_SLEEPABLE) 4515 4515 #endif 4516 4516 #ifdef CONFIG_DMA_SHARED_BUFFER 4517 4517 BTF_ID_FLAGS(func, bpf_iter_dmabuf_new, KF_ITER_NEW | KF_SLEEPABLE) ··· 4536 4536 #if defined(CONFIG_BPF_LSM) && defined(CONFIG_CGROUPS) 4537 4537 BTF_ID_FLAGS(func, bpf_cgroup_read_xattr, KF_RCU) 4538 4538 #endif 4539 - BTF_ID_FLAGS(func, bpf_stream_vprintk_impl, KF_TRUSTED_ARGS) 4540 - BTF_ID_FLAGS(func, bpf_task_work_schedule_signal_impl, KF_TRUSTED_ARGS) 4541 - BTF_ID_FLAGS(func, bpf_task_work_schedule_resume_impl, KF_TRUSTED_ARGS) 4542 - BTF_ID_FLAGS(func, bpf_dynptr_from_file, KF_TRUSTED_ARGS) 4539 + BTF_ID_FLAGS(func, bpf_stream_vprintk_impl) 4540 + BTF_ID_FLAGS(func, bpf_task_work_schedule_signal_impl) 4541 + BTF_ID_FLAGS(func, bpf_task_work_schedule_resume_impl) 4542 + BTF_ID_FLAGS(func, bpf_dynptr_from_file) 4543 4543 BTF_ID_FLAGS(func, bpf_dynptr_file_discard) 4544 4544 BTF_KFUNCS_END(common_btf_ids) 4545 4545
+1 -1
kernel/bpf/map_iter.c
··· 214 214 __bpf_kfunc_end_defs(); 215 215 216 216 BTF_KFUNCS_START(bpf_map_iter_kfunc_ids) 217 - BTF_ID_FLAGS(func, bpf_map_sum_elem_count, KF_TRUSTED_ARGS) 217 + BTF_ID_FLAGS(func, bpf_map_sum_elem_count) 218 218 BTF_KFUNCS_END(bpf_map_iter_kfunc_ids) 219 219 220 220 static const struct btf_kfunc_id_set bpf_map_iter_kfunc_set = {
+1 -1
kernel/bpf/verifier.c
··· 12619 12619 12620 12620 /* Enforce strict type matching for calls to kfuncs that are acquiring 12621 12621 * or releasing a reference, or are no-cast aliases. We do _not_ 12622 - * enforce strict matching for plain KF_TRUSTED_ARGS kfuncs by default, 12622 + * enforce strict matching for kfuncs by default, 12623 12623 * as we want to enable BPF programs to pass types that are bitwise 12624 12624 * equivalent without forcing them to explicitly cast with something 12625 12625 * like bpf_cast_to_kern_ctx().
+4 -4
kernel/sched/ext.c
··· 7229 7229 BTF_ID_FLAGS(func, bpf_iter_scx_dsq_new, KF_ITER_NEW | KF_RCU_PROTECTED) 7230 7230 BTF_ID_FLAGS(func, bpf_iter_scx_dsq_next, KF_ITER_NEXT | KF_RET_NULL) 7231 7231 BTF_ID_FLAGS(func, bpf_iter_scx_dsq_destroy, KF_ITER_DESTROY) 7232 - BTF_ID_FLAGS(func, scx_bpf_exit_bstr, KF_TRUSTED_ARGS) 7233 - BTF_ID_FLAGS(func, scx_bpf_error_bstr, KF_TRUSTED_ARGS) 7234 - BTF_ID_FLAGS(func, scx_bpf_dump_bstr, KF_TRUSTED_ARGS) 7232 + BTF_ID_FLAGS(func, scx_bpf_exit_bstr) 7233 + BTF_ID_FLAGS(func, scx_bpf_error_bstr) 7234 + BTF_ID_FLAGS(func, scx_bpf_dump_bstr) 7235 7235 BTF_ID_FLAGS(func, scx_bpf_reenqueue_local___v2) 7236 7236 BTF_ID_FLAGS(func, scx_bpf_cpuperf_cap) 7237 7237 BTF_ID_FLAGS(func, scx_bpf_cpuperf_cur) ··· 7250 7250 BTF_ID_FLAGS(func, scx_bpf_task_cgroup, KF_RCU | KF_ACQUIRE) 7251 7251 #endif 7252 7252 BTF_ID_FLAGS(func, scx_bpf_now) 7253 - BTF_ID_FLAGS(func, scx_bpf_events, KF_TRUSTED_ARGS) 7253 + BTF_ID_FLAGS(func, scx_bpf_events) 7254 7254 BTF_KFUNCS_END(scx_kfunc_ids_any) 7255 7255 7256 7256 static const struct btf_kfunc_id_set scx_kfunc_set_any = {
+5 -5
mm/bpf_memcontrol.c
··· 166 166 BTF_ID_FLAGS(func, bpf_get_mem_cgroup, KF_ACQUIRE | KF_RET_NULL | KF_RCU) 167 167 BTF_ID_FLAGS(func, bpf_put_mem_cgroup, KF_RELEASE) 168 168 169 - BTF_ID_FLAGS(func, bpf_mem_cgroup_vm_events, KF_TRUSTED_ARGS) 170 - BTF_ID_FLAGS(func, bpf_mem_cgroup_memory_events, KF_TRUSTED_ARGS) 171 - BTF_ID_FLAGS(func, bpf_mem_cgroup_usage, KF_TRUSTED_ARGS) 172 - BTF_ID_FLAGS(func, bpf_mem_cgroup_page_state, KF_TRUSTED_ARGS) 173 - BTF_ID_FLAGS(func, bpf_mem_cgroup_flush_stats, KF_TRUSTED_ARGS | KF_SLEEPABLE) 169 + BTF_ID_FLAGS(func, bpf_mem_cgroup_vm_events) 170 + BTF_ID_FLAGS(func, bpf_mem_cgroup_memory_events) 171 + BTF_ID_FLAGS(func, bpf_mem_cgroup_usage) 172 + BTF_ID_FLAGS(func, bpf_mem_cgroup_page_state) 173 + BTF_ID_FLAGS(func, bpf_mem_cgroup_flush_stats, KF_SLEEPABLE) 174 174 175 175 BTF_KFUNCS_END(bpf_memcontrol_kfuncs) 176 176
+5 -5
net/core/filter.c
··· 12438 12438 } 12439 12439 12440 12440 BTF_KFUNCS_START(bpf_kfunc_check_set_skb) 12441 - BTF_ID_FLAGS(func, bpf_dynptr_from_skb, KF_TRUSTED_ARGS) 12441 + BTF_ID_FLAGS(func, bpf_dynptr_from_skb) 12442 12442 BTF_KFUNCS_END(bpf_kfunc_check_set_skb) 12443 12443 12444 12444 BTF_KFUNCS_START(bpf_kfunc_check_set_skb_meta) 12445 - BTF_ID_FLAGS(func, bpf_dynptr_from_skb_meta, KF_TRUSTED_ARGS) 12445 + BTF_ID_FLAGS(func, bpf_dynptr_from_skb_meta) 12446 12446 BTF_KFUNCS_END(bpf_kfunc_check_set_skb_meta) 12447 12447 12448 12448 BTF_KFUNCS_START(bpf_kfunc_check_set_xdp) ··· 12455 12455 BTF_KFUNCS_END(bpf_kfunc_check_set_sock_addr) 12456 12456 12457 12457 BTF_KFUNCS_START(bpf_kfunc_check_set_tcp_reqsk) 12458 - BTF_ID_FLAGS(func, bpf_sk_assign_tcp_reqsk, KF_TRUSTED_ARGS) 12458 + BTF_ID_FLAGS(func, bpf_sk_assign_tcp_reqsk) 12459 12459 BTF_KFUNCS_END(bpf_kfunc_check_set_tcp_reqsk) 12460 12460 12461 12461 BTF_KFUNCS_START(bpf_kfunc_check_set_sock_ops) 12462 - BTF_ID_FLAGS(func, bpf_sock_ops_enable_tx_tstamp, KF_TRUSTED_ARGS) 12462 + BTF_ID_FLAGS(func, bpf_sock_ops_enable_tx_tstamp) 12463 12463 BTF_KFUNCS_END(bpf_kfunc_check_set_sock_ops) 12464 12464 12465 12465 static const struct btf_kfunc_id_set bpf_kfunc_set_skb = { ··· 12554 12554 __bpf_kfunc_end_defs(); 12555 12555 12556 12556 BTF_KFUNCS_START(bpf_sk_iter_kfunc_ids) 12557 - BTF_ID_FLAGS(func, bpf_sock_destroy, KF_TRUSTED_ARGS) 12557 + BTF_ID_FLAGS(func, bpf_sock_destroy) 12558 12558 BTF_KFUNCS_END(bpf_sk_iter_kfunc_ids) 12559 12559 12560 12560 static int tracing_iter_filter(const struct bpf_prog *prog, u32 kfunc_id)
+1 -1
net/core/xdp.c
··· 964 964 __bpf_kfunc_end_defs(); 965 965 966 966 BTF_KFUNCS_START(xdp_metadata_kfunc_ids) 967 - #define XDP_METADATA_KFUNC(_, __, name, ___) BTF_ID_FLAGS(func, name, KF_TRUSTED_ARGS) 967 + #define XDP_METADATA_KFUNC(_, __, name, ___) BTF_ID_FLAGS(func, name) 968 968 XDP_METADATA_KFUNC_xxx 969 969 #undef XDP_METADATA_KFUNC 970 970 BTF_KFUNCS_END(xdp_metadata_kfunc_ids)
+4 -4
net/netfilter/nf_conntrack_bpf.c
··· 516 516 BTF_ID_FLAGS(func, bpf_skb_ct_lookup, KF_ACQUIRE | KF_RET_NULL) 517 517 BTF_ID_FLAGS(func, bpf_ct_insert_entry, KF_ACQUIRE | KF_RET_NULL | KF_RELEASE) 518 518 BTF_ID_FLAGS(func, bpf_ct_release, KF_RELEASE) 519 - BTF_ID_FLAGS(func, bpf_ct_set_timeout, KF_TRUSTED_ARGS) 520 - BTF_ID_FLAGS(func, bpf_ct_change_timeout, KF_TRUSTED_ARGS) 521 - BTF_ID_FLAGS(func, bpf_ct_set_status, KF_TRUSTED_ARGS) 522 - BTF_ID_FLAGS(func, bpf_ct_change_status, KF_TRUSTED_ARGS) 519 + BTF_ID_FLAGS(func, bpf_ct_set_timeout) 520 + BTF_ID_FLAGS(func, bpf_ct_change_timeout) 521 + BTF_ID_FLAGS(func, bpf_ct_set_status) 522 + BTF_ID_FLAGS(func, bpf_ct_change_status) 523 523 BTF_KFUNCS_END(nf_ct_kfunc_set) 524 524 525 525 static const struct btf_kfunc_id_set nf_conntrack_kfunc_set = {
+1 -1
net/netfilter/nf_flow_table_bpf.c
··· 105 105 __bpf_kfunc_end_defs(); 106 106 107 107 BTF_KFUNCS_START(nf_ft_kfunc_set) 108 - BTF_ID_FLAGS(func, bpf_xdp_flow_lookup, KF_TRUSTED_ARGS | KF_RET_NULL) 108 + BTF_ID_FLAGS(func, bpf_xdp_flow_lookup, KF_RET_NULL) 109 109 BTF_KFUNCS_END(nf_ft_kfunc_set) 110 110 111 111 static const struct btf_kfunc_id_set nf_flow_kfunc_set = {
+1 -1
net/netfilter/nf_nat_bpf.c
··· 55 55 __bpf_kfunc_end_defs(); 56 56 57 57 BTF_KFUNCS_START(nf_nat_kfunc_set) 58 - BTF_ID_FLAGS(func, bpf_ct_set_nat_info, KF_TRUSTED_ARGS) 58 + BTF_ID_FLAGS(func, bpf_ct_set_nat_info) 59 59 BTF_KFUNCS_END(nf_nat_kfunc_set) 60 60 61 61 static const struct btf_kfunc_id_set nf_bpf_nat_kfunc_set = {
+6 -6
net/sched/bpf_qdisc.c
··· 271 271 __bpf_kfunc_end_defs(); 272 272 273 273 BTF_KFUNCS_START(qdisc_kfunc_ids) 274 - BTF_ID_FLAGS(func, bpf_skb_get_hash, KF_TRUSTED_ARGS) 274 + BTF_ID_FLAGS(func, bpf_skb_get_hash) 275 275 BTF_ID_FLAGS(func, bpf_kfree_skb, KF_RELEASE) 276 276 BTF_ID_FLAGS(func, bpf_qdisc_skb_drop, KF_RELEASE) 277 - BTF_ID_FLAGS(func, bpf_dynptr_from_skb, KF_TRUSTED_ARGS) 278 - BTF_ID_FLAGS(func, bpf_qdisc_watchdog_schedule, KF_TRUSTED_ARGS) 279 - BTF_ID_FLAGS(func, bpf_qdisc_init_prologue, KF_TRUSTED_ARGS) 280 - BTF_ID_FLAGS(func, bpf_qdisc_reset_destroy_epilogue, KF_TRUSTED_ARGS) 281 - BTF_ID_FLAGS(func, bpf_qdisc_bstats_update, KF_TRUSTED_ARGS) 277 + BTF_ID_FLAGS(func, bpf_dynptr_from_skb) 278 + BTF_ID_FLAGS(func, bpf_qdisc_watchdog_schedule) 279 + BTF_ID_FLAGS(func, bpf_qdisc_init_prologue) 280 + BTF_ID_FLAGS(func, bpf_qdisc_reset_destroy_epilogue) 281 + BTF_ID_FLAGS(func, bpf_qdisc_bstats_update) 282 282 BTF_KFUNCS_END(qdisc_kfunc_ids) 283 283 284 284 BTF_SET_START(qdisc_common_kfunc_set)
+1 -1
tools/testing/selftests/bpf/progs/cpumask_failure.c
··· 110 110 __failure __msg("NULL pointer passed to trusted arg0") 111 111 int BPF_PROG(test_cpumask_null, struct task_struct *task, u64 clone_flags) 112 112 { 113 - /* NULL passed to KF_TRUSTED_ARGS kfunc. */ 113 + /* NULL passed to kfunc. */ 114 114 bpf_cpumask_empty(NULL); 115 115 116 116 return 0;
+10 -10
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
··· 693 693 BTF_ID_FLAGS(func, bpf_kfunc_nested_acquire_nonzero_offset_test, KF_ACQUIRE) 694 694 BTF_ID_FLAGS(func, bpf_kfunc_nested_acquire_zero_offset_test, KF_ACQUIRE) 695 695 BTF_ID_FLAGS(func, bpf_kfunc_nested_release_test, KF_RELEASE) 696 - BTF_ID_FLAGS(func, bpf_kfunc_trusted_vma_test, KF_TRUSTED_ARGS) 697 - BTF_ID_FLAGS(func, bpf_kfunc_trusted_task_test, KF_TRUSTED_ARGS) 698 - BTF_ID_FLAGS(func, bpf_kfunc_trusted_num_test, KF_TRUSTED_ARGS) 696 + BTF_ID_FLAGS(func, bpf_kfunc_trusted_vma_test) 697 + BTF_ID_FLAGS(func, bpf_kfunc_trusted_task_test) 698 + BTF_ID_FLAGS(func, bpf_kfunc_trusted_num_test) 699 699 BTF_ID_FLAGS(func, bpf_kfunc_rcu_task_test, KF_RCU) 700 700 BTF_ID_FLAGS(func, bpf_kfunc_ret_rcu_test, KF_RET_NULL | KF_RCU_PROTECTED) 701 701 BTF_ID_FLAGS(func, bpf_kfunc_ret_rcu_test_nostruct, KF_RET_NULL | KF_RCU_PROTECTED) ··· 1158 1158 BTF_ID_FLAGS(func, bpf_kfunc_call_test_fail1) 1159 1159 BTF_ID_FLAGS(func, bpf_kfunc_call_test_fail2) 1160 1160 BTF_ID_FLAGS(func, bpf_kfunc_call_test_fail3) 1161 - BTF_ID_FLAGS(func, bpf_kfunc_call_test_ref, KF_TRUSTED_ARGS | KF_RCU) 1161 + BTF_ID_FLAGS(func, bpf_kfunc_call_test_ref, KF_RCU) 1162 1162 BTF_ID_FLAGS(func, bpf_kfunc_call_test_destructive, KF_DESTRUCTIVE) 1163 1163 BTF_ID_FLAGS(func, bpf_kfunc_call_test_static_unused_arg) 1164 1164 BTF_ID_FLAGS(func, bpf_kfunc_call_test_offset) ··· 1172 1172 BTF_ID_FLAGS(func, bpf_kfunc_call_sock_sendmsg, KF_SLEEPABLE) 1173 1173 BTF_ID_FLAGS(func, bpf_kfunc_call_kernel_getsockname, KF_SLEEPABLE) 1174 1174 BTF_ID_FLAGS(func, bpf_kfunc_call_kernel_getpeername, KF_SLEEPABLE) 1175 - BTF_ID_FLAGS(func, bpf_kfunc_st_ops_test_prologue, KF_TRUSTED_ARGS | KF_SLEEPABLE) 1176 - BTF_ID_FLAGS(func, bpf_kfunc_st_ops_test_epilogue, KF_TRUSTED_ARGS | KF_SLEEPABLE) 1177 - BTF_ID_FLAGS(func, bpf_kfunc_st_ops_test_pro_epilogue, KF_TRUSTED_ARGS | KF_SLEEPABLE) 1178 - BTF_ID_FLAGS(func, bpf_kfunc_st_ops_inc10, KF_TRUSTED_ARGS) 1179 - BTF_ID_FLAGS(func, bpf_kfunc_multi_st_ops_test_1, KF_TRUSTED_ARGS) 1180 - BTF_ID_FLAGS(func, bpf_kfunc_multi_st_ops_test_1_impl, KF_TRUSTED_ARGS) 1175 + BTF_ID_FLAGS(func, bpf_kfunc_st_ops_test_prologue, KF_SLEEPABLE) 1176 + BTF_ID_FLAGS(func, bpf_kfunc_st_ops_test_epilogue, KF_SLEEPABLE) 1177 + BTF_ID_FLAGS(func, bpf_kfunc_st_ops_test_pro_epilogue, KF_SLEEPABLE) 1178 + BTF_ID_FLAGS(func, bpf_kfunc_st_ops_inc10) 1179 + BTF_ID_FLAGS(func, bpf_kfunc_multi_st_ops_test_1) 1180 + BTF_ID_FLAGS(func, bpf_kfunc_multi_st_ops_test_1_impl) 1181 1181 BTF_KFUNCS_END(bpf_testmod_check_kfunc_ids) 1182 1182 1183 1183 static int bpf_testmod_ops_init(struct btf *btf)