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