/illumos-gate/usr/src/tools/smatch/src/ |
H A D | smatch_fresh_alloc.c | 29 static int my_id; variable 76 set_state(my_id, cur->name, cur->sym, &undefined); in pre_merge_hook() 101 return get_state(my_id, var, sym) == &fresh; in is_fresh_alloc_var_sym() 115 if (get_state_expr(my_id, expr) == &fresh) in is_fresh_alloc() 141 sm = get_sm_state_expr(my_id, expr); in set_unfresh() 147 set_state_expr(my_id, expr, &undefined); in set_unfresh() 179 set_state_expr(my_id, expr, &fresh); in set_fresh() 202 my_id = id; in register_fresh_alloc() 218 add_pre_merge_hook(my_id, &pre_merge_hook); in register_fresh_alloc()
|
H A D | check_atomic_inc_dec.c | 24 static int my_id; variable 80 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in get_best_match() 118 start_sm = get_sm_state(my_id, name, sym); in db_inc_dec() 133 set_state(my_id, name, sym, &inc); in db_inc_dec() 140 set_state(my_id, name, sym, &start_state); in db_inc_dec() 142 set_state(my_id, name, sym, &dec); in db_inc_dec() 281 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in match_return_info() 353 sm = get_sm_state(my_id, name, sym); in check_counter() 398 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in on_atomic_dec_path() 408 return get_state(my_id, name, sym) == &inc; in was_inced() [all …]
|
H A D | check_nospec.c | 24 static int my_id; variable 48 if (get_state_expr(my_id, expr) == &nospec) in is_nospec() 59 set_state_expr(my_id, expr->left, &nospec); in nospec_assign() 73 set_state(my_id, fullname, sym, &nospec); in set_param_nospec() 82 if (get_state_expr(my_id, arg) == &nospec) in match_call_info() 108 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in returned_struct_members() 171 set_state(my_id, name, sym, &nospec); in db_returns_nospec() 216 set_state(my_id, sm->name, sm->sym, &nospec); in mark_user_data_as_nospec() 254 my_id = id; in check_nospec() 259 add_unmatched_state_hook(my_id, &unmatched_state); in check_nospec() [all …]
|
H A D | smatch_kernel_user_data.c | 29 static int my_id; variable 110 user = __get_state(my_id, name, sym); in extra_nomod_hook() 121 set_state(my_id, name, sym, new); in extra_nomod_hook() 168 state = get_state_expr(my_id, expr); in user_rl_capped() 190 state = get_state_expr(my_id, expr); in user_rl_treat_untagged() 886 state = get_state(my_id, buf, NULL); in db_returned_user_rl() 895 return get_all_states_stree(my_id); in get_user_stree() 1275 set_state(my_id, name, sym, state); in set_to_user_data() 1456 set_state(my_id, name, sym, new); in returns_param_capped() 1481 my_id = id; in register_kernel_user_data() [all …]
|
H A D | check_frees_param_strict.c | 28 static int my_id; variable 44 set_state(my_id, sm->name, sm->sym, &ignore); in set_ignore() 86 set_state_expr(my_id, arg, &freed); in match_free() 112 set_state(my_id, name, sym, &freed); in set_param_freed() 126 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in param_freed_info() 145 my_id = id; in check_frees_param_strict() 158 add_modification_hook(my_id, &set_ignore); in check_frees_param_strict() 161 add_unmatched_state_hook(my_id, &unmatched_state); in check_frees_param_strict()
|
H A D | check_leaks.c | 42 static int my_id; variable 130 set_state_expr(my_id, expr->left, &allocated); in match_alloc() 143 sm = get_sm_state_expr(my_id, expr); in match_condition() 145 set_true_false_states_expr(my_id, expr, NULL, &ok); in match_condition() 174 if (state == &ok && !get_state(my_id, name, sym)) in set_parent() 176 set_state(my_id, name, sym, state); in set_parent() 199 sm = get_sm_state_expr(my_id, expr); in warn_if_allocated() 210 set_state_expr(my_id, expr, &ok); in warn_if_allocated() 232 FOR_EACH_MY_SM(my_id, stree, tmp) { in check_for_allocated() 258 my_id = id; in check_leaks()
|
H A D | check_unwind.c | 31 static int my_id; variable 85 set_state_expr(my_id, arg_expr, &allocated); in request_granted() 101 set_state_expr(my_id, arg_expr, &unallocated); in request_denied() 110 if (get_state_expr(my_id, arg_expr)) in match_release() 111 set_state_expr(my_id, arg_expr, &unallocated); in match_release() 112 set_equiv_state_expr(my_id, arg_expr, &unallocated); in match_release() 117 set_state(my_id, "unwind_function", NULL, &called); in match_unwind_function() 146 if (get_state(my_id, "unwind_function", NULL) == &called) in match_return() 150 FOR_EACH_MY_SM(my_id, stree, tmp) { in match_return() 188 my_id = id; in check_unwind()
|
H A D | smatch_return_to_param.c | 31 static int my_id; variable 48 set_state(my_id, sm->name, sm->sym, &undefined); in undef() 60 state = get_state(my_id, sym->ident->name, sym); in map_call_to_other_name_sym() 106 if (sm->owner == my_id) { in map_long_to_short_name_sym() 135 state = get_state(my_id, name, start_sym); in map_call_to_param_name_sym() 181 set_state(my_id, left_name, left_sym, alloc_my_state(right_name, right_sym)); in store_mapping_helper() 229 my_id = id; in register_return_to_param() 230 set_dynamic_states(my_id); in register_return_to_param() 231 add_modification_hook(my_id, &undef); in register_return_to_param() 237 set_up_link_functions(my_id, link_id); in register_return_to_param_links()
|
H A D | smatch_param_limit.c | 50 static int my_id; variable 79 state = get_state(my_id, name, sym); in get_orig_estate() 93 state = get_state(my_id, name, sym); in get_orig_estate_type() 150 state = __get_state(my_id, tmp->name, tmp->sym); in print_return_value_param() 179 set_state(my_id, name, sym, orig_vals); in extra_mod_hook() 196 my_id = id; in register_param_limit() 198 set_dynamic_states(my_id); in register_param_limit() 203 add_unmatched_state_hook(my_id, &unmatched_state); in register_param_limit() 204 add_merge_hook(my_id, &merge_estates); in register_param_limit()
|
H A D | check_dev_queue_xmit.c | 27 static int my_id; variable 33 set_state(my_id, sm->name, sm->sym, &undefined); in ok_to_use() 65 sm = get_sm_state_expr(my_id, expr); in match_symbol() 82 set_state_expr(my_id, arg, &undefined); in match_kfree_skb() 92 set_state_expr(my_id, arg, &do_not_use); in match_xmit() 129 my_id = id; in check_dev_queue_xmit() 130 add_modification_hook(my_id, ok_to_use); in check_dev_queue_xmit()
|
H A D | check_template.c | 43 static int my_id; variable 76 set_state(my_id, sem_name, NULL, &lock); in match_call() 78 set_state(my_id, sem_name, NULL, &unlock); in match_call() 95 FOR_EACH_MY_SM(my_id, stree, tmp) { in match_return() 104 my_id = id; in check_template() 105 add_unmatched_state_hook(my_id, &unmatched_state); in check_template()
|
H A D | check_puts_argument.c | 26 static int my_id; variable 60 set_state(my_id, sym->ident->name, sym, &putted); in match_put() 75 FOR_EACH_MY_SM(my_id, stree, tmp) { in match_return() 77 add_tracker(&putted_args, my_id, tmp->name, in match_return() 82 tmp = get_sm_state(my_id, tracker->name, tracker->sym); in match_return() 84 del_tracker(&putted_args, my_id, tracker->name, in match_return() 127 my_id = id; in check_puts_argument()
|
H A D | check_expects_err_ptr.c | 20 static int my_id; variable 29 set_state(my_id, sm->name, sm->sym, &ok); in set_ok() 41 set_state(my_id, arg->ident->name, arg, &argument); in match_function_def() 57 state = get_state_expr(my_id, expr); in get_arg_num() 90 my_id = id; in check_expects_err_ptr() 92 add_modification_hook(my_id, &set_ok); in check_expects_err_ptr()
|
H A D | check_frees_argument.c | 26 static int my_id; variable 61 set_state(my_id, name, sym, &freed); in match_kfree() 78 FOR_EACH_MY_SM(my_id, stree, tmp) { in match_return() 80 add_tracker(&freed_args, my_id, tmp->name, in match_return() 85 tmp = get_sm_state(my_id, tracker->name, tracker->sym); in match_return() 87 del_tracker(&freed_args, my_id, tracker->name, in match_return() 135 my_id = id; in check_frees_argument()
|
H A D | check_info_leak.c | 21 static int my_id; variable 46 set_state(my_id, name, sym, &alloced); in match_kmalloc() 59 if (!get_state(my_id, name, sym)) in match_strcpy() 61 set_state(my_id, name, sym, &string); in match_strcpy() 75 sm = get_sm_state(my_id, name, sym); in match_copy_to_user() 87 my_id = id; in check_info_leak()
|
H A D | check_platform_device_put.c | 22 static int my_id; variable 35 set_state_expr(my_id, arg_expr, &added); in match_added() 44 set_state_expr(my_id, arg_expr, ¬_added); in match_not_added() 53 sm = get_sm_state_expr(my_id, arg_expr); in match_platform_device_del() 65 my_id = id; in check_platform_device_put()
|
H A D | smatch_bits.c | 27 static int my_id; variable 280 bstate = get_state_expr(my_id, expr); in get_bit_info() 317 set_true_false_states_expr(my_id, expr->left, in match_compare() 341 set_state_expr(my_id, expr->left, new); in match_assign() 345 set_state_expr(my_id, expr->left, new); in match_assign() 373 set_true_false_states_expr(my_id, expr->left, in match_condition() 462 my_id = id; in register_bits() 464 set_dynamic_states(my_id); in register_bits() 466 add_unmatched_state_hook(my_id, &unmatched_state); in register_bits() 467 add_merge_hook(my_id, &merge_bstates); in register_bits() [all …]
|
H A D | smatch_param_set.c | 40 static int my_id; variable 58 if (get_state(my_id, name, sym)) in parent_is_set() 92 set_state(my_id, name, sym, state); in extra_mod_hook() 128 set_state(my_id, buf, sym, alloc_estate_rl(rl)); in match_array_assignment() 188 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in print_return_value_param_helper() 299 sm = get_sm_state(my_id, buf, sym); in param_was_set_var_sym() 331 my_id = id; in register_param_set() 333 set_dynamic_states(my_id); in register_param_set() 336 add_unmatched_state_hook(my_id, &unmatched_state); in register_param_set() 337 add_merge_hook(my_id, &merge_estates); in register_param_set()
|
H A D | check_pointer_math.c | 20 static int my_id; variable 27 set_state(my_id, sm->name, sm->sym, &undefined); in set_undefined() 61 if (get_state_expr(my_id, expr) == &size_in_bytes) in is_size_in_bytes() 106 set_state_expr(my_id, expr->left, &size_in_bytes); in match_assign() 132 my_id = id; in check_pointer_math() 136 add_modification_hook(my_id, &set_undefined); in check_pointer_math()
|
H A D | smatch_constraints.c | 48 static int my_id; variable 311 state = get_state_expr(my_id, offset); in unmet_constraint() 380 set_true_false_states_expr(my_id, left, state, NULL); in handle_comparison() 382 set_true_false_states_expr(my_id, left, NULL, state); in handle_comparison() 402 state = get_state_expr(my_id, expr); in get_constraints() 417 state = get_state_expr(my_id, tmp); in match_caller_info() 480 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in print_return_implies_constrained() 517 my_id = id; in register_constraints() 519 set_dynamic_states(my_id); in register_constraints() 520 add_merge_hook(my_id, &merge_func); in register_constraints() [all …]
|
H A D | check_syscall_arg_type.c | 26 static int my_id; variable 139 set_state_expr(my_id, arg, &ARG_FD); in match_fdget() 152 state = get_state(my_id, sym->ident->name, sym); in get_syscall_arg_type() 160 my_id = id; in check_syscall_arg_type() 164 set_dynamic_states(my_id); in check_syscall_arg_type() 165 add_merge_hook(my_id, &merge_states); in check_syscall_arg_type()
|
H A D | smatch_nul_terminator.c | 21 static int my_id; variable 32 set_state(my_id, name, sym, state); in set_terminated_var_sym() 76 sm = get_sm_state(my_id, name, sym); in get_terminated_state_var_sym() 98 sm = get_sm_state_expr(my_id, expr); in get_terminated_state() 181 set_state(my_id, fullname, sym, (*value == '1') ? &terminated : &unterminated); in caller_info_terminated() 193 sm = get_sm_state(my_id, tmp->name, tmp->sym); in split_return_info() 217 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in split_return_info() 298 set_true_false_states_expr(my_id, arg, in match_strnlen_test() 309 my_id = id; in register_nul_terminator() 315 add_member_info_callback(my_id, struct_member_callback); in register_nul_terminator()
|
H A D | smatch_impossible.c | 21 static int my_id; variable 28 if (get_state(my_id, "impossible", NULL) == &impossible) in is_impossible_path() 50 set_true_false_states(my_id, "impossible", NULL, in handle_compare() 72 set_state(my_id, "impossible", NULL, &impossible); in set_path_impossible() 98 my_id = id; in register_impossible()
|
H A D | smatch_param_to_mtag_data.c | 45 static int my_id; variable 106 set_state_expr(my_id, expr->right, alloc_tag_data_state(tag, name, offset)); in match_assign() 130 set_state(my_id, name, sym, alloc_tag_data_state(tag, buf, offset)); in propogate_assignment() 194 FOR_EACH_MY_SM(my_id, __get_cur_stree(), sm) { in print_stored_to_mtag() 213 my_id = id; in register_param_to_mtag_data() 215 set_dynamic_states(my_id); in register_param_to_mtag_data() 218 add_merge_hook(my_id, &merge_tag_info); in register_param_to_mtag_data()
|
H A D | smatch_param_cleared.c | 33 static int my_id; variable 56 set_state(my_id, name, sym, &zeroed); in db_param_cleared() 58 set_state(my_id, name, sym, &cleared); in db_param_cleared() 82 FOR_EACH_MY_SM(my_id, stree, sm) { in print_return_value_param() 160 set_state_expr(my_id, expr->left, &cleared); in match_assign() 171 set_state_expr(my_id, array_expr, &cleared); in match_array_assign() 176 my_id = id; in register_param_cleared()
|