aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/bpf_verifier.h
AgeCommit message (Expand)AuthorFilesLines
2024-04-24bpf: Introduce bpf_preempt_[disable,enable] kfuncsKumar Kartikeya Dwivedi1-0/+1
2024-04-23bpf: wq: add bpf_wq_set_callback_implBenjamin Tissoires1-0/+1
2024-04-05bpf: store both map ptr and state in bpf_insn_aux_dataPhilo Lu1-1/+8
2024-03-11bpf: Recognize addr_space_cast instruction in the verifier.Alexei Starovoitov1-0/+1
2024-03-06bpf: Introduce may_goto instructionAlexei Starovoitov1-0/+2
2024-02-02bpf: Preserve boundaries and track scalars on narrowing fillMaxim Mikityanskiy1-0/+9
2024-01-30bpf: add __arg_trusted global func arg tagAndrii Nakryiko1-0/+1
2024-01-23bpf: hold module refcnt in bpf_struct_ops map creation and prog verification.Kui-Feng Lee1-0/+1
2024-01-23bpf: Make bpf_for_each_spilled_reg consider narrow spillsMaxim Mikityanskiy1-1/+1
2023-12-19bpf: move subprog call logic back to verifier.cAndrii Nakryiko1-8/+0
2023-12-19bpf: prepare btf_prepare_func_args() for handling static subprogsAndrii Nakryiko1-0/+5
2023-12-19bpf: abstract away global subprog arg preparation logic from reg state setupAndrii Nakryiko1-0/+16
2023-12-11bpf: use bitfields for simple per-subprog bool flagsAndrii Nakryiko1-6/+6
2023-12-08bpf: Add some comments to stack representationAndrei Matei1-0/+14
2023-12-05bpf: support non-r10 register spill/fill to/from stack in precision trackingAndrii Nakryiko1-4/+27
2023-12-02bpf: enforce exact retval range on subprog/callback exitAndrii Nakryiko1-1/+6
2023-12-02bpf: rearrange bpf_func_state fields to save a bit of memoryAndrii Nakryiko1-2/+2
2023-11-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+16
2023-11-20bpf: keep track of max number of bpf_loop callback iterationsEduard Zingerman1-0/+11
2023-11-20bpf: verify callbacks as if they are called unknown number of timesEduard Zingerman1-0/+5
2023-11-18bpf: move verifier state printing code to kernel/bpf/log.cAndrii Nakryiko1-0/+72
2023-11-18bpf: move verbose_linfo() into kernel/bpf/log.cAndrii Nakryiko1-0/+4
2023-11-17bpf: rename BPF_F_TEST_SANITY_STRICT to BPF_F_TEST_REG_INVARIANTSAndrii Nakryiko1-1/+1
2023-11-15bpf: add register bounds sanity checks and sanitizationAndrii Nakryiko1-0/+1
2023-10-23bpf: correct loop detection for iterators convergenceEduard Zingerman1-0/+15
2023-10-23bpf: exact states comparison for iterator convergence checksEduard Zingerman1-0/+1
2023-10-19bpf: teach the verifier to enforce css_iter and task_iter in RCU CSChuyi Zhou1-8/+11
2023-09-16bpf: Add support for custom exception callbacksKumar Kartikeya Dwivedi1-0/+1
2023-09-16bpf: Implement BPF exceptionsKumar Kartikeya Dwivedi1-0/+4
2023-09-16bpf: Implement support for adding hidden subprogsKumar Kartikeya Dwivedi1-1/+2
2023-09-08bpf: Add bpf_this_cpu_ptr/bpf_per_cpu_ptr support for allocated percpu objYonghong Song1-0/+1
2023-08-25bpf: Consider non-owning refs trustedDave Marchevsky1-1/+1
2023-06-13bpf: Verify scalar ids mapping in regsafe() using check_ids()Eduard Zingerman1-6/+11
2023-06-13bpf: Use scalar ids in mark_chain_precision()Eduard Zingerman1-1/+9
2023-05-04bpf: improve precision backtrack loggingAndrii Nakryiko1-4/+9
2023-05-04bpf: encapsulate precision backtracking bookkeepingAndrii Nakryiko1-0/+14
2023-04-15bpf: Migrate bpf_rbtree_add and bpf_list_push_{front,back} to possibly failDave Marchevsky1-1/+6
2023-04-11bpf: Simplify internal verifier log interfaceAndrii Nakryiko1-10/+3
2023-04-11bpf: Keep track of total log content size in both fixed and rolling modesAndrii Nakryiko1-9/+3
2023-04-11bpf: Switch BPF verifier log to be a rotating log by defaultAndrii Nakryiko1-7/+26
2023-04-11bpf: Split off basic BPF verifier log into separate fileAndrii Nakryiko1-12/+7
2023-03-10bpf: ensure state checkpointing at iter_next() call sitesAndrii Nakryiko1-1/+5
2023-03-08bpf: add support for open-coded iterator loopsAndrii Nakryiko1-0/+23
2023-03-08bpf: add iterator kfuncs registration and validation logicAndrii Nakryiko1-0/+2
2023-03-03bpf: Refactor RCU enforcement in the verifier.Alexei Starovoitov1-1/+0
2023-03-01bpf: Refactor process_dynptr_funcJoanne Koong1-3/+0
2023-02-13bpf: Migrate release_on_unlock logic to non-owning ref semanticsDave Marchevsky1-20/+18
2023-01-20bpf: Invalidate slices on destruction of dynptrs on stackKumar Kartikeya Dwivedi1-1/+4
2022-12-27bpf: reorganize struct bpf_reg_state fieldsAndrii Nakryiko1-20/+20
2022-12-10bpf: states_equal() must build idmap for all function framesEduard Zingerman1-2/+2
2022-12-08bpf: Refactor ARG_PTR_TO_DYNPTR checks into process_dynptr_funcKumar Kartikeya Dwivedi1-5/+3
2022-12-06bpf: decouple prune and jump pointsAndrii Nakryiko1-0/+1
2022-12-04bpf: Handle MEM_RCU type properlyYonghong Song1-1/+1
2022-11-30bpf: Tighten ptr_to_btf_id checks.Alexei Starovoitov1-1/+0
2022-11-24bpf: Add kfunc bpf_rcu_read_lock/unlock()Yonghong Song1-1/+4
2022-11-20bpf: Allow trusted pointers to be passed to KF_TRUSTED_ARGS kfuncsDavid Vernet1-0/+7
2022-11-20bpf: Allow multiple modifiers in reg_type_str() prefixDavid Vernet1-1/+1
2022-11-17bpf: Add 'release on unlock' logic for bpf_list_push_{front,back}Kumar Kartikeya Dwivedi1-0/+5
2022-11-17bpf: Introduce bpf_obj_newKumar Kartikeya Dwivedi1-0/+2
2022-11-17bpf: Rewrite kfunc argument handlingKumar Kartikeya Dwivedi1-2/+0
2022-11-17bpf: Allow locking bpf_spin_lock global variablesKumar Kartikeya Dwivedi1-1/+15
2022-10-25bpf: Remove prog->active check for bpf_lsm and bpf_iterMartin KaFai Lau1-1/+14
2022-09-21btf: Allow dynamic pointer parameters in kfuncsRoberto Sassu1-0/+5
2022-09-10bpf: Add verifier support for custom callback return rangeDave Marchevsky1-0/+1
2022-09-07bpf: Add helper macro bpf_for_each_reg_in_vstateKumar Kartikeya Dwivedi1-0/+21
2022-09-07bpf/verifier: allow kfunc to return an allocated memBenjamin Tissoires1-0/+2
2022-08-24bpf: Fix reference state management for synchronous callbacksKumar Kartikeya Dwivedi1-0/+11
2022-07-11bpf: Fix 'dubious one-bit signed bitfield' warningsMatthieu Baerts1-4/+4
2022-06-20bpf: Inline calls to bpf_loop when callback is knownEduard Zingerman1-0/+12
2022-06-14bpf: Fix spelling in bpf_verifier.hHongyi Lu1-1/+1
2022-05-23bpf: Dynptr support for ring buffersJoanne Koong1-0/+2
2022-05-23bpf: Add verifier support for dynptrsJoanne Koong1-0/+18
2022-04-25bpf: Tag argument to be released in bpf_func_protoKumar Kartikeya Dwivedi1-2/+1
2022-03-30bpf: Resolve to prog->aux->dst_prog->type only for BPF_PROG_TYPE_EXTMartin KaFai Lau1-1/+3
2022-03-05bpf: Harden register offset checks for release helpers and kfuncsKumar Kartikeya Dwivedi1-1/+2
2022-03-05bpf: Add check_func_arg_reg_off functionKumar Kartikeya Dwivedi1-0/+3
2022-01-24Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextJakub Kicinski1-0/+7
2022-01-19bpf: Generalize check_ctx_reg for reuse with other typesDaniel Borkmann1-2/+2
2022-01-18bpf: Add reference tracking support to kfuncKumar Kartikeya Dwivedi1-0/+5
2022-01-18bpf: Introduce mem, size argument pair support for kfuncKumar Kartikeya Dwivedi1-0/+2
2021-12-18bpf: Replace PTR_TO_XXX_OR_NULL with PTR_TO_XXX | PTR_MAYBE_NULLHao Luo1-0/+4
2021-12-18bpf: Introduce composable reg, ret and arg types.Hao Luo1-0/+13
2021-12-16bpf: Right align verifier states in verifier logs.Christy Lee1-0/+3
2021-12-16bpf: Only print scratched registers and stack slots to verifier logs.Christy Lee1-0/+7
2021-12-04bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD)Hou Tao1-0/+7
2021-10-05bpf: Introduce BPF support for kernel module function callsKumar Kartikeya Dwivedi1-0/+2
2021-07-31Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-1/+2
2021-07-29bpf: Fix leakage due to insufficient speculative store bypass mitigationDaniel Borkmann1-1/+1
2021-07-16bpf: Fix pointer arithmetic mask tightening under state pruningDaniel Borkmann1-0/+1
2021-07-15bpf: Teach stack depth check about async callbacks.Alexei Starovoitov1-0/+1
2021-07-15bpf: Implement verifier support for validation of async callbacks.Alexei Starovoitov1-1/+8
2021-07-15bpf: Prevent pointer mismatch in bpf_timer_init.Alexei Starovoitov1-1/+8
2021-05-19bpf: Introduce fd_idxAlexei Starovoitov1-0/+1
2021-05-10bpf: verifier: Allocate idmap scratch in verifier envLorenz Bauer1-0/+8
2021-05-03bpf: Fix leakage of uninitialized bpf stack under speculationDaniel Borkmann1-2/+3
2021-04-13bpf: Return target info when a tracing bpf_link is queriedToke Høiland-Jørgensen1-0/+9
2021-02-26bpf: Add bpf_for_each_map_elem() helperYonghong Song1-0/+3
2021-02-12bpf: Support pointers in global func argsDmitrii Banshchikov1-0/+2
2021-02-10bpf: Allow variable-offset stack accessAndrei Matei1-1/+2
2021-01-12bpf: Support BPF ksym variables in kernel modulesAndrii Nakryiko1-0/+3
2020-12-03bpf: Remove hard-coded btf_vmlinux assumption from BPF verifierAndrii Nakryiko1-7/+21
2020-11-13bpf: Support for pointers beyond pkt_end.Alexei Starovoitov1-1/+1
2020-10-02bpf: Introduce pseudo_btf_idHao Luo1-0/+7
2020-09-28bpf: verifier: refactor check_attach_btf_id()Toke Høiland-Jørgensen1-0/+13
2020-09-28bpf: change logging calls from verbose() to bpf_log() and use log pointerToke Høiland-Jørgensen1-2/+3
2020-09-17bpf: Add abnormal return checks.Alexei Starovoitov1-0/+1
2020-09-17bpf, x64: rework pro/epilogue and tailcall handling in JITMaciej Fijalkowski1-0/+1
2020-09-17bpf: Limit caller's stack depth 256 for subprogs with tailcallsMaciej Fijalkowski1-0/+1
2020-06-22bpf: Support access to bpf map fieldsAndrey Ignatov1-0/+1
2020-06-01bpf: Implement BPF ring buffer and verifier support for itAndrii Nakryiko1-0/+4
2020-05-15bpf: Implement CAP_BPFAlexei Starovoitov1-0/+3
2020-03-30bpf: Verifier, do explicit ALU32 bounds trackingJohn Fastabend1-0/+4
2020-01-10bpf: Introduce function-by-function verificationAlexei Starovoitov1-2/+8
2019-11-24bpf: Constant map key tracking for prog array pokesDaniel Borkmann1-1/+2
2019-11-15bpf: Compare BTF types of functions arguments with actual typesAlexei Starovoitov1-0/+1
2019-10-17bpf: Implement accurate raw_tp context access via BTFAlexei Starovoitov1-0/+4
2019-10-17bpf: Process in-kernel BTFAlexei Starovoitov1-1/+3
2019-08-28bpf: introduce verifier internal test flagAlexei Starovoitov1-0/+1
2019-06-20Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextDavid S. Miller1-1/+68
2019-06-19bpf: precise scalar_value trackingAlexei Starovoitov1-0/+18
2019-06-19bpf: introduce bounded loopsAlexei Starovoitov1-1/+50
2019-06-07Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-4/+1
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206Thomas Gleixner1-4/+1
2019-05-24bpf: verifier: mark verified-insn with sub-register zext flagJiong Wang1-3/+11
2019-05-24bpf: convert explored_states to hash tableAlexei Starovoitov1-0/+1
2019-05-24bpf: split explored_statesAlexei Starovoitov1-0/+1
2019-04-23bpf: remove global variablesAlexei Starovoitov1-0/+5
2019-04-09bpf: implement lookup-free direct value access for mapsDaniel Borkmann1-0/+4
2019-04-04bpf: improve verification speed by droping statesAlexei Starovoitov1-0/+2
2019-04-04bpf: add verifier stats and log_level bit 2Alexei Starovoitov1-0/+21
2019-03-13bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_releaseMartin KaFai Lau1-0/+40
2019-02-01bpf: introduce bpf_spin_lockAlexei Starovoitov1-0/+1
2019-01-23bpf: notify offload JITs about optimizationsJakub Kicinski1-0/+5
2019-01-23bpf: verifier: record original instruction indexJakub Kicinski1-0/+1
2019-01-05bpf: fix sanitation of alu op with pointer / scalar type from different pathsDaniel Borkmann1-0/+1
2019-01-02bpf: prevent out of bounds speculation on pointer arithmeticDaniel Borkmann1-0/+10
2019-01-02bpf: move {prev_,}insn_idx into verifier envDaniel Borkmann1-0/+2
2018-12-15bpf: add self-check logic to liveness analysisAlexei Starovoitov1-0/+1
2018-12-14bpf: verbose log bpf_line_info in verifierMartin KaFai Lau1-0/+1
2018-12-09bpf: Add bpf_line_info supportMartin KaFai Lau1-0/+1
2018-11-26bpf: btf: support proper non-jit func infoYonghong Song1-1/+0
2018-11-20bpf: Introduce bpf_func_infoYonghong Song1-0/+1
2018-11-10bpf: pass prog instead of env to bpf_prog_offload_verifier_prep()Quentin Monnet1-1/+1
2018-10-31bpf: fix partial copy of map_ptr when dst is scalarDaniel Borkmann1-0/+3
2018-10-08bpf: add verifier callback to get stack usage info for offloaded progsQuentin Monnet1-0/+1
2018-10-03bpf: Add reference tracking to verifierJoe Stringer1-3/+21
2018-10-03bpf: Add PTR_TO_SOCKET verifier typeJoe Stringer1-0/+2
2018-10-03bpf: Add iterator for spilled registersJoe Stringer1-0/+11
2018-08-29bpf/verifier: per-register parent pointersEdward Cree1-5/+3
2018-05-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-1/+2
2018-05-25Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds1-1/+1
2018-05-24bpf: properly enforce index mask to prevent out-of-bounds speculationDaniel Borkmann1-1/+1
2018-05-19bpf: Prevent memory disambiguation attackAlexei Starovoitov1-0/+1
2018-05-17bpf: add __printf verification to bpf_verifier_vlogMathieu Malaterre1-2/+2
2018-05-04bpf: centre subprog information fieldsJiong Wang1-3/+6
2018-05-04bpf: unify main prog and subprogJiong Wang1-1/+1
2018-03-26bpf: Add bpf_verifier_vlog() and bpf_verifier_log_needed()Martin KaFai Lau1-0/+7
2018-03-26bpf: Rename bpf_verifer_logMartin KaFai Lau1-3/+3
2018-01-10bpf: export function to write into verifier log bufferQuentin Monnet1-0/+3
2017-12-31bpf: offload: allow netdev to disappear while verifier is runningJakub Kicinski1-14/+2
2017-12-27Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextDavid S. Miller1-0/+1
2017-12-27bpf: fix maximum stack depth tracking logicAlexei Starovoitov1-0/+1
2017-12-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-2/+2
2017-12-21bpf: fix integer overflowsAlexei Starovoitov1-2/+2
2017-12-17bpf: x64: add JIT support for multi-function programsAlexei Starovoitov1-0/+1
2017-12-17bpf: teach verifier to recognize zero initialized stackAlexei Starovoitov1-1/+2
2017-12-17bpf: introduce function calls (verification)Alexei Starovoitov1-2/+34
2017-12-17bpf: introduce function calls (function boundaries)Alexei Starovoitov1-1/+4
2017-11-23bpf: fix branch pruning logicAlexei Starovoitov1-1/+1
2017-11-21bpf: make bpf_prog_offload_verifier_prep() static inlineJakub Kicinski1-1/+1
2017-11-05bpf: remove old offload/analyzerJakub Kicinski1-5/+0
2017-11-05bpf: offload: add infrastructure for loading programs for a specific netdevJakub Kicinski1-0/+10
2017-11-01bpf: reduce verifier memory consumptionAlexei Starovoitov1-3/+13
2017-10-18bpf: remove the verifier ops from program structureJakub Kicinski1-0/+1
2017-10-10bpf: write back the verifier log buffer as it gets filledJakub Kicinski1-1/+3
2017-10-10bpf: move global verifier log into verifier environmentJakub Kicinski1-0/+2
2017-10-10bpf: encapsulate verifier log state into a structureJakub Kicinski1-0/+13
2017-08-23bpf/verifier: document liveness analysisEdward Cree1-0/+13
2017-08-23bpf/verifier: remove varlen_map_value_access flagEdward Cree1-1/+0
2017-08-15bpf/verifier: track liveness for pruningEdward Cree1-1/+10
2017-08-08bpf/verifier: track signed and unsigned min/max valuesEdward Cree1-9/+14
2017-08-08bpf/verifier: rework value trackingEdward Cree1-13/+21
2017-07-20bpf: fix mixed signed/unsigned derived min/max value boundsDaniel Borkmann1-0/+1
2017-06-23bpf: possibly avoid extra masking for narrower load in verifierYonghong Song1-1/+2
2017-06-14bpf: permits narrower load from bpf program context fieldsYonghong Song1-0/+1
2017-05-11bpf: Add strict alignment flag for BPF_PROG_LOAD.David S. Miller1-0/+1
2017-05-11bpf: Track alignment of register values in the verifier.David S. Miller1-0/+3
2017-03-16bpf: add helper inlining infra and optimize map_array lookupAlexei Starovoitov1-1/+4
2016-12-08bpf: fix state equivalenceAlexei Starovoitov1-7/+7
2016-11-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-2/+3
2016-11-16bpf: fix range arithmetic for bpf map accessJosef Bacik1-2/+3
2016-10-19bpf: Detect identical PTR_TO_MAP_VALUE_OR_NULL registersThomas Graf1-1/+1
2016-09-29bpf: allow access into map value arraysJosef Bacik1-0/+12
2016-09-21bpf: enable non-core use of the verfierJakub Kicinski1-0/+11
2016-09-21bpf: expose internal verfier structuresJakub Kicinski1-0/+79