aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/core.c
AgeCommit message (Expand)AuthorFilesLines
4 daysMerge tag 'modules-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-3/+3
6 daysmm: introduce execmem_alloc() and execmem_free()Mike Rapoport (IBM)1-3/+3
6 daysMerge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski1-6/+19
7 daysriscv, bpf: inline bpf_get_smp_processor_id()Puranjay Mohan1-0/+11
2024-05-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+9
2024-04-29bpf: Switch to krealloc_array()Andy Shevchenko1-1/+1
2024-04-29bpf: Use struct_size()Andy Shevchenko1-5/+7
2024-04-26bpf: verifier: prevent userspace memory accessPuranjay Mohan1-0/+9
2024-04-22bpf: Fix typos in commentsRafael Passos1-1/+1
2024-04-09bpf: Add support for certain atomics in bpf_arena to x86 JITAlexei Starovoitov1-0/+5
2024-04-03bpf: add special internal-only MOV instruction to resolve per-CPU addrsAndrii Nakryiko1-0/+5
2024-04-03bpf: Replace deprecated strncpy with strscpyJustin Stitt1-2/+2
2024-03-28bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter modeMartin KaFai Lau1-0/+2
2024-03-18bpf: Check return from set_memory_rox()Christophe Leroy1-7/+21
2024-03-14bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()Christophe Leroy1-1/+3
2024-03-11bpf: move sleepable flag from bpf_prog_aux to bpf_progAndrii Nakryiko1-1/+1
2024-03-11bpf: hardcode BPF_PROG_PACK_SIZE to 2MB * num_possible_nodes()Puranjay Mohan1-1/+6
2024-03-11bpf: Add x86-64 JIT support for bpf_addr_space_cast instruction.Alexei Starovoitov1-0/+5
2024-03-11bpf: Introduce bpf_arena.Alexei Starovoitov1-0/+11
2024-03-07bpf: Tell bpf programs kernel's PAGE_SIZEAlexei Starovoitov1-1/+6
2024-03-06bpf: Introduce may_goto instructionAlexei Starovoitov1-0/+1
2024-01-24bpf: Consistently use BPF token throughout BPF verifier logicAndrii Nakryiko1-1/+1
2024-01-24bpf: Add BPF token support to BPF_PROG_LOAD commandAndrii Nakryiko1-0/+1
2024-01-23bpf: Support inlining bpf_kptr_xchg() helperHou Tao1-0/+10
2023-12-19Revert BPF token-related functionalityAndrii Nakryiko1-2/+1
2023-12-18Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski1-12/+41
2023-12-15x86/cfi,bpf: Fix BPF JIT callPeter Zijlstra1-0/+25
2023-12-06bpf: Let bpf_prog_pack_free handle any pointerSong Liu1-11/+10
2023-12-06bpf: consistently use BPF token throughout BPF verifier logicAndrii Nakryiko1-1/+1
2023-12-06bpf: add BPF token support to BPF_PROG_LOAD commandAndrii Nakryiko1-0/+1
2023-12-04bpf: Optimize the free of inner mapHou Tao1-0/+4
2023-12-01bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4Yonghong Song1-4/+8
2023-11-15bpf: Do not allocate percpu memory at init stageYonghong Song1-5/+3
2023-09-17Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextDavid S. Miller1-11/+26
2023-09-16bpf: Detect IP == ksym.end as part of BPF programKumar Kartikeya Dwivedi1-1/+5
2023-09-16bpf: Implement BPF exceptionsKumar Kartikeya Dwivedi1-1/+1
2023-09-16bpf: Implement support for adding hidden subprogsKumar Kartikeya Dwivedi1-6/+6
2023-09-16arch/x86: Implement arch_bpf_stack_walkKumar Kartikeya Dwivedi1-0/+9
2023-09-08bpf: Add support for non-fix-size percpu mem allocationYonghong Song1-3/+5
2023-09-06bpf: make bpf_prog_pack allocator portablePuranjay Mohan1-4/+4
2023-08-02bpf: fix bpf_probe_read_kernel prototype mismatchArnd Bergmann1-9/+3
2023-07-28bpf: Fix compilation warning with -WparenthesesYonghong Song1-2/+2
2023-07-27bpf: Support new 32bit offset jmp instructionYonghong Song1-3/+16
2023-07-27bpf: Fix jit blinding with new sdiv/smov insnsYonghong Song1-2/+2
2023-07-27bpf: Support new signed div/mod instructions.Yonghong Song1-16/+94
2023-07-27bpf: Support new unconditional bswap instructionYonghong Song1-0/+14
2023-07-27bpf: Support new sign-extension mov insnsYonghong Song1-2/+26
2023-07-27bpf: Support new sign-extension load insnsYonghong Song1-0/+21
2023-06-12bpf: Hide unused bpf_patch_call_argsArnd Bergmann1-3/+5
2023-04-13bpf: Support 64-bit pointers to kfuncsIlya Leoshkevich1-0/+11
2023-03-21bpf: Adjust insufficient default bpf_jit_limitDaniel Borkmann1-1/+1
2023-02-22bpf: add missing header file includeLinus Torvalds1-0/+1
2023-02-21Merge tag 'net-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds1-8/+17
2023-02-21uaccess: Add speculation barrier to copy_from_user()Dave Hansen1-2/+0
2023-02-10bpf: allow to disable bpf prog memory accountingYafang Shao1-6/+7
2023-01-23bpf: XDP metadata RX kfuncsStanislav Fomichev1-0/+8
2023-01-23bpf: Introduce device-bound XDP programsStanislav Fomichev1-2/+2
2023-01-23bpf: Rename bpf_{prog,map}_is_dev_bound to is_offloadedStanislav Fomichev1-2/+2
2022-12-21Merge tag 'net-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netd...Linus Torvalds1-2/+3
2022-12-17Merge tag 'x86_mm_for_6.2_v2' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-4/+2
2022-12-15mm: Introduce set_memory_rox()Peter Zijlstra1-4/+2
2022-12-14bpf: Resolve fext program type when checking map compatibilityToke Høiland-Jørgensen1-2/+3
2022-12-13Merge tag 'net-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds1-1/+23
2022-11-17bpf: Introduce bpf_obj_newKumar Kartikeya Dwivedi1-0/+16
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-2/+2
2022-10-20Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-3/+3
2022-10-18Merge tag 'for-netdev' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/b...Jakub Kicinski1-1/+7
2022-10-18bpf: Use rcu_trace_implies_rcu_gp() for program array freeingHou Tao1-1/+7
2022-10-11treewide: use get_random_u32() when possibleJason A. Donenfeld1-1/+1
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-2/+2
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+1
2022-10-03bpf: kmsan: initialize BPF registers with zeroesAlexander Potapenko1-1/+1
2022-09-26bpf: use bpf_prog_pack for bpf_dispatcherSong Liu1-2/+7
2022-09-01Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+1
2022-08-24bpf: Fix a data-race around bpf_jit_limit.Kuniyuki Iwashima1-1/+1
2022-08-09bpf: Add BPF-helper for accessing CLOCK_TAIJesper Dangaard Brouer1-0/+1
2022-07-22Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-71/+29
2022-07-22bpf: Simplify bpf_prog_pack_[size|mask]Song Liu1-54/+17
2022-07-14Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-3/+5
2022-07-12bpf, x86: fix freeing of not-finalized bpf_prog_packSong Liu1-17/+12
2022-07-07bpf: Make sure mac_header was set before using itEric Dumazet1-3/+5
2022-06-29bpf: minimize number of allocated lsm slots per programStanislav Fomichev1-0/+7
2022-06-29bpf: per-cgroup lsm flavorStanislav Fomichev1-0/+2
2022-06-21bpf, x64: Add predicate for bpf2bpf with tailcalls support in JITTony Ambardar1-0/+6
2022-06-16bpf: implement sleepable uprobes by chaining gpsDelyan Kratunov1-0/+15
2022-06-02bpf: Correct the comment about insn_to_jit_offPu Lehui1-1/+1
2022-05-28bpf: Fix probe read error in ___bpf_prog_run()Menglong Dong1-9/+5
2022-05-23bpf: Introduce bpf_arch_text_invalidate for bpf_prog_packSong Liu1-0/+8
2022-05-23bpf: Fill new bpf_prog_pack with illegal instructionsSong Liu1-4/+6
2022-05-13bpf: Fix combination of jit blinding and pointers to bpf subprogs.Alexei Starovoitov1-0/+10
2022-05-11bpf: add bpf_map_lookup_percpu_elem for percpu mapFeng Zhou1-0/+1
2022-03-21bpf: Fix bpf_prog_pack when PMU_SIZE is not definedSong Liu1-2/+13
2022-03-21bpf: Fix bpf_prog_pack for multi-node setupSong Liu1-2/+7
2022-03-20bpf: Select proper size for bpf_prog_packSong Liu1-23/+47
2022-03-16bpf: Fix net.core.bpf_jit_harden raceHou Tao1-1/+2
2022-03-02bpf, x86: Set header->size properly before freeing itSong Liu1-3/+6
2022-02-17bpf: bpf_prog_pack: Set proper size before freeing ro_headerSong Liu1-0/+1
2022-02-10bpf: Fix bpf_prog_pack build for ppc64_defconfigSong Liu1-2/+2
2022-02-08bpf: Fix bpf_prog_pack build HPAGE_PMD_SIZESong Liu1-1/+5
2022-02-07bpf: Introduce bpf_jit_binary_pack_[alloc|finalize|free]Song Liu1-1/+107
2022-02-07bpf: Introduce bpf_prog_pack allocatorSong Liu1-0/+127
2022-02-07bpf: Introduce bpf_arch_text_copySong Liu1-0/+5
2022-02-07bpf: Use prog->jited_len in bpf_prog_ksym_set_addr()Song Liu1-4/+1
2022-02-07bpf: Use size instead of pages in bpf_binary_headerSong Liu1-6/+5
2022-02-07bpf: Use bytes instead of pages for bpf_jit_[charge|uncharge]_modmemSong Liu1-9/+8
2022-01-27cgroup/bpf: fast path skb BPF filteringPavel Begunkov1-12/+4
2022-01-21bpf: generalise tail call map compatibility checkToke Hoiland-Jorgensen1-14/+14
2021-11-30bpf, docs: Prune all references to "internal BPF"Christoph Hellwig1-1/+1
2021-11-30bpf: Remove a redundant comment on bpf_prog_freeChristoph Hellwig1-1/+0
2021-11-16bpf: Change value of MAX_TAIL_CALL_CNT from 32 to 33Tiezhu Yang1-1/+2
2021-11-06bpf: Stop caching subprog index in the bpf_pseudo_func insnMartin KaFai Lau1-0/+7
2021-11-01Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-0/+4
2021-10-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-8/+16
2021-10-26bpf: Fix potential race in tail call compatibility checkToke Høiland-Jørgensen1-7/+13
2021-10-22bpf: Prevent increasing bpf_jit_limit above maxLorenz Bauer1-1/+3
2021-10-05bpf: Introduce BPF support for kernel module function callsKumar Kartikeya Dwivedi1-0/+4
2021-10-01Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-0/+5
2021-09-28bpf: Exempt CAP_BPF from checks against bpf_jit_limitLorenz Bauer1-1/+1
2021-09-17bpf: Add bpf_trace_vprintk helperDave Marchevsky1-0/+5
2021-08-19bpf: Undo off-by-one in interpreter tail call count limitDaniel Borkmann1-1/+1
2021-08-17bpf: Allow to specify user-provided bpf_cookie for BPF perf linksAndrii Nakryiko1-11/+18
2021-08-17bpf: Refactor BPF_PROG_RUN into a functionAndrii Nakryiko1-1/+1
2021-08-13Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+6
2021-08-10bpf, core: Fix kernel-doc notationRandy Dunlap1-1/+6
2021-08-02bpf: Fix off-by-one in tail call count limitingJohan Almbladh1-1/+1
2021-07-29bpf: Introduce BPF nospec instruction for mitigating Spectre v4Daniel Borkmann1-1/+18
2021-07-09bpf: Track subprog poke descriptors correctly and fix use-after-freeJohn Fastabend1-1/+7
2021-06-17bpf: Fix up register-based shifts in interpreter to silence KUBSANDaniel Borkmann1-18/+43
2021-04-03bpf: Remove unused parameter from ___bpf_prog_runHe Fengqing1-4/+3
2021-03-26bpf: Support bpf program calling kernel functionMartin KaFai Lau1-3/+15
2021-03-26bpf: Simplify freeing logic in linfo and jited_linfoMartin KaFai Lau1-23/+12
2021-03-18bpf: Fix fexit trampoline.Alexei Starovoitov1-2/+2
2021-03-04bpf: Explicitly zero-extend R0 after 32-bit cmpxchgBrendan Jackman1-0/+4
2021-02-22bpf: Clear percpu pointers in bpf_prog_clone_free()Cong Wang1-0/+2
2021-02-11bpf: Clear per_cpu pointers during bpf_prog_reallocAlexei Starovoitov1-0/+2
2021-02-11bpf: Add per-program recursion prevention mechanismAlexei Starovoitov1-0/+8
2021-02-11bpf: Optimize program statsAlexei Starovoitov1-4/+4
2021-01-14bpf: Add bitwise atomic instructionsBrendan Jackman1-0/+3
2021-01-14bpf: Pull out a macro for interpreting atomic ALU operationsBrendan Jackman1-41/+39
2021-01-14bpf: Add instructions for atomic_[cmp]xchgBrendan Jackman1-0/+20
2021-01-14bpf: Add BPF_FETCH field / create atomic_fetch_add instructionBrendan Jackman1-0/+13
2021-01-14bpf: Rename BPF_XADD and prepare to encode other atomics in .immBrendan Jackman1-9/+22
2021-01-12bpf: Support BPF ksym variables in kernel modulesAndrii Nakryiko1-0/+23
2020-12-02bpf: Eliminate rlimit-based memory accounting for bpf progsRoman Gushchin1-10/+2
2020-12-02bpf: Memcg-based memory accounting for bpf progsRoman Gushchin1-5/+5
2020-11-18bpf: Add bpf_ktime_get_coarse_ns helperDmitrii Banshchikov1-0/+1
2020-10-29bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSEArd Biesheuvel1-1/+1
2020-10-15Merge tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ne...Linus Torvalds1-8/+21
2020-09-29bpf: Move prog->aux->linked_prog and trampoline into bpf_link on attachToke Høiland-Jørgensen1-3/+6
2020-09-28bpf: Add bpf_seq_printf_btf helperAlan Maguire1-0/+1
2020-09-28bpf: Add bpf_snprintf_btf helperAlan Maguire1-0/+1
2020-09-17bpf, x64: rework pro/epilogue and tailcall handling in JITMaciej Fijalkowski1-1/+1
2020-09-17bpf: rename poke descriptor's 'ip' member to 'tailcall_target'Maciej Fijalkowski1-1/+2
2020-09-15bpf: Mutex protect used_maps array and countYiFei Zhu1-4/+11
2020-09-10objtool: Rename frame.h -> objtool.hJulien Thierry1-1/+1
2020-08-07bpf: Delete repeated words in commentsRandy Dunlap1-1/+1
2020-07-25bpf: Make cgroup storages shared between programs on the same cgroupYiFei Zhu1-12/+0
2020-07-17bpf, netns: Handle multiple link attachmentsJakub Sitnicki1-0/+55
2020-06-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-nextLinus Torvalds1-2/+8
2020-06-02mm: remove the pgprot argument to __vmallocChristoph Hellwig1-3/+3
2020-06-01bpf: Fix spelling in comment explaining ARG1 in ___bpf_prog_runChris Packham1-1/+1
2020-05-15bpf: Implement CAP_BPFAlexei Starovoitov1-1/+1
2020-05-08crypto: lib/sha1 - rename "sha" to "sha1"Eric Biggers1-9/+9
2020-04-26bpf: add bpf_ktime_get_boot_ns()Maciej Żenczykowski1-0/+1
2020-04-26bpf: Fix missing bpf_base_func_proto in cgroup_base_func_proto for CGROUP_NET=nStanislav Fomichev1-0/+5
2020-03-27bpf: Enable bpf cgroup hooks to retrieve cgroup v2 and ancestor idDaniel Borkmann1-0/+1
2020-03-13bpf: Add bpf_ksym_add/del functionsJiri Olsa1-14/+19
2020-03-13bpf: Add prog flag to struct bpf_ksym objectJiri Olsa1-11/+11
2020-03-13bpf: Add bpf_ksym_find functionJiri Olsa1-7/+15
2020-03-13bpf: Move ksym_tnode to bpf_ksymJiri Olsa1-14/+10
2020-03-13bpf: Move lnode list node to struct bpf_ksymJiri Olsa1-11/+11
2020-03-13bpf: Add name to struct bpf_ksymJiri Olsa1-3/+6
2020-03-13bpf: Add struct bpf_ksymJiri Olsa1-16/+12
2020-03-12bpf: Added new helper bpf_get_ns_current_pid_tgidCarlos Neira1-0/+1
2020-01-22bpf: Add BPF_FUNC_jiffies64Martin KaFai Lau1-0/+1
2019-12-27Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextDavid S. Miller1-4/+2
2019-12-19bpf: Remove unnecessary assertion on fp_oldAditya Pakki1-2/+0
2019-12-17bpf: Fix cgroup local storage prog trackingDaniel Borkmann1-2/+1
2019-12-16bpf: Fix missing prog untrack in release_mapsDaniel Borkmann1-4/+10
2019-12-11bpf, x86, arm64: Enable jit by default when not built as always-onDaniel Borkmann1-2/+2
2019-11-24bpf: Add poke dependency tracking for prog array mapsDaniel Borkmann1-2/+7
2019-11-24bpf: Add initial poke descriptor table for jit imagesDaniel Borkmann1-0/+34
2019-11-24bpf: Move owner type, jited info into array auxiliary dataDaniel Borkmann1-6/+5
2019-11-24bpf: Move bpf_free_used_maps into sleepable sectionDaniel Borkmann1-0/+23
2019-11-15bpf: Support attaching tracing BPF program to other BPF programsAlexei Starovoitov1-0/+2
2019-11-15bpf: Introduce BPF trampolineAlexei Starovoitov1-0/+1
2019-11-15bpf: Add bpf_arch_text_poke() helperAlexei Starovoitov1-0/+6
2019-11-15bpf: Support doubleword alignment in bpf_jit_binary_allocIlya Leoshkevich1-0/+4
2019-11-06bpf: Account for insn->off when doing bpf_probe_read_kernelMartin KaFai Lau1-1/+1
2019-11-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextDavid S. Miller1-7/+5
2019-11-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netDavid S. Miller1-1/+1
2019-11-02bpf: Switch BPF probe insns to bpf_probe_read_kernelDaniel Borkmann1-4/+5
2019-10-31bpf: Fix bpf jit kallsym accessAlexei Starovoitov1-3/+0
2019-10-22bpf: Fix use after free in subprog's jited symbol removalDaniel Borkmann1-1/+1
2019-10-17bpf: Add support for BTF pointers to x86 JITAlexei Starovoitov1-1/+19
2019-10-17bpf: Add support for BTF pointers to interpreterAlexei Starovoitov1-0/+19
2019-08-26bpf: handle 32-bit zext during constant blindingNaveen N. Rao1-2/+6
2019-07-18bpf: Disable GCC -fgcse optimization for ___bpf_prog_run()Josh Poimboeuf1-1/+1
2019-07-18Merge branch 'x86/debug' into core/urgentThomas Gleixner1-2/+1
2019-07-09bpf: Fix ORC unwinding in non-JIT BPF codeJosh Poimboeuf1-2/+1