1 #ifndef CK 2 #define CK(_x) void _x(int id); 3 #define __undo_CK_def 4 #endif 5 6 CK(register_db_call_marker) /* always has to be first */ 7 CK(register_param_used) /* get_state_hooks have to be registered before smatch_extra */ 8 CK(register_container_of) 9 CK(register_container_of2) 10 CK(register_smatch_extra) /* smatch_extra always has to be SMATCH_EXTRA */ 11 CK(register_smatch_extra_links) 12 CK(register_modification_hooks) 13 /* 14 * Implications should probably be after all the modification and smatch_extra 15 * hooks have run. 16 * 17 */ 18 CK(register_implications) 19 CK(register_definition_db_callbacks) 20 CK(register_project) 21 CK(register_untracked_param) 22 CK(register_buf_comparison) 23 CK(register_buf_comparison_links) 24 CK(register_param_compare_limit) 25 CK(register_param_compare_limit_links) 26 CK(register_returns_early) 27 28 CK(register_smatch_ignore) 29 CK(register_buf_size) 30 CK(register_strlen) 31 CK(register_strlen_equiv) 32 CK(register_capped) 33 CK(register_parse_call_math) 34 CK(register_param_limit) 35 CK(register_param_filter) 36 CK(register_param_set) 37 CK(register_param_cleared) 38 CK(register_struct_assignment) 39 CK(register_comparison) 40 CK(register_comparison_links) 41 CK(register_comparison_inc_dec) 42 CK(register_comparison_inc_dec_links) 43 CK(register_local_values) 44 CK(register_function_ptrs) 45 CK(register_annotate) 46 CK(register_start_states) 47 CK(register_type_val) 48 CK(register_data_source) 49 CK(register_common_functions) 50 CK(register_function_info) 51 CK(register_auto_copy) 52 CK(register_type_links) 53 CK(register_impossible) 54 CK(register_impossible_return) 55 CK(register_strings) 56 CK(register_integer_overflow) 57 CK(register_integer_overflow_links) 58 CK(register_real_absolute) 59 CK(register_imaginary_absolute) 60 CK(register_bits) 61 CK(register_fn_arg_link) 62 CK(register_parameter_names) 63 CK(register_return_to_param) 64 CK(register_return_to_param_links) 65 CK(register_constraints) 66 CK(register_constraints_required) 67 CK(register_about_fn_ptr_arg) 68 CK(register_mtag) 69 CK(register_mtag_map) 70 CK(register_mtag_data) 71 CK(register_param_to_mtag_data) 72 CK(register_array_values) 73 CK(register_nul_terminator) 74 CK(register_nul_terminator_param_set) 75 CK(register_statement_count) 76 77 CK(register_kernel_user_data) 78 CK(register_kernel_user_data2) 79 80 CK(check_debug) 81 82 CK(check_bogus_loop) 83 84 CK(check_deref) 85 CK(check_check_deref) 86 CK(check_dereferences_param) 87 CK(check_index_overflow) 88 CK(check_index_overflow_loop_marker) 89 CK(check_testing_index_after_use) 90 CK(check_memcpy_overflow) 91 CK(check_strcpy_overflow) 92 CK(check_sprintf_overflow) 93 CK(check_snprintf_overflow) 94 CK(check_allocating_enough_data) 95 CK(check_leaks) 96 CK(check_type) 97 CK(check_allocation_funcs) 98 CK(check_frees_argument) 99 CK(check_deref_check) 100 CK(check_signed) 101 CK(check_precedence) 102 CK(check_unused_ret) 103 CK(check_dma_on_stack) 104 CK(check_param_mapper) 105 CK(check_call_tree) 106 CK(check_dev_queue_xmit) 107 CK(check_stack) 108 CK(check_no_return) 109 CK(check_mod_timer) 110 CK(check_return) 111 CK(check_resource_size) 112 CK(check_release_resource) 113 CK(check_proc_create) 114 CK(check_freeing_null) 115 CK(check_frees_param) 116 CK(check_free) 117 CK(check_frees_param_strict) 118 CK(check_free_strict) 119 CK(check_no_effect) 120 CK(check_kunmap) 121 CK(check_snprintf) 122 CK(check_macros) 123 CK(check_return_efault) 124 CK(check_gfp_dma) 125 CK(check_unwind) 126 CK(check_kmalloc_to_bugon) 127 CK(check_platform_device_put) 128 CK(check_info_leak) 129 CK(check_return_enomem) 130 CK(check_get_user_overflow) 131 CK(check_get_user_overflow2) 132 CK(check_access_ok_math) 133 CK(check_container_of) 134 CK(check_input_free_device) 135 CK(check_select) 136 CK(check_memset) 137 CK(check_logical_instead_of_bitwise) 138 CK(check_kmalloc_wrong_size) 139 CK(check_pointer_math) 140 CK(check_bit_shift) 141 CK(check_macro_side_effects) 142 CK(check_sizeof) 143 CK(check_return_cast) 144 CK(check_or_vs_and) 145 CK(check_passes_sizeof) 146 CK(check_assign_vs_compare) 147 CK(check_missing_break) 148 CK(check_array_condition) 149 CK(check_struct_type) 150 CK(check_64bit_shift) 151 CK(check_wrong_size_arg) 152 CK(check_cast_assign) 153 CK(check_readl_infinite_loops) 154 CK(check_double_checking) 155 CK(check_shift_to_zero) 156 CK(check_indenting) 157 CK(check_unreachable) 158 CK(check_no_if_block) 159 CK(check_buffer_too_small_for_struct) 160 CK(check_uninitialized) 161 CK(check_signed_integer_overflow_check) 162 CK(check_continue_vs_break) 163 CK(check_impossible_mask) 164 CK(check_syscall_arg_type) 165 CK(check_trinity_generator) 166 167 /* <- your test goes here */ 168 /* CK(register_template) */ 169 170 /* kernel specific */ 171 CK(check_kernel_printf) 172 CK(check_locking) 173 CK(check_puts_argument) 174 CK(check_err_ptr) 175 CK(check_err_ptr_deref) 176 CK(check_expects_err_ptr) 177 CK(check_held_dev) 178 CK(check_return_negative_var) 179 CK(check_rosenberg) 180 CK(check_rosenberg2) 181 CK(check_wait_for_common) 182 CK(check_bogus_irqrestore) 183 CK(check_zero_to_err_ptr) 184 CK(check_freeing_devm) 185 CK(check_off_by_one_relative) 186 CK(check_capable) 187 CK(check_ns_capable) 188 CK(check_test_bit) 189 CK(check_dma_mapping_error) 190 CK(check_nospec) 191 CK(check_nospec_barrier) 192 CK(check_spectre) 193 CK(check_spectre_second_half) 194 CK(check_implicit_dependencies) 195 196 /* wine specific stuff */ 197 CK(check_wine_filehandles) 198 CK(check_wine_WtoA) 199 200 /* illumos specific */ 201 CK(check_all_func_returns) 202 CK(check_cmn_err) 203 204 #include "check_list_local.h" 205 206 CK(register_scope) 207 CK(register_stored_conditions) 208 CK(register_stored_conditions_links) 209 CK(register_sval) 210 CK(register_buf_size_late) 211 CK(register_smatch_extra_late) 212 CK(register_assigned_expr) /* This is used by smatch_extra.c so it has to come really late */ 213 CK(register_assigned_expr_links) 214 CK(register_modification_hooks_late) /* has to come after smatch_extra */ 215 CK(register_comparison_late) /* has to come after modification_hooks_late */ 216 CK(register_function_hooks) 217 CK(check_kernel) /* this is overwriting stuff from smatch_extra_late */ 218 CK(check_wine) 219 CK(register_returns) 220 221 #ifdef __undo_CK_def 222 #undef CK 223 #undef __undo_CK_def 224 #endif 225