aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/bpf/libbpf.c
AgeCommit message (Expand)AuthorFilesLines
2024-05-07libbpf: improve early detection of doomed-to-fail BPF program loadingAndrii Nakryiko1-1/+14
2024-05-07libbpf: handle yet another corner case of nulling out struct_ops programAndrii Nakryiko1-1/+9
2024-05-07libbpf: remove unnecessary struct_ops prog validity checkAndrii Nakryiko1-10/+3
2024-05-02libbpf: Fix error message in attach_kprobe_multiJiri Olsa1-1/+1
2024-05-02libbpf: Fix error message in attach_kprobe_sessionJiri Olsa1-1/+1
2024-05-01libbpf: better fix for handling nulled-out struct_ops programAndrii Nakryiko1-11/+26
2024-05-01libbpf: support "module: Function" syntax for tracing programsViktor Malik1-9/+26
2024-04-30libbpf: Add kprobe session attach type name to attach_type_nameJiri Olsa1-0/+1
2024-04-30libbpf: Add support for kprobe session attachJiri Olsa1-2/+37
2024-04-29libbpf: handle nulled-out program in struct_ops correctlyAndrii Nakryiko1-0/+1
2024-04-10libbpf: Add bpf_link support for BPF_PROG_TYPE_SOCKMAPYonghong Song1-0/+7
2024-03-28libbpf: Handle <orig_name>.llvm.<hash> symbol properlyYonghong Song1-1/+20
2024-03-28libbpf: Mark libbpf_kallsyms_parse static functionYonghong Song1-1/+4
2024-03-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-3/+7
2024-03-22libbpf: Add new sec_def "sk_skb/verdict"Yonghong Song1-0/+1
2024-03-21libbpf: Define MFD_CLOEXEC if not availableArnaldo Carvalho de Melo1-0/+4
2024-03-19libbpf: add support for BPF cookie for raw_tp/tp_btf programsAndrii Nakryiko1-3/+17
2024-03-19libbpf: fix u64-to-pointer cast on 32-bit archesAndrii Nakryiko1-2/+2
2024-03-18libbpbpf: Check bpf_map/bpf_program fd validityMykyta Yatsenko1-7/+52
2024-03-15libbpf, selftests/bpf: Adjust libbpf, bpftool, selftests to match LLVMAlexei Starovoitov1-1/+1
2024-03-14libbpf: Skip zeroed or null fields if not found in the kernel type.Kui-Feng Lee1-5/+19
2024-03-14libbpf: Prevent null-pointer dereference when prog to load has no BTFQuentin Monnet1-4/+3
2024-03-11libbpf: Recognize __arena global variables.Andrii Nakryiko1-12/+106
2024-03-11libbpf: Add support for bpf_arena.Alexei Starovoitov1-8/+39
2024-03-07libbpf: Allow specifying 64-bit integers in map BTF.Alexei Starovoitov1-2/+42
2024-03-06libbpf: Rewrite btf datasec names starting from '?'Eduard Zingerman1-2/+17
2024-03-06libbpf: Struct_ops in SEC("?.struct_ops") / SEC("?.struct_ops.link")Eduard Zingerman1-1/+14
2024-03-06libbpf: Replace elf_state->st_ops_* fields with SEC_ST_OPS sec_typeEduard Zingerman1-29/+32
2024-03-06libbpf: Sync progs autoload with maps autocreate for struct_ops mapsEduard Zingerman1-0/+43
2024-03-06libbpf: Honor autocreate flag for struct_ops mapsEduard Zingerman1-3/+15
2024-03-06libbpf: Tie struct_ops programs to kernel BTF ids, not to local idsEduard Zingerman1-23/+26
2024-03-06libbpf: Allow version suffixes (___smth) for struct_ops typesEduard Zingerman1-1/+5
2024-02-29libbpf: Convert st_ops->data to shadow type.Kui-Feng Lee1-2/+38
2024-02-29libbpf: Set btf_value_type_id of struct bpf_map for struct_ops.Kui-Feng Lee1-0/+5
2024-02-05libbpf: fix return value for PERF_EVENT __arg_ctx type fix up checkAndrii Nakryiko1-3/+3
2024-02-01libbpf: Call memfd_create() syscall directlyAndrii Nakryiko1-1/+10
2024-02-01libbpf: Remove unnecessary null check in kernel_supports()Eduard Zingerman1-1/+1
2024-01-29libbpf: fix __arg_ctx type enforcement for perf_event programsAndrii Nakryiko1-1/+20
2024-01-29libbpf: integrate __arg_ctx feature detector into kernel_supports()Andrii Nakryiko1-64/+1
2024-01-24libbpf: Support BPF token path setting through LIBBPF_BPF_TOKEN_PATH envvarAndrii Nakryiko1-0/+6
2024-01-24libbpf: Wire up BPF token support at BPF object levelAndrii Nakryiko1-6/+96
2024-01-24libbpf: Wire up token_fd into feature probing logicAndrii Nakryiko1-2/+2
2024-01-24libbpf: Move feature detection code into its own fileAndrii Nakryiko1-462/+1
2024-01-24libbpf: Further decouple feature checking logic from bpf_objectAndrii Nakryiko1-7/+15
2024-01-24libbpf: Split feature detectors definitions from cached resultsAndrii Nakryiko1-6/+12
2024-01-23libbpf: Find correct module BTFs for struct_ops maps and progs.Kui-Feng Lee1-10/+31
2024-01-23libbpf: Apply map_set_def_max_entries() for inner_maps on creationAndrey Grafin1-0/+4
2024-01-17libbpf: warn on unexpected __arg_ctx type when rewriting BTFAndrii Nakryiko1-9/+66
2024-01-17libbpf: feature-detect arg:ctx tag support in kernelAndrii Nakryiko1-0/+67
2024-01-03libbpf: implement __arg_ctx fallback logicAndrii Nakryiko1-4/+252
2024-01-03libbpf: move BTF loading step after relocation stepAndrii Nakryiko1-1/+1
2024-01-03libbpf: move exception callbacks assignment logic into relocation stepAndrii Nakryiko1-80/+85
2024-01-03libbpf: use stable map placeholder FDsAndrii Nakryiko1-38/+63
2024-01-03libbpf: don't rely on map->fd as an indicator of map being createdAndrii Nakryiko1-15/+27
2024-01-03libbpf: use explicit map reuse flag to skip map creation stepsAndrii Nakryiko1-1/+1
2024-01-03libbpf: make uniform use of btf__fd() accessor inside libbpfAndrii Nakryiko1-1/+1
2023-12-21libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relosMingyi Zhang1-0/+2
2023-12-19Revert BPF token-related functionalityAndrii Nakryiko1-118/+455
2023-12-13libbpf: support BPF token path setting through LIBBPF_BPF_TOKEN_PATH envvarAndrii Nakryiko1-4/+10
2023-12-13libbpf: wire up BPF token support at BPF object levelAndrii Nakryiko1-7/+111
2023-12-13libbpf: wire up token_fd into feature probing logicAndrii Nakryiko1-1/+1
2023-12-13libbpf: move feature detection code into its own fileAndrii Nakryiko1-462/+1
2023-12-13libbpf: further decouple feature checking logic from bpf_objectAndrii Nakryiko1-7/+15
2023-12-13libbpf: split feature detectors definitions from cached resultsAndrii Nakryiko1-6/+12
2023-12-08bpf: Load vmlinux btf for any struct_ops mapDavid Vernet1-0/+11
2023-11-28libbpf: Add st_type argument to elf_resolve_syms_offsets functionJiri Olsa1-1/+1
2023-10-24libbpf: Add link-based API for netkitDaniel Borkmann1-0/+39
2023-10-11libbpf: Add support for cgroup unix socket address hooksDaan De Meyer1-0/+10
2023-09-29libbpf: Allow Golang symbols in uprobe secdefHengqi Chen1-6/+16
2023-09-22libbpf: Support symbol versioning for uprobeHengqi Chen1-1/+1
2023-09-16libbpf: Add support for custom exception callbacksKumar Kartikeya Dwivedi1-5/+109
2023-09-16libbpf: Refactor bpf_object__reloc_codeKumar Kartikeya Dwivedi1-19/+33
2023-08-23libbpf: Add bpf_object__unpin()Daniel Xu1-0/+15
2023-08-22libbpf: Free btf_vmlinux when closing bpf_objectHao Luo1-0/+1
2023-08-21libbpf: Add uprobe multi link support to bpf_program__attach_usdtJiri Olsa1-2/+11
2023-08-21libbpf: Add uprobe multi link detectionJiri Olsa1-0/+36
2023-08-21libbpf: Add support for u[ret]probe.multi[.s] program sectionsJiri Olsa1-0/+36
2023-08-21libbpf: Add bpf_program__attach_uprobe_multi functionJiri Olsa1-0/+114
2023-08-21libbpf: Add elf_resolve_pattern_offsets functionJiri Olsa1-1/+1
2023-08-21libbpf: Move elf_find_func_offset* functions to elf objectJiri Olsa1-185/+0
2023-08-21libbpf: Add uprobe_multi attach type and link namesJiri Olsa1-0/+2
2023-08-18libbpf: Support triple-underscore flavors for kfunc relocationDave Marchevsky1-1/+19
2023-08-14libbpf: Set close-on-exec flag on gzopenMarco Vedovati1-2/+2
2023-07-19libbpf: Add link-based API for tcxDaniel Borkmann1-9/+49
2023-07-19libbpf: Add opts-based attach/detach/query API for tcxDaniel Borkmann1-3/+9
2023-07-11libbpf: Fix realloc API handling in zero-sized edge casesAndrii Nakryiko1-3/+12
2023-07-08libbpf: only reset sec_def handler when necessaryAndrii Nakryiko1-8/+19
2023-07-06libbpf: Use available_filter_functions_addrs with multi-kprobesJackie Liu1-1/+61
2023-07-06libbpf: Cross-join available_filter_functions and kallsyms for multi-kprobesJackie Liu1-13/+97
2023-06-30libbpf: Add netfilter link attach helperFlorian Westphal1-0/+42
2023-06-30libbpf: Skip modules BTF loading when CAP_SYS_ADMIN is missingAndrea Terzolo1-0/+4
2023-06-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+2
2023-06-05bpf: netfilter: Add BPF_NETFILTER bpf_attach_typeFlorian Westphal1-1/+2
2023-05-26libbpf: Ensure FD >= 3 during bpf_map__reuse_fd()Andrii Nakryiko1-7/+6
2023-05-26libbpf: Ensure libbpf always opens files with O_CLOEXECAndrii Nakryiko1-3/+3
2023-05-25libbpf: Change var type in datasec resize funcJP Kobryn1-2/+2
2023-05-24libbpf: Add capability for resizing datasec mapsJP Kobryn1-9/+126
2023-04-27Merge tag 'mm-nonmm-stable-2023-04-27-16-01' of git://git.kernel.org/pub/scm/...Linus Torvalds1-1/+1
2023-04-21tools: bpftool: print netfilter link infoFlorian Westphal1-0/+3
2023-04-18libbpf: improve handling of unresolved kfuncsAndrii Nakryiko1-3/+69
2023-04-18libbpf: report vmlinux vs module name when dealing with ksymsAndrii Nakryiko1-4/+5
2023-04-18libbpf: misc internal libbpf clean ups around log fixupAndrii Nakryiko1-12/+14
2023-04-08ELF: fix all "Elf" typosAlexey Dobriyan1-1/+1
2023-03-29libbpf: disassociate section handler on explicit bpf_program__set_type() callAndrii Nakryiko1-0/+1
2023-03-27libbpf: Ensure print callback usage is thread-safeJP Kobryn1-3/+6
2023-03-22libbpf: Use .struct_ops.link section to indicate a struct_ops with a link.Kui-Feng Lee1-16/+44
2023-03-22libbpf: Update a bpf_link with another struct_ops.Kui-Feng Lee1-0/+35
2023-03-22libbpf: Create a bpf_link in bpf_map__attach_struct_ops().Kui-Feng Lee1-24/+71
2023-03-22libbpf: Support kfunc detection in light skeleton.Alexei Starovoitov1-2/+5
2023-03-22libbpf: Rename RELO_EXTERN_VAR/FUNC.Alexei Starovoitov1-9/+9
2023-03-20libbpf: Explicitly call write to append content to fileLiu Pan1-5/+9
2023-03-17libbpf: Fix relocation of kfunc ksym in ld_imm64 insn.Alexei Starovoitov1-0/+6
2023-03-06libbpf: Add support to set kprobe/uprobe attach modeMenglong Dong1-1/+47
2023-03-01libbpf: Add support for attaching uprobes to shared objects in APKsDaniel Müller1-7/+84
2023-03-01libbpf: Introduce elf_find_func_offset_from_file() functionDaniel Müller1-21/+36
2023-03-01libbpf: Remove several dead assignmentsViktor Malik1-1/+0
2023-03-01libbpf: Remove unnecessary ternary operatorViktor Malik1-1/+1
2023-02-16libbpf: Use bpf_{btf,link,map,prog}_get_info_by_fd()Ilya Leoshkevich1-7/+7
2023-02-08libbpf: Add sample_period to creation optionsJon Doron1-2/+7
2023-02-06libbpf: Correctly set the kernel code version in Debian kernel.Hao Xiang1-37/+0
2023-01-25libbpf: Support sleepable struct_ops.s sectionDavid Vernet1-0/+1
2023-01-13libbpf: Replace '.' with '_' in legacy kprobe event nameMenglong Dong1-0/+7
2023-01-10libbpf: Fix map creation flags sanitizationLudovic L'Hours1-1/+1
2022-12-20libbpf: Fix build warning on ref_ctr_off for 32-bit architecturesKhem Raj1-1/+1
2022-11-29Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+1
2022-11-22selftests/bpf: Workaround for llvm nop-4 bugAlexei Starovoitov1-1/+2
2022-11-14libbpf: Fixed various checkpatch issues in libbpf.cKang Minchul1-17/+28
2022-11-14libbpf: Use correct return pointer in attach_raw_tpJiri Olsa1-1/+1
2022-11-09libbpf: Hashmap interface update to allow both long and void* keys/valuesEduard Zingerman1-12/+6
2022-10-25libbpf: Support new cgroup local storageYonghong Song1-0/+1
2022-10-19libbpf: only add BPF_F_MMAPABLE flag for data maps with global varsAndrii Nakryiko1-19/+78
2022-10-19libbpf: clean up and refactor BTF fixup stepAndrii Nakryiko1-54/+42
2022-10-13libbpf: Fix null-pointer dereference in find_prog_by_sec_insn()Shung-Hsi Yu1-0/+3
2022-10-13libbpf: Deal with section with no data gracefullyShung-Hsi Yu1-1/+5
2022-10-13libbpf: Use elf_getshdrnum() instead of e_shnumShung-Hsi Yu1-4/+9
2022-09-26libbpf: Fix the case of running as non-root with capabilitiesJon Doron1-3/+3
2022-09-23libbpf: Add pathname_concat() helperWang Yufen1-47/+29
2022-09-21bpf: Add libbpf logic for user-space ring bufferDavid Vernet1-2/+8
2022-09-21bpf: Define new BPF_MAP_TYPE_USER_RINGBUF map typeDavid Vernet1-0/+1
2022-09-16libbpf: Fix crash if SEC("freplace") programs don't have attach_prog_fd setAndrii Nakryiko1-4/+9
2022-08-17libbpf: Clean up deprecated and legacy aliasesAndrii Nakryiko1-2/+0
2022-08-17libbpf: Streamline bpf_attr and perf_event_attr initializationAndrii Nakryiko1-15/+28
2022-08-17libbpf: Fix potential NULL dereference when parsing ELFAndrii Nakryiko1-1/+1
2022-08-17libbpf: Allows disabling auto attachHao Luo1-1/+14
2022-08-15libbpf: Making bpf_prog_load() ignore name if kernel doesn't supportHangbin Liu1-2/+11
2022-08-11libbpf: Add names for auxiliary mapsHangbin Liu1-3/+3
2022-08-10libbpf: preserve errno across pr_warn/pr_info/pr_debugAndrii Nakryiko1-0/+5
2022-08-08libbpf: Do not require executable permission for shared librariesHengqi Chen1-3/+5
2022-08-08libbpf: Reject legacy 'maps' ELF sectionAndrii Nakryiko1-5/+3
2022-08-04libbpf: Skip empty sections in bpf_object__init_global_data_mapsJames Hilliard1-0/+4
2022-07-28libbpf: Support PPC in arch_specific_syscall_pfxDaniel Müller1-1/+10
2022-07-19libbpf: make RINGBUF map size adjustments more eagerlyAndrii Nakryiko1-35/+42
2022-07-19libbpf: fallback to tracefs mount point if debugfs is not mountedAndrii Nakryiko1-21/+40
2022-07-19libbpf: add ksyscall/kretsyscall sections support for syscall kprobesAndrii Nakryiko1-9/+108
2022-07-19libbpf: improve BPF_KPROBE_SYSCALL macro and rename it to BPF_KSYSCALLAndrii Nakryiko1-0/+2
2022-07-19libbpf: generalize virtual __kconfig externs and use it for USDTAndrii Nakryiko1-31/+64
2022-07-15libbpf: perfbuf: Add API to get the ring bufferJon Doron1-0/+16
2022-07-13libbpf: Fix the name of a reused mapAnquan Wu1-2/+7
2022-07-13libbpf: Error out when binary_path is NULL for uprobe and USDTHengqi Chen1-6/+7
2022-07-05libbpf: Cleanup the legacy uprobe_event on failed add/attach_event()Chuang Wang1-5/+14
2022-07-05libbpf: Fix wrong variable used in perf_event_uprobe_open_legacy()Chuang Wang1-1/+1
2022-07-05libbpf: Cleanup the legacy kprobe_event on failed add/attach_event()Chuang Wang1-4/+14
2022-07-05bpf, libbpf: Add type match supportDaniel Müller1-0/+6
2022-06-29libbpf: add lsm_cgoup_sock typeStanislav Fomichev1-0/+3
2022-06-28libbpf: enforce strict libbpf 1.0 behaviorsAndrii Nakryiko1-203/+9
2022-06-28libbpf: clean up SEC() handlingAndrii Nakryiko1-72/+47
2022-06-28libbpf: remove internal multi-instance prog supportAndrii Nakryiko1-283/+34
2022-06-28libbpf: remove multi-instance and custom private data APIsAndrii Nakryiko1-111/+10
2022-06-28libbpf: remove most other deprecated high-level APIsAndrii Nakryiko1-220/+21
2022-06-28libbpf: remove prog_info_linear APIsAndrii Nakryiko1-248/+0
2022-06-28libbpf: clean up perfbuf APIsAndrii Nakryiko1-42/+12
2022-06-28libbpf: remove deprecated BTF APIsAndrii Nakryiko1-30/+14
2022-06-28libbpf: remove deprecated low-level APIsAndrii Nakryiko1-89/+0
2022-06-24bpf: Merge "types_are_compat" logic into relo_core.cDaniel Müller1-71/+1
2022-06-16libbpf: add support for sleepable uprobe programsDelyan Kratunov1-1/+4
2022-06-14libbpf: Fix an unsigned < 0 bugYonghong Song1-1/+1
2022-06-09libbpf: Fix uprobe symbol file offset calculation logicAndrii Nakryiko1-41/+22
2022-06-07libbpf: Add enum64 relocation supportYonghong Song1-3/+4
2022-06-07libbpf: Add enum64 sanitizationYonghong Song1-4/+52
2022-06-03libbpf: Fix is_pow_of_2Yuze Chi1-5/+0
2022-06-02libbpf: Introduce libbpf_bpf_link_type_strDaniel Müller1-0/+21
2022-06-02libbpf: Introduce libbpf_bpf_attach_type_strDaniel Müller1-0/+54
2022-06-02libbpf: Introduce libbpf_bpf_map_type_strDaniel Müller1-0/+42
2022-06-02libbpf: Introduce libbpf_bpf_prog_type_strDaniel Müller1-0/+43
2022-05-23libbpf: Fix typo in commentJulia Lawall1-1/+1
2022-05-16libbpf: fix memory leak in attach_tp for target-less tracepoint programAndrii Nakryiko1-4/+4
2022-05-13libbpf: Add safer high-level wrappers for map operationsAndrii Nakryiko1-0/+104
2022-05-11libbpf: Add bpf_program__set_insns functionJiri Olsa1-0/+22
2022-05-11libbpf: Clean up ringbuf size adjustment implementationAndrii Nakryiko1-4/+2
2022-05-10libbpf: Assign cookies to links in libbpf.Kui-Feng Lee1-4/+16
2022-05-09libbpf: Automatically fix up BPF_MAP_TYPE_RINGBUF size, if necessaryAndrii Nakryiko1-1/+41
2022-04-28libbpf: Allow to opt-out from creating BPF mapsAndrii Nakryiko1-16/+108
2022-04-28libbpf: Use libbpf_mem_ensure() when allocating new mapAndrii Nakryiko1-27/+10
2022-04-28libbpf: Append "..." in fixed up log if CO-RE spec is truncatedAndrii Nakryiko1-4/+4
2022-04-28libbpf: Support target-less SEC() definitions for BTF-backed programsAndrii Nakryiko1-17/+32
2022-04-28libbpf: Allow "incomplete" basic tracing SEC() definitionsAndrii Nakryiko1-18/+51
2022-04-26libbpf: Fix up verifier log for unguarded failed CO-RE relosAndrii Nakryiko1-0/+144
2022-04-26libbpf: Record subprog-resolved CO-RE relocations unconditionallyAndrii Nakryiko1-15/+12
2022-04-26libbpf: Avoid joining .BTF.ext data with BPF programs by section nameAndrii Nakryiko1-27/+51
2022-04-26libbpf: Fix logic for finding matching program for CO-RE relocationAndrii Nakryiko1-2/+3