2 #define CK(_x) void _x(int id);
6 CK(register_smatch_extra
) /* smatch_extra always has to be first */
7 CK(register_smatch_extra_links
)
8 CK(register_modification_hooks
)
9 CK(register_definition_db_callbacks
)
11 CK(register_untracked_param
)
12 CK(register_buf_comparison
)
13 CK(register_buf_comparison_links
)
15 CK(register_smatch_ignore
)
18 CK(register_strlen_equiv
)
20 CK(register_parse_call_math
)
21 CK(register_param_limit
)
22 CK(register_param_filter
)
23 CK(register_param_set
)
24 CK(register_param_cleared
)
25 CK(register_struct_assignment
)
26 CK(register_comparison
)
27 CK(register_comparison_links
)
28 CK(register_comparison_inc_dec
)
29 CK(register_comparison_inc_dec_links
)
30 CK(register_local_values
)
31 CK(register_function_ptrs
)
33 CK(register_start_states
)
35 CK(register_data_source
)
36 CK(register_common_functions
)
37 CK(register_function_info
)
38 CK(register_auto_copy
)
39 CK(register_type_links
)
40 CK(register_impossible
)
41 CK(register_impossible_return
)
42 CK(register_param_used
)
44 CK(register_real_absolute
)
45 CK(register_imaginary_absolute
)
57 CK(check_dereferences_param
)
59 CK(check_index_overflow
)
60 CK(check_testing_index_after_use
)
61 CK(check_memcpy_overflow
)
62 CK(check_strcpy_overflow
)
63 CK(check_sprintf_overflow
)
64 CK(check_snprintf_overflow
)
65 CK(check_allocating_enough_data
)
68 CK(check_allocation_funcs
)
69 CK(check_frees_argument
)
75 CK(check_dma_on_stack
)
76 CK(check_param_mapper
)
78 CK(check_dev_queue_xmit
)
83 CK(check_resource_size
)
84 CK(check_release_resource
)
86 CK(check_freeing_null
)
92 CK(check_return_efault
)
95 CK(check_kmalloc_to_bugon
)
96 CK(check_platform_device_put
)
98 CK(check_return_enomem
)
99 CK(check_get_user_overflow
)
100 CK(check_get_user_overflow2
)
101 CK(check_access_ok_math
)
102 CK(check_container_of
)
103 CK(check_input_free_device
)
106 CK(check_logical_instead_of_bitwise
)
107 CK(check_kmalloc_wrong_size
)
108 CK(check_pointer_math
)
110 CK(check_macro_side_effects
)
112 CK(check_return_cast
)
114 CK(check_passes_sizeof
)
115 CK(check_assign_vs_compare
)
116 CK(check_missing_break
)
117 CK(check_array_condition
)
118 CK(check_struct_type
)
119 CK(check_64bit_shift
)
120 CK(check_wrong_size_arg
)
121 CK(check_cast_assign
)
122 CK(check_readl_infinite_loops
)
123 CK(check_double_checking
)
124 CK(check_shift_to_zero
)
126 CK(check_unreachable
)
127 CK(check_no_if_block
)
128 CK(check_buffer_too_small_for_struct
)
129 CK(check_impossible_mask
)
131 /* <- your test goes here */
132 /* CK(register_template) */
134 /* kernel specific */
135 CK(check_kernel_printf
)
137 CK(check_puts_argument
)
139 CK(check_err_ptr_deref
)
140 CK(check_expects_err_ptr
)
142 CK(check_return_negative_var
)
145 CK(check_wait_for_common
)
146 CK(check_bogus_irqrestore
)
147 CK(check_zero_to_err_ptr
)
148 CK(check_off_by_one_relative
)
152 CK(check_dma_mapping_error
)
154 /* wine specific stuff */
155 CK(check_wine_filehandles
)
158 #include "check_list_local.h"
161 CK(register_stored_conditions
)
162 CK(register_stored_conditions_links
)
164 CK(register_buf_size_late
)
165 CK(register_smatch_extra_late
)
166 CK(check_assigned_expr
) /* This is used by smatch_extra.c so it has to come really late */
167 CK(check_assigned_expr_links
)
168 CK(register_modification_hooks_late
) /* has to come after smatch_extra */
169 CK(register_comparison_late
) /* has to come after modification_hooks_late */
170 CK(register_function_hooks
)
171 CK(check_kernel
) /* this is overwriting stuff from smatch_extra_late */
173 CK(register_db_call_marker
) /* always second last */
175 * Implications always has to be last. If you need to be after implications
176 * then you need to hack smatch_implications.c and add function calls there.
179 CK(register_implications
)