aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/btf.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-30bpf: Add support for kprobe session contextJiri Olsa1-0/+3
2024-04-23bpf: add support for bpf_wq user typeBenjamin Tissoires1-0/+17
2024-04-16btf: Avoid weak external referencesArd Biesheuvel1-2/+5
2024-03-11bpf: Recognize btf_decl_tag("arg: Arena") as PTR_TO_ARENA.Alexei Starovoitov1-4/+15
2024-03-06bpf: Allow all printable characters in BTF DATASEC namesEduard Zingerman1-1/+15
2024-02-13bpf: don't infer PTR_TO_CTX for programs with unnamed context typeAndrii Nakryiko1-0/+3
2024-02-13bpf: handle bpf_user_pt_regs_t typedef explicitly for PTR_TO_CTX global argAndrii Nakryiko1-0/+15
2024-02-13bpf: simplify btf_get_prog_ctx_type() into btf_is_prog_ctx_type()Andrii Nakryiko1-14/+13
2024-02-13bpf: Create argument information for nullable arguments.Kui-Feng Lee1-0/+27
2024-02-13bpf: Move __kfunc_param_match_suffix() to btf.c.Kui-Feng Lee1-0/+18
2024-02-13bpf: add btf pointer to struct bpf_ctx_arg_aux.Kui-Feng Lee1-1/+1
2024-02-08bpf, btf: Check btf for register_bpf_struct_opsGeliang Tang1-1/+3
2024-02-08bpf, btf: Add check_btf_kconfigs helperGeliang Tang1-18/+15
2024-02-08bpf, btf: Fix return value of register_btf_id_dtor_kfuncsGeliang Tang1-4/+2
2024-02-02bpf: don't emit warnings intended for global subprogs for static subprogsAndrii Nakryiko1-0/+6
2024-01-31bpf: treewide: Annotate BPF kfuncs in BTFDaniel Xu1-0/+8
2024-01-30bpf: add arg:nullable tag to be combined with trusted pointersAndrii Nakryiko1-0/+10
2024-01-30bpf: add __arg_trusted global func arg tagAndrii Nakryiko1-13/+86
2024-01-29bpf: move arg:ctx type enforcement check inside the main logic loopAndrii Nakryiko1-17/+4
2024-01-23bpf: export btf_ctx_access to modules.Kui-Feng Lee1-0/+1
2024-01-23bpf, net: switch to dynamic registrationKui-Feng Lee1-4/+82
2024-01-23bpf: add struct_ops_tab to btf.Kui-Feng Lee1-0/+55
2024-01-23bpf: refactory struct_ops type initialization to a function.Kui-Feng Lee1-0/+5
2024-01-23bpf: support multiple tags per argumentAndrii Nakryiko1-23/+41
2024-01-23bpf: prepare btf_prepare_func_args() for multiple tags per argumentAndrii Nakryiko1-16/+37
2024-01-23bpf: make sure scalar args don't accept __arg_nonnull tagAndrii Nakryiko1-4/+4
2024-01-17bpf: enforce types for __arg_ctx-tagged arguments in global subprogsAndrii Nakryiko1-0/+160
2024-01-17bpf: extract bpf_ctx_convert_map logic and make it more reusableAndrii Nakryiko1-26/+45
2023-12-19bpf: add support for passing dynptr pointer to global subprogAndrii Nakryiko1-0/+23
2023-12-19bpf: support 'arg:xxx' btf_decl_tag-based hints for global subprog argsAndrii Nakryiko1-6/+38
2023-12-19bpf: move subprog call logic back to verifier.cAndrii Nakryiko1-139/+0
2023-12-19bpf: prepare btf_prepare_func_args() for handling static subprogsAndrii Nakryiko1-9/+9
2023-12-19bpf: reuse btf_prepare_func_args() check for main program BTF validationAndrii Nakryiko1-47/+3
2023-12-19bpf: abstract away global subprog arg preparation logic from reg state setupAndrii Nakryiko1-18/+20
2023-12-11bpf: tidy up exception callback management a bitAndrii Nakryiko1-9/+2
2023-11-09bpf: Move GRAPH_{ROOT,NODE}_MASK macros into btf_field_type enumDave Marchevsky1-7/+4
2023-10-11bpf: Add bpf_sock_addr_set_sun_path() to allow writing unix sockaddr from bpfDaan De Meyer1-0/+1
2023-09-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netPaolo Abeni1-1/+1
2023-09-16bpf: Add support for custom exception callbacksKumar Kartikeya Dwivedi1-8/+21
2023-09-12bpf: Fix a erroneous check after snprintf()Christophe JAILLET1-1/+1
2023-09-08bpf: Add BPF_KPTR_PERCPU as a field typeYonghong Song1-0/+5
2023-09-02Merge tag 'probes-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/trac...Linus Torvalds1-1/+1
2023-08-23tracing/probes: Support BTF argument on module functionsMasami Hiramatsu (Google)1-1/+1
2023-08-03net: invert the netdevice.h vs xdp.h dependencyJakub Kicinski1-0/+1
2023-07-13Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski1-12/+12
2023-07-13bpf: Fix an error in verifying a field in a unionYafang Shao1-1/+1
2023-07-13bpf: Fix an error around PTR_UNTRUSTEDYafang Shao1-11/+9
2023-07-03bpf, btf: Warn but return no error for NULL btf from __register_btf_kfunc_id_...SeongJae Park1-4/+2
2023-06-30bpf: Resolve modifiers when walking structsStanislav Fomichev1-0/+2
2023-06-24Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski1-9/+10
2023-06-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-12/+8
2023-06-21bpf/btf: Accept function names that contain dotsFlorent Revest1-12/+8
2023-05-30bpf: Silence a warning in btf_type_id_size()Yonghong Song1-9/+10
2023-05-19bpf: Add kfunc filter function to 'struct btf_kfunc_id_set'Aditi Ghag1-11/+54
2023-04-21bpf: minimal support for programs hooked into netfilter frameworkFlorian Westphal1-0/+6
2023-04-21bpf: Fix race between btf_put and btf_idr walk.Alexei Starovoitov1-5/+3
2023-04-19bpf: support access variable length array of integer typeFeng Zhou1-3/+5
2023-04-15bpf: Migrate bpf_rbtree_remove to possibly failDave Marchevsky1-19/+2
2023-04-15bpf: Introduce opaque bpf_refcount struct and add btf_record plumbingDave Marchevsky1-1/+11
2023-04-15bpf: Remove btf_field_offs, use btf_record's fields insteadDave Marchevsky1-72/+21
2023-04-13Daniel Borkmann says:Jakub Kicinski1-82/+197
2023-04-11bpf/btf: Fix is_int_ptr()Feng Zhou1-6/+2
2023-04-11bpf: Simplify internal verifier log interfaceAndrii Nakryiko1-33/+32
2023-04-11bpf: Add log_true_size output field to return necessary log buffer sizeAndrii Nakryiko1-14/+18
2023-04-11bpf: Simplify logging-related error conditions handlingAndrii Nakryiko1-1/+1
2023-04-11bpf: Fix missing -EFAULT return on user log buf error in btf_parse()Andrii Nakryiko1-0/+4
2023-04-11bpf: Switch BPF verifier log to be a rotating log by defaultAndrii Nakryiko1-1/+2
2023-04-04bpf: Refactor btf_nested_type_is_trusted().Alexei Starovoitov1-27/+17
2023-03-13bpf: Disable migration when freeing stashed local kptr using obj dropDave Marchevsky1-3/+1
2023-03-10bpf: Support __kptr to local kptrsDave Marchevsky1-9/+28
2023-03-10bpf: btf: Remove unused btf_field_info_type enumDave Marchevsky1-6/+0
2023-03-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+1
2023-03-08bpf: add iterator kfuncs registration and validation logicAndrii Nakryiko1-1/+111
2023-03-06btf: fix resolving BTF_KIND_VAR after ARRAY, STRUCT, UNION, PTRLorenz Bauer1-0/+1
2023-03-03bpf: Refactor RCU enforcement in the verifier.Alexei Starovoitov1-3/+13
2023-03-03bpf: Rename __kptr_ref -> __kptr and __kptr -> __kptr_untrusted.Alexei Starovoitov1-2/+2
2023-03-01bpf: Add skb dynptrsJoanne Koong1-0/+18
2023-03-01bpf: Support "sk_buff" and "xdp_buff" as valid kfunc arg typesJoanne Koong1-0/+4
2023-02-17bpf: Fix global subprog context argument resolution logicAndrii Nakryiko1-2/+11
2023-02-13bpf: Special verifier handling for bpf_rbtree_{remove, first}Dave Marchevsky1-0/+24
2023-02-13bpf: Add basic bpf_rb_{root,node} supportDave Marchevsky1-55/+107
2023-02-10Daniel Borkmann says:Jakub Kicinski1-1/+15
2023-02-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-2/+2
2023-01-28bpf: btf: Add BTF_FMODEL_SIGNED_ARG flagIlya Leoshkevich1-1/+15
2023-01-24bpf: Allow trusted args to walk struct when checking BTF IDsDavid Vernet1-0/+61
2023-01-24bpf: Enable annotating trusted nested pointersDavid Vernet1-0/+61
2023-01-20bpf: Add missing btf_put to register_btf_id_dtor_kfuncsJiri Olsa1-2/+2
2023-01-10bpf: btf: limit logging of ignored BTF mismatchesConnor O'Brien1-11/+27
2022-12-28bpf: rename list_head -> graph_root in field info typesDave Marchevsky1-10/+11
2022-12-07Merge "do not rely on ALLOW_ERROR_INJECTION for fmod_ret" into bpf-nextAlexei Starovoitov1-5/+25
2022-12-07bpf: do not rely on ALLOW_ERROR_INJECTION for fmod_retBenjamin Tissoires1-5/+25
2022-12-04bpf: Do not mark certain LSM hook arguments as trustedYonghong Song1-0/+2
2022-11-24bpf: Don't mark arguments to fentry/fexit programs as trusted.Alexei Starovoitov1-3/+13
2022-11-24bpf: Add kfunc bpf_rcu_read_lock/unlock()Yonghong Song1-0/+3
2022-11-24bpf: Unify and simplify btf_func_proto_check error handlingStanislav Fomichev1-9/+5
2022-11-24bpf: Prevent decl_tag from being referenced in func_proto argStanislav Fomichev1-0/+5
2022-11-20bpf: Add a kfunc to type cast from bpf uapi ctx to kernel ctxYonghong Song1-0/+20
2022-11-20bpf: Add support for kfunc set with common btf_idsYonghong Song1-0/+8
2022-11-20bpf: Allow trusted pointers to be passed to KF_TRUSTED_ARGS kfuncsDavid Vernet1-0/+8
2022-11-17bpf: Add comments for map BTF matching requirement for bpf_list_headKumar Kartikeya Dwivedi1-0/+3
2022-11-17bpf: Rewrite kfunc argument handlingKumar Kartikeya Dwivedi1-369/+11
2022-11-17bpf: Verify ownership relationships for user BTF typesKumar Kartikeya Dwivedi1-0/+71
2022-11-17bpf: Recognize lock and list fields in allocated objectsKumar Kartikeya Dwivedi1-18/+179
2022-11-17bpf: Introduce allocated objects supportKumar Kartikeya Dwivedi1-0/+5
2022-11-14bpf: Refactor btf_struct_accessKumar Kartikeya Dwivedi1-4/+7
2022-11-14bpf: Support bpf_list_head in map valuesKumar Kartikeya Dwivedi1-3/+142
2022-11-14bpf: Remove BPF_MAP_OFF_ARR_MAXKumar Kartikeya Dwivedi1-1/+1
2022-11-03bpf: Refactor map->off_arr handlingKumar Kartikeya Dwivedi1-0/+55
2022-11-03bpf: Consolidate spin_lock, timer management into btf_recordKumar Kartikeya Dwivedi1-146/+177
2022-11-03bpf: Refactor kptr_off_tab into btf_recordKumar Kartikeya Dwivedi1-36/+31
2022-11-03bpf: Allow specifying volatile type modifier for kptrsKumar Kartikeya Dwivedi1-0/+3
2022-10-17bpf: prevent decl_tag from being referenced in func_protoStanislav Fomichev1-0/+5
2022-10-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+1
2022-09-21bpf: Tweak definition of KF_TRUSTED_ARGSKumar Kartikeya Dwivedi1-5/+13
2022-09-21btf: Allow dynamic pointer parameters in kfuncsRoberto Sassu1-0/+33
2022-09-21bpf: Allow kfuncs to be used in LSM programsKP Singh1-0/+1
2022-09-21bpf: simplify code in btf_parse_hdrWilliam Dean1-6/+1
2022-09-16bpf/btf: Use btf_type_str() whenever possiblePeilin Ye1-9/+8
2022-09-10bpf: btf: fix truncated last_member_type_id in btf_struct_resolveLorenz Bauer1-1/+1
2022-09-10bpf: Export btf_type_by_id() and bpf_log()Daniel Xu1-0/+1
2022-09-07bpf/verifier: allow kfunc to return an allocated memBenjamin Tissoires1-20/+81
2022-09-07bpf/btf: bump BTF_KFUNC_SET_MAX_CNTBenjamin Tissoires1-1/+1
2022-09-07bpf: split btf_check_subprog_arg_match in twoBenjamin Tissoires1-5/+49
2022-09-06bpf: Allow struct argument in trampoline based programsYonghong Song1-6/+39
2022-08-09bpf: Always return corresponding btf_type in __get_type_size()Yonghong Song1-5/+4
2022-08-09btf: Add a new kfunc flag which allows to mark a function to be sleepableBenjamin Tissoires1-0/+9
2022-07-29bpf: btf: Fix vsnprintf return value checkFedor Tokarev1-1/+1
2022-07-21bpf: Add support for forcing kfunc args to be trustedKumar Kartikeya Dwivedi1-3/+14
2022-07-21bpf: Switch to new kfunc flags infrastructureKumar Kartikeya Dwivedi1-58/+48
2022-07-15bpf: Fix check against plain integer v 'NULL'Ben Dooks1-1/+2
2022-07-09Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-83/+11
2022-07-05bpf, libbpf: Add type match supportDaniel Müller1-0/+9
2022-06-29bpf: minimize number of allocated lsm slots per programStanislav Fomichev1-10/+0
2022-06-29bpf: per-cgroup lsm flavorStanislav Fomichev1-0/+11
2022-06-24bpf: Merge "types_are_compat" logic into relo_core.cDaniel Müller1-83/+1
2022-06-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+5
2022-06-17Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-14/+128
2022-06-15bpf: Limit maximum modifier chain length in btf_check_type_tagsKumar Kartikeya Dwivedi1-0/+5
2022-06-07bpf: Fix calling global functions from BPF_PROG_TYPE_EXT programsToke Høiland-Jørgensen1-1/+2
2022-06-07bpf: Add btf enum64 supportYonghong Song1-14/+128
2022-05-20bpf: Allow kfunc in tracing and syscall programs.Benjamin Tissoires1-0/+6
2022-04-26bpf: Compute map_btf_id during build timeMenglong Dong1-40/+0
2022-04-25bpf: Make BTF type match stricter for release argumentsKumar Kartikeya Dwivedi1-4/+10
2022-04-25bpf: Teach verifier about kptr_get kfunc helpersKumar Kartikeya Dwivedi1-5/+53
2022-04-25bpf: Wire up freeing of referenced kptrKumar Kartikeya Dwivedi1-1/+97
2022-04-25bpf: Populate pairs of btf_id and destructor kfunc in btfKumar Kartikeya Dwivedi1-0/+108
2022-04-25bpf: Allow storing referenced kptr in mapKumar Kartikeya Dwivedi1-1/+9
2022-04-25bpf: Tag argument to be released in bpf_func_protoKumar Kartikeya Dwivedi1-6/+5
2022-04-25bpf: Allow storing unreferenced kptr in mapKumar Kartikeya Dwivedi1-21/+146
2022-04-21bpf: Make btf_find_field more genericKumar Kartikeya Dwivedi1-31/+89
2022-04-19bpf: Ensure type tags precede modifiers in BTFKumar Kartikeya Dwivedi1-0/+54
2022-03-28bpf: Fix maximum permitted number of arguments checkYuntao Wang1-1/+1
2022-03-21bpf: Simplify check in btf_parse_hdr()Yuntao Wang1-2/+1
2022-03-20bpf: Check for NULL return from bpf_get_btf_vmlinuxKumar Kartikeya Dwivedi1-1/+5
2022-03-19bpf: Always raise reference in btf_get_module_btfKumar Kartikeya Dwivedi1-10/+11
2022-03-18bpf: Factor out fd returning from bpf_btf_find_by_name_kindKumar Kartikeya Dwivedi1-37/+53
2022-03-05bpf: Reject programs that try to load __percpu memory.Hao Luo1-1/+7
2022-03-05bpf: Harden register offset checks for release helpers and kfuncsKumar Kartikeya Dwivedi1-14/+19
2022-03-05bpf: Fix PTR_TO_BTF_ID var_off checkKumar Kartikeya Dwivedi1-3/+6
2022-02-28bpf: Add config to allow loading modules with BTF mismatchesConnor O'Brien1-1/+2
2022-02-23bpf: Cleanup commentsTom Rix1-3/+3
2022-02-19bpf: Initialize ret to 0 inside btf_populate_kfunc_set()Souptick Joarder (HPE)1-1/+1
2022-02-17Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-3/+10
2022-02-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-2/+3
2022-02-16bpf: Fix crash due to out of bounds access into reg2btf_ids.Kumar Kartikeya Dwivedi1-2/+3
2022-02-16libbpf: Split bpf_core_apply_relo()Mauricio Vásquez1-3/+10
2022-02-04bpf: Implement bpf_core_types_are_compat().Matteo Croce1-1/+104
2022-02-03bpf: Fix a btf decl_tag bug when tagging a functionYonghong Song1-8/+21
2022-01-27bpf: reject program if a __user tagged memory accessed in kernel wayYonghong Song1-6/+28
2022-01-25bpf: fix register_btf_kfunc_id_set for !CONFIG_DEBUG_INFO_BTFStanislav Fomichev1-2/+13
2022-01-24Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-40/+328
2022-01-19bpf: Generalize check_ctx_reg for reuse with other typesDaniel Borkmann1-1/+1
2022-01-18bpf: Add reference tracking support to kfuncKumar Kartikeya Dwivedi1-2/+30
2022-01-18bpf: Introduce mem, size argument pair support for kfuncKumar Kartikeya Dwivedi1-3/+45
2022-01-18bpf: Remove check_kfunc_call callback and old kfunc BTF ID APIKumar Kartikeya Dwivedi1-46/+0
2022-01-18bpf: Populate kfunc BTF ID sets in struct btfKumar Kartikeya Dwivedi1-1/+243
2022-01-18bpf: Fix UAF due to race between btf_try_get_module and load_moduleKumar Kartikeya Dwivedi1-2/+24
2021-12-18bpf: Extend kfunc with PTR_TO_CTX, PTR_TO_MEM argument supportKumar Kartikeya Dwivedi1-21/+73
2021-12-18bpf: Add MEM_RDONLY for helper args that are pointers to rdonly mem.Hao Luo1-1/+1
2021-12-18bpf: Convert PTR_TO_MEM_OR_NULL to composable types.Hao Luo1-1/+1
2021-12-18bpf: Introduce MEM_RDONLY flagHao Luo1-2/+1
2021-12-18bpf: Replace PTR_TO_XXX_OR_NULL with PTR_TO_XXX | PTR_MAYBE_NULLHao Luo1-2/+5
2021-12-13bpf: Allow access to int pointer arguments in tracing programsJiri Olsa1-4/+3
2021-12-11bpf: Silence coverity false positive warning.Alexei Starovoitov1-4/+4
2021-12-11bpf: Use kmemdup() to replace kmalloc + memcpyJiapeng Chong1-2/+1
2021-12-10Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-12/+398
2021-12-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-9/+2
2021-12-08bpf: Remove redundant assignment to pointer tColin Ian King1-1/+1
2021-12-06bpf: Silence purge_cand_cache build warning.Alexei Starovoitov1-0/+2
2021-12-04bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD)Hou Tao1-2/+1
2021-12-03libbpf: Reduce bpf_core_apply_relo_insn() stack usage.Alexei Starovoitov1-1/+10
2021-12-02bpf: Fix bpf_check_mod_kfunc_call for built-in modulesKumar Kartikeya Dwivedi1-2/+0
2021-12-02bpf: Make CONFIG_DEBUG_INFO_BTF depend upon CONFIG_BPF_SYSCALLKumar Kartikeya Dwivedi1-7/+2
2021-12-02bpf: Add bpf_core_add_cands() and wire it into bpf_core_apply_relo_insn().Alexei Starovoitov1-1/+345
2021-12-02bpf: Adjust BTF log size limit.Alexei Starovoitov1-1/+1
2021-12-02bpf: Pass a set of bpf_core_relo-s to prog_load command.Alexei Starovoitov1-0/+6
2021-12-02bpf: Prepare relo_core.c for kernel duty.Alexei Starovoitov1-0/+26
2021-12-02bpf: Rename btf_member accessors.Alexei Starovoitov1-9/+9
2021-11-12bpf: Introduce btf_tracing_idsSong Liu1-4/+4
2021-11-12bpf: Extend BTF_ID_LIST_GLOBAL with parameter for number of IDsSong Liu1-1/+1