11f5207b7SJohn Levon #ifndef CK
21f5207b7SJohn Levon #define CK(_x) void _x(int id);
31f5207b7SJohn Levon #define __undo_CK_def
41f5207b7SJohn Levon #endif
51f5207b7SJohn Levon 
61f5207b7SJohn Levon CK(register_db_call_marker) /* always has to be first  */
71f5207b7SJohn Levon CK(register_param_used)     /* get_state_hooks have to be registered before smatch_extra */
81f5207b7SJohn Levon CK(register_container_of)
91f5207b7SJohn Levon CK(register_container_of2)
101f5207b7SJohn Levon CK(register_smatch_extra)   /* smatch_extra always has to be SMATCH_EXTRA */
111f5207b7SJohn Levon CK(register_smatch_extra_links)
121f5207b7SJohn Levon CK(register_modification_hooks)
131f5207b7SJohn Levon /*
141f5207b7SJohn Levon  * Implications should probably be after all the modification and smatch_extra
151f5207b7SJohn Levon  * hooks have run.
161f5207b7SJohn Levon  *
171f5207b7SJohn Levon  */
181f5207b7SJohn Levon CK(register_implications)
191f5207b7SJohn Levon CK(register_definition_db_callbacks)
201f5207b7SJohn Levon CK(register_project)
211f5207b7SJohn Levon CK(register_untracked_param)
221f5207b7SJohn Levon CK(register_buf_comparison)
231f5207b7SJohn Levon CK(register_buf_comparison_links)
241f5207b7SJohn Levon CK(register_param_compare_limit)
251f5207b7SJohn Levon CK(register_param_compare_limit_links)
261f5207b7SJohn Levon CK(register_returns_early)
271f5207b7SJohn Levon 
28*5a0e240fSJohn Levon CK(register_param_cleared)  /* param_set relies on param_cleared */
29*5a0e240fSJohn Levon CK(register_param_set)
30*5a0e240fSJohn Levon 
311f5207b7SJohn Levon CK(register_smatch_ignore)
321f5207b7SJohn Levon CK(register_buf_size)
331f5207b7SJohn Levon CK(register_strlen)
341f5207b7SJohn Levon CK(register_strlen_equiv)
351f5207b7SJohn Levon CK(register_capped)
361f5207b7SJohn Levon CK(register_parse_call_math)
371f5207b7SJohn Levon CK(register_param_filter)
381f5207b7SJohn Levon CK(register_struct_assignment)
391f5207b7SJohn Levon CK(register_comparison)
401f5207b7SJohn Levon CK(register_comparison_links)
411f5207b7SJohn Levon CK(register_comparison_inc_dec)
421f5207b7SJohn Levon CK(register_comparison_inc_dec_links)
431f5207b7SJohn Levon CK(register_function_ptrs)
441f5207b7SJohn Levon CK(register_annotate)
451f5207b7SJohn Levon CK(register_start_states)
461f5207b7SJohn Levon CK(register_type_val)
471f5207b7SJohn Levon CK(register_data_source)
481f5207b7SJohn Levon CK(register_common_functions)
491f5207b7SJohn Levon CK(register_function_info)
501f5207b7SJohn Levon CK(register_type_links)
511f5207b7SJohn Levon CK(register_impossible)
521f5207b7SJohn Levon CK(register_impossible_return)
531f5207b7SJohn Levon CK(register_strings)
54efe51d0cSJohn Levon CK(register_integer_overflow)
55efe51d0cSJohn Levon CK(register_integer_overflow_links)
561f5207b7SJohn Levon CK(register_real_absolute)
571f5207b7SJohn Levon CK(register_imaginary_absolute)
58efe51d0cSJohn Levon CK(register_bits)
591f5207b7SJohn Levon CK(register_fn_arg_link)
601f5207b7SJohn Levon CK(register_parameter_names)
61*5a0e240fSJohn Levon CK(register_param_limit)
621f5207b7SJohn Levon CK(register_return_to_param)
631f5207b7SJohn Levon CK(register_return_to_param_links)
641f5207b7SJohn Levon CK(register_constraints)
651f5207b7SJohn Levon CK(register_constraints_required)
661f5207b7SJohn Levon CK(register_about_fn_ptr_arg)
671f5207b7SJohn Levon CK(register_mtag)
681f5207b7SJohn Levon CK(register_mtag_map)
691f5207b7SJohn Levon CK(register_mtag_data)
701f5207b7SJohn Levon CK(register_param_to_mtag_data)
711f5207b7SJohn Levon CK(register_array_values)
721f5207b7SJohn Levon CK(register_nul_terminator)
731f5207b7SJohn Levon CK(register_nul_terminator_param_set)
741f5207b7SJohn Levon CK(register_statement_count)
751f5207b7SJohn Levon 
76efe51d0cSJohn Levon CK(register_kernel_user_data)
771f5207b7SJohn Levon CK(register_kernel_user_data2)
781f5207b7SJohn Levon 
791f5207b7SJohn Levon CK(check_debug)
801f5207b7SJohn Levon 
811f5207b7SJohn Levon CK(check_bogus_loop)
821f5207b7SJohn Levon 
831f5207b7SJohn Levon CK(check_deref)
841f5207b7SJohn Levon CK(check_check_deref)
851f5207b7SJohn Levon CK(check_dereferences_param)
861f5207b7SJohn Levon CK(check_index_overflow)
871f5207b7SJohn Levon CK(check_index_overflow_loop_marker)
881f5207b7SJohn Levon CK(check_testing_index_after_use)
891f5207b7SJohn Levon CK(check_memcpy_overflow)
901f5207b7SJohn Levon CK(check_strcpy_overflow)
911f5207b7SJohn Levon CK(check_sprintf_overflow)
921f5207b7SJohn Levon CK(check_snprintf_overflow)
931f5207b7SJohn Levon CK(check_allocating_enough_data)
941f5207b7SJohn Levon CK(check_leaks)
951f5207b7SJohn Levon CK(check_type)
961f5207b7SJohn Levon CK(check_allocation_funcs)
971f5207b7SJohn Levon CK(check_frees_argument)
981f5207b7SJohn Levon CK(check_deref_check)
991f5207b7SJohn Levon CK(check_signed)
1001f5207b7SJohn Levon CK(check_precedence)
1011f5207b7SJohn Levon CK(check_unused_ret)
1021f5207b7SJohn Levon CK(check_dma_on_stack)
1031f5207b7SJohn Levon CK(check_param_mapper)
1041f5207b7SJohn Levon CK(check_call_tree)
1051f5207b7SJohn Levon CK(check_dev_queue_xmit)
1061f5207b7SJohn Levon CK(check_stack)
1071f5207b7SJohn Levon CK(check_no_return)
1081f5207b7SJohn Levon CK(check_mod_timer)
1091f5207b7SJohn Levon CK(check_return)
1101f5207b7SJohn Levon CK(check_resource_size)
1111f5207b7SJohn Levon CK(check_release_resource)
1121f5207b7SJohn Levon CK(check_proc_create)
1131f5207b7SJohn Levon CK(check_freeing_null)
1141f5207b7SJohn Levon CK(check_frees_param)
1151f5207b7SJohn Levon CK(check_free)
1161f5207b7SJohn Levon CK(check_frees_param_strict)
1171f5207b7SJohn Levon CK(check_free_strict)
1181f5207b7SJohn Levon CK(check_no_effect)
1191f5207b7SJohn Levon CK(check_kunmap)
1201f5207b7SJohn Levon CK(check_snprintf)
1211f5207b7SJohn Levon CK(check_macros)
1221f5207b7SJohn Levon CK(check_return_efault)
1231f5207b7SJohn Levon CK(check_gfp_dma)
1241f5207b7SJohn Levon CK(check_unwind)
1251f5207b7SJohn Levon CK(check_kmalloc_to_bugon)
1261f5207b7SJohn Levon CK(check_platform_device_put)
1271f5207b7SJohn Levon CK(check_info_leak)
1281f5207b7SJohn Levon CK(check_return_enomem)
1291f5207b7SJohn Levon CK(check_get_user_overflow)
1301f5207b7SJohn Levon CK(check_get_user_overflow2)
1311f5207b7SJohn Levon CK(check_access_ok_math)
1321f5207b7SJohn Levon CK(check_container_of)
1331f5207b7SJohn Levon CK(check_input_free_device)
1341f5207b7SJohn Levon CK(check_select)
1351f5207b7SJohn Levon CK(check_memset)
1361f5207b7SJohn Levon CK(check_logical_instead_of_bitwise)
1371f5207b7SJohn Levon CK(check_kmalloc_wrong_size)
1381f5207b7SJohn Levon CK(check_pointer_math)
1391f5207b7SJohn Levon CK(check_bit_shift)
1401f5207b7SJohn Levon CK(check_macro_side_effects)
1411f5207b7SJohn Levon CK(check_sizeof)
1421f5207b7SJohn Levon CK(check_return_cast)
1431f5207b7SJohn Levon CK(check_or_vs_and)
1441f5207b7SJohn Levon CK(check_passes_sizeof)
1451f5207b7SJohn Levon CK(check_assign_vs_compare)
1461f5207b7SJohn Levon CK(check_missing_break)
1471f5207b7SJohn Levon CK(check_array_condition)
1481f5207b7SJohn Levon CK(check_struct_type)
1491f5207b7SJohn Levon CK(check_64bit_shift)
1501f5207b7SJohn Levon CK(check_wrong_size_arg)
1511f5207b7SJohn Levon CK(check_cast_assign)
1521f5207b7SJohn Levon CK(check_readl_infinite_loops)
1531f5207b7SJohn Levon CK(check_double_checking)
1541f5207b7SJohn Levon CK(check_shift_to_zero)
1551f5207b7SJohn Levon CK(check_indenting)
1561f5207b7SJohn Levon CK(check_unreachable)
1571f5207b7SJohn Levon CK(check_no_if_block)
1581f5207b7SJohn Levon CK(check_buffer_too_small_for_struct)
1591f5207b7SJohn Levon CK(check_uninitialized)
1601f5207b7SJohn Levon CK(check_signed_integer_overflow_check)
1611f5207b7SJohn Levon CK(check_continue_vs_break)
1621f5207b7SJohn Levon CK(check_impossible_mask)
1631f5207b7SJohn Levon CK(check_syscall_arg_type)
1641f5207b7SJohn Levon CK(check_trinity_generator)
1651f5207b7SJohn Levon 
1661f5207b7SJohn Levon /* <- your test goes here */
1671f5207b7SJohn Levon /* CK(register_template) */
1681f5207b7SJohn Levon 
1691f5207b7SJohn Levon /* kernel specific */
1701f5207b7SJohn Levon CK(check_kernel_printf)
1711f5207b7SJohn Levon CK(check_locking)
1721f5207b7SJohn Levon CK(check_puts_argument)
1731f5207b7SJohn Levon CK(check_err_ptr)
1741f5207b7SJohn Levon CK(check_err_ptr_deref)
1751f5207b7SJohn Levon CK(check_expects_err_ptr)
1761f5207b7SJohn Levon CK(check_held_dev)
1771f5207b7SJohn Levon CK(check_return_negative_var)
1781f5207b7SJohn Levon CK(check_rosenberg)
1791f5207b7SJohn Levon CK(check_rosenberg2)
180c85f09ccSJohn Levon CK(check_rosenberg3)
1811f5207b7SJohn Levon CK(check_wait_for_common)
1821f5207b7SJohn Levon CK(check_bogus_irqrestore)
1831f5207b7SJohn Levon CK(check_zero_to_err_ptr)
1841f5207b7SJohn Levon CK(check_freeing_devm)
1851f5207b7SJohn Levon CK(check_off_by_one_relative)
1861f5207b7SJohn Levon CK(check_capable)
1871f5207b7SJohn Levon CK(check_ns_capable)
1881f5207b7SJohn Levon CK(check_test_bit)
1891f5207b7SJohn Levon CK(check_dma_mapping_error)
1901f5207b7SJohn Levon CK(check_nospec)
1911f5207b7SJohn Levon CK(check_nospec_barrier)
1921f5207b7SJohn Levon CK(check_spectre)
193efe51d0cSJohn Levon CK(check_spectre_second_half)
1941f5207b7SJohn Levon CK(check_implicit_dependencies)
1951f5207b7SJohn Levon 
1961f5207b7SJohn Levon /* wine specific stuff */
1971f5207b7SJohn Levon CK(check_wine_filehandles)
1981f5207b7SJohn Levon CK(check_wine_WtoA)
1991f5207b7SJohn Levon 
200c85f09ccSJohn Levon CK(check_arm64_tagged)
201c85f09ccSJohn Levon 
2021f5207b7SJohn Levon /* illumos specific */
2031f5207b7SJohn Levon CK(check_all_func_returns)
204efe51d0cSJohn Levon CK(check_cmn_err)
2051f5207b7SJohn Levon 
2061f5207b7SJohn Levon #include "check_list_local.h"
2071f5207b7SJohn Levon 
2081f5207b7SJohn Levon CK(register_scope)
2091f5207b7SJohn Levon CK(register_stored_conditions)
2101f5207b7SJohn Levon CK(register_stored_conditions_links)
211*5a0e240fSJohn Levon CK(register_parsed_conditions)
2121f5207b7SJohn Levon CK(register_sval)
2131f5207b7SJohn Levon CK(register_buf_size_late)
2141f5207b7SJohn Levon CK(register_smatch_extra_late)
2151f5207b7SJohn Levon CK(register_assigned_expr) /* This is used by smatch_extra.c so it has to come really late */
2161f5207b7SJohn Levon CK(register_assigned_expr_links)
2171f5207b7SJohn Levon CK(register_modification_hooks_late)  /* has to come after smatch_extra */
2181f5207b7SJohn Levon CK(register_comparison_late) /* has to come after modification_hooks_late */
2191f5207b7SJohn Levon CK(register_function_hooks)
2201f5207b7SJohn Levon CK(check_kernel)  /* this is overwriting stuff from smatch_extra_late */
2211f5207b7SJohn Levon CK(check_wine)
2221f5207b7SJohn Levon CK(register_returns)
2231f5207b7SJohn Levon 
2241f5207b7SJohn Levon #ifdef __undo_CK_def
2251f5207b7SJohn Levon #undef CK
2261f5207b7SJohn Levon #undef __undo_CK_def
2271f5207b7SJohn Levon #endif
228