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/seq_file.h>
31 : #include <linux/fs.h>
32 : #include <linux/pagemap.h>
33 :
34 :
35 : struct ldv_struct_insmod_10 {
36 : int signal_pending;
37 : };
38 1 :
39 : struct ldv_struct_random_containerless_scenario_5 {
40 : struct file_system_type *arg0;
41 : int signal_pending;
42 : };
43 :
44 : /* EMG Function declarations */
45 : extern void ldv_character_driver_scenario_1(void *);
46 : extern void ldv_character_driver_scenario_2(void *);
47 : void ldv_character_driver_scenario_callback_1_22(ssize_t (*)(struct kiocb *, struct iovec *, long unsigned int, loff_t ), struct kiocb *, struct iovec *, long unsigned int, long long int);
48 : void ldv_character_driver_scenario_callback_1_34(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
49 : void ldv_character_driver_scenario_callback_1_39(ssize_t (*)(struct file *, loff_t *, struct pipe_inode_info *, long unsigned int, unsigned int), struct file *, loff_t *, struct pipe_inode_info *, long unsigned int, unsigned int);
50 : void ldv_character_driver_scenario_callback_1_42(ssize_t (*)(struct pipe_inode_info *, struct file *, loff_t *, long unsigned int, unsigned int), struct pipe_inode_info *, struct file *, loff_t *, long unsigned int, unsigned int);
51 : void ldv_character_driver_scenario_callback_1_5(ssize_t (*)(struct kiocb *, struct iovec *, long unsigned int, loff_t ), struct kiocb *, struct iovec *, long unsigned int, long long int);
52 : void ldv_character_driver_scenario_callback_2_38(int (*)(struct file *, void *, filldir_t ), struct file *, void *, int (*)(void *, char *, int, loff_t , u64 , unsigned int));
53 : int ldv_character_driver_scenario_probe_1_13(int (*)(struct inode *, struct file *), struct inode *, struct file *);
54 : void ldv_character_driver_scenario_release_1_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
55 : 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 *);
56 : void ldv_dispatch_default_deregister_1_10_4(void);
57 : void ldv_dispatch_default_deregister_2_10_5(void);
58 : void ldv_dispatch_default_deregister_3_10_6(void);
59 : void ldv_dispatch_default_deregister_7_10_7(void);
60 : void ldv_dispatch_default_register_1_10_11(void);
61 : void ldv_dispatch_default_register_2_10_10(void);
62 : void ldv_dispatch_default_register_3_10_9(void);
63 : void ldv_dispatch_default_register_7_10_8(void);
64 : void ldv_dispatch_deregister_11_1(struct file_system_type *);
65 : void ldv_dispatch_insmod_deregister_13_2(void);
66 : void ldv_dispatch_insmod_register_13_3(void);
67 : void ldv_dispatch_register_12_3(struct file_system_type *);
68 : int ldv_emg_register_filesystem(struct file_system_type *);
69 : int ldv_emg_unregister_filesystem(struct file_system_type *);
70 : void ldv_insmod_10(void *);
71 : void ldv_insmod_exit_ext2_fs_10_2(void (*)(void));
72 : int ldv_insmod_init_ext2_fs_10_15(int (*)(void));
73 : void ldv_main_13(void *);
74 : void ldv_random_containerless_scenario_3(void *);
75 : void ldv_random_containerless_scenario_4(void *);
76 : void ldv_random_containerless_scenario_5(void *);
77 : void ldv_random_containerless_scenario_6(void *);
78 : void ldv_random_containerless_scenario_7(void *);
79 : void ldv_random_containerless_scenario_8(void *);
80 : void ldv_random_containerless_scenario_9(void *);
81 : extern void ldv_random_containerless_scenario_callback_3_10(ssize_t (*)(int, struct kiocb *, struct iovec *, loff_t , long unsigned int), int, struct kiocb *, struct iovec *, long long int, long unsigned int);
82 : extern void ldv_random_containerless_scenario_callback_3_13(int (*)(struct address_space *, struct page *), struct address_space *, struct page *);
83 : extern void ldv_random_containerless_scenario_callback_3_14(int (*)(struct page *, read_descriptor_t *, long unsigned int), struct page *, read_descriptor_t *, long unsigned int);
84 : extern void ldv_random_containerless_scenario_callback_3_17(int (*)(struct file *, struct page *), struct file *, struct page *);
85 : extern void ldv_random_containerless_scenario_callback_3_18(int (*)(struct file *, struct address_space *, struct list_head *, unsigned int), struct file *, struct address_space *, struct list_head *, unsigned int);
86 : extern void ldv_random_containerless_scenario_callback_3_21(void (*)(struct page *), struct page *);
87 : extern void ldv_random_containerless_scenario_callback_3_22(int (*)(struct file *, struct address_space *, loff_t , unsigned int, unsigned int, struct page **, void **), struct file *, struct address_space *, long long int, unsigned int, unsigned int, struct page **, void **);
88 : extern void ldv_random_containerless_scenario_callback_3_25(int (*)(struct file *, struct address_space *, loff_t , unsigned int, unsigned int, struct page *, void *), struct file *, struct address_space *, long long int, unsigned int, unsigned int, struct page *, void *);
89 : extern void ldv_random_containerless_scenario_callback_3_28(int (*)(struct page *, struct writeback_control *), struct page *, struct writeback_control *);
90 : extern void ldv_random_containerless_scenario_callback_3_29(int (*)(struct address_space *, struct writeback_control *), struct address_space *, struct writeback_control *);
91 : extern void ldv_random_containerless_scenario_callback_3_4(long unsigned int (*)(struct address_space *, long unsigned int), struct address_space *, long unsigned int);
92 : void ldv_random_containerless_scenario_callback_4_10(struct dentry *(*)(struct super_block *, struct fid *, int, int), struct super_block *, struct fid *, int, int);
93 : void ldv_random_containerless_scenario_callback_4_13(struct dentry *(*)(struct dentry *), struct dentry *);
94 : void ldv_random_containerless_scenario_callback_4_4(struct dentry *(*)(struct super_block *, struct fid *, int, int), struct super_block *, struct fid *, int, int);
95 : void ldv_random_containerless_scenario_callback_5_12(void (*)(struct super_block *), struct super_block *);
96 : void ldv_random_containerless_scenario_callback_5_13(void (*)(struct super_block *), struct super_block *);
97 : void ldv_random_containerless_scenario_callback_5_14(int (*)(struct super_block *, ext2_grpblk_t *, char *), struct super_block *, ext2_grpblk_t *, char *);
98 : void ldv_random_containerless_scenario_callback_5_17(int (*)(struct seq_file *, struct vfsmount *), struct seq_file *, struct vfsmount *);
99 : void ldv_random_containerless_scenario_callback_5_18(int (*)(struct dentry *, struct kstatfs *), struct dentry *, struct kstatfs *);
100 : void ldv_random_containerless_scenario_callback_5_19(int (*)(struct super_block *, int), struct super_block *, int);
101 : void ldv_random_containerless_scenario_callback_5_22(int (*)(struct inode *, int), struct inode *, int);
102 : void ldv_random_containerless_scenario_callback_5_25(void (*)(struct super_block *), struct super_block *);
103 : void ldv_random_containerless_scenario_callback_5_3(struct inode *(*)(struct super_block *), struct super_block *);
104 : void ldv_random_containerless_scenario_callback_5_6(void (*)(struct inode *), struct inode *);
105 : void ldv_random_containerless_scenario_callback_5_7(void (*)(struct inode *), struct inode *);
106 : void ldv_random_containerless_scenario_callback_5_8(void (*)(struct inode *), struct inode *);
107 : void ldv_random_containerless_scenario_callback_5_9(int (*)(struct file_system_type *, int, char *, void *, struct vfsmount *), struct file_system_type *, int, char *, void *, struct vfsmount *);
108 : extern void ldv_random_containerless_scenario_callback_6_10(int (*)(struct inode *, struct fiemap_extent_info *, u64 , u64 ), struct inode *, struct fiemap_extent_info *, long long unsigned int, long long unsigned int);
109 : extern void ldv_random_containerless_scenario_callback_6_13(void *(*)(struct dentry *, struct nameidata *), struct dentry *, struct nameidata *);
110 : extern void ldv_random_containerless_scenario_callback_6_14(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
111 : extern void ldv_random_containerless_scenario_callback_6_17(ssize_t (*)(struct dentry *, char *, void *, size_t ), struct dentry *, char *, void *, long unsigned int);
112 : extern void ldv_random_containerless_scenario_callback_6_20(int (*)(struct dentry *, struct inode *, struct dentry *), struct dentry *, struct inode *, struct dentry *);
113 : extern void ldv_random_containerless_scenario_callback_6_23(size_t (*)(struct dentry *, char *, size_t , char *, size_t , int), struct dentry *, char *, long unsigned int, char *, long unsigned int, int);
114 : extern void ldv_random_containerless_scenario_callback_6_26(ssize_t (*)(struct dentry *, char *, size_t ), struct dentry *, char *, long unsigned int);
115 : extern void ldv_random_containerless_scenario_callback_6_29(struct dentry *(*)(struct inode *, struct dentry *, struct nameidata *), struct inode *, struct dentry *, struct nameidata *);
116 : extern void ldv_random_containerless_scenario_callback_6_30(int (*)(struct inode *, struct dentry *, int), struct inode *, struct dentry *, int);
117 : extern void ldv_random_containerless_scenario_callback_6_33(int (*)(struct inode *, struct dentry *, int, unsigned int), struct inode *, struct dentry *, int, unsigned int);
118 : extern void ldv_random_containerless_scenario_callback_6_36(void (*)(struct dentry *, struct nameidata *, void *), struct dentry *, struct nameidata *, void *);
119 : extern void ldv_random_containerless_scenario_callback_6_37(int (*)(struct dentry *, char *, int), struct dentry *, char *, int);
120 : extern void ldv_random_containerless_scenario_callback_6_4(int (*)(struct inode *, struct dentry *, int, struct nameidata *), struct inode *, struct dentry *, int, struct nameidata *);
121 : extern void ldv_random_containerless_scenario_callback_6_40(int (*)(struct dentry *, char *), struct dentry *, char *);
122 : extern void ldv_random_containerless_scenario_callback_6_43(int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *), struct inode *, struct dentry *, struct inode *, struct dentry *);
123 : extern void ldv_random_containerless_scenario_callback_6_46(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
124 : extern void ldv_random_containerless_scenario_callback_6_47(int (*)(struct dentry *, char *, void *, size_t , int, int), struct dentry *, char *, void *, long unsigned int, int, int);
125 : extern void ldv_random_containerless_scenario_callback_6_50(int (*)(struct dentry *, struct iattr *), struct dentry *, struct iattr *);
126 : extern void ldv_random_containerless_scenario_callback_6_51(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
127 : extern void ldv_random_containerless_scenario_callback_6_54(int (*)(struct inode *, struct dentry *, char *), struct inode *, struct dentry *, char *);
128 : extern void ldv_random_containerless_scenario_callback_6_57(void (*)(struct inode *), struct inode *);
129 : extern void ldv_random_containerless_scenario_callback_6_58(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
130 : extern void ldv_random_containerless_scenario_callback_7_10(int (*)(struct inode *, struct fiemap_extent_info *, u64 , u64 ), struct inode *, struct fiemap_extent_info *, long long unsigned int, long long unsigned int);
131 : extern void ldv_random_containerless_scenario_callback_7_13(void *(*)(struct dentry *, struct nameidata *), struct dentry *, struct nameidata *);
132 : extern void ldv_random_containerless_scenario_callback_7_14(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
133 : extern void ldv_random_containerless_scenario_callback_7_17(ssize_t (*)(struct dentry *, char *, void *, size_t ), struct dentry *, char *, void *, long unsigned int);
134 : extern void ldv_random_containerless_scenario_callback_7_20(int (*)(struct dentry *, struct inode *, struct dentry *), struct dentry *, struct inode *, struct dentry *);
135 : extern void ldv_random_containerless_scenario_callback_7_23(size_t (*)(struct dentry *, char *, size_t , char *, size_t , int), struct dentry *, char *, long unsigned int, char *, long unsigned int, int);
136 : extern void ldv_random_containerless_scenario_callback_7_26(ssize_t (*)(struct dentry *, char *, size_t ), struct dentry *, char *, long unsigned int);
137 : extern void ldv_random_containerless_scenario_callback_7_29(struct dentry *(*)(struct inode *, struct dentry *, struct nameidata *), struct inode *, struct dentry *, struct nameidata *);
138 : extern void ldv_random_containerless_scenario_callback_7_30(int (*)(struct inode *, struct dentry *, int), struct inode *, struct dentry *, int);
139 : extern void ldv_random_containerless_scenario_callback_7_33(int (*)(struct inode *, struct dentry *, int, unsigned int), struct inode *, struct dentry *, int, unsigned int);
140 : extern void ldv_random_containerless_scenario_callback_7_36(void (*)(struct dentry *, struct nameidata *, void *), struct dentry *, struct nameidata *, void *);
141 : extern void ldv_random_containerless_scenario_callback_7_37(int (*)(struct dentry *, char *, int), struct dentry *, char *, int);
142 : extern void ldv_random_containerless_scenario_callback_7_4(int (*)(struct inode *, struct dentry *, int, struct nameidata *), struct inode *, struct dentry *, int, struct nameidata *);
143 : extern void ldv_random_containerless_scenario_callback_7_40(int (*)(struct dentry *, char *), struct dentry *, char *);
144 : extern void ldv_random_containerless_scenario_callback_7_43(int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *), struct inode *, struct dentry *, struct inode *, struct dentry *);
145 : extern void ldv_random_containerless_scenario_callback_7_46(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
146 : extern void ldv_random_containerless_scenario_callback_7_47(int (*)(struct dentry *, char *, void *, size_t , int, int), struct dentry *, char *, void *, long unsigned int, int, int);
147 : extern void ldv_random_containerless_scenario_callback_7_50(int (*)(struct dentry *, struct iattr *), struct dentry *, struct iattr *);
148 : extern void ldv_random_containerless_scenario_callback_7_51(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
149 : extern void ldv_random_containerless_scenario_callback_7_54(int (*)(struct inode *, struct dentry *, char *), struct inode *, struct dentry *, char *);
150 : extern void ldv_random_containerless_scenario_callback_7_57(void (*)(struct inode *), struct inode *);
151 : extern void ldv_random_containerless_scenario_callback_7_58(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
152 : extern void ldv_random_containerless_scenario_callback_8_10(int (*)(struct inode *, struct fiemap_extent_info *, u64 , u64 ), struct inode *, struct fiemap_extent_info *, long long unsigned int, long long unsigned int);
153 : extern void ldv_random_containerless_scenario_callback_8_13(void *(*)(struct dentry *, struct nameidata *), struct dentry *, struct nameidata *);
154 : extern void ldv_random_containerless_scenario_callback_8_14(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
155 : extern void ldv_random_containerless_scenario_callback_8_17(ssize_t (*)(struct dentry *, char *, void *, size_t ), struct dentry *, char *, void *, long unsigned int);
156 : extern void ldv_random_containerless_scenario_callback_8_20(int (*)(struct dentry *, struct inode *, struct dentry *), struct dentry *, struct inode *, struct dentry *);
157 : extern void ldv_random_containerless_scenario_callback_8_23(size_t (*)(struct dentry *, char *, size_t , char *, size_t , int), struct dentry *, char *, long unsigned int, char *, long unsigned int, int);
158 : extern void ldv_random_containerless_scenario_callback_8_26(ssize_t (*)(struct dentry *, char *, size_t ), struct dentry *, char *, long unsigned int);
159 : extern void ldv_random_containerless_scenario_callback_8_29(struct dentry *(*)(struct inode *, struct dentry *, struct nameidata *), struct inode *, struct dentry *, struct nameidata *);
160 : extern void ldv_random_containerless_scenario_callback_8_30(int (*)(struct inode *, struct dentry *, int), struct inode *, struct dentry *, int);
161 : extern void ldv_random_containerless_scenario_callback_8_33(int (*)(struct inode *, struct dentry *, int, unsigned int), struct inode *, struct dentry *, int, unsigned int);
162 : extern void ldv_random_containerless_scenario_callback_8_36(void (*)(struct dentry *, struct nameidata *, void *), struct dentry *, struct nameidata *, void *);
163 : extern void ldv_random_containerless_scenario_callback_8_37(int (*)(struct dentry *, char *, int), struct dentry *, char *, int);
164 : extern void ldv_random_containerless_scenario_callback_8_4(int (*)(struct inode *, struct dentry *, int, struct nameidata *), struct inode *, struct dentry *, int, struct nameidata *);
165 : extern void ldv_random_containerless_scenario_callback_8_40(int (*)(struct dentry *, char *), struct dentry *, char *);
166 : extern void ldv_random_containerless_scenario_callback_8_43(int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *), struct inode *, struct dentry *, struct inode *, struct dentry *);
167 : extern void ldv_random_containerless_scenario_callback_8_46(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
168 : extern void ldv_random_containerless_scenario_callback_8_47(int (*)(struct dentry *, char *, void *, size_t , int, int), struct dentry *, char *, void *, long unsigned int, int, int);
169 : extern void ldv_random_containerless_scenario_callback_8_50(int (*)(struct dentry *, struct iattr *), struct dentry *, struct iattr *);
170 : extern void ldv_random_containerless_scenario_callback_8_51(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
171 : extern void ldv_random_containerless_scenario_callback_8_54(int (*)(struct inode *, struct dentry *, char *), struct inode *, struct dentry *, char *);
172 : extern void ldv_random_containerless_scenario_callback_8_57(void (*)(struct inode *), struct inode *);
173 : extern void ldv_random_containerless_scenario_callback_8_58(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
174 : extern void ldv_random_containerless_scenario_callback_9_10(int (*)(struct inode *, struct fiemap_extent_info *, u64 , u64 ), struct inode *, struct fiemap_extent_info *, long long unsigned int, long long unsigned int);
175 : extern void ldv_random_containerless_scenario_callback_9_13(void *(*)(struct dentry *, struct nameidata *), struct dentry *, struct nameidata *);
176 : extern void ldv_random_containerless_scenario_callback_9_14(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
177 : extern void ldv_random_containerless_scenario_callback_9_17(ssize_t (*)(struct dentry *, char *, void *, size_t ), struct dentry *, char *, void *, long unsigned int);
178 : extern void ldv_random_containerless_scenario_callback_9_20(int (*)(struct dentry *, struct inode *, struct dentry *), struct dentry *, struct inode *, struct dentry *);
179 : extern void ldv_random_containerless_scenario_callback_9_23(size_t (*)(struct dentry *, char *, size_t , char *, size_t , int), struct dentry *, char *, long unsigned int, char *, long unsigned int, int);
180 : extern void ldv_random_containerless_scenario_callback_9_26(ssize_t (*)(struct dentry *, char *, size_t ), struct dentry *, char *, long unsigned int);
181 : extern void ldv_random_containerless_scenario_callback_9_29(struct dentry *(*)(struct inode *, struct dentry *, struct nameidata *), struct inode *, struct dentry *, struct nameidata *);
182 : extern void ldv_random_containerless_scenario_callback_9_30(int (*)(struct inode *, struct dentry *, int), struct inode *, struct dentry *, int);
183 : extern void ldv_random_containerless_scenario_callback_9_33(int (*)(struct inode *, struct dentry *, int, unsigned int), struct inode *, struct dentry *, int, unsigned int);
184 : extern void ldv_random_containerless_scenario_callback_9_36(void (*)(struct dentry *, struct nameidata *, void *), struct dentry *, struct nameidata *, void *);
185 : extern void ldv_random_containerless_scenario_callback_9_37(int (*)(struct dentry *, char *, int), struct dentry *, char *, int);
186 : extern void ldv_random_containerless_scenario_callback_9_4(int (*)(struct inode *, struct dentry *, int, struct nameidata *), struct inode *, struct dentry *, int, struct nameidata *);
187 : extern void ldv_random_containerless_scenario_callback_9_40(int (*)(struct dentry *, char *), struct dentry *, char *);
188 : extern void ldv_random_containerless_scenario_callback_9_43(int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *), struct inode *, struct dentry *, struct inode *, struct dentry *);
189 : extern void ldv_random_containerless_scenario_callback_9_46(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
190 : extern void ldv_random_containerless_scenario_callback_9_47(int (*)(struct dentry *, char *, void *, size_t , int, int), struct dentry *, char *, void *, long unsigned int, int, int);
191 : extern void ldv_random_containerless_scenario_callback_9_50(int (*)(struct dentry *, struct iattr *), struct dentry *, struct iattr *);
192 : extern void ldv_random_containerless_scenario_callback_9_51(int (*)(struct dentry *, char *, void *, size_t , int), struct dentry *, char *, void *, long unsigned int, int);
193 : extern void ldv_random_containerless_scenario_callback_9_54(int (*)(struct inode *, struct dentry *, char *), struct inode *, struct dentry *, char *);
194 : extern void ldv_random_containerless_scenario_callback_9_57(void (*)(struct inode *), struct inode *);
195 : extern void ldv_random_containerless_scenario_callback_9_58(int (*)(struct inode *, struct dentry *), struct inode *, struct dentry *);
196 : int main(void);
197 :
198 : /* EMG variable declarations */
199 1 : struct ldv_thread ldv_thread_10;
200 1 : struct ldv_thread ldv_thread_13;
201 1 : struct ldv_thread ldv_thread_3;
202 1 : struct ldv_thread ldv_thread_4;
203 1 : struct ldv_thread ldv_thread_5;
204 1 : struct ldv_thread ldv_thread_6;
205 1 : struct ldv_thread ldv_thread_7;
206 1 : struct ldv_thread ldv_thread_8;
207 1 : struct ldv_thread ldv_thread_9;
208 :
209 : /* EMG variable initialization */
210 :
211 : /* EMG function definitions */
212 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_22 */
213 : void ldv_character_driver_scenario_callback_1_22(ssize_t (*arg0)(struct kiocb *, struct iovec *, long unsigned int, loff_t ), struct kiocb *arg1, struct iovec *arg2, long unsigned int arg3, long long int arg4) {
214 1 : (*arg0)(arg1, arg2, arg3, arg4);
215 1 : }
216 :
217 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_34 */
218 : void ldv_character_driver_scenario_callback_1_34(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
219 1 : (*arg0)(arg1, arg2);
220 1 : }
221 :
222 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_39 */
223 : void ldv_character_driver_scenario_callback_1_39(ssize_t (*arg0)(struct file *, loff_t *, struct pipe_inode_info *, long unsigned int, unsigned int), struct file *arg1, long long int *arg2, struct pipe_inode_info *arg3, long unsigned int arg4, unsigned int arg5) {
224 1 : (*arg0)(arg1, arg2, arg3, arg4, arg5);
225 1 : }
226 :
227 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_42 */
228 : void ldv_character_driver_scenario_callback_1_42(ssize_t (*arg0)(struct pipe_inode_info *, struct file *, loff_t *, long unsigned int, unsigned int), struct pipe_inode_info *arg1, struct file *arg2, long long int *arg3, long unsigned int arg4, unsigned int arg5) {
229 1 : (*arg0)(arg1, arg2, arg3, arg4, arg5);
230 1 : }
231 :
232 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_5 */
233 : void ldv_character_driver_scenario_callback_1_5(ssize_t (*arg0)(struct kiocb *, struct iovec *, long unsigned int, loff_t ), struct kiocb *arg1, struct iovec *arg2, long unsigned int arg3, long long int arg4) {
234 1 : (*arg0)(arg1, arg2, arg3, arg4);
235 1 : }
236 :
237 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_38 */
238 : void ldv_character_driver_scenario_callback_2_38(int (*arg0)(struct file *, void *, filldir_t ), struct file *arg1, void *arg2, int (*arg3)(void *, char *, int, loff_t , u64 , unsigned int)) {
239 2 : (*arg0)(arg1, arg2, arg3);
240 1 : }
241 :
242 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_1_13 */
243 : int ldv_character_driver_scenario_probe_1_13(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
244 3 : return (*arg0)(arg1, arg2);
245 : }
246 1 :
247 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_1_2 */
248 : void ldv_character_driver_scenario_release_1_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
249 2 : (*arg0)(arg1, arg2);
250 1 : }
251 :
252 : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_1_4 */
253 : 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) {
254 1 : (*arg0)(arg1, arg2, arg3, arg4);
255 1 : }
256 :
257 : /* AUX_FUNC ldv_dispatch_default_deregister_1_10_4 */
258 : void ldv_dispatch_default_deregister_1_10_4() {
259 : struct ldv_struct_insmod_10 *cf_arg_1;
260 : struct ldv_struct_insmod_10 *cf_arg_2;
261 : /* Skip thread join call */
262 : /* Skip thread join call */
263 1 : return;
264 : }
265 :
266 : /* AUX_FUNC ldv_dispatch_default_deregister_2_10_5 */
267 : void ldv_dispatch_default_deregister_2_10_5() {
268 : struct ldv_struct_insmod_10 *cf_arg_3;
269 : /* Skip thread join call */
270 1 : return;
271 : }
272 :
273 : /* AUX_FUNC ldv_dispatch_default_deregister_3_10_6 */
274 : void ldv_dispatch_default_deregister_3_10_6() {
275 : struct ldv_struct_insmod_10 *cf_arg_4;
276 : /* Skip thread join call */
277 1 : return;
278 : }
279 :
280 : /* AUX_FUNC ldv_dispatch_default_deregister_7_10_7 */
281 : void ldv_dispatch_default_deregister_7_10_7() {
282 : struct ldv_struct_insmod_10 *cf_arg_8;
283 : struct ldv_struct_insmod_10 *cf_arg_9;
284 : struct ldv_struct_insmod_10 *cf_arg_6;
285 : struct ldv_struct_insmod_10 *cf_arg_7;
286 : /* Skip thread join call */
287 : /* Skip thread join call */
288 : /* Skip thread join call */
289 : /* Skip thread join call */
290 1 : return;
291 : }
292 :
293 : /* AUX_FUNC ldv_dispatch_default_register_1_10_11 */
294 : void ldv_dispatch_default_register_1_10_11() {
295 : struct ldv_struct_insmod_10 *cf_arg_1;
296 1 : struct ldv_struct_insmod_10 *cf_arg_2;
297 4 : cf_arg_1 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
298 3 : ldv_character_driver_scenario_1(cf_arg_1);
299 4 : cf_arg_2 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
300 2 : ldv_character_driver_scenario_2(cf_arg_2);
301 1 : return;
302 : }
303 :
304 : /* AUX_FUNC ldv_dispatch_default_register_2_10_10 */
305 : void ldv_dispatch_default_register_2_10_10() {
306 : struct ldv_struct_insmod_10 *cf_arg_3;
307 4 : cf_arg_3 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
308 3 : ldv_random_containerless_scenario_3(cf_arg_3);
309 1 : return;
310 : }
311 :
312 : /* AUX_FUNC ldv_dispatch_default_register_3_10_9 */
313 : void ldv_dispatch_default_register_3_10_9() {
314 : struct ldv_struct_insmod_10 *cf_arg_4;
315 4 : cf_arg_4 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
316 3 : ldv_random_containerless_scenario_4(cf_arg_4);
317 1 : return;
318 : }
319 :
320 : /* AUX_FUNC ldv_dispatch_default_register_7_10_8 */
321 : void ldv_dispatch_default_register_7_10_8() {
322 : struct ldv_struct_insmod_10 *cf_arg_8;
323 1 : struct ldv_struct_insmod_10 *cf_arg_9;
324 1 : struct ldv_struct_insmod_10 *cf_arg_6;
325 1 : struct ldv_struct_insmod_10 *cf_arg_7;
326 4 : cf_arg_8 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
327 3 : ldv_random_containerless_scenario_8(cf_arg_8);
328 4 : cf_arg_9 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
329 3 : ldv_random_containerless_scenario_9(cf_arg_9);
330 4 : cf_arg_6 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
331 2 : ldv_random_containerless_scenario_6(cf_arg_6);
332 3 : cf_arg_7 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
333 2 : ldv_random_containerless_scenario_7(cf_arg_7);
334 1 : return;
335 : }
336 :
337 : /* AUX_FUNC ldv_dispatch_deregister_11_1 */
338 : void ldv_dispatch_deregister_11_1(struct file_system_type *arg0) {
339 : struct ldv_struct_random_containerless_scenario_5 *cf_arg_5;
340 : /* Skip thread join call */
341 2 : return;
342 : }
343 :
344 : /* AUX_FUNC ldv_dispatch_insmod_deregister_13_2 */
345 : void ldv_dispatch_insmod_deregister_13_2() {
346 : struct ldv_struct_insmod_10 *cf_arg_10;
347 : /* Skip thread join call */
348 1 : return;
349 : }
350 :
351 : /* AUX_FUNC ldv_dispatch_insmod_register_13_3 */
352 : void ldv_dispatch_insmod_register_13_3() {
353 : struct ldv_struct_insmod_10 *cf_arg_10;
354 4 : cf_arg_10 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_10));
355 4 : ldv_insmod_10(cf_arg_10);
356 1 : return;
357 : }
358 :
359 : /* AUX_FUNC ldv_dispatch_register_12_3 */
360 : void ldv_dispatch_register_12_3(struct file_system_type *arg0) {
361 : struct ldv_struct_random_containerless_scenario_5 *cf_arg_5;
362 4 : cf_arg_5 = ldv_xmalloc(sizeof(struct ldv_struct_random_containerless_scenario_5));
363 2 : cf_arg_5->arg0 = arg0;
364 2 : ldv_random_containerless_scenario_5(cf_arg_5);
365 1 : return;
366 : }
367 :
368 : /* AUX_FUNC ldv_emg_register_filesystem */
369 : int ldv_emg_register_filesystem(struct file_system_type *arg0) {
370 : /* LDV {"comment": "Control function 'register_filesystem'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_register_filesystem"} */
371 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
372 1 : struct file_system_type *ldv_12_struct_file_system_type_struct_file_system_type;
373 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
374 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
375 :
376 4 : if (ldv_undef_int()) {
377 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_super_operations' callbacks to register."} */
378 1 : ldv_12_struct_file_system_type_struct_file_system_type = arg0;
379 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
380 :
381 : /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register STRUCT_SUPER_OPERATIONS callbacks."} */
382 2 : ldv_dispatch_register_12_3(ldv_12_struct_file_system_type_struct_file_system_type);
383 : /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
384 :
385 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Fail registration of 'struct_super_operations' callbacks."} */
386 3 : return ldv_undef_int_negative();
387 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
388 :
389 : /* Exit function at a terminal state */
390 : }
391 : else {
392 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Registration of 'struct_super_operations' callbacks has been successful."} */
393 1 : return 0;
394 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
395 :
396 : /* Exit function at a terminal state */
397 : }
398 : /* End of the process */
399 : /* LDV {"comment": "End of control function based on process 'register_filesystem'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_register_filesystem"} */
400 : }
401 :
402 : /* AUX_FUNC ldv_emg_unregister_filesystem */
403 : int ldv_emg_unregister_filesystem(struct file_system_type *arg0) {
404 : /* LDV {"comment": "Control function 'unregister_filesystem'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_unregister_filesystem"} */
405 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
406 : struct file_system_type *ldv_11_struct_file_system_type_struct_file_system_type;
407 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
408 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_super_operations' callbacks to deregister."} */
409 2 : ldv_11_struct_file_system_type_struct_file_system_type = arg0;
410 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
411 :
412 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister STRUCT_SUPER_OPERATIONS callbacks."} */
413 4 : ldv_dispatch_deregister_11_1(ldv_11_struct_file_system_type_struct_file_system_type);
414 2 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_END"} */
415 :
416 : /* Exit function at a terminal state */
417 : /* End of the process */
418 : /* LDV {"comment": "End of control function based on process 'unregister_filesystem'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_unregister_filesystem"} */
419 : }
420 :
421 : /* AUX_FUNC ldv_insmod_10 */
422 : void ldv_insmod_10(void *arg0) {
423 : /* LDV {"thread": 10, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'insmod(artificial)'", "function": "ldv_insmod_10"} */
424 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
425 1 : void (*ldv_10_exit_ext2_fs_default)(void);
426 1 : int (*ldv_10_init_ext2_fs_default)(void);
427 1 : int ldv_10_ret_default;
428 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
429 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module initialization."} */
430 2 : ldv_free(arg0);
431 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_END"} */
432 :
433 : /* LDV {"action": "INIT_EXT2_FS", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the module after insmod with 'init_ext2_fs' function. Invoke callback init_ext2_fs from ARTIFICIAL."} */
434 : /* LDV {"type": "CALLBACK", "call": "ldv_10_ret_default = (init_ext2_fs)();", "comment": "init_ext2_fs"} */
435 2 : ldv_10_ret_default = ldv_insmod_init_ext2_fs_10_15(ldv_10_init_ext2_fs_default);
436 : /* Callback post-call */
437 2 : ldv_10_ret_default = ldv_post_init(ldv_10_ret_default);
438 : /* LDV {"action": "INIT_EXT2_FS", "type": "CALL_END"} */
439 :
440 4 : if (ldv_undef_int()) {
441 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize the module."} */
442 2 : ldv_assume(ldv_10_ret_default != 0);
443 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_END"} */
444 :
445 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
446 : /* Skip a non-replicative signal receiving */
447 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
448 :
449 : /* Exit function at a terminal state */
450 1 : return;
451 : }
452 : else {
453 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Module has been initialized."} */
454 2 : ldv_assume(ldv_10_ret_default == 0);
455 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_END"} */
456 :
457 4 : if (ldv_undef_int()) {
458 : /* LDV {"action": "DEFAULT_REGISTER_1", "type": "DISPATCH_BEGIN", "comment": "Register 'FILE_OPERATIONS' callbacks with unknown registration function."} */
459 2 : ldv_dispatch_default_register_1_10_11();
460 : /* LDV {"action": "DEFAULT_REGISTER_1", "type": "DISPATCH_END"} */
461 :
462 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_ADDRESS_SPACE_OPERATIONS' callbacks with unknown registration function."} */
463 2 : ldv_dispatch_default_register_2_10_10();
464 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "DISPATCH_END"} */
465 :
466 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_EXPORT_OPERATIONS' callbacks with unknown registration function."} */
467 2 : ldv_dispatch_default_register_3_10_9();
468 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_END"} */
469 :
470 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_XATTR_HANDLER' callbacks with unknown registration function."} */
471 2 : ldv_dispatch_default_register_7_10_8();
472 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "DISPATCH_END"} */
473 :
474 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_XATTR_HANDLER' callbacks with unknown deregistration function."} */
475 2 : ldv_dispatch_default_deregister_7_10_7();
476 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "DISPATCH_END"} */
477 :
478 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_EXPORT_OPERATIONS' callbacks with unknown deregistration function."} */
479 2 : ldv_dispatch_default_deregister_3_10_6();
480 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "DISPATCH_END"} */
481 :
482 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_ADDRESS_SPACE_OPERATIONS' callbacks with unknown deregistration function."} */
483 2 : ldv_dispatch_default_deregister_2_10_5();
484 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "DISPATCH_END"} */
485 :
486 : /* LDV {"action": "DEFAULT_DEREGISTER_1", "type": "DISPATCH_BEGIN", "comment": "Deregister 'FILE_OPERATIONS' callbacks with unknown deregistration function."} */
487 2 : ldv_dispatch_default_deregister_1_10_4();
488 : /* LDV {"action": "DEFAULT_DEREGISTER_1", "type": "DISPATCH_END"} */
489 :
490 : }
491 : else {
492 : /* LDV {"action": "NONE", "type": "CONDITION_BEGIN", "comment": "Skip default callbacks registrations and deregistrations."} */
493 : /* LDV {"action": "NONE", "type": "CONDITION_END"} */
494 :
495 : }
496 : /* LDV {"action": "EXIT_EXT2_FS", "type": "CALL_BEGIN", "callback": true, "comment": "Exit the module before its unloading with 'exit_ext2_fs' function. Invoke callback exit_ext2_fs from ARTIFICIAL."} */
497 : /* LDV {"type": "CALLBACK", "call": "(exit_ext2_fs)();", "comment": "exit_ext2_fs"} */
498 4 : ldv_insmod_exit_ext2_fs_10_2(ldv_10_exit_ext2_fs_default);
499 : /* LDV {"action": "EXIT_EXT2_FS", "type": "CALL_END"} */
500 :
501 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
502 : /* Skip a non-replicative signal receiving */
503 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
504 :
505 : /* Exit function at a terminal state */
506 1 : return;
507 : }
508 : /* End of the process */
509 : return;
510 : /* LDV {"comment": "End of control function based on process 'insmod(artificial)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_insmod_10"} */
511 : }
512 :
513 : /* AUX_FUNC_CALLBACK ldv_insmod_exit_ext2_fs_10_2 */
514 : void ldv_insmod_exit_ext2_fs_10_2(void (*arg0)(void)) {
515 4 : (exit_ext2_fs)();
516 2 : }
517 :
518 : /* AUX_FUNC_CALLBACK ldv_insmod_init_ext2_fs_10_15 */
519 : int ldv_insmod_init_ext2_fs_10_15(int (*arg0)(void)) {
520 5 : return (init_ext2_fs)();
521 1 : }
522 :
523 : /* AUX_FUNC ldv_main_13 */
524 : void ldv_main_13(void *arg0) {
525 : /* LDV {"thread": 13, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'main(main)'", "function": "ldv_main_13"} */
526 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
527 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
528 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Initialize rule models."} */
529 1 : ldv_initialize();
530 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
531 :
532 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Start environment model scenarios."} */
533 2 : ldv_dispatch_insmod_register_13_3();
534 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_END"} */
535 :
536 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Stop environment model scenarios."} */
537 2 : ldv_dispatch_insmod_deregister_13_2();
538 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_END"} */
539 :
540 : /* LDV {"action": "FINAL", "type": "CONDITION_BEGIN", "comment": "Check rule model state at the exit."} */
541 1 : ldv_check_final_state();
542 1 : ldv_stop();
543 : /* LDV {"action": "FINAL", "type": "CONDITION_END"} */
544 :
545 : /* Exit function at a terminal state */
546 0 : return;
547 : /* End of the process */
548 : return;
549 : /* LDV {"comment": "End of control function based on process 'main(main)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_main_13"} */
550 : }
551 :
552 : /* AUX_FUNC ldv_random_containerless_scenario_3 */
553 : void ldv_random_containerless_scenario_3(void *arg0) {
554 : /* LDV {"thread": 3, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_address_space_operations)'", "function": "ldv_random_containerless_scenario_3"} */
555 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
556 1 : long unsigned int (*ldv_3_callback_bmap)(struct address_space *, long unsigned int);
557 : ssize_t (*ldv_3_callback_direct_IO)(int, struct kiocb *, struct iovec *, loff_t , long unsigned int);
558 1 : int (*ldv_3_callback_error_remove_page)(struct address_space *, struct page *);
559 1 : int (*ldv_3_callback_is_partially_uptodate)(struct page *, read_descriptor_t *, long unsigned int);
560 : int (*ldv_3_callback_readpage)(struct file *, struct page *);
561 1 : int (*ldv_3_callback_readpages)(struct file *, struct address_space *, struct list_head *, unsigned int);
562 1 : void (*ldv_3_callback_sync_page)(struct page *);
563 : int (*ldv_3_callback_write_begin)(struct file *, struct address_space *, loff_t , unsigned int, unsigned int, struct page **, void **);
564 1 : int (*ldv_3_callback_write_end)(struct file *, struct address_space *, loff_t , unsigned int, unsigned int, struct page *, void *);
565 1 : int (*ldv_3_callback_writepage)(struct page *, struct writeback_control *);
566 : int (*ldv_3_callback_writepages)(struct address_space *, struct writeback_control *);
567 : struct address_space *ldv_3_container_struct_address_space_ptr;
568 1 : struct file *ldv_3_container_struct_file_ptr;
569 : struct iovec *ldv_3_container_struct_iovec_ptr;
570 : struct kiocb *ldv_3_container_struct_kiocb_ptr;
571 1 : struct list_head *ldv_3_container_struct_list_head_ptr;
572 1 : read_descriptor_t *ldv_3_container_struct_noname_2_ptr;
573 1 : struct page *ldv_3_container_struct_page_ptr;
574 1 : struct writeback_control *ldv_3_container_struct_writeback_control_ptr;
575 1 : int ldv_3_ldv_param_10_0_default;
576 1 : long long int ldv_3_ldv_param_10_3_default;
577 1 : long unsigned int ldv_3_ldv_param_10_4_default;
578 1 : long unsigned int ldv_3_ldv_param_14_2_default;
579 1 : unsigned int ldv_3_ldv_param_18_3_default;
580 1 : long long int ldv_3_ldv_param_22_2_default;
581 1 : unsigned int ldv_3_ldv_param_22_3_default;
582 1 : unsigned int ldv_3_ldv_param_22_4_default;
583 1 : long long int ldv_3_ldv_param_25_2_default;
584 1 : unsigned int ldv_3_ldv_param_25_3_default;
585 1 : unsigned int ldv_3_ldv_param_25_4_default;
586 1 : long unsigned int ldv_3_ldv_param_4_1_default;
587 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
588 1 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_ADDRESS_SPACE_OPERATIONS callbacks invocations scenario."} */
589 3 : ldv_free(arg0);
590 1 : /* LDV {"action": "DEFAULT_REGISTER_2", "type": "RECEIVE_END"} */
591 1 :
592 1 : /* LDV {"action": "DEFAULT_ALLOC_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
593 4 : ldv_3_container_struct_address_space_ptr = ldv_xmalloc_unknown_size(0);
594 4 : ldv_3_container_struct_file_ptr = ldv_xmalloc_unknown_size(0);
595 4 : ldv_3_container_struct_iovec_ptr = ldv_xmalloc_unknown_size(0);
596 4 : ldv_3_container_struct_kiocb_ptr = ldv_xmalloc_unknown_size(0);
597 4 : ldv_3_container_struct_list_head_ptr = ldv_xmalloc_unknown_size(0);
598 4 : ldv_3_container_struct_noname_2_ptr = ldv_xmalloc_unknown_size(0);
599 4 : ldv_3_container_struct_page_ptr = ldv_xmalloc_unknown_size(0);
600 4 : ldv_3_container_struct_writeback_control_ptr = ldv_xmalloc_unknown_size(0);
601 1 : /* LDV {"action": "DEFAULT_ALLOC_2", "type": "CONDITION_END"} */
602 1 :
603 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
604 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
605 :
606 : /* Jump to a subprocess 'call' initial state */
607 1 : goto ldv_call_3;
608 : /* End of the process */
609 : return;
610 1 :
611 : /* Sbprocess call */
612 : ldv_call_3:
613 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
614 :
615 4 : if (ldv_undef_int()) {
616 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
617 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
618 :
619 2 : switch (ldv_undef_int()) {
620 3 : case 1: {
621 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback writepages from address_space_operations."} */
622 : /* LDV {"type": "CALLBACK", "call": "((& ext2_writepages))(ldv_3_container_struct_address_space_ptr, ldv_3_container_struct_writeback_control_ptr);", "comment": "callback"} */
623 2 : ldv_random_containerless_scenario_callback_3_29(ldv_3_callback_writepages, ldv_3_container_struct_address_space_ptr, ldv_3_container_struct_writeback_control_ptr);
624 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
625 :
626 1 : break;
627 1 : }
628 3 : case 2: {
629 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback writepage from address_space_operations."} */
630 : /* LDV {"type": "CALLBACK", "call": "((& ext2_writepage))(ldv_3_container_struct_page_ptr, ldv_3_container_struct_writeback_control_ptr);", "comment": "callback"} */
631 2 : ldv_random_containerless_scenario_callback_3_28(ldv_3_callback_writepage, ldv_3_container_struct_page_ptr, ldv_3_container_struct_writeback_control_ptr);
632 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
633 :
634 1 : break;
635 1 : }
636 3 : case 3: {
637 : /* LDV {"action": "PRE_CALL_25", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
638 : /* LDV {"action": "PRE_CALL_25", "type": "CONDITION_END"} */
639 :
640 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback write_end from address_space_operations."} */
641 : /* LDV {"type": "CALLBACK", "call": "((& nobh_write_end))(ldv_3_container_struct_file_ptr, ldv_3_container_struct_address_space_ptr, ldv_3_ldv_param_25_2_default, ldv_3_ldv_param_25_3_default, ldv_3_ldv_param_25_4_default, ldv_3_container_struct_page_ptr, ldv_3_container_struct_iovec_ptr);", "comment": "callback"} */
642 2 : ldv_random_containerless_scenario_callback_3_25(ldv_3_callback_write_end, ldv_3_container_struct_file_ptr, ldv_3_container_struct_address_space_ptr, ldv_3_ldv_param_25_2_default, ldv_3_ldv_param_25_3_default, ldv_3_ldv_param_25_4_default, ldv_3_container_struct_page_ptr, ldv_3_container_struct_iovec_ptr);
643 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
644 :
645 : /* LDV {"action": "POST_CALL_25", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
646 : /* LDV {"action": "POST_CALL_25", "type": "CONDITION_END"} */
647 :
648 1 : break;
649 1 : }
650 3 : case 4: {
651 : /* LDV {"action": "PRE_CALL_22", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
652 : /* LDV {"action": "PRE_CALL_22", "type": "CONDITION_END"} */
653 :
654 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback write_begin from address_space_operations."} */
655 : /* LDV {"type": "CALLBACK", "call": "((& ext2_write_begin))(ldv_3_container_struct_file_ptr, ldv_3_container_struct_address_space_ptr, ldv_3_ldv_param_22_2_default, ldv_3_ldv_param_22_3_default, ldv_3_ldv_param_22_4_default, ldv_3_container_struct_page_ptr, ldv_3_container_struct_iovec_ptr);", "comment": "callback"} */
656 2 : ldv_random_containerless_scenario_callback_3_22(ldv_3_callback_write_begin, ldv_3_container_struct_file_ptr, ldv_3_container_struct_address_space_ptr, ldv_3_ldv_param_22_2_default, ldv_3_ldv_param_22_3_default, ldv_3_ldv_param_22_4_default, ldv_3_container_struct_page_ptr, ldv_3_container_struct_iovec_ptr);
657 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
658 :
659 : /* LDV {"action": "POST_CALL_22", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
660 : /* LDV {"action": "POST_CALL_22", "type": "CONDITION_END"} */
661 :
662 1 : break;
663 1 : }
664 3 : case 5: {
665 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sync_page from address_space_operations."} */
666 : /* LDV {"type": "CALLBACK", "call": "((& block_sync_page))(ldv_3_container_struct_page_ptr);", "comment": "callback"} */
667 2 : ldv_random_containerless_scenario_callback_3_21(ldv_3_callback_sync_page, ldv_3_container_struct_page_ptr);
668 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
669 :
670 1 : break;
671 1 : }
672 3 : case 6: {
673 : /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
674 : /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
675 :
676 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readpages from address_space_operations."} */
677 : /* LDV {"type": "CALLBACK", "call": "((& ext2_readpages))(ldv_3_container_struct_file_ptr, ldv_3_container_struct_address_space_ptr, ldv_3_container_struct_list_head_ptr, ldv_3_ldv_param_18_3_default);", "comment": "callback"} */
678 2 : ldv_random_containerless_scenario_callback_3_18(ldv_3_callback_readpages, ldv_3_container_struct_file_ptr, ldv_3_container_struct_address_space_ptr, ldv_3_container_struct_list_head_ptr, ldv_3_ldv_param_18_3_default);
679 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
680 :
681 : /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
682 : /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
683 :
684 1 : break;
685 1 : }
686 3 : case 7: {
687 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readpage from address_space_operations."} */
688 : /* LDV {"type": "CALLBACK", "call": "((& ext2_readpage))(ldv_3_container_struct_file_ptr, ldv_3_container_struct_page_ptr);", "comment": "callback"} */
689 2 : ldv_random_containerless_scenario_callback_3_17(ldv_3_callback_readpage, ldv_3_container_struct_file_ptr, ldv_3_container_struct_page_ptr);
690 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
691 :
692 1 : break;
693 1 : }
694 3 : case 8: {
695 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
696 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_END"} */
697 :
698 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback is_partially_uptodate from address_space_operations."} */
699 : /* LDV {"type": "CALLBACK", "call": "((& block_is_partially_uptodate))(ldv_3_container_struct_page_ptr, ldv_3_container_struct_noname_2_ptr, ldv_3_ldv_param_14_2_default);", "comment": "callback"} */
700 2 : ldv_random_containerless_scenario_callback_3_14(ldv_3_callback_is_partially_uptodate, ldv_3_container_struct_page_ptr, ldv_3_container_struct_noname_2_ptr, ldv_3_ldv_param_14_2_default);
701 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
702 :
703 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
704 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_END"} */
705 :
706 1 : break;
707 1 : }
708 3 : case 9: {
709 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback error_remove_page from address_space_operations."} */
710 : /* LDV {"type": "CALLBACK", "call": "((& generic_error_remove_page))(ldv_3_container_struct_address_space_ptr, ldv_3_container_struct_page_ptr);", "comment": "callback"} */
711 2 : ldv_random_containerless_scenario_callback_3_13(ldv_3_callback_error_remove_page, ldv_3_container_struct_address_space_ptr, ldv_3_container_struct_page_ptr);
712 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
713 :
714 1 : break;
715 1 : }
716 3 : case 10: {
717 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
718 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
719 :
720 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback direct_IO from address_space_operations."} */
721 : /* LDV {"type": "CALLBACK", "call": "((& ext2_direct_IO))(ldv_3_ldv_param_10_0_default, ldv_3_container_struct_kiocb_ptr, ldv_3_container_struct_iovec_ptr, ldv_3_ldv_param_10_3_default, ldv_3_ldv_param_10_4_default);", "comment": "callback"} */
722 2 : ldv_random_containerless_scenario_callback_3_10(ldv_3_callback_direct_IO, ldv_3_ldv_param_10_0_default, ldv_3_container_struct_kiocb_ptr, ldv_3_container_struct_iovec_ptr, ldv_3_ldv_param_10_3_default, ldv_3_ldv_param_10_4_default);
723 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
724 :
725 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
726 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
727 :
728 1 : break;
729 1 : }
730 3 : case 11: {
731 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback bmap from address_space_operations."} */
732 : /* LDV {"type": "CALLBACK", "call": "((& ext2_bmap))(ldv_3_container_struct_address_space_ptr, ldv_3_ldv_param_4_1_default);", "comment": "callback"} */
733 2 : ldv_random_containerless_scenario_callback_3_4(ldv_3_callback_bmap, ldv_3_container_struct_address_space_ptr, ldv_3_ldv_param_4_1_default);
734 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
735 :
736 1 : break;
737 1 : }
738 2 : default: ldv_stop();
739 1 : }
740 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
741 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
742 0 :
743 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
744 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
745 :
746 : /* Jump to a subprocess 'call' initial state */
747 11 : goto ldv_call_3;
748 : }
749 : else {
750 : /* LDV {"action": "DEFAULT_FREE_2", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
751 2 : ldv_free(ldv_3_container_struct_address_space_ptr);
752 2 : ldv_free(ldv_3_container_struct_file_ptr);
753 2 : ldv_free(ldv_3_container_struct_iovec_ptr);
754 2 : ldv_free(ldv_3_container_struct_kiocb_ptr);
755 2 : ldv_free(ldv_3_container_struct_list_head_ptr);
756 2 : ldv_free(ldv_3_container_struct_noname_2_ptr);
757 2 : ldv_free(ldv_3_container_struct_page_ptr);
758 2 : ldv_free(ldv_3_container_struct_writeback_control_ptr);
759 : /* LDV {"action": "DEFAULT_FREE_2", "type": "CONDITION_END"} */
760 :
761 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_ADDRESS_SPACE_OPERATIONS callbacks invocations scenario."} */
762 : /* Skip a non-replicative signal receiving */
763 : /* LDV {"action": "DEFAULT_DEREGISTER_2", "type": "RECEIVE_END"} */
764 :
765 : /* Exit function at a terminal state */
766 1 : return;
767 : }
768 : /* End of the subprocess 'call' */
769 : return;
770 : /* 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_3"} */
771 : }
772 :
773 : /* AUX_FUNC ldv_random_containerless_scenario_4 */
774 : void ldv_random_containerless_scenario_4(void *arg0) {
775 : /* LDV {"thread": 4, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_export_operations)'", "function": "ldv_random_containerless_scenario_4"} */
776 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
777 : struct dentry *(*ldv_4_callback_fh_to_dentry)(struct super_block *, struct fid *, int, int);
778 1 : struct dentry *(*ldv_4_callback_fh_to_parent)(struct super_block *, struct fid *, int, int);
779 : struct dentry *(*ldv_4_callback_get_parent)(struct dentry *);
780 1 : struct dentry *ldv_4_container_struct_dentry_ptr;
781 1 : struct fid *ldv_4_container_struct_fid_ptr;
782 1 : struct super_block *ldv_4_container_struct_super_block_ptr;
783 1 : int ldv_4_ldv_param_10_2_default;
784 1 : int ldv_4_ldv_param_10_3_default;
785 1 : int ldv_4_ldv_param_4_2_default;
786 1 : int ldv_4_ldv_param_4_3_default;
787 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
788 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_EXPORT_OPERATIONS callbacks invocations scenario."} */
789 3 : ldv_free(arg0);
790 1 : /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
791 1 :
792 1 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
793 3 : ldv_4_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
794 3 : ldv_4_container_struct_fid_ptr = ldv_xmalloc_unknown_size(0);
795 3 : ldv_4_container_struct_super_block_ptr = ldv_xmalloc_unknown_size(0);
796 : /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
797 :
798 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
799 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
800 :
801 : /* Jump to a subprocess 'call' initial state */
802 1 : goto ldv_call_4;
803 : /* End of the process */
804 : return;
805 1 :
806 : /* Sbprocess call */
807 : ldv_call_4:
808 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
809 :
810 4 : if (ldv_undef_int()) {
811 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
812 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
813 :
814 2 : switch (ldv_undef_int()) {
815 3 : case 1: {
816 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get_parent from export_operations."} */
817 : /* LDV {"type": "CALLBACK", "call": "((& ext2_get_parent))(ldv_4_container_struct_dentry_ptr);", "comment": "callback"} */
818 2 : ldv_random_containerless_scenario_callback_4_13(ldv_4_callback_get_parent, ldv_4_container_struct_dentry_ptr);
819 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
820 :
821 1 : break;
822 1 : }
823 3 : case 2: {
824 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
825 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
826 :
827 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fh_to_parent from export_operations."} */
828 : /* LDV {"type": "CALLBACK", "call": "((& ext2_fh_to_parent))(ldv_4_container_struct_super_block_ptr, ldv_4_container_struct_fid_ptr, ldv_4_ldv_param_10_2_default, ldv_4_ldv_param_10_3_default);", "comment": "callback"} */
829 2 : ldv_random_containerless_scenario_callback_4_10(ldv_4_callback_fh_to_parent, ldv_4_container_struct_super_block_ptr, ldv_4_container_struct_fid_ptr, ldv_4_ldv_param_10_2_default, ldv_4_ldv_param_10_3_default);
830 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
831 :
832 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
833 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
834 :
835 1 : break;
836 1 : }
837 3 : case 3: {
838 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fh_to_dentry from export_operations."} */
839 : /* LDV {"type": "CALLBACK", "call": "((& ext2_fh_to_dentry))(ldv_4_container_struct_super_block_ptr, ldv_4_container_struct_fid_ptr, ldv_4_ldv_param_4_2_default, ldv_4_ldv_param_4_3_default);", "comment": "callback"} */
840 2 : ldv_random_containerless_scenario_callback_4_4(ldv_4_callback_fh_to_dentry, ldv_4_container_struct_super_block_ptr, ldv_4_container_struct_fid_ptr, ldv_4_ldv_param_4_2_default, ldv_4_ldv_param_4_3_default);
841 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
842 :
843 1 : break;
844 1 : }
845 2 : default: ldv_stop();
846 1 : }
847 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
848 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
849 0 :
850 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
851 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
852 :
853 : /* Jump to a subprocess 'call' initial state */
854 3 : goto ldv_call_4;
855 : }
856 : else {
857 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
858 2 : ldv_free(ldv_4_container_struct_dentry_ptr);
859 2 : ldv_free(ldv_4_container_struct_fid_ptr);
860 2 : ldv_free(ldv_4_container_struct_super_block_ptr);
861 : /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
862 :
863 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_EXPORT_OPERATIONS callbacks invocations scenario."} */
864 : /* Skip a non-replicative signal receiving */
865 : /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
866 :
867 : /* Exit function at a terminal state */
868 1 : return;
869 : }
870 : /* End of the subprocess 'call' */
871 : return;
872 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_export_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_4"} */
873 : }
874 :
875 : /* AUX_FUNC ldv_random_containerless_scenario_5 */
876 : void ldv_random_containerless_scenario_5(void *arg0) {
877 : /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_super_operations)'", "function": "ldv_random_containerless_scenario_5"} */
878 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
879 1 : struct inode *(*ldv_5_callback_alloc_inode)(struct super_block *);
880 1 : void (*ldv_5_callback_clear_inode)(struct inode *);
881 1 : void (*ldv_5_callback_delete_inode)(struct inode *);
882 1 : void (*ldv_5_callback_destroy_inode)(struct inode *);
883 : int (*ldv_5_callback_get_sb)(struct file_system_type *, int, char *, void *, struct vfsmount *);
884 1 : void (*ldv_5_callback_kill_sb)(struct super_block *);
885 1 : void (*ldv_5_callback_put_super)(struct super_block *);
886 1 : int (*ldv_5_callback_remount_fs)(struct super_block *, ext2_grpblk_t *, char *);
887 1 : int (*ldv_5_callback_show_options)(struct seq_file *, struct vfsmount *);
888 1 : int (*ldv_5_callback_statfs)(struct dentry *, struct kstatfs *);
889 1 : int (*ldv_5_callback_sync_fs)(struct super_block *, int);
890 1 : int (*ldv_5_callback_write_inode)(struct inode *, int);
891 1 : void (*ldv_5_callback_write_super)(struct super_block *);
892 1 : struct dentry *ldv_5_container_struct_dentry_ptr;
893 1 : struct file_system_type *ldv_5_container_struct_file_system_type;
894 1 : struct inode *ldv_5_container_struct_inode_ptr;
895 1 : struct kstatfs *ldv_5_container_struct_kstatfs_ptr;
896 1 : struct seq_file *ldv_5_container_struct_seq_file_ptr;
897 1 : struct super_block *ldv_5_container_struct_super_block_ptr;
898 1 : struct vfsmount *ldv_5_container_struct_vfsmount_ptr;
899 1 : int *ldv_5_ldv_param_14_1_default;
900 1 : char *ldv_5_ldv_param_14_2_default;
901 1 : int ldv_5_ldv_param_19_1_default;
902 1 : int ldv_5_ldv_param_22_1_default;
903 1 : int ldv_5_ldv_param_9_1_default;
904 1 : char *ldv_5_ldv_param_9_2_default;
905 1 : /* Received labels */
906 2 : struct ldv_struct_random_containerless_scenario_5 *data = (struct ldv_struct_random_containerless_scenario_5*) arg0;
907 1 :
908 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
909 1 : /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_SUPER_OPERATIONS callbacks invocations scenario."} */
910 : /* Assign recieved labels */
911 2 : if (data) {
912 1 : ldv_5_container_struct_file_system_type = data->arg0;
913 2 : ldv_free(data);
914 : }
915 : /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
916 :
917 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
918 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
919 :
920 : /* Jump to a subprocess 'call' initial state */
921 2 : goto ldv_call_5;
922 : /* End of the process */
923 : return;
924 1 :
925 : /* Sbprocess call */
926 : ldv_call_5:
927 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
928 :
929 2 : switch (ldv_undef_int()) {
930 3 : case 1: {
931 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback write_super from super_operations."} */
932 : /* LDV {"type": "CALLBACK", "call": "((& ext2_write_super))(ldv_5_container_struct_super_block_ptr);", "comment": "callback"} */
933 2 : ldv_random_containerless_scenario_callback_5_25(ldv_5_callback_write_super, ldv_5_container_struct_super_block_ptr);
934 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
935 :
936 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
937 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
938 :
939 : /* Jump to a subprocess 'call' initial state */
940 1 : goto ldv_call_5;
941 1 : break;
942 : }
943 3 : case 2: {
944 : /* LDV {"action": "PRE_CALL_22", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
945 : /* LDV {"action": "PRE_CALL_22", "type": "CONDITION_END"} */
946 :
947 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback write_inode from super_operations."} */
948 : /* LDV {"type": "CALLBACK", "call": "((& ext2_write_inode))(ldv_5_container_struct_inode_ptr, ldv_5_ldv_param_22_1_default);", "comment": "callback"} */
949 2 : ldv_random_containerless_scenario_callback_5_22(ldv_5_callback_write_inode, ldv_5_container_struct_inode_ptr, ldv_5_ldv_param_22_1_default);
950 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
951 :
952 : /* LDV {"action": "POST_CALL_22", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
953 : /* LDV {"action": "POST_CALL_22", "type": "CONDITION_END"} */
954 :
955 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
956 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
957 :
958 : /* Jump to a subprocess 'call' initial state */
959 1 : goto ldv_call_5;
960 : /* Jump to a subprocess 'call' initial state */
961 : goto ldv_call_5;
962 1 : break;
963 : }
964 3 : case 3: {
965 : /* LDV {"action": "PRE_CALL_19", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
966 : /* LDV {"action": "PRE_CALL_19", "type": "CONDITION_END"} */
967 :
968 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sync_fs from super_operations."} */
969 : /* LDV {"type": "CALLBACK", "call": "((& ext2_sync_fs))(ldv_5_container_struct_super_block_ptr, ldv_5_ldv_param_19_1_default);", "comment": "callback"} */
970 2 : ldv_random_containerless_scenario_callback_5_19(ldv_5_callback_sync_fs, ldv_5_container_struct_super_block_ptr, ldv_5_ldv_param_19_1_default);
971 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
972 :
973 : /* LDV {"action": "POST_CALL_19", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
974 : /* LDV {"action": "POST_CALL_19", "type": "CONDITION_END"} */
975 :
976 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
977 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
978 :
979 : /* Jump to a subprocess 'call' initial state */
980 1 : goto ldv_call_5;
981 : /* Jump to a subprocess 'call' initial state */
982 : goto ldv_call_5;
983 : /* Jump to a subprocess 'call' initial state */
984 : goto ldv_call_5;
985 1 : break;
986 : }
987 3 : case 4: {
988 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback statfs from super_operations."} */
989 : /* LDV {"type": "CALLBACK", "call": "((& ext2_statfs))(ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_kstatfs_ptr);", "comment": "callback"} */
990 2 : ldv_random_containerless_scenario_callback_5_18(ldv_5_callback_statfs, ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_kstatfs_ptr);
991 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
992 :
993 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
994 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
995 :
996 : /* Jump to a subprocess 'call' initial state */
997 1 : goto ldv_call_5;
998 : /* Jump to a subprocess 'call' initial state */
999 : goto ldv_call_5;
1000 : /* Jump to a subprocess 'call' initial state */
1001 : goto ldv_call_5;
1002 : /* Jump to a subprocess 'call' initial state */
1003 : goto ldv_call_5;
1004 1 : break;
1005 : }
1006 3 : case 5: {
1007 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show_options from super_operations."} */
1008 : /* LDV {"type": "CALLBACK", "call": "((& ext2_show_options))(ldv_5_container_struct_seq_file_ptr, ldv_5_container_struct_vfsmount_ptr);", "comment": "callback"} */
1009 2 : ldv_random_containerless_scenario_callback_5_17(ldv_5_callback_show_options, ldv_5_container_struct_seq_file_ptr, ldv_5_container_struct_vfsmount_ptr);
1010 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1011 :
1012 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1013 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1014 :
1015 : /* Jump to a subprocess 'call' initial state */
1016 1 : goto ldv_call_5;
1017 : /* Jump to a subprocess 'call' initial state */
1018 : goto ldv_call_5;
1019 : /* Jump to a subprocess 'call' initial state */
1020 : goto ldv_call_5;
1021 : /* Jump to a subprocess 'call' initial state */
1022 : goto ldv_call_5;
1023 : /* Jump to a subprocess 'call' initial state */
1024 : goto ldv_call_5;
1025 1 : break;
1026 : }
1027 3 : case 6: {
1028 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1029 3 : ldv_5_ldv_param_14_1_default = ldv_xmalloc_unknown_size(0);
1030 3 : ldv_5_ldv_param_14_2_default = ldv_xmalloc_unknown_size(0);
1031 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_END"} */
1032 :
1033 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback remount_fs from super_operations."} */
1034 : /* LDV {"type": "CALLBACK", "call": "((& ext2_remount))(ldv_5_container_struct_super_block_ptr, ldv_5_ldv_param_14_1_default, ldv_5_ldv_param_14_2_default);", "comment": "callback"} */
1035 2 : ldv_random_containerless_scenario_callback_5_14(ldv_5_callback_remount_fs, ldv_5_container_struct_super_block_ptr, ldv_5_ldv_param_14_1_default, ldv_5_ldv_param_14_2_default);
1036 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1037 :
1038 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1039 2 : ldv_free(ldv_5_ldv_param_14_1_default);
1040 2 : ldv_free(ldv_5_ldv_param_14_2_default);
1041 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_END"} */
1042 :
1043 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1044 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1045 :
1046 : /* Jump to a subprocess 'call' initial state */
1047 1 : goto ldv_call_5;
1048 : /* Jump to a subprocess 'call' initial state */
1049 : goto ldv_call_5;
1050 : /* Jump to a subprocess 'call' initial state */
1051 : goto ldv_call_5;
1052 : /* Jump to a subprocess 'call' initial state */
1053 : goto ldv_call_5;
1054 : /* Jump to a subprocess 'call' initial state */
1055 : goto ldv_call_5;
1056 : /* Jump to a subprocess 'call' initial state */
1057 : goto ldv_call_5;
1058 1 : break;
1059 : }
1060 3 : case 7: {
1061 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback put_super from super_operations."} */
1062 : /* LDV {"type": "CALLBACK", "call": "((& ext2_put_super))(ldv_5_container_struct_super_block_ptr);", "comment": "callback"} */
1063 2 : ldv_random_containerless_scenario_callback_5_13(ldv_5_callback_put_super, ldv_5_container_struct_super_block_ptr);
1064 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1065 :
1066 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1067 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1068 :
1069 : /* Jump to a subprocess 'call' initial state */
1070 1 : goto ldv_call_5;
1071 : /* Jump to a subprocess 'call' initial state */
1072 : goto ldv_call_5;
1073 : /* Jump to a subprocess 'call' initial state */
1074 : goto ldv_call_5;
1075 : /* Jump to a subprocess 'call' initial state */
1076 : goto ldv_call_5;
1077 : /* Jump to a subprocess 'call' initial state */
1078 : goto ldv_call_5;
1079 : /* Jump to a subprocess 'call' initial state */
1080 : goto ldv_call_5;
1081 : /* Jump to a subprocess 'call' initial state */
1082 : goto ldv_call_5;
1083 1 : break;
1084 : }
1085 3 : case 8: {
1086 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback kill_sb from file_system_type."} */
1087 : /* LDV {"type": "CALLBACK", "call": "((& kill_block_super))(ldv_5_container_struct_super_block_ptr);", "comment": "callback"} */
1088 2 : ldv_random_containerless_scenario_callback_5_12(ldv_5_callback_kill_sb, ldv_5_container_struct_super_block_ptr);
1089 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1090 :
1091 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1092 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1093 :
1094 : /* Jump to a subprocess 'call' initial state */
1095 1 : goto ldv_call_5;
1096 : /* Jump to a subprocess 'call' initial state */
1097 : goto ldv_call_5;
1098 : /* Jump to a subprocess 'call' initial state */
1099 : goto ldv_call_5;
1100 : /* Jump to a subprocess 'call' initial state */
1101 : goto ldv_call_5;
1102 : /* Jump to a subprocess 'call' initial state */
1103 : goto ldv_call_5;
1104 : /* Jump to a subprocess 'call' initial state */
1105 : goto ldv_call_5;
1106 : /* Jump to a subprocess 'call' initial state */
1107 : goto ldv_call_5;
1108 : /* Jump to a subprocess 'call' initial state */
1109 : goto ldv_call_5;
1110 1 : break;
1111 : }
1112 3 : case 9: {
1113 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1114 3 : ldv_5_ldv_param_9_2_default = ldv_xmalloc_unknown_size(0);
1115 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_END"} */
1116 :
1117 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get_sb from file_system_type."} */
1118 : /* LDV {"type": "CALLBACK", "call": "((& ext2_get_sb))(ldv_5_container_struct_file_system_type, ldv_5_ldv_param_9_1_default, ldv_5_ldv_param_9_2_default, ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_vfsmount_ptr);", "comment": "callback"} */
1119 2 : ldv_random_containerless_scenario_callback_5_9(ldv_5_callback_get_sb, ldv_5_container_struct_file_system_type, ldv_5_ldv_param_9_1_default, ldv_5_ldv_param_9_2_default, ldv_5_container_struct_dentry_ptr, ldv_5_container_struct_vfsmount_ptr);
1120 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1121 :
1122 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1123 2 : ldv_free(ldv_5_ldv_param_9_2_default);
1124 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_END"} */
1125 :
1126 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1127 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1128 :
1129 : /* Jump to a subprocess 'call' initial state */
1130 1 : goto ldv_call_5;
1131 : /* Jump to a subprocess 'call' initial state */
1132 : goto ldv_call_5;
1133 : /* Jump to a subprocess 'call' initial state */
1134 : goto ldv_call_5;
1135 : /* Jump to a subprocess 'call' initial state */
1136 : goto ldv_call_5;
1137 : /* Jump to a subprocess 'call' initial state */
1138 : goto ldv_call_5;
1139 : /* Jump to a subprocess 'call' initial state */
1140 : goto ldv_call_5;
1141 : /* Jump to a subprocess 'call' initial state */
1142 : goto ldv_call_5;
1143 : /* Jump to a subprocess 'call' initial state */
1144 : goto ldv_call_5;
1145 : /* Jump to a subprocess 'call' initial state */
1146 : goto ldv_call_5;
1147 1 : break;
1148 : }
1149 3 : case 10: {
1150 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback destroy_inode from super_operations."} */
1151 : /* LDV {"type": "CALLBACK", "call": "((& ext2_destroy_inode))(ldv_5_container_struct_inode_ptr);", "comment": "callback"} */
1152 2 : ldv_random_containerless_scenario_callback_5_8(ldv_5_callback_destroy_inode, ldv_5_container_struct_inode_ptr);
1153 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1154 :
1155 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1156 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1157 :
1158 : /* Jump to a subprocess 'call' initial state */
1159 1 : goto ldv_call_5;
1160 : /* Jump to a subprocess 'call' initial state */
1161 : goto ldv_call_5;
1162 : /* Jump to a subprocess 'call' initial state */
1163 : goto ldv_call_5;
1164 : /* Jump to a subprocess 'call' initial state */
1165 : goto ldv_call_5;
1166 : /* Jump to a subprocess 'call' initial state */
1167 : goto ldv_call_5;
1168 : /* Jump to a subprocess 'call' initial state */
1169 : goto ldv_call_5;
1170 : /* Jump to a subprocess 'call' initial state */
1171 : goto ldv_call_5;
1172 : /* Jump to a subprocess 'call' initial state */
1173 : goto ldv_call_5;
1174 : /* Jump to a subprocess 'call' initial state */
1175 : goto ldv_call_5;
1176 : /* Jump to a subprocess 'call' initial state */
1177 : goto ldv_call_5;
1178 1 : break;
1179 : }
1180 3 : case 11: {
1181 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback delete_inode from super_operations."} */
1182 : /* LDV {"type": "CALLBACK", "call": "((& ext2_delete_inode))(ldv_5_container_struct_inode_ptr);", "comment": "callback"} */
1183 2 : ldv_random_containerless_scenario_callback_5_7(ldv_5_callback_delete_inode, ldv_5_container_struct_inode_ptr);
1184 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1185 :
1186 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1187 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1188 :
1189 : /* Jump to a subprocess 'call' initial state */
1190 1 : goto ldv_call_5;
1191 : /* Jump to a subprocess 'call' initial state */
1192 : goto ldv_call_5;
1193 : /* Jump to a subprocess 'call' initial state */
1194 : goto ldv_call_5;
1195 : /* Jump to a subprocess 'call' initial state */
1196 : goto ldv_call_5;
1197 : /* Jump to a subprocess 'call' initial state */
1198 : goto ldv_call_5;
1199 : /* Jump to a subprocess 'call' initial state */
1200 : goto ldv_call_5;
1201 : /* Jump to a subprocess 'call' initial state */
1202 : goto ldv_call_5;
1203 : /* Jump to a subprocess 'call' initial state */
1204 : goto ldv_call_5;
1205 : /* Jump to a subprocess 'call' initial state */
1206 : goto ldv_call_5;
1207 : /* Jump to a subprocess 'call' initial state */
1208 : goto ldv_call_5;
1209 : /* Jump to a subprocess 'call' initial state */
1210 : goto ldv_call_5;
1211 1 : break;
1212 : }
1213 3 : case 12: {
1214 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback clear_inode from super_operations."} */
1215 : /* LDV {"type": "CALLBACK", "call": "((& ext2_clear_inode))(ldv_5_container_struct_inode_ptr);", "comment": "callback"} */
1216 2 : ldv_random_containerless_scenario_callback_5_6(ldv_5_callback_clear_inode, ldv_5_container_struct_inode_ptr);
1217 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1218 :
1219 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1220 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1221 :
1222 : /* Jump to a subprocess 'call' initial state */
1223 1 : goto ldv_call_5;
1224 : /* Jump to a subprocess 'call' initial state */
1225 : goto ldv_call_5;
1226 : /* Jump to a subprocess 'call' initial state */
1227 : goto ldv_call_5;
1228 : /* Jump to a subprocess 'call' initial state */
1229 : goto ldv_call_5;
1230 : /* Jump to a subprocess 'call' initial state */
1231 : goto ldv_call_5;
1232 : /* Jump to a subprocess 'call' initial state */
1233 : goto ldv_call_5;
1234 : /* Jump to a subprocess 'call' initial state */
1235 : goto ldv_call_5;
1236 : /* Jump to a subprocess 'call' initial state */
1237 : goto ldv_call_5;
1238 : /* Jump to a subprocess 'call' initial state */
1239 : goto ldv_call_5;
1240 : /* Jump to a subprocess 'call' initial state */
1241 : goto ldv_call_5;
1242 : /* Jump to a subprocess 'call' initial state */
1243 : goto ldv_call_5;
1244 : /* Jump to a subprocess 'call' initial state */
1245 : goto ldv_call_5;
1246 1 : break;
1247 : }
1248 3 : case 13: {
1249 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback alloc_inode from super_operations."} */
1250 : /* LDV {"type": "CALLBACK", "call": "((& ext2_alloc_inode))(ldv_5_container_struct_super_block_ptr);", "comment": "callback"} */
1251 2 : ldv_random_containerless_scenario_callback_5_3(ldv_5_callback_alloc_inode, ldv_5_container_struct_super_block_ptr);
1252 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1253 :
1254 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1255 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1256 :
1257 : /* Jump to a subprocess 'call' initial state */
1258 1 : goto ldv_call_5;
1259 : /* Jump to a subprocess 'call' initial state */
1260 : goto ldv_call_5;
1261 : /* Jump to a subprocess 'call' initial state */
1262 : goto ldv_call_5;
1263 : /* Jump to a subprocess 'call' initial state */
1264 : goto ldv_call_5;
1265 : /* Jump to a subprocess 'call' initial state */
1266 : goto ldv_call_5;
1267 : /* Jump to a subprocess 'call' initial state */
1268 : goto ldv_call_5;
1269 : /* Jump to a subprocess 'call' initial state */
1270 : goto ldv_call_5;
1271 : /* Jump to a subprocess 'call' initial state */
1272 : goto ldv_call_5;
1273 : /* Jump to a subprocess 'call' initial state */
1274 : goto ldv_call_5;
1275 : /* Jump to a subprocess 'call' initial state */
1276 : goto ldv_call_5;
1277 : /* Jump to a subprocess 'call' initial state */
1278 : goto ldv_call_5;
1279 : /* Jump to a subprocess 'call' initial state */
1280 : goto ldv_call_5;
1281 : /* Jump to a subprocess 'call' initial state */
1282 : goto ldv_call_5;
1283 1 : break;
1284 : }
1285 3 : case 14: {
1286 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_SUPER_OPERATIONS callbacks invocations scenario."} */
1287 : /* Skip a non-replicative signal receiving */
1288 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
1289 :
1290 : /* Exit function at a terminal state */
1291 1 : return;
1292 1 : break;
1293 : }
1294 2 : default: ldv_stop();
1295 1 : }
1296 0 : /* End of the subprocess 'call' */
1297 0 : return;
1298 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_super_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_5"} */
1299 : }
1300 :
1301 : /* AUX_FUNC ldv_random_containerless_scenario_6 */
1302 : void ldv_random_containerless_scenario_6(void *arg0) {
1303 : /* LDV {"thread": 6, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_xattr_handler)'", "function": "ldv_random_containerless_scenario_6"} */
1304 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1305 1 : int (*ldv_6_callback_create)(struct inode *, struct dentry *, int, struct nameidata *);
1306 : int (*ldv_6_callback_fiemap)(struct inode *, struct fiemap_extent_info *, u64 , u64 );
1307 1 : void *(*ldv_6_callback_follow_link)(struct dentry *, struct nameidata *);
1308 1 : int (*ldv_6_callback_get)(struct dentry *, char *, void *, size_t , int);
1309 1 : ssize_t (*ldv_6_callback_getxattr)(struct dentry *, char *, void *, size_t );
1310 1 : int (*ldv_6_callback_link)(struct dentry *, struct inode *, struct dentry *);
1311 1 : size_t (*ldv_6_callback_list)(struct dentry *, char *, size_t , char *, size_t , int);
1312 : ssize_t (*ldv_6_callback_listxattr)(struct dentry *, char *, size_t );
1313 1 : struct dentry *(*ldv_6_callback_lookup)(struct inode *, struct dentry *, struct nameidata *);
1314 1 : int (*ldv_6_callback_mkdir)(struct inode *, struct dentry *, int);
1315 1 : int (*ldv_6_callback_mknod)(struct inode *, struct dentry *, int, unsigned int);
1316 1 : void (*ldv_6_callback_put_link)(struct dentry *, struct nameidata *, void *);
1317 1 : int (*ldv_6_callback_readlink)(struct dentry *, char *, int);
1318 1 : int (*ldv_6_callback_removexattr)(struct dentry *, char *);
1319 1 : int (*ldv_6_callback_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);
1320 1 : int (*ldv_6_callback_rmdir)(struct inode *, struct dentry *);
1321 : int (*ldv_6_callback_set)(struct dentry *, char *, void *, size_t , int, int);
1322 1 : int (*ldv_6_callback_setattr)(struct dentry *, struct iattr *);
1323 1 : int (*ldv_6_callback_setxattr)(struct dentry *, char *, void *, size_t , int);
1324 1 : int (*ldv_6_callback_symlink)(struct inode *, struct dentry *, char *);
1325 1 : void (*ldv_6_callback_truncate)(struct inode *);
1326 1 : int (*ldv_6_callback_unlink)(struct inode *, struct dentry *);
1327 1 : struct dentry *ldv_6_container_struct_dentry_ptr;
1328 1 : struct fiemap_extent_info *ldv_6_container_struct_fiemap_extent_info_ptr;
1329 1 : struct iattr *ldv_6_container_struct_iattr_ptr;
1330 1 : struct inode *ldv_6_container_struct_inode_ptr;
1331 1 : struct nameidata *ldv_6_container_struct_nameidata_ptr;
1332 1 : long long unsigned int ldv_6_ldv_param_10_2_default;
1333 1 : long long unsigned int ldv_6_ldv_param_10_3_default;
1334 1 : char *ldv_6_ldv_param_14_1_default;
1335 1 : long unsigned int ldv_6_ldv_param_14_3_default;
1336 1 : int ldv_6_ldv_param_14_4_default;
1337 1 : char *ldv_6_ldv_param_17_1_default;
1338 1 : long unsigned int ldv_6_ldv_param_17_3_default;
1339 1 : struct dentry *ldv_6_ldv_param_20_2_default;
1340 1 : char *ldv_6_ldv_param_23_1_default;
1341 1 : long unsigned int ldv_6_ldv_param_23_2_default;
1342 1 : char *ldv_6_ldv_param_23_3_default;
1343 1 : long unsigned int ldv_6_ldv_param_23_4_default;
1344 1 : int ldv_6_ldv_param_23_5_default;
1345 1 : char *ldv_6_ldv_param_26_1_default;
1346 1 : long unsigned int ldv_6_ldv_param_26_2_default;
1347 1 : int ldv_6_ldv_param_30_2_default;
1348 1 : int ldv_6_ldv_param_33_2_default;
1349 1 : unsigned int ldv_6_ldv_param_33_3_default;
1350 1 : char *ldv_6_ldv_param_37_1_default;
1351 1 : int ldv_6_ldv_param_37_2_default;
1352 1 : char *ldv_6_ldv_param_40_1_default;
1353 1 : struct inode *ldv_6_ldv_param_43_2_default;
1354 1 : struct dentry *ldv_6_ldv_param_43_3_default;
1355 1 : char *ldv_6_ldv_param_47_1_default;
1356 1 : long unsigned int ldv_6_ldv_param_47_3_default;
1357 1 : int ldv_6_ldv_param_47_4_default;
1358 1 : int ldv_6_ldv_param_47_5_default;
1359 1 : int ldv_6_ldv_param_4_2_default;
1360 1 : char *ldv_6_ldv_param_51_1_default;
1361 1 : long unsigned int ldv_6_ldv_param_51_3_default;
1362 1 : int ldv_6_ldv_param_51_4_default;
1363 1 : char *ldv_6_ldv_param_54_2_default;
1364 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1365 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
1366 3 : ldv_free(arg0);
1367 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
1368 1 :
1369 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
1370 4 : ldv_6_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
1371 4 : ldv_6_container_struct_fiemap_extent_info_ptr = ldv_xmalloc_unknown_size(0);
1372 4 : ldv_6_container_struct_iattr_ptr = ldv_xmalloc_unknown_size(0);
1373 4 : ldv_6_container_struct_inode_ptr = ldv_xmalloc_unknown_size(0);
1374 4 : ldv_6_container_struct_nameidata_ptr = ldv_xmalloc_unknown_size(0);
1375 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
1376 1 :
1377 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1378 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1379 1 :
1380 1 : /* Jump to a subprocess 'call' initial state */
1381 2 : goto ldv_call_6;
1382 1 : /* End of the process */
1383 1 : return;
1384 2 :
1385 1 : /* Sbprocess call */
1386 : ldv_call_6:
1387 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1388 :
1389 4 : if (ldv_undef_int()) {
1390 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1391 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
1392 :
1393 2 : switch (ldv_undef_int()) {
1394 3 : case 1: {
1395 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback unlink from inode_operations."} */
1396 : /* LDV {"type": "CALLBACK", "call": "((& ext2_unlink))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr);", "comment": "callback"} */
1397 2 : ldv_random_containerless_scenario_callback_6_58(ldv_6_callback_unlink, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr);
1398 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1399 :
1400 1 : break;
1401 1 : }
1402 3 : case 2: {
1403 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback truncate from inode_operations."} */
1404 : /* LDV {"type": "CALLBACK", "call": "((& ext2_truncate))(ldv_6_container_struct_inode_ptr);", "comment": "callback"} */
1405 2 : ldv_random_containerless_scenario_callback_6_57(ldv_6_callback_truncate, ldv_6_container_struct_inode_ptr);
1406 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1407 :
1408 1 : break;
1409 1 : }
1410 3 : case 3: {
1411 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1412 3 : ldv_6_ldv_param_54_2_default = ldv_xmalloc_unknown_size(0);
1413 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_END"} */
1414 :
1415 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback symlink from inode_operations."} */
1416 : /* LDV {"type": "CALLBACK", "call": "((& ext2_symlink))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_54_2_default);", "comment": "callback"} */
1417 2 : ldv_random_containerless_scenario_callback_6_54(ldv_6_callback_symlink, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_54_2_default);
1418 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1419 :
1420 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1421 2 : ldv_free(ldv_6_ldv_param_54_2_default);
1422 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_END"} */
1423 :
1424 1 : break;
1425 1 : }
1426 3 : case 4: {
1427 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1428 3 : ldv_6_ldv_param_51_1_default = ldv_xmalloc_unknown_size(0);
1429 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_END"} */
1430 :
1431 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setxattr from inode_operations."} */
1432 : /* LDV {"type": "CALLBACK", "call": "((& generic_setxattr))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_51_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_51_3_default, ldv_6_ldv_param_51_4_default);", "comment": "callback"} */
1433 2 : ldv_random_containerless_scenario_callback_6_51(ldv_6_callback_setxattr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_51_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_51_3_default, ldv_6_ldv_param_51_4_default);
1434 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1435 :
1436 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1437 2 : ldv_free(ldv_6_ldv_param_51_1_default);
1438 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_END"} */
1439 :
1440 1 : break;
1441 1 : }
1442 3 : case 5: {
1443 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setattr from inode_operations."} */
1444 : /* LDV {"type": "CALLBACK", "call": "((& ext2_setattr))(ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_iattr_ptr);", "comment": "callback"} */
1445 2 : ldv_random_containerless_scenario_callback_6_50(ldv_6_callback_setattr, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_iattr_ptr);
1446 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1447 :
1448 1 : break;
1449 1 : }
1450 3 : case 6: {
1451 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1452 3 : ldv_6_ldv_param_47_1_default = ldv_xmalloc_unknown_size(0);
1453 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_END"} */
1454 :
1455 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback set from xattr_handler."} */
1456 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_security_set))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_47_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_47_3_default, ldv_6_ldv_param_47_4_default, ldv_6_ldv_param_47_5_default);", "comment": "callback"} */
1457 2 : ldv_random_containerless_scenario_callback_6_47(ldv_6_callback_set, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_47_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_47_3_default, ldv_6_ldv_param_47_4_default, ldv_6_ldv_param_47_5_default);
1458 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1459 :
1460 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1461 2 : ldv_free(ldv_6_ldv_param_47_1_default);
1462 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_END"} */
1463 :
1464 1 : break;
1465 1 : }
1466 3 : case 7: {
1467 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rmdir from inode_operations."} */
1468 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rmdir))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr);", "comment": "callback"} */
1469 2 : ldv_random_containerless_scenario_callback_6_46(ldv_6_callback_rmdir, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr);
1470 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1471 :
1472 1 : break;
1473 1 : }
1474 3 : case 8: {
1475 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1476 3 : ldv_6_ldv_param_43_2_default = ldv_xmalloc_unknown_size(0);
1477 3 : ldv_6_ldv_param_43_3_default = ldv_xmalloc_unknown_size(0);
1478 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_END"} */
1479 :
1480 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rename from inode_operations."} */
1481 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rename))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_43_2_default, ldv_6_ldv_param_43_3_default);", "comment": "callback"} */
1482 2 : ldv_random_containerless_scenario_callback_6_43(ldv_6_callback_rename, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_43_2_default, ldv_6_ldv_param_43_3_default);
1483 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1484 :
1485 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1486 2 : ldv_free(ldv_6_ldv_param_43_2_default);
1487 2 : ldv_free(ldv_6_ldv_param_43_3_default);
1488 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_END"} */
1489 :
1490 1 : break;
1491 1 : }
1492 3 : case 9: {
1493 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1494 3 : ldv_6_ldv_param_40_1_default = ldv_xmalloc_unknown_size(0);
1495 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_END"} */
1496 :
1497 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback removexattr from inode_operations."} */
1498 : /* LDV {"type": "CALLBACK", "call": "((& generic_removexattr))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_40_1_default);", "comment": "callback"} */
1499 2 : ldv_random_containerless_scenario_callback_6_40(ldv_6_callback_removexattr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_40_1_default);
1500 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1501 :
1502 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1503 2 : ldv_free(ldv_6_ldv_param_40_1_default);
1504 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_END"} */
1505 :
1506 1 : break;
1507 1 : }
1508 3 : case 10: {
1509 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1510 3 : ldv_6_ldv_param_37_1_default = ldv_xmalloc_unknown_size(0);
1511 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_END"} */
1512 :
1513 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readlink from inode_operations."} */
1514 : /* LDV {"type": "CALLBACK", "call": "((& generic_readlink))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_37_1_default, ldv_6_ldv_param_37_2_default);", "comment": "callback"} */
1515 2 : ldv_random_containerless_scenario_callback_6_37(ldv_6_callback_readlink, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_37_1_default, ldv_6_ldv_param_37_2_default);
1516 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1517 :
1518 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1519 2 : ldv_free(ldv_6_ldv_param_37_1_default);
1520 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_END"} */
1521 :
1522 1 : break;
1523 1 : }
1524 3 : case 11: {
1525 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback put_link from inode_operations."} */
1526 : /* LDV {"type": "CALLBACK", "call": "((& page_put_link))(ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_nameidata_ptr, ldv_6_container_struct_fiemap_extent_info_ptr);", "comment": "callback"} */
1527 2 : ldv_random_containerless_scenario_callback_6_36(ldv_6_callback_put_link, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_nameidata_ptr, ldv_6_container_struct_fiemap_extent_info_ptr);
1528 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1529 :
1530 1 : break;
1531 1 : }
1532 3 : case 12: {
1533 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1534 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_END"} */
1535 :
1536 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mknod from inode_operations."} */
1537 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mknod))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_33_2_default, ldv_6_ldv_param_33_3_default);", "comment": "callback"} */
1538 2 : ldv_random_containerless_scenario_callback_6_33(ldv_6_callback_mknod, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_33_2_default, ldv_6_ldv_param_33_3_default);
1539 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1540 :
1541 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1542 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_END"} */
1543 :
1544 1 : break;
1545 1 : }
1546 3 : case 13: {
1547 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1548 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_END"} */
1549 :
1550 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mkdir from inode_operations."} */
1551 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mkdir))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_30_2_default);", "comment": "callback"} */
1552 2 : ldv_random_containerless_scenario_callback_6_30(ldv_6_callback_mkdir, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_30_2_default);
1553 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1554 :
1555 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1556 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_END"} */
1557 :
1558 1 : break;
1559 1 : }
1560 3 : case 14: {
1561 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback lookup from inode_operations."} */
1562 : /* LDV {"type": "CALLBACK", "call": "((& ext2_lookup))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_nameidata_ptr);", "comment": "callback"} */
1563 2 : ldv_random_containerless_scenario_callback_6_29(ldv_6_callback_lookup, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_nameidata_ptr);
1564 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1565 :
1566 1 : break;
1567 1 : }
1568 3 : case 15: {
1569 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1570 3 : ldv_6_ldv_param_26_1_default = ldv_xmalloc_unknown_size(0);
1571 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_END"} */
1572 :
1573 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback listxattr from inode_operations."} */
1574 : /* LDV {"type": "CALLBACK", "call": "((& ext2_listxattr))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_26_1_default, ldv_6_ldv_param_26_2_default);", "comment": "callback"} */
1575 2 : ldv_random_containerless_scenario_callback_6_26(ldv_6_callback_listxattr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_26_1_default, ldv_6_ldv_param_26_2_default);
1576 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1577 :
1578 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1579 2 : ldv_free(ldv_6_ldv_param_26_1_default);
1580 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_END"} */
1581 :
1582 1 : break;
1583 1 : }
1584 3 : case 16: {
1585 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1586 3 : ldv_6_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
1587 3 : ldv_6_ldv_param_23_3_default = ldv_xmalloc_unknown_size(0);
1588 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
1589 :
1590 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback list from xattr_handler."} */
1591 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_security_list))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_23_1_default, ldv_6_ldv_param_23_2_default, ldv_6_ldv_param_23_3_default, ldv_6_ldv_param_23_4_default, ldv_6_ldv_param_23_5_default);", "comment": "callback"} */
1592 2 : ldv_random_containerless_scenario_callback_6_23(ldv_6_callback_list, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_23_1_default, ldv_6_ldv_param_23_2_default, ldv_6_ldv_param_23_3_default, ldv_6_ldv_param_23_4_default, ldv_6_ldv_param_23_5_default);
1593 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1594 :
1595 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1596 2 : ldv_free(ldv_6_ldv_param_23_1_default);
1597 2 : ldv_free(ldv_6_ldv_param_23_3_default);
1598 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
1599 :
1600 1 : break;
1601 1 : }
1602 3 : case 17: {
1603 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1604 3 : ldv_6_ldv_param_20_2_default = ldv_xmalloc_unknown_size(0);
1605 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_END"} */
1606 :
1607 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback link from inode_operations."} */
1608 : /* LDV {"type": "CALLBACK", "call": "((& ext2_link))(ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_inode_ptr, ldv_6_ldv_param_20_2_default);", "comment": "callback"} */
1609 2 : ldv_random_containerless_scenario_callback_6_20(ldv_6_callback_link, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_inode_ptr, ldv_6_ldv_param_20_2_default);
1610 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1611 :
1612 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1613 2 : ldv_free(ldv_6_ldv_param_20_2_default);
1614 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_END"} */
1615 :
1616 1 : break;
1617 1 : }
1618 3 : case 18: {
1619 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1620 3 : ldv_6_ldv_param_17_1_default = ldv_xmalloc_unknown_size(0);
1621 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_END"} */
1622 :
1623 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback getxattr from inode_operations."} */
1624 : /* LDV {"type": "CALLBACK", "call": "((& generic_getxattr))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_17_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_17_3_default);", "comment": "callback"} */
1625 2 : ldv_random_containerless_scenario_callback_6_17(ldv_6_callback_getxattr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_17_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_17_3_default);
1626 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1627 :
1628 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1629 2 : ldv_free(ldv_6_ldv_param_17_1_default);
1630 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_END"} */
1631 :
1632 1 : break;
1633 1 : }
1634 3 : case 19: {
1635 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1636 3 : ldv_6_ldv_param_14_1_default = ldv_xmalloc_unknown_size(0);
1637 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_END"} */
1638 :
1639 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get from xattr_handler."} */
1640 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_security_get))(ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_14_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_14_3_default, ldv_6_ldv_param_14_4_default);", "comment": "callback"} */
1641 2 : ldv_random_containerless_scenario_callback_6_14(ldv_6_callback_get, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_14_1_default, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_14_3_default, ldv_6_ldv_param_14_4_default);
1642 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1643 :
1644 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1645 2 : ldv_free(ldv_6_ldv_param_14_1_default);
1646 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_END"} */
1647 :
1648 1 : break;
1649 1 : }
1650 3 : case 20: {
1651 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback follow_link from inode_operations."} */
1652 : /* LDV {"type": "CALLBACK", "call": "((& ext2_follow_link))(ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_nameidata_ptr);", "comment": "callback"} */
1653 2 : ldv_random_containerless_scenario_callback_6_13(ldv_6_callback_follow_link, ldv_6_container_struct_dentry_ptr, ldv_6_container_struct_nameidata_ptr);
1654 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1655 :
1656 1 : break;
1657 1 : }
1658 3 : case 21: {
1659 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1660 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
1661 :
1662 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fiemap from inode_operations."} */
1663 : /* LDV {"type": "CALLBACK", "call": "((& ext2_fiemap))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_10_2_default, ldv_6_ldv_param_10_3_default);", "comment": "callback"} */
1664 2 : ldv_random_containerless_scenario_callback_6_10(ldv_6_callback_fiemap, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_fiemap_extent_info_ptr, ldv_6_ldv_param_10_2_default, ldv_6_ldv_param_10_3_default);
1665 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1666 :
1667 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1668 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
1669 :
1670 1 : break;
1671 1 : }
1672 3 : case 22: {
1673 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback create from inode_operations."} */
1674 : /* LDV {"type": "CALLBACK", "call": "((& ext2_create))(ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_4_2_default, ldv_6_container_struct_nameidata_ptr);", "comment": "callback"} */
1675 2 : ldv_random_containerless_scenario_callback_6_4(ldv_6_callback_create, ldv_6_container_struct_inode_ptr, ldv_6_container_struct_dentry_ptr, ldv_6_ldv_param_4_2_default, ldv_6_container_struct_nameidata_ptr);
1676 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1677 :
1678 1 : break;
1679 1 : }
1680 2 : default: ldv_stop();
1681 1 : }
1682 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1683 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
1684 0 :
1685 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1686 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1687 :
1688 : /* Jump to a subprocess 'call' initial state */
1689 22 : goto ldv_call_6;
1690 : }
1691 : else {
1692 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
1693 2 : ldv_free(ldv_6_container_struct_dentry_ptr);
1694 2 : ldv_free(ldv_6_container_struct_fiemap_extent_info_ptr);
1695 2 : ldv_free(ldv_6_container_struct_iattr_ptr);
1696 2 : ldv_free(ldv_6_container_struct_inode_ptr);
1697 2 : ldv_free(ldv_6_container_struct_nameidata_ptr);
1698 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
1699 :
1700 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
1701 : /* Skip a non-replicative signal receiving */
1702 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
1703 :
1704 : /* Exit function at a terminal state */
1705 1 : return;
1706 : }
1707 : /* End of the subprocess 'call' */
1708 : return;
1709 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_xattr_handler)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_6"} */
1710 : }
1711 :
1712 : /* AUX_FUNC ldv_random_containerless_scenario_7 */
1713 : void ldv_random_containerless_scenario_7(void *arg0) {
1714 : /* LDV {"thread": 7, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_xattr_handler)'", "function": "ldv_random_containerless_scenario_7"} */
1715 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1716 1 : int (*ldv_7_callback_create)(struct inode *, struct dentry *, int, struct nameidata *);
1717 : int (*ldv_7_callback_fiemap)(struct inode *, struct fiemap_extent_info *, u64 , u64 );
1718 1 : void *(*ldv_7_callback_follow_link)(struct dentry *, struct nameidata *);
1719 1 : int (*ldv_7_callback_get)(struct dentry *, char *, void *, size_t , int);
1720 1 : ssize_t (*ldv_7_callback_getxattr)(struct dentry *, char *, void *, size_t );
1721 1 : int (*ldv_7_callback_link)(struct dentry *, struct inode *, struct dentry *);
1722 1 : size_t (*ldv_7_callback_list)(struct dentry *, char *, size_t , char *, size_t , int);
1723 : ssize_t (*ldv_7_callback_listxattr)(struct dentry *, char *, size_t );
1724 1 : struct dentry *(*ldv_7_callback_lookup)(struct inode *, struct dentry *, struct nameidata *);
1725 1 : int (*ldv_7_callback_mkdir)(struct inode *, struct dentry *, int);
1726 1 : int (*ldv_7_callback_mknod)(struct inode *, struct dentry *, int, unsigned int);
1727 1 : void (*ldv_7_callback_put_link)(struct dentry *, struct nameidata *, void *);
1728 1 : int (*ldv_7_callback_readlink)(struct dentry *, char *, int);
1729 1 : int (*ldv_7_callback_removexattr)(struct dentry *, char *);
1730 1 : int (*ldv_7_callback_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);
1731 1 : int (*ldv_7_callback_rmdir)(struct inode *, struct dentry *);
1732 : int (*ldv_7_callback_set)(struct dentry *, char *, void *, size_t , int, int);
1733 1 : int (*ldv_7_callback_setattr)(struct dentry *, struct iattr *);
1734 1 : int (*ldv_7_callback_setxattr)(struct dentry *, char *, void *, size_t , int);
1735 1 : int (*ldv_7_callback_symlink)(struct inode *, struct dentry *, char *);
1736 1 : void (*ldv_7_callback_truncate)(struct inode *);
1737 1 : int (*ldv_7_callback_unlink)(struct inode *, struct dentry *);
1738 1 : struct dentry *ldv_7_container_struct_dentry_ptr;
1739 1 : struct fiemap_extent_info *ldv_7_container_struct_fiemap_extent_info_ptr;
1740 1 : struct iattr *ldv_7_container_struct_iattr_ptr;
1741 1 : struct inode *ldv_7_container_struct_inode_ptr;
1742 1 : struct nameidata *ldv_7_container_struct_nameidata_ptr;
1743 1 : long long unsigned int ldv_7_ldv_param_10_2_default;
1744 1 : long long unsigned int ldv_7_ldv_param_10_3_default;
1745 1 : char *ldv_7_ldv_param_14_1_default;
1746 1 : long unsigned int ldv_7_ldv_param_14_3_default;
1747 1 : int ldv_7_ldv_param_14_4_default;
1748 1 : char *ldv_7_ldv_param_17_1_default;
1749 1 : long unsigned int ldv_7_ldv_param_17_3_default;
1750 1 : struct dentry *ldv_7_ldv_param_20_2_default;
1751 1 : char *ldv_7_ldv_param_23_1_default;
1752 1 : long unsigned int ldv_7_ldv_param_23_2_default;
1753 1 : char *ldv_7_ldv_param_23_3_default;
1754 1 : long unsigned int ldv_7_ldv_param_23_4_default;
1755 1 : int ldv_7_ldv_param_23_5_default;
1756 1 : char *ldv_7_ldv_param_26_1_default;
1757 1 : long unsigned int ldv_7_ldv_param_26_2_default;
1758 1 : int ldv_7_ldv_param_30_2_default;
1759 1 : int ldv_7_ldv_param_33_2_default;
1760 1 : unsigned int ldv_7_ldv_param_33_3_default;
1761 1 : char *ldv_7_ldv_param_37_1_default;
1762 1 : int ldv_7_ldv_param_37_2_default;
1763 1 : char *ldv_7_ldv_param_40_1_default;
1764 1 : struct inode *ldv_7_ldv_param_43_2_default;
1765 1 : struct dentry *ldv_7_ldv_param_43_3_default;
1766 1 : char *ldv_7_ldv_param_47_1_default;
1767 1 : long unsigned int ldv_7_ldv_param_47_3_default;
1768 1 : int ldv_7_ldv_param_47_4_default;
1769 1 : int ldv_7_ldv_param_47_5_default;
1770 1 : int ldv_7_ldv_param_4_2_default;
1771 1 : char *ldv_7_ldv_param_51_1_default;
1772 1 : long unsigned int ldv_7_ldv_param_51_3_default;
1773 1 : int ldv_7_ldv_param_51_4_default;
1774 1 : char *ldv_7_ldv_param_54_2_default;
1775 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1776 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
1777 3 : ldv_free(arg0);
1778 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
1779 1 :
1780 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
1781 4 : ldv_7_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
1782 4 : ldv_7_container_struct_fiemap_extent_info_ptr = ldv_xmalloc_unknown_size(0);
1783 4 : ldv_7_container_struct_iattr_ptr = ldv_xmalloc_unknown_size(0);
1784 4 : ldv_7_container_struct_inode_ptr = ldv_xmalloc_unknown_size(0);
1785 4 : ldv_7_container_struct_nameidata_ptr = ldv_xmalloc_unknown_size(0);
1786 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
1787 1 :
1788 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1789 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1790 1 :
1791 1 : /* Jump to a subprocess 'call' initial state */
1792 2 : goto ldv_call_7;
1793 1 : /* End of the process */
1794 1 : return;
1795 2 :
1796 1 : /* Sbprocess call */
1797 : ldv_call_7:
1798 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1799 :
1800 4 : if (ldv_undef_int()) {
1801 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1802 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
1803 :
1804 2 : switch (ldv_undef_int()) {
1805 3 : case 1: {
1806 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback unlink from inode_operations."} */
1807 : /* LDV {"type": "CALLBACK", "call": "((& ext2_unlink))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr);", "comment": "callback"} */
1808 2 : ldv_random_containerless_scenario_callback_7_58(ldv_7_callback_unlink, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr);
1809 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1810 :
1811 1 : break;
1812 1 : }
1813 3 : case 2: {
1814 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback truncate from inode_operations."} */
1815 : /* LDV {"type": "CALLBACK", "call": "((& ext2_truncate))(ldv_7_container_struct_inode_ptr);", "comment": "callback"} */
1816 2 : ldv_random_containerless_scenario_callback_7_57(ldv_7_callback_truncate, ldv_7_container_struct_inode_ptr);
1817 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1818 :
1819 1 : break;
1820 1 : }
1821 3 : case 3: {
1822 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1823 3 : ldv_7_ldv_param_54_2_default = ldv_xmalloc_unknown_size(0);
1824 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_END"} */
1825 :
1826 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback symlink from inode_operations."} */
1827 : /* LDV {"type": "CALLBACK", "call": "((& ext2_symlink))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_54_2_default);", "comment": "callback"} */
1828 2 : ldv_random_containerless_scenario_callback_7_54(ldv_7_callback_symlink, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_54_2_default);
1829 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1830 :
1831 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1832 2 : ldv_free(ldv_7_ldv_param_54_2_default);
1833 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_END"} */
1834 :
1835 1 : break;
1836 1 : }
1837 3 : case 4: {
1838 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1839 3 : ldv_7_ldv_param_51_1_default = ldv_xmalloc_unknown_size(0);
1840 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_END"} */
1841 :
1842 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setxattr from inode_operations."} */
1843 : /* LDV {"type": "CALLBACK", "call": "((& generic_setxattr))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_51_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_51_3_default, ldv_7_ldv_param_51_4_default);", "comment": "callback"} */
1844 2 : ldv_random_containerless_scenario_callback_7_51(ldv_7_callback_setxattr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_51_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_51_3_default, ldv_7_ldv_param_51_4_default);
1845 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1846 :
1847 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1848 2 : ldv_free(ldv_7_ldv_param_51_1_default);
1849 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_END"} */
1850 :
1851 1 : break;
1852 1 : }
1853 3 : case 5: {
1854 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setattr from inode_operations."} */
1855 : /* LDV {"type": "CALLBACK", "call": "((& ext2_setattr))(ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_iattr_ptr);", "comment": "callback"} */
1856 2 : ldv_random_containerless_scenario_callback_7_50(ldv_7_callback_setattr, ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_iattr_ptr);
1857 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1858 :
1859 1 : break;
1860 1 : }
1861 3 : case 6: {
1862 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1863 3 : ldv_7_ldv_param_47_1_default = ldv_xmalloc_unknown_size(0);
1864 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_END"} */
1865 :
1866 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback set from xattr_handler."} */
1867 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_user_set))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_47_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_47_3_default, ldv_7_ldv_param_47_4_default, ldv_7_ldv_param_47_5_default);", "comment": "callback"} */
1868 2 : ldv_random_containerless_scenario_callback_7_47(ldv_7_callback_set, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_47_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_47_3_default, ldv_7_ldv_param_47_4_default, ldv_7_ldv_param_47_5_default);
1869 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1870 :
1871 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1872 2 : ldv_free(ldv_7_ldv_param_47_1_default);
1873 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_END"} */
1874 :
1875 1 : break;
1876 1 : }
1877 3 : case 7: {
1878 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rmdir from inode_operations."} */
1879 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rmdir))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr);", "comment": "callback"} */
1880 2 : ldv_random_containerless_scenario_callback_7_46(ldv_7_callback_rmdir, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr);
1881 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1882 :
1883 1 : break;
1884 1 : }
1885 3 : case 8: {
1886 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1887 3 : ldv_7_ldv_param_43_2_default = ldv_xmalloc_unknown_size(0);
1888 3 : ldv_7_ldv_param_43_3_default = ldv_xmalloc_unknown_size(0);
1889 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_END"} */
1890 :
1891 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rename from inode_operations."} */
1892 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rename))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_43_2_default, ldv_7_ldv_param_43_3_default);", "comment": "callback"} */
1893 2 : ldv_random_containerless_scenario_callback_7_43(ldv_7_callback_rename, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_43_2_default, ldv_7_ldv_param_43_3_default);
1894 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1895 :
1896 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1897 2 : ldv_free(ldv_7_ldv_param_43_2_default);
1898 2 : ldv_free(ldv_7_ldv_param_43_3_default);
1899 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_END"} */
1900 :
1901 1 : break;
1902 1 : }
1903 3 : case 9: {
1904 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1905 3 : ldv_7_ldv_param_40_1_default = ldv_xmalloc_unknown_size(0);
1906 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_END"} */
1907 :
1908 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback removexattr from inode_operations."} */
1909 : /* LDV {"type": "CALLBACK", "call": "((& generic_removexattr))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_40_1_default);", "comment": "callback"} */
1910 2 : ldv_random_containerless_scenario_callback_7_40(ldv_7_callback_removexattr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_40_1_default);
1911 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1912 :
1913 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1914 2 : ldv_free(ldv_7_ldv_param_40_1_default);
1915 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_END"} */
1916 :
1917 1 : break;
1918 1 : }
1919 3 : case 10: {
1920 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1921 3 : ldv_7_ldv_param_37_1_default = ldv_xmalloc_unknown_size(0);
1922 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_END"} */
1923 :
1924 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readlink from inode_operations."} */
1925 : /* LDV {"type": "CALLBACK", "call": "((& generic_readlink))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_37_1_default, ldv_7_ldv_param_37_2_default);", "comment": "callback"} */
1926 2 : ldv_random_containerless_scenario_callback_7_37(ldv_7_callback_readlink, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_37_1_default, ldv_7_ldv_param_37_2_default);
1927 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1928 :
1929 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1930 2 : ldv_free(ldv_7_ldv_param_37_1_default);
1931 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_END"} */
1932 :
1933 1 : break;
1934 1 : }
1935 3 : case 11: {
1936 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback put_link from inode_operations."} */
1937 : /* LDV {"type": "CALLBACK", "call": "((& page_put_link))(ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_nameidata_ptr, ldv_7_container_struct_fiemap_extent_info_ptr);", "comment": "callback"} */
1938 2 : ldv_random_containerless_scenario_callback_7_36(ldv_7_callback_put_link, ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_nameidata_ptr, ldv_7_container_struct_fiemap_extent_info_ptr);
1939 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1940 :
1941 1 : break;
1942 1 : }
1943 3 : case 12: {
1944 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1945 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_END"} */
1946 :
1947 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mknod from inode_operations."} */
1948 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mknod))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_33_2_default, ldv_7_ldv_param_33_3_default);", "comment": "callback"} */
1949 2 : ldv_random_containerless_scenario_callback_7_33(ldv_7_callback_mknod, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_33_2_default, ldv_7_ldv_param_33_3_default);
1950 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1951 :
1952 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1953 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_END"} */
1954 :
1955 1 : break;
1956 1 : }
1957 3 : case 13: {
1958 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1959 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_END"} */
1960 :
1961 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mkdir from inode_operations."} */
1962 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mkdir))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_30_2_default);", "comment": "callback"} */
1963 2 : ldv_random_containerless_scenario_callback_7_30(ldv_7_callback_mkdir, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_30_2_default);
1964 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1965 :
1966 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1967 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_END"} */
1968 :
1969 1 : break;
1970 1 : }
1971 3 : case 14: {
1972 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback lookup from inode_operations."} */
1973 : /* LDV {"type": "CALLBACK", "call": "((& ext2_lookup))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_nameidata_ptr);", "comment": "callback"} */
1974 2 : ldv_random_containerless_scenario_callback_7_29(ldv_7_callback_lookup, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_nameidata_ptr);
1975 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1976 :
1977 1 : break;
1978 1 : }
1979 3 : case 15: {
1980 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1981 3 : ldv_7_ldv_param_26_1_default = ldv_xmalloc_unknown_size(0);
1982 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_END"} */
1983 :
1984 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback listxattr from inode_operations."} */
1985 : /* LDV {"type": "CALLBACK", "call": "((& ext2_listxattr))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_26_1_default, ldv_7_ldv_param_26_2_default);", "comment": "callback"} */
1986 2 : ldv_random_containerless_scenario_callback_7_26(ldv_7_callback_listxattr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_26_1_default, ldv_7_ldv_param_26_2_default);
1987 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1988 :
1989 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1990 2 : ldv_free(ldv_7_ldv_param_26_1_default);
1991 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_END"} */
1992 :
1993 1 : break;
1994 1 : }
1995 3 : case 16: {
1996 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1997 3 : ldv_7_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
1998 3 : ldv_7_ldv_param_23_3_default = ldv_xmalloc_unknown_size(0);
1999 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
2000 :
2001 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback list from xattr_handler."} */
2002 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_user_list))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_23_1_default, ldv_7_ldv_param_23_2_default, ldv_7_ldv_param_23_3_default, ldv_7_ldv_param_23_4_default, ldv_7_ldv_param_23_5_default);", "comment": "callback"} */
2003 2 : ldv_random_containerless_scenario_callback_7_23(ldv_7_callback_list, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_23_1_default, ldv_7_ldv_param_23_2_default, ldv_7_ldv_param_23_3_default, ldv_7_ldv_param_23_4_default, ldv_7_ldv_param_23_5_default);
2004 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2005 :
2006 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2007 2 : ldv_free(ldv_7_ldv_param_23_1_default);
2008 2 : ldv_free(ldv_7_ldv_param_23_3_default);
2009 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
2010 :
2011 1 : break;
2012 1 : }
2013 3 : case 17: {
2014 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2015 3 : ldv_7_ldv_param_20_2_default = ldv_xmalloc_unknown_size(0);
2016 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_END"} */
2017 :
2018 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback link from inode_operations."} */
2019 : /* LDV {"type": "CALLBACK", "call": "((& ext2_link))(ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_inode_ptr, ldv_7_ldv_param_20_2_default);", "comment": "callback"} */
2020 2 : ldv_random_containerless_scenario_callback_7_20(ldv_7_callback_link, ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_inode_ptr, ldv_7_ldv_param_20_2_default);
2021 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2022 :
2023 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2024 2 : ldv_free(ldv_7_ldv_param_20_2_default);
2025 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_END"} */
2026 :
2027 1 : break;
2028 1 : }
2029 3 : case 18: {
2030 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2031 3 : ldv_7_ldv_param_17_1_default = ldv_xmalloc_unknown_size(0);
2032 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_END"} */
2033 :
2034 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback getxattr from inode_operations."} */
2035 : /* LDV {"type": "CALLBACK", "call": "((& generic_getxattr))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_17_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_17_3_default);", "comment": "callback"} */
2036 2 : ldv_random_containerless_scenario_callback_7_17(ldv_7_callback_getxattr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_17_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_17_3_default);
2037 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2038 :
2039 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2040 2 : ldv_free(ldv_7_ldv_param_17_1_default);
2041 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_END"} */
2042 :
2043 1 : break;
2044 1 : }
2045 3 : case 19: {
2046 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2047 3 : ldv_7_ldv_param_14_1_default = ldv_xmalloc_unknown_size(0);
2048 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_END"} */
2049 :
2050 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get from xattr_handler."} */
2051 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_user_get))(ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_14_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_14_3_default, ldv_7_ldv_param_14_4_default);", "comment": "callback"} */
2052 2 : ldv_random_containerless_scenario_callback_7_14(ldv_7_callback_get, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_14_1_default, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_14_3_default, ldv_7_ldv_param_14_4_default);
2053 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2054 :
2055 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2056 2 : ldv_free(ldv_7_ldv_param_14_1_default);
2057 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_END"} */
2058 :
2059 1 : break;
2060 1 : }
2061 3 : case 20: {
2062 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback follow_link from inode_operations."} */
2063 : /* LDV {"type": "CALLBACK", "call": "((& page_follow_link_light))(ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_nameidata_ptr);", "comment": "callback"} */
2064 2 : ldv_random_containerless_scenario_callback_7_13(ldv_7_callback_follow_link, ldv_7_container_struct_dentry_ptr, ldv_7_container_struct_nameidata_ptr);
2065 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2066 :
2067 1 : break;
2068 1 : }
2069 3 : case 21: {
2070 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2071 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
2072 :
2073 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fiemap from inode_operations."} */
2074 : /* LDV {"type": "CALLBACK", "call": "((& ext2_fiemap))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_10_2_default, ldv_7_ldv_param_10_3_default);", "comment": "callback"} */
2075 2 : ldv_random_containerless_scenario_callback_7_10(ldv_7_callback_fiemap, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_fiemap_extent_info_ptr, ldv_7_ldv_param_10_2_default, ldv_7_ldv_param_10_3_default);
2076 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2077 :
2078 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2079 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
2080 :
2081 1 : break;
2082 1 : }
2083 3 : case 22: {
2084 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback create from inode_operations."} */
2085 : /* LDV {"type": "CALLBACK", "call": "((& ext2_create))(ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_4_2_default, ldv_7_container_struct_nameidata_ptr);", "comment": "callback"} */
2086 2 : ldv_random_containerless_scenario_callback_7_4(ldv_7_callback_create, ldv_7_container_struct_inode_ptr, ldv_7_container_struct_dentry_ptr, ldv_7_ldv_param_4_2_default, ldv_7_container_struct_nameidata_ptr);
2087 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2088 :
2089 1 : break;
2090 1 : }
2091 2 : default: ldv_stop();
2092 1 : }
2093 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2094 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
2095 0 :
2096 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2097 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2098 :
2099 : /* Jump to a subprocess 'call' initial state */
2100 22 : goto ldv_call_7;
2101 : }
2102 : else {
2103 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
2104 2 : ldv_free(ldv_7_container_struct_dentry_ptr);
2105 2 : ldv_free(ldv_7_container_struct_fiemap_extent_info_ptr);
2106 2 : ldv_free(ldv_7_container_struct_iattr_ptr);
2107 2 : ldv_free(ldv_7_container_struct_inode_ptr);
2108 2 : ldv_free(ldv_7_container_struct_nameidata_ptr);
2109 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
2110 :
2111 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
2112 : /* Skip a non-replicative signal receiving */
2113 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
2114 :
2115 : /* Exit function at a terminal state */
2116 1 : return;
2117 : }
2118 : /* End of the subprocess 'call' */
2119 : return;
2120 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_xattr_handler)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_7"} */
2121 : }
2122 :
2123 : /* AUX_FUNC ldv_random_containerless_scenario_8 */
2124 : void ldv_random_containerless_scenario_8(void *arg0) {
2125 : /* LDV {"thread": 8, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_xattr_handler)'", "function": "ldv_random_containerless_scenario_8"} */
2126 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
2127 1 : int (*ldv_8_callback_create)(struct inode *, struct dentry *, int, struct nameidata *);
2128 : int (*ldv_8_callback_fiemap)(struct inode *, struct fiemap_extent_info *, u64 , u64 );
2129 1 : void *(*ldv_8_callback_follow_link)(struct dentry *, struct nameidata *);
2130 1 : int (*ldv_8_callback_get)(struct dentry *, char *, void *, size_t , int);
2131 1 : ssize_t (*ldv_8_callback_getxattr)(struct dentry *, char *, void *, size_t );
2132 1 : int (*ldv_8_callback_link)(struct dentry *, struct inode *, struct dentry *);
2133 1 : size_t (*ldv_8_callback_list)(struct dentry *, char *, size_t , char *, size_t , int);
2134 : ssize_t (*ldv_8_callback_listxattr)(struct dentry *, char *, size_t );
2135 1 : struct dentry *(*ldv_8_callback_lookup)(struct inode *, struct dentry *, struct nameidata *);
2136 1 : int (*ldv_8_callback_mkdir)(struct inode *, struct dentry *, int);
2137 1 : int (*ldv_8_callback_mknod)(struct inode *, struct dentry *, int, unsigned int);
2138 1 : void (*ldv_8_callback_put_link)(struct dentry *, struct nameidata *, void *);
2139 1 : int (*ldv_8_callback_readlink)(struct dentry *, char *, int);
2140 1 : int (*ldv_8_callback_removexattr)(struct dentry *, char *);
2141 1 : int (*ldv_8_callback_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);
2142 1 : int (*ldv_8_callback_rmdir)(struct inode *, struct dentry *);
2143 : int (*ldv_8_callback_set)(struct dentry *, char *, void *, size_t , int, int);
2144 1 : int (*ldv_8_callback_setattr)(struct dentry *, struct iattr *);
2145 1 : int (*ldv_8_callback_setxattr)(struct dentry *, char *, void *, size_t , int);
2146 1 : int (*ldv_8_callback_symlink)(struct inode *, struct dentry *, char *);
2147 1 : void (*ldv_8_callback_truncate)(struct inode *);
2148 1 : int (*ldv_8_callback_unlink)(struct inode *, struct dentry *);
2149 1 : struct dentry *ldv_8_container_struct_dentry_ptr;
2150 1 : struct fiemap_extent_info *ldv_8_container_struct_fiemap_extent_info_ptr;
2151 1 : struct iattr *ldv_8_container_struct_iattr_ptr;
2152 1 : struct inode *ldv_8_container_struct_inode_ptr;
2153 1 : struct nameidata *ldv_8_container_struct_nameidata_ptr;
2154 1 : long long unsigned int ldv_8_ldv_param_10_2_default;
2155 1 : long long unsigned int ldv_8_ldv_param_10_3_default;
2156 1 : char *ldv_8_ldv_param_14_1_default;
2157 1 : long unsigned int ldv_8_ldv_param_14_3_default;
2158 1 : int ldv_8_ldv_param_14_4_default;
2159 1 : char *ldv_8_ldv_param_17_1_default;
2160 1 : long unsigned int ldv_8_ldv_param_17_3_default;
2161 1 : struct dentry *ldv_8_ldv_param_20_2_default;
2162 1 : char *ldv_8_ldv_param_23_1_default;
2163 1 : long unsigned int ldv_8_ldv_param_23_2_default;
2164 1 : char *ldv_8_ldv_param_23_3_default;
2165 1 : long unsigned int ldv_8_ldv_param_23_4_default;
2166 1 : int ldv_8_ldv_param_23_5_default;
2167 1 : char *ldv_8_ldv_param_26_1_default;
2168 1 : long unsigned int ldv_8_ldv_param_26_2_default;
2169 1 : int ldv_8_ldv_param_30_2_default;
2170 1 : int ldv_8_ldv_param_33_2_default;
2171 1 : unsigned int ldv_8_ldv_param_33_3_default;
2172 1 : char *ldv_8_ldv_param_37_1_default;
2173 1 : int ldv_8_ldv_param_37_2_default;
2174 1 : char *ldv_8_ldv_param_40_1_default;
2175 1 : struct inode *ldv_8_ldv_param_43_2_default;
2176 1 : struct dentry *ldv_8_ldv_param_43_3_default;
2177 1 : char *ldv_8_ldv_param_47_1_default;
2178 1 : long unsigned int ldv_8_ldv_param_47_3_default;
2179 1 : int ldv_8_ldv_param_47_4_default;
2180 1 : int ldv_8_ldv_param_47_5_default;
2181 1 : int ldv_8_ldv_param_4_2_default;
2182 1 : char *ldv_8_ldv_param_51_1_default;
2183 1 : long unsigned int ldv_8_ldv_param_51_3_default;
2184 1 : int ldv_8_ldv_param_51_4_default;
2185 1 : char *ldv_8_ldv_param_54_2_default;
2186 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
2187 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
2188 3 : ldv_free(arg0);
2189 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
2190 1 :
2191 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
2192 4 : ldv_8_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
2193 4 : ldv_8_container_struct_fiemap_extent_info_ptr = ldv_xmalloc_unknown_size(0);
2194 4 : ldv_8_container_struct_iattr_ptr = ldv_xmalloc_unknown_size(0);
2195 4 : ldv_8_container_struct_inode_ptr = ldv_xmalloc_unknown_size(0);
2196 4 : ldv_8_container_struct_nameidata_ptr = ldv_xmalloc_unknown_size(0);
2197 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
2198 1 :
2199 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2200 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2201 1 :
2202 1 : /* Jump to a subprocess 'call' initial state */
2203 2 : goto ldv_call_8;
2204 1 : /* End of the process */
2205 1 : return;
2206 2 :
2207 1 : /* Sbprocess call */
2208 : ldv_call_8:
2209 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
2210 :
2211 4 : if (ldv_undef_int()) {
2212 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2213 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
2214 :
2215 2 : switch (ldv_undef_int()) {
2216 3 : case 1: {
2217 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback unlink from inode_operations."} */
2218 : /* LDV {"type": "CALLBACK", "call": "((& ext2_unlink))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr);", "comment": "callback"} */
2219 2 : ldv_random_containerless_scenario_callback_8_58(ldv_8_callback_unlink, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr);
2220 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2221 :
2222 1 : break;
2223 1 : }
2224 3 : case 2: {
2225 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback truncate from inode_operations."} */
2226 : /* LDV {"type": "CALLBACK", "call": "((& ext2_truncate))(ldv_8_container_struct_inode_ptr);", "comment": "callback"} */
2227 2 : ldv_random_containerless_scenario_callback_8_57(ldv_8_callback_truncate, ldv_8_container_struct_inode_ptr);
2228 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2229 :
2230 1 : break;
2231 1 : }
2232 3 : case 3: {
2233 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2234 3 : ldv_8_ldv_param_54_2_default = ldv_xmalloc_unknown_size(0);
2235 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_END"} */
2236 :
2237 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback symlink from inode_operations."} */
2238 : /* LDV {"type": "CALLBACK", "call": "((& ext2_symlink))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_54_2_default);", "comment": "callback"} */
2239 2 : ldv_random_containerless_scenario_callback_8_54(ldv_8_callback_symlink, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_54_2_default);
2240 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2241 :
2242 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2243 2 : ldv_free(ldv_8_ldv_param_54_2_default);
2244 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_END"} */
2245 :
2246 1 : break;
2247 1 : }
2248 3 : case 4: {
2249 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2250 3 : ldv_8_ldv_param_51_1_default = ldv_xmalloc_unknown_size(0);
2251 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_END"} */
2252 :
2253 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setxattr from inode_operations."} */
2254 : /* LDV {"type": "CALLBACK", "call": "((& generic_setxattr))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_51_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_51_3_default, ldv_8_ldv_param_51_4_default);", "comment": "callback"} */
2255 2 : ldv_random_containerless_scenario_callback_8_51(ldv_8_callback_setxattr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_51_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_51_3_default, ldv_8_ldv_param_51_4_default);
2256 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2257 :
2258 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2259 2 : ldv_free(ldv_8_ldv_param_51_1_default);
2260 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_END"} */
2261 :
2262 1 : break;
2263 1 : }
2264 3 : case 5: {
2265 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setattr from inode_operations."} */
2266 : /* LDV {"type": "CALLBACK", "call": "((& ext2_setattr))(ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_iattr_ptr);", "comment": "callback"} */
2267 2 : ldv_random_containerless_scenario_callback_8_50(ldv_8_callback_setattr, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_iattr_ptr);
2268 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2269 :
2270 1 : break;
2271 1 : }
2272 3 : case 6: {
2273 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2274 3 : ldv_8_ldv_param_47_1_default = ldv_xmalloc_unknown_size(0);
2275 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_END"} */
2276 :
2277 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback set from xattr_handler."} */
2278 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_trusted_set))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_47_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_47_3_default, ldv_8_ldv_param_47_4_default, ldv_8_ldv_param_47_5_default);", "comment": "callback"} */
2279 2 : ldv_random_containerless_scenario_callback_8_47(ldv_8_callback_set, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_47_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_47_3_default, ldv_8_ldv_param_47_4_default, ldv_8_ldv_param_47_5_default);
2280 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2281 :
2282 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2283 2 : ldv_free(ldv_8_ldv_param_47_1_default);
2284 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_END"} */
2285 :
2286 1 : break;
2287 1 : }
2288 3 : case 7: {
2289 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rmdir from inode_operations."} */
2290 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rmdir))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr);", "comment": "callback"} */
2291 2 : ldv_random_containerless_scenario_callback_8_46(ldv_8_callback_rmdir, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr);
2292 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2293 :
2294 1 : break;
2295 1 : }
2296 3 : case 8: {
2297 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2298 3 : ldv_8_ldv_param_43_2_default = ldv_xmalloc_unknown_size(0);
2299 3 : ldv_8_ldv_param_43_3_default = ldv_xmalloc_unknown_size(0);
2300 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_END"} */
2301 :
2302 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rename from inode_operations."} */
2303 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rename))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_43_2_default, ldv_8_ldv_param_43_3_default);", "comment": "callback"} */
2304 2 : ldv_random_containerless_scenario_callback_8_43(ldv_8_callback_rename, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_43_2_default, ldv_8_ldv_param_43_3_default);
2305 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2306 :
2307 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2308 2 : ldv_free(ldv_8_ldv_param_43_2_default);
2309 2 : ldv_free(ldv_8_ldv_param_43_3_default);
2310 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_END"} */
2311 :
2312 1 : break;
2313 1 : }
2314 3 : case 9: {
2315 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2316 3 : ldv_8_ldv_param_40_1_default = ldv_xmalloc_unknown_size(0);
2317 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_END"} */
2318 :
2319 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback removexattr from inode_operations."} */
2320 : /* LDV {"type": "CALLBACK", "call": "((& generic_removexattr))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_40_1_default);", "comment": "callback"} */
2321 2 : ldv_random_containerless_scenario_callback_8_40(ldv_8_callback_removexattr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_40_1_default);
2322 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2323 :
2324 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2325 2 : ldv_free(ldv_8_ldv_param_40_1_default);
2326 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_END"} */
2327 :
2328 1 : break;
2329 1 : }
2330 3 : case 10: {
2331 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2332 3 : ldv_8_ldv_param_37_1_default = ldv_xmalloc_unknown_size(0);
2333 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_END"} */
2334 :
2335 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readlink from inode_operations."} */
2336 : /* LDV {"type": "CALLBACK", "call": "((& generic_readlink))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_37_1_default, ldv_8_ldv_param_37_2_default);", "comment": "callback"} */
2337 2 : ldv_random_containerless_scenario_callback_8_37(ldv_8_callback_readlink, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_37_1_default, ldv_8_ldv_param_37_2_default);
2338 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2339 :
2340 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2341 2 : ldv_free(ldv_8_ldv_param_37_1_default);
2342 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_END"} */
2343 :
2344 1 : break;
2345 1 : }
2346 3 : case 11: {
2347 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback put_link from inode_operations."} */
2348 : /* LDV {"type": "CALLBACK", "call": "((& page_put_link))(ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr, ldv_8_container_struct_fiemap_extent_info_ptr);", "comment": "callback"} */
2349 2 : ldv_random_containerless_scenario_callback_8_36(ldv_8_callback_put_link, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr, ldv_8_container_struct_fiemap_extent_info_ptr);
2350 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2351 :
2352 1 : break;
2353 1 : }
2354 3 : case 12: {
2355 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2356 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_END"} */
2357 :
2358 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mknod from inode_operations."} */
2359 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mknod))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_33_2_default, ldv_8_ldv_param_33_3_default);", "comment": "callback"} */
2360 2 : ldv_random_containerless_scenario_callback_8_33(ldv_8_callback_mknod, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_33_2_default, ldv_8_ldv_param_33_3_default);
2361 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2362 :
2363 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2364 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_END"} */
2365 :
2366 1 : break;
2367 1 : }
2368 3 : case 13: {
2369 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2370 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_END"} */
2371 :
2372 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mkdir from inode_operations."} */
2373 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mkdir))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_30_2_default);", "comment": "callback"} */
2374 2 : ldv_random_containerless_scenario_callback_8_30(ldv_8_callback_mkdir, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_30_2_default);
2375 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2376 :
2377 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2378 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_END"} */
2379 :
2380 1 : break;
2381 1 : }
2382 3 : case 14: {
2383 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback lookup from inode_operations."} */
2384 : /* LDV {"type": "CALLBACK", "call": "((& ext2_lookup))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr);", "comment": "callback"} */
2385 2 : ldv_random_containerless_scenario_callback_8_29(ldv_8_callback_lookup, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr);
2386 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2387 :
2388 1 : break;
2389 1 : }
2390 3 : case 15: {
2391 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2392 3 : ldv_8_ldv_param_26_1_default = ldv_xmalloc_unknown_size(0);
2393 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_END"} */
2394 :
2395 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback listxattr from inode_operations."} */
2396 : /* LDV {"type": "CALLBACK", "call": "((& ext2_listxattr))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_26_1_default, ldv_8_ldv_param_26_2_default);", "comment": "callback"} */
2397 2 : ldv_random_containerless_scenario_callback_8_26(ldv_8_callback_listxattr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_26_1_default, ldv_8_ldv_param_26_2_default);
2398 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2399 :
2400 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2401 2 : ldv_free(ldv_8_ldv_param_26_1_default);
2402 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_END"} */
2403 :
2404 1 : break;
2405 1 : }
2406 3 : case 16: {
2407 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2408 3 : ldv_8_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
2409 3 : ldv_8_ldv_param_23_3_default = ldv_xmalloc_unknown_size(0);
2410 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
2411 :
2412 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback list from xattr_handler."} */
2413 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_trusted_list))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_23_1_default, ldv_8_ldv_param_23_2_default, ldv_8_ldv_param_23_3_default, ldv_8_ldv_param_23_4_default, ldv_8_ldv_param_23_5_default);", "comment": "callback"} */
2414 2 : ldv_random_containerless_scenario_callback_8_23(ldv_8_callback_list, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_23_1_default, ldv_8_ldv_param_23_2_default, ldv_8_ldv_param_23_3_default, ldv_8_ldv_param_23_4_default, ldv_8_ldv_param_23_5_default);
2415 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2416 :
2417 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2418 2 : ldv_free(ldv_8_ldv_param_23_1_default);
2419 2 : ldv_free(ldv_8_ldv_param_23_3_default);
2420 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
2421 :
2422 1 : break;
2423 1 : }
2424 3 : case 17: {
2425 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2426 3 : ldv_8_ldv_param_20_2_default = ldv_xmalloc_unknown_size(0);
2427 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_END"} */
2428 :
2429 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback link from inode_operations."} */
2430 : /* LDV {"type": "CALLBACK", "call": "((& ext2_link))(ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_inode_ptr, ldv_8_ldv_param_20_2_default);", "comment": "callback"} */
2431 2 : ldv_random_containerless_scenario_callback_8_20(ldv_8_callback_link, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_inode_ptr, ldv_8_ldv_param_20_2_default);
2432 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2433 :
2434 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2435 2 : ldv_free(ldv_8_ldv_param_20_2_default);
2436 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_END"} */
2437 :
2438 1 : break;
2439 1 : }
2440 3 : case 18: {
2441 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2442 3 : ldv_8_ldv_param_17_1_default = ldv_xmalloc_unknown_size(0);
2443 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_END"} */
2444 :
2445 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback getxattr from inode_operations."} */
2446 : /* LDV {"type": "CALLBACK", "call": "((& generic_getxattr))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_17_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_17_3_default);", "comment": "callback"} */
2447 2 : ldv_random_containerless_scenario_callback_8_17(ldv_8_callback_getxattr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_17_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_17_3_default);
2448 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2449 :
2450 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2451 2 : ldv_free(ldv_8_ldv_param_17_1_default);
2452 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_END"} */
2453 :
2454 1 : break;
2455 1 : }
2456 3 : case 19: {
2457 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2458 3 : ldv_8_ldv_param_14_1_default = ldv_xmalloc_unknown_size(0);
2459 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_END"} */
2460 :
2461 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get from xattr_handler."} */
2462 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_trusted_get))(ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_14_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_14_3_default, ldv_8_ldv_param_14_4_default);", "comment": "callback"} */
2463 2 : ldv_random_containerless_scenario_callback_8_14(ldv_8_callback_get, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_14_1_default, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_14_3_default, ldv_8_ldv_param_14_4_default);
2464 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2465 :
2466 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2467 2 : ldv_free(ldv_8_ldv_param_14_1_default);
2468 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_END"} */
2469 :
2470 1 : break;
2471 1 : }
2472 3 : case 20: {
2473 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback follow_link from inode_operations."} */
2474 : /* LDV {"type": "CALLBACK", "call": "((& ext2_follow_link))(ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr);", "comment": "callback"} */
2475 2 : ldv_random_containerless_scenario_callback_8_13(ldv_8_callback_follow_link, ldv_8_container_struct_dentry_ptr, ldv_8_container_struct_nameidata_ptr);
2476 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2477 :
2478 1 : break;
2479 1 : }
2480 3 : case 21: {
2481 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2482 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
2483 :
2484 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fiemap from inode_operations."} */
2485 : /* LDV {"type": "CALLBACK", "call": "((& ext2_fiemap))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_10_2_default, ldv_8_ldv_param_10_3_default);", "comment": "callback"} */
2486 2 : ldv_random_containerless_scenario_callback_8_10(ldv_8_callback_fiemap, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_fiemap_extent_info_ptr, ldv_8_ldv_param_10_2_default, ldv_8_ldv_param_10_3_default);
2487 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2488 :
2489 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2490 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
2491 :
2492 1 : break;
2493 1 : }
2494 3 : case 22: {
2495 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback create from inode_operations."} */
2496 : /* LDV {"type": "CALLBACK", "call": "((& ext2_create))(ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_4_2_default, ldv_8_container_struct_nameidata_ptr);", "comment": "callback"} */
2497 2 : ldv_random_containerless_scenario_callback_8_4(ldv_8_callback_create, ldv_8_container_struct_inode_ptr, ldv_8_container_struct_dentry_ptr, ldv_8_ldv_param_4_2_default, ldv_8_container_struct_nameidata_ptr);
2498 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2499 :
2500 1 : break;
2501 1 : }
2502 2 : default: ldv_stop();
2503 1 : }
2504 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2505 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
2506 0 :
2507 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2508 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2509 :
2510 : /* Jump to a subprocess 'call' initial state */
2511 22 : goto ldv_call_8;
2512 : }
2513 : else {
2514 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
2515 2 : ldv_free(ldv_8_container_struct_dentry_ptr);
2516 2 : ldv_free(ldv_8_container_struct_fiemap_extent_info_ptr);
2517 2 : ldv_free(ldv_8_container_struct_iattr_ptr);
2518 2 : ldv_free(ldv_8_container_struct_inode_ptr);
2519 2 : ldv_free(ldv_8_container_struct_nameidata_ptr);
2520 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
2521 :
2522 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
2523 : /* Skip a non-replicative signal receiving */
2524 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
2525 :
2526 : /* Exit function at a terminal state */
2527 1 : return;
2528 : }
2529 : /* End of the subprocess 'call' */
2530 : return;
2531 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_xattr_handler)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_8"} */
2532 : }
2533 :
2534 : /* AUX_FUNC ldv_random_containerless_scenario_9 */
2535 : void ldv_random_containerless_scenario_9(void *arg0) {
2536 : /* LDV {"thread": 9, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_xattr_handler)'", "function": "ldv_random_containerless_scenario_9"} */
2537 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
2538 1 : int (*ldv_9_callback_create)(struct inode *, struct dentry *, int, struct nameidata *);
2539 : int (*ldv_9_callback_fiemap)(struct inode *, struct fiemap_extent_info *, u64 , u64 );
2540 1 : void *(*ldv_9_callback_follow_link)(struct dentry *, struct nameidata *);
2541 1 : int (*ldv_9_callback_get)(struct dentry *, char *, void *, size_t , int);
2542 1 : ssize_t (*ldv_9_callback_getxattr)(struct dentry *, char *, void *, size_t );
2543 1 : int (*ldv_9_callback_link)(struct dentry *, struct inode *, struct dentry *);
2544 1 : size_t (*ldv_9_callback_list)(struct dentry *, char *, size_t , char *, size_t , int);
2545 : ssize_t (*ldv_9_callback_listxattr)(struct dentry *, char *, size_t );
2546 1 : struct dentry *(*ldv_9_callback_lookup)(struct inode *, struct dentry *, struct nameidata *);
2547 1 : int (*ldv_9_callback_mkdir)(struct inode *, struct dentry *, int);
2548 1 : int (*ldv_9_callback_mknod)(struct inode *, struct dentry *, int, unsigned int);
2549 1 : void (*ldv_9_callback_put_link)(struct dentry *, struct nameidata *, void *);
2550 1 : int (*ldv_9_callback_readlink)(struct dentry *, char *, int);
2551 1 : int (*ldv_9_callback_removexattr)(struct dentry *, char *);
2552 1 : int (*ldv_9_callback_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);
2553 1 : int (*ldv_9_callback_rmdir)(struct inode *, struct dentry *);
2554 : int (*ldv_9_callback_set)(struct dentry *, char *, void *, size_t , int, int);
2555 1 : int (*ldv_9_callback_setattr)(struct dentry *, struct iattr *);
2556 1 : int (*ldv_9_callback_setxattr)(struct dentry *, char *, void *, size_t , int);
2557 1 : int (*ldv_9_callback_symlink)(struct inode *, struct dentry *, char *);
2558 1 : void (*ldv_9_callback_truncate)(struct inode *);
2559 1 : int (*ldv_9_callback_unlink)(struct inode *, struct dentry *);
2560 1 : struct dentry *ldv_9_container_struct_dentry_ptr;
2561 1 : struct fiemap_extent_info *ldv_9_container_struct_fiemap_extent_info_ptr;
2562 1 : struct iattr *ldv_9_container_struct_iattr_ptr;
2563 1 : struct inode *ldv_9_container_struct_inode_ptr;
2564 1 : struct nameidata *ldv_9_container_struct_nameidata_ptr;
2565 1 : long long unsigned int ldv_9_ldv_param_10_2_default;
2566 1 : long long unsigned int ldv_9_ldv_param_10_3_default;
2567 1 : char *ldv_9_ldv_param_14_1_default;
2568 1 : long unsigned int ldv_9_ldv_param_14_3_default;
2569 1 : int ldv_9_ldv_param_14_4_default;
2570 1 : char *ldv_9_ldv_param_17_1_default;
2571 1 : long unsigned int ldv_9_ldv_param_17_3_default;
2572 1 : struct dentry *ldv_9_ldv_param_20_2_default;
2573 1 : char *ldv_9_ldv_param_23_1_default;
2574 1 : long unsigned int ldv_9_ldv_param_23_2_default;
2575 1 : char *ldv_9_ldv_param_23_3_default;
2576 1 : long unsigned int ldv_9_ldv_param_23_4_default;
2577 1 : int ldv_9_ldv_param_23_5_default;
2578 1 : char *ldv_9_ldv_param_26_1_default;
2579 1 : long unsigned int ldv_9_ldv_param_26_2_default;
2580 1 : int ldv_9_ldv_param_30_2_default;
2581 1 : int ldv_9_ldv_param_33_2_default;
2582 1 : unsigned int ldv_9_ldv_param_33_3_default;
2583 1 : char *ldv_9_ldv_param_37_1_default;
2584 1 : int ldv_9_ldv_param_37_2_default;
2585 1 : char *ldv_9_ldv_param_40_1_default;
2586 1 : struct inode *ldv_9_ldv_param_43_2_default;
2587 1 : struct dentry *ldv_9_ldv_param_43_3_default;
2588 1 : char *ldv_9_ldv_param_47_1_default;
2589 1 : long unsigned int ldv_9_ldv_param_47_3_default;
2590 1 : int ldv_9_ldv_param_47_4_default;
2591 1 : int ldv_9_ldv_param_47_5_default;
2592 1 : int ldv_9_ldv_param_4_2_default;
2593 1 : char *ldv_9_ldv_param_51_1_default;
2594 1 : long unsigned int ldv_9_ldv_param_51_3_default;
2595 1 : int ldv_9_ldv_param_51_4_default;
2596 1 : char *ldv_9_ldv_param_54_2_default;
2597 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
2598 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
2599 3 : ldv_free(arg0);
2600 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
2601 1 :
2602 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
2603 4 : ldv_9_container_struct_dentry_ptr = ldv_xmalloc_unknown_size(0);
2604 4 : ldv_9_container_struct_fiemap_extent_info_ptr = ldv_xmalloc_unknown_size(0);
2605 4 : ldv_9_container_struct_iattr_ptr = ldv_xmalloc_unknown_size(0);
2606 4 : ldv_9_container_struct_inode_ptr = ldv_xmalloc_unknown_size(0);
2607 4 : ldv_9_container_struct_nameidata_ptr = ldv_xmalloc_unknown_size(0);
2608 1 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
2609 1 :
2610 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2611 1 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2612 1 :
2613 1 : /* Jump to a subprocess 'call' initial state */
2614 2 : goto ldv_call_9;
2615 1 : /* End of the process */
2616 1 : return;
2617 2 :
2618 1 : /* Sbprocess call */
2619 : ldv_call_9:
2620 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
2621 :
2622 4 : if (ldv_undef_int()) {
2623 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2624 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
2625 :
2626 2 : switch (ldv_undef_int()) {
2627 3 : case 1: {
2628 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback unlink from inode_operations."} */
2629 : /* LDV {"type": "CALLBACK", "call": "((& ext2_unlink))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr);", "comment": "callback"} */
2630 2 : ldv_random_containerless_scenario_callback_9_58(ldv_9_callback_unlink, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr);
2631 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2632 :
2633 1 : break;
2634 1 : }
2635 3 : case 2: {
2636 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback truncate from inode_operations."} */
2637 : /* LDV {"type": "CALLBACK", "call": "((& ext2_truncate))(ldv_9_container_struct_inode_ptr);", "comment": "callback"} */
2638 2 : ldv_random_containerless_scenario_callback_9_57(ldv_9_callback_truncate, ldv_9_container_struct_inode_ptr);
2639 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2640 :
2641 1 : break;
2642 1 : }
2643 3 : case 3: {
2644 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2645 3 : ldv_9_ldv_param_54_2_default = ldv_xmalloc_unknown_size(0);
2646 : /* LDV {"action": "PRE_CALL_54", "type": "CONDITION_END"} */
2647 :
2648 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback symlink from inode_operations."} */
2649 : /* LDV {"type": "CALLBACK", "call": "((& ext2_symlink))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_54_2_default);", "comment": "callback"} */
2650 2 : ldv_random_containerless_scenario_callback_9_54(ldv_9_callback_symlink, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_54_2_default);
2651 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2652 :
2653 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2654 2 : ldv_free(ldv_9_ldv_param_54_2_default);
2655 : /* LDV {"action": "POST_CALL_54", "type": "CONDITION_END"} */
2656 :
2657 1 : break;
2658 1 : }
2659 3 : case 4: {
2660 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2661 3 : ldv_9_ldv_param_51_1_default = ldv_xmalloc_unknown_size(0);
2662 : /* LDV {"action": "PRE_CALL_51", "type": "CONDITION_END"} */
2663 :
2664 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setxattr from inode_operations."} */
2665 : /* LDV {"type": "CALLBACK", "call": "((& generic_setxattr))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_51_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_51_3_default, ldv_9_ldv_param_51_4_default);", "comment": "callback"} */
2666 2 : ldv_random_containerless_scenario_callback_9_51(ldv_9_callback_setxattr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_51_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_51_3_default, ldv_9_ldv_param_51_4_default);
2667 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2668 :
2669 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2670 2 : ldv_free(ldv_9_ldv_param_51_1_default);
2671 : /* LDV {"action": "POST_CALL_51", "type": "CONDITION_END"} */
2672 :
2673 1 : break;
2674 1 : }
2675 3 : case 5: {
2676 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback setattr from inode_operations."} */
2677 : /* LDV {"type": "CALLBACK", "call": "((& ext2_setattr))(ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_iattr_ptr);", "comment": "callback"} */
2678 2 : ldv_random_containerless_scenario_callback_9_50(ldv_9_callback_setattr, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_iattr_ptr);
2679 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2680 :
2681 1 : break;
2682 1 : }
2683 3 : case 6: {
2684 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2685 3 : ldv_9_ldv_param_47_1_default = ldv_xmalloc_unknown_size(0);
2686 : /* LDV {"action": "PRE_CALL_47", "type": "CONDITION_END"} */
2687 :
2688 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback set from xattr_handler."} */
2689 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_user_set))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_47_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_47_3_default, ldv_9_ldv_param_47_4_default, ldv_9_ldv_param_47_5_default);", "comment": "callback"} */
2690 2 : ldv_random_containerless_scenario_callback_9_47(ldv_9_callback_set, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_47_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_47_3_default, ldv_9_ldv_param_47_4_default, ldv_9_ldv_param_47_5_default);
2691 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2692 :
2693 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2694 2 : ldv_free(ldv_9_ldv_param_47_1_default);
2695 : /* LDV {"action": "POST_CALL_47", "type": "CONDITION_END"} */
2696 :
2697 1 : break;
2698 1 : }
2699 3 : case 7: {
2700 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rmdir from inode_operations."} */
2701 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rmdir))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr);", "comment": "callback"} */
2702 2 : ldv_random_containerless_scenario_callback_9_46(ldv_9_callback_rmdir, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr);
2703 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2704 :
2705 1 : break;
2706 1 : }
2707 3 : case 8: {
2708 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2709 3 : ldv_9_ldv_param_43_2_default = ldv_xmalloc_unknown_size(0);
2710 3 : ldv_9_ldv_param_43_3_default = ldv_xmalloc_unknown_size(0);
2711 : /* LDV {"action": "PRE_CALL_43", "type": "CONDITION_END"} */
2712 :
2713 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback rename from inode_operations."} */
2714 : /* LDV {"type": "CALLBACK", "call": "((& ext2_rename))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_43_2_default, ldv_9_ldv_param_43_3_default);", "comment": "callback"} */
2715 2 : ldv_random_containerless_scenario_callback_9_43(ldv_9_callback_rename, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_43_2_default, ldv_9_ldv_param_43_3_default);
2716 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2717 :
2718 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2719 2 : ldv_free(ldv_9_ldv_param_43_2_default);
2720 2 : ldv_free(ldv_9_ldv_param_43_3_default);
2721 : /* LDV {"action": "POST_CALL_43", "type": "CONDITION_END"} */
2722 :
2723 1 : break;
2724 1 : }
2725 3 : case 9: {
2726 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2727 3 : ldv_9_ldv_param_40_1_default = ldv_xmalloc_unknown_size(0);
2728 : /* LDV {"action": "PRE_CALL_40", "type": "CONDITION_END"} */
2729 :
2730 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback removexattr from inode_operations."} */
2731 : /* LDV {"type": "CALLBACK", "call": "((& generic_removexattr))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_40_1_default);", "comment": "callback"} */
2732 2 : ldv_random_containerless_scenario_callback_9_40(ldv_9_callback_removexattr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_40_1_default);
2733 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2734 :
2735 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2736 2 : ldv_free(ldv_9_ldv_param_40_1_default);
2737 : /* LDV {"action": "POST_CALL_40", "type": "CONDITION_END"} */
2738 :
2739 1 : break;
2740 1 : }
2741 3 : case 10: {
2742 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2743 3 : ldv_9_ldv_param_37_1_default = ldv_xmalloc_unknown_size(0);
2744 : /* LDV {"action": "PRE_CALL_37", "type": "CONDITION_END"} */
2745 :
2746 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback readlink from inode_operations."} */
2747 : /* LDV {"type": "CALLBACK", "call": "((& generic_readlink))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_37_1_default, ldv_9_ldv_param_37_2_default);", "comment": "callback"} */
2748 2 : ldv_random_containerless_scenario_callback_9_37(ldv_9_callback_readlink, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_37_1_default, ldv_9_ldv_param_37_2_default);
2749 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2750 :
2751 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2752 2 : ldv_free(ldv_9_ldv_param_37_1_default);
2753 : /* LDV {"action": "POST_CALL_37", "type": "CONDITION_END"} */
2754 :
2755 1 : break;
2756 1 : }
2757 3 : case 11: {
2758 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback put_link from inode_operations."} */
2759 : /* LDV {"type": "CALLBACK", "call": "((& page_put_link))(ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_nameidata_ptr, ldv_9_container_struct_fiemap_extent_info_ptr);", "comment": "callback"} */
2760 2 : ldv_random_containerless_scenario_callback_9_36(ldv_9_callback_put_link, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_nameidata_ptr, ldv_9_container_struct_fiemap_extent_info_ptr);
2761 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2762 :
2763 1 : break;
2764 1 : }
2765 3 : case 12: {
2766 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2767 : /* LDV {"action": "PRE_CALL_33", "type": "CONDITION_END"} */
2768 :
2769 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mknod from inode_operations."} */
2770 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mknod))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_33_2_default, ldv_9_ldv_param_33_3_default);", "comment": "callback"} */
2771 2 : ldv_random_containerless_scenario_callback_9_33(ldv_9_callback_mknod, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_33_2_default, ldv_9_ldv_param_33_3_default);
2772 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2773 :
2774 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2775 : /* LDV {"action": "POST_CALL_33", "type": "CONDITION_END"} */
2776 :
2777 1 : break;
2778 1 : }
2779 3 : case 13: {
2780 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2781 : /* LDV {"action": "PRE_CALL_30", "type": "CONDITION_END"} */
2782 :
2783 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback mkdir from inode_operations."} */
2784 : /* LDV {"type": "CALLBACK", "call": "((& ext2_mkdir))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_30_2_default);", "comment": "callback"} */
2785 2 : ldv_random_containerless_scenario_callback_9_30(ldv_9_callback_mkdir, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_30_2_default);
2786 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2787 :
2788 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2789 : /* LDV {"action": "POST_CALL_30", "type": "CONDITION_END"} */
2790 :
2791 1 : break;
2792 1 : }
2793 3 : case 14: {
2794 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback lookup from inode_operations."} */
2795 : /* LDV {"type": "CALLBACK", "call": "((& ext2_lookup))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_nameidata_ptr);", "comment": "callback"} */
2796 2 : ldv_random_containerless_scenario_callback_9_29(ldv_9_callback_lookup, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_nameidata_ptr);
2797 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2798 :
2799 1 : break;
2800 1 : }
2801 3 : case 15: {
2802 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2803 3 : ldv_9_ldv_param_26_1_default = ldv_xmalloc_unknown_size(0);
2804 : /* LDV {"action": "PRE_CALL_26", "type": "CONDITION_END"} */
2805 :
2806 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback listxattr from inode_operations."} */
2807 : /* LDV {"type": "CALLBACK", "call": "((& ext2_listxattr))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_26_1_default, ldv_9_ldv_param_26_2_default);", "comment": "callback"} */
2808 2 : ldv_random_containerless_scenario_callback_9_26(ldv_9_callback_listxattr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_26_1_default, ldv_9_ldv_param_26_2_default);
2809 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2810 :
2811 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2812 2 : ldv_free(ldv_9_ldv_param_26_1_default);
2813 : /* LDV {"action": "POST_CALL_26", "type": "CONDITION_END"} */
2814 :
2815 1 : break;
2816 1 : }
2817 3 : case 16: {
2818 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2819 3 : ldv_9_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
2820 3 : ldv_9_ldv_param_23_3_default = ldv_xmalloc_unknown_size(0);
2821 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
2822 :
2823 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback list from xattr_handler."} */
2824 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_user_list))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_23_1_default, ldv_9_ldv_param_23_2_default, ldv_9_ldv_param_23_3_default, ldv_9_ldv_param_23_4_default, ldv_9_ldv_param_23_5_default);", "comment": "callback"} */
2825 2 : ldv_random_containerless_scenario_callback_9_23(ldv_9_callback_list, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_23_1_default, ldv_9_ldv_param_23_2_default, ldv_9_ldv_param_23_3_default, ldv_9_ldv_param_23_4_default, ldv_9_ldv_param_23_5_default);
2826 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2827 :
2828 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2829 2 : ldv_free(ldv_9_ldv_param_23_1_default);
2830 2 : ldv_free(ldv_9_ldv_param_23_3_default);
2831 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
2832 :
2833 1 : break;
2834 1 : }
2835 3 : case 17: {
2836 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2837 3 : ldv_9_ldv_param_20_2_default = ldv_xmalloc_unknown_size(0);
2838 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_END"} */
2839 :
2840 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback link from inode_operations."} */
2841 : /* LDV {"type": "CALLBACK", "call": "((& ext2_link))(ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_inode_ptr, ldv_9_ldv_param_20_2_default);", "comment": "callback"} */
2842 2 : ldv_random_containerless_scenario_callback_9_20(ldv_9_callback_link, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_inode_ptr, ldv_9_ldv_param_20_2_default);
2843 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2844 :
2845 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2846 2 : ldv_free(ldv_9_ldv_param_20_2_default);
2847 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_END"} */
2848 :
2849 1 : break;
2850 1 : }
2851 3 : case 18: {
2852 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2853 3 : ldv_9_ldv_param_17_1_default = ldv_xmalloc_unknown_size(0);
2854 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_END"} */
2855 :
2856 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback getxattr from inode_operations."} */
2857 : /* LDV {"type": "CALLBACK", "call": "((& generic_getxattr))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_17_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_17_3_default);", "comment": "callback"} */
2858 2 : ldv_random_containerless_scenario_callback_9_17(ldv_9_callback_getxattr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_17_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_17_3_default);
2859 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2860 :
2861 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2862 2 : ldv_free(ldv_9_ldv_param_17_1_default);
2863 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_END"} */
2864 :
2865 1 : break;
2866 1 : }
2867 3 : case 19: {
2868 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2869 3 : ldv_9_ldv_param_14_1_default = ldv_xmalloc_unknown_size(0);
2870 : /* LDV {"action": "PRE_CALL_14", "type": "CONDITION_END"} */
2871 :
2872 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get from xattr_handler."} */
2873 : /* LDV {"type": "CALLBACK", "call": "((& ext2_xattr_user_get))(ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_14_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_14_3_default, ldv_9_ldv_param_14_4_default);", "comment": "callback"} */
2874 2 : ldv_random_containerless_scenario_callback_9_14(ldv_9_callback_get, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_14_1_default, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_14_3_default, ldv_9_ldv_param_14_4_default);
2875 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2876 :
2877 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2878 2 : ldv_free(ldv_9_ldv_param_14_1_default);
2879 : /* LDV {"action": "POST_CALL_14", "type": "CONDITION_END"} */
2880 :
2881 1 : break;
2882 1 : }
2883 3 : case 20: {
2884 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback follow_link from inode_operations."} */
2885 : /* LDV {"type": "CALLBACK", "call": "((& ext2_follow_link))(ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_nameidata_ptr);", "comment": "callback"} */
2886 2 : ldv_random_containerless_scenario_callback_9_13(ldv_9_callback_follow_link, ldv_9_container_struct_dentry_ptr, ldv_9_container_struct_nameidata_ptr);
2887 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2888 :
2889 1 : break;
2890 1 : }
2891 3 : case 21: {
2892 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2893 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
2894 :
2895 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fiemap from inode_operations."} */
2896 : /* LDV {"type": "CALLBACK", "call": "((& ext2_fiemap))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_10_2_default, ldv_9_ldv_param_10_3_default);", "comment": "callback"} */
2897 2 : ldv_random_containerless_scenario_callback_9_10(ldv_9_callback_fiemap, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_fiemap_extent_info_ptr, ldv_9_ldv_param_10_2_default, ldv_9_ldv_param_10_3_default);
2898 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2899 :
2900 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2901 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
2902 :
2903 1 : break;
2904 1 : }
2905 3 : case 22: {
2906 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback create from inode_operations."} */
2907 : /* LDV {"type": "CALLBACK", "call": "((& ext2_create))(ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_4_2_default, ldv_9_container_struct_nameidata_ptr);", "comment": "callback"} */
2908 2 : ldv_random_containerless_scenario_callback_9_4(ldv_9_callback_create, ldv_9_container_struct_inode_ptr, ldv_9_container_struct_dentry_ptr, ldv_9_ldv_param_4_2_default, ldv_9_container_struct_nameidata_ptr);
2909 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2910 :
2911 1 : break;
2912 1 : }
2913 2 : default: ldv_stop();
2914 1 : }
2915 0 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2916 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
2917 0 :
2918 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2919 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2920 :
2921 : /* Jump to a subprocess 'call' initial state */
2922 22 : goto ldv_call_9;
2923 : }
2924 : else {
2925 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
2926 2 : ldv_free(ldv_9_container_struct_dentry_ptr);
2927 2 : ldv_free(ldv_9_container_struct_fiemap_extent_info_ptr);
2928 2 : ldv_free(ldv_9_container_struct_iattr_ptr);
2929 2 : ldv_free(ldv_9_container_struct_inode_ptr);
2930 2 : ldv_free(ldv_9_container_struct_nameidata_ptr);
2931 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
2932 :
2933 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_XATTR_HANDLER callbacks invocations scenario."} */
2934 : /* Skip a non-replicative signal receiving */
2935 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
2936 :
2937 : /* Exit function at a terminal state */
2938 1 : return;
2939 : }
2940 : /* End of the subprocess 'call' */
2941 : return;
2942 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_xattr_handler)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_9"} */
2943 : }
2944 :
2945 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_10 */
2946 : void ldv_random_containerless_scenario_callback_4_10(struct dentry *(*arg0)(struct super_block *, struct fid *, int, int), struct super_block *arg1, struct fid *arg2, int arg3, int arg4) {
2947 2 : ((& ext2_fh_to_parent))(arg1, arg2, arg3, arg4);
2948 1 : }
2949 :
2950 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_13 */
2951 : void ldv_random_containerless_scenario_callback_4_13(struct dentry *(*arg0)(struct dentry *), struct dentry *arg1) {
2952 3 : ((& ext2_get_parent))(arg1);
2953 1 : }
2954 :
2955 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_4 */
2956 : void ldv_random_containerless_scenario_callback_4_4(struct dentry *(*arg0)(struct super_block *, struct fid *, int, int), struct super_block *arg1, struct fid *arg2, int arg3, int arg4) {
2957 2 : ((& ext2_fh_to_dentry))(arg1, arg2, arg3, arg4);
2958 1 : }
2959 :
2960 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_12 */
2961 : void ldv_random_containerless_scenario_callback_5_12(void (*arg0)(struct super_block *), struct super_block *arg1) {
2962 1 : ((& kill_block_super))(arg1);
2963 1 : }
2964 :
2965 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_13 */
2966 : void ldv_random_containerless_scenario_callback_5_13(void (*arg0)(struct super_block *), struct super_block *arg1) {
2967 2 : ((& ext2_put_super))(arg1);
2968 1 : }
2969 :
2970 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_14 */
2971 : void ldv_random_containerless_scenario_callback_5_14(int (*arg0)(struct super_block *, ext2_grpblk_t *, char *), struct super_block *arg1, int *arg2, char *arg3) {
2972 5 : ((& ext2_remount))(arg1, arg2, arg3);
2973 1 : }
2974 :
2975 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_17 */
2976 : void ldv_random_containerless_scenario_callback_5_17(int (*arg0)(struct seq_file *, struct vfsmount *), struct seq_file *arg1, struct vfsmount *arg2) {
2977 2 : ((& ext2_show_options))(arg1, arg2);
2978 1 : }
2979 :
2980 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_18 */
2981 : void ldv_random_containerless_scenario_callback_5_18(int (*arg0)(struct dentry *, struct kstatfs *), struct dentry *arg1, struct kstatfs *arg2) {
2982 2 : ((& ext2_statfs))(arg1, arg2);
2983 1 : }
2984 :
2985 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_19 */
2986 : void ldv_random_containerless_scenario_callback_5_19(int (*arg0)(struct super_block *, int), struct super_block *arg1, int arg2) {
2987 3 : ((& ext2_sync_fs))(arg1, arg2);
2988 1 : }
2989 :
2990 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_22 */
2991 : void ldv_random_containerless_scenario_callback_5_22(int (*arg0)(struct inode *, int), struct inode *arg1, int arg2) {
2992 3 : ((& ext2_write_inode))(arg1, arg2);
2993 1 : }
2994 :
2995 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_25 */
2996 : void ldv_random_containerless_scenario_callback_5_25(void (*arg0)(struct super_block *), struct super_block *arg1) {
2997 3 : ((& ext2_write_super))(arg1);
2998 1 : }
2999 :
3000 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_3 */
3001 : void ldv_random_containerless_scenario_callback_5_3(struct inode *(*arg0)(struct super_block *), struct super_block *arg1) {
3002 2 : ((& ext2_alloc_inode))(arg1);
3003 1 : }
3004 :
3005 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_6 */
3006 : void ldv_random_containerless_scenario_callback_5_6(void (*arg0)(struct inode *), struct inode *arg1) {
3007 2 : ((& ext2_clear_inode))(arg1);
3008 1 : }
3009 :
3010 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_7 */
3011 : void ldv_random_containerless_scenario_callback_5_7(void (*arg0)(struct inode *), struct inode *arg1) {
3012 3 : ((& ext2_delete_inode))(arg1);
3013 1 : }
3014 :
3015 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_8 */
3016 : void ldv_random_containerless_scenario_callback_5_8(void (*arg0)(struct inode *), struct inode *arg1) {
3017 2 : ((& ext2_destroy_inode))(arg1);
3018 1 : }
3019 :
3020 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_9 */
3021 : void ldv_random_containerless_scenario_callback_5_9(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) {
3022 2 : ((& ext2_get_sb))(arg1, arg2, arg3, arg4, arg5);
3023 1 : }
3024 :
3025 : /* AUX_FUNC main */
3026 : int main() {
3027 1 : ldv_main_13(0);
3028 0 : return 0;
3029 : }
3030 :
3031 :
3032 : /* AUX_FUNC ERR_PTR */
3033 : static inline void *ERR_PTR (long int error)
3034 : {
3035 :
3036 : return ldv_err_ptr(error);
3037 : }
3038 :
3039 : /* AUX_FUNC PTR_ERR */
3040 : static inline long int PTR_ERR (void const *ptr)
3041 : {
3042 :
3043 : return ldv_ptr_err(ptr);
3044 : }
3045 :
3046 : /* AUX_FUNC IS_ERR */
3047 : static inline long int IS_ERR (void const *ptr)
3048 : {
3049 :
3050 : return ldv_is_err(ptr);
3051 : }
3052 :
3053 : /* AUX_FUNC IS_ERR_OR_NULL */
3054 : static inline long int IS_ERR_OR_NULL (void const *ptr)
3055 : {
3056 :
3057 : return ldv_is_err_or_null(ptr);
3058 : }
3059 :
3060 : /* AUX_FUNC kzalloc */
3061 : static inline void *kzalloc (size_t size, gfp_t flags)
3062 : {
3063 40 :
3064 120 : return ldv_kzalloc(size, flags);
3065 : }
3066 :
3067 : /* AUX_FUNC ldv_register_filesystem_6 */
3068 : int ldv_register_filesystem_6 (struct file_system_type *ldv_func_arg1)
3069 : {
3070 1 :
3071 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'register_filesystem'"} */
3072 4 : return ldv_emg_register_filesystem(ldv_func_arg1);
3073 : }
3074 :
3075 : /* AUX_FUNC ldv_unregister_filesystem_7 */
3076 : int ldv_unregister_filesystem_7 (struct file_system_type *ldv_func_arg1)
3077 : {
3078 2 :
3079 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'unregister_filesystem'"} */
3080 6 : return ldv_emg_unregister_filesystem(ldv_func_arg1);
3081 : }
|