• Home
  • Raw
  • Download

Lines Matching refs:err

609 	int err = realloc_reference_state(state, refs_size, copy_old);  local
610 if (err)
611 return err;
624 int id, err; in acquire_reference_state() local
626 err = realloc_reference_state(state, state->acquired_refs + 1, true); in acquire_reference_state()
627 if (err) in acquire_reference_state()
628 return err; in acquire_reference_state()
658 int err = realloc_reference_state(dst, src->acquired_refs, false); in transfer_reference_state() local
659 if (err) in transfer_reference_state()
660 return err; in transfer_reference_state()
661 err = copy_reference_state(dst, src); in transfer_reference_state()
662 if (err) in transfer_reference_state()
663 return err; in transfer_reference_state()
703 int err; in copy_func_state() local
705 err = realloc_func_state(dst, src->allocated_stack, src->acquired_refs, in copy_func_state()
707 if (err) in copy_func_state()
708 return err; in copy_func_state()
710 err = copy_reference_state(dst, src); in copy_func_state()
711 if (err) in copy_func_state()
712 return err; in copy_func_state()
721 int i, err; in copy_verifier_state() local
752 err = copy_func_state(dst, src->frame[i]); in copy_verifier_state()
753 if (err) in copy_verifier_state()
754 return err; in copy_verifier_state()
781 int err; in pop_stack() local
787 err = copy_verifier_state(cur, &head->st); in pop_stack()
788 if (err) in pop_stack()
789 return err; in pop_stack()
809 int err; in push_stack() local
813 goto err; in push_stack()
820 err = copy_verifier_state(&elem->st, cur); in push_stack()
821 if (err) in push_stack()
822 goto err; in push_stack()
827 goto err; in push_stack()
842 err: in push_stack()
1684 int i, err; in __mark_chain_precision() local
1734 err = 0; in __mark_chain_precision()
1737 err = backtrack_insn(env, i, &reg_mask, &stack_mask); in __mark_chain_precision()
1739 if (err == -ENOTSUPP) { in __mark_chain_precision()
1742 } else if (err) { in __mark_chain_precision()
1743 return err; in __mark_chain_precision()
1901 int i, slot = -off - 1, spi = slot / BPF_REG_SIZE, err; in check_stack_write() local
1905 err = realloc_func_state(state, round_up(slot + 1, BPF_REG_SIZE), in check_stack_write()
1907 if (err) in check_stack_write()
1908 return err; in check_stack_write()
1932 err = mark_chain_precision(env, value_regno); in check_stack_write()
1933 if (err) in check_stack_write()
1934 return err; in check_stack_write()
2010 err = mark_chain_precision(env, value_regno); in check_stack_write()
2011 if (err) in check_stack_write()
2012 return err; in check_stack_write()
2185 int err; in check_map_access() local
2208 err = __check_map_access(env, regno, reg->smin_value + off, size, in check_map_access()
2210 if (err) { in check_map_access()
2213 return err; in check_map_access()
2225 err = __check_map_access(env, regno, reg->umax_value + off, size, in check_map_access()
2227 if (err) in check_map_access()
2245 return err; in check_map_access()
2310 int err; in check_packet_access() local
2325 err = __check_packet_access(env, regno, off, size, zero_size_allowed); in check_packet_access()
2326 if (err) { in check_packet_access()
2328 return err; in check_packet_access()
2341 return err; in check_packet_access()
2767 int size, err = 0; in check_mem_access() local
2774 err = check_ptr_alignment(env, reg, off, size, strict_alignment_once); in check_mem_access()
2775 if (err) in check_mem_access()
2776 return err; in check_mem_access()
2787 err = check_map_access_type(env, regno, off, size, t); in check_mem_access()
2788 if (err) in check_mem_access()
2789 return err; in check_mem_access()
2790 err = check_map_access(env, regno, off, size, false); in check_mem_access()
2791 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2803 err = check_ctx_reg(env, reg, regno); in check_mem_access()
2804 if (err < 0) in check_mem_access()
2805 return err; in check_mem_access()
2807 err = check_ctx_access(env, insn_idx, off, size, t, &reg_type); in check_mem_access()
2808 if (!err && t == BPF_READ && value_regno >= 0) { in check_mem_access()
2832 err = check_stack_access(env, reg, off, size); in check_mem_access()
2833 if (err) in check_mem_access()
2834 return err; in check_mem_access()
2837 err = update_stack_depth(env, state, off); in check_mem_access()
2838 if (err) in check_mem_access()
2839 return err; in check_mem_access()
2842 err = check_stack_write(env, state, off, size, in check_mem_access()
2845 err = check_stack_read(env, state, off, size, in check_mem_access()
2858 err = check_packet_access(env, regno, off, size, false); in check_mem_access()
2859 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2869 err = check_flow_keys_access(env, off, size); in check_mem_access()
2870 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2878 err = check_sock_access(env, insn_idx, regno, off, size, t); in check_mem_access()
2879 if (!err && value_regno >= 0) in check_mem_access()
2882 err = check_tp_buffer_access(env, reg, regno, off, size); in check_mem_access()
2883 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2891 if (!err && size < BPF_REG_SIZE && value_regno >= 0 && t == BPF_READ && in check_mem_access()
2896 return err; in check_mem_access()
2901 int err; in check_xadd() local
2910 err = check_reg_arg(env, insn->src_reg, SRC_OP); in check_xadd()
2911 if (err) in check_xadd()
2912 return err; in check_xadd()
2915 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_xadd()
2916 if (err) in check_xadd()
2917 return err; in check_xadd()
2935 err = check_mem_access(env, insn_idx, insn->dst_reg, insn->off, in check_xadd()
2937 if (err) in check_xadd()
2938 return err; in check_xadd()
2980 int err, min_off, max_off, i, j, slot, spi; in check_stack_boundary() local
2996 err = __check_stack_boundary(env, regno, min_off, access_size, in check_stack_boundary()
2998 if (err) in check_stack_boundary()
2999 return err; in check_stack_boundary()
3031 err = __check_stack_boundary(env, regno, min_off, access_size, in check_stack_boundary()
3033 if (err) { in check_stack_boundary()
3036 return err; in check_stack_boundary()
3038 err = __check_stack_boundary(env, regno, max_off, access_size, in check_stack_boundary()
3040 if (err) { in check_stack_boundary()
3043 return err; in check_stack_boundary()
3059 goto err; in check_stack_boundary()
3076 err: in check_stack_boundary()
3243 int err = 0; in check_func_arg() local
3248 err = check_reg_arg(env, regno, SRC_OP); in check_func_arg()
3249 if (err) in check_func_arg()
3250 return err; in check_func_arg()
3292 err = check_ctx_reg(env, reg, regno); in check_func_arg()
3293 if (err < 0) in check_func_arg()
3294 return err; in check_func_arg()
3366 err = check_helper_mem_access(env, regno, in check_func_arg()
3382 err = check_helper_mem_access(env, regno, in check_func_arg()
3412 err = check_helper_mem_access(env, regno - 1, 0, in check_func_arg()
3415 if (err) in check_func_arg()
3416 return err; in check_func_arg()
3424 err = check_helper_mem_access(env, regno - 1, in check_func_arg()
3427 if (!err) in check_func_arg()
3428 err = mark_chain_precision(env, regno); in check_func_arg()
3432 err = check_helper_mem_access(env, regno, size, false, meta); in check_func_arg()
3433 if (err) in check_func_arg()
3434 return err; in check_func_arg()
3435 err = check_ptr_alignment(env, reg, 0, size, true); in check_func_arg()
3438 return err; in check_func_arg()
3749 int err; in release_reference() local
3752 err = release_reference_state(cur_func(env), ref_obj_id); in release_reference()
3753 if (err) in release_reference()
3754 return err; in release_reference()
3767 int i, err, subprog, target_insn; in check_func_call() local
3806 err = transfer_reference_state(callee, caller); in check_func_call()
3807 if (err) in check_func_call()
3808 return err; in check_func_call()
3842 int err; in prepare_func_exit() local
3863 err = transfer_reference_state(caller, callee); in prepare_func_exit()
3864 if (err) in prepare_func_exit()
3865 return err; in prepare_func_exit()
3958 int i, err; in check_helper_call() local
3992 err = check_func_proto(fn, func_id); in check_helper_call()
3993 if (err) { in check_helper_call()
3996 return err; in check_helper_call()
4001 err = check_func_arg(env, BPF_REG_1, fn->arg1_type, &meta); in check_helper_call()
4002 if (err) in check_helper_call()
4003 return err; in check_helper_call()
4004 err = check_func_arg(env, BPF_REG_2, fn->arg2_type, &meta); in check_helper_call()
4005 if (err) in check_helper_call()
4006 return err; in check_helper_call()
4007 err = check_func_arg(env, BPF_REG_3, fn->arg3_type, &meta); in check_helper_call()
4008 if (err) in check_helper_call()
4009 return err; in check_helper_call()
4010 err = check_func_arg(env, BPF_REG_4, fn->arg4_type, &meta); in check_helper_call()
4011 if (err) in check_helper_call()
4012 return err; in check_helper_call()
4013 err = check_func_arg(env, BPF_REG_5, fn->arg5_type, &meta); in check_helper_call()
4014 if (err) in check_helper_call()
4015 return err; in check_helper_call()
4017 err = record_func_map(env, &meta, func_id, insn_idx); in check_helper_call()
4018 if (err) in check_helper_call()
4019 return err; in check_helper_call()
4025 err = check_mem_access(env, insn_idx, meta.regno, i, BPF_B, in check_helper_call()
4027 if (err) in check_helper_call()
4028 return err; in check_helper_call()
4032 err = check_reference_leak(env); in check_helper_call()
4033 if (err) { in check_helper_call()
4035 return err; in check_helper_call()
4038 err = release_reference(env, meta.ref_obj_id); in check_helper_call()
4039 if (err) { in check_helper_call()
4042 return err; in check_helper_call()
4128 err = check_map_func_compatibility(env, meta.map_ptr, func_id); in check_helper_call()
4129 if (err) in check_helper_call()
4130 return err; in check_helper_call()
4136 err = get_callchain_buffers(sysctl_perf_event_max_stack); in check_helper_call()
4139 err = -ENOTSUPP; in check_helper_call()
4142 if (err) { in check_helper_call()
4144 return err; in check_helper_call()
4871 int err; in adjust_reg_min_max_vals() local
4898 err = mark_chain_precision(env, insn->dst_reg); in adjust_reg_min_max_vals()
4899 if (err) in adjust_reg_min_max_vals()
4900 return err; in adjust_reg_min_max_vals()
4906 err = mark_chain_precision(env, insn->src_reg); in adjust_reg_min_max_vals()
4907 if (err) in adjust_reg_min_max_vals()
4908 return err; in adjust_reg_min_max_vals()
4943 int err; in check_alu_op() local
4963 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_alu_op()
4964 if (err) in check_alu_op()
4965 return err; in check_alu_op()
4974 err = check_reg_arg(env, insn->dst_reg, DST_OP); in check_alu_op()
4975 if (err) in check_alu_op()
4976 return err; in check_alu_op()
4987 err = check_reg_arg(env, insn->src_reg, SRC_OP); in check_alu_op()
4988 if (err) in check_alu_op()
4989 return err; in check_alu_op()
4998 err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); in check_alu_op()
4999 if (err) in check_alu_op()
5000 return err; in check_alu_op()
5058 err = check_reg_arg(env, insn->src_reg, SRC_OP); in check_alu_op()
5059 if (err) in check_alu_op()
5060 return err; in check_alu_op()
5069 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_alu_op()
5070 if (err) in check_alu_op()
5071 return err; in check_alu_op()
5090 err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); in check_alu_op()
5091 if (err) in check_alu_op()
5092 return err; in check_alu_op()
5826 int err; in check_cond_jmp_op() local
5841 err = check_reg_arg(env, insn->src_reg, SRC_OP); in check_cond_jmp_op()
5842 if (err) in check_cond_jmp_op()
5843 return err; in check_cond_jmp_op()
5859 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_cond_jmp_op()
5860 if (err) in check_cond_jmp_op()
5861 return err; in check_cond_jmp_op()
5874 err = mark_chain_precision(env, insn->dst_reg); in check_cond_jmp_op()
5875 if (BPF_SRC(insn->code) == BPF_X && !err) in check_cond_jmp_op()
5876 err = mark_chain_precision(env, insn->src_reg); in check_cond_jmp_op()
5877 if (err) in check_cond_jmp_op()
5878 return err; in check_cond_jmp_op()
5977 int err; in check_ld_imm() local
5988 err = check_reg_arg(env, insn->dst_reg, DST_OP); in check_ld_imm()
5989 if (err) in check_ld_imm()
5990 return err; in check_ld_imm()
6051 int i, err; in check_ld_abs() local
6083 err = check_reg_arg(env, ctx_reg, SRC_OP); in check_ld_abs()
6084 if (err) in check_ld_abs()
6085 return err; in check_ld_abs()
6091 err = check_reference_leak(env); in check_ld_abs()
6092 if (err) { in check_ld_abs()
6094 return err; in check_ld_abs()
6110 err = check_reg_arg(env, insn->src_reg, SRC_OP); in check_ld_abs()
6111 if (err) in check_ld_abs()
6112 return err; in check_ld_abs()
6115 err = check_ctx_reg(env, &regs[ctx_reg], ctx_reg); in check_ld_abs()
6116 if (err < 0) in check_ld_abs()
6117 return err; in check_ld_abs()
6564 int err; in check_btf_line() local
6593 err = bpf_check_uarg_tail_zero(ulinfo, expected_size, rec_size); in check_btf_line()
6594 if (err) { in check_btf_line()
6595 if (err == -E2BIG) { in check_btf_line()
6599 err = -EFAULT; in check_btf_line()
6605 err = -EFAULT; in check_btf_line()
6625 err = -EINVAL; in check_btf_line()
6633 err = -EINVAL; in check_btf_line()
6640 err = -EINVAL; in check_btf_line()
6650 err = -EINVAL; in check_btf_line()
6662 err = -EINVAL; in check_btf_line()
6673 return err; in check_btf_line()
6681 int err; in check_btf_info() local
6691 err = check_btf_func(env, attr, uattr); in check_btf_info()
6692 if (err) in check_btf_info()
6693 return err; in check_btf_info()
6695 err = check_btf_line(env, attr, uattr); in check_btf_info()
6696 if (err) in check_btf_info()
6697 return err; in check_btf_info()
7127 int err; in propagate_liveness_reg() local
7140 err = mark_reg_read(env, reg, parent_reg, flag); in propagate_liveness_reg()
7141 if (err) in propagate_liveness_reg()
7142 return err; in propagate_liveness_reg()
7160 int i, frame, err = 0; in propagate_liveness() local
7176 err = propagate_liveness_reg(env, &state_reg[i], in propagate_liveness()
7178 if (err < 0) in propagate_liveness()
7179 return err; in propagate_liveness()
7180 if (err == REG_LIVE_READ64) in propagate_liveness()
7189 err = propagate_liveness_reg(env, state_reg, in propagate_liveness()
7191 if (err < 0) in propagate_liveness()
7192 return err; in propagate_liveness()
7206 int i, err = 0; in propagate_precision() local
7216 err = mark_chain_precision(env, i); in propagate_precision()
7217 if (err < 0) in propagate_precision()
7218 return err; in propagate_precision()
7231 err = mark_chain_precision_stack(env, i); in propagate_precision()
7232 if (err < 0) in propagate_precision()
7233 return err; in propagate_precision()
7262 int i, j, err, states_cnt = 0; in is_state_visited() local
7329 err = propagate_liveness(env, &sl->state, cur); in is_state_visited()
7336 err = err ? : push_jmp_history(env, cur); in is_state_visited()
7337 err = err ? : propagate_precision(env, &sl->state); in is_state_visited()
7338 if (err) in is_state_visited()
7339 return err; in is_state_visited()
7414 err = copy_verifier_state(new, cur); in is_state_visited()
7415 if (err) { in is_state_visited()
7418 return err; in is_state_visited()
7530 int err; in do_check() local
7549 err = is_state_visited(env, env->insn_idx); in do_check()
7550 if (err < 0) in do_check()
7551 return err; in do_check()
7552 if (err == 1) { in do_check()
7597 err = bpf_prog_offload_verify_insn(env, env->insn_idx, in do_check()
7599 if (err) in do_check()
7600 return err; in do_check()
7608 err = check_alu_op(env, insn); in do_check()
7609 if (err) in do_check()
7610 return err; in do_check()
7618 err = check_reg_arg(env, insn->src_reg, SRC_OP); in do_check()
7619 if (err) in do_check()
7620 return err; in do_check()
7622 err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); in do_check()
7623 if (err) in do_check()
7624 return err; in do_check()
7631 err = check_mem_access(env, env->insn_idx, insn->src_reg, in do_check()
7634 if (err) in do_check()
7635 return err; in do_check()
7662 err = check_xadd(env, env->insn_idx, insn); in do_check()
7663 if (err) in do_check()
7664 return err; in do_check()
7670 err = check_reg_arg(env, insn->src_reg, SRC_OP); in do_check()
7671 if (err) in do_check()
7672 return err; in do_check()
7674 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in do_check()
7675 if (err) in do_check()
7676 return err; in do_check()
7681 err = check_mem_access(env, env->insn_idx, insn->dst_reg, in do_check()
7684 if (err) in do_check()
7685 return err; in do_check()
7703 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in do_check()
7704 if (err) in do_check()
7705 return err; in do_check()
7715 err = check_mem_access(env, env->insn_idx, insn->dst_reg, in do_check()
7718 if (err) in do_check()
7719 return err; in do_check()
7743 err = check_func_call(env, insn, &env->insn_idx); in do_check()
7745 err = check_helper_call(env, insn->imm, env->insn_idx); in do_check()
7746 if (err) in do_check()
7747 return err; in do_check()
7779 err = prepare_func_exit(env, &env->insn_idx); in do_check()
7780 if (err) in do_check()
7781 return err; in do_check()
7786 err = check_reference_leak(env); in do_check()
7787 if (err) in do_check()
7788 return err; in do_check()
7796 err = check_reg_arg(env, BPF_REG_0, SRC_OP); in do_check()
7797 if (err) in do_check()
7798 return err; in do_check()
7805 err = check_return_code(env); in do_check()
7806 if (err) in do_check()
7807 return err; in do_check()
7810 err = pop_stack(env, &prev_insn_idx, in do_check()
7812 if (err < 0) { in do_check()
7813 if (err != -ENOENT) in do_check()
7814 return err; in do_check()
7821 err = check_cond_jmp_op(env, insn, &env->insn_idx); in do_check()
7822 if (err) in do_check()
7823 return err; in do_check()
7829 err = check_ld_abs(env, insn); in do_check()
7830 if (err) in do_check()
7831 return err; in do_check()
7834 err = check_ld_imm(env, insn); in do_check()
7835 if (err) in do_check()
7836 return err; in do_check()
7928 int i, j, err; in replace_map_fd_with_map_ptr() local
7930 err = bpf_prog_calc_tag(env->prog); in replace_map_fd_with_map_ptr()
7931 if (err) in replace_map_fd_with_map_ptr()
7932 return err; in replace_map_fd_with_map_ptr()
7985 err = check_map_prog_compatibility(env, map, env->prog); in replace_map_fd_with_map_ptr()
7986 if (err) { in replace_map_fd_with_map_ptr()
7988 return err; in replace_map_fd_with_map_ptr()
8009 err = map->ops->map_direct_value_addr(map, &addr, off); in replace_map_fd_with_map_ptr()
8010 if (err) { in replace_map_fd_with_map_ptr()
8014 return err; in replace_map_fd_with_map_ptr()
8303 int err; in verifier_remove_insns() local
8308 err = bpf_remove_insns(env->prog, off, cnt); in verifier_remove_insns()
8309 if (err) in verifier_remove_insns()
8310 return err; in verifier_remove_insns()
8312 err = adjust_subprog_starts_after_remove(env, off, cnt); in verifier_remove_insns()
8313 if (err) in verifier_remove_insns()
8314 return err; in verifier_remove_insns()
8316 err = bpf_adj_linfo_after_remove(env, off, cnt); in verifier_remove_insns()
8317 if (err) in verifier_remove_insns()
8318 return err; in verifier_remove_insns()
8396 int i, err; in opt_remove_dead_code() local
8407 err = verifier_remove_insns(env, i, j); in opt_remove_dead_code()
8408 if (err) in opt_remove_dead_code()
8409 return err; in opt_remove_dead_code()
8421 int i, err; in opt_remove_nops() local
8427 err = verifier_remove_insns(env, i, 1); in opt_remove_nops()
8428 if (err) in opt_remove_nops()
8429 return err; in opt_remove_nops()
8698 int err; in jit_subprogs() local
8729 err = bpf_prog_alloc_jited_linfo(prog); in jit_subprogs()
8730 if (err) in jit_subprogs()
8733 err = -ENOMEM; in jit_subprogs()
8775 err = -ENOTSUPP; in jit_subprogs()
8814 err = -ENOTSUPP; in jit_subprogs()
8863 return err; in jit_subprogs()
8873 int err = 0; in fixup_call_args() local
8877 err = jit_subprogs(env); in fixup_call_args()
8878 if (err == 0) in fixup_call_args()
8880 if (err == -EFAULT) in fixup_call_args()
8881 return err; in fixup_call_args()
8893 err = 0; in fixup_call_args()
8895 return err; in fixup_call_args()