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