aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/bpf/libbpf.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-01libbpf: move libbpf_sha256() implementation into libbpf_utils.cAndrii Nakryiko1-98/+0
2025-10-01libbpf: move libbpf_errstr() into libbpf_utils.cAndrii Nakryiko1-1/+0
2025-10-01libbpf: remove unused libbpf_strerror_r and STRERR_BUFSIZEAndrii Nakryiko1-2/+0
2025-09-28libbpf: Replace AF_ALG with open coded SHA-256Eric Biggers1-52/+91
2025-09-26libbpf: Fix error when st-prefix_ops and ops from differ btfD. Wythe1-19/+17
2025-09-18libbpf: Support exclusive map creationKP Singh1-0/+69
2025-09-18libbpf: Implement SHA256 internal helperKP Singh1-0/+59
2025-08-15libbpf: Fix reuse of DEVMAPYureka Lilian1-0/+10
2025-08-07libbpf: Add the ability to suppress perf event enablementIlya Leoshkevich1-5/+8
2025-07-31libbpf: Avoid possible use of uninitialized mod_lenAchill Gilgenast1-1/+1
2025-07-18libbpf: Verify that arena map exists when adding arena relocationsEduard Zingerman1-0/+5
2025-07-18Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after rc6Alexei Starovoitov1-7/+13
2025-07-18libbpf: Fix warning in calloc() usageMatteo Croce1-1/+1
2025-07-17libbpf: Fix handling of BPF arena relocationsAndrii Nakryiko1-7/+13
2025-06-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after rc3Alexei Starovoitov1-3/+7
2025-06-25libbpf: Fix possible use-after-free for externsAdin Scannell1-3/+7
2025-06-09libbpf: Support link-based cgroup attach with optionsYonghong Song1-0/+28
2025-05-14libbpf: Check bpf_map_skeleton link for NULLMykyta Yatsenko1-0/+6
2025-04-25Use thread-safe function pointer in libbpf_printJonathan Wiepert1-1/+1
2025-04-25libbpf: Remove sample_period init in perf_bufferTao Chen1-1/+0
2025-04-22libbpf: Fix event name too long errorFeng Yang1-27/+16
2025-04-15libbpf: Fix buffer overflow in bpf_object__init_progViktor Malik1-1/+1
2025-04-09libbpf: Add getters for BTF.ext func and line infoMykyta Yatsenko1-0/+24
2025-04-04libbpf: Fix implicit memfd_create() for bionicCarlos Llamas1-9/+0
2025-03-17libbpf: Pass BPF token from find_prog_btf_id to BPF_BTF_GET_FD_BY_IDMykyta Yatsenko1-5/+5
2025-03-15libbpf: Split bpf object load into prepare/loadMykyta Yatsenko1-43/+103
2025-03-15libbpf: Introduce more granular state for bpf_objectMykyta Yatsenko1-17/+22
2025-03-15libbpf: Use map_is_created helper in map settersMykyta Yatsenko1-9/+9
2025-02-24libbpf: Fix out-of-bound readNandakumar Edamana1-1/+1
2025-02-19libbpf: Wrap libbpf API direct err with libbpf_errTao Chen1-13/+13
2025-01-17libbpf: Work around kernel inconsistently stripping '.llvm.' suffixAndrii Nakryiko1-1/+25
2025-01-10libbpf: Add unique_match option for multi kprobeYonghong Song1-1/+12
2024-12-30libbpf: Set MFD_NOEXEC_SEAL when creating memfdDaniel Xu1-1/+13
2024-11-15libbpf: Fix memory leak in bpf_program__attach_uprobe_multiJiri Olsa1-6/+5
2024-11-11libbpf: Stringify errno in log messages in libbpf.cMykyta Yatsenko1-200/+156
2024-11-11libbpf: Add support for uprobe multi session attachJiri Olsa1-2/+16
2024-11-11bpf: Add support for uprobe multi session attachJiri Olsa1-0/+1
2024-10-23libbpf: move global data mmap()'ing into bpf_object__load()Andrii Nakryiko1-43/+40
2024-10-11libbpf: never interpret subprogs in .text as entry programsAndrii Nakryiko1-1/+1
2024-10-09libbpf: fix sym_is_subprog() logic for weak global subprogsAndrii Nakryiko1-1/+1
2024-10-03libbpf: Support creating light skeleton of either endiannessTony Ambardar1-0/+1
2024-10-03libbpf: Support opening bpf objects of either endiannessTony Ambardar1-9/+42
2024-10-03libbpf: Improve log message formattingTony Ambardar1-2/+2
2024-10-03libbpf: Fix expected_attach_type set handling in program load callbackTao Chen1-4/+8
2024-10-03libbpf: Change log level of BTF loading error messageIhor Solodrai1-4/+5
2024-09-12libbpf: Add bpf_object__token_fd accessorIhor Solodrai1-0/+5
2024-09-10libbpf: Fix uretprobe.multi.s programs auto attachmentJiri Olsa1-1/+1
2024-09-06libbpf: Workaround (another) -Wmaybe-uninitialized false positiveSam James1-2/+2
2024-09-05libbpf: fix some typos in libbpfLin Yikai1-1/+1
2024-08-29libbpf: Fix bpf_object__open_skeleton()'s mishandling of optionsAndrii Nakryiko1-33/+19
2024-07-29libbpf: Don't take direct pointers into BTF data from st_opsDavid Vernet1-10/+13
2024-07-09libbpf: improve old BPF skeleton handling for map auto-attachAndrii Nakryiko1-12/+14
2024-07-09libbpf: fix BPF skeleton forward/backward compat handlingAndrii Nakryiko1-20/+27
2024-07-08libbpf: Add NULL checks to bpf_object__{prev_map,next_map}Andreas Ziegler1-2/+2
2024-06-06libbpf: Auto-attach struct_ops BPF maps in BPF skeletonMykyta Yatsenko1-3/+61
2024-05-28libbpf: Configure log verbosity with env variableMykyta Yatsenko1-1/+24
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