aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf
AgeCommit message (Expand)AuthorFilesLines
2024-01-23bpf: Add the get_reg_width functionMaxim Mikityanskiy1-2/+7
2024-01-23bpf: Add the assign_scalar_id_before_mov functionMaxim Mikityanskiy1-14/+19
2024-01-23bpf: make infinite loop detection in is_state_visited() exactEduard Zingerman1-1/+1
2024-01-23bpf: support multiple tags per argumentAndrii Nakryiko1-23/+41
2024-01-23bpf: prepare btf_prepare_func_args() for multiple tags per argumentAndrii Nakryiko2-17/+37
2024-01-23bpf: make sure scalar args don't accept __arg_nonnull tagAndrii Nakryiko1-4/+4
2024-01-23bpf: Support inlining bpf_kptr_xchg() helperHou Tao3-0/+28
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
2024-01-16bpf: Reject variable offset alu on PTR_TO_FLOW_KEYSHao Sun1-0/+4
2024-01-11Merge tag 'net-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds22-1775/+2411
2024-01-04bpf: Fix re-attachment branch in bpf_tracing_prog_attachJiri Olsa1-0/+9
2024-01-04bpf: Relax tracing prog recursive attach rulesDmitrii Dolgov2-15/+47
2024-01-04bpf: Remove unnecessary cpu == 0 check in memallocYonghong Song1-1/+1
2024-01-03bpf: Limit up to 512 bytes for bpf_global_percpu_ma allocationYonghong Song1-0/+8
2024-01-03bpf: Use smaller low/high marks for percpu allocationYonghong Song1-1/+7
2024-01-03bpf: Refill only one percpu element in memallocYonghong Song1-4/+9
2024-01-03bpf: Allow per unit prefill for non-fix-size percpu memory allocatorYonghong Song2-15/+79
2024-01-03bpf: Add objcg to bpf_mem_allocYonghong Song1-5/+6
2024-01-03bpf: Avoid unnecessary extra percpu memory allocationYonghong Song1-1/+3
2024-01-03bpf: Simplify checking size of helper accessesAndrei Matei1-6/+4
2023-12-27Kill sched.h dependency on rcupdate.hKent Overstreet1-0/+1
2023-12-21bpf: Avoid unnecessary use of comma operator in verifierSimon Horman1-1/+1
2023-12-21bpf: Re-support uid and gid when mounting bpffsDaniel Borkmann1-2/+51
2023-12-20bpf: Use c->unit_size to select target cache during freeHou Tao1-94/+11
2023-12-19bpf: add support for passing dynptr pointer to global subprogAndrii Nakryiko2-0/+30
2023-12-19bpf: support 'arg:xxx' btf_decl_tag-based hints for global subprog argsAndrii Nakryiko2-7/+42
2023-12-19bpf: reuse subprog argument parsing logic for subprog call checksAndrii Nakryiko1-80/+30
2023-12-19bpf: move subprog call logic back to verifier.cAndrii Nakryiko2-146/+146
2023-12-19bpf: prepare btf_prepare_func_args() for handling static subprogsAndrii Nakryiko2-14/+9
2023-12-19bpf: reuse btf_prepare_func_args() check for main program BTF validationAndrii Nakryiko2-60/+15
2023-12-19bpf: abstract away global subprog arg preparation logic from reg state setupAndrii Nakryiko2-34/+47
2023-12-19bpf: make the verifier tracks the "not equal" for regsMenglong Dong1-1/+37
2023-12-19Revert BPF token-related functionalityAndrii Nakryiko10-766/+93
2023-12-18Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski21-455/+1416
2023-12-18bpf: Ensure precise is reset to false in __mark_reg_const_zero()Andrii Nakryiko1-18/+11
2023-12-15x86/cfi,bpf: Fix bpf_exception_cb() signatureAlexei Starovoitov1-1/+1
2023-12-15bpf: Fix dtor CFIPeter Zijlstra2-3/+21
2023-12-15x86/cfi,bpf: Fix bpf_struct_ops CFIPeter Zijlstra1-8/+8
2023-12-15x86/cfi,bpf: Fix BPF JIT callPeter Zijlstra1-0/+25
2023-12-14bpf: xdp: Register generic_kfunc_set with XDP programsDaniel Xu1-0/+1
2023-12-14bpf: support symbolic BPF FS delegation mount optionsAndrii Nakryiko1-38/+211
2023-12-14bpf: Fix a race condition between btf_put() and map_free()Yonghong Song1-1/+5
2023-12-13bpf: Use GFP_KERNEL in bpf_event_entry_gen()Hou Tao1-1/+1
2023-12-13bpf: Reduce the scope of rcu_read_lock when updating fd mapHou Tao2-4/+6
2023-12-13bpf: Update the comments in maybe_wait_bpf_programs()Hou Tao1-3/+7
2023-12-13bpf: add small subset of SECURITY_PATH hooks to BPF sleepable_lsm_hooks listMatt Bobrowski1-0/+12
2023-12-13bpf: fail BPF_TOKEN_CREATE if no delegation option was set on BPF FSAndrii Nakryiko1-1/+9
2023-12-13bpf: Support uid and gid when mounting bpffsJie Jiang1-1/+49
2023-12-12bpf: Comment on check_mem_size_regAndrei Matei1-0/+6
2023-12-12bpf: Remove unused backtrack_state helper functionsYang Li1-15/+0
2023-12-11bpf: tidy up exception callback management a bitAndrii Nakryiko2-22/+41
2023-12-11bpf: emit more dynptr information in verifier logAndrii Nakryiko1-9/+16
2023-12-11bpf: log PTR_TO_MEM memory size in verifier logAndrii Nakryiko1-0/+4
2023-12-09bpf: Add bpf_cpumask_weight() kfuncDavid Vernet1-0/+12
2023-12-09bpf: handle fake register spill to stack with BPF_ST_MEM instructionAndrii Nakryiko1-1/+0
2023-12-09bpf: Set uattr->batch.count as zero before batched update or deletionHou Tao1-0/+6
2023-12-09bpf: Only call maybe_wait_bpf_programs() when map operation succeedsHou Tao1-2/+4
2023-12-09bpf: Add missed maybe_wait_bpf_programs() for htab of mapsHou Tao1-3/+3
2023-12-09bpf: Call maybe_wait_bpf_programs() only once for generic_map_update_batch()Hou Tao1-1/+3
2023-12-09bpf: Remove unnecessary wait from bpf_map_copy_value()Hou Tao1-1/+0
2023-12-08bpf: Enable bpf_cgrp_storage for cgroup1 non-attach caseYafang Shao1-3/+3
2023-12-08bpf: Minor cleanup around stack boundsAndrei Matei1-2/+9
2023-12-08bpf: Fix accesses to uninit stack slotsAndrei Matei1-39/+26
2023-12-07Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski2-52/+18
2023-12-07bpf: Guard stack limits against 32bit overflowAndrei Matei1-3/+3
2023-12-07bpf: Fix verification of indirect var-off stack accessAndrei Matei1-10/+4
2023-12-06bpf: Use arch_bpf_trampoline_sizeSong Liu3-22/+42
2023-12-06bpf: Add arch_bpf_trampoline_size()Song Liu1-0/+6
2023-12-06bpf: Add helpers for trampoline image managementSong Liu2-14/+44
2023-12-06bpf: Adjust argument names of arch_prepare_bpf_trampoline()Song Liu1-2/+2
2023-12-06bpf: Let bpf_prog_pack_free handle any pointerSong Liu2-15/+11
2023-12-06bpf: Fix prog_array_map_poke_run map poke updateJiri Olsa1-48/+10
2023-12-06bpf,lsm: add BPF token LSM hooksAndrii Nakryiko2-6/+16
2023-12-06bpf,lsm: refactor bpf_map_alloc/bpf_map_free LSM hooksAndrii Nakryiko2-5/+5
2023-12-06bpf,lsm: refactor bpf_prog_alloc/bpf_prog_free LSM hooksAndrii Nakryiko2-14/+16
2023-12-06bpf: consistently use BPF token throughout BPF verifier logicAndrii Nakryiko3-9/+8
2023-12-06bpf: take into account BPF token when fetching helper protosAndrii Nakryiko3-8/+9
2023-12-06bpf: add BPF token support to BPF_PROG_LOAD commandAndrii Nakryiko4-26/+95
2023-12-06bpf: add BPF token support to BPF_BTF_LOAD commandAndrii Nakryiko1-2/+18
2023-12-06bpf: add BPF token support to BPF_MAP_CREATE commandAndrii Nakryiko3-15/+56
2023-12-06bpf: introduce BPF token objectAndrii Nakryiko4-6/+239
2023-12-06bpf: add BPF token delegation mount options to BPF FSAndrii Nakryiko1-10/+78
2023-12-06bpf: align CAP_NET_ADMIN checks with bpf_capable() approachAndrii Nakryiko1-4/+9
2023-12-05bpf: track aligned STACK_ZERO cases as imprecise spilled registersAndrii Nakryiko1-3/+7
2023-12-05bpf: preserve constant zero when doing partial register restoreAndrii Nakryiko1-4/+21
2023-12-05bpf: preserve STACK_ZERO slots on partial reg spillsAndrii Nakryiko1-5/+23
2023-12-05bpf: fix check for attempt to corrupt spilled pointerAndrii Nakryiko1-1/+1
2023-12-05bpf: support non-r10 register spill/fill to/from stack in precision trackingAndrii Nakryiko1-73/+102
2023-12-04bpf: Optimize the free of inner mapHou Tao4-6/+24
2023-12-04bpf: Defer the free of inner map when necessaryHou Tao2-8/+35
2023-12-04bpf: Set need_defer as false when clearing fd array during map freeHou Tao1-9/+14
2023-12-04bpf: Add map and need_defer parameters to .map_fd_put_ptr()Hou Tao4-10/+12
2023-12-04bpf: Check rcu_read_lock_trace_held() before calling bpf map helpersHou Tao1-5/+8
2023-12-04bpf: Minor logging improvementAndrei Matei1-2/+2
2023-12-02bpf: simplify tnum output if a fully known constantAndrii Nakryiko2-6/+13
2023-12-02bpf: enforce precision of R0 on program/async callback returnAndrii Nakryiko1-0/+4
2023-12-02bpf: unify async callback and program retval checksAndrii Nakryiko1-18/+12
2023-12-02bpf: enforce precise retval range on program exitAndrii Nakryiko1-27/+29
2023-12-02bpf: enforce exact retval range on subprog/callback exitAndrii Nakryiko1-11/+22
2023-12-02bpf: enforce precision of R0 on callback returnAndrii Nakryiko1-0/+7
2023-12-02bpf: provide correct register name for exception callback retval checkAndrii Nakryiko1-6/+6
2023-12-01bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4Yonghong Song1-4/+8
2023-11-30Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski1-17/+66
2023-11-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+2
2023-11-26bpf: Add missed allocation hint for bpf_mem_cache_alloc_flags()Hou Tao1-0/+2
2023-11-24bpf: Validate global subprogs lazilyAndrii Nakryiko1-6/+42
2023-11-24bpf: Emit global subprog name in verifier logsAndrii Nakryiko1-11/+24
2023-11-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-136/+266
2023-11-21Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski9-1036/+1230
2023-11-20bpf: keep track of max number of bpf_loop callback iterationsEduard Zingerman1-2/+17
2023-11-20bpf: widening for callback iteratorsEduard Zingerman1-2/+22
2023-11-20bpf: verify callbacks as if they are called unknown number of timesEduard Zingerman1-99/+175
2023-11-20bpf: extract setup_func_entry() utility functionEduard Zingerman1-36/+48
2023-11-20bpf: extract __check_reg_arg() utility functionEduard Zingerman1-6/+13
2023-11-19bpf: bpf_iter_task_next: use next_task(kit->task) rather than next_task(kit->...Oleg Nesterov1-9/+5
2023-11-19bpf: bpf_iter_task_next: use __next_thread() rather than next_thread()Oleg Nesterov1-5/+4
2023-11-19bpf: task_group_seq_get_next: use __next_thread() rather than next_thread()Oleg Nesterov1-7/+5
2023-11-18bpf: emit frameno for PTR_TO_STACK regs if it differs from current oneAndrii Nakryiko1-6/+14
2023-11-18bpf: smarter verifier log number printing logicAndrii Nakryiko1-11/+68
2023-11-18bpf: omit default off=0 and imm=0 in register state logAndrii Nakryiko1-6/+4
2023-11-18bpf: emit map name in register state if applicable and availableAndrii Nakryiko1-6/+18
2023-11-18bpf: print spilled register state in stack slotAndrii Nakryiko1-19/+17
2023-11-18bpf: extract register state printingAndrii Nakryiko1-57/+63
2023-11-18bpf: move verifier state printing code to kernel/bpf/log.cAndrii Nakryiko2-403/+342
2023-11-18bpf: move verbose_linfo() into kernel/bpf/log.cAndrii Nakryiko2-57/+59
2023-11-17bpf: rename BPF_F_TEST_SANITY_STRICT to BPF_F_TEST_REG_INVARIANTSAndrii Nakryiko2-4/+4
2023-11-15bpf: make __reg{32,64}_deduce_bounds logic more robustAndrii Nakryiko1-16/+8
2023-11-15bpf: remove redundant s{32,64} -> u{32,64} deduction logicAndrii Nakryiko1-36/+0
2023-11-15bpf: add register bounds sanity checks and sanitizationAndrii Nakryiko2-26/+94
2023-11-15bpf: enhance BPF_JEQ/BPF_JNE is_branch_taken logicAndrii Nakryiko1-0/+24
2023-11-15bpf: generalize is_scalar_branch_taken() logicAndrii Nakryiko1-40/+58
2023-11-15bpf: generalize reg_set_min_max() to handle non-const register comparisonsAndrii Nakryiko2-179/+142
2023-11-15bpf: Do not allocate percpu memory at init stageYonghong Song2-7/+21
2023-11-14bpf: Add a new kfunc for cgroup1 hierarchyYafang Shao1-0/+20
2023-11-10bpf: Add crosstask check to __bpf_get_stackJordan Rome1-1/+10
2023-11-09bpf: fix control-flow graph checking in privileged modeAndrii Nakryiko1-15/+8
2023-11-09bpf: fix precision backtracking instruction iterationAndrii Nakryiko1-2/+19
2023-11-09bpf: handle ldimm64 properly in check_cfg()Andrii Nakryiko1-7/+20
2023-11-09bpf: Mark direct ld of stashed bpf_{rb,list}_node as non-owning refDave Marchevsky1-5/+31
2023-11-09bpf: Move GRAPH_{ROOT,NODE}_MASK macros into btf_field_type enumDave Marchevsky1-7/+4
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: replace register_is_const() with is_reg_const()Shung-Hsi Yu1-16/+11
2023-11-09bpf: Introduce KF_ARG_PTR_TO_CONST_STRSong Liu1-0/+19
2023-11-09bpf: Factor out helper check_reg_const_str()Song Liu1-36/+49
2023-11-09bpf: Add __bpf_dynptr_data* for in kernel useSong Liu1-0/+19
2023-11-09bpf, lpm: Fix check prefixlen before walking trieFlorian Lehner1-0/+3
2023-11-09bpf: generalize reg_set_min_max() to handle two sets of two registersAndrii Nakryiko1-75/+56
2023-11-09bpf: prepare reg_set_min_max for second set of registersAndrii Nakryiko1-40/+40
2023-11-09bpf: unify 32-bit and 64-bit is_branch_taken logicAndrii Nakryiko1-141/+59
2023-11-09bpf: generalize is_branch_taken to handle all conditional jumps in one placeAndrii Nakryiko1-24/+25
2023-11-09bpf: move is_branch_taken() downAndrii Nakryiko1-42/+42
2023-11-09bpf: generalize is_branch_taken() to work with two registersAndrii Nakryiko1-25/+32
2023-11-09bpf: rename is_branch_taken reg arguments to prepare for the second oneAndrii Nakryiko1-54/+54
2023-11-09bpf: drop knowledge-losing __reg_combine_{32,64}_into_{64,32} logicAndrii Nakryiko1-52/+8
2023-11-09bpf: try harder to deduce register bounds from different numeric domainsAndrii Nakryiko1-0/+1
2023-11-09bpf: improve deduction of 64-bit bounds from 32-bit boundsAndrii Nakryiko1-0/+44
2023-11-09bpf: add special smin32/smax32 derivation from 64-bit boundsAndrii Nakryiko1-0/+23
2023-11-09bpf: derive subreg bounds from full bounds when upper 32 bits are constantAndrii Nakryiko1-0/+45
2023-11-09bpf: derive smin32/smax32 from umin32/umax32 boundsAndrii Nakryiko1-0/+7
2023-11-09bpf: derive smin/smax from umin/max boundsAndrii Nakryiko1-0/+71
2023-11-07bpf: Let verifier consider {task,cgroup} is trusted in bpf_iter_regChuyi Zhou2-2/+2
2023-11-01bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_ENDShung-Hsi Yu1-1/+6
2023-11-01bpf: Relax allowlist for css_task iterChuyi Zhou1-4/+12
2023-11-01bpf: Check map->usercnt after timer->timer is assignedHou Tao1-9/+16
2023-11-01bpf: Add __bpf_kfunc_{start,end}_defs macrosDave Marchevsky6-32/+16
2023-11-01bpf: Fix check_stack_write_fixed_off() to correctly spill immHao Sun1-1/+1
2023-11-01bpf: fix compilation error without CGROUPSMatthieu Baerts3-3/+17
2023-11-01Merge tag 'for-6.7/io_uring-sockopt-2023-10-30' of git://git.kernel.dk/linuxLinus Torvalds1-11/+14
2023-10-31Merge tag 'net-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds19-312/+1766
2023-10-30Merge tag 'vfs-6.7.ctime' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs...Linus Torvalds1-3/+2
2023-10-30Merge tag 'vfs-6.7.misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfsLinus Torvalds1-3/+1
2023-10-26bpf: Add more WARN_ON_ONCE checks for mismatched alloc and freeHou Tao1-0/+4
2023-10-24netkit, bpf: Add bpf programmable net deviceDaniel Borkmann1-5/+25
2023-10-24bpf: Improve JEQ/JNE branch taken logicAndrii Nakryiko1-0/+8
2023-10-24bpf: Fold smp_mb__before_atomic() into atomic_set_release()Paul E. McKenney1-2/+1
2023-10-24bpf: Fix unnecessary -EBUSY from htab_lock_bucketSong Liu1-2/+5
2023-10-23bpf: print full verifier states on infinite loop detectionEduard Zingerman1-0/+4
2023-10-23bpf: correct loop detection for iterators convergenceEduard Zingerman1-4/+203
2023-10-23bpf: exact states comparison for iterator convergence checksEduard Zingerman1-31/+187
2023-10-23bpf: extract same_callsites() as utility functionEduard Zingerman1-5/+15
2023-10-23bpf: move explored_state() closer to the beginning of verifier.cEduard Zingerman1-15/+13
2023-10-23bpf, tcx: Get rid of tcx_link_constDaniel Borkmann1-2/+2
2023-10-20bpf: Use bpf_global_percpu_ma for per-cpu kptr in __bpf_obj_drop_impl()Hou Tao2-10/+16
2023-10-20bpf: Move the declaration of __bpf_obj_drop_impl() to bpf.hHou Tao2-4/+0
2023-10-20bpf: Use pcpu_alloc_size() in bpf_mem_free{_rcu}()Hou Tao1-2/+14
2023-10-20bpf: Re-enable unit_size checking for global per-cpu allocatorHou Tao1-10/+12
2023-10-19bpf: Let bpf_iter_task_new accept null task ptrChuyi Zhou2-3/+17
2023-10-19bpf: teach the verifier to enforce css_iter and task_iter in RCU CSChuyi Zhou2-13/+41
2023-10-19bpf: Introduce css open-coded iterator kfuncsChuyi Zhou2-0/+68
2023-10-19bpf: Introduce task open coded iterator kfuncsChuyi Zhou2-0/+93
2023-10-19bpf: Introduce css_task open-coded iterator kfuncsChuyi Zhou3-0/+84
2023-10-19bpf: Add sockptr support for setsockoptBreno Leitao1-2/+3
2023-10-19bpf: Add sockptr support for getsockoptBreno Leitao1-9/+11
2023-10-19file: convert to SLAB_TYPESAFE_BY_RCUChristian Brauner1-3/+1
2023-10-18bpf: convert to new timestamp accessorsJeff Layton1-3/+2
2023-10-17bpf: Fix missed rcu read lock in bpf_task_under_cgroup()Yafang Shao1-1/+6
2023-10-17net, bpf: Add a warning if NAPI cb missed xdp_do_flush().Sebastian Andrzej Siewior2-0/+20
2023-10-16Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf...Jakub Kicinski8-39/+203