aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/helpers.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-24bpf: make common crypto API for TC/XDP programsVadim Fedorenko1-1/+1
2024-04-24bpf: Introduce bpf_preempt_[disable,enable] kfuncsKumar Kartikeya Dwivedi1-0/+12
2024-04-24bpf: Don't check for recursion in bpf_wq_work.Alexei Starovoitov1-13/+5
2024-04-23bpf: add bpf_wq_startBenjamin Tissoires1-0/+18
2024-04-23bpf: wq: add bpf_wq_set_callback_implBenjamin Tissoires1-0/+15
2024-04-23bpf: wq: add bpf_wq_initBenjamin Tissoires1-2/+102
2024-04-23bpf: allow struct bpf_wq to be embedded in arraymaps and hashmapsBenjamin Tissoires1-0/+8
2024-04-23bpf: replace bpf_timer_cancel_and_free with a generic helperBenjamin Tissoires1-17/+25
2024-04-23bpf: replace bpf_timer_set_callback with a generic helperBenjamin Tissoires1-11/+18
2024-04-23bpf: replace bpf_timer_init with a generic helperBenjamin Tissoires1-28/+63
2024-04-23bpf: make timer data struct more genericBenjamin Tissoires1-33/+38
2024-04-22bpf: Fix typos in commentsRafael Passos1-1/+1
2024-04-05bpf: Allow invoking kfuncs from BPF_PROG_TYPE_SYSCALL progsDavid Vernet1-0/+1
2024-03-28bpf: add bpf_modify_return_test_tp() kfunc triggering tracepointAndrii Nakryiko1-0/+1
2024-03-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+1
2024-03-27bpf: fix warning for crash_kexecHari Bathini1-1/+1
2024-03-19bpf: Allow helper bpf_get_[ns_]current_pid_tgid() for all prog typesYonghong Song1-0/+4
2024-03-02Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski1-8/+8
2024-02-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+4
2024-02-19bpf: Fix racing between bpf_timer_cancel_and_free and bpf_timer_cancelMartin KaFai Lau1-1/+4
2024-02-13bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctlyYonghong Song1-2/+2
2024-02-13bpf: Have bpf_rdonly_cast() take a const pointerDaniel Xu1-2/+2
2024-01-31bpf: treewide: Annotate BPF kfuncs in BTFDaniel Xu1-4/+4
2024-01-24bpf: Take into account BPF token when fetching helper protosAndrii Nakryiko1-3/+3
2024-01-23bpf: Support inlining bpf_kptr_xchg() helperHou Tao1-0/+1
2023-12-19Revert BPF token-related functionalityAndrii Nakryiko1-3/+3
2023-12-15x86/cfi,bpf: Fix bpf_exception_cb() signatureAlexei Starovoitov1-1/+1
2023-12-15bpf: Fix dtor CFIPeter Zijlstra1-2/+14
2023-12-14bpf: xdp: Register generic_kfunc_set with XDP programsDaniel Xu1-0/+1
2023-12-06bpf: take into account BPF token when fetching helper protosAndrii Nakryiko1-3/+3
2023-12-04bpf: Check rcu_read_lock_trace_held() before calling bpf map helpersHou Tao1-5/+8
2023-11-14bpf: Add a new kfunc for cgroup1 hierarchyYafang Shao1-0/+20
2023-11-09bpf: Use bpf_mem_free_rcu when bpf_obj_dropping non-refcounted nodesDave Marchevsky1-4/+1
2023-11-09bpf: Add KF_RCU flag to bpf_refcount_acquire_implDave Marchevsky1-1/+1
2023-11-09bpf: Add __bpf_dynptr_data* for in kernel useSong Liu1-0/+19
2023-11-01bpf: Check map->usercnt after timer->timer is assignedHou Tao1-9/+16
2023-11-01bpf: Add __bpf_kfunc_{start,end}_defs macrosDave Marchevsky1-4/+2
2023-11-01bpf: fix compilation error without CGROUPSMatthieu Baerts1-3/+5
2023-10-20bpf: Use bpf_global_percpu_ma for per-cpu kptr in __bpf_obj_drop_impl()Hou Tao1-8/+14
2023-10-20bpf: Move the declaration of __bpf_obj_drop_impl() to bpf.hHou Tao1-2/+0
2023-10-19bpf: teach the verifier to enforce css_iter and task_iter in RCU CSChuyi Zhou1-2/+2
2023-10-19bpf: Introduce css open-coded iterator kfuncsChuyi Zhou1-0/+3
2023-10-19bpf: Introduce task open coded iterator kfuncsChuyi Zhou1-0/+3
2023-10-19bpf: Introduce css_task open-coded iterator kfuncsChuyi Zhou1-0/+3
2023-10-17bpf: Fix missed rcu read lock in bpf_task_under_cgroup()Yafang Shao1-1/+6
2023-10-13bpf: Introduce task_vma open-coded iterator kfuncsDave Marchevsky1-0/+3
2023-10-09bpf: Add ability to pin bpf timer to calling CPUDavid Vernet1-1/+4
2023-09-19bpf: Fix bpf_throw warning on 32-bit archKumar Kartikeya Dwivedi1-1/+1
2023-09-16bpf: Disallow fentry/fexit/freplace for exception callbacksKumar Kartikeya Dwivedi1-0/+1
2023-09-16bpf: Prevent KASAN false positive with bpf_throwKumar Kartikeya Dwivedi1-0/+6
2023-09-16bpf: Implement BPF exceptionsKumar Kartikeya Dwivedi1-0/+38
2023-09-08bpf: Add alloc/xchg/direct_access support for local percpu kptrYonghong Song1-0/+16
2023-08-25bpf: Allow bpf_spin_{lock,unlock} in sleepable progsDave Marchevsky1-0/+2
2023-08-25bpf: Use bpf_mem_free_rcu when bpf_obj_dropping refcounted nodesDave Marchevsky1-1/+5
2023-08-04bpf: fix bpf_dynptr_slice() to stop return an ERR_PTR.Kui-Feng Lee1-1/+1
2023-07-19bpf, net: Introduce skb_pointer_if_linear().Alexei Starovoitov1-1/+4
2023-07-18bpf: Add 'owner' field to bpf_{list,rb}_nodeDave Marchevsky1-4/+25
2023-07-18bpf: Introduce internal definitions for UAPI-opaque bpf_{rb,list}_nodeDave Marchevsky1-10/+13
2023-06-05bpf: Make bpf_refcount_acquire fallible for non-owning refsDave Marchevsky1-2/+6
2023-06-05bpf: Fix __bpf_{list,rbtree}_add's beginning-of-node calculationDave Marchevsky1-2/+2
2023-05-06bpf: Allow NULL buffers in bpf_dynptr_slice(_rw)Daniel Rosenberg1-12/+18
2023-05-06bpf: Add bpf_task_under_cgroup() kfuncFeng Zhou1-0/+17
2023-04-27bpf: Add bpf_dynptr_cloneJoanne Koong1-0/+14
2023-04-27bpf: Add bpf_dynptr_sizeJoanne Koong1-3/+12
2023-04-27bpf: Add bpf_dynptr_is_null and bpf_dynptr_is_rdonlyJoanne Koong1-4/+19
2023-04-27bpf: Add bpf_dynptr_adjustJoanne Koong1-0/+26
2023-04-21bpf: Fix bpf_refcount_acquire's refcount_t address calculationDave Marchevsky1-1/+1
2023-04-15bpf: Centralize btf_field-specific initialization logicDave Marchevsky1-8/+6
2023-04-15bpf: Migrate bpf_rbtree_remove to possibly failDave Marchevsky1-1/+7
2023-04-15bpf: Migrate bpf_rbtree_add and bpf_list_push_{front,back} to possibly failDave Marchevsky1-17/+48
2023-04-15bpf: Add bpf_refcount_acquire kfuncDave Marchevsky1-0/+15
2023-04-15bpf: Support refcounted local kptrs in existing semanticsDave Marchevsky1-8/+13
2023-04-15bpf: Remove btf_field_offs, use btf_record's fields insteadDave Marchevsky1-1/+1
2023-04-12bpf: Remove bpf_cgroup_kptr_get() kfuncDavid Vernet1-32/+0
2023-04-12bpf: Make bpf_cgroup_acquire() KF_RCU | KF_RET_NULLDavid Vernet1-3/+2
2023-04-06bpf: ensure all memory is initialized in bpf_get_current_commBarret Rhoden1-1/+1
2023-04-01bpf: Remove now-defunct task kfuncsDavid Vernet1-69/+0
2023-04-01bpf: Make struct task_struct an RCU-safe typeDavid Vernet1-4/+7
2023-03-25bpf: Remove now-unnecessary NULL checks for KF_RELEASE kfuncsDavid Vernet1-6/+0
2023-03-13bpf: Fix bpf_strncmp proto.Alexei Starovoitov1-1/+1
2023-03-10bpf: Support __kptr to local kptrsDave Marchevsky1-3/+8
2023-03-08bpf: implement numbers iteratorAndrii Nakryiko1-0/+3
2023-03-03bpf: Introduce kptr_rcu.Alexei Starovoitov1-2/+4
2023-03-02bpf: Add support for absolute value BPF timersTero Kristo1-2/+9
2023-03-02bpf: Make bpf_get_current_[ancestor_]cgroup_id() available for all program typesTejun Heo1-0/+4
2023-03-01bpf: Fix bpf_dynptr_slice{_rdwr} to return NULL instead of 0Joanne Koong1-4/+4
2023-03-01bpf: Fix doxygen comments for dynptr slice kfuncsDavid Vernet1-16/+14
2023-03-01bpf: Add bpf_dynptr_slice and bpf_dynptr_slice_rdwrJoanne Koong1-0/+138
2023-03-01bpf: Add xdp dynptrsJoanne Koong1-1/+8
2023-03-01bpf: Add skb dynptrsJoanne Koong1-14/+62
2023-02-28bpf: Fix bpf_cgroup_from_id() doxygen headerDavid Vernet1-2/+1
2023-02-23bpf: Add bpf_cgroup_from_id() kfuncTejun Heo1-0/+18
2023-02-13bpf: Add bpf_rbtree_{add,remove,first} kfuncsDave Marchevsky1-0/+54
2023-02-13bpf: Add basic bpf_rb_{root,node} supportDave Marchevsky1-0/+40
2023-02-02bpf: Add __bpf_kfunc tag to all kfuncsDavid Vernet1-19/+19
2022-12-28bpf: rename list_head -> graph_root in field info typesDave Marchevsky1-2/+2
2022-12-19bpf: Remove trace_printk_lockJiri Olsa1-12/+19
2022-12-19bpf: Do cleanup in bpf_bprintf_cleanup only when neededJiri Olsa1-7/+9
2022-12-19bpf: Add struct for bin_args arg in bpf_bprintf_prepareJiri Olsa1-11/+13
2022-12-08bpf: Use memmove for bpf_dynptr_{read,write}Kumar Kartikeya Dwivedi1-2/+10
2022-12-08bpf: Rework process_dynptr_funcKumar Kartikeya Dwivedi1-9/+9
2022-12-07bpf/docs: Document struct cgroup * kfuncsDavid Vernet1-1/+1
2022-12-07bpf/docs: Document struct task_struct * kfuncsDavid Vernet1-1/+1
2022-12-06bpf: Don't use rcu_users to refcount in task kfuncsDavid Vernet1-28/+48
2022-12-04bpf: Handle MEM_RCU type properlyYonghong Song1-0/+14
2022-11-24bpf: Add kfunc bpf_rcu_read_lock/unlock()Yonghong Song1-0/+12
2022-11-24bpf: Introduce might_sleep field in bpf_func_protoYonghong Song1-0/+2
2022-11-23bpf: Add bpf_task_from_pid() kfuncDavid Vernet1-1/+20
2022-11-23bpf: Don't use idx variable when registering kfunc dtorsDavid Vernet1-5/+5
2022-11-22bpf: Add bpf_cgroup_ancestor() kfuncDavid Vernet1-0/+20
2022-11-22bpf: Enable cgroups to be used as kptrsDavid Vernet1-3/+80
2022-11-20bpf: Add a kfunc for generic type castYonghong Song1-0/+6
2022-11-20bpf: Add a kfunc to type cast from bpf uapi ctx to kernel ctxYonghong Song1-0/+6
2022-11-20bpf: Add support for kfunc set with common btf_idsYonghong Song1-1/+11
2022-11-20bpf: Disallow bpf_obj_new_impl call when bpf_mem_alloc_init failsKumar Kartikeya Dwivedi1-2/+0
2022-11-20bpf: Add kfuncs for storing struct task_struct * as a kptrDavid Vernet1-3/+75
2022-11-17bpf: Introduce single ownership BPF linked list APIKumar Kartikeya Dwivedi1-1/+54
2022-11-17bpf: Introduce bpf_obj_dropKumar Kartikeya Dwivedi1-0/+11
2022-11-17bpf: Introduce bpf_obj_newKumar Kartikeya Dwivedi1-7/+40
2022-11-17bpf: Allow locking bpf_spin_lock in allocated objectsKumar Kartikeya Dwivedi1-0/+2
2022-11-14bpf: Support bpf_list_head in map valuesKumar Kartikeya Dwivedi1-0/+32
2022-11-03bpf: Consolidate spin_lock, timer management into btf_recordKumar Kartikeya Dwivedi1-3/+3
2022-10-25bpf: Implement cgroup storage available to non-cgroup-attached bpf progsYonghong Song1-0/+6
2022-10-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-14/+14
2022-09-21bpf: Export bpf_dynptr_get_size()Roberto Sassu1-1/+1
2022-09-21btf: Export bpf_dynptr definitionRoberto Sassu1-0/+2
2022-09-21bpf: Add bpf_user_ringbuf_drain() helperDavid Vernet1-0/+2
2022-09-21bpf: Gate dynptr API behind CAP_BPFKumar Kartikeya Dwivedi1-14/+14
2022-09-15bpf: Add verifier check for BPF_PTR_POISON retval and argDave Marchevsky1-3/+3
2022-08-23bpf: Move bpf_loop and bpf_for_each_map_elem under CAP_BPFKumar Kartikeya Dwivedi1-4/+4
2022-08-23bpf: expose bpf_strtol and bpf_strtoul to all program typesStanislav Fomichev1-1/+5
2022-08-23bpf: Introduce cgroup_{common,current}_func_protoStanislav Fomichev1-34/+0
2022-08-10bpf: export crash_kexec() as destructive kfuncArtem Savkov1-0/+18
2022-08-09bpf: Add BPF-helper for accessing CLOCK_TAIJesper Dangaard Brouer1-0/+14
2022-07-14Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-4/+8
2022-07-08bpf: Add flags arg to bpf_dynptr_read and bpf_dynptr_write APIsJoanne Koong1-4/+8
2022-06-17bpf: Fix non-static bpf_func_proto struct definitionsJoanne Koong1-6/+6
2022-05-23bpf: Add dynptr data slicesJoanne Koong1-0/+28
2022-05-23bpf: Add bpf_dynptr_read and bpf_dynptr_writeJoanne Koong1-0/+78
2022-05-23bpf: Dynptr support for ring buffersJoanne Koong1-4/+10
2022-05-23bpf: Add bpf_dynptr_from_mem for local dynptrsJoanne Koong1-0/+65
2022-05-13bpf: Add MEM_UNINIT as a bpf_type_flagJoanne Koong1-2/+2
2022-05-11bpf: add bpf_map_lookup_percpu_elem for percpu mapFeng Zhou1-0/+18
2022-04-25bpf: Allow storing referenced kptr in mapKumar Kartikeya Dwivedi1-0/+24
2022-03-07bpf: Replace strncpy() with strscpy()Yuntao Wang1-7/+2
2022-02-23bpf: Cleanup commentsTom Rix1-1/+1
2022-02-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+2
2022-02-11bpf: Emit bpf_timer in vmlinux BTFYonghong Song1-0/+2
2022-01-31bpf: make bpf_copy_from_user_task() gpl onlyKenta Tada1-1/+1
2022-01-24bpf: Add bpf_copy_from_user_task() helperKenny Yu1-0/+34
2021-12-18bpf: Add MEM_RDONLY for helper args that are pointers to rdonly mem.Hao Luo1-4/+4
2021-12-18bpf: Make per_cpu_ptr return rdonly PTR_TO_MEM.Hao Luo1-2/+2
2021-12-18bpf: Replace RET_XXX_OR_NULL with RET_XXX | PTR_MAYBE_NULLHao Luo1-1/+1
2021-12-16add missing bpf-cgroup.h includesJakub Kicinski1-0/+1
2021-12-11bpf: Add bpf_strncmp helperHou Tao1-0/+16
2021-12-10Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-0/+2
2021-11-30bpf: Add bpf_loop helperJoanne Koong1-0/+2
2021-11-15bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progsDmitrii Banshchikov1-2/+0
2021-09-28bpf: Replace callers of BPF_CAST_CALL with proper function typedefKees Cook1-3/+2
2021-09-17bpf: Add bpf_trace_vprintk helperDave Marchevsky1-0/+2
2021-09-17bpf: Merge printk and seq_printf VARARG max macrosDave Marchevsky1-3/+1
2021-08-30Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-0/+20
2021-08-25bpf: Add bpf_task_pt_regs() helperDaniel Xu1-0/+3
2021-08-25bpf: Extend bpf_base_func_proto helpers with bpf_get_current_task_btf()Daniel Xu1-0/+3
2021-08-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-6/+16
2021-08-15bpf: Support "%c" in bpf_bprintf_prepare().Kuniyuki Iwashima1-0/+14
2021-08-13Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-2/+2
2021-08-11bpf: Add rcu_read_lock in bpf_get_current_[ancestor_]cgroup_id() helpersYonghong Song1-6/+16
2021-08-10bpf: Fix potentially incorrect results with bpf_get_local_storage()Yonghong Song1-2/+2
2021-08-09bpf: Add _kernel suffix to internal lockdown_bpf_readDaniel Borkmann1-2/+2
2021-07-16bpf: Add ambient BPF runtime context stored in currentAndrii Nakryiko1-11/+5
2021-07-15bpf: Implement verifier support for validation of async callbacks.Alexei Starovoitov1-5/+3
2021-07-15bpf: Introduce bpf timers.Alexei Starovoitov1-0/+324
2021-07-15bpf: Factor out bpf_spin_lock into helpers.Alexei Starovoitov1-4/+14
2021-06-24bpf: Allow RCU-protected lookups to happen from bh contextToke Høiland-Jørgensen1-3/+3
2021-06-02bpf, lockdown, audit: Fix buggy SELinux lockdown permission checksDaniel Borkmann1-2/+5
2021-05-20bpf: Avoid using ARRAY_SIZE on an uninitialized pointerFlorent Revest1-2/+3
2021-05-20bpf: Clarify a bpf_bprintf_prepare macroFlorent Revest1-4/+5
2021-05-11bpf: Fix nested bpf_bprintf_prepare with more per-cpu buffersFlorent Revest1-13/+14
2021-04-27bpf: Implement formatted output helpers with bstr_printfFlorent Revest1-88/+100
2021-04-19bpf: Add a bpf_snprintf helperFlorent Revest1-0/+50
2021-04-19bpf: Factorize bpf_trace_printk and bpf_seq_printfFlorent Revest1-0/+256
2021-03-25bpf: Fix NULL pointer dereference in bpf_get_local_storage() helperYonghong Song1-4/+11
2021-02-26bpf: Add bpf_for_each_map_elem() helperYonghong Song1-0/+2
2021-01-29bpf: Simplify cases in bpf_base_func_protoTobias Klauser1-8/+4
2021-01-19bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callbackMircea Cirjaliu1-1/+1
2020-12-11Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-2/+2
2020-12-11bpf: Fix enum names for bpf_this_cpu_ptr() and bpf_per_cpu_ptr() helpersAndrii Nakryiko1-2/+2
2020-11-18bpf: Add bpf_ktime_get_coarse_ns helperDmitrii Banshchikov1-0/+13
2020-10-02bpf: Introducte bpf_this_cpu_ptr()Hao Luo1-0/+14
2020-10-02bpf: Introduce bpf_per_cpu_ptr()Hao Luo1-0/+18
2020-09-28bpf: Add bpf_snprintf_btf helperAlan Maguire1-0/+4
2020-08-28bpf: Add bpf_copy_from_user() helper.Alexei Starovoitov1-0/+22
2020-06-01bpf: Implement BPF ring buffer and verifier support for itAndrii Nakryiko1-0/+10
2020-06-01bpf: Extend bpf_base_func_proto helpers with probe_* and *current_task*John Fastabend1-0/+24
2020-05-15bpf: Implement CAP_BPFAlexei Starovoitov1-1/+3
2020-04-26bpf: add bpf_ktime_get_boot_ns()Maciej Żenczykowski1-0/+14
2020-04-26net: bpf: Make bpf_ktime_get_ns() available to non GPL programsMaciej Żenczykowski1-1/+1
2020-04-26bpf: Fix missing bpf_base_func_proto in cgroup_base_func_proto for CGROUP_NET=nStanislav Fomichev1-0/+73
2020-03-27bpf: Enable bpf cgroup hooks to retrieve cgroup v2 and ancestor idDaniel Borkmann1-0/+18