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/cdev.h>
29 : #include <linux/miscdevice.h>
30 : #include <linux/fs.h>
31 : #include <linux/pagemap.h>
32 :
33 :
34 : struct ldv_struct_insmod_10 {
35 : int signal_pending;
36 : };
37 1 :
38 : struct ldv_struct_random_containerless_scenario_9 {
39 : struct file_system_type *arg0;
40 : int signal_pending;
41 : };
42 :
43 : /* EMG Function declarations */
44 : extern void ldv_character_driver_scenario_1(void *);
45 : int ldv_character_driver_scenario_probe_1_13(int (*)(struct inode *, struct file *), struct inode *, struct file *);
46 : void ldv_character_driver_scenario_write_1_4(ssize_t (*)(struct file *, char *, long unsigned int, loff_t *), struct file *, char *, long unsigned int, loff_t *);
47 : void ldv_dispatch_default_deregister_1_10_4(void);
48 : void ldv_dispatch_default_deregister_2_10_5(void);
49 : void ldv_dispatch_default_deregister_3_10_6(void);
50 : void ldv_dispatch_default_deregister_4_10_7(void);
51 : void ldv_dispatch_default_deregister_5_10_8(void);
52 : void ldv_dispatch_default_register_1_10_13(void);
53 : void ldv_dispatch_default_register_2_10_12(void);
54 : void ldv_dispatch_default_register_3_10_11(void);
55 : void ldv_dispatch_default_register_4_10_10(void);
56 : void ldv_dispatch_default_register_5_10_9(void);
57 : void ldv_dispatch_deregister_11_1(struct file_system_type *);
58 : void ldv_dispatch_insmod_deregister_13_2(void);
59 : void ldv_dispatch_insmod_register_13_3(void);
60 : void ldv_dispatch_register_12_3(struct file_system_type *);
61 : int ldv_emg_register_filesystem(struct file_system_type *);
62 : int ldv_emg_unregister_filesystem(struct file_system_type *);
63 : void ldv_insmod_10(void *);
64 : void ldv_insmod_exit_iso9660_fs_10_2(void (*)(void));
65 : int ldv_insmod_init_iso9660_fs_10_17(int (*)(void));
66 : void ldv_main_13(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_5(void *);
71 : void ldv_random_containerless_scenario_6(void *);
72 : void ldv_random_containerless_scenario_7(void *);
73 : void ldv_random_containerless_scenario_8(void *);
74 : void ldv_random_containerless_scenario_9(void *);
75 : extern void ldv_random_containerless_scenario_callback_2_10(int (*)(struct file *, struct page *), struct file *, struct page *);
76 : void ldv_random_containerless_scenario_callback_2_11(void (*)(struct page *), struct page *);
77 : void ldv_random_containerless_scenario_callback_2_4(sector_t (*)(struct address_space *, sector_t ), struct address_space *, long unsigned int);
78 : void ldv_random_containerless_scenario_callback_3_10(int (*)(struct dentry *, struct qstr *), struct dentry *, struct qstr *);
79 : void ldv_random_containerless_scenario_callback_3_4(int (*)(struct dentry *, struct qstr *, struct qstr *), struct dentry *, struct qstr *, struct qstr *);
80 : void ldv_random_containerless_scenario_callback_4_10(int (*)(struct dentry *, struct qstr *), struct dentry *, struct qstr *);
81 : void ldv_random_containerless_scenario_callback_4_4(int (*)(struct dentry *, struct qstr *, struct qstr *), struct dentry *, struct qstr *, struct qstr *);
82 : void ldv_random_containerless_scenario_callback_5_10(int (*)(struct dentry *, struct qstr *), struct dentry *, struct qstr *);
83 : void ldv_random_containerless_scenario_callback_5_4(int (*)(struct dentry *, struct qstr *, struct qstr *), struct dentry *, struct qstr *, struct qstr *);
84 : void ldv_random_containerless_scenario_callback_6_10(int (*)(struct dentry *, struct qstr *), struct dentry *, struct qstr *);
85 : void ldv_random_containerless_scenario_callback_6_4(int (*)(struct dentry *, struct qstr *, struct qstr *), struct dentry *, struct qstr *, struct qstr *);
86 : extern void ldv_random_containerless_scenario_callback_7_10(struct dentry *(*)(struct super_block *, struct fid *, int, int), struct super_block *, struct fid *, int, int);
87 : extern void ldv_random_containerless_scenario_callback_7_13(struct dentry *(*)(struct super_block *, struct fid *, int, int), struct super_block *, struct fid *, int, int);
88 : extern void ldv_random_containerless_scenario_callback_7_16(struct dentry *(*)(struct dentry *), struct dentry *);
89 : extern void ldv_random_containerless_scenario_callback_7_4(int (*)(struct dentry *, __u32 *, s32 *, int), struct dentry *, __u32 *, s32 *, int);
90 : extern void ldv_random_containerless_scenario_callback_8_4(struct dentry *(*)(struct inode *, struct dentry *, struct nameidata *), struct inode *, struct dentry *, struct nameidata *);
91 : void ldv_random_containerless_scenario_callback_9_10(void (*)(struct super_block *), struct super_block *);
92 : void ldv_random_containerless_scenario_callback_9_11(void (*)(struct super_block *), struct super_block *);
93 : void ldv_random_containerless_scenario_callback_9_12(int (*)(struct super_block *, s32 *, char *), struct super_block *, s32 *, char *);
94 : void ldv_random_containerless_scenario_callback_9_15(int (*)(struct seq_file *, struct vfsmount *), struct seq_file *, struct vfsmount *);
95 : void ldv_random_containerless_scenario_callback_9_16(int (*)(struct dentry *, struct kstatfs *), struct dentry *, struct kstatfs *);
96 : void ldv_random_containerless_scenario_callback_9_3(struct inode *(*)(struct super_block *), struct super_block *);
97 : void ldv_random_containerless_scenario_callback_9_6(void (*)(struct inode *), struct inode *);
98 : void ldv_random_containerless_scenario_callback_9_7(int (*)(struct file_system_type *, int, char *, void *, struct vfsmount *), struct file_system_type *, int, char *, void *, struct vfsmount *);
99 : int main(void);
100 :
101 : /* EMG variable declarations */
102 1 : struct ldv_thread ldv_thread_10;
103 1 : struct ldv_thread ldv_thread_13;
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 1 : struct ldv_thread ldv_thread_8;
111 1 : struct ldv_thread ldv_thread_9;
112 :
113 : /* EMG variable initialization */
114 :
115 : /* EMG function definitions */
116 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_1_13 */
117 : int ldv_character_driver_scenario_probe_1_13(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
118 4 : return (*arg0)(arg1, arg2);
119 : }
120 1 :
121 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_1_4 */
122 : void ldv_character_driver_scenario_write_1_4(ssize_t (*arg0)(struct file *, char *, long unsigned int, loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
123 1 : (*arg0)(arg1, arg2, arg3, arg4);
124 1 : }
125 :
126 : /* AUX_FUNC ldv_dispatch_default_deregister_1_10_4 */
127 : void ldv_dispatch_default_deregister_1_10_4() {
128 : struct ldv_struct_insmod_10 *cf_arg_1;
129 : /* Skip thread join call */
130 1 : return;
131 : }
132 :
133 : /* AUX_FUNC ldv_dispatch_default_deregister_2_10_5 */
134 : void ldv_dispatch_default_deregister_2_10_5() {
135 : struct ldv_struct_insmod_10 *cf_arg_2;
136 : /* Skip thread join call */
137 1 : return;
138 : }
139 :
140 : /* AUX_FUNC ldv_dispatch_default_deregister_3_10_6 */
141 : void ldv_dispatch_default_deregister_3_10_6() {
142 : struct ldv_struct_insmod_10 *cf_arg_3;
143 : struct ldv_struct_insmod_10 *cf_arg_4;
144 : struct ldv_struct_insmod_10 *cf_arg_5;
145 : struct ldv_struct_insmod_10 *cf_arg_6;
146 : /* Skip thread join call */
147 : /* Skip thread join call */
148 : /* Skip thread join call */
149 : /* Skip thread join call */
150 1 : return;
151 : }
152 :
153 : /* AUX_FUNC ldv_dispatch_default_deregister_4_10_7 */
154 : void ldv_dispatch_default_deregister_4_10_7() {
155 : struct ldv_struct_insmod_10 *cf_arg_7;
156 : /* Skip thread join call */
157 1 : return;
158 : }
159 :
160 : /* AUX_FUNC ldv_dispatch_default_deregister_5_10_8 */
161 : void ldv_dispatch_default_deregister_5_10_8() {
162 : struct ldv_struct_insmod_10 *cf_arg_8;
163 : /* Skip thread join call */
164 1 : return;
165 : }
166 :
167 : /* AUX_FUNC ldv_dispatch_default_register_1_10_13 */
168 : void ldv_dispatch_default_register_1_10_13() {
169 : struct ldv_struct_insmod_10 *cf_arg_1;
170 4 : cf_arg_1 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
171 3 : ldv_character_driver_scenario_1(cf_arg_1);
172 1 : return;
173 : }
174 :
175 : /* AUX_FUNC ldv_dispatch_default_register_2_10_12 */
176 : void ldv_dispatch_default_register_2_10_12() {
177 : struct ldv_struct_insmod_10 *cf_arg_2;
178 4 : cf_arg_2 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
179 3 : ldv_random_containerless_scenario_2(cf_arg_2);
180 1 : return;
181 : }
182 :
183 : /* AUX_FUNC ldv_dispatch_default_register_3_10_11 */
184 : void ldv_dispatch_default_register_3_10_11() {
185 : struct ldv_struct_insmod_10 *cf_arg_3;
186 1 : struct ldv_struct_insmod_10 *cf_arg_4;
187 1 : struct ldv_struct_insmod_10 *cf_arg_5;
188 1 : struct ldv_struct_insmod_10 *cf_arg_6;
189 4 : cf_arg_3 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
190 3 : ldv_random_containerless_scenario_3(cf_arg_3);
191 4 : cf_arg_4 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
192 3 : ldv_random_containerless_scenario_4(cf_arg_4);
193 4 : cf_arg_5 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
194 2 : ldv_random_containerless_scenario_5(cf_arg_5);
195 3 : cf_arg_6 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
196 2 : ldv_random_containerless_scenario_6(cf_arg_6);
197 1 : return;
198 : }
199 :
200 : /* AUX_FUNC ldv_dispatch_default_register_4_10_10 */
201 : void ldv_dispatch_default_register_4_10_10() {
202 : struct ldv_struct_insmod_10 *cf_arg_7;
203 4 : cf_arg_7 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
204 3 : ldv_random_containerless_scenario_7(cf_arg_7);
205 1 : return;
206 : }
207 :
208 : /* AUX_FUNC ldv_dispatch_default_register_5_10_9 */
209 : void ldv_dispatch_default_register_5_10_9() {
210 : struct ldv_struct_insmod_10 *cf_arg_8;
211 4 : cf_arg_8 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
212 3 : ldv_random_containerless_scenario_8(cf_arg_8);
213 1 : return;
214 : }
215 :
216 : /* AUX_FUNC ldv_dispatch_deregister_11_1 */
217 : void ldv_dispatch_deregister_11_1(struct file_system_type *arg0) {
218 : struct ldv_struct_random_containerless_scenario_9 *cf_arg_9;
219 : /* Skip thread join call */
220 2 : return;
221 : }
222 :
223 : /* AUX_FUNC ldv_dispatch_insmod_deregister_13_2 */
224 : void ldv_dispatch_insmod_deregister_13_2() {
225 : struct ldv_struct_insmod_10 *cf_arg_10;
226 : /* Skip thread join call */
227 1 : return;
228 : }
229 :
230 : /* AUX_FUNC ldv_dispatch_insmod_register_13_3 */
231 : void ldv_dispatch_insmod_register_13_3() {
232 : struct ldv_struct_insmod_10 *cf_arg_10;
233 4 : cf_arg_10 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
234 4 : ldv_insmod_10(cf_arg_10);
235 1 : return;
236 : }
237 :
238 : /* AUX_FUNC ldv_dispatch_register_12_3 */
239 : void ldv_dispatch_register_12_3(struct file_system_type *arg0) {
240 : struct ldv_struct_random_containerless_scenario_9 *cf_arg_9;
241 4 : cf_arg_9 = ldv_xmalloc(sizeof(struct ldv_struct_random_containerless_scenario_9));
242 2 : cf_arg_9->arg0 = arg0;
243 2 : ldv_random_containerless_scenario_9(cf_arg_9);
244 1 : return;
245 : }
246 :
247 : /* AUX_FUNC ldv_emg_register_filesystem */
248 : int ldv_emg_register_filesystem(struct file_system_type *arg0) {
249 : /* LDV {"comment": "Control function 'register_filesystem'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_register_filesystem"} */
250 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
251 1 : struct file_system_type *ldv_12_struct_file_system_type_struct_file_system_type;
252 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
253 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
254 :
255 4 : if (ldv_undef_int()) {
256 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_super_operations' callbacks to register."} */
257 1 : ldv_12_struct_file_system_type_struct_file_system_type = arg0;
258 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
259 :
260 : /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register STRUCT_SUPER_OPERATIONS callbacks."} */
261 2 : ldv_dispatch_register_12_3(ldv_12_struct_file_system_type_struct_file_system_type);
262 : /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
263 :
264 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Fail registration of 'struct_super_operations' callbacks."} */
265 3 : return ldv_undef_int_negative();
266 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
267 :
268 : /* Exit function at a terminal state */
269 : }
270 : else {
271 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Registration of 'struct_super_operations' callbacks has been successful."} */
272 1 : return 0;
273 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
274 :
275 : /* Exit function at a terminal state */
276 : }
277 : /* End of the process */
278 : /* LDV {"comment": "End of control function based on process 'register_filesystem'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_register_filesystem"} */
279 : }
280 :
281 : /* AUX_FUNC ldv_emg_unregister_filesystem */
282 : int ldv_emg_unregister_filesystem(struct file_system_type *arg0) {
283 : /* LDV {"comment": "Control function 'unregister_filesystem'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_unregister_filesystem"} */
284 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
285 : struct file_system_type *ldv_11_struct_file_system_type_struct_file_system_type;
286 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
287 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_super_operations' callbacks to deregister."} */
288 2 : ldv_11_struct_file_system_type_struct_file_system_type = arg0;
289 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
290 :
291 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister STRUCT_SUPER_OPERATIONS callbacks."} */
292 4 : ldv_dispatch_deregister_11_1(ldv_11_struct_file_system_type_struct_file_system_type);
293 2 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_END"} */
294 :
295 : /* Exit function at a terminal state */
296 : /* End of the process */
297 : /* LDV {"comment": "End of control function based on process 'unregister_filesystem'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_unregister_filesystem"} */
298 : }
299 :
300 : /* AUX_FUNC ldv_insmod_10 */
301 : void ldv_insmod_10(void *arg0) {
302 : /* LDV {"thread": 10, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'insmod(artificial)'", "function": "ldv_insmod_10"} */
303 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
304 1 : void (*ldv_10_exit_iso9660_fs_default)(void);
305 1 : int (*ldv_10_init_iso9660_fs_default)(void);
306 1 : int ldv_10_ret_default;
307 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
308 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module initialization."} */
309 2 : ldv_free(arg0);
310 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_END"} */
311 :
312 : /* LDV {"action": "INIT_ISO9660_FS", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the module after insmod with 'init_iso9660_fs' function. Invoke callback init_iso9660_fs from ARTIFICIAL."} */
313 : /* LDV {"type": "CALLBACK", "call": "ldv_10_ret_default = (init_iso9660_fs)();", "comment": "init_iso9660_fs"} */
314 2 : ldv_10_ret_default = ldv_insmod_init_iso9660_fs_10_17(ldv_10_init_iso9660_fs_default);
315 : /* Callback post-call */
316 2 : ldv_10_ret_default = ldv_post_init(ldv_10_ret_default);
317 : /* LDV {"action": "INIT_ISO9660_FS", "type": "CALL_END"} */
318 :
319 4 : if (ldv_undef_int()) {
320 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize the module."} */
321 2 : ldv_assume(ldv_10_ret_default != 0);
322 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_END"} */
323 :
324 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
325 : /* Skip a non-replicative signal receiving */
326 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
327 :
328 : /* Exit function at a terminal state */
329 1 : return;
330 : }
331 : else {
332 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Module has been initialized."} */
333 2 : ldv_assume(ldv_10_ret_default == 0);
334 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_END"} */
335 :
336 4 : if (ldv_undef_int()) {
337 : /* LDV {"action": "DEFAULT_REGISTER_1", "type": "DISPATCH_BEGIN", "comment": "Register 'FILE_OPERATIONS' callbacks with unknown registration function."} */
338 2 : ldv_dispatch_default_register_1_10_13();
339 : /* LDV {"action": "DEFAULT_REGISTER_1", "type": "DISPATCH_END"} */
340 :
341 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_ADDRESS_SPACE_OPERATIONS' callbacks with unknown registration function."} */
342 2 : ldv_dispatch_default_register_2_10_12();
343 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "DISPATCH_END"} */
344 :
345 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_DENTRY_OPERATIONS' callbacks with unknown registration function."} */
346 2 : ldv_dispatch_default_register_3_10_11();
347 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_END"} */
348 :
349 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_EXPORT_OPERATIONS' callbacks with unknown registration function."} */
350 2 : ldv_dispatch_default_register_4_10_10();
351 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "DISPATCH_END"} */
352 :
353 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_INODE_OPERATIONS' callbacks with unknown registration function."} */
354 2 : ldv_dispatch_default_register_5_10_9();
355 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "DISPATCH_END"} */
356 :
357 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_INODE_OPERATIONS' callbacks with unknown deregistration function."} */
358 2 : ldv_dispatch_default_deregister_5_10_8();
359 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "DISPATCH_END"} */
360 :
361 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_EXPORT_OPERATIONS' callbacks with unknown deregistration function."} */
362 2 : ldv_dispatch_default_deregister_4_10_7();
363 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "DISPATCH_END"} */
364 :
365 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_DENTRY_OPERATIONS' callbacks with unknown deregistration function."} */
366 2 : ldv_dispatch_default_deregister_3_10_6();
367 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "DISPATCH_END"} */
368 :
369 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_ADDRESS_SPACE_OPERATIONS' callbacks with unknown deregistration function."} */
370 2 : ldv_dispatch_default_deregister_2_10_5();
371 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "DISPATCH_END"} */
372 :
373 : /* LDV {"action": "DEFAULT_DEREGISTER_1", "type": "DISPATCH_BEGIN", "comment": "Deregister 'FILE_OPERATIONS' callbacks with unknown deregistration function."} */
374 2 : ldv_dispatch_default_deregister_1_10_4();
375 : /* LDV {"action": "DEFAULT_DEREGISTER_1", "type": "DISPATCH_END"} */
376 :
377 : }
378 : else {
379 : /* LDV {"action": "NONE", "type": "CONDITION_BEGIN", "comment": "Skip default callbacks registrations and deregistrations."} */
380 : /* LDV {"action": "NONE", "type": "CONDITION_END"} */
381 :
382 : }
383 : /* LDV {"action": "EXIT_ISO9660_FS", "type": "CALL_BEGIN", "callback": true, "comment": "Exit the module before its unloading with 'exit_iso9660_fs' function. Invoke callback exit_iso9660_fs from ARTIFICIAL."} */
384 : /* LDV {"type": "CALLBACK", "call": "(exit_iso9660_fs)();", "comment": "exit_iso9660_fs"} */
385 4 : ldv_insmod_exit_iso9660_fs_10_2(ldv_10_exit_iso9660_fs_default);
386 : /* LDV {"action": "EXIT_ISO9660_FS", "type": "CALL_END"} */
387 :
388 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
389 : /* Skip a non-replicative signal receiving */
390 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
391 :
392 : /* Exit function at a terminal state */
393 1 : return;
394 : }
395 : /* End of the process */
396 : return;
397 : /* LDV {"comment": "End of control function based on process 'insmod(artificial)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_insmod_10"} */
398 : }
399 :
400 : /* AUX_FUNC_CALLBACK ldv_insmod_exit_iso9660_fs_10_2 */
401 : void ldv_insmod_exit_iso9660_fs_10_2(void (*arg0)(void)) {
402 4 : (exit_iso9660_fs)();
403 2 : }
404 :
405 : /* AUX_FUNC_CALLBACK ldv_insmod_init_iso9660_fs_10_17 */
406 : int ldv_insmod_init_iso9660_fs_10_17(int (*arg0)(void)) {
407 5 : return (init_iso9660_fs)();
408 1 : }
409 :
410 : /* AUX_FUNC ldv_main_13 */
411 : void ldv_main_13(void *arg0) {
412 : /* LDV {"thread": 13, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'main(main)'", "function": "ldv_main_13"} */
413 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
414 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
415 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Initialize rule models."} */
416 1 : ldv_initialize();
417 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
418 :
419 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Start environment model scenarios."} */
420 2 : ldv_dispatch_insmod_register_13_3();
421 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_END"} */
422 :
423 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Stop environment model scenarios."} */
424 2 : ldv_dispatch_insmod_deregister_13_2();
425 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_END"} */
426 :
427 : /* LDV {"action": "FINAL", "type": "CONDITION_BEGIN", "comment": "Check rule model state at the exit."} */
428 1 : ldv_check_final_state();
429 1 : ldv_stop();
430 : /* LDV {"action": "FINAL", "type": "CONDITION_END"} */
431 :
432 : /* Exit function at a terminal state */
433 0 : return;
434 : /* End of the process */
435 : return;
436 : /* LDV {"comment": "End of control function based on process 'main(main)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_main_13"} */
437 : }
438 :
439 : /* AUX_FUNC ldv_random_containerless_scenario_2 */
440 : void ldv_random_containerless_scenario_2(void *arg0) {
441 : /* LDV {"thread": 2, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_address_space_operations)'", "function": "ldv_random_containerless_scenario_2"} */
442 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
443 1 : sector_t (*ldv_2_callback_bmap)(struct address_space *, sector_t );
444 1 : int (*ldv_2_callback_readpage)(struct file *, struct page *);
445 1 : void (*ldv_2_callback_sync_page)(struct page *);
446 1 : struct address_space *ldv_2_container_struct_address_space_ptr;
447 1 : struct file *ldv_2_container_struct_file_ptr;
448 1 : struct page *ldv_2_container_struct_page_ptr;
449 1 : long unsigned int ldv_2_ldv_param_4_1_default;
450 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
451 1 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_ADDRESS_SPACE_OPERATIONS callbacks invocations scenario."} */
452 3 : ldv_free(arg0);
453 1 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "RECEIVE_END"} */
454 :
455 : /* LDV {"action": "DEFAULT_ALLOC_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
456 3 : ldv_2_container_struct_address_space_ptr = ldv_xmalloc_unknown_size(0);
457 3 : ldv_2_container_struct_file_ptr = ldv_xmalloc_unknown_size(0);
458 3 : ldv_2_container_struct_page_ptr = ldv_xmalloc_unknown_size(0);
459 : /* LDV {"action": "DEFAULT_ALLOC_2", "type": "CONDITION_END"} */
460 :
461 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
462 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
463 :
464 : /* Jump to a subprocess 'call' initial state */
465 1 : goto ldv_call_2;
466 : /* End of the process */
467 : return;
468 1 :
469 : /* Sbprocess call */
470 : ldv_call_2:
471 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
472 :
473 4 : if (ldv_undef_int()) {
474 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
475 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
476 :
477 2 : switch (ldv_undef_int()) {
478 3 : case 1: {
479 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sync_page from address_space_operations."} */
480 : /* LDV {"type": "CALLBACK", "call": "((& block_sync_page))(ldv_2_container_struct_page_ptr);", "comment": "callback"} */
481 2 : ldv_random_containerless_scenario_callback_2_11(ldv_2_callback_sync_page, ldv_2_container_struct_page_ptr);
482 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
483 :
484 1 : break;
485 1 : }
486 3 : case 2: {
487 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readpage from address_space_operations."} */
488 : /* LDV {"type": "CALLBACK", "call": "((& rock_ridge_symlink_readpage))(ldv_2_container_struct_file_ptr, ldv_2_container_struct_page_ptr);", "comment": "callback"} */
489 2 : ldv_random_containerless_scenario_callback_2_10(ldv_2_callback_readpage, ldv_2_container_struct_file_ptr, ldv_2_container_struct_page_ptr);
490 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
491 :
492 1 : break;
493 1 : }
494 3 : case 3: {
495 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback bmap from address_space_operations."} */
496 : /* LDV {"type": "CALLBACK", "call": "((& _isofs_bmap))(ldv_2_container_struct_address_space_ptr, ldv_2_ldv_param_4_1_default);", "comment": "callback"} */
497 2 : ldv_random_containerless_scenario_callback_2_4(ldv_2_callback_bmap, ldv_2_container_struct_address_space_ptr, ldv_2_ldv_param_4_1_default);
498 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
499 :
500 1 : break;
501 1 : }
502 2 : default: ldv_stop();
503 1 : }
504 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
505 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
506 0 :
507 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
508 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
509 :
510 : /* Jump to a subprocess 'call' initial state */
511 3 : goto ldv_call_2;
512 : }
513 : else {
514 : /* LDV {"action": "DEFAULT_FREE_2", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
515 2 : ldv_free(ldv_2_container_struct_address_space_ptr);
516 2 : ldv_free(ldv_2_container_struct_file_ptr);
517 2 : ldv_free(ldv_2_container_struct_page_ptr);
518 : /* LDV {"action": "DEFAULT_FREE_2", "type": "CONDITION_END"} */
519 :
520 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_ADDRESS_SPACE_OPERATIONS callbacks invocations scenario."} */
521 : /* Skip a non-replicative signal receiving */
522 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "RECEIVE_END"} */
523 :
524 : /* Exit function at a terminal state */
525 1 : return;
526 : }
527 : /* End of the subprocess 'call' */
528 : return;
529 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_address_space_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_2"} */
530 : }
531 :
532 : /* AUX_FUNC ldv_random_containerless_scenario_3 */
533 : void ldv_random_containerless_scenario_3(void *arg0) {
534 : /* LDV {"thread": 3, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_dentry_operations)'", "function": "ldv_random_containerless_scenario_3"} */
535 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
536 1 : int (*ldv_3_callback_d_compare)(struct dentry *, struct qstr *, struct qstr *);
537 1 : int (*ldv_3_callback_d_hash)(struct dentry *, struct qstr *);
538 1 : struct dentry *ldv_3_container_struct_dentry_ptr;
539 1 : struct qstr *ldv_3_container_struct_qstr_ptr;
540 1 : struct qstr *ldv_3_ldv_param_4_2_default;
541 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
542 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
543 3 : ldv_free(arg0);
544 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
545 :
546 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
547 3 : ldv_3_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
548 3 : ldv_3_container_struct_qstr_ptr = ldv_xmalloc_unknown_size(0);
549 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
550 :
551 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
552 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
553 :
554 : /* Jump to a subprocess 'call' initial state */
555 1 : goto ldv_call_3;
556 : /* End of the process */
557 : return;
558 1 :
559 : /* Sbprocess call */
560 : ldv_call_3:
561 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
562 :
563 4 : if (ldv_undef_int()) {
564 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
565 3 : ldv_3_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
566 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
567 :
568 4 : if (ldv_undef_int()) {
569 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_hash from dentry_operations."} */
570 : /* LDV {"type": "CALLBACK", "call": "((& isofs_hash))(ldv_3_container_struct_dentry_ptr, ldv_3_container_struct_qstr_ptr);", "comment": "callback"} */
571 2 : ldv_random_containerless_scenario_callback_3_10(ldv_3_callback_d_hash, ldv_3_container_struct_dentry_ptr, ldv_3_container_struct_qstr_ptr);
572 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
573 :
574 : }
575 : else {
576 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_compare from dentry_operations."} */
577 : /* LDV {"type": "CALLBACK", "call": "((& isofs_dentry_cmp))(ldv_3_container_struct_dentry_ptr, ldv_3_container_struct_qstr_ptr, ldv_3_ldv_param_4_2_default);", "comment": "callback"} */
578 2 : ldv_random_containerless_scenario_callback_3_4(ldv_3_callback_d_compare, ldv_3_container_struct_dentry_ptr, ldv_3_container_struct_qstr_ptr, ldv_3_ldv_param_4_2_default);
579 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
580 :
581 : }
582 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
583 4 : ldv_free(ldv_3_ldv_param_4_2_default);
584 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
585 :
586 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
587 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
588 :
589 : /* Jump to a subprocess 'call' initial state */
590 1 : goto ldv_call_3;
591 : }
592 : else {
593 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
594 2 : ldv_free(ldv_3_container_struct_dentry_ptr);
595 2 : ldv_free(ldv_3_container_struct_qstr_ptr);
596 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
597 :
598 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
599 : /* Skip a non-replicative signal receiving */
600 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
601 :
602 : /* Exit function at a terminal state */
603 1 : return;
604 : }
605 : /* End of the subprocess 'call' */
606 : return;
607 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_dentry_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_3"} */
608 : }
609 :
610 : /* AUX_FUNC ldv_random_containerless_scenario_4 */
611 : void ldv_random_containerless_scenario_4(void *arg0) {
612 : /* LDV {"thread": 4, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_dentry_operations)'", "function": "ldv_random_containerless_scenario_4"} */
613 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
614 1 : int (*ldv_4_callback_d_compare)(struct dentry *, struct qstr *, struct qstr *);
615 1 : int (*ldv_4_callback_d_hash)(struct dentry *, struct qstr *);
616 1 : struct dentry *ldv_4_container_struct_dentry_ptr;
617 1 : struct qstr *ldv_4_container_struct_qstr_ptr;
618 1 : struct qstr *ldv_4_ldv_param_4_2_default;
619 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
620 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
621 3 : ldv_free(arg0);
622 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
623 :
624 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
625 3 : ldv_4_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
626 3 : ldv_4_container_struct_qstr_ptr = ldv_xmalloc_unknown_size(0);
627 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
628 :
629 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
630 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
631 :
632 : /* Jump to a subprocess 'call' initial state */
633 1 : goto ldv_call_4;
634 : /* End of the process */
635 : return;
636 1 :
637 : /* Sbprocess call */
638 : ldv_call_4:
639 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
640 :
641 4 : if (ldv_undef_int()) {
642 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
643 3 : ldv_4_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
644 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
645 :
646 4 : if (ldv_undef_int()) {
647 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_hash from dentry_operations."} */
648 : /* LDV {"type": "CALLBACK", "call": "((& isofs_hash_ms))(ldv_4_container_struct_dentry_ptr, ldv_4_container_struct_qstr_ptr);", "comment": "callback"} */
649 2 : ldv_random_containerless_scenario_callback_4_10(ldv_4_callback_d_hash, ldv_4_container_struct_dentry_ptr, ldv_4_container_struct_qstr_ptr);
650 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
651 :
652 : }
653 : else {
654 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_compare from dentry_operations."} */
655 : /* LDV {"type": "CALLBACK", "call": "((& isofs_dentry_cmp_ms))(ldv_4_container_struct_dentry_ptr, ldv_4_container_struct_qstr_ptr, ldv_4_ldv_param_4_2_default);", "comment": "callback"} */
656 2 : ldv_random_containerless_scenario_callback_4_4(ldv_4_callback_d_compare, ldv_4_container_struct_dentry_ptr, ldv_4_container_struct_qstr_ptr, ldv_4_ldv_param_4_2_default);
657 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
658 :
659 : }
660 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
661 4 : ldv_free(ldv_4_ldv_param_4_2_default);
662 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
663 :
664 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
665 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
666 :
667 : /* Jump to a subprocess 'call' initial state */
668 1 : goto ldv_call_4;
669 : }
670 : else {
671 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
672 2 : ldv_free(ldv_4_container_struct_dentry_ptr);
673 2 : ldv_free(ldv_4_container_struct_qstr_ptr);
674 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
675 :
676 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
677 : /* Skip a non-replicative signal receiving */
678 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
679 :
680 : /* Exit function at a terminal state */
681 1 : return;
682 : }
683 : /* End of the subprocess 'call' */
684 : return;
685 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_dentry_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_4"} */
686 : }
687 :
688 : /* AUX_FUNC ldv_random_containerless_scenario_5 */
689 : void ldv_random_containerless_scenario_5(void *arg0) {
690 : /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_dentry_operations)'", "function": "ldv_random_containerless_scenario_5"} */
691 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
692 1 : int (*ldv_5_callback_d_compare)(struct dentry *, struct qstr *, struct qstr *);
693 1 : int (*ldv_5_callback_d_hash)(struct dentry *, struct qstr *);
694 1 : struct dentry *ldv_5_container_struct_dentry_ptr;
695 1 : struct qstr *ldv_5_container_struct_qstr_ptr;
696 1 : struct qstr *ldv_5_ldv_param_4_2_default;
697 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
698 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
699 3 : ldv_free(arg0);
700 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
701 :
702 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
703 3 : ldv_5_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
704 3 : ldv_5_container_struct_qstr_ptr = ldv_xmalloc_unknown_size(0);
705 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
706 :
707 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
708 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
709 :
710 : /* Jump to a subprocess 'call' initial state */
711 1 : goto ldv_call_5;
712 : /* End of the process */
713 : return;
714 1 :
715 : /* Sbprocess call */
716 : ldv_call_5:
717 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
718 :
719 4 : if (ldv_undef_int()) {
720 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
721 3 : ldv_5_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
722 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
723 :
724 4 : if (ldv_undef_int()) {
725 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_hash from dentry_operations."} */
726 : /* LDV {"type": "CALLBACK", "call": "((& isofs_hashi))(ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_qstr_ptr);", "comment": "callback"} */
727 2 : ldv_random_containerless_scenario_callback_5_10(ldv_5_callback_d_hash, ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_qstr_ptr);
728 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
729 :
730 : }
731 : else {
732 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_compare from dentry_operations."} */
733 : /* LDV {"type": "CALLBACK", "call": "((& isofs_dentry_cmpi))(ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_qstr_ptr, ldv_5_ldv_param_4_2_default);", "comment": "callback"} */
734 2 : ldv_random_containerless_scenario_callback_5_4(ldv_5_callback_d_compare, ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_qstr_ptr, ldv_5_ldv_param_4_2_default);
735 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
736 :
737 : }
738 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
739 4 : ldv_free(ldv_5_ldv_param_4_2_default);
740 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
741 :
742 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
743 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
744 :
745 : /* Jump to a subprocess 'call' initial state */
746 1 : goto ldv_call_5;
747 : }
748 : else {
749 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
750 2 : ldv_free(ldv_5_container_struct_dentry_ptr);
751 2 : ldv_free(ldv_5_container_struct_qstr_ptr);
752 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
753 :
754 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
755 : /* Skip a non-replicative signal receiving */
756 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
757 :
758 : /* Exit function at a terminal state */
759 1 : return;
760 : }
761 : /* End of the subprocess 'call' */
762 : return;
763 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_dentry_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_5"} */
764 : }
765 :
766 : /* AUX_FUNC ldv_random_containerless_scenario_6 */
767 : void ldv_random_containerless_scenario_6(void *arg0) {
768 : /* LDV {"thread": 6, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_dentry_operations)'", "function": "ldv_random_containerless_scenario_6"} */
769 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
770 1 : int (*ldv_6_callback_d_compare)(struct dentry *, struct qstr *, struct qstr *);
771 1 : int (*ldv_6_callback_d_hash)(struct dentry *, struct qstr *);
772 1 : struct dentry *ldv_6_container_struct_dentry_ptr;
773 1 : struct qstr *ldv_6_container_struct_qstr_ptr;
774 1 : struct qstr *ldv_6_ldv_param_4_2_default;
775 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
776 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
777 3 : ldv_free(arg0);
778 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
779 :
780 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
781 3 : ldv_6_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
782 3 : ldv_6_container_struct_qstr_ptr = ldv_xmalloc_unknown_size(0);
783 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
784 :
785 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
786 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
787 :
788 : /* Jump to a subprocess 'call' initial state */
789 1 : goto ldv_call_6;
790 : /* End of the process */
791 : return;
792 1 :
793 : /* Sbprocess call */
794 : ldv_call_6:
795 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
796 :
797 4 : if (ldv_undef_int()) {
798 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
799 3 : ldv_6_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
800 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
801 :
802 4 : if (ldv_undef_int()) {
803 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_hash from dentry_operations."} */
804 : /* LDV {"type": "CALLBACK", "call": "((& isofs_hashi_ms))(ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_qstr_ptr);", "comment": "callback"} */
805 2 : ldv_random_containerless_scenario_callback_6_10(ldv_6_callback_d_hash, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_qstr_ptr);
806 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
807 :
808 : }
809 : else {
810 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback d_compare from dentry_operations."} */
811 : /* LDV {"type": "CALLBACK", "call": "((& isofs_dentry_cmpi_ms))(ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_qstr_ptr, ldv_6_ldv_param_4_2_default);", "comment": "callback"} */
812 2 : ldv_random_containerless_scenario_callback_6_4(ldv_6_callback_d_compare, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_qstr_ptr, ldv_6_ldv_param_4_2_default);
813 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
814 :
815 : }
816 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
817 4 : ldv_free(ldv_6_ldv_param_4_2_default);
818 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
819 :
820 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
821 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
822 :
823 : /* Jump to a subprocess 'call' initial state */
824 1 : goto ldv_call_6;
825 : }
826 : else {
827 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
828 2 : ldv_free(ldv_6_container_struct_dentry_ptr);
829 2 : ldv_free(ldv_6_container_struct_qstr_ptr);
830 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
831 :
832 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DENTRY_OPERATIONS callbacks invocations scenario."} */
833 : /* Skip a non-replicative signal receiving */
834 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
835 :
836 : /* Exit function at a terminal state */
837 1 : return;
838 : }
839 : /* End of the subprocess 'call' */
840 : return;
841 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_dentry_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_6"} */
842 : }
843 :
844 : /* AUX_FUNC ldv_random_containerless_scenario_7 */
845 : void ldv_random_containerless_scenario_7(void *arg0) {
846 : /* LDV {"thread": 7, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_export_operations)'", "function": "ldv_random_containerless_scenario_7"} */
847 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
848 1 : int (*ldv_7_callback_encode_fh)(struct dentry *, __u32 *, s32 *, int);
849 : struct dentry *(*ldv_7_callback_fh_to_dentry)(struct super_block *, struct fid *, int, int);
850 1 : struct dentry *(*ldv_7_callback_fh_to_parent)(struct super_block *, struct fid *, int, int);
851 : struct dentry *(*ldv_7_callback_get_parent)(struct dentry *);
852 1 : struct dentry *ldv_7_container_struct_dentry_ptr;
853 1 : struct fid *ldv_7_container_struct_fid_ptr;
854 1 : struct super_block *ldv_7_container_struct_super_block_ptr;
855 1 : int ldv_7_ldv_param_10_2_default;
856 1 : int ldv_7_ldv_param_10_3_default;
857 1 : int ldv_7_ldv_param_13_2_default;
858 1 : int ldv_7_ldv_param_13_3_default;
859 1 : unsigned int *ldv_7_ldv_param_4_1_default;
860 1 : int *ldv_7_ldv_param_4_2_default;
861 1 : int ldv_7_ldv_param_4_3_default;
862 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
863 1 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_EXPORT_OPERATIONS callbacks invocations scenario."} */
864 3 : ldv_free(arg0);
865 1 : /* LDV {"action": "DEFAULT_REGISTER_4", "type": "RECEIVE_END"} */
866 1 :
867 1 : /* LDV {"action": "DEFAULT_ALLOC_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
868 4 : ldv_7_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
869 4 : ldv_7_container_struct_fid_ptr = ldv_xmalloc_unknown_size(0);
870 3 : ldv_7_container_struct_super_block_ptr = ldv_xmalloc_unknown_size(0);
871 : /* LDV {"action": "DEFAULT_ALLOC_4", "type": "CONDITION_END"} */
872 :
873 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
874 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
875 :
876 : /* Jump to a subprocess 'call' initial state */
877 1 : goto ldv_call_7;
878 : /* End of the process */
879 : return;
880 1 :
881 : /* Sbprocess call */
882 : ldv_call_7:
883 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
884 :
885 4 : if (ldv_undef_int()) {
886 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
887 3 : ldv_7_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
888 3 : ldv_7_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
889 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
890 :
891 2 : switch (ldv_undef_int()) {
892 3 : case 1: {
893 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get_parent from export_operations."} */
894 : /* LDV {"type": "CALLBACK", "call": "((& isofs_export_get_parent))(ldv_7_container_struct_dentry_ptr);", "comment": "callback"} */
895 2 : ldv_random_containerless_scenario_callback_7_16(ldv_7_callback_get_parent, ldv_7_container_struct_dentry_ptr);
896 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
897 :
898 1 : break;
899 1 : }
900 3 : case 2: {
901 : /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
902 : /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
903 :
904 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fh_to_parent from export_operations."} */
905 : /* LDV {"type": "CALLBACK", "call": "((& isofs_fh_to_parent))(ldv_7_container_struct_super_block_ptr, ldv_7_container_struct_fid_ptr, ldv_7_ldv_param_13_2_default, ldv_7_ldv_param_13_3_default);", "comment": "callback"} */
906 2 : ldv_random_containerless_scenario_callback_7_13(ldv_7_callback_fh_to_parent, ldv_7_container_struct_super_block_ptr, ldv_7_container_struct_fid_ptr, ldv_7_ldv_param_13_2_default, ldv_7_ldv_param_13_3_default);
907 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
908 :
909 : /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
910 : /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
911 :
912 1 : break;
913 1 : }
914 3 : case 3: {
915 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
916 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
917 :
918 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fh_to_dentry from export_operations."} */
919 : /* LDV {"type": "CALLBACK", "call": "((& isofs_fh_to_dentry))(ldv_7_container_struct_super_block_ptr, ldv_7_container_struct_fid_ptr, ldv_7_ldv_param_10_2_default, ldv_7_ldv_param_10_3_default);", "comment": "callback"} */
920 2 : ldv_random_containerless_scenario_callback_7_10(ldv_7_callback_fh_to_dentry, ldv_7_container_struct_super_block_ptr, ldv_7_container_struct_fid_ptr, ldv_7_ldv_param_10_2_default, ldv_7_ldv_param_10_3_default);
921 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
922 :
923 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
924 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
925 :
926 1 : break;
927 1 : }
928 3 : case 4: {
929 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback encode_fh from export_operations."} */
930 : /* LDV {"type": "CALLBACK", "call": "((& isofs_export_encode_fh))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_4_1_default, ldv_7_ldv_param_4_2_default, ldv_7_ldv_param_4_3_default);", "comment": "callback"} */
931 2 : ldv_random_containerless_scenario_callback_7_4(ldv_7_callback_encode_fh, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_4_1_default, ldv_7_ldv_param_4_2_default, ldv_7_ldv_param_4_3_default);
932 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
933 :
934 1 : break;
935 1 : }
936 2 : default: ldv_stop();
937 1 : }
938 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
939 8 : ldv_free(ldv_7_ldv_param_4_1_default);
940 2 : ldv_free(ldv_7_ldv_param_4_2_default);
941 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
942 :
943 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
944 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
945 :
946 : /* Jump to a subprocess 'call' initial state */
947 1 : goto ldv_call_7;
948 : }
949 : else {
950 : /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
951 2 : ldv_free(ldv_7_container_struct_dentry_ptr);
952 2 : ldv_free(ldv_7_container_struct_fid_ptr);
953 2 : ldv_free(ldv_7_container_struct_super_block_ptr);
954 : /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
955 :
956 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_EXPORT_OPERATIONS callbacks invocations scenario."} */
957 : /* Skip a non-replicative signal receiving */
958 : /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
959 :
960 : /* Exit function at a terminal state */
961 1 : return;
962 : }
963 : /* End of the subprocess 'call' */
964 : return;
965 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_export_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_7"} */
966 : }
967 :
968 : /* AUX_FUNC ldv_random_containerless_scenario_8 */
969 : void ldv_random_containerless_scenario_8(void *arg0) {
970 : /* LDV {"thread": 8, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_inode_operations)'", "function": "ldv_random_containerless_scenario_8"} */
971 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
972 1 : struct dentry *(*ldv_8_callback_lookup)(struct inode *, struct dentry *, struct nameidata *);
973 1 : struct dentry *ldv_8_container_struct_dentry_ptr;
974 1 : struct inode *ldv_8_container_struct_inode_ptr;
975 1 : struct nameidata *ldv_8_container_struct_nameidata_ptr;
976 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
977 1 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_INODE_OPERATIONS callbacks invocations scenario."} */
978 3 : ldv_free(arg0);
979 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "RECEIVE_END"} */
980 :
981 : /* LDV {"action": "DEFAULT_ALLOC_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
982 3 : ldv_8_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
983 3 : ldv_8_container_struct_inode_ptr = ldv_xmalloc_unknown_size(0);
984 3 : ldv_8_container_struct_nameidata_ptr = ldv_xmalloc_unknown_size(0);
985 : /* LDV {"action": "DEFAULT_ALLOC_5", "type": "CONDITION_END"} */
986 :
987 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
988 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
989 :
990 : /* Jump to a subprocess 'call' initial state */
991 1 : goto ldv_call_8;
992 : /* End of the process */
993 : return;
994 1 :
995 : /* Sbprocess call */
996 : ldv_call_8:
997 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
998 :
999 4 : if (ldv_undef_int()) {
1000 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback lookup from inode_operations."} */
1001 : /* LDV {"type": "CALLBACK", "call": "((& isofs_lookup))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr);", "comment": "callback"} */
1002 2 : ldv_random_containerless_scenario_callback_8_4(ldv_8_callback_lookup, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr);
1003 : /* LDV {"action": "CALLBACK", "type": "CALL_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_8;
1010 : }
1011 : else {
1012 : /* LDV {"action": "DEFAULT_FREE_5", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
1013 2 : ldv_free(ldv_8_container_struct_dentry_ptr);
1014 2 : ldv_free(ldv_8_container_struct_inode_ptr);
1015 2 : ldv_free(ldv_8_container_struct_nameidata_ptr);
1016 : /* LDV {"action": "DEFAULT_FREE_5", "type": "CONDITION_END"} */
1017 :
1018 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_INODE_OPERATIONS callbacks invocations scenario."} */
1019 : /* Skip a non-replicative signal receiving */
1020 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "RECEIVE_END"} */
1021 :
1022 : /* Exit function at a terminal state */
1023 1 : return;
1024 : }
1025 : /* End of the subprocess 'call' */
1026 : return;
1027 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_inode_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_8"} */
1028 : }
1029 :
1030 : /* AUX_FUNC ldv_random_containerless_scenario_9 */
1031 : void ldv_random_containerless_scenario_9(void *arg0) {
1032 : /* LDV {"thread": 9, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_super_operations)'", "function": "ldv_random_containerless_scenario_9"} */
1033 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1034 1 : struct inode *(*ldv_9_callback_alloc_inode)(struct super_block *);
1035 1 : void (*ldv_9_callback_destroy_inode)(struct inode *);
1036 : int (*ldv_9_callback_get_sb)(struct file_system_type *, int, char *, void *, struct vfsmount *);
1037 1 : void (*ldv_9_callback_kill_sb)(struct super_block *);
1038 1 : void (*ldv_9_callback_put_super)(struct super_block *);
1039 1 : int (*ldv_9_callback_remount_fs)(struct super_block *, s32 *, char *);
1040 1 : int (*ldv_9_callback_show_options)(struct seq_file *, struct vfsmount *);
1041 1 : int (*ldv_9_callback_statfs)(struct dentry *, struct kstatfs *);
1042 1 : struct dentry *ldv_9_container_struct_dentry_ptr;
1043 1 : struct file_system_type *ldv_9_container_struct_file_system_type;
1044 1 : struct inode *ldv_9_container_struct_inode_ptr;
1045 1 : struct kstatfs *ldv_9_container_struct_kstatfs_ptr;
1046 1 : struct seq_file *ldv_9_container_struct_seq_file_ptr;
1047 1 : struct super_block *ldv_9_container_struct_super_block_ptr;
1048 1 : struct vfsmount *ldv_9_container_struct_vfsmount_ptr;
1049 1 : int *ldv_9_ldv_param_12_1_default;
1050 1 : char *ldv_9_ldv_param_12_2_default;
1051 1 : int ldv_9_ldv_param_7_1_default;
1052 1 : char *ldv_9_ldv_param_7_2_default;
1053 1 : /* Received labels */
1054 2 : struct ldv_struct_random_containerless_scenario_9 *data = (struct ldv_struct_random_containerless_scenario_9*) arg0;
1055 1 :
1056 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1057 1 : /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_SUPER_OPERATIONS callbacks invocations scenario."} */
1058 : /* Assign recieved labels */
1059 2 : if (data) {
1060 1 : ldv_9_container_struct_file_system_type = data->arg0;
1061 2 : ldv_free(data);
1062 : }
1063 : /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
1064 :
1065 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1066 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1067 :
1068 : /* Jump to a subprocess 'call' initial state */
1069 2 : goto ldv_call_9;
1070 : /* End of the process */
1071 : return;
1072 1 :
1073 : /* Sbprocess call */
1074 : ldv_call_9:
1075 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1076 :
1077 2 : switch (ldv_undef_int()) {
1078 3 : case 1: {
1079 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback statfs from super_operations."} */
1080 : /* LDV {"type": "CALLBACK", "call": "((& isofs_statfs))(ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_kstatfs_ptr);", "comment": "callback"} */
1081 2 : ldv_random_containerless_scenario_callback_9_16(ldv_9_callback_statfs, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_kstatfs_ptr);
1082 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1083 :
1084 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1085 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1086 :
1087 : /* Jump to a subprocess 'call' initial state */
1088 1 : goto ldv_call_9;
1089 1 : break;
1090 : }
1091 3 : case 2: {
1092 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show_options from super_operations."} */
1093 : /* LDV {"type": "CALLBACK", "call": "((& generic_show_options))(ldv_9_container_struct_seq_file_ptr, ldv_9_container_struct_vfsmount_ptr);", "comment": "callback"} */
1094 2 : ldv_random_containerless_scenario_callback_9_15(ldv_9_callback_show_options, ldv_9_container_struct_seq_file_ptr, ldv_9_container_struct_vfsmount_ptr);
1095 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1096 :
1097 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1098 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1099 :
1100 : /* Jump to a subprocess 'call' initial state */
1101 1 : goto ldv_call_9;
1102 : /* Jump to a subprocess 'call' initial state */
1103 : goto ldv_call_9;
1104 1 : break;
1105 : }
1106 3 : case 3: {
1107 : /* LDV {"action": "PRE_CALL_12", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1108 3 : ldv_9_ldv_param_12_1_default = ldv_xmalloc_unknown_size(0);
1109 3 : ldv_9_ldv_param_12_2_default = ldv_xmalloc_unknown_size(0);
1110 : /* LDV {"action": "PRE_CALL_12", "type": "CONDITION_END"} */
1111 :
1112 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback remount_fs from super_operations."} */
1113 : /* LDV {"type": "CALLBACK", "call": "((& isofs_remount))(ldv_9_container_struct_super_block_ptr, ldv_9_ldv_param_12_1_default, ldv_9_ldv_param_12_2_default);", "comment": "callback"} */
1114 2 : ldv_random_containerless_scenario_callback_9_12(ldv_9_callback_remount_fs, ldv_9_container_struct_super_block_ptr, ldv_9_ldv_param_12_1_default, ldv_9_ldv_param_12_2_default);
1115 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1116 :
1117 : /* LDV {"action": "POST_CALL_12", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1118 2 : ldv_free(ldv_9_ldv_param_12_1_default);
1119 2 : ldv_free(ldv_9_ldv_param_12_2_default);
1120 : /* LDV {"action": "POST_CALL_12", "type": "CONDITION_END"} */
1121 :
1122 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1123 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1124 :
1125 : /* Jump to a subprocess 'call' initial state */
1126 1 : goto ldv_call_9;
1127 : /* Jump to a subprocess 'call' initial state */
1128 : goto ldv_call_9;
1129 : /* Jump to a subprocess 'call' initial state */
1130 : goto ldv_call_9;
1131 1 : break;
1132 : }
1133 3 : case 4: {
1134 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback put_super from super_operations."} */
1135 : /* LDV {"type": "CALLBACK", "call": "((& isofs_put_super))(ldv_9_container_struct_super_block_ptr);", "comment": "callback"} */
1136 2 : ldv_random_containerless_scenario_callback_9_11(ldv_9_callback_put_super, ldv_9_container_struct_super_block_ptr);
1137 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1138 :
1139 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1140 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1141 :
1142 : /* Jump to a subprocess 'call' initial state */
1143 1 : goto ldv_call_9;
1144 : /* Jump to a subprocess 'call' initial state */
1145 : goto ldv_call_9;
1146 : /* Jump to a subprocess 'call' initial state */
1147 : goto ldv_call_9;
1148 : /* Jump to a subprocess 'call' initial state */
1149 : goto ldv_call_9;
1150 1 : break;
1151 : }
1152 3 : case 5: {
1153 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback kill_sb from file_system_type."} */
1154 : /* LDV {"type": "CALLBACK", "call": "((& kill_block_super))(ldv_9_container_struct_super_block_ptr);", "comment": "callback"} */
1155 2 : ldv_random_containerless_scenario_callback_9_10(ldv_9_callback_kill_sb, ldv_9_container_struct_super_block_ptr);
1156 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1157 :
1158 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1159 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1160 :
1161 : /* Jump to a subprocess 'call' initial state */
1162 1 : goto ldv_call_9;
1163 : /* Jump to a subprocess 'call' initial state */
1164 : goto ldv_call_9;
1165 : /* Jump to a subprocess 'call' initial state */
1166 : goto ldv_call_9;
1167 : /* Jump to a subprocess 'call' initial state */
1168 : goto ldv_call_9;
1169 : /* Jump to a subprocess 'call' initial state */
1170 : goto ldv_call_9;
1171 1 : break;
1172 : }
1173 3 : case 6: {
1174 : /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1175 3 : ldv_9_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
1176 : /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
1177 :
1178 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get_sb from file_system_type."} */
1179 : /* LDV {"type": "CALLBACK", "call": "((& isofs_get_sb))(ldv_9_container_struct_file_system_type, ldv_9_ldv_param_7_1_default, ldv_9_ldv_param_7_2_default, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_vfsmount_ptr);", "comment": "callback"} */
1180 2 : ldv_random_containerless_scenario_callback_9_7(ldv_9_callback_get_sb, ldv_9_container_struct_file_system_type, ldv_9_ldv_param_7_1_default, ldv_9_ldv_param_7_2_default, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_vfsmount_ptr);
1181 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1182 :
1183 : /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1184 2 : ldv_free(ldv_9_ldv_param_7_2_default);
1185 : /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
1186 :
1187 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1188 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1189 :
1190 : /* Jump to a subprocess 'call' initial state */
1191 1 : goto ldv_call_9;
1192 : /* Jump to a subprocess 'call' initial state */
1193 : goto ldv_call_9;
1194 : /* Jump to a subprocess 'call' initial state */
1195 : goto ldv_call_9;
1196 : /* Jump to a subprocess 'call' initial state */
1197 : goto ldv_call_9;
1198 : /* Jump to a subprocess 'call' initial state */
1199 : goto ldv_call_9;
1200 : /* Jump to a subprocess 'call' initial state */
1201 : goto ldv_call_9;
1202 1 : break;
1203 : }
1204 3 : case 7: {
1205 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback destroy_inode from super_operations."} */
1206 : /* LDV {"type": "CALLBACK", "call": "((& isofs_destroy_inode))(ldv_9_container_struct_inode_ptr);", "comment": "callback"} */
1207 2 : ldv_random_containerless_scenario_callback_9_6(ldv_9_callback_destroy_inode, ldv_9_container_struct_inode_ptr);
1208 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1209 :
1210 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1211 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1212 :
1213 : /* Jump to a subprocess 'call' initial state */
1214 1 : goto ldv_call_9;
1215 : /* Jump to a subprocess 'call' initial state */
1216 : goto ldv_call_9;
1217 : /* Jump to a subprocess 'call' initial state */
1218 : goto ldv_call_9;
1219 : /* Jump to a subprocess 'call' initial state */
1220 : goto ldv_call_9;
1221 : /* Jump to a subprocess 'call' initial state */
1222 : goto ldv_call_9;
1223 : /* Jump to a subprocess 'call' initial state */
1224 : goto ldv_call_9;
1225 : /* Jump to a subprocess 'call' initial state */
1226 : goto ldv_call_9;
1227 1 : break;
1228 : }
1229 3 : case 8: {
1230 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback alloc_inode from super_operations."} */
1231 : /* LDV {"type": "CALLBACK", "call": "((& isofs_alloc_inode))(ldv_9_container_struct_super_block_ptr);", "comment": "callback"} */
1232 2 : ldv_random_containerless_scenario_callback_9_3(ldv_9_callback_alloc_inode, ldv_9_container_struct_super_block_ptr);
1233 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1234 :
1235 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1236 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1237 :
1238 : /* Jump to a subprocess 'call' initial state */
1239 1 : goto ldv_call_9;
1240 : /* Jump to a subprocess 'call' initial state */
1241 : goto ldv_call_9;
1242 : /* Jump to a subprocess 'call' initial state */
1243 : goto ldv_call_9;
1244 : /* Jump to a subprocess 'call' initial state */
1245 : goto ldv_call_9;
1246 : /* Jump to a subprocess 'call' initial state */
1247 : goto ldv_call_9;
1248 : /* Jump to a subprocess 'call' initial state */
1249 : goto ldv_call_9;
1250 : /* Jump to a subprocess 'call' initial state */
1251 : goto ldv_call_9;
1252 : /* Jump to a subprocess 'call' initial state */
1253 : goto ldv_call_9;
1254 1 : break;
1255 : }
1256 3 : case 9: {
1257 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_SUPER_OPERATIONS callbacks invocations scenario."} */
1258 : /* Skip a non-replicative signal receiving */
1259 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
1260 :
1261 : /* Exit function at a terminal state */
1262 1 : return;
1263 1 : break;
1264 : }
1265 2 : default: ldv_stop();
1266 1 : }
1267 0 : /* End of the subprocess 'call' */
1268 0 : return;
1269 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_super_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_9"} */
1270 : }
1271 :
1272 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_2_11 */
1273 : void ldv_random_containerless_scenario_callback_2_11(void (*arg0)(struct page *), struct page *arg1) {
1274 1 : ((& block_sync_page))(arg1);
1275 1 : }
1276 :
1277 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_2_4 */
1278 : void ldv_random_containerless_scenario_callback_2_4(sector_t (*arg0)(struct address_space *, sector_t ), struct address_space *arg1, long unsigned int arg2) {
1279 2 : ((& _isofs_bmap))(arg1, arg2);
1280 1 : }
1281 :
1282 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_10 */
1283 : void ldv_random_containerless_scenario_callback_3_10(int (*arg0)(struct dentry *, struct qstr *), struct dentry *arg1, struct qstr *arg2) {
1284 2 : ((& isofs_hash))(arg1, arg2);
1285 1 : }
1286 :
1287 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_4 */
1288 : void ldv_random_containerless_scenario_callback_3_4(int (*arg0)(struct dentry *, struct qstr *, struct qstr *), struct dentry *arg1, struct qstr *arg2, struct qstr *arg3) {
1289 2 : ((& isofs_dentry_cmp))(arg1, arg2, arg3);
1290 1 : }
1291 :
1292 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_10 */
1293 : void ldv_random_containerless_scenario_callback_4_10(int (*arg0)(struct dentry *, struct qstr *), struct dentry *arg1, struct qstr *arg2) {
1294 2 : ((& isofs_hash_ms))(arg1, arg2);
1295 1 : }
1296 :
1297 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_4 */
1298 : void ldv_random_containerless_scenario_callback_4_4(int (*arg0)(struct dentry *, struct qstr *, struct qstr *), struct dentry *arg1, struct qstr *arg2, struct qstr *arg3) {
1299 2 : ((& isofs_dentry_cmp_ms))(arg1, arg2, arg3);
1300 1 : }
1301 :
1302 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_10 */
1303 : void ldv_random_containerless_scenario_callback_5_10(int (*arg0)(struct dentry *, struct qstr *), struct dentry *arg1, struct qstr *arg2) {
1304 2 : ((& isofs_hashi))(arg1, arg2);
1305 1 : }
1306 :
1307 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_4 */
1308 : void ldv_random_containerless_scenario_callback_5_4(int (*arg0)(struct dentry *, struct qstr *, struct qstr *), struct dentry *arg1, struct qstr *arg2, struct qstr *arg3) {
1309 2 : ((& isofs_dentry_cmpi))(arg1, arg2, arg3);
1310 1 : }
1311 :
1312 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_6_10 */
1313 : void ldv_random_containerless_scenario_callback_6_10(int (*arg0)(struct dentry *, struct qstr *), struct dentry *arg1, struct qstr *arg2) {
1314 2 : ((& isofs_hashi_ms))(arg1, arg2);
1315 1 : }
1316 :
1317 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_6_4 */
1318 : void ldv_random_containerless_scenario_callback_6_4(int (*arg0)(struct dentry *, struct qstr *, struct qstr *), struct dentry *arg1, struct qstr *arg2, struct qstr *arg3) {
1319 2 : ((& isofs_dentry_cmpi_ms))(arg1, arg2, arg3);
1320 1 : }
1321 :
1322 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_10 */
1323 : void ldv_random_containerless_scenario_callback_9_10(void (*arg0)(struct super_block *), struct super_block *arg1) {
1324 1 : ((& kill_block_super))(arg1);
1325 1 : }
1326 :
1327 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_11 */
1328 : void ldv_random_containerless_scenario_callback_9_11(void (*arg0)(struct super_block *), struct super_block *arg1) {
1329 2 : ((& isofs_put_super))(arg1);
1330 1 : }
1331 :
1332 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_12 */
1333 : void ldv_random_containerless_scenario_callback_9_12(int (*arg0)(struct super_block *, s32 *, char *), struct super_block *arg1, int *arg2, char *arg3) {
1334 2 : ((& isofs_remount))(arg1, arg2, arg3);
1335 1 : }
1336 :
1337 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_15 */
1338 : void ldv_random_containerless_scenario_callback_9_15(int (*arg0)(struct seq_file *, struct vfsmount *), struct seq_file *arg1, struct vfsmount *arg2) {
1339 1 : ((& generic_show_options))(arg1, arg2);
1340 1 : }
1341 :
1342 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_16 */
1343 : void ldv_random_containerless_scenario_callback_9_16(int (*arg0)(struct dentry *, struct kstatfs *), struct dentry *arg1, struct kstatfs *arg2) {
1344 2 : ((& isofs_statfs))(arg1, arg2);
1345 1 : }
1346 :
1347 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_3 */
1348 : void ldv_random_containerless_scenario_callback_9_3(struct inode *(*arg0)(struct super_block *), struct super_block *arg1) {
1349 2 : ((& isofs_alloc_inode))(arg1);
1350 1 : }
1351 :
1352 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_6 */
1353 : void ldv_random_containerless_scenario_callback_9_6(void (*arg0)(struct inode *), struct inode *arg1) {
1354 2 : ((& isofs_destroy_inode))(arg1);
1355 1 : }
1356 :
1357 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_7 */
1358 : void ldv_random_containerless_scenario_callback_9_7(int (*arg0)(struct file_system_type *, int, char *, void *, struct vfsmount *), struct file_system_type *arg1, int arg2, char *arg3, void *arg4, struct vfsmount *arg5) {
1359 2 : ((& isofs_get_sb))(arg1, arg2, arg3, arg4, arg5);
1360 1 : }
1361 :
1362 : /* AUX_FUNC main */
1363 : int main() {
1364 1 : ldv_main_13(0);
1365 0 : return 0;
1366 : }
1367 :
1368 :
1369 : /* AUX_FUNC ERR_PTR */
1370 : static inline void *ERR_PTR (long int error)
1371 : {
1372 :
1373 : return ldv_err_ptr(error);
1374 : }
1375 :
1376 : /* AUX_FUNC PTR_ERR */
1377 : static inline long int PTR_ERR (void const *ptr)
1378 : {
1379 20 :
1380 60 : return ldv_ptr_err(ptr);
1381 : }
1382 :
1383 : /* AUX_FUNC IS_ERR */
1384 : static inline long int IS_ERR (void const *ptr)
1385 : {
1386 :
1387 : return ldv_is_err(ptr);
1388 : }
1389 :
1390 : /* AUX_FUNC IS_ERR_OR_NULL */
1391 : static inline long int IS_ERR_OR_NULL (void const *ptr)
1392 : {
1393 :
1394 : return ldv_is_err_or_null(ptr);
1395 : }
1396 :
1397 : /* AUX_FUNC kzalloc */
1398 : static inline void *kzalloc (size_t size, gfp_t flags)
1399 : {
1400 0 :
1401 0 : return ldv_kzalloc(size, flags);
1402 : }
1403 :
1404 : /* AUX_FUNC ldv_register_filesystem_6 */
1405 : int ldv_register_filesystem_6 (struct file_system_type *ldv_func_arg1)
1406 : {
1407 1 :
1408 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'register_filesystem'"} */
1409 4 : return ldv_emg_register_filesystem(ldv_func_arg1);
1410 : }
1411 :
1412 : /* AUX_FUNC ldv_unregister_filesystem_7 */
1413 : int ldv_unregister_filesystem_7 (struct file_system_type *ldv_func_arg1)
1414 : {
1415 2 :
1416 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'unregister_filesystem'"} */
1417 6 : return ldv_emg_unregister_filesystem(ldv_func_arg1);
1418 : }
|