Line data Source code
1 :
2 : struct device;
3 :
4 : void *ldv_dev_get_drvdata(const struct device *dev);
5 : int ldv_dev_set_drvdata(struct device *dev, void *data);
6 :
7 : struct spi_master;
8 : struct device;
9 : struct spi_master *ldv_spi_alloc_master(struct device *host, unsigned size);
10 :
11 : #include <linux/ldv/err.h>
12 :
13 : #include <linux/types.h>
14 : void *ldv_kzalloc(size_t size, gfp_t flags);
15 :
16 : struct clk;
17 :
18 : extern void ldv_clk_disable(struct clk *clk);
19 : extern int ldv_clk_enable(void);
20 :
21 : #include <linux/ldv/common.h>
22 : #include <linux/ldv/irq.h>
23 : #include <verifier/common.h>
24 : #include <verifier/nondet.h>
25 : #include <verifier/memory.h>
26 : #include <verifier/thread.h>
27 :
28 : #include <linux/timer.h>
29 :
30 :
31 : struct ldv_struct_insmod_7 {
32 : int signal_pending;
33 : };
34 1 :
35 : struct ldv_struct_random_containerless_scenario_4 {
36 : struct notifier_block *arg0;
37 : int signal_pending;
38 : };
39 1 :
40 : struct ldv_struct_timer_scenario_6 {
41 : struct timer_list *arg0;
42 : int signal_pending;
43 : };
44 :
45 : /* EMG Function declarations */
46 : void ldv_bus_pattern_scenario_5(void *);
47 : void ldv_bus_pattern_scenario_callback_5_9(int (*)(char *), char *);
48 : void ldv_dispatch_default_deregister_3_7_3(void);
49 : void ldv_dispatch_default_deregister_4_7_4(void);
50 : void ldv_dispatch_default_deregister_5_7_5(void);
51 : void ldv_dispatch_default_deregister_7_7_6(void);
52 : void ldv_dispatch_default_register_3_7_9(void);
53 : void ldv_dispatch_default_register_4_7_8(void);
54 : void ldv_dispatch_default_register_7_7_7(void);
55 : void ldv_dispatch_insmod_deregister_11_2(void);
56 : void ldv_dispatch_insmod_register_11_3(void);
57 : void ldv_dispatch_instance_deregister_8_1(struct timer_list *);
58 : void ldv_dispatch_instance_register_9_3(struct timer_list *);
59 : void ldv_dispatch_register_10_3(struct notifier_block *);
60 : int ldv_emg_del_timer_sync(struct timer_list *);
61 : int ldv_emg_fb_register_client(struct notifier_block *);
62 : int ldv_emg_mod_timer(struct timer_list *, long unsigned int);
63 : void ldv_insmod_7(void *);
64 : int ldv_insmod_fb_console_init_7_13(int (*)(void));
65 : void ldv_main_11(void *);
66 : void ldv_random_containerless_scenario_1(void *);
67 : void ldv_random_containerless_scenario_2(void *);
68 : void ldv_random_containerless_scenario_3(void *);
69 : void ldv_random_containerless_scenario_4(void *);
70 : void ldv_random_containerless_scenario_callback_1_10(void (*)(struct vc_data *, int, int, int, int, int, int), struct vc_data *, int, int, int, int, int, int);
71 : void ldv_random_containerless_scenario_callback_1_13(void (*)(struct vc_data *, int, int, int, int), struct vc_data *, int, int, int, int);
72 : void ldv_random_containerless_scenario_callback_1_16(void (*)(struct vc_data *, int), struct vc_data *, int);
73 : void ldv_random_containerless_scenario_callback_1_19(void (*)(struct vc_data *), struct vc_data *);
74 : void ldv_random_containerless_scenario_callback_1_20(int (*)(struct vc_data *, int), struct vc_data *, int);
75 : void ldv_random_containerless_scenario_callback_1_23(int (*)(struct vc_data *, struct console_font *, char *), struct vc_data *, struct console_font *, char *);
76 : void ldv_random_containerless_scenario_callback_1_26(int (*)(struct vc_data *, struct console_font *), struct vc_data *, struct console_font *);
77 : void ldv_random_containerless_scenario_callback_1_27(int (*)(struct vc_data *, struct console_font *, unsigned int), struct vc_data *, struct console_font *, unsigned int);
78 : void ldv_random_containerless_scenario_callback_1_30(long unsigned int (*)(struct vc_data *, long unsigned int, int *, int *), struct vc_data *, long unsigned int, int *, int *);
79 : void ldv_random_containerless_scenario_callback_1_33(void (*)(struct vc_data *, int), struct vc_data *, int);
80 : void ldv_random_containerless_scenario_callback_1_36(void (*)(struct vc_data *, u16 *, int), struct vc_data *, u16 *, int);
81 : void ldv_random_containerless_scenario_callback_1_39(void (*)(struct vc_data *, int, int, int), struct vc_data *, int, int, int);
82 : void ldv_random_containerless_scenario_callback_1_4(int (*)(struct vc_data *, int, int), struct vc_data *, int, int);
83 : void ldv_random_containerless_scenario_callback_1_42(void (*)(struct vc_data *, u16 *, int, int, int), struct vc_data *, u16 *, int, int, int);
84 : void ldv_random_containerless_scenario_callback_1_45(int (*)(struct vc_data *, unsigned int, unsigned int, unsigned int), struct vc_data *, unsigned int, unsigned int, unsigned int);
85 : void ldv_random_containerless_scenario_callback_1_48(u16 *(*)(struct vc_data *, int), struct vc_data *, int);
86 : void ldv_random_containerless_scenario_callback_1_51(int (*)(struct vc_data *, int, int, int, int), struct vc_data *, int, int, int, int);
87 : void ldv_random_containerless_scenario_callback_1_54(int (*)(struct vc_data *, int), struct vc_data *, int);
88 : void ldv_random_containerless_scenario_callback_1_57(int (*)(struct vc_data *), struct vc_data *);
89 : void ldv_random_containerless_scenario_callback_1_58(int (*)(struct vc_data *, u8 *), struct vc_data *, u8 *);
90 : void ldv_random_containerless_scenario_callback_1_61(char *(*)(void));
91 : void ldv_random_containerless_scenario_callback_1_62(int (*)(struct vc_data *), struct vc_data *);
92 : void ldv_random_containerless_scenario_callback_2_10(ssize_t (*)(struct device *, struct device_attribute *, char *, size_t ), struct device *, struct device_attribute *, char *, long unsigned int);
93 : void ldv_random_containerless_scenario_callback_2_4(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
94 : void ldv_random_containerless_scenario_callback_3_10(ssize_t (*)(struct device *, struct device_attribute *, char *, size_t ), struct device *, struct device_attribute *, char *, long unsigned int);
95 : void ldv_random_containerless_scenario_callback_3_4(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
96 : void ldv_random_containerless_scenario_callback_4_4(int (*)(struct notifier_block *, long unsigned int, void *), struct notifier_block *, long unsigned int, void *);
97 : void ldv_timer_scenario_6(void *);
98 : void ldv_timer_scenario_callback_6_2(void (*)(unsigned long), unsigned long);
99 : int main(void);
100 :
101 : /* EMG variable declarations */
102 1 : struct ldv_thread ldv_thread_1;
103 1 : struct ldv_thread ldv_thread_11;
104 1 : struct ldv_thread ldv_thread_2;
105 1 : struct ldv_thread ldv_thread_3;
106 1 : struct ldv_thread ldv_thread_4;
107 1 : struct ldv_thread ldv_thread_5;
108 1 : struct ldv_thread ldv_thread_6;
109 1 : struct ldv_thread ldv_thread_7;
110 :
111 : /* EMG variable initialization */
112 :
113 : /* EMG function definitions */
114 : /* AUX_FUNC ldv_bus_pattern_scenario_5 */
115 : void ldv_bus_pattern_scenario_5(void *arg0) {
116 : /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'bus_pattern_scenario(struct_obs_kernel_param)'", "function": "ldv_bus_pattern_scenario_5"} */
117 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
118 1 : int (*ldv_5_callback_setup_func)(char *);
119 1 : char *ldv_5_ldv_param_9_0_default;
120 1 : int ldv_5_ret_default;
121 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
122 1 : /* Initialize automaton variables */
123 2 : ldv_5_ret_default = 1;
124 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_OBS_KERNEL_PARAM callbacks invocations scenario."} */
125 2 : ldv_free(arg0);
126 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
127 :
128 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
129 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
130 :
131 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory of common callback parameters."} */
132 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
133 :
134 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Try to probe driver."} */
135 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
136 :
137 : /* Jump to a subprocess 'main' initial state */
138 1 : goto ldv_main_5;
139 : /* End of the process */
140 : return;
141 1 :
142 : /* Sbprocess main */
143 : ldv_main_5:
144 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
145 :
146 4 : if (ldv_undef_int()) {
147 : /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "comment": "Call callback 'probe' of a process 'bus_pattern_scenario' of an interface category 'struct_obs_kernel_param'"} */
148 : /* Skip callback without implementations */
149 : /* LDV {"action": "PROBE", "type": "CALL_END"} */
150 :
151 4 : if (ldv_undef_int()) {
152 : /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Probing has been successfull."} */
153 2 : ldv_assume(ldv_5_ret_default == 0);
154 : /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
155 :
156 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call the other callbacks."} */
157 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
158 :
159 : /* Jump to a subprocess 'call' initial state */
160 1 : goto ldv_call_5;
161 : }
162 : else {
163 : /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Probing has failed."} */
164 2 : ldv_assume(ldv_5_ret_default != 0);
165 : /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
166 :
167 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Try to probe driver."} */
168 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
169 :
170 : /* Jump to a subprocess 'main' initial state */
171 1 : goto ldv_main_5;
172 : }
173 : }
174 : else {
175 : /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of common callback parameters."} */
176 : /* LDV {"action": "FREE", "type": "CONDITION_END"} */
177 :
178 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
179 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
180 :
181 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_OBS_KERNEL_PARAM callbacks invocations scenario."} */
182 : /* Skip a non-replicative signal receiving */
183 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
184 :
185 : /* Exit function at a terminal state */
186 1 : return;
187 : }
188 : /* End of the subprocess 'main' */
189 : return;
190 1 :
191 : /* Sbprocess call */
192 : ldv_call_5:
193 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
194 :
195 2 : switch (ldv_undef_int()) {
196 3 : case 1: {
197 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
198 3 : ldv_5_ldv_param_9_0_default = ldv_xmalloc_unknown_size(0);
199 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_END"} */
200 :
201 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setup_func from obs_kernel_param."} */
202 : /* LDV {"type": "CALLBACK", "call": "((& fb_console_setup))(ldv_5_ldv_param_9_0_default);", "comment": "callback"} */
203 2 : ldv_bus_pattern_scenario_callback_5_9(ldv_5_callback_setup_func, ldv_5_ldv_param_9_0_default);
204 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
205 :
206 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
207 2 : ldv_free(ldv_5_ldv_param_9_0_default);
208 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_END"} */
209 :
210 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call the other callbacks."} */
211 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
212 :
213 : /* Jump to a subprocess 'call' initial state */
214 1 : goto ldv_call_5;
215 1 : break;
216 : }
217 3 : case 2: {
218 : /* LDV {"action": "SUSPEND", "type": "CALL_BEGIN", "comment": "Call callback 'suspend' of a process 'bus_pattern_scenario' of an interface category 'struct_obs_kernel_param'"} */
219 : /* Skip callback without implementations */
220 : /* LDV {"action": "SUSPEND", "type": "CALL_END"} */
221 :
222 4 : if (ldv_undef_int()) {
223 : /* LDV {"action": "SUSPEND_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Suspending has been successfull."} */
224 2 : ldv_assume(ldv_5_ret_default == 0);
225 : /* LDV {"action": "SUSPEND_SUCCESS", "type": "CONDITION_END"} */
226 :
227 : /* LDV {"action": "RESUME", "type": "CALL_BEGIN", "comment": "Call callback 'resume' of a process 'bus_pattern_scenario' of an interface category 'struct_obs_kernel_param'"} */
228 : /* Skip callback without implementations */
229 : /* LDV {"action": "RESUME", "type": "CALL_END"} */
230 :
231 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call the other callbacks."} */
232 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
233 :
234 : /* Jump to a subprocess 'call' initial state */
235 1 : goto ldv_call_5;
236 : }
237 : else {
238 : /* LDV {"action": "SUSPEND_FAILED", "type": "CONDITION_BEGIN", "comment": "Suspending has failed."} */
239 2 : ldv_assume(ldv_5_ret_default != 0);
240 : /* LDV {"action": "SUSPEND_FAILED", "type": "CONDITION_END"} */
241 :
242 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call the other callbacks."} */
243 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
244 :
245 : /* Jump to a subprocess 'call' initial state */
246 1 : goto ldv_call_5;
247 : /* Jump to a subprocess 'call' initial state */
248 : goto ldv_call_5;
249 : }
250 1 : break;
251 : }
252 3 : case 3: {
253 : /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "comment": "Call callback 'release' of a process 'bus_pattern_scenario' of an interface category 'struct_obs_kernel_param'"} */
254 : /* Skip callback without implementations */
255 : /* LDV {"action": "RELEASE", "type": "CALL_END"} */
256 :
257 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Try to probe driver."} */
258 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
259 :
260 : /* Jump to a subprocess 'main' initial state */
261 1 : goto ldv_main_5;
262 1 : break;
263 : }
264 2 : default: ldv_stop();
265 1 : }
266 0 : /* End of the subprocess 'call' */
267 0 : return;
268 : /* LDV {"comment": "End of control function based on process 'bus_pattern_scenario(struct_obs_kernel_param)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_bus_pattern_scenario_5"} */
269 : }
270 :
271 : /* AUX_FUNC_CALLBACK ldv_bus_pattern_scenario_callback_5_9 */
272 : void ldv_bus_pattern_scenario_callback_5_9(int (*arg0)(char *), char *arg1) {
273 4 : ((& fb_console_setup))(arg1);
274 1 : }
275 :
276 : /* AUX_FUNC ldv_dispatch_default_deregister_3_7_3 */
277 : void ldv_dispatch_default_deregister_3_7_3() {
278 : struct ldv_struct_insmod_7 *cf_arg_1;
279 : /* Skip thread join call */
280 1 : return;
281 : }
282 :
283 : /* AUX_FUNC ldv_dispatch_default_deregister_4_7_4 */
284 : void ldv_dispatch_default_deregister_4_7_4() {
285 : struct ldv_struct_insmod_7 *cf_arg_2;
286 : struct ldv_struct_insmod_7 *cf_arg_3;
287 : /* Skip thread join call */
288 : /* Skip thread join call */
289 1 : return;
290 : }
291 :
292 : /* AUX_FUNC ldv_dispatch_default_deregister_5_7_5 */
293 : void ldv_dispatch_default_deregister_5_7_5() {
294 : struct ldv_struct_insmod_7 *cf_arg_4;
295 : /* Skip thread join call */
296 1 : return;
297 : }
298 :
299 : /* AUX_FUNC ldv_dispatch_default_deregister_7_7_6 */
300 : void ldv_dispatch_default_deregister_7_7_6() {
301 : struct ldv_struct_insmod_7 *cf_arg_5;
302 : /* Skip thread join call */
303 1 : return;
304 : }
305 :
306 : /* AUX_FUNC ldv_dispatch_default_register_3_7_9 */
307 : void ldv_dispatch_default_register_3_7_9() {
308 : struct ldv_struct_insmod_7 *cf_arg_1;
309 4 : cf_arg_1 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_7));
310 3 : ldv_random_containerless_scenario_1(cf_arg_1);
311 1 : return;
312 : }
313 :
314 : /* AUX_FUNC ldv_dispatch_default_register_4_7_8 */
315 : void ldv_dispatch_default_register_4_7_8() {
316 : struct ldv_struct_insmod_7 *cf_arg_2;
317 1 : struct ldv_struct_insmod_7 *cf_arg_3;
318 4 : cf_arg_2 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_7));
319 3 : ldv_random_containerless_scenario_2(cf_arg_2);
320 4 : cf_arg_3 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_7));
321 2 : ldv_random_containerless_scenario_3(cf_arg_3);
322 1 : return;
323 : }
324 :
325 : /* AUX_FUNC ldv_dispatch_default_register_7_7_7 */
326 : void ldv_dispatch_default_register_7_7_7() {
327 : struct ldv_struct_insmod_7 *cf_arg_5;
328 4 : cf_arg_5 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_7));
329 3 : ldv_bus_pattern_scenario_5(cf_arg_5);
330 1 : return;
331 : }
332 :
333 : /* AUX_FUNC ldv_dispatch_insmod_deregister_11_2 */
334 : void ldv_dispatch_insmod_deregister_11_2() {
335 : struct ldv_struct_insmod_7 *cf_arg_7;
336 : /* Skip thread join call */
337 1 : return;
338 : }
339 :
340 : /* AUX_FUNC ldv_dispatch_insmod_register_11_3 */
341 : void ldv_dispatch_insmod_register_11_3() {
342 : struct ldv_struct_insmod_7 *cf_arg_7;
343 4 : cf_arg_7 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_7));
344 5 : ldv_insmod_7(cf_arg_7);
345 1 : return;
346 : }
347 :
348 : /* AUX_FUNC ldv_dispatch_instance_deregister_8_1 */
349 : void ldv_dispatch_instance_deregister_8_1(struct timer_list *arg0) {
350 : struct ldv_struct_timer_scenario_6 *cf_arg_6;
351 : /* Skip thread join call */
352 50 : return;
353 : }
354 :
355 : /* AUX_FUNC ldv_dispatch_instance_register_9_3 */
356 : void ldv_dispatch_instance_register_9_3(struct timer_list *arg0) {
357 : struct ldv_struct_timer_scenario_6 *cf_arg_6;
358 0 : cf_arg_6 = ldv_xmalloc(sizeof(struct ldv_struct_timer_scenario_6));
359 0 : cf_arg_6->arg0 = arg0;
360 0 : ldv_timer_scenario_6(cf_arg_6);
361 0 : return;
362 : }
363 :
364 : /* AUX_FUNC ldv_dispatch_register_10_3 */
365 : void ldv_dispatch_register_10_3(struct notifier_block *arg0) {
366 : struct ldv_struct_random_containerless_scenario_4 *cf_arg_4;
367 4 : cf_arg_4 = ldv_xmalloc(sizeof(struct ldv_struct_random_containerless_scenario_4));
368 2 : cf_arg_4->arg0 = arg0;
369 2 : ldv_random_containerless_scenario_4(cf_arg_4);
370 1 : return;
371 : }
372 :
373 : /* AUX_FUNC ldv_emg_del_timer_sync */
374 : int ldv_emg_del_timer_sync(struct timer_list *arg0) {
375 : /* LDV {"comment": "Control function 'del_timer_sync'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_del_timer_sync"} */
376 50 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
377 : struct timer_list *ldv_8_timer_list_timer_list;
378 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
379 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get timer representing structure."} */
380 50 : ldv_8_timer_list_timer_list = arg0;
381 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
382 :
383 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister TIMER callbacks."} */
384 100 : ldv_dispatch_instance_deregister_8_1(ldv_8_timer_list_timer_list);
385 50 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_END"} */
386 :
387 : /* Exit function at a terminal state */
388 : /* End of the process */
389 : /* LDV {"comment": "End of control function based on process 'del_timer_sync'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_del_timer_sync"} */
390 : }
391 :
392 : /* AUX_FUNC ldv_emg_fb_register_client */
393 : int ldv_emg_fb_register_client(struct notifier_block *arg0) {
394 : /* LDV {"comment": "Control function 'fb_register_client'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_fb_register_client"} */
395 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
396 1 : struct notifier_block *ldv_10_struct_notifier_block_struct_notifier_block;
397 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
398 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
399 :
400 4 : if (ldv_undef_int()) {
401 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_notifier_block' callbacks to register."} */
402 1 : ldv_10_struct_notifier_block_struct_notifier_block = arg0;
403 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
404 :
405 : /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register STRUCT_NOTIFIER_BLOCK callbacks."} */
406 2 : ldv_dispatch_register_10_3(ldv_10_struct_notifier_block_struct_notifier_block);
407 : /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
408 :
409 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Fail registration of 'struct_notifier_block' callbacks."} */
410 3 : return ldv_undef_int_negative();
411 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
412 :
413 : /* Exit function at a terminal state */
414 : }
415 : else {
416 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Registration of 'struct_notifier_block' callbacks has been successful."} */
417 1 : return 0;
418 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
419 :
420 : /* Exit function at a terminal state */
421 : }
422 : /* End of the process */
423 : /* LDV {"comment": "End of control function based on process 'fb_register_client'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_fb_register_client"} */
424 : }
425 :
426 : /* AUX_FUNC ldv_emg_mod_timer */
427 : int ldv_emg_mod_timer(struct timer_list *arg0, long unsigned int arg1) {
428 : /* LDV {"comment": "Control function 'mod_timer'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_mod_timer"} */
429 0 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
430 0 : struct timer_list *ldv_9_timer_list_timer_list;
431 0 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
432 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
433 :
434 0 : if (ldv_undef_int()) {
435 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get timer representing structure."} */
436 0 : ldv_9_timer_list_timer_list = arg0;
437 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
438 :
439 : /* LDV {"action": "INSTANCE_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register TIMER callbacks."} */
440 0 : ldv_dispatch_instance_register_9_3(ldv_9_timer_list_timer_list);
441 : /* LDV {"action": "INSTANCE_REGISTER", "type": "DISPATCH_END"} */
442 :
443 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Successfully modified a timer's timeout"} */
444 0 : return 0;
445 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
446 :
447 : /* Exit function at a terminal state */
448 : }
449 : else {
450 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to modify a timer's timeout"} */
451 0 : return ldv_undef_int_negative();
452 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
453 :
454 : /* Exit function at a terminal state */
455 : }
456 : /* End of the process */
457 : /* LDV {"comment": "End of control function based on process 'mod_timer'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_mod_timer"} */
458 : }
459 :
460 : /* AUX_FUNC ldv_insmod_7 */
461 : void ldv_insmod_7(void *arg0) {
462 : /* LDV {"thread": 7, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'insmod(artificial)'", "function": "ldv_insmod_7"} */
463 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
464 1 : void (*ldv_7_exit_default)(void);
465 1 : int (*ldv_7_fb_console_init_default)(void);
466 1 : int ldv_7_ret_default;
467 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
468 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module initialization."} */
469 2 : ldv_free(arg0);
470 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_END"} */
471 :
472 : /* LDV {"action": "FB_CONSOLE_INIT", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the module after insmod with 'fb_console_init' function. Invoke callback fb_console_init from ARTIFICIAL."} */
473 : /* LDV {"type": "CALLBACK", "call": "ldv_7_ret_default = (fb_console_init)();", "comment": "fb_console_init"} */
474 2 : ldv_7_ret_default = ldv_insmod_fb_console_init_7_13(ldv_7_fb_console_init_default);
475 : /* Callback post-call */
476 2 : ldv_7_ret_default = ldv_post_init(ldv_7_ret_default);
477 : /* LDV {"action": "FB_CONSOLE_INIT", "type": "CALL_END"} */
478 :
479 4 : if (ldv_undef_int()) {
480 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize the module."} */
481 2 : ldv_assume(ldv_7_ret_default != 0);
482 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_END"} */
483 :
484 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
485 : /* Skip a non-replicative signal receiving */
486 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
487 :
488 : /* Exit function at a terminal state */
489 1 : return;
490 : }
491 : else {
492 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Module has been initialized."} */
493 2 : ldv_assume(ldv_7_ret_default == 0);
494 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_END"} */
495 :
496 4 : if (ldv_undef_int()) {
497 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_CONSW' callbacks with unknown registration function."} */
498 2 : ldv_dispatch_default_register_3_7_9();
499 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_END"} */
500 :
501 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_DEVICE_ATTRIBUTE' callbacks with unknown registration function."} */
502 2 : ldv_dispatch_default_register_4_7_8();
503 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "DISPATCH_END"} */
504 :
505 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_OBS_KERNEL_PARAM' callbacks with unknown registration function."} */
506 2 : ldv_dispatch_default_register_7_7_7();
507 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "DISPATCH_END"} */
508 :
509 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_OBS_KERNEL_PARAM' callbacks with unknown deregistration function."} */
510 2 : ldv_dispatch_default_deregister_7_7_6();
511 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "DISPATCH_END"} */
512 :
513 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_NOTIFIER_BLOCK' callbacks with unknown deregistration function."} */
514 2 : ldv_dispatch_default_deregister_5_7_5();
515 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "DISPATCH_END"} */
516 :
517 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_DEVICE_ATTRIBUTE' callbacks with unknown deregistration function."} */
518 2 : ldv_dispatch_default_deregister_4_7_4();
519 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "DISPATCH_END"} */
520 :
521 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_CONSW' callbacks with unknown deregistration function."} */
522 2 : ldv_dispatch_default_deregister_3_7_3();
523 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "DISPATCH_END"} */
524 :
525 : }
526 : else {
527 : /* LDV {"action": "NONE", "type": "CONDITION_BEGIN", "comment": "Skip default callbacks registrations and deregistrations."} */
528 : /* LDV {"action": "NONE", "type": "CONDITION_END"} */
529 :
530 : }
531 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
532 : /* Skip a non-replicative signal receiving */
533 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
534 :
535 : /* Exit function at a terminal state */
536 2 : return;
537 : }
538 : /* End of the process */
539 : return;
540 : /* LDV {"comment": "End of control function based on process 'insmod(artificial)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_insmod_7"} */
541 : }
542 :
543 : /* AUX_FUNC_CALLBACK ldv_insmod_fb_console_init_7_13 */
544 : int ldv_insmod_fb_console_init_7_13(int (*arg0)(void)) {
545 3 : return (fb_console_init)();
546 1 : }
547 :
548 : /* AUX_FUNC ldv_main_11 */
549 : void ldv_main_11(void *arg0) {
550 : /* LDV {"thread": 11, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'main(main)'", "function": "ldv_main_11"} */
551 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
552 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
553 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Initialize rule models."} */
554 1 : ldv_initialize();
555 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
556 :
557 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Start environment model scenarios."} */
558 2 : ldv_dispatch_insmod_register_11_3();
559 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_END"} */
560 :
561 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Stop environment model scenarios."} */
562 2 : ldv_dispatch_insmod_deregister_11_2();
563 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_END"} */
564 :
565 : /* LDV {"action": "FINAL", "type": "CONDITION_BEGIN", "comment": "Check rule model state at the exit."} */
566 1 : ldv_check_final_state();
567 1 : ldv_stop();
568 : /* LDV {"action": "FINAL", "type": "CONDITION_END"} */
569 :
570 : /* Exit function at a terminal state */
571 0 : return;
572 : /* End of the process */
573 : return;
574 : /* LDV {"comment": "End of control function based on process 'main(main)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_main_11"} */
575 : }
576 :
577 : /* AUX_FUNC ldv_random_containerless_scenario_1 */
578 : void ldv_random_containerless_scenario_1(void *arg0) {
579 : /* LDV {"thread": 1, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_consw)'", "function": "ldv_random_containerless_scenario_1"} */
580 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
581 1 : int (*ldv_1_callback_con_blank)(struct vc_data *, int, int);
582 : void (*ldv_1_callback_con_bmove)(struct vc_data *, int, int, int, int, int, int);
583 1 : void (*ldv_1_callback_con_clear)(struct vc_data *, int, int, int, int);
584 1 : void (*ldv_1_callback_con_cursor)(struct vc_data *, int);
585 1 : void (*ldv_1_callback_con_deinit)(struct vc_data *);
586 1 : int (*ldv_1_callback_con_font_copy)(struct vc_data *, int);
587 1 : int (*ldv_1_callback_con_font_default)(struct vc_data *, struct console_font *, char *);
588 : int (*ldv_1_callback_con_font_get)(struct vc_data *, struct console_font *);
589 1 : int (*ldv_1_callback_con_font_set)(struct vc_data *, struct console_font *, unsigned int);
590 1 : long unsigned int (*ldv_1_callback_con_getxy)(struct vc_data *, long unsigned int, int *, int *);
591 1 : void (*ldv_1_callback_con_init)(struct vc_data *, int);
592 : void (*ldv_1_callback_con_invert_region)(struct vc_data *, u16 *, int);
593 1 : void (*ldv_1_callback_con_putc)(struct vc_data *, int, int, int);
594 1 : void (*ldv_1_callback_con_putcs)(struct vc_data *, u16 *, int, int, int);
595 1 : int (*ldv_1_callback_con_resize)(struct vc_data *, unsigned int, unsigned int, unsigned int);
596 1 : u16 *(*ldv_1_callback_con_screen_pos)(struct vc_data *, int);
597 1 : int (*ldv_1_callback_con_scroll)(struct vc_data *, int, int, int, int);
598 : int (*ldv_1_callback_con_scrolldelta)(struct vc_data *, int);
599 1 : int (*ldv_1_callback_con_set_origin)(struct vc_data *);
600 1 : int (*ldv_1_callback_con_set_palette)(struct vc_data *, u8 *);
601 1 : char *(*ldv_1_callback_con_startup)(void);
602 1 : int (*ldv_1_callback_con_switch)(struct vc_data *);
603 1 : struct console_font *ldv_1_container_struct_console_font_ptr;
604 1 : struct vc_data *ldv_1_container_struct_vc_data_ptr;
605 1 : int ldv_1_ldv_param_10_1_default;
606 1 : int ldv_1_ldv_param_10_2_default;
607 1 : int ldv_1_ldv_param_10_3_default;
608 1 : int ldv_1_ldv_param_10_4_default;
609 1 : int ldv_1_ldv_param_10_5_default;
610 1 : int ldv_1_ldv_param_10_6_default;
611 1 : int ldv_1_ldv_param_13_1_default;
612 1 : int ldv_1_ldv_param_13_2_default;
613 1 : int ldv_1_ldv_param_13_3_default;
614 1 : int ldv_1_ldv_param_13_4_default;
615 1 : int ldv_1_ldv_param_16_1_default;
616 1 : int ldv_1_ldv_param_20_1_default;
617 1 : char *ldv_1_ldv_param_23_2_default;
618 1 : unsigned int ldv_1_ldv_param_27_2_default;
619 1 : long unsigned int ldv_1_ldv_param_30_1_default;
620 1 : int *ldv_1_ldv_param_30_2_default;
621 1 : int *ldv_1_ldv_param_30_3_default;
622 1 : int ldv_1_ldv_param_33_1_default;
623 1 : short unsigned int *ldv_1_ldv_param_36_1_default;
624 1 : int ldv_1_ldv_param_36_2_default;
625 1 : int ldv_1_ldv_param_39_1_default;
626 1 : int ldv_1_ldv_param_39_2_default;
627 1 : int ldv_1_ldv_param_39_3_default;
628 1 : short unsigned int *ldv_1_ldv_param_42_1_default;
629 1 : int ldv_1_ldv_param_42_2_default;
630 1 : int ldv_1_ldv_param_42_3_default;
631 1 : int ldv_1_ldv_param_42_4_default;
632 1 : unsigned int ldv_1_ldv_param_45_1_default;
633 1 : unsigned int ldv_1_ldv_param_45_2_default;
634 1 : unsigned int ldv_1_ldv_param_45_3_default;
635 1 : int ldv_1_ldv_param_48_1_default;
636 1 : int ldv_1_ldv_param_4_1_default;
637 1 : int ldv_1_ldv_param_4_2_default;
638 1 : int ldv_1_ldv_param_51_1_default;
639 1 : int ldv_1_ldv_param_51_2_default;
640 1 : int ldv_1_ldv_param_51_3_default;
641 1 : int ldv_1_ldv_param_51_4_default;
642 1 : int ldv_1_ldv_param_54_1_default;
643 1 : unsigned char *ldv_1_ldv_param_58_1_default;
644 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
645 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_CONSW callbacks invocations scenario."} */
646 3 : ldv_free(arg0);
647 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
648 1 :
649 1 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
650 4 : ldv_1_container_struct_console_font_ptr = ldv_xmalloc_unknown_size(0);
651 4 : ldv_1_container_struct_vc_data_ptr = ldv_xmalloc_unknown_size(0);
652 1 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
653 1 :
654 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
655 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
656 1 :
657 : /* Jump to a subprocess 'call' initial state */
658 1 : goto ldv_call_1;
659 : /* End of the process */
660 : return;
661 1 :
662 : /* Sbprocess call */
663 : ldv_call_1:
664 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
665 :
666 4 : if (ldv_undef_int()) {
667 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
668 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
669 :
670 2 : switch (ldv_undef_int()) {
671 3 : case 1: {
672 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_switch from consw."} */
673 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_switch))(ldv_1_container_struct_vc_data_ptr);", "comment": "callback"} */
674 2 : ldv_random_containerless_scenario_callback_1_62(ldv_1_callback_con_switch, ldv_1_container_struct_vc_data_ptr);
675 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
676 :
677 1 : break;
678 1 : }
679 3 : case 2: {
680 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_startup from consw."} */
681 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_startup))();", "comment": "callback"} */
682 2 : ldv_random_containerless_scenario_callback_1_61(ldv_1_callback_con_startup);
683 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
684 :
685 1 : break;
686 1 : }
687 3 : case 3: {
688 : /* LDV {"action": "PRE_CALL_58", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
689 3 : ldv_1_ldv_param_58_1_default = ldv_xmalloc_unknown_size(0);
690 : /* LDV {"action": "PRE_CALL_58", "type": "CONDITION_END"} */
691 :
692 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_set_palette from consw."} */
693 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_set_palette))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_58_1_default);", "comment": "callback"} */
694 2 : ldv_random_containerless_scenario_callback_1_58(ldv_1_callback_con_set_palette, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_58_1_default);
695 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
696 :
697 : /* LDV {"action": "POST_CALL_58", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
698 2 : ldv_free(ldv_1_ldv_param_58_1_default);
699 : /* LDV {"action": "POST_CALL_58", "type": "CONDITION_END"} */
700 :
701 1 : break;
702 1 : }
703 3 : case 4: {
704 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_set_origin from consw."} */
705 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_set_origin))(ldv_1_container_struct_vc_data_ptr);", "comment": "callback"} */
706 2 : ldv_random_containerless_scenario_callback_1_57(ldv_1_callback_con_set_origin, ldv_1_container_struct_vc_data_ptr);
707 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
708 :
709 1 : break;
710 1 : }
711 3 : case 5: {
712 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
713 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_END"} */
714 :
715 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_scrolldelta from consw."} */
716 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_scrolldelta))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_54_1_default);", "comment": "callback"} */
717 2 : ldv_random_containerless_scenario_callback_1_54(ldv_1_callback_con_scrolldelta, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_54_1_default);
718 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
719 :
720 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
721 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_END"} */
722 :
723 1 : break;
724 1 : }
725 3 : case 6: {
726 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
727 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_END"} */
728 :
729 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_scroll from consw."} */
730 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_scroll))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_51_1_default, ldv_1_ldv_param_51_2_default, ldv_1_ldv_param_51_3_default, ldv_1_ldv_param_51_4_default);", "comment": "callback"} */
731 2 : ldv_random_containerless_scenario_callback_1_51(ldv_1_callback_con_scroll, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_51_1_default, ldv_1_ldv_param_51_2_default, ldv_1_ldv_param_51_3_default, ldv_1_ldv_param_51_4_default);
732 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
733 :
734 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
735 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_END"} */
736 :
737 1 : break;
738 1 : }
739 3 : case 7: {
740 : /* LDV {"action": "PRE_CALL_48", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
741 : /* LDV {"action": "PRE_CALL_48", "type": "CONDITION_END"} */
742 :
743 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_screen_pos from consw."} */
744 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_screen_pos))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_48_1_default);", "comment": "callback"} */
745 2 : ldv_random_containerless_scenario_callback_1_48(ldv_1_callback_con_screen_pos, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_48_1_default);
746 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
747 :
748 : /* LDV {"action": "POST_CALL_48", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
749 : /* LDV {"action": "POST_CALL_48", "type": "CONDITION_END"} */
750 :
751 1 : break;
752 1 : }
753 3 : case 8: {
754 : /* LDV {"action": "PRE_CALL_45", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
755 : /* LDV {"action": "PRE_CALL_45", "type": "CONDITION_END"} */
756 :
757 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_resize from consw."} */
758 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_resize))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_45_1_default, ldv_1_ldv_param_45_2_default, ldv_1_ldv_param_45_3_default);", "comment": "callback"} */
759 2 : ldv_random_containerless_scenario_callback_1_45(ldv_1_callback_con_resize, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_45_1_default, ldv_1_ldv_param_45_2_default, ldv_1_ldv_param_45_3_default);
760 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
761 :
762 : /* LDV {"action": "POST_CALL_45", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
763 : /* LDV {"action": "POST_CALL_45", "type": "CONDITION_END"} */
764 :
765 1 : break;
766 1 : }
767 3 : case 9: {
768 : /* LDV {"action": "PRE_CALL_42", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
769 3 : ldv_1_ldv_param_42_1_default = ldv_xmalloc_unknown_size(0);
770 : /* LDV {"action": "PRE_CALL_42", "type": "CONDITION_END"} */
771 :
772 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_putcs from consw."} */
773 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_putcs))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_42_1_default, ldv_1_ldv_param_42_2_default, ldv_1_ldv_param_42_3_default, ldv_1_ldv_param_42_4_default);", "comment": "callback"} */
774 2 : ldv_random_containerless_scenario_callback_1_42(ldv_1_callback_con_putcs, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_42_1_default, ldv_1_ldv_param_42_2_default, ldv_1_ldv_param_42_3_default, ldv_1_ldv_param_42_4_default);
775 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
776 :
777 : /* LDV {"action": "POST_CALL_42", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
778 2 : ldv_free(ldv_1_ldv_param_42_1_default);
779 : /* LDV {"action": "POST_CALL_42", "type": "CONDITION_END"} */
780 :
781 1 : break;
782 1 : }
783 3 : case 10: {
784 : /* LDV {"action": "PRE_CALL_39", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
785 : /* LDV {"action": "PRE_CALL_39", "type": "CONDITION_END"} */
786 :
787 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_putc from consw."} */
788 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_putc))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_39_1_default, ldv_1_ldv_param_39_2_default, ldv_1_ldv_param_39_3_default);", "comment": "callback"} */
789 2 : ldv_random_containerless_scenario_callback_1_39(ldv_1_callback_con_putc, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_39_1_default, ldv_1_ldv_param_39_2_default, ldv_1_ldv_param_39_3_default);
790 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
791 :
792 : /* LDV {"action": "POST_CALL_39", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
793 : /* LDV {"action": "POST_CALL_39", "type": "CONDITION_END"} */
794 :
795 1 : break;
796 1 : }
797 3 : case 11: {
798 : /* LDV {"action": "PRE_CALL_36", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
799 3 : ldv_1_ldv_param_36_1_default = ldv_xmalloc_unknown_size(0);
800 : /* LDV {"action": "PRE_CALL_36", "type": "CONDITION_END"} */
801 :
802 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_invert_region from consw."} */
803 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_invert_region))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_36_1_default, ldv_1_ldv_param_36_2_default);", "comment": "callback"} */
804 2 : ldv_random_containerless_scenario_callback_1_36(ldv_1_callback_con_invert_region, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_36_1_default, ldv_1_ldv_param_36_2_default);
805 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
806 :
807 : /* LDV {"action": "POST_CALL_36", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
808 2 : ldv_free(ldv_1_ldv_param_36_1_default);
809 : /* LDV {"action": "POST_CALL_36", "type": "CONDITION_END"} */
810 :
811 1 : break;
812 1 : }
813 3 : case 12: {
814 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
815 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_END"} */
816 :
817 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_init from consw."} */
818 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_init))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_33_1_default);", "comment": "callback"} */
819 2 : ldv_random_containerless_scenario_callback_1_33(ldv_1_callback_con_init, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_33_1_default);
820 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
821 :
822 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
823 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_END"} */
824 :
825 1 : break;
826 1 : }
827 3 : case 13: {
828 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
829 3 : ldv_1_ldv_param_30_2_default = ldv_xmalloc_unknown_size(0);
830 3 : ldv_1_ldv_param_30_3_default = ldv_xmalloc_unknown_size(0);
831 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_END"} */
832 :
833 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_getxy from consw."} */
834 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_getxy))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_30_1_default, ldv_1_ldv_param_30_2_default, ldv_1_ldv_param_30_3_default);", "comment": "callback"} */
835 2 : ldv_random_containerless_scenario_callback_1_30(ldv_1_callback_con_getxy, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_30_1_default, ldv_1_ldv_param_30_2_default, ldv_1_ldv_param_30_3_default);
836 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
837 :
838 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
839 2 : ldv_free(ldv_1_ldv_param_30_2_default);
840 2 : ldv_free(ldv_1_ldv_param_30_3_default);
841 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_END"} */
842 :
843 1 : break;
844 1 : }
845 3 : case 14: {
846 : /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
847 : /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
848 :
849 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_font_set from consw."} */
850 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_set_font))(ldv_1_container_struct_vc_data_ptr, ldv_1_container_struct_console_font_ptr, ldv_1_ldv_param_27_2_default);", "comment": "callback"} */
851 2 : ldv_random_containerless_scenario_callback_1_27(ldv_1_callback_con_font_set, ldv_1_container_struct_vc_data_ptr, ldv_1_container_struct_console_font_ptr, ldv_1_ldv_param_27_2_default);
852 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
853 :
854 : /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
855 : /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
856 :
857 1 : break;
858 1 : }
859 3 : case 15: {
860 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_font_get from consw."} */
861 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_get_font))(ldv_1_container_struct_vc_data_ptr, ldv_1_container_struct_console_font_ptr);", "comment": "callback"} */
862 2 : ldv_random_containerless_scenario_callback_1_26(ldv_1_callback_con_font_get, ldv_1_container_struct_vc_data_ptr, ldv_1_container_struct_console_font_ptr);
863 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
864 :
865 1 : break;
866 1 : }
867 3 : case 16: {
868 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
869 3 : ldv_1_ldv_param_23_2_default = ldv_xmalloc_unknown_size(0);
870 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
871 :
872 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_font_default from consw."} */
873 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_set_def_font))(ldv_1_container_struct_vc_data_ptr, ldv_1_container_struct_console_font_ptr, ldv_1_ldv_param_23_2_default);", "comment": "callback"} */
874 2 : ldv_random_containerless_scenario_callback_1_23(ldv_1_callback_con_font_default, ldv_1_container_struct_vc_data_ptr, ldv_1_container_struct_console_font_ptr, ldv_1_ldv_param_23_2_default);
875 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
876 :
877 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
878 2 : ldv_free(ldv_1_ldv_param_23_2_default);
879 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
880 :
881 1 : break;
882 1 : }
883 3 : case 17: {
884 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
885 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_END"} */
886 :
887 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_font_copy from consw."} */
888 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_copy_font))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_20_1_default);", "comment": "callback"} */
889 2 : ldv_random_containerless_scenario_callback_1_20(ldv_1_callback_con_font_copy, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_20_1_default);
890 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
891 :
892 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
893 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_END"} */
894 :
895 1 : break;
896 1 : }
897 3 : case 18: {
898 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_deinit from consw."} */
899 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_deinit))(ldv_1_container_struct_vc_data_ptr);", "comment": "callback"} */
900 2 : ldv_random_containerless_scenario_callback_1_19(ldv_1_callback_con_deinit, ldv_1_container_struct_vc_data_ptr);
901 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
902 :
903 1 : break;
904 1 : }
905 3 : case 19: {
906 : /* LDV {"action": "PRE_CALL_16", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
907 : /* LDV {"action": "PRE_CALL_16", "type": "CONDITION_END"} */
908 :
909 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_cursor from consw."} */
910 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_cursor))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_16_1_default);", "comment": "callback"} */
911 2 : ldv_random_containerless_scenario_callback_1_16(ldv_1_callback_con_cursor, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_16_1_default);
912 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
913 :
914 : /* LDV {"action": "POST_CALL_16", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
915 : /* LDV {"action": "POST_CALL_16", "type": "CONDITION_END"} */
916 :
917 1 : break;
918 1 : }
919 3 : case 20: {
920 : /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
921 : /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
922 :
923 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_clear from consw."} */
924 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_clear))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_13_1_default, ldv_1_ldv_param_13_2_default, ldv_1_ldv_param_13_3_default, ldv_1_ldv_param_13_4_default);", "comment": "callback"} */
925 2 : ldv_random_containerless_scenario_callback_1_13(ldv_1_callback_con_clear, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_13_1_default, ldv_1_ldv_param_13_2_default, ldv_1_ldv_param_13_3_default, ldv_1_ldv_param_13_4_default);
926 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
927 :
928 : /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
929 : /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
930 :
931 1 : break;
932 1 : }
933 3 : case 21: {
934 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
935 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
936 :
937 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_bmove from consw."} */
938 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_bmove))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_10_1_default, ldv_1_ldv_param_10_2_default, ldv_1_ldv_param_10_3_default, ldv_1_ldv_param_10_4_default, ldv_1_ldv_param_10_5_default, ldv_1_ldv_param_10_6_default);", "comment": "callback"} */
939 2 : ldv_random_containerless_scenario_callback_1_10(ldv_1_callback_con_bmove, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_10_1_default, ldv_1_ldv_param_10_2_default, ldv_1_ldv_param_10_3_default, ldv_1_ldv_param_10_4_default, ldv_1_ldv_param_10_5_default, ldv_1_ldv_param_10_6_default);
940 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
941 :
942 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
943 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
944 :
945 1 : break;
946 1 : }
947 3 : case 22: {
948 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback con_blank from consw."} */
949 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_blank))(ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_4_1_default, ldv_1_ldv_param_4_2_default);", "comment": "callback"} */
950 2 : ldv_random_containerless_scenario_callback_1_4(ldv_1_callback_con_blank, ldv_1_container_struct_vc_data_ptr, ldv_1_ldv_param_4_1_default, ldv_1_ldv_param_4_2_default);
951 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
952 :
953 1 : break;
954 1 : }
955 2 : default: ldv_stop();
956 1 : }
957 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
958 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
959 0 :
960 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
961 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
962 :
963 : /* Jump to a subprocess 'call' initial state */
964 22 : goto ldv_call_1;
965 : }
966 : else {
967 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
968 2 : ldv_free(ldv_1_container_struct_console_font_ptr);
969 2 : ldv_free(ldv_1_container_struct_vc_data_ptr);
970 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
971 :
972 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_CONSW callbacks invocations scenario."} */
973 : /* Skip a non-replicative signal receiving */
974 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
975 :
976 : /* Exit function at a terminal state */
977 1 : return;
978 : }
979 : /* End of the subprocess 'call' */
980 : return;
981 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_consw)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_1"} */
982 : }
983 :
984 : /* AUX_FUNC ldv_random_containerless_scenario_2 */
985 : void ldv_random_containerless_scenario_2(void *arg0) {
986 : /* LDV {"thread": 2, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_device_attribute)'", "function": "ldv_random_containerless_scenario_2"} */
987 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
988 1 : ssize_t (*ldv_2_callback_show)(struct device *, struct device_attribute *, char *);
989 : ssize_t (*ldv_2_callback_store)(struct device *, struct device_attribute *, char *, size_t );
990 1 : struct device_attribute *ldv_2_container_struct_device_attribute;
991 1 : struct device *ldv_2_container_struct_device_ptr;
992 1 : char *ldv_2_ldv_param_10_2_default;
993 1 : long unsigned int ldv_2_ldv_param_10_3_default;
994 1 : char *ldv_2_ldv_param_4_2_default;
995 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
996 1 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
997 3 : ldv_free(arg0);
998 1 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "RECEIVE_END"} */
999 1 :
1000 1 : /* LDV {"action": "DEFAULT_ALLOC_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
1001 3 : ldv_2_container_struct_device_attribute = ldv_xmalloc_unknown_size(0);
1002 3 : ldv_2_container_struct_device_ptr = ldv_xmalloc_unknown_size(0);
1003 : /* LDV {"action": "DEFAULT_ALLOC_4", "type": "CONDITION_END"} */
1004 :
1005 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1006 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1007 :
1008 : /* Jump to a subprocess 'call' initial state */
1009 1 : goto ldv_call_2;
1010 : /* End of the process */
1011 : return;
1012 1 :
1013 : /* Sbprocess call */
1014 : ldv_call_2:
1015 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1016 :
1017 4 : if (ldv_undef_int()) {
1018 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1019 3 : ldv_2_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
1020 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
1021 :
1022 4 : if (ldv_undef_int()) {
1023 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1024 3 : ldv_2_ldv_param_10_2_default = ldv_xmalloc_unknown_size(0);
1025 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
1026 :
1027 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback store from device_attribute."} */
1028 : /* LDV {"type": "CALLBACK", "call": "((& store_rotate_all))(ldv_2_container_struct_device_ptr, ldv_2_container_struct_device_attribute, ldv_2_ldv_param_10_2_default, ldv_2_ldv_param_10_3_default);", "comment": "callback"} */
1029 2 : ldv_random_containerless_scenario_callback_2_10(ldv_2_callback_store, ldv_2_container_struct_device_ptr, ldv_2_container_struct_device_attribute, ldv_2_ldv_param_10_2_default, ldv_2_ldv_param_10_3_default);
1030 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1031 :
1032 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1033 2 : ldv_free(ldv_2_ldv_param_10_2_default);
1034 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
1035 :
1036 : }
1037 : else {
1038 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show from device_attribute."} */
1039 : /* LDV {"type": "CALLBACK", "call": "((& show_cursor_blink))(ldv_2_container_struct_device_ptr, ldv_2_container_struct_device_attribute, ldv_2_ldv_param_4_2_default);", "comment": "callback"} */
1040 2 : ldv_random_containerless_scenario_callback_2_4(ldv_2_callback_show, ldv_2_container_struct_device_ptr, ldv_2_container_struct_device_attribute, ldv_2_ldv_param_4_2_default);
1041 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1042 :
1043 : }
1044 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1045 4 : ldv_free(ldv_2_ldv_param_4_2_default);
1046 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
1047 :
1048 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1049 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1050 :
1051 : /* Jump to a subprocess 'call' initial state */
1052 1 : goto ldv_call_2;
1053 : }
1054 : else {
1055 : /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
1056 2 : ldv_free(ldv_2_container_struct_device_attribute);
1057 2 : ldv_free(ldv_2_container_struct_device_ptr);
1058 : /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
1059 :
1060 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
1061 : /* Skip a non-replicative signal receiving */
1062 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
1063 :
1064 : /* Exit function at a terminal state */
1065 1 : return;
1066 : }
1067 : /* End of the subprocess 'call' */
1068 : return;
1069 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_device_attribute)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_2"} */
1070 : }
1071 :
1072 : /* AUX_FUNC ldv_random_containerless_scenario_3 */
1073 : void ldv_random_containerless_scenario_3(void *arg0) {
1074 : /* LDV {"thread": 3, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_device_attribute)'", "function": "ldv_random_containerless_scenario_3"} */
1075 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1076 1 : ssize_t (*ldv_3_callback_show)(struct device *, struct device_attribute *, char *);
1077 : ssize_t (*ldv_3_callback_store)(struct device *, struct device_attribute *, char *, size_t );
1078 1 : struct device_attribute *ldv_3_container_struct_device_attribute;
1079 1 : struct device *ldv_3_container_struct_device_ptr;
1080 1 : char *ldv_3_ldv_param_10_2_default;
1081 1 : long unsigned int ldv_3_ldv_param_10_3_default;
1082 1 : char *ldv_3_ldv_param_4_2_default;
1083 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1084 1 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
1085 3 : ldv_free(arg0);
1086 1 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "RECEIVE_END"} */
1087 1 :
1088 1 : /* LDV {"action": "DEFAULT_ALLOC_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
1089 3 : ldv_3_container_struct_device_attribute = ldv_xmalloc_unknown_size(0);
1090 3 : ldv_3_container_struct_device_ptr = ldv_xmalloc_unknown_size(0);
1091 : /* LDV {"action": "DEFAULT_ALLOC_4", "type": "CONDITION_END"} */
1092 :
1093 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1094 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1095 :
1096 : /* Jump to a subprocess 'call' initial state */
1097 1 : goto ldv_call_3;
1098 : /* End of the process */
1099 : return;
1100 1 :
1101 : /* Sbprocess call */
1102 : ldv_call_3:
1103 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1104 :
1105 4 : if (ldv_undef_int()) {
1106 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1107 3 : ldv_3_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
1108 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
1109 :
1110 4 : if (ldv_undef_int()) {
1111 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1112 3 : ldv_3_ldv_param_10_2_default = ldv_xmalloc_unknown_size(0);
1113 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
1114 :
1115 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback store from device_attribute."} */
1116 : /* LDV {"type": "CALLBACK", "call": "((& store_rotate))(ldv_3_container_struct_device_ptr, ldv_3_container_struct_device_attribute, ldv_3_ldv_param_10_2_default, ldv_3_ldv_param_10_3_default);", "comment": "callback"} */
1117 2 : ldv_random_containerless_scenario_callback_3_10(ldv_3_callback_store, ldv_3_container_struct_device_ptr, ldv_3_container_struct_device_attribute, ldv_3_ldv_param_10_2_default, ldv_3_ldv_param_10_3_default);
1118 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1119 :
1120 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1121 2 : ldv_free(ldv_3_ldv_param_10_2_default);
1122 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
1123 :
1124 : }
1125 : else {
1126 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show from device_attribute."} */
1127 : /* LDV {"type": "CALLBACK", "call": "((& show_rotate))(ldv_3_container_struct_device_ptr, ldv_3_container_struct_device_attribute, ldv_3_ldv_param_4_2_default);", "comment": "callback"} */
1128 2 : ldv_random_containerless_scenario_callback_3_4(ldv_3_callback_show, ldv_3_container_struct_device_ptr, ldv_3_container_struct_device_attribute, ldv_3_ldv_param_4_2_default);
1129 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1130 :
1131 : }
1132 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1133 4 : ldv_free(ldv_3_ldv_param_4_2_default);
1134 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
1135 :
1136 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1137 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1138 :
1139 : /* Jump to a subprocess 'call' initial state */
1140 1 : goto ldv_call_3;
1141 : }
1142 : else {
1143 : /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
1144 2 : ldv_free(ldv_3_container_struct_device_attribute);
1145 2 : ldv_free(ldv_3_container_struct_device_ptr);
1146 : /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
1147 :
1148 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
1149 : /* Skip a non-replicative signal receiving */
1150 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
1151 :
1152 : /* Exit function at a terminal state */
1153 1 : return;
1154 : }
1155 : /* End of the subprocess 'call' */
1156 : return;
1157 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_device_attribute)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_3"} */
1158 : }
1159 :
1160 : /* AUX_FUNC ldv_random_containerless_scenario_4 */
1161 : void ldv_random_containerless_scenario_4(void *arg0) {
1162 : /* LDV {"thread": 4, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_notifier_block)'", "function": "ldv_random_containerless_scenario_4"} */
1163 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1164 1 : int (*ldv_4_callback_notifier_call)(struct notifier_block *, long unsigned int, void *);
1165 1 : struct notifier_block *ldv_4_container_struct_notifier_block;
1166 1 : long unsigned int ldv_4_ldv_param_4_1_default;
1167 1 : void *ldv_4_ldv_param_4_2_default;
1168 1 : /* Received labels */
1169 1 : struct ldv_struct_random_containerless_scenario_4 *data = (struct ldv_struct_random_containerless_scenario_4*) arg0;
1170 :
1171 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1172 : /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_NOTIFIER_BLOCK callbacks invocations scenario."} */
1173 : /* Assign recieved labels */
1174 2 : if (data) {
1175 1 : ldv_4_container_struct_notifier_block = data->arg0;
1176 2 : ldv_free(data);
1177 : }
1178 : /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
1179 :
1180 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1181 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1182 :
1183 : /* Jump to a subprocess 'call' initial state */
1184 2 : goto ldv_call_4;
1185 : /* End of the process */
1186 : return;
1187 1 :
1188 : /* Sbprocess call */
1189 : ldv_call_4:
1190 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1191 :
1192 4 : if (ldv_undef_int()) {
1193 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1194 2 : ldv_4_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
1195 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
1196 :
1197 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback notifier_call from notifier_block."} */
1198 : /* LDV {"type": "CALLBACK", "call": "((& fbcon_event_notify))(ldv_4_container_struct_notifier_block, ldv_4_ldv_param_4_1_default, ldv_4_ldv_param_4_2_default);", "comment": "callback"} */
1199 2 : ldv_random_containerless_scenario_callback_4_4(ldv_4_callback_notifier_call, ldv_4_container_struct_notifier_block, ldv_4_ldv_param_4_1_default, ldv_4_ldv_param_4_2_default);
1200 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1201 :
1202 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1203 2 : ldv_free(ldv_4_ldv_param_4_2_default);
1204 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
1205 :
1206 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1207 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1208 :
1209 : /* Jump to a subprocess 'call' initial state */
1210 1 : goto ldv_call_4;
1211 : }
1212 : else {
1213 : /* LDV {"action": "DEFAULT_FREE_5", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
1214 2 : ldv_free(ldv_4_container_struct_notifier_block);
1215 : /* LDV {"action": "DEFAULT_FREE_5", "type": "CONDITION_END"} */
1216 :
1217 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_NOTIFIER_BLOCK callbacks invocations scenario."} */
1218 : /* Skip a non-replicative signal receiving */
1219 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "RECEIVE_END"} */
1220 :
1221 : /* Exit function at a terminal state */
1222 1 : return;
1223 : }
1224 : /* End of the subprocess 'call' */
1225 : return;
1226 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_notifier_block)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_4"} */
1227 : }
1228 :
1229 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_10 */
1230 : void ldv_random_containerless_scenario_callback_1_10(void (*arg0)(struct vc_data *, int, int, int, int, int, int), struct vc_data *arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7) {
1231 3 : ((& fbcon_bmove))(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
1232 1 : }
1233 :
1234 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_13 */
1235 : void ldv_random_containerless_scenario_callback_1_13(void (*arg0)(struct vc_data *, int, int, int, int), struct vc_data *arg1, int arg2, int arg3, int arg4, int arg5) {
1236 4 : ((& fbcon_clear))(arg1, arg2, arg3, arg4, arg5);
1237 1 : }
1238 :
1239 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_16 */
1240 : void ldv_random_containerless_scenario_callback_1_16(void (*arg0)(struct vc_data *, int), struct vc_data *arg1, int arg2) {
1241 3 : ((& fbcon_cursor))(arg1, arg2);
1242 1 : }
1243 :
1244 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_19 */
1245 : void ldv_random_containerless_scenario_callback_1_19(void (*arg0)(struct vc_data *), struct vc_data *arg1) {
1246 4 : ((& fbcon_deinit))(arg1);
1247 1 : }
1248 :
1249 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_20 */
1250 : void ldv_random_containerless_scenario_callback_1_20(int (*arg0)(struct vc_data *, int), struct vc_data *arg1, int arg2) {
1251 3 : ((& fbcon_copy_font))(arg1, arg2);
1252 1 : }
1253 :
1254 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_23 */
1255 : void ldv_random_containerless_scenario_callback_1_23(int (*arg0)(struct vc_data *, struct console_font *, char *), struct vc_data *arg1, struct console_font *arg2, char *arg3) {
1256 3 : ((& fbcon_set_def_font))(arg1, arg2, arg3);
1257 1 : }
1258 :
1259 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_26 */
1260 : void ldv_random_containerless_scenario_callback_1_26(int (*arg0)(struct vc_data *, struct console_font *), struct vc_data *arg1, struct console_font *arg2) {
1261 6 : ((& fbcon_get_font))(arg1, arg2);
1262 1 : }
1263 :
1264 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_27 */
1265 : void ldv_random_containerless_scenario_callback_1_27(int (*arg0)(struct vc_data *, struct console_font *, unsigned int), struct vc_data *arg1, struct console_font *arg2, unsigned int arg3) {
1266 5 : ((& fbcon_set_font))(arg1, arg2, arg3);
1267 1 : }
1268 :
1269 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_30 */
1270 : void ldv_random_containerless_scenario_callback_1_30(long unsigned int (*arg0)(struct vc_data *, long unsigned int, int *, int *), struct vc_data *arg1, long unsigned int arg2, int *arg3, int *arg4) {
1271 2 : ((& fbcon_getxy))(arg1, arg2, arg3, arg4);
1272 1 : }
1273 :
1274 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_33 */
1275 : void ldv_random_containerless_scenario_callback_1_33(void (*arg0)(struct vc_data *, int), struct vc_data *arg1, int arg2) {
1276 7 : ((& fbcon_init))(arg1, arg2);
1277 1 : }
1278 :
1279 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_36 */
1280 : void ldv_random_containerless_scenario_callback_1_36(void (*arg0)(struct vc_data *, u16 *, int), struct vc_data *arg1, short unsigned int *arg2, int arg3) {
1281 2 : ((& fbcon_invert_region))(arg1, arg2, arg3);
1282 1 : }
1283 :
1284 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_39 */
1285 : void ldv_random_containerless_scenario_callback_1_39(void (*arg0)(struct vc_data *, int, int, int), struct vc_data *arg1, int arg2, int arg3, int arg4) {
1286 2 : ((& fbcon_putc))(arg1, arg2, arg3, arg4);
1287 1 : }
1288 :
1289 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_4 */
1290 : void ldv_random_containerless_scenario_callback_1_4(int (*arg0)(struct vc_data *, int, int), struct vc_data *arg1, int arg2, int arg3) {
1291 5 : ((& fbcon_blank))(arg1, arg2, arg3);
1292 1 : }
1293 :
1294 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_42 */
1295 : void ldv_random_containerless_scenario_callback_1_42(void (*arg0)(struct vc_data *, u16 *, int, int, int), struct vc_data *arg1, short unsigned int *arg2, int arg3, int arg4, int arg5) {
1296 3 : ((& fbcon_putcs))(arg1, arg2, arg3, arg4, arg5);
1297 1 : }
1298 :
1299 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_45 */
1300 : void ldv_random_containerless_scenario_callback_1_45(int (*arg0)(struct vc_data *, unsigned int, unsigned int, unsigned int), struct vc_data *arg1, unsigned int arg2, unsigned int arg3, unsigned int arg4) {
1301 4 : ((& fbcon_resize))(arg1, arg2, arg3, arg4);
1302 1 : }
1303 :
1304 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_48 */
1305 : void ldv_random_containerless_scenario_callback_1_48(u16 *(*arg0)(struct vc_data *, int), struct vc_data *arg1, int arg2) {
1306 2 : ((& fbcon_screen_pos))(arg1, arg2);
1307 1 : }
1308 :
1309 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_51 */
1310 : void ldv_random_containerless_scenario_callback_1_51(int (*arg0)(struct vc_data *, int, int, int, int), struct vc_data *arg1, int arg2, int arg3, int arg4, int arg5) {
1311 14 : ((& fbcon_scroll))(arg1, arg2, arg3, arg4, arg5);
1312 1 : }
1313 :
1314 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_54 */
1315 : void ldv_random_containerless_scenario_callback_1_54(int (*arg0)(struct vc_data *, int), struct vc_data *arg1, int arg2) {
1316 6 : ((& fbcon_scrolldelta))(arg1, arg2);
1317 1 : }
1318 :
1319 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_57 */
1320 : void ldv_random_containerless_scenario_callback_1_57(int (*arg0)(struct vc_data *), struct vc_data *arg1) {
1321 3 : ((& fbcon_set_origin))(arg1);
1322 1 : }
1323 :
1324 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_58 */
1325 : void ldv_random_containerless_scenario_callback_1_58(int (*arg0)(struct vc_data *, u8 *), struct vc_data *arg1, unsigned char *arg2) {
1326 3 : ((& fbcon_set_palette))(arg1, arg2);
1327 1 : }
1328 :
1329 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_61 */
1330 : void ldv_random_containerless_scenario_callback_1_61(char *(*arg0)(void)) {
1331 6 : ((& fbcon_startup))();
1332 1 : }
1333 :
1334 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_1_62 */
1335 : void ldv_random_containerless_scenario_callback_1_62(int (*arg0)(struct vc_data *), struct vc_data *arg1) {
1336 2 : ((& fbcon_switch))(arg1);
1337 1 : }
1338 :
1339 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_2_10 */
1340 : void ldv_random_containerless_scenario_callback_2_10(ssize_t (*arg0)(struct device *, struct device_attribute *, char *, size_t ), struct device *arg1, struct device_attribute *arg2, char *arg3, long unsigned int arg4) {
1341 3 : ((& store_rotate_all))(arg1, arg2, arg3, arg4);
1342 1 : }
1343 :
1344 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_2_4 */
1345 : void ldv_random_containerless_scenario_callback_2_4(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
1346 2 : ((& show_cursor_blink))(arg1, arg2, arg3);
1347 1 : }
1348 :
1349 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_10 */
1350 : void ldv_random_containerless_scenario_callback_3_10(ssize_t (*arg0)(struct device *, struct device_attribute *, char *, size_t ), struct device *arg1, struct device_attribute *arg2, char *arg3, long unsigned int arg4) {
1351 3 : ((& store_rotate))(arg1, arg2, arg3, arg4);
1352 1 : }
1353 :
1354 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_4 */
1355 : void ldv_random_containerless_scenario_callback_3_4(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
1356 3 : ((& show_rotate))(arg1, arg2, arg3);
1357 1 : }
1358 :
1359 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_4 */
1360 : void ldv_random_containerless_scenario_callback_4_4(int (*arg0)(struct notifier_block *, long unsigned int, void *), struct notifier_block *arg1, long unsigned int arg2, void *arg3) {
1361 14 : ((& fbcon_event_notify))(arg1, arg2, arg3);
1362 1 : }
1363 :
1364 : /* AUX_FUNC ldv_timer_scenario_6 */
1365 : void ldv_timer_scenario_6(void *arg0) {
1366 : /* LDV {"thread": 6, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'timer_scenario(timer)'", "function": "ldv_timer_scenario_6"} */
1367 0 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1368 0 : struct timer_list *ldv_6_container_timer_list;
1369 : /* Received labels */
1370 0 : struct ldv_struct_timer_scenario_6 *data = (struct ldv_struct_timer_scenario_6*) arg0;
1371 :
1372 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1373 : /* LDV {"action": "INSTANCE_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin TIMER callbacks invocations scenario."} */
1374 : /* Assign recieved labels */
1375 0 : if (data) {
1376 0 : ldv_6_container_timer_list = data->arg0;
1377 0 : ldv_free(data);
1378 : }
1379 : /* LDV {"action": "INSTANCE_REGISTER", "type": "RECEIVE_END"} */
1380 :
1381 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Time has come: call the timer callback. Invoke callback callback from TIMER."} */
1382 : /* Callback pre-call */
1383 0 : ldv_switch_to_interrupt_context();
1384 0 : if (ldv_6_container_timer_list->function) {
1385 : /* LDV {"type": "CALLBACK", "call": "(ldv_6_container_timer_list->function)(ldv_6_container_timer_list->data);", "comment": "callback"} */
1386 0 : ldv_timer_scenario_callback_6_2(ldv_6_container_timer_list->function, ldv_6_container_timer_list->data);
1387 : }
1388 : /* Callback post-call */
1389 0 : ldv_switch_to_process_context();
1390 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1391 :
1392 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish TIMER callbacks invocations scenario."} */
1393 : /* Skip a non-replicative signal receiving */
1394 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "RECEIVE_END"} */
1395 :
1396 : /* Exit function at a terminal state */
1397 0 : return;
1398 : /* End of the process */
1399 : return;
1400 : /* LDV {"comment": "End of control function based on process 'timer_scenario(timer)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_timer_scenario_6"} */
1401 : }
1402 :
1403 : /* AUX_FUNC_CALLBACK ldv_timer_scenario_callback_6_2 */
1404 : void ldv_timer_scenario_callback_6_2(void (*arg0)(unsigned long), unsigned long arg1) {
1405 0 : (*arg0)(arg1);
1406 0 : }
1407 :
1408 : /* AUX_FUNC main */
1409 : int main() {
1410 1 : ldv_main_11(0);
1411 0 : return 0;
1412 : }
1413 :
1414 :
1415 : /* AUX_FUNC ERR_PTR */
1416 : static inline void *ERR_PTR (long int error)
1417 : {
1418 :
1419 : return ldv_err_ptr(error);
1420 : }
1421 :
1422 : /* AUX_FUNC PTR_ERR */
1423 : static inline long int PTR_ERR (void const *ptr)
1424 : {
1425 1 :
1426 3 : return ldv_ptr_err(ptr);
1427 : }
1428 :
1429 : /* AUX_FUNC IS_ERR */
1430 : static inline long int IS_ERR (void const *ptr)
1431 : {
1432 1 :
1433 3 : return ldv_is_err(ptr);
1434 : }
1435 :
1436 : /* AUX_FUNC IS_ERR_OR_NULL */
1437 : static inline long int IS_ERR_OR_NULL (void const *ptr)
1438 : {
1439 :
1440 : return ldv_is_err_or_null(ptr);
1441 : }
1442 :
1443 : /* AUX_FUNC ldv_del_timer_sync_5 */
1444 : int ldv_del_timer_sync_5 (struct timer_list *ldv_func_arg1)
1445 : {
1446 :
1447 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'del_timer_sync'"} */
1448 : return ldv_emg_del_timer_sync(ldv_func_arg1);
1449 : }
1450 :
1451 : /* AUX_FUNC kzalloc */
1452 : static inline void *kzalloc (size_t size, gfp_t flags)
1453 : {
1454 5 :
1455 15 : return ldv_kzalloc(size, flags);
1456 : }
1457 :
1458 : /* AUX_FUNC ldv_dev_get_drvdata_7 */
1459 : void *ldv_dev_get_drvdata_7 (struct device const *dev)
1460 : {
1461 :
1462 : return ldv_dev_get_drvdata(dev);
1463 : }
1464 :
1465 : /* AUX_FUNC ldv_dev_get_drvdata_8 */
1466 : void *ldv_dev_get_drvdata_8 (struct device const *dev)
1467 : {
1468 :
1469 : return ldv_dev_get_drvdata(dev);
1470 : }
1471 :
1472 : /* AUX_FUNC ldv_dev_get_drvdata_9 */
1473 : void *ldv_dev_get_drvdata_9 (struct device const *dev)
1474 : {
1475 :
1476 : return ldv_dev_get_drvdata(dev);
1477 : }
1478 :
1479 : /* AUX_FUNC ldv_mod_timer_10 */
1480 : int ldv_mod_timer_10 (struct timer_list *ldv_func_arg1, long unsigned int ldv_func_arg2)
1481 : {
1482 0 :
1483 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'mod_timer'"} */
1484 0 : return ldv_emg_mod_timer(ldv_func_arg1, ldv_func_arg2);
1485 : }
1486 :
1487 : /* AUX_FUNC ldv_del_timer_sync_11 */
1488 : int ldv_del_timer_sync_11 (struct timer_list *ldv_func_arg1)
1489 : {
1490 50 :
1491 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'del_timer_sync'"} */
1492 150 : return ldv_emg_del_timer_sync(ldv_func_arg1);
1493 : }
1494 :
1495 : /* AUX_FUNC ldv_fb_register_client_12 */
1496 : int ldv_fb_register_client_12 (struct notifier_block *ldv_func_arg1)
1497 : {
1498 1 :
1499 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'fb_register_client'"} */
1500 4 : return ldv_emg_fb_register_client(ldv_func_arg1);
1501 : }
|