LCOV - code coverage report
Current view: top level - home/alexey/klever/native-scheduler-work-dir/native-scheduler-work-dir/scheduler/jobs/032ed983781f2acce615a4df71b22f31/klever-core-work-dir/929d281/linux-drivers-clk2/avtg/drivers/scsi/sg.ko/linux:drivers:clk2/weaver - sg.c.aux (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1686 1708 98.7 %
Date: 2017-01-25 Functions: 159 159 100.0 %

          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 <scsi/scsi_host.h>
      31             : #include <linux/fs.h>
      32             : #include <linux/seq_file.h>
      33             : #include <linux/pagemap.h>
      34             : 
      35             : 
      36             : struct ldv_struct_cdev_del_19 {
      37             :  struct file_operations *arg0;
      38             :  int signal_pending;
      39             : };
      40           1 : 
      41             : struct ldv_struct_insmod_18 {
      42             :  int signal_pending;
      43             : };
      44           1 : 
      45             : struct ldv_struct_random_containerless_scenario_15 {
      46             :  struct class_interface *arg0;
      47             :  int signal_pending;
      48             : };
      49           1 : 
      50             : struct ldv_struct_traverse_kernel_items_scenario_9 {
      51             :  struct seq_file *arg0;
      52             :  struct seq_operations *arg1;
      53             :  int signal_pending;
      54             : };
      55             : 
      56             : /* EMG Function declarations */
      57             : void ldv_character_driver_scenario_1(void *);
      58             : void ldv_character_driver_scenario_2(void *);
      59             : void ldv_character_driver_scenario_3(void *);
      60             : void ldv_character_driver_scenario_4(void *);
      61             : void ldv_character_driver_scenario_5(void *);
      62             : void ldv_character_driver_scenario_6(void *);
      63             : void ldv_character_driver_scenario_7(void *);
      64             : void ldv_character_driver_scenario_8(void *);
      65             : void ldv_character_driver_scenario_callback_1_21(int (*)(int, struct file *, int), int, struct file *, int);
      66             : void ldv_character_driver_scenario_callback_1_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
      67             : void ldv_character_driver_scenario_callback_1_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
      68             : void ldv_character_driver_scenario_callback_1_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
      69             : void ldv_character_driver_scenario_callback_1_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
      70             : void ldv_character_driver_scenario_callback_1_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
      71             : void ldv_character_driver_scenario_callback_1_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
      72             : void ldv_character_driver_scenario_callback_2_21(int (*)(int, struct file *, int), int, struct file *, int);
      73             : void ldv_character_driver_scenario_callback_2_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
      74             : void ldv_character_driver_scenario_callback_2_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
      75             : void ldv_character_driver_scenario_callback_2_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
      76             : void ldv_character_driver_scenario_callback_2_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
      77             : void ldv_character_driver_scenario_callback_2_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
      78             : void ldv_character_driver_scenario_callback_2_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
      79             : void ldv_character_driver_scenario_callback_3_21(int (*)(int, struct file *, int), int, struct file *, int);
      80             : void ldv_character_driver_scenario_callback_3_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
      81             : void ldv_character_driver_scenario_callback_3_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
      82             : void ldv_character_driver_scenario_callback_3_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
      83             : void ldv_character_driver_scenario_callback_3_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
      84             : void ldv_character_driver_scenario_callback_3_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
      85             : void ldv_character_driver_scenario_callback_3_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
      86             : void ldv_character_driver_scenario_callback_4_21(int (*)(int, struct file *, int), int, struct file *, int);
      87             : void ldv_character_driver_scenario_callback_4_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
      88             : void ldv_character_driver_scenario_callback_4_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
      89             : void ldv_character_driver_scenario_callback_4_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
      90             : void ldv_character_driver_scenario_callback_4_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
      91             : void ldv_character_driver_scenario_callback_4_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
      92             : void ldv_character_driver_scenario_callback_4_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
      93             : void ldv_character_driver_scenario_callback_5_21(int (*)(int, struct file *, int), int, struct file *, int);
      94             : void ldv_character_driver_scenario_callback_5_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
      95             : void ldv_character_driver_scenario_callback_5_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
      96             : void ldv_character_driver_scenario_callback_5_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
      97             : void ldv_character_driver_scenario_callback_5_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
      98             : void ldv_character_driver_scenario_callback_5_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
      99             : void ldv_character_driver_scenario_callback_5_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
     100             : void ldv_character_driver_scenario_callback_6_21(int (*)(int, struct file *, int), int, struct file *, int);
     101             : void ldv_character_driver_scenario_callback_6_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
     102             : void ldv_character_driver_scenario_callback_6_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
     103             : void ldv_character_driver_scenario_callback_6_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
     104             : void ldv_character_driver_scenario_callback_6_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
     105             : void ldv_character_driver_scenario_callback_6_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     106             : void ldv_character_driver_scenario_callback_6_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
     107             : void ldv_character_driver_scenario_callback_7_21(int (*)(int, struct file *, int), int, struct file *, int);
     108             : void ldv_character_driver_scenario_callback_7_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
     109             : void ldv_character_driver_scenario_callback_7_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
     110             : void ldv_character_driver_scenario_callback_7_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
     111             : void ldv_character_driver_scenario_callback_7_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
     112             : void ldv_character_driver_scenario_callback_7_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     113             : void ldv_character_driver_scenario_callback_7_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
     114             : void ldv_character_driver_scenario_callback_8_21(int (*)(int, struct file *, int), int, struct file *, int);
     115             : void ldv_character_driver_scenario_callback_8_24(int (*)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *, struct file *, unsigned int, long unsigned int);
     116             : void ldv_character_driver_scenario_callback_8_27(loff_t (*)(struct file *, loff_t , int), struct file *, long long int, int);
     117             : void ldv_character_driver_scenario_callback_8_30(int (*)(struct file *, struct vm_area_struct *), struct file *, struct vm_area_struct *);
     118             : void ldv_character_driver_scenario_callback_8_31(unsigned int (*)(struct file *, poll_table *), struct file *, poll_table *);
     119             : void ldv_character_driver_scenario_callback_8_32(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     120             : void ldv_character_driver_scenario_callback_8_5(long int (*)(struct file *, unsigned int, long unsigned int), struct file *, unsigned int, long unsigned int);
     121             : int ldv_character_driver_scenario_probe_1_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     122             : int ldv_character_driver_scenario_probe_2_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     123             : int ldv_character_driver_scenario_probe_3_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     124             : int ldv_character_driver_scenario_probe_4_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     125             : int ldv_character_driver_scenario_probe_5_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     126             : int ldv_character_driver_scenario_probe_6_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     127             : int ldv_character_driver_scenario_probe_7_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     128             : int ldv_character_driver_scenario_probe_8_12(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     129             : void ldv_character_driver_scenario_release_1_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     130             : void ldv_character_driver_scenario_release_2_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     131             : void ldv_character_driver_scenario_release_3_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     132             : void ldv_character_driver_scenario_release_4_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     133             : void ldv_character_driver_scenario_release_5_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     134             : void ldv_character_driver_scenario_release_6_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     135             : void ldv_character_driver_scenario_release_7_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     136             : void ldv_character_driver_scenario_release_8_2(int (*)(struct inode *, struct file *), struct inode *, struct file *);
     137             : void ldv_character_driver_scenario_write_1_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     138             : void ldv_character_driver_scenario_write_2_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     139             : void ldv_character_driver_scenario_write_3_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     140             : void ldv_character_driver_scenario_write_4_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     141             : void ldv_character_driver_scenario_write_5_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     142             : void ldv_character_driver_scenario_write_6_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     143             : void ldv_character_driver_scenario_write_7_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     144             : void ldv_character_driver_scenario_write_8_4(ssize_t (*)(struct file *, char *, size_t , loff_t *), struct file *, char *, long unsigned int, loff_t *);
     145             : void ldv_dispatch_default_deregister_4_18_6(void);
     146             : void ldv_dispatch_default_deregister_8_18_4(void);
     147             : void ldv_dispatch_default_deregister_9_18_5(void);
     148             : void ldv_dispatch_default_register_3_18_7(void);
     149             : void ldv_dispatch_default_register_8_18_9(void);
     150             : void ldv_dispatch_default_register_9_18_8(void);
     151             : void ldv_dispatch_deregister_19_1(struct file_operations *);
     152             : void ldv_dispatch_deregister_21_1(struct class_interface *);
     153             : void ldv_dispatch_insmod_deregister_23_2(void);
     154             : void ldv_dispatch_insmod_register_23_3(void);
     155             : void ldv_dispatch_register_20_1(struct seq_file *, struct seq_operations *);
     156             : void ldv_dispatch_register_22_3(struct class_interface *);
     157             : void ldv_emg_cdev_del(struct cdev *);
     158             : void ldv_emg_class_interface_unregister(struct class_interface *);
     159             : int ldv_emg_scsi_register_interface(struct class_interface *);
     160             : int ldv_emg_seq_open(struct file *, struct seq_operations *);
     161             : void ldv_insmod_18(void *);
     162             : void ldv_insmod_exit_sg_18_2(void (*)(void));
     163             : int ldv_insmod_init_sg_18_13(int (*)(void));
     164             : void ldv_main_23(void *);
     165             : void ldv_random_containerless_scenario_15(void *);
     166             : void ldv_random_containerless_scenario_16(void *);
     167             : void ldv_random_containerless_scenario_17(void *);
     168             : void ldv_random_containerless_scenario_callback_15_3(int (*)(struct device *, struct class_interface *), struct device *, struct class_interface *);
     169             : void ldv_random_containerless_scenario_callback_15_6(void (*)(struct device *, struct class_interface *), struct device *, struct class_interface *);
     170             : void ldv_random_containerless_scenario_callback_16_10(int (*)(char *, struct kernel_param *), char *, struct kernel_param *);
     171             : void ldv_random_containerless_scenario_callback_16_4(int (*)(char *, struct kernel_param *), char *, struct kernel_param *);
     172             : void ldv_random_containerless_scenario_callback_17_4(int (*)(struct vm_area_struct *, struct vm_fault *), struct vm_area_struct *, struct vm_fault *);
     173             : void ldv_traverse_kernel_items_scenario_10(void *);
     174             : void ldv_traverse_kernel_items_scenario_11(void *);
     175             : void ldv_traverse_kernel_items_scenario_12(void *);
     176             : void ldv_traverse_kernel_items_scenario_13(void *);
     177             : void ldv_traverse_kernel_items_scenario_14(void *);
     178             : void ldv_traverse_kernel_items_scenario_9(void *);
     179             : void *ldv_traverse_kernel_items_scenario_next_10_7(void *(*)(struct seq_file *, void *, loff_t *), struct seq_file *, void *, loff_t *);
     180             : void *ldv_traverse_kernel_items_scenario_next_11_7(void *(*)(struct seq_file *, void *, loff_t *), struct seq_file *, void *, loff_t *);
     181             : void *ldv_traverse_kernel_items_scenario_next_12_7(void *(*)(struct seq_file *, void *, loff_t *), struct seq_file *, void *, loff_t *);
     182             : void *ldv_traverse_kernel_items_scenario_next_13_7(void *(*)(struct seq_file *, void *, loff_t *), struct seq_file *, void *, loff_t *);
     183             : void *ldv_traverse_kernel_items_scenario_next_14_7(void *(*)(struct seq_file *, void *, loff_t *), struct seq_file *, void *, loff_t *);
     184             : void *ldv_traverse_kernel_items_scenario_next_9_7(void *(*)(struct seq_file *, void *, loff_t *), struct seq_file *, void *, loff_t *);
     185             : void ldv_traverse_kernel_items_scenario_show_10_6(int (*)(struct seq_file *, void *), struct seq_file *, void *);
     186             : void ldv_traverse_kernel_items_scenario_show_11_6(int (*)(struct seq_file *, void *), struct seq_file *, void *);
     187             : void ldv_traverse_kernel_items_scenario_show_12_6(int (*)(struct seq_file *, void *), struct seq_file *, void *);
     188             : void ldv_traverse_kernel_items_scenario_show_13_6(int (*)(struct seq_file *, void *), struct seq_file *, void *);
     189             : void ldv_traverse_kernel_items_scenario_show_14_6(int (*)(struct seq_file *, void *), struct seq_file *, void *);
     190             : void ldv_traverse_kernel_items_scenario_show_9_6(int (*)(struct seq_file *, void *), struct seq_file *, void *);
     191             : void *ldv_traverse_kernel_items_scenario_start_10_13(void *(*)(struct seq_file *, loff_t *), struct seq_file *, loff_t *);
     192             : void *ldv_traverse_kernel_items_scenario_start_11_13(void *(*)(struct seq_file *, loff_t *), struct seq_file *, loff_t *);
     193             : void *ldv_traverse_kernel_items_scenario_start_12_13(void *(*)(struct seq_file *, loff_t *), struct seq_file *, loff_t *);
     194             : void *ldv_traverse_kernel_items_scenario_start_13_13(void *(*)(struct seq_file *, loff_t *), struct seq_file *, loff_t *);
     195             : void *ldv_traverse_kernel_items_scenario_start_14_13(void *(*)(struct seq_file *, loff_t *), struct seq_file *, loff_t *);
     196             : void *ldv_traverse_kernel_items_scenario_start_9_13(void *(*)(struct seq_file *, loff_t *), struct seq_file *, loff_t *);
     197             : void ldv_traverse_kernel_items_scenario_stop_10_2(void (*)(struct seq_file *, void *), struct seq_file *, void *);
     198             : void ldv_traverse_kernel_items_scenario_stop_11_2(void (*)(struct seq_file *, void *), struct seq_file *, void *);
     199             : void ldv_traverse_kernel_items_scenario_stop_12_2(void (*)(struct seq_file *, void *), struct seq_file *, void *);
     200             : void ldv_traverse_kernel_items_scenario_stop_13_2(void (*)(struct seq_file *, void *), struct seq_file *, void *);
     201             : void ldv_traverse_kernel_items_scenario_stop_14_2(void (*)(struct seq_file *, void *), struct seq_file *, void *);
     202             : void ldv_traverse_kernel_items_scenario_stop_9_2(void (*)(struct seq_file *, void *), struct seq_file *, void *);
     203             : int main(void);
     204             : 
     205             : /* EMG variable declarations */
     206           1 : struct ldv_thread ldv_thread_1;
     207           1 : struct ldv_thread ldv_thread_10;
     208           1 : struct ldv_thread ldv_thread_11;
     209           1 : struct ldv_thread ldv_thread_12;
     210           1 : struct ldv_thread ldv_thread_13;
     211           1 : struct ldv_thread ldv_thread_14;
     212           1 : struct ldv_thread ldv_thread_15;
     213           1 : struct ldv_thread ldv_thread_16;
     214           1 : struct ldv_thread ldv_thread_17;
     215           1 : struct ldv_thread ldv_thread_18;
     216           1 : struct ldv_thread ldv_thread_2;
     217           1 : struct ldv_thread ldv_thread_23;
     218           1 : struct ldv_thread ldv_thread_3;
     219           1 : struct ldv_thread ldv_thread_4;
     220           1 : struct ldv_thread ldv_thread_5;
     221           1 : struct ldv_thread ldv_thread_6;
     222           1 : struct ldv_thread ldv_thread_7;
     223           1 : struct ldv_thread ldv_thread_8;
     224           1 : struct ldv_thread ldv_thread_9;
     225             : 
     226             : /* EMG variable initialization */
     227             : 
     228             : /* EMG function definitions */
     229             : /* AUX_FUNC ldv_character_driver_scenario_1 */
     230             : void ldv_character_driver_scenario_1(void *arg0) {
     231             :  /* LDV {"thread": 1, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_1"} */
     232           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
     233           1 :  long int (*ldv_1_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
     234           1 :  int (*ldv_1_callback_fasync)(int, struct file *, int);
     235           1 :  int (*ldv_1_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
     236           1 :  loff_t (*ldv_1_callback_llseek)(struct file *, loff_t , int);
     237           1 :  int (*ldv_1_callback_mmap)(struct file *, struct vm_area_struct *);
     238           1 :  unsigned int (*ldv_1_callback_poll)(struct file *, poll_table *);
     239           1 :  ssize_t (*ldv_1_callback_read)(struct file *, char *, size_t , loff_t *);
     240           1 :  struct file_operations *ldv_1_container_file_operations;
     241           1 :  int ldv_1_ldv_param_21_0_default;
     242           1 :  int ldv_1_ldv_param_21_2_default;
     243           1 :  unsigned int ldv_1_ldv_param_24_2_default;
     244           1 :  long long int ldv_1_ldv_param_27_1_default;
     245           1 :  int ldv_1_ldv_param_27_2_default;
     246           1 :  char *ldv_1_ldv_param_32_1_default;
     247           1 :  long long int *ldv_1_ldv_param_32_3_default;
     248           1 :  char *ldv_1_ldv_param_4_1_default;
     249           1 :  long long int *ldv_1_ldv_param_4_3_default;
     250           1 :  unsigned int ldv_1_ldv_param_5_1_default;
     251           1 :  struct file *ldv_1_resource_file;
     252           1 :  struct inode *ldv_1_resource_inode;
     253           1 :  int ldv_1_ret_default;
     254           1 :  struct poll_table_struct *ldv_1_size_cnt_struct_poll_table_struct_ptr;
     255           1 :  struct vm_area_struct *ldv_1_size_cnt_struct_vm_area_struct_ptr;
     256           1 :  long unsigned int ldv_1_size_cnt_write_size;
     257           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
     258           1 :  /* Initialize automaton variables */
     259           2 :  ldv_1_ret_default = 1;
     260           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
     261           3 :  ldv_free(arg0);
     262           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
     263           1 : 
     264           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
     265           4 :  ldv_1_container_file_operations = ldv_xmalloc_unknown_size(0);
     266           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
     267           1 : 
     268             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
     269           3 :  ldv_1_resource_file = ldv_xmalloc(sizeof(struct file));
     270           3 :  ldv_1_resource_inode = ldv_xmalloc(sizeof(struct inode));
     271           3 :  ldv_1_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
     272             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
     273             : 
     274             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     275             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     276             : 
     277             :  /* Jump to a subprocess 'main' initial state */
     278           1 :  goto ldv_main_1;
     279             :  /* End of the process */
     280             :  return;
     281           1 : 
     282             :  /* Sbprocess main */
     283             :  ldv_main_1:
     284             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     285             : 
     286           4 :  if (ldv_undef_int()) {
     287             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
     288             :   /* LDV {"type": "CALLBACK", "call": "ldv_1_ret_default = ((& sg_proc_single_open_adio))(ldv_1_resource_inode, ldv_1_resource_file);", "comment": "probe"} */
     289           2 :   ldv_1_ret_default = ldv_character_driver_scenario_probe_1_12(ldv_1_container_file_operations->open, ldv_1_resource_inode, ldv_1_resource_file);
     290             :   /* Callback post-call */
     291           2 :   ldv_1_ret_default = ldv_filter_err_code(ldv_1_ret_default);
     292             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
     293             : 
     294           4 :   if (ldv_undef_int()) {
     295             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
     296           2 :    ldv_assume(ldv_1_ret_default == 0);
     297             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
     298             : 
     299             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     300             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     301             : 
     302             :    /* Jump to a subprocess 'call' initial state */
     303           1 :    goto ldv_call_1;
     304             :   }
     305             :   else {
     306             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
     307           2 :    ldv_assume(ldv_1_ret_default != 0);
     308             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
     309             : 
     310             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     311             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     312             : 
     313             :    /* Jump to a subprocess 'main' initial state */
     314           1 :    goto ldv_main_1;
     315             :   }
     316             :  }
     317             :  else {
     318             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
     319           2 :   ldv_free(ldv_1_resource_file);
     320           2 :   ldv_free(ldv_1_resource_inode);
     321             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
     322             : 
     323             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
     324             :   /* Skip a non-replicative signal receiving */
     325             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
     326             : 
     327             :   /* Exit function at a terminal state */
     328           1 :   return;
     329             :  }
     330             :  /* End of the subprocess 'main' */
     331             :  return;
     332           1 : 
     333             :  /* Sbprocess call */
     334             :  ldv_call_1:
     335             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     336             : 
     337           2 :  switch (ldv_undef_int()) {
     338           3 :   case 1: {
     339             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     340           3 :    ldv_1_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
     341           3 :    ldv_1_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
     342             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
     343             : 
     344             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from file_operations."} */
     345             :    /* Callback pre-call */
     346           2 :    ldv_assume(ldv_1_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
     347             :    /* LDV {"type": "CALLBACK", "call": "((& sg_proc_write_adio))(ldv_1_resource_file, ldv_1_ldv_param_4_1_default, ldv_1_size_cnt_write_size, ldv_1_ldv_param_4_3_default);", "comment": "write"} */
     348           3 :    ldv_character_driver_scenario_write_1_4(ldv_1_container_file_operations->write, ldv_1_resource_file, ldv_1_ldv_param_4_1_default, ldv_1_size_cnt_write_size, ldv_1_ldv_param_4_3_default);
     349             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
     350             : 
     351             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     352           2 :    ldv_free(ldv_1_ldv_param_4_1_default);
     353           2 :    ldv_free(ldv_1_ldv_param_4_3_default);
     354             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
     355             : 
     356             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     357             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     358             : 
     359             :    /* Jump to a subprocess 'call' initial state */
     360           1 :    goto ldv_call_1;
     361           1 :    break;
     362             :   }
     363           3 :   case 2: {
     364             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
     365             :    /* LDV {"type": "CALLBACK", "call": "((& single_release))(ldv_1_resource_inode, ldv_1_resource_file);", "comment": "release"} */
     366           2 :    ldv_character_driver_scenario_release_1_2(ldv_1_container_file_operations->release, ldv_1_resource_inode, ldv_1_resource_file);
     367             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
     368             : 
     369             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     370             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     371             : 
     372             :    /* Jump to a subprocess 'main' initial state */
     373           1 :    goto ldv_main_1;
     374           1 :    break;
     375             :   }
     376           3 :   case 3: {
     377             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     378             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
     379             : 
     380           2 :    switch (ldv_undef_int()) {
     381           3 :     case 1: {
     382             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     383           3 :      ldv_1_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
     384           3 :      ldv_1_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
     385             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
     386             : 
     387             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
     388             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_1_resource_file, ldv_1_ldv_param_32_1_default, ldv_1_size_cnt_write_size, ldv_1_ldv_param_32_3_default);", "comment": "callback"} */
     389           2 :      ldv_character_driver_scenario_callback_1_32(ldv_1_callback_read, ldv_1_resource_file, ldv_1_ldv_param_32_1_default, ldv_1_size_cnt_write_size, ldv_1_ldv_param_32_3_default);
     390             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     391             : 
     392             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     393           2 :      ldv_free(ldv_1_ldv_param_32_1_default);
     394           2 :      ldv_free(ldv_1_ldv_param_32_3_default);
     395             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
     396             : 
     397           1 :      break;
     398           1 :     }
     399           3 :     case 2: {
     400             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     401           2 :      if (ldv_1_callback_poll) {
     402             :      /* LDV {"type": "CALLBACK", "call": "(ldv_1_callback_poll)(ldv_1_resource_file, ldv_1_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
     403           2 :       ldv_character_driver_scenario_callback_1_31(ldv_1_callback_poll, ldv_1_resource_file, ldv_1_size_cnt_struct_poll_table_struct_ptr);
     404             :      }
     405             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     406             : 
     407           2 :      break;
     408           1 :     }
     409           3 :     case 3: {
     410             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     411           2 :      if (ldv_1_callback_mmap) {
     412             :      /* LDV {"type": "CALLBACK", "call": "(ldv_1_callback_mmap)(ldv_1_resource_file, ldv_1_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
     413           2 :       ldv_character_driver_scenario_callback_1_30(ldv_1_callback_mmap, ldv_1_resource_file, ldv_1_size_cnt_struct_vm_area_struct_ptr);
     414             :      }
     415             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     416             : 
     417           2 :      break;
     418           1 :     }
     419           3 :     case 4: {
     420             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     421             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
     422             : 
     423             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
     424             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_1_resource_file, ldv_1_ldv_param_27_1_default, ldv_1_ldv_param_27_2_default);", "comment": "callback"} */
     425           2 :      ldv_character_driver_scenario_callback_1_27(ldv_1_callback_llseek, ldv_1_resource_file, ldv_1_ldv_param_27_1_default, ldv_1_ldv_param_27_2_default);
     426             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     427             : 
     428             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     429             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
     430             : 
     431           1 :      break;
     432           1 :     }
     433           3 :     case 5: {
     434             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     435             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
     436             : 
     437             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     438           2 :      if (ldv_1_callback_ioctl) {
     439             :      /* LDV {"type": "CALLBACK", "call": "(ldv_1_callback_ioctl)(ldv_1_resource_inode, ldv_1_resource_file, ldv_1_ldv_param_24_2_default, ldv_1_size_cnt_write_size);", "comment": "callback"} */
     440           2 :       ldv_character_driver_scenario_callback_1_24(ldv_1_callback_ioctl, ldv_1_resource_inode, ldv_1_resource_file, ldv_1_ldv_param_24_2_default, ldv_1_size_cnt_write_size);
     441             :      }
     442             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     443             : 
     444             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     445             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
     446             : 
     447           2 :      break;
     448           1 :     }
     449           3 :     case 6: {
     450             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     451             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
     452             : 
     453             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     454           2 :      if (ldv_1_callback_fasync) {
     455             :      /* LDV {"type": "CALLBACK", "call": "(ldv_1_callback_fasync)(ldv_1_ldv_param_21_0_default, ldv_1_resource_file, ldv_1_ldv_param_21_2_default);", "comment": "callback"} */
     456           2 :       ldv_character_driver_scenario_callback_1_21(ldv_1_callback_fasync, ldv_1_ldv_param_21_0_default, ldv_1_resource_file, ldv_1_ldv_param_21_2_default);
     457             :      }
     458             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     459             : 
     460             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     461             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
     462             : 
     463           2 :      break;
     464           1 :     }
     465           3 :     case 7: {
     466             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     467           2 :      if (ldv_1_callback_compat_ioctl) {
     468             :      /* LDV {"type": "CALLBACK", "call": "(ldv_1_callback_compat_ioctl)(ldv_1_resource_file, ldv_1_ldv_param_5_1_default, ldv_1_size_cnt_write_size);", "comment": "callback"} */
     469           2 :       ldv_character_driver_scenario_callback_1_5(ldv_1_callback_compat_ioctl, ldv_1_resource_file, ldv_1_ldv_param_5_1_default, ldv_1_size_cnt_write_size);
     470             :      }
     471             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     472             : 
     473           2 :      break;
     474           1 :     }
     475           2 :     default: ldv_stop();
     476           1 :    }
     477           8 :    break;
     478           1 :   }
     479           2 :   default: ldv_stop();
     480           1 :  }
     481           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     482             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
     483           0 : 
     484             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     485             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     486             : 
     487             :  /* Jump to a subprocess 'call' initial state */
     488           8 :  goto ldv_call_1;
     489             :  /* Jump to a subprocess 'call' initial state */
     490             :  goto ldv_call_1;
     491             :  /* End of the subprocess 'call' */
     492             :  return;
     493             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_1"} */
     494             : }
     495             : 
     496             : /* AUX_FUNC ldv_character_driver_scenario_2 */
     497             : void ldv_character_driver_scenario_2(void *arg0) {
     498             :  /* LDV {"thread": 2, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_2"} */
     499           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
     500           1 :  long int (*ldv_2_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
     501           1 :  int (*ldv_2_callback_fasync)(int, struct file *, int);
     502           1 :  int (*ldv_2_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
     503           1 :  loff_t (*ldv_2_callback_llseek)(struct file *, loff_t , int);
     504           1 :  int (*ldv_2_callback_mmap)(struct file *, struct vm_area_struct *);
     505           1 :  unsigned int (*ldv_2_callback_poll)(struct file *, poll_table *);
     506           1 :  ssize_t (*ldv_2_callback_read)(struct file *, char *, size_t , loff_t *);
     507           1 :  struct file_operations *ldv_2_container_file_operations;
     508           1 :  int ldv_2_ldv_param_21_0_default;
     509           1 :  int ldv_2_ldv_param_21_2_default;
     510           1 :  unsigned int ldv_2_ldv_param_24_2_default;
     511           1 :  long long int ldv_2_ldv_param_27_1_default;
     512           1 :  int ldv_2_ldv_param_27_2_default;
     513           1 :  char *ldv_2_ldv_param_32_1_default;
     514           1 :  long long int *ldv_2_ldv_param_32_3_default;
     515           1 :  char *ldv_2_ldv_param_4_1_default;
     516           1 :  long long int *ldv_2_ldv_param_4_3_default;
     517           1 :  unsigned int ldv_2_ldv_param_5_1_default;
     518           1 :  struct file *ldv_2_resource_file;
     519           1 :  struct inode *ldv_2_resource_inode;
     520           1 :  int ldv_2_ret_default;
     521           1 :  struct poll_table_struct *ldv_2_size_cnt_struct_poll_table_struct_ptr;
     522           1 :  struct vm_area_struct *ldv_2_size_cnt_struct_vm_area_struct_ptr;
     523           1 :  long unsigned int ldv_2_size_cnt_write_size;
     524           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
     525           1 :  /* Initialize automaton variables */
     526           2 :  ldv_2_ret_default = 1;
     527           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
     528           3 :  ldv_free(arg0);
     529           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
     530           1 : 
     531           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
     532           4 :  ldv_2_container_file_operations = ldv_xmalloc_unknown_size(0);
     533           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
     534           1 : 
     535             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
     536           3 :  ldv_2_resource_file = ldv_xmalloc(sizeof(struct file));
     537           3 :  ldv_2_resource_inode = ldv_xmalloc(sizeof(struct inode));
     538           3 :  ldv_2_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
     539             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
     540             : 
     541             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     542             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     543             : 
     544             :  /* Jump to a subprocess 'main' initial state */
     545           1 :  goto ldv_main_2;
     546             :  /* End of the process */
     547             :  return;
     548           1 : 
     549             :  /* Sbprocess main */
     550             :  ldv_main_2:
     551             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     552             : 
     553           4 :  if (ldv_undef_int()) {
     554             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
     555             :   /* LDV {"type": "CALLBACK", "call": "ldv_2_ret_default = ((& sg_proc_open_debug))(ldv_2_resource_inode, ldv_2_resource_file);", "comment": "probe"} */
     556           2 :   ldv_2_ret_default = ldv_character_driver_scenario_probe_2_12(ldv_2_container_file_operations->open, ldv_2_resource_inode, ldv_2_resource_file);
     557             :   /* Callback post-call */
     558           2 :   ldv_2_ret_default = ldv_filter_err_code(ldv_2_ret_default);
     559             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
     560             : 
     561           4 :   if (ldv_undef_int()) {
     562             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
     563           2 :    ldv_assume(ldv_2_ret_default == 0);
     564             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
     565             : 
     566             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     567             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     568             : 
     569             :    /* Jump to a subprocess 'call' initial state */
     570           1 :    goto ldv_call_2;
     571             :   }
     572             :   else {
     573             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
     574           2 :    ldv_assume(ldv_2_ret_default != 0);
     575             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
     576             : 
     577             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     578             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     579             : 
     580             :    /* Jump to a subprocess 'main' initial state */
     581           1 :    goto ldv_main_2;
     582             :   }
     583             :  }
     584             :  else {
     585             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
     586           2 :   ldv_free(ldv_2_resource_file);
     587           2 :   ldv_free(ldv_2_resource_inode);
     588             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
     589             : 
     590             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
     591             :   /* Skip a non-replicative signal receiving */
     592             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
     593             : 
     594             :   /* Exit function at a terminal state */
     595           1 :   return;
     596             :  }
     597             :  /* End of the subprocess 'main' */
     598             :  return;
     599           1 : 
     600             :  /* Sbprocess call */
     601             :  ldv_call_2:
     602             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     603             : 
     604           2 :  switch (ldv_undef_int()) {
     605           3 :   case 1: {
     606             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     607           3 :    ldv_2_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
     608           3 :    ldv_2_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
     609             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
     610             : 
     611             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from FILE_OPERATIONS."} */
     612             :    /* Callback pre-call */
     613           2 :    ldv_assume(ldv_2_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
     614           3 :    if (ldv_2_container_file_operations->write) {
     615             :    /* LDV {"type": "CALLBACK", "call": "(ldv_2_container_file_operations->write)(ldv_2_resource_file, ldv_2_ldv_param_4_1_default, ldv_2_size_cnt_write_size, ldv_2_ldv_param_4_3_default);", "comment": "write"} */
     616           3 :     ldv_character_driver_scenario_write_2_4(ldv_2_container_file_operations->write, ldv_2_resource_file, ldv_2_ldv_param_4_1_default, ldv_2_size_cnt_write_size, ldv_2_ldv_param_4_3_default);
     617             :    }
     618             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
     619             : 
     620             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     621           4 :    ldv_free(ldv_2_ldv_param_4_1_default);
     622           2 :    ldv_free(ldv_2_ldv_param_4_3_default);
     623             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
     624             : 
     625             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     626             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     627             : 
     628             :    /* Jump to a subprocess 'call' initial state */
     629           1 :    goto ldv_call_2;
     630           1 :    break;
     631             :   }
     632           3 :   case 2: {
     633             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
     634             :    /* LDV {"type": "CALLBACK", "call": "((& seq_release))(ldv_2_resource_inode, ldv_2_resource_file);", "comment": "release"} */
     635           2 :    ldv_character_driver_scenario_release_2_2(ldv_2_container_file_operations->release, ldv_2_resource_inode, ldv_2_resource_file);
     636             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
     637             : 
     638             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     639             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     640             : 
     641             :    /* Jump to a subprocess 'main' initial state */
     642           1 :    goto ldv_main_2;
     643           1 :    break;
     644             :   }
     645           3 :   case 3: {
     646             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     647             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
     648             : 
     649           2 :    switch (ldv_undef_int()) {
     650           3 :     case 1: {
     651             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     652           3 :      ldv_2_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
     653           3 :      ldv_2_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
     654             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
     655             : 
     656             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
     657             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_2_resource_file, ldv_2_ldv_param_32_1_default, ldv_2_size_cnt_write_size, ldv_2_ldv_param_32_3_default);", "comment": "callback"} */
     658           2 :      ldv_character_driver_scenario_callback_2_32(ldv_2_callback_read, ldv_2_resource_file, ldv_2_ldv_param_32_1_default, ldv_2_size_cnt_write_size, ldv_2_ldv_param_32_3_default);
     659             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     660             : 
     661             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     662           2 :      ldv_free(ldv_2_ldv_param_32_1_default);
     663           2 :      ldv_free(ldv_2_ldv_param_32_3_default);
     664             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
     665             : 
     666           1 :      break;
     667           1 :     }
     668           3 :     case 2: {
     669             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     670           2 :      if (ldv_2_callback_poll) {
     671             :      /* LDV {"type": "CALLBACK", "call": "(ldv_2_callback_poll)(ldv_2_resource_file, ldv_2_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
     672           2 :       ldv_character_driver_scenario_callback_2_31(ldv_2_callback_poll, ldv_2_resource_file, ldv_2_size_cnt_struct_poll_table_struct_ptr);
     673             :      }
     674             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     675             : 
     676           2 :      break;
     677           1 :     }
     678           3 :     case 3: {
     679             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     680           2 :      if (ldv_2_callback_mmap) {
     681             :      /* LDV {"type": "CALLBACK", "call": "(ldv_2_callback_mmap)(ldv_2_resource_file, ldv_2_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
     682           2 :       ldv_character_driver_scenario_callback_2_30(ldv_2_callback_mmap, ldv_2_resource_file, ldv_2_size_cnt_struct_vm_area_struct_ptr);
     683             :      }
     684             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     685             : 
     686           2 :      break;
     687           1 :     }
     688           3 :     case 4: {
     689             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     690             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
     691             : 
     692             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
     693             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_2_resource_file, ldv_2_ldv_param_27_1_default, ldv_2_ldv_param_27_2_default);", "comment": "callback"} */
     694           2 :      ldv_character_driver_scenario_callback_2_27(ldv_2_callback_llseek, ldv_2_resource_file, ldv_2_ldv_param_27_1_default, ldv_2_ldv_param_27_2_default);
     695             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     696             : 
     697             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     698             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
     699             : 
     700           1 :      break;
     701           1 :     }
     702           3 :     case 5: {
     703             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     704             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
     705             : 
     706             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     707           2 :      if (ldv_2_callback_ioctl) {
     708             :      /* LDV {"type": "CALLBACK", "call": "(ldv_2_callback_ioctl)(ldv_2_resource_inode, ldv_2_resource_file, ldv_2_ldv_param_24_2_default, ldv_2_size_cnt_write_size);", "comment": "callback"} */
     709           2 :       ldv_character_driver_scenario_callback_2_24(ldv_2_callback_ioctl, ldv_2_resource_inode, ldv_2_resource_file, ldv_2_ldv_param_24_2_default, ldv_2_size_cnt_write_size);
     710             :      }
     711             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     712             : 
     713             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     714             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
     715             : 
     716           2 :      break;
     717           1 :     }
     718           3 :     case 6: {
     719             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     720             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
     721             : 
     722             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     723           2 :      if (ldv_2_callback_fasync) {
     724             :      /* LDV {"type": "CALLBACK", "call": "(ldv_2_callback_fasync)(ldv_2_ldv_param_21_0_default, ldv_2_resource_file, ldv_2_ldv_param_21_2_default);", "comment": "callback"} */
     725           2 :       ldv_character_driver_scenario_callback_2_21(ldv_2_callback_fasync, ldv_2_ldv_param_21_0_default, ldv_2_resource_file, ldv_2_ldv_param_21_2_default);
     726             :      }
     727             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     728             : 
     729             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     730             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
     731             : 
     732           2 :      break;
     733           1 :     }
     734           3 :     case 7: {
     735             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     736           2 :      if (ldv_2_callback_compat_ioctl) {
     737             :      /* LDV {"type": "CALLBACK", "call": "(ldv_2_callback_compat_ioctl)(ldv_2_resource_file, ldv_2_ldv_param_5_1_default, ldv_2_size_cnt_write_size);", "comment": "callback"} */
     738           2 :       ldv_character_driver_scenario_callback_2_5(ldv_2_callback_compat_ioctl, ldv_2_resource_file, ldv_2_ldv_param_5_1_default, ldv_2_size_cnt_write_size);
     739             :      }
     740             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     741             : 
     742           2 :      break;
     743           1 :     }
     744           2 :     default: ldv_stop();
     745           1 :    }
     746           8 :    break;
     747           1 :   }
     748           2 :   default: ldv_stop();
     749           1 :  }
     750           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     751             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
     752           0 : 
     753             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     754             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     755             : 
     756             :  /* Jump to a subprocess 'call' initial state */
     757           8 :  goto ldv_call_2;
     758             :  /* Jump to a subprocess 'call' initial state */
     759             :  goto ldv_call_2;
     760             :  /* End of the subprocess 'call' */
     761             :  return;
     762             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_2"} */
     763             : }
     764             : 
     765             : /* AUX_FUNC ldv_character_driver_scenario_3 */
     766             : void ldv_character_driver_scenario_3(void *arg0) {
     767             :  /* LDV {"thread": 3, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_3"} */
     768           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
     769           1 :  long int (*ldv_3_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
     770           1 :  int (*ldv_3_callback_fasync)(int, struct file *, int);
     771           1 :  int (*ldv_3_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
     772           1 :  loff_t (*ldv_3_callback_llseek)(struct file *, loff_t , int);
     773           1 :  int (*ldv_3_callback_mmap)(struct file *, struct vm_area_struct *);
     774           1 :  unsigned int (*ldv_3_callback_poll)(struct file *, poll_table *);
     775           1 :  ssize_t (*ldv_3_callback_read)(struct file *, char *, size_t , loff_t *);
     776           1 :  struct file_operations *ldv_3_container_file_operations;
     777           1 :  int ldv_3_ldv_param_21_0_default;
     778           1 :  int ldv_3_ldv_param_21_2_default;
     779           1 :  unsigned int ldv_3_ldv_param_24_2_default;
     780           1 :  long long int ldv_3_ldv_param_27_1_default;
     781           1 :  int ldv_3_ldv_param_27_2_default;
     782           1 :  char *ldv_3_ldv_param_32_1_default;
     783           1 :  long long int *ldv_3_ldv_param_32_3_default;
     784           1 :  char *ldv_3_ldv_param_4_1_default;
     785           1 :  long long int *ldv_3_ldv_param_4_3_default;
     786           1 :  unsigned int ldv_3_ldv_param_5_1_default;
     787           1 :  struct file *ldv_3_resource_file;
     788           1 :  struct inode *ldv_3_resource_inode;
     789           1 :  int ldv_3_ret_default;
     790           1 :  struct poll_table_struct *ldv_3_size_cnt_struct_poll_table_struct_ptr;
     791           1 :  struct vm_area_struct *ldv_3_size_cnt_struct_vm_area_struct_ptr;
     792           1 :  long unsigned int ldv_3_size_cnt_write_size;
     793           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
     794           1 :  /* Initialize automaton variables */
     795           2 :  ldv_3_ret_default = 1;
     796           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
     797           3 :  ldv_free(arg0);
     798           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
     799           1 : 
     800           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
     801           4 :  ldv_3_container_file_operations = ldv_xmalloc_unknown_size(0);
     802           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
     803           1 : 
     804             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
     805           3 :  ldv_3_resource_file = ldv_xmalloc(sizeof(struct file));
     806           3 :  ldv_3_resource_inode = ldv_xmalloc(sizeof(struct inode));
     807           3 :  ldv_3_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
     808             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
     809             : 
     810             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     811             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     812             : 
     813             :  /* Jump to a subprocess 'main' initial state */
     814           1 :  goto ldv_main_3;
     815             :  /* End of the process */
     816             :  return;
     817           1 : 
     818             :  /* Sbprocess main */
     819             :  ldv_main_3:
     820             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     821             : 
     822           4 :  if (ldv_undef_int()) {
     823             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
     824             :   /* LDV {"type": "CALLBACK", "call": "ldv_3_ret_default = ((& sg_proc_open_dev))(ldv_3_resource_inode, ldv_3_resource_file);", "comment": "probe"} */
     825           2 :   ldv_3_ret_default = ldv_character_driver_scenario_probe_3_12(ldv_3_container_file_operations->open, ldv_3_resource_inode, ldv_3_resource_file);
     826             :   /* Callback post-call */
     827           2 :   ldv_3_ret_default = ldv_filter_err_code(ldv_3_ret_default);
     828             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
     829             : 
     830           4 :   if (ldv_undef_int()) {
     831             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
     832           2 :    ldv_assume(ldv_3_ret_default == 0);
     833             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
     834             : 
     835             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     836             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     837             : 
     838             :    /* Jump to a subprocess 'call' initial state */
     839           1 :    goto ldv_call_3;
     840             :   }
     841             :   else {
     842             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
     843           2 :    ldv_assume(ldv_3_ret_default != 0);
     844             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
     845             : 
     846             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     847             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     848             : 
     849             :    /* Jump to a subprocess 'main' initial state */
     850           1 :    goto ldv_main_3;
     851             :   }
     852             :  }
     853             :  else {
     854             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
     855           2 :   ldv_free(ldv_3_resource_file);
     856           2 :   ldv_free(ldv_3_resource_inode);
     857             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
     858             : 
     859             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
     860             :   /* Skip a non-replicative signal receiving */
     861             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
     862             : 
     863             :   /* Exit function at a terminal state */
     864           1 :   return;
     865             :  }
     866             :  /* End of the subprocess 'main' */
     867             :  return;
     868           1 : 
     869             :  /* Sbprocess call */
     870             :  ldv_call_3:
     871             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     872             : 
     873           2 :  switch (ldv_undef_int()) {
     874           3 :   case 1: {
     875             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     876           3 :    ldv_3_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
     877           3 :    ldv_3_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
     878             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
     879             : 
     880             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from FILE_OPERATIONS."} */
     881             :    /* Callback pre-call */
     882           2 :    ldv_assume(ldv_3_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
     883           3 :    if (ldv_3_container_file_operations->write) {
     884             :    /* LDV {"type": "CALLBACK", "call": "(ldv_3_container_file_operations->write)(ldv_3_resource_file, ldv_3_ldv_param_4_1_default, ldv_3_size_cnt_write_size, ldv_3_ldv_param_4_3_default);", "comment": "write"} */
     885           3 :     ldv_character_driver_scenario_write_3_4(ldv_3_container_file_operations->write, ldv_3_resource_file, ldv_3_ldv_param_4_1_default, ldv_3_size_cnt_write_size, ldv_3_ldv_param_4_3_default);
     886             :    }
     887             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
     888             : 
     889             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     890           4 :    ldv_free(ldv_3_ldv_param_4_1_default);
     891           2 :    ldv_free(ldv_3_ldv_param_4_3_default);
     892             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
     893             : 
     894             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
     895             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     896             : 
     897             :    /* Jump to a subprocess 'call' initial state */
     898           1 :    goto ldv_call_3;
     899           1 :    break;
     900             :   }
     901           3 :   case 2: {
     902             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
     903             :    /* LDV {"type": "CALLBACK", "call": "((& seq_release))(ldv_3_resource_inode, ldv_3_resource_file);", "comment": "release"} */
     904           2 :    ldv_character_driver_scenario_release_3_2(ldv_3_container_file_operations->release, ldv_3_resource_inode, ldv_3_resource_file);
     905             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
     906             : 
     907             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
     908             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     909             : 
     910             :    /* Jump to a subprocess 'main' initial state */
     911           1 :    goto ldv_main_3;
     912           1 :    break;
     913             :   }
     914           3 :   case 3: {
     915             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     916             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
     917             : 
     918           2 :    switch (ldv_undef_int()) {
     919           3 :     case 1: {
     920             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     921           3 :      ldv_3_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
     922           3 :      ldv_3_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
     923             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
     924             : 
     925             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
     926             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_3_resource_file, ldv_3_ldv_param_32_1_default, ldv_3_size_cnt_write_size, ldv_3_ldv_param_32_3_default);", "comment": "callback"} */
     927           2 :      ldv_character_driver_scenario_callback_3_32(ldv_3_callback_read, ldv_3_resource_file, ldv_3_ldv_param_32_1_default, ldv_3_size_cnt_write_size, ldv_3_ldv_param_32_3_default);
     928             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     929             : 
     930             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     931           2 :      ldv_free(ldv_3_ldv_param_32_1_default);
     932           2 :      ldv_free(ldv_3_ldv_param_32_3_default);
     933             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
     934             : 
     935           1 :      break;
     936           1 :     }
     937           3 :     case 2: {
     938             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     939           2 :      if (ldv_3_callback_poll) {
     940             :      /* LDV {"type": "CALLBACK", "call": "(ldv_3_callback_poll)(ldv_3_resource_file, ldv_3_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
     941           2 :       ldv_character_driver_scenario_callback_3_31(ldv_3_callback_poll, ldv_3_resource_file, ldv_3_size_cnt_struct_poll_table_struct_ptr);
     942             :      }
     943             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     944             : 
     945           2 :      break;
     946           1 :     }
     947           3 :     case 3: {
     948             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     949           2 :      if (ldv_3_callback_mmap) {
     950             :      /* LDV {"type": "CALLBACK", "call": "(ldv_3_callback_mmap)(ldv_3_resource_file, ldv_3_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
     951           2 :       ldv_character_driver_scenario_callback_3_30(ldv_3_callback_mmap, ldv_3_resource_file, ldv_3_size_cnt_struct_vm_area_struct_ptr);
     952             :      }
     953             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     954             : 
     955           2 :      break;
     956           1 :     }
     957           3 :     case 4: {
     958             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     959             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
     960             : 
     961             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
     962             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_3_resource_file, ldv_3_ldv_param_27_1_default, ldv_3_ldv_param_27_2_default);", "comment": "callback"} */
     963           2 :      ldv_character_driver_scenario_callback_3_27(ldv_3_callback_llseek, ldv_3_resource_file, ldv_3_ldv_param_27_1_default, ldv_3_ldv_param_27_2_default);
     964             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     965             : 
     966             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     967             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
     968             : 
     969           1 :      break;
     970           1 :     }
     971           3 :     case 5: {
     972             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     973             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
     974             : 
     975             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     976           2 :      if (ldv_3_callback_ioctl) {
     977             :      /* LDV {"type": "CALLBACK", "call": "(ldv_3_callback_ioctl)(ldv_3_resource_inode, ldv_3_resource_file, ldv_3_ldv_param_24_2_default, ldv_3_size_cnt_write_size);", "comment": "callback"} */
     978           2 :       ldv_character_driver_scenario_callback_3_24(ldv_3_callback_ioctl, ldv_3_resource_inode, ldv_3_resource_file, ldv_3_ldv_param_24_2_default, ldv_3_size_cnt_write_size);
     979             :      }
     980             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     981             : 
     982             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     983             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
     984             : 
     985           2 :      break;
     986           1 :     }
     987           3 :     case 6: {
     988             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     989             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
     990             : 
     991             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
     992           2 :      if (ldv_3_callback_fasync) {
     993             :      /* LDV {"type": "CALLBACK", "call": "(ldv_3_callback_fasync)(ldv_3_ldv_param_21_0_default, ldv_3_resource_file, ldv_3_ldv_param_21_2_default);", "comment": "callback"} */
     994           2 :       ldv_character_driver_scenario_callback_3_21(ldv_3_callback_fasync, ldv_3_ldv_param_21_0_default, ldv_3_resource_file, ldv_3_ldv_param_21_2_default);
     995             :      }
     996             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     997             : 
     998             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     999             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
    1000             : 
    1001           2 :      break;
    1002           1 :     }
    1003           3 :     case 7: {
    1004             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1005           2 :      if (ldv_3_callback_compat_ioctl) {
    1006             :      /* LDV {"type": "CALLBACK", "call": "(ldv_3_callback_compat_ioctl)(ldv_3_resource_file, ldv_3_ldv_param_5_1_default, ldv_3_size_cnt_write_size);", "comment": "callback"} */
    1007           2 :       ldv_character_driver_scenario_callback_3_5(ldv_3_callback_compat_ioctl, ldv_3_resource_file, ldv_3_ldv_param_5_1_default, ldv_3_size_cnt_write_size);
    1008             :      }
    1009             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1010             : 
    1011           2 :      break;
    1012           1 :     }
    1013           2 :     default: ldv_stop();
    1014           1 :    }
    1015           8 :    break;
    1016           1 :   }
    1017           2 :   default: ldv_stop();
    1018           1 :  }
    1019           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1020             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
    1021           0 : 
    1022             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1023             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1024             : 
    1025             :  /* Jump to a subprocess 'call' initial state */
    1026           8 :  goto ldv_call_3;
    1027             :  /* Jump to a subprocess 'call' initial state */
    1028             :  goto ldv_call_3;
    1029             :  /* End of the subprocess 'call' */
    1030             :  return;
    1031             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_3"} */
    1032             : }
    1033             : 
    1034             : /* AUX_FUNC ldv_character_driver_scenario_4 */
    1035             : void ldv_character_driver_scenario_4(void *arg0) {
    1036             :  /* LDV {"thread": 4, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_4"} */
    1037           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1038           1 :  long int (*ldv_4_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
    1039           1 :  int (*ldv_4_callback_fasync)(int, struct file *, int);
    1040           1 :  int (*ldv_4_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
    1041           1 :  loff_t (*ldv_4_callback_llseek)(struct file *, loff_t , int);
    1042           1 :  int (*ldv_4_callback_mmap)(struct file *, struct vm_area_struct *);
    1043           1 :  unsigned int (*ldv_4_callback_poll)(struct file *, poll_table *);
    1044           1 :  ssize_t (*ldv_4_callback_read)(struct file *, char *, size_t , loff_t *);
    1045           1 :  struct file_operations *ldv_4_container_file_operations;
    1046           1 :  int ldv_4_ldv_param_21_0_default;
    1047           1 :  int ldv_4_ldv_param_21_2_default;
    1048           1 :  unsigned int ldv_4_ldv_param_24_2_default;
    1049           1 :  long long int ldv_4_ldv_param_27_1_default;
    1050           1 :  int ldv_4_ldv_param_27_2_default;
    1051           1 :  char *ldv_4_ldv_param_32_1_default;
    1052           1 :  long long int *ldv_4_ldv_param_32_3_default;
    1053           1 :  char *ldv_4_ldv_param_4_1_default;
    1054           1 :  long long int *ldv_4_ldv_param_4_3_default;
    1055           1 :  unsigned int ldv_4_ldv_param_5_1_default;
    1056           1 :  struct file *ldv_4_resource_file;
    1057           1 :  struct inode *ldv_4_resource_inode;
    1058           1 :  int ldv_4_ret_default;
    1059           1 :  struct poll_table_struct *ldv_4_size_cnt_struct_poll_table_struct_ptr;
    1060           1 :  struct vm_area_struct *ldv_4_size_cnt_struct_vm_area_struct_ptr;
    1061           1 :  long unsigned int ldv_4_size_cnt_write_size;
    1062           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1063           1 :  /* Initialize automaton variables */
    1064           2 :  ldv_4_ret_default = 1;
    1065           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
    1066           3 :  ldv_free(arg0);
    1067           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1068           1 : 
    1069           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1070           4 :  ldv_4_container_file_operations = ldv_xmalloc_unknown_size(0);
    1071           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1072           1 : 
    1073             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
    1074           3 :  ldv_4_resource_file = ldv_xmalloc(sizeof(struct file));
    1075           3 :  ldv_4_resource_inode = ldv_xmalloc(sizeof(struct inode));
    1076           3 :  ldv_4_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
    1077             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
    1078             : 
    1079             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1080             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1081             : 
    1082             :  /* Jump to a subprocess 'main' initial state */
    1083           1 :  goto ldv_main_4;
    1084             :  /* End of the process */
    1085             :  return;
    1086           1 : 
    1087             :  /* Sbprocess main */
    1088             :  ldv_main_4:
    1089             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1090             : 
    1091           4 :  if (ldv_undef_int()) {
    1092             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
    1093             :   /* LDV {"type": "CALLBACK", "call": "ldv_4_ret_default = ((& sg_proc_single_open_devhdr))(ldv_4_resource_inode, ldv_4_resource_file);", "comment": "probe"} */
    1094           2 :   ldv_4_ret_default = ldv_character_driver_scenario_probe_4_12(ldv_4_container_file_operations->open, ldv_4_resource_inode, ldv_4_resource_file);
    1095             :   /* Callback post-call */
    1096           2 :   ldv_4_ret_default = ldv_filter_err_code(ldv_4_ret_default);
    1097             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1098             : 
    1099           4 :   if (ldv_undef_int()) {
    1100             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
    1101           2 :    ldv_assume(ldv_4_ret_default == 0);
    1102             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1103             : 
    1104             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1105             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1106             : 
    1107             :    /* Jump to a subprocess 'call' initial state */
    1108           1 :    goto ldv_call_4;
    1109             :   }
    1110             :   else {
    1111             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
    1112           2 :    ldv_assume(ldv_4_ret_default != 0);
    1113             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
    1114             : 
    1115             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1116             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1117             : 
    1118             :    /* Jump to a subprocess 'main' initial state */
    1119           1 :    goto ldv_main_4;
    1120             :   }
    1121             :  }
    1122             :  else {
    1123             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
    1124           2 :   ldv_free(ldv_4_resource_file);
    1125           2 :   ldv_free(ldv_4_resource_inode);
    1126             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
    1127             : 
    1128             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
    1129             :   /* Skip a non-replicative signal receiving */
    1130             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
    1131             : 
    1132             :   /* Exit function at a terminal state */
    1133           1 :   return;
    1134             :  }
    1135             :  /* End of the subprocess 'main' */
    1136             :  return;
    1137           1 : 
    1138             :  /* Sbprocess call */
    1139             :  ldv_call_4:
    1140             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1141             : 
    1142           2 :  switch (ldv_undef_int()) {
    1143           3 :   case 1: {
    1144             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1145           3 :    ldv_4_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
    1146           3 :    ldv_4_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
    1147             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
    1148             : 
    1149             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from FILE_OPERATIONS."} */
    1150             :    /* Callback pre-call */
    1151           2 :    ldv_assume(ldv_4_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
    1152           3 :    if (ldv_4_container_file_operations->write) {
    1153             :    /* LDV {"type": "CALLBACK", "call": "(ldv_4_container_file_operations->write)(ldv_4_resource_file, ldv_4_ldv_param_4_1_default, ldv_4_size_cnt_write_size, ldv_4_ldv_param_4_3_default);", "comment": "write"} */
    1154           3 :     ldv_character_driver_scenario_write_4_4(ldv_4_container_file_operations->write, ldv_4_resource_file, ldv_4_ldv_param_4_1_default, ldv_4_size_cnt_write_size, ldv_4_ldv_param_4_3_default);
    1155             :    }
    1156             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
    1157             : 
    1158             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1159           4 :    ldv_free(ldv_4_ldv_param_4_1_default);
    1160           2 :    ldv_free(ldv_4_ldv_param_4_3_default);
    1161             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
    1162             : 
    1163             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1164             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1165             : 
    1166             :    /* Jump to a subprocess 'call' initial state */
    1167           1 :    goto ldv_call_4;
    1168           1 :    break;
    1169             :   }
    1170           3 :   case 2: {
    1171             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
    1172             :    /* LDV {"type": "CALLBACK", "call": "((& single_release))(ldv_4_resource_inode, ldv_4_resource_file);", "comment": "release"} */
    1173           2 :    ldv_character_driver_scenario_release_4_2(ldv_4_container_file_operations->release, ldv_4_resource_inode, ldv_4_resource_file);
    1174             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1175             : 
    1176             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1177             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1178             : 
    1179             :    /* Jump to a subprocess 'main' initial state */
    1180           1 :    goto ldv_main_4;
    1181           1 :    break;
    1182             :   }
    1183           3 :   case 3: {
    1184             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1185             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
    1186             : 
    1187           2 :    switch (ldv_undef_int()) {
    1188           3 :     case 1: {
    1189             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1190           3 :      ldv_4_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
    1191           3 :      ldv_4_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
    1192             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
    1193             : 
    1194             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
    1195             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_4_resource_file, ldv_4_ldv_param_32_1_default, ldv_4_size_cnt_write_size, ldv_4_ldv_param_32_3_default);", "comment": "callback"} */
    1196           2 :      ldv_character_driver_scenario_callback_4_32(ldv_4_callback_read, ldv_4_resource_file, ldv_4_ldv_param_32_1_default, ldv_4_size_cnt_write_size, ldv_4_ldv_param_32_3_default);
    1197             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1198             : 
    1199             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1200           2 :      ldv_free(ldv_4_ldv_param_32_1_default);
    1201           2 :      ldv_free(ldv_4_ldv_param_32_3_default);
    1202             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
    1203             : 
    1204           1 :      break;
    1205           1 :     }
    1206           3 :     case 2: {
    1207             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1208           2 :      if (ldv_4_callback_poll) {
    1209             :      /* LDV {"type": "CALLBACK", "call": "(ldv_4_callback_poll)(ldv_4_resource_file, ldv_4_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
    1210           2 :       ldv_character_driver_scenario_callback_4_31(ldv_4_callback_poll, ldv_4_resource_file, ldv_4_size_cnt_struct_poll_table_struct_ptr);
    1211             :      }
    1212             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1213             : 
    1214           2 :      break;
    1215           1 :     }
    1216           3 :     case 3: {
    1217             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1218           2 :      if (ldv_4_callback_mmap) {
    1219             :      /* LDV {"type": "CALLBACK", "call": "(ldv_4_callback_mmap)(ldv_4_resource_file, ldv_4_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
    1220           2 :       ldv_character_driver_scenario_callback_4_30(ldv_4_callback_mmap, ldv_4_resource_file, ldv_4_size_cnt_struct_vm_area_struct_ptr);
    1221             :      }
    1222             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1223             : 
    1224           2 :      break;
    1225           1 :     }
    1226           3 :     case 4: {
    1227             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1228             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
    1229             : 
    1230             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
    1231             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_4_resource_file, ldv_4_ldv_param_27_1_default, ldv_4_ldv_param_27_2_default);", "comment": "callback"} */
    1232           2 :      ldv_character_driver_scenario_callback_4_27(ldv_4_callback_llseek, ldv_4_resource_file, ldv_4_ldv_param_27_1_default, ldv_4_ldv_param_27_2_default);
    1233             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1234             : 
    1235             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1236             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
    1237             : 
    1238           1 :      break;
    1239           1 :     }
    1240           3 :     case 5: {
    1241             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1242             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
    1243             : 
    1244             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1245           2 :      if (ldv_4_callback_ioctl) {
    1246             :      /* LDV {"type": "CALLBACK", "call": "(ldv_4_callback_ioctl)(ldv_4_resource_inode, ldv_4_resource_file, ldv_4_ldv_param_24_2_default, ldv_4_size_cnt_write_size);", "comment": "callback"} */
    1247           2 :       ldv_character_driver_scenario_callback_4_24(ldv_4_callback_ioctl, ldv_4_resource_inode, ldv_4_resource_file, ldv_4_ldv_param_24_2_default, ldv_4_size_cnt_write_size);
    1248             :      }
    1249             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1250             : 
    1251             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1252             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
    1253             : 
    1254           2 :      break;
    1255           1 :     }
    1256           3 :     case 6: {
    1257             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1258             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
    1259             : 
    1260             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1261           2 :      if (ldv_4_callback_fasync) {
    1262             :      /* LDV {"type": "CALLBACK", "call": "(ldv_4_callback_fasync)(ldv_4_ldv_param_21_0_default, ldv_4_resource_file, ldv_4_ldv_param_21_2_default);", "comment": "callback"} */
    1263           2 :       ldv_character_driver_scenario_callback_4_21(ldv_4_callback_fasync, ldv_4_ldv_param_21_0_default, ldv_4_resource_file, ldv_4_ldv_param_21_2_default);
    1264             :      }
    1265             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1266             : 
    1267             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1268             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
    1269             : 
    1270           2 :      break;
    1271           1 :     }
    1272           3 :     case 7: {
    1273             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1274           2 :      if (ldv_4_callback_compat_ioctl) {
    1275             :      /* LDV {"type": "CALLBACK", "call": "(ldv_4_callback_compat_ioctl)(ldv_4_resource_file, ldv_4_ldv_param_5_1_default, ldv_4_size_cnt_write_size);", "comment": "callback"} */
    1276           2 :       ldv_character_driver_scenario_callback_4_5(ldv_4_callback_compat_ioctl, ldv_4_resource_file, ldv_4_ldv_param_5_1_default, ldv_4_size_cnt_write_size);
    1277             :      }
    1278             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1279             : 
    1280           2 :      break;
    1281           1 :     }
    1282           2 :     default: ldv_stop();
    1283           1 :    }
    1284           8 :    break;
    1285           1 :   }
    1286           2 :   default: ldv_stop();
    1287           1 :  }
    1288           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1289             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
    1290           0 : 
    1291             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1292             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1293             : 
    1294             :  /* Jump to a subprocess 'call' initial state */
    1295           8 :  goto ldv_call_4;
    1296             :  /* Jump to a subprocess 'call' initial state */
    1297             :  goto ldv_call_4;
    1298             :  /* End of the subprocess 'call' */
    1299             :  return;
    1300             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_4"} */
    1301             : }
    1302             : 
    1303             : /* AUX_FUNC ldv_character_driver_scenario_5 */
    1304             : void ldv_character_driver_scenario_5(void *arg0) {
    1305             :  /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_5"} */
    1306           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1307           1 :  long int (*ldv_5_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
    1308           1 :  int (*ldv_5_callback_fasync)(int, struct file *, int);
    1309           1 :  int (*ldv_5_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
    1310           1 :  loff_t (*ldv_5_callback_llseek)(struct file *, loff_t , int);
    1311           1 :  int (*ldv_5_callback_mmap)(struct file *, struct vm_area_struct *);
    1312           1 :  unsigned int (*ldv_5_callback_poll)(struct file *, poll_table *);
    1313           1 :  ssize_t (*ldv_5_callback_read)(struct file *, char *, size_t , loff_t *);
    1314           1 :  struct file_operations *ldv_5_container_file_operations;
    1315           1 :  int ldv_5_ldv_param_21_0_default;
    1316           1 :  int ldv_5_ldv_param_21_2_default;
    1317           1 :  unsigned int ldv_5_ldv_param_24_2_default;
    1318           1 :  long long int ldv_5_ldv_param_27_1_default;
    1319           1 :  int ldv_5_ldv_param_27_2_default;
    1320           1 :  char *ldv_5_ldv_param_32_1_default;
    1321           1 :  long long int *ldv_5_ldv_param_32_3_default;
    1322           1 :  char *ldv_5_ldv_param_4_1_default;
    1323           1 :  long long int *ldv_5_ldv_param_4_3_default;
    1324           1 :  unsigned int ldv_5_ldv_param_5_1_default;
    1325           1 :  struct file *ldv_5_resource_file;
    1326           1 :  struct inode *ldv_5_resource_inode;
    1327           1 :  int ldv_5_ret_default;
    1328           1 :  struct poll_table_struct *ldv_5_size_cnt_struct_poll_table_struct_ptr;
    1329           1 :  struct vm_area_struct *ldv_5_size_cnt_struct_vm_area_struct_ptr;
    1330           1 :  long unsigned int ldv_5_size_cnt_write_size;
    1331           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1332           1 :  /* Initialize automaton variables */
    1333           2 :  ldv_5_ret_default = 1;
    1334           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
    1335           3 :  ldv_free(arg0);
    1336           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1337           1 : 
    1338           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1339           4 :  ldv_5_container_file_operations = ldv_xmalloc_unknown_size(0);
    1340           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1341           1 : 
    1342             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
    1343           3 :  ldv_5_resource_file = ldv_xmalloc(sizeof(struct file));
    1344           3 :  ldv_5_resource_inode = ldv_xmalloc(sizeof(struct inode));
    1345           3 :  ldv_5_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
    1346             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
    1347             : 
    1348             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1349             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1350             : 
    1351             :  /* Jump to a subprocess 'main' initial state */
    1352           1 :  goto ldv_main_5;
    1353             :  /* End of the process */
    1354             :  return;
    1355           1 : 
    1356             :  /* Sbprocess main */
    1357             :  ldv_main_5:
    1358             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1359             : 
    1360           4 :  if (ldv_undef_int()) {
    1361             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
    1362             :   /* LDV {"type": "CALLBACK", "call": "ldv_5_ret_default = ((& sg_proc_open_devstrs))(ldv_5_resource_inode, ldv_5_resource_file);", "comment": "probe"} */
    1363           2 :   ldv_5_ret_default = ldv_character_driver_scenario_probe_5_12(ldv_5_container_file_operations->open, ldv_5_resource_inode, ldv_5_resource_file);
    1364             :   /* Callback post-call */
    1365           2 :   ldv_5_ret_default = ldv_filter_err_code(ldv_5_ret_default);
    1366             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1367             : 
    1368           4 :   if (ldv_undef_int()) {
    1369             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
    1370           2 :    ldv_assume(ldv_5_ret_default == 0);
    1371             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1372             : 
    1373             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1374             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1375             : 
    1376             :    /* Jump to a subprocess 'call' initial state */
    1377           1 :    goto ldv_call_5;
    1378             :   }
    1379             :   else {
    1380             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
    1381           2 :    ldv_assume(ldv_5_ret_default != 0);
    1382             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
    1383             : 
    1384             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1385             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1386             : 
    1387             :    /* Jump to a subprocess 'main' initial state */
    1388           1 :    goto ldv_main_5;
    1389             :   }
    1390             :  }
    1391             :  else {
    1392             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
    1393           2 :   ldv_free(ldv_5_resource_file);
    1394           2 :   ldv_free(ldv_5_resource_inode);
    1395             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
    1396             : 
    1397             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
    1398             :   /* Skip a non-replicative signal receiving */
    1399             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
    1400             : 
    1401             :   /* Exit function at a terminal state */
    1402           1 :   return;
    1403             :  }
    1404             :  /* End of the subprocess 'main' */
    1405             :  return;
    1406           1 : 
    1407             :  /* Sbprocess call */
    1408             :  ldv_call_5:
    1409             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1410             : 
    1411           2 :  switch (ldv_undef_int()) {
    1412           3 :   case 1: {
    1413             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1414           3 :    ldv_5_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
    1415           3 :    ldv_5_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
    1416             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
    1417             : 
    1418             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from FILE_OPERATIONS."} */
    1419             :    /* Callback pre-call */
    1420           2 :    ldv_assume(ldv_5_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
    1421           3 :    if (ldv_5_container_file_operations->write) {
    1422             :    /* LDV {"type": "CALLBACK", "call": "(ldv_5_container_file_operations->write)(ldv_5_resource_file, ldv_5_ldv_param_4_1_default, ldv_5_size_cnt_write_size, ldv_5_ldv_param_4_3_default);", "comment": "write"} */
    1423           3 :     ldv_character_driver_scenario_write_5_4(ldv_5_container_file_operations->write, ldv_5_resource_file, ldv_5_ldv_param_4_1_default, ldv_5_size_cnt_write_size, ldv_5_ldv_param_4_3_default);
    1424             :    }
    1425             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
    1426             : 
    1427             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1428           4 :    ldv_free(ldv_5_ldv_param_4_1_default);
    1429           2 :    ldv_free(ldv_5_ldv_param_4_3_default);
    1430             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
    1431             : 
    1432             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1433             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1434             : 
    1435             :    /* Jump to a subprocess 'call' initial state */
    1436           1 :    goto ldv_call_5;
    1437           1 :    break;
    1438             :   }
    1439           3 :   case 2: {
    1440             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
    1441             :    /* LDV {"type": "CALLBACK", "call": "((& seq_release))(ldv_5_resource_inode, ldv_5_resource_file);", "comment": "release"} */
    1442           2 :    ldv_character_driver_scenario_release_5_2(ldv_5_container_file_operations->release, ldv_5_resource_inode, ldv_5_resource_file);
    1443             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1444             : 
    1445             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1446             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1447             : 
    1448             :    /* Jump to a subprocess 'main' initial state */
    1449           1 :    goto ldv_main_5;
    1450           1 :    break;
    1451             :   }
    1452           3 :   case 3: {
    1453             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1454             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
    1455             : 
    1456           2 :    switch (ldv_undef_int()) {
    1457           3 :     case 1: {
    1458             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1459           3 :      ldv_5_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
    1460           3 :      ldv_5_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
    1461             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
    1462             : 
    1463             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
    1464             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_5_resource_file, ldv_5_ldv_param_32_1_default, ldv_5_size_cnt_write_size, ldv_5_ldv_param_32_3_default);", "comment": "callback"} */
    1465           2 :      ldv_character_driver_scenario_callback_5_32(ldv_5_callback_read, ldv_5_resource_file, ldv_5_ldv_param_32_1_default, ldv_5_size_cnt_write_size, ldv_5_ldv_param_32_3_default);
    1466             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1467             : 
    1468             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1469           2 :      ldv_free(ldv_5_ldv_param_32_1_default);
    1470           2 :      ldv_free(ldv_5_ldv_param_32_3_default);
    1471             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
    1472             : 
    1473           1 :      break;
    1474           1 :     }
    1475           3 :     case 2: {
    1476             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1477           2 :      if (ldv_5_callback_poll) {
    1478             :      /* LDV {"type": "CALLBACK", "call": "(ldv_5_callback_poll)(ldv_5_resource_file, ldv_5_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
    1479           2 :       ldv_character_driver_scenario_callback_5_31(ldv_5_callback_poll, ldv_5_resource_file, ldv_5_size_cnt_struct_poll_table_struct_ptr);
    1480             :      }
    1481             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1482             : 
    1483           2 :      break;
    1484           1 :     }
    1485           3 :     case 3: {
    1486             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1487           2 :      if (ldv_5_callback_mmap) {
    1488             :      /* LDV {"type": "CALLBACK", "call": "(ldv_5_callback_mmap)(ldv_5_resource_file, ldv_5_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
    1489           2 :       ldv_character_driver_scenario_callback_5_30(ldv_5_callback_mmap, ldv_5_resource_file, ldv_5_size_cnt_struct_vm_area_struct_ptr);
    1490             :      }
    1491             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1492             : 
    1493           2 :      break;
    1494           1 :     }
    1495           3 :     case 4: {
    1496             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1497             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
    1498             : 
    1499             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
    1500             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_5_resource_file, ldv_5_ldv_param_27_1_default, ldv_5_ldv_param_27_2_default);", "comment": "callback"} */
    1501           2 :      ldv_character_driver_scenario_callback_5_27(ldv_5_callback_llseek, ldv_5_resource_file, ldv_5_ldv_param_27_1_default, ldv_5_ldv_param_27_2_default);
    1502             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1503             : 
    1504             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1505             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
    1506             : 
    1507           1 :      break;
    1508           1 :     }
    1509           3 :     case 5: {
    1510             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1511             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
    1512             : 
    1513             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1514           2 :      if (ldv_5_callback_ioctl) {
    1515             :      /* LDV {"type": "CALLBACK", "call": "(ldv_5_callback_ioctl)(ldv_5_resource_inode, ldv_5_resource_file, ldv_5_ldv_param_24_2_default, ldv_5_size_cnt_write_size);", "comment": "callback"} */
    1516           2 :       ldv_character_driver_scenario_callback_5_24(ldv_5_callback_ioctl, ldv_5_resource_inode, ldv_5_resource_file, ldv_5_ldv_param_24_2_default, ldv_5_size_cnt_write_size);
    1517             :      }
    1518             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1519             : 
    1520             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1521             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
    1522             : 
    1523           2 :      break;
    1524           1 :     }
    1525           3 :     case 6: {
    1526             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1527             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
    1528             : 
    1529             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1530           2 :      if (ldv_5_callback_fasync) {
    1531             :      /* LDV {"type": "CALLBACK", "call": "(ldv_5_callback_fasync)(ldv_5_ldv_param_21_0_default, ldv_5_resource_file, ldv_5_ldv_param_21_2_default);", "comment": "callback"} */
    1532           2 :       ldv_character_driver_scenario_callback_5_21(ldv_5_callback_fasync, ldv_5_ldv_param_21_0_default, ldv_5_resource_file, ldv_5_ldv_param_21_2_default);
    1533             :      }
    1534             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1535             : 
    1536             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1537             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
    1538             : 
    1539           2 :      break;
    1540           1 :     }
    1541           3 :     case 7: {
    1542             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1543           2 :      if (ldv_5_callback_compat_ioctl) {
    1544             :      /* LDV {"type": "CALLBACK", "call": "(ldv_5_callback_compat_ioctl)(ldv_5_resource_file, ldv_5_ldv_param_5_1_default, ldv_5_size_cnt_write_size);", "comment": "callback"} */
    1545           2 :       ldv_character_driver_scenario_callback_5_5(ldv_5_callback_compat_ioctl, ldv_5_resource_file, ldv_5_ldv_param_5_1_default, ldv_5_size_cnt_write_size);
    1546             :      }
    1547             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1548             : 
    1549           2 :      break;
    1550           1 :     }
    1551           2 :     default: ldv_stop();
    1552           1 :    }
    1553           8 :    break;
    1554           1 :   }
    1555           2 :   default: ldv_stop();
    1556           1 :  }
    1557           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1558             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
    1559           0 : 
    1560             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1561             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1562             : 
    1563             :  /* Jump to a subprocess 'call' initial state */
    1564           8 :  goto ldv_call_5;
    1565             :  /* Jump to a subprocess 'call' initial state */
    1566             :  goto ldv_call_5;
    1567             :  /* End of the subprocess 'call' */
    1568             :  return;
    1569             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_5"} */
    1570             : }
    1571             : 
    1572             : /* AUX_FUNC ldv_character_driver_scenario_6 */
    1573             : void ldv_character_driver_scenario_6(void *arg0) {
    1574             :  /* LDV {"thread": 6, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_6"} */
    1575           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1576           1 :  long int (*ldv_6_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
    1577           1 :  int (*ldv_6_callback_fasync)(int, struct file *, int);
    1578           1 :  int (*ldv_6_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
    1579           1 :  loff_t (*ldv_6_callback_llseek)(struct file *, loff_t , int);
    1580           1 :  int (*ldv_6_callback_mmap)(struct file *, struct vm_area_struct *);
    1581           1 :  unsigned int (*ldv_6_callback_poll)(struct file *, poll_table *);
    1582           1 :  ssize_t (*ldv_6_callback_read)(struct file *, char *, size_t , loff_t *);
    1583           1 :  struct file_operations *ldv_6_container_file_operations;
    1584           1 :  int ldv_6_ldv_param_21_0_default;
    1585           1 :  int ldv_6_ldv_param_21_2_default;
    1586           1 :  unsigned int ldv_6_ldv_param_24_2_default;
    1587           1 :  long long int ldv_6_ldv_param_27_1_default;
    1588           1 :  int ldv_6_ldv_param_27_2_default;
    1589           1 :  char *ldv_6_ldv_param_32_1_default;
    1590           1 :  long long int *ldv_6_ldv_param_32_3_default;
    1591           1 :  char *ldv_6_ldv_param_4_1_default;
    1592           1 :  long long int *ldv_6_ldv_param_4_3_default;
    1593           1 :  unsigned int ldv_6_ldv_param_5_1_default;
    1594           1 :  struct file *ldv_6_resource_file;
    1595           1 :  struct inode *ldv_6_resource_inode;
    1596           1 :  int ldv_6_ret_default;
    1597           1 :  struct poll_table_struct *ldv_6_size_cnt_struct_poll_table_struct_ptr;
    1598           1 :  struct vm_area_struct *ldv_6_size_cnt_struct_vm_area_struct_ptr;
    1599           1 :  long unsigned int ldv_6_size_cnt_write_size;
    1600           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1601           1 :  /* Initialize automaton variables */
    1602           2 :  ldv_6_ret_default = 1;
    1603           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
    1604           3 :  ldv_free(arg0);
    1605           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1606           1 : 
    1607           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1608           4 :  ldv_6_container_file_operations = ldv_xmalloc_unknown_size(0);
    1609           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1610           1 : 
    1611             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
    1612           3 :  ldv_6_resource_file = ldv_xmalloc(sizeof(struct file));
    1613           3 :  ldv_6_resource_inode = ldv_xmalloc(sizeof(struct inode));
    1614           3 :  ldv_6_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
    1615             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
    1616             : 
    1617             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1618             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1619             : 
    1620             :  /* Jump to a subprocess 'main' initial state */
    1621           1 :  goto ldv_main_6;
    1622             :  /* End of the process */
    1623             :  return;
    1624           1 : 
    1625             :  /* Sbprocess main */
    1626             :  ldv_main_6:
    1627             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1628             : 
    1629           4 :  if (ldv_undef_int()) {
    1630             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
    1631             :   /* LDV {"type": "CALLBACK", "call": "ldv_6_ret_default = ((& sg_proc_single_open_dressz))(ldv_6_resource_inode, ldv_6_resource_file);", "comment": "probe"} */
    1632           2 :   ldv_6_ret_default = ldv_character_driver_scenario_probe_6_12(ldv_6_container_file_operations->open, ldv_6_resource_inode, ldv_6_resource_file);
    1633             :   /* Callback post-call */
    1634           2 :   ldv_6_ret_default = ldv_filter_err_code(ldv_6_ret_default);
    1635             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1636             : 
    1637           4 :   if (ldv_undef_int()) {
    1638             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
    1639           2 :    ldv_assume(ldv_6_ret_default == 0);
    1640             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1641             : 
    1642             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1643             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1644             : 
    1645             :    /* Jump to a subprocess 'call' initial state */
    1646           1 :    goto ldv_call_6;
    1647             :   }
    1648             :   else {
    1649             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
    1650           2 :    ldv_assume(ldv_6_ret_default != 0);
    1651             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
    1652             : 
    1653             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1654             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1655             : 
    1656             :    /* Jump to a subprocess 'main' initial state */
    1657           1 :    goto ldv_main_6;
    1658             :   }
    1659             :  }
    1660             :  else {
    1661             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
    1662           2 :   ldv_free(ldv_6_resource_file);
    1663           2 :   ldv_free(ldv_6_resource_inode);
    1664             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
    1665             : 
    1666             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
    1667             :   /* Skip a non-replicative signal receiving */
    1668             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
    1669             : 
    1670             :   /* Exit function at a terminal state */
    1671           1 :   return;
    1672             :  }
    1673             :  /* End of the subprocess 'main' */
    1674             :  return;
    1675           1 : 
    1676             :  /* Sbprocess call */
    1677             :  ldv_call_6:
    1678             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1679             : 
    1680           2 :  switch (ldv_undef_int()) {
    1681           3 :   case 1: {
    1682             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1683           3 :    ldv_6_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
    1684           3 :    ldv_6_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
    1685             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
    1686             : 
    1687             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from file_operations."} */
    1688             :    /* Callback pre-call */
    1689           2 :    ldv_assume(ldv_6_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
    1690             :    /* LDV {"type": "CALLBACK", "call": "((& sg_proc_write_dressz))(ldv_6_resource_file, ldv_6_ldv_param_4_1_default, ldv_6_size_cnt_write_size, ldv_6_ldv_param_4_3_default);", "comment": "write"} */
    1691           3 :    ldv_character_driver_scenario_write_6_4(ldv_6_container_file_operations->write, ldv_6_resource_file, ldv_6_ldv_param_4_1_default, ldv_6_size_cnt_write_size, ldv_6_ldv_param_4_3_default);
    1692             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
    1693             : 
    1694             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1695           2 :    ldv_free(ldv_6_ldv_param_4_1_default);
    1696           2 :    ldv_free(ldv_6_ldv_param_4_3_default);
    1697             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
    1698             : 
    1699             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1700             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1701             : 
    1702             :    /* Jump to a subprocess 'call' initial state */
    1703           1 :    goto ldv_call_6;
    1704           1 :    break;
    1705             :   }
    1706           3 :   case 2: {
    1707             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
    1708             :    /* LDV {"type": "CALLBACK", "call": "((& single_release))(ldv_6_resource_inode, ldv_6_resource_file);", "comment": "release"} */
    1709           2 :    ldv_character_driver_scenario_release_6_2(ldv_6_container_file_operations->release, ldv_6_resource_inode, ldv_6_resource_file);
    1710             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1711             : 
    1712             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1713             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1714             : 
    1715             :    /* Jump to a subprocess 'main' initial state */
    1716           1 :    goto ldv_main_6;
    1717           1 :    break;
    1718             :   }
    1719           3 :   case 3: {
    1720             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1721             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
    1722             : 
    1723           2 :    switch (ldv_undef_int()) {
    1724           3 :     case 1: {
    1725             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1726           3 :      ldv_6_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
    1727           3 :      ldv_6_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
    1728             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
    1729             : 
    1730             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
    1731             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_6_resource_file, ldv_6_ldv_param_32_1_default, ldv_6_size_cnt_write_size, ldv_6_ldv_param_32_3_default);", "comment": "callback"} */
    1732           2 :      ldv_character_driver_scenario_callback_6_32(ldv_6_callback_read, ldv_6_resource_file, ldv_6_ldv_param_32_1_default, ldv_6_size_cnt_write_size, ldv_6_ldv_param_32_3_default);
    1733             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1734             : 
    1735             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1736           2 :      ldv_free(ldv_6_ldv_param_32_1_default);
    1737           2 :      ldv_free(ldv_6_ldv_param_32_3_default);
    1738             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
    1739             : 
    1740           1 :      break;
    1741           1 :     }
    1742           3 :     case 2: {
    1743             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1744           2 :      if (ldv_6_callback_poll) {
    1745             :      /* LDV {"type": "CALLBACK", "call": "(ldv_6_callback_poll)(ldv_6_resource_file, ldv_6_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
    1746           2 :       ldv_character_driver_scenario_callback_6_31(ldv_6_callback_poll, ldv_6_resource_file, ldv_6_size_cnt_struct_poll_table_struct_ptr);
    1747             :      }
    1748             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1749             : 
    1750           2 :      break;
    1751           1 :     }
    1752           3 :     case 3: {
    1753             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1754           2 :      if (ldv_6_callback_mmap) {
    1755             :      /* LDV {"type": "CALLBACK", "call": "(ldv_6_callback_mmap)(ldv_6_resource_file, ldv_6_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
    1756           2 :       ldv_character_driver_scenario_callback_6_30(ldv_6_callback_mmap, ldv_6_resource_file, ldv_6_size_cnt_struct_vm_area_struct_ptr);
    1757             :      }
    1758             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1759             : 
    1760           2 :      break;
    1761           1 :     }
    1762           3 :     case 4: {
    1763             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1764             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
    1765             : 
    1766             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
    1767             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_6_resource_file, ldv_6_ldv_param_27_1_default, ldv_6_ldv_param_27_2_default);", "comment": "callback"} */
    1768           2 :      ldv_character_driver_scenario_callback_6_27(ldv_6_callback_llseek, ldv_6_resource_file, ldv_6_ldv_param_27_1_default, ldv_6_ldv_param_27_2_default);
    1769             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1770             : 
    1771             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1772             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
    1773             : 
    1774           1 :      break;
    1775           1 :     }
    1776           3 :     case 5: {
    1777             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1778             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
    1779             : 
    1780             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1781           2 :      if (ldv_6_callback_ioctl) {
    1782             :      /* LDV {"type": "CALLBACK", "call": "(ldv_6_callback_ioctl)(ldv_6_resource_inode, ldv_6_resource_file, ldv_6_ldv_param_24_2_default, ldv_6_size_cnt_write_size);", "comment": "callback"} */
    1783           2 :       ldv_character_driver_scenario_callback_6_24(ldv_6_callback_ioctl, ldv_6_resource_inode, ldv_6_resource_file, ldv_6_ldv_param_24_2_default, ldv_6_size_cnt_write_size);
    1784             :      }
    1785             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1786             : 
    1787             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1788             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
    1789             : 
    1790           2 :      break;
    1791           1 :     }
    1792           3 :     case 6: {
    1793             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1794             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
    1795             : 
    1796             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1797           2 :      if (ldv_6_callback_fasync) {
    1798             :      /* LDV {"type": "CALLBACK", "call": "(ldv_6_callback_fasync)(ldv_6_ldv_param_21_0_default, ldv_6_resource_file, ldv_6_ldv_param_21_2_default);", "comment": "callback"} */
    1799           2 :       ldv_character_driver_scenario_callback_6_21(ldv_6_callback_fasync, ldv_6_ldv_param_21_0_default, ldv_6_resource_file, ldv_6_ldv_param_21_2_default);
    1800             :      }
    1801             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1802             : 
    1803             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1804             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
    1805             : 
    1806           2 :      break;
    1807           1 :     }
    1808           3 :     case 7: {
    1809             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    1810           2 :      if (ldv_6_callback_compat_ioctl) {
    1811             :      /* LDV {"type": "CALLBACK", "call": "(ldv_6_callback_compat_ioctl)(ldv_6_resource_file, ldv_6_ldv_param_5_1_default, ldv_6_size_cnt_write_size);", "comment": "callback"} */
    1812           2 :       ldv_character_driver_scenario_callback_6_5(ldv_6_callback_compat_ioctl, ldv_6_resource_file, ldv_6_ldv_param_5_1_default, ldv_6_size_cnt_write_size);
    1813             :      }
    1814             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1815             : 
    1816           2 :      break;
    1817           1 :     }
    1818           2 :     default: ldv_stop();
    1819           1 :    }
    1820           8 :    break;
    1821           1 :   }
    1822           2 :   default: ldv_stop();
    1823           1 :  }
    1824           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1825             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
    1826           0 : 
    1827             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1828             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1829             : 
    1830             :  /* Jump to a subprocess 'call' initial state */
    1831           8 :  goto ldv_call_6;
    1832             :  /* Jump to a subprocess 'call' initial state */
    1833             :  goto ldv_call_6;
    1834             :  /* End of the subprocess 'call' */
    1835             :  return;
    1836             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_6"} */
    1837             : }
    1838             : 
    1839             : /* AUX_FUNC ldv_character_driver_scenario_7 */
    1840             : void ldv_character_driver_scenario_7(void *arg0) {
    1841             :  /* LDV {"thread": 7, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_7"} */
    1842           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1843           1 :  long int (*ldv_7_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
    1844           1 :  int (*ldv_7_callback_fasync)(int, struct file *, int);
    1845           1 :  int (*ldv_7_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
    1846           1 :  loff_t (*ldv_7_callback_llseek)(struct file *, loff_t , int);
    1847           1 :  int (*ldv_7_callback_mmap)(struct file *, struct vm_area_struct *);
    1848           1 :  unsigned int (*ldv_7_callback_poll)(struct file *, poll_table *);
    1849           1 :  ssize_t (*ldv_7_callback_read)(struct file *, char *, size_t , loff_t *);
    1850           1 :  struct file_operations *ldv_7_container_file_operations;
    1851           1 :  int ldv_7_ldv_param_21_0_default;
    1852           1 :  int ldv_7_ldv_param_21_2_default;
    1853           1 :  unsigned int ldv_7_ldv_param_24_2_default;
    1854           1 :  long long int ldv_7_ldv_param_27_1_default;
    1855           1 :  int ldv_7_ldv_param_27_2_default;
    1856           1 :  char *ldv_7_ldv_param_32_1_default;
    1857           1 :  long long int *ldv_7_ldv_param_32_3_default;
    1858           1 :  char *ldv_7_ldv_param_4_1_default;
    1859           1 :  long long int *ldv_7_ldv_param_4_3_default;
    1860           1 :  unsigned int ldv_7_ldv_param_5_1_default;
    1861           1 :  struct file *ldv_7_resource_file;
    1862           1 :  struct inode *ldv_7_resource_inode;
    1863           1 :  int ldv_7_ret_default;
    1864           1 :  struct poll_table_struct *ldv_7_size_cnt_struct_poll_table_struct_ptr;
    1865           1 :  struct vm_area_struct *ldv_7_size_cnt_struct_vm_area_struct_ptr;
    1866           1 :  long unsigned int ldv_7_size_cnt_write_size;
    1867           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1868           1 :  /* Initialize automaton variables */
    1869           2 :  ldv_7_ret_default = 1;
    1870           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
    1871           3 :  ldv_free(arg0);
    1872           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1873           1 : 
    1874           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1875           4 :  ldv_7_container_file_operations = ldv_xmalloc_unknown_size(0);
    1876           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1877           1 : 
    1878             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
    1879           3 :  ldv_7_resource_file = ldv_xmalloc(sizeof(struct file));
    1880           3 :  ldv_7_resource_inode = ldv_xmalloc(sizeof(struct inode));
    1881           3 :  ldv_7_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
    1882             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
    1883             : 
    1884             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1885             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1886             : 
    1887             :  /* Jump to a subprocess 'main' initial state */
    1888           1 :  goto ldv_main_7;
    1889             :  /* End of the process */
    1890             :  return;
    1891           1 : 
    1892             :  /* Sbprocess main */
    1893             :  ldv_main_7:
    1894             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1895             : 
    1896           4 :  if (ldv_undef_int()) {
    1897             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
    1898             :   /* LDV {"type": "CALLBACK", "call": "ldv_7_ret_default = ((& sg_open))(ldv_7_resource_inode, ldv_7_resource_file);", "comment": "probe"} */
    1899           2 :   ldv_7_ret_default = ldv_character_driver_scenario_probe_7_12(ldv_7_container_file_operations->open, ldv_7_resource_inode, ldv_7_resource_file);
    1900             :   /* Callback post-call */
    1901           2 :   ldv_7_ret_default = ldv_filter_err_code(ldv_7_ret_default);
    1902             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1903             : 
    1904           4 :   if (ldv_undef_int()) {
    1905             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
    1906           2 :    ldv_assume(ldv_7_ret_default == 0);
    1907             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1908             : 
    1909             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1910             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1911             : 
    1912             :    /* Jump to a subprocess 'call' initial state */
    1913           1 :    goto ldv_call_7;
    1914             :   }
    1915             :   else {
    1916             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
    1917           2 :    ldv_assume(ldv_7_ret_default != 0);
    1918             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
    1919             : 
    1920             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1921             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1922             : 
    1923             :    /* Jump to a subprocess 'main' initial state */
    1924           1 :    goto ldv_main_7;
    1925             :   }
    1926             :  }
    1927             :  else {
    1928             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
    1929           2 :   ldv_free(ldv_7_resource_file);
    1930           2 :   ldv_free(ldv_7_resource_inode);
    1931             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
    1932             : 
    1933             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
    1934             :   /* Skip a non-replicative signal receiving */
    1935             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
    1936             : 
    1937             :   /* Exit function at a terminal state */
    1938           1 :   return;
    1939             :  }
    1940             :  /* End of the subprocess 'main' */
    1941             :  return;
    1942           1 : 
    1943             :  /* Sbprocess call */
    1944             :  ldv_call_7:
    1945             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1946             : 
    1947           2 :  switch (ldv_undef_int()) {
    1948           3 :   case 1: {
    1949             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1950           3 :    ldv_7_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
    1951           3 :    ldv_7_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
    1952             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
    1953             : 
    1954             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from file_operations."} */
    1955             :    /* Callback pre-call */
    1956           2 :    ldv_assume(ldv_7_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
    1957             :    /* LDV {"type": "CALLBACK", "call": "((& sg_write))(ldv_7_resource_file, ldv_7_ldv_param_4_1_default, ldv_7_size_cnt_write_size, ldv_7_ldv_param_4_3_default);", "comment": "write"} */
    1958           3 :    ldv_character_driver_scenario_write_7_4(ldv_7_container_file_operations->write, ldv_7_resource_file, ldv_7_ldv_param_4_1_default, ldv_7_size_cnt_write_size, ldv_7_ldv_param_4_3_default);
    1959             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
    1960             : 
    1961             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1962           2 :    ldv_free(ldv_7_ldv_param_4_1_default);
    1963           2 :    ldv_free(ldv_7_ldv_param_4_3_default);
    1964             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
    1965             : 
    1966             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    1967             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1968             : 
    1969             :    /* Jump to a subprocess 'call' initial state */
    1970           1 :    goto ldv_call_7;
    1971           1 :    break;
    1972             :   }
    1973           3 :   case 2: {
    1974             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
    1975             :    /* LDV {"type": "CALLBACK", "call": "((& sg_release))(ldv_7_resource_inode, ldv_7_resource_file);", "comment": "release"} */
    1976           2 :    ldv_character_driver_scenario_release_7_2(ldv_7_container_file_operations->release, ldv_7_resource_inode, ldv_7_resource_file);
    1977             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1978             : 
    1979             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    1980             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1981             : 
    1982             :    /* Jump to a subprocess 'main' initial state */
    1983           1 :    goto ldv_main_7;
    1984           1 :    break;
    1985             :   }
    1986           3 :   case 3: {
    1987             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1988             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
    1989             : 
    1990           2 :    switch (ldv_undef_int()) {
    1991           3 :     case 1: {
    1992             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1993           3 :      ldv_7_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
    1994           3 :      ldv_7_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
    1995             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
    1996             : 
    1997             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
    1998             :      /* LDV {"type": "CALLBACK", "call": "((& sg_read))(ldv_7_resource_file, ldv_7_ldv_param_32_1_default, ldv_7_size_cnt_write_size, ldv_7_ldv_param_32_3_default);", "comment": "callback"} */
    1999           2 :      ldv_character_driver_scenario_callback_7_32(ldv_7_callback_read, ldv_7_resource_file, ldv_7_ldv_param_32_1_default, ldv_7_size_cnt_write_size, ldv_7_ldv_param_32_3_default);
    2000             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2001             : 
    2002             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2003           2 :      ldv_free(ldv_7_ldv_param_32_1_default);
    2004           2 :      ldv_free(ldv_7_ldv_param_32_3_default);
    2005             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
    2006             : 
    2007           1 :      break;
    2008           1 :     }
    2009           3 :     case 2: {
    2010             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback poll from file_operations."} */
    2011             :      /* LDV {"type": "CALLBACK", "call": "(( & sg_poll))(ldv_7_resource_file, ldv_7_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
    2012           2 :      ldv_character_driver_scenario_callback_7_31(ldv_7_callback_poll, ldv_7_resource_file, ldv_7_size_cnt_struct_poll_table_struct_ptr);
    2013             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2014             : 
    2015           1 :      break;
    2016           1 :     }
    2017           3 :     case 3: {
    2018             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback mmap from file_operations."} */
    2019             :      /* LDV {"type": "CALLBACK", "call": "((& sg_mmap))(ldv_7_resource_file, ldv_7_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
    2020           2 :      ldv_character_driver_scenario_callback_7_30(ldv_7_callback_mmap, ldv_7_resource_file, ldv_7_size_cnt_struct_vm_area_struct_ptr);
    2021             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2022             : 
    2023           1 :      break;
    2024           1 :     }
    2025           3 :     case 4: {
    2026             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2027             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
    2028             : 
    2029             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    2030           2 :      if (ldv_7_callback_llseek) {
    2031             :      /* LDV {"type": "CALLBACK", "call": "(ldv_7_callback_llseek)(ldv_7_resource_file, ldv_7_ldv_param_27_1_default, ldv_7_ldv_param_27_2_default);", "comment": "callback"} */
    2032           2 :       ldv_character_driver_scenario_callback_7_27(ldv_7_callback_llseek, ldv_7_resource_file, ldv_7_ldv_param_27_1_default, ldv_7_ldv_param_27_2_default);
    2033             :      }
    2034             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2035             : 
    2036             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2037             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
    2038             : 
    2039           2 :      break;
    2040           1 :     }
    2041           3 :     case 5: {
    2042             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2043             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
    2044             : 
    2045             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback ioctl from file_operations."} */
    2046             :      /* LDV {"type": "CALLBACK", "call": "((& sg_ioctl))(ldv_7_resource_inode, ldv_7_resource_file, ldv_7_ldv_param_24_2_default, ldv_7_size_cnt_write_size);", "comment": "callback"} */
    2047           2 :      ldv_character_driver_scenario_callback_7_24(ldv_7_callback_ioctl, ldv_7_resource_inode, ldv_7_resource_file, ldv_7_ldv_param_24_2_default, ldv_7_size_cnt_write_size);
    2048             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2049             : 
    2050             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2051             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
    2052             : 
    2053           1 :      break;
    2054           1 :     }
    2055           3 :     case 6: {
    2056             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2057             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
    2058             : 
    2059             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback fasync from file_operations."} */
    2060             :      /* LDV {"type": "CALLBACK", "call": "((& sg_fasync))(ldv_7_ldv_param_21_0_default, ldv_7_resource_file, ldv_7_ldv_param_21_2_default);", "comment": "callback"} */
    2061           2 :      ldv_character_driver_scenario_callback_7_21(ldv_7_callback_fasync, ldv_7_ldv_param_21_0_default, ldv_7_resource_file, ldv_7_ldv_param_21_2_default);
    2062             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2063             : 
    2064             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2065             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
    2066             : 
    2067           1 :      break;
    2068           1 :     }
    2069           3 :     case 7: {
    2070             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback compat_ioctl from file_operations."} */
    2071             :      /* LDV {"type": "CALLBACK", "call": "((& sg_compat_ioctl))(ldv_7_resource_file, ldv_7_ldv_param_5_1_default, ldv_7_size_cnt_write_size);", "comment": "callback"} */
    2072           2 :      ldv_character_driver_scenario_callback_7_5(ldv_7_callback_compat_ioctl, ldv_7_resource_file, ldv_7_ldv_param_5_1_default, ldv_7_size_cnt_write_size);
    2073             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2074             : 
    2075           1 :      break;
    2076           1 :     }
    2077           2 :     default: ldv_stop();
    2078           1 :    }
    2079           8 :    break;
    2080           1 :   }
    2081           2 :   default: ldv_stop();
    2082           1 :  }
    2083           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2084             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
    2085           0 : 
    2086             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    2087             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2088             : 
    2089             :  /* Jump to a subprocess 'call' initial state */
    2090           8 :  goto ldv_call_7;
    2091             :  /* Jump to a subprocess 'call' initial state */
    2092             :  goto ldv_call_7;
    2093             :  /* End of the subprocess 'call' */
    2094             :  return;
    2095             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_7"} */
    2096             : }
    2097             : 
    2098             : /* AUX_FUNC ldv_character_driver_scenario_8 */
    2099             : void ldv_character_driver_scenario_8(void *arg0) {
    2100             :  /* LDV {"thread": 8, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'character_driver_scenario(file_operations)'", "function": "ldv_character_driver_scenario_8"} */
    2101           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    2102           1 :  long int (*ldv_8_callback_compat_ioctl)(struct file *, unsigned int, long unsigned int);
    2103           1 :  int (*ldv_8_callback_fasync)(int, struct file *, int);
    2104           1 :  int (*ldv_8_callback_ioctl)(struct inode *, struct file *, unsigned int, long unsigned int);
    2105           1 :  loff_t (*ldv_8_callback_llseek)(struct file *, loff_t , int);
    2106           1 :  int (*ldv_8_callback_mmap)(struct file *, struct vm_area_struct *);
    2107           1 :  unsigned int (*ldv_8_callback_poll)(struct file *, poll_table *);
    2108           1 :  ssize_t (*ldv_8_callback_read)(struct file *, char *, size_t , loff_t *);
    2109           1 :  struct file_operations *ldv_8_container_file_operations;
    2110           1 :  int ldv_8_ldv_param_21_0_default;
    2111           1 :  int ldv_8_ldv_param_21_2_default;
    2112           1 :  unsigned int ldv_8_ldv_param_24_2_default;
    2113           1 :  long long int ldv_8_ldv_param_27_1_default;
    2114           1 :  int ldv_8_ldv_param_27_2_default;
    2115           1 :  char *ldv_8_ldv_param_32_1_default;
    2116           1 :  long long int *ldv_8_ldv_param_32_3_default;
    2117           1 :  char *ldv_8_ldv_param_4_1_default;
    2118           1 :  long long int *ldv_8_ldv_param_4_3_default;
    2119           1 :  unsigned int ldv_8_ldv_param_5_1_default;
    2120           1 :  struct file *ldv_8_resource_file;
    2121           1 :  struct inode *ldv_8_resource_inode;
    2122           1 :  int ldv_8_ret_default;
    2123           1 :  struct poll_table_struct *ldv_8_size_cnt_struct_poll_table_struct_ptr;
    2124           1 :  struct vm_area_struct *ldv_8_size_cnt_struct_vm_area_struct_ptr;
    2125           1 :  long unsigned int ldv_8_size_cnt_write_size;
    2126           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    2127           1 :  /* Initialize automaton variables */
    2128           2 :  ldv_8_ret_default = 1;
    2129           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin FILE_OPERATIONS callbacks invocations scenario."} */
    2130           3 :  ldv_free(arg0);
    2131           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    2132           1 : 
    2133           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    2134           4 :  ldv_8_container_file_operations = ldv_xmalloc_unknown_size(0);
    2135           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    2136           1 : 
    2137             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for file and inode structures."} */
    2138           3 :  ldv_8_resource_file = ldv_xmalloc(sizeof(struct file));
    2139           3 :  ldv_8_resource_inode = ldv_xmalloc(sizeof(struct inode));
    2140           3 :  ldv_8_size_cnt_struct_poll_table_struct_ptr = ldv_undef_int();
    2141             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
    2142             : 
    2143             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    2144             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2145             : 
    2146             :  /* Jump to a subprocess 'main' initial state */
    2147           1 :  goto ldv_main_8;
    2148             :  /* End of the process */
    2149             :  return;
    2150           1 : 
    2151             :  /* Sbprocess main */
    2152             :  ldv_main_8:
    2153             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2154             : 
    2155           4 :  if (ldv_undef_int()) {
    2156             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Open the device file. Invoke callback open from file_operations."} */
    2157             :   /* LDV {"type": "CALLBACK", "call": "ldv_8_ret_default = ((& sg_proc_single_open_version))(ldv_8_resource_inode, ldv_8_resource_file);", "comment": "probe"} */
    2158           2 :   ldv_8_ret_default = ldv_character_driver_scenario_probe_8_12(ldv_8_container_file_operations->open, ldv_8_resource_inode, ldv_8_resource_file);
    2159             :   /* Callback post-call */
    2160           2 :   ldv_8_ret_default = ldv_filter_err_code(ldv_8_ret_default);
    2161             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    2162             : 
    2163           4 :   if (ldv_undef_int()) {
    2164             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Device file is opened successfully."} */
    2165           2 :    ldv_assume(ldv_8_ret_default == 0);
    2166             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    2167             : 
    2168             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    2169             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2170             : 
    2171             :    /* Jump to a subprocess 'call' initial state */
    2172           1 :    goto ldv_call_8;
    2173             :   }
    2174             :   else {
    2175             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to open devices file."} */
    2176           2 :    ldv_assume(ldv_8_ret_default != 0);
    2177             :    /* LDV {"action": "PROBE_FAIL", "type": "CONDITION_END"} */
    2178             : 
    2179             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    2180             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2181             : 
    2182             :    /* Jump to a subprocess 'main' initial state */
    2183           1 :    goto ldv_main_8;
    2184             :   }
    2185             :  }
    2186             :  else {
    2187             :   /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of file and inode structures."} */
    2188           2 :   ldv_free(ldv_8_resource_file);
    2189           2 :   ldv_free(ldv_8_resource_inode);
    2190             :   /* LDV {"action": "FREE", "type": "CONDITION_END"} */
    2191             : 
    2192             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish FILE_OPERATIONS callbacks invocations scenario."} */
    2193             :   /* Skip a non-replicative signal receiving */
    2194             :   /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
    2195             : 
    2196             :   /* Exit function at a terminal state */
    2197           1 :   return;
    2198             :  }
    2199             :  /* End of the subprocess 'main' */
    2200             :  return;
    2201           1 : 
    2202             :  /* Sbprocess call */
    2203             :  ldv_call_8:
    2204             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2205             : 
    2206           2 :  switch (ldv_undef_int()) {
    2207           3 :   case 1: {
    2208             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2209           3 :    ldv_8_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
    2210           3 :    ldv_8_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
    2211             :    /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
    2212             : 
    2213             :    /* LDV {"action": "WRITE", "type": "CALL_BEGIN", "callback": true, "comment": "Write data to the device. Invoke callback write from FILE_OPERATIONS."} */
    2214             :    /* Callback pre-call */
    2215           2 :    ldv_assume(ldv_8_size_cnt_struct_poll_table_struct_ptr <= (INT_MAX & PAGE_CACHE_MASK));
    2216           3 :    if (ldv_8_container_file_operations->write) {
    2217             :    /* LDV {"type": "CALLBACK", "call": "(ldv_8_container_file_operations->write)(ldv_8_resource_file, ldv_8_ldv_param_4_1_default, ldv_8_size_cnt_write_size, ldv_8_ldv_param_4_3_default);", "comment": "write"} */
    2218           3 :     ldv_character_driver_scenario_write_8_4(ldv_8_container_file_operations->write, ldv_8_resource_file, ldv_8_ldv_param_4_1_default, ldv_8_size_cnt_write_size, ldv_8_ldv_param_4_3_default);
    2219             :    }
    2220             :    /* LDV {"action": "WRITE", "type": "CALL_END"} */
    2221             : 
    2222             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2223           4 :    ldv_free(ldv_8_ldv_param_4_1_default);
    2224           2 :    ldv_free(ldv_8_ldv_param_4_3_default);
    2225             :    /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
    2226             : 
    2227             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    2228             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2229             : 
    2230             :    /* Jump to a subprocess 'call' initial state */
    2231           1 :    goto ldv_call_8;
    2232           1 :    break;
    2233             :   }
    2234           3 :   case 2: {
    2235             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "File structure is released. Invoke callback release from file_operations."} */
    2236             :    /* LDV {"type": "CALLBACK", "call": "((& single_release))(ldv_8_resource_inode, ldv_8_resource_file);", "comment": "release"} */
    2237           2 :    ldv_character_driver_scenario_release_8_2(ldv_8_container_file_operations->release, ldv_8_resource_inode, ldv_8_resource_file);
    2238             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    2239             : 
    2240             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Device appeared in the system."} */
    2241             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2242             : 
    2243             :    /* Jump to a subprocess 'main' initial state */
    2244           1 :    goto ldv_main_8;
    2245           1 :    break;
    2246             :   }
    2247           3 :   case 3: {
    2248             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2249             :    /* LDV {"action": "PRE_CALL_5", "type": "CONDITION_END"} */
    2250             : 
    2251           2 :    switch (ldv_undef_int()) {
    2252           3 :     case 1: {
    2253             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2254           3 :      ldv_8_ldv_param_32_1_default = ldv_xmalloc_unknown_size(0);
    2255           3 :      ldv_8_ldv_param_32_3_default = ldv_xmalloc_unknown_size(0);
    2256             :      /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
    2257             : 
    2258             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback read from file_operations."} */
    2259             :      /* LDV {"type": "CALLBACK", "call": "((& seq_read))(ldv_8_resource_file, ldv_8_ldv_param_32_1_default, ldv_8_size_cnt_write_size, ldv_8_ldv_param_32_3_default);", "comment": "callback"} */
    2260           2 :      ldv_character_driver_scenario_callback_8_32(ldv_8_callback_read, ldv_8_resource_file, ldv_8_ldv_param_32_1_default, ldv_8_size_cnt_write_size, ldv_8_ldv_param_32_3_default);
    2261             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2262             : 
    2263             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2264           2 :      ldv_free(ldv_8_ldv_param_32_1_default);
    2265           2 :      ldv_free(ldv_8_ldv_param_32_3_default);
    2266             :      /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
    2267             : 
    2268           1 :      break;
    2269           1 :     }
    2270           3 :     case 2: {
    2271             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    2272           2 :      if (ldv_8_callback_poll) {
    2273             :      /* LDV {"type": "CALLBACK", "call": "(ldv_8_callback_poll)(ldv_8_resource_file, ldv_8_size_cnt_struct_poll_table_struct_ptr);", "comment": "callback"} */
    2274           2 :       ldv_character_driver_scenario_callback_8_31(ldv_8_callback_poll, ldv_8_resource_file, ldv_8_size_cnt_struct_poll_table_struct_ptr);
    2275             :      }
    2276             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2277             : 
    2278           2 :      break;
    2279           1 :     }
    2280           3 :     case 3: {
    2281             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    2282           2 :      if (ldv_8_callback_mmap) {
    2283             :      /* LDV {"type": "CALLBACK", "call": "(ldv_8_callback_mmap)(ldv_8_resource_file, ldv_8_size_cnt_struct_vm_area_struct_ptr);", "comment": "callback"} */
    2284           2 :       ldv_character_driver_scenario_callback_8_30(ldv_8_callback_mmap, ldv_8_resource_file, ldv_8_size_cnt_struct_vm_area_struct_ptr);
    2285             :      }
    2286             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2287             : 
    2288           2 :      break;
    2289           1 :     }
    2290           3 :     case 4: {
    2291             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2292             :      /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
    2293             : 
    2294             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback llseek from file_operations."} */
    2295             :      /* LDV {"type": "CALLBACK", "call": "((& seq_lseek))(ldv_8_resource_file, ldv_8_ldv_param_27_1_default, ldv_8_ldv_param_27_2_default);", "comment": "callback"} */
    2296           2 :      ldv_character_driver_scenario_callback_8_27(ldv_8_callback_llseek, ldv_8_resource_file, ldv_8_ldv_param_27_1_default, ldv_8_ldv_param_27_2_default);
    2297             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2298             : 
    2299             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2300             :      /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
    2301             : 
    2302           1 :      break;
    2303           1 :     }
    2304           3 :     case 5: {
    2305             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2306             :      /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
    2307             : 
    2308             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    2309           2 :      if (ldv_8_callback_ioctl) {
    2310             :      /* LDV {"type": "CALLBACK", "call": "(ldv_8_callback_ioctl)(ldv_8_resource_inode, ldv_8_resource_file, ldv_8_ldv_param_24_2_default, ldv_8_size_cnt_write_size);", "comment": "callback"} */
    2311           2 :       ldv_character_driver_scenario_callback_8_24(ldv_8_callback_ioctl, ldv_8_resource_inode, ldv_8_resource_file, ldv_8_ldv_param_24_2_default, ldv_8_size_cnt_write_size);
    2312             :      }
    2313             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2314             : 
    2315             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2316             :      /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
    2317             : 
    2318           2 :      break;
    2319           1 :     }
    2320           3 :     case 6: {
    2321             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2322             :      /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
    2323             : 
    2324             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    2325           2 :      if (ldv_8_callback_fasync) {
    2326             :      /* LDV {"type": "CALLBACK", "call": "(ldv_8_callback_fasync)(ldv_8_ldv_param_21_0_default, ldv_8_resource_file, ldv_8_ldv_param_21_2_default);", "comment": "callback"} */
    2327           2 :       ldv_character_driver_scenario_callback_8_21(ldv_8_callback_fasync, ldv_8_ldv_param_21_0_default, ldv_8_resource_file, ldv_8_ldv_param_21_2_default);
    2328             :      }
    2329             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2330             : 
    2331             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2332             :      /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
    2333             : 
    2334           2 :      break;
    2335           1 :     }
    2336           3 :     case 7: {
    2337             :      /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback callback from FILE_OPERATIONS."} */
    2338           2 :      if (ldv_8_callback_compat_ioctl) {
    2339             :      /* LDV {"type": "CALLBACK", "call": "(ldv_8_callback_compat_ioctl)(ldv_8_resource_file, ldv_8_ldv_param_5_1_default, ldv_8_size_cnt_write_size);", "comment": "callback"} */
    2340           2 :       ldv_character_driver_scenario_callback_8_5(ldv_8_callback_compat_ioctl, ldv_8_resource_file, ldv_8_ldv_param_5_1_default, ldv_8_size_cnt_write_size);
    2341             :      }
    2342             :      /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2343             : 
    2344           2 :      break;
    2345           1 :     }
    2346           2 :     default: ldv_stop();
    2347           1 :    }
    2348           8 :    break;
    2349           1 :   }
    2350           2 :   default: ldv_stop();
    2351           1 :  }
    2352           0 :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2353             :  /* LDV {"action": "POST_CALL_5", "type": "CONDITION_END"} */
    2354           0 : 
    2355             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Device file is opened, ready to read and write."} */
    2356             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2357             : 
    2358             :  /* Jump to a subprocess 'call' initial state */
    2359           8 :  goto ldv_call_8;
    2360             :  /* Jump to a subprocess 'call' initial state */
    2361             :  goto ldv_call_8;
    2362             :  /* End of the subprocess 'call' */
    2363             :  return;
    2364             :  /* LDV {"comment": "End of control function based on process 'character_driver_scenario(file_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_character_driver_scenario_8"} */
    2365             : }
    2366             : 
    2367             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_21 */
    2368             : void ldv_character_driver_scenario_callback_1_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2369           3 :  (*arg0)(arg1, arg2, arg3);
    2370           1 : }
    2371             : 
    2372             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_24 */
    2373             : void ldv_character_driver_scenario_callback_1_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2374           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2375           1 : }
    2376             : 
    2377             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_27 */
    2378             : void ldv_character_driver_scenario_callback_1_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2379           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2380           1 : }
    2381             : 
    2382             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_30 */
    2383             : void ldv_character_driver_scenario_callback_1_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2384           2 :  (*arg0)(arg1, arg2);
    2385           1 : }
    2386             : 
    2387             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_31 */
    2388             : void ldv_character_driver_scenario_callback_1_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2389           2 :  (*arg0)(arg1, arg2);
    2390           1 : }
    2391             : 
    2392             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_32 */
    2393             : void ldv_character_driver_scenario_callback_1_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2394           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2395           1 : }
    2396             : 
    2397             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_1_5 */
    2398             : void ldv_character_driver_scenario_callback_1_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2399           2 :  (*arg0)(arg1, arg2, arg3);
    2400           1 : }
    2401             : 
    2402             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_21 */
    2403             : void ldv_character_driver_scenario_callback_2_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2404           3 :  (*arg0)(arg1, arg2, arg3);
    2405           1 : }
    2406             : 
    2407             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_24 */
    2408             : void ldv_character_driver_scenario_callback_2_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2409           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2410           1 : }
    2411             : 
    2412             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_27 */
    2413             : void ldv_character_driver_scenario_callback_2_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2414           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2415           1 : }
    2416             : 
    2417             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_30 */
    2418             : void ldv_character_driver_scenario_callback_2_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2419           2 :  (*arg0)(arg1, arg2);
    2420           1 : }
    2421             : 
    2422             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_31 */
    2423             : void ldv_character_driver_scenario_callback_2_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2424           2 :  (*arg0)(arg1, arg2);
    2425           1 : }
    2426             : 
    2427             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_32 */
    2428             : void ldv_character_driver_scenario_callback_2_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2429           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2430           1 : }
    2431             : 
    2432             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_2_5 */
    2433             : void ldv_character_driver_scenario_callback_2_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2434           2 :  (*arg0)(arg1, arg2, arg3);
    2435           1 : }
    2436             : 
    2437             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_21 */
    2438             : void ldv_character_driver_scenario_callback_3_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2439           3 :  (*arg0)(arg1, arg2, arg3);
    2440           1 : }
    2441             : 
    2442             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_24 */
    2443             : void ldv_character_driver_scenario_callback_3_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2444           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2445           1 : }
    2446             : 
    2447             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_27 */
    2448             : void ldv_character_driver_scenario_callback_3_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2449           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2450           1 : }
    2451             : 
    2452             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_30 */
    2453             : void ldv_character_driver_scenario_callback_3_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2454           2 :  (*arg0)(arg1, arg2);
    2455           1 : }
    2456             : 
    2457             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_31 */
    2458             : void ldv_character_driver_scenario_callback_3_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2459           2 :  (*arg0)(arg1, arg2);
    2460           1 : }
    2461             : 
    2462             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_32 */
    2463             : void ldv_character_driver_scenario_callback_3_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2464           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2465           1 : }
    2466             : 
    2467             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_3_5 */
    2468             : void ldv_character_driver_scenario_callback_3_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2469           2 :  (*arg0)(arg1, arg2, arg3);
    2470           1 : }
    2471             : 
    2472             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_21 */
    2473             : void ldv_character_driver_scenario_callback_4_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2474           3 :  (*arg0)(arg1, arg2, arg3);
    2475           1 : }
    2476             : 
    2477             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_24 */
    2478             : void ldv_character_driver_scenario_callback_4_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2479           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2480           1 : }
    2481             : 
    2482             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_27 */
    2483             : void ldv_character_driver_scenario_callback_4_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2484           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2485           1 : }
    2486             : 
    2487             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_30 */
    2488             : void ldv_character_driver_scenario_callback_4_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2489           2 :  (*arg0)(arg1, arg2);
    2490           1 : }
    2491             : 
    2492             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_31 */
    2493             : void ldv_character_driver_scenario_callback_4_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2494           2 :  (*arg0)(arg1, arg2);
    2495           1 : }
    2496             : 
    2497             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_32 */
    2498             : void ldv_character_driver_scenario_callback_4_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2499           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2500           1 : }
    2501             : 
    2502             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_4_5 */
    2503             : void ldv_character_driver_scenario_callback_4_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2504           2 :  (*arg0)(arg1, arg2, arg3);
    2505           1 : }
    2506             : 
    2507             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_21 */
    2508             : void ldv_character_driver_scenario_callback_5_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2509           3 :  (*arg0)(arg1, arg2, arg3);
    2510           1 : }
    2511             : 
    2512             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_24 */
    2513             : void ldv_character_driver_scenario_callback_5_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2514           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2515           1 : }
    2516             : 
    2517             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_27 */
    2518             : void ldv_character_driver_scenario_callback_5_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2519           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2520           1 : }
    2521             : 
    2522             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_30 */
    2523             : void ldv_character_driver_scenario_callback_5_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2524           2 :  (*arg0)(arg1, arg2);
    2525           1 : }
    2526             : 
    2527             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_31 */
    2528             : void ldv_character_driver_scenario_callback_5_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2529           2 :  (*arg0)(arg1, arg2);
    2530           1 : }
    2531             : 
    2532             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_32 */
    2533             : void ldv_character_driver_scenario_callback_5_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2534           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2535           1 : }
    2536             : 
    2537             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_5_5 */
    2538             : void ldv_character_driver_scenario_callback_5_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2539           2 :  (*arg0)(arg1, arg2, arg3);
    2540           1 : }
    2541             : 
    2542             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_21 */
    2543             : void ldv_character_driver_scenario_callback_6_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2544           3 :  (*arg0)(arg1, arg2, arg3);
    2545           1 : }
    2546             : 
    2547             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_24 */
    2548             : void ldv_character_driver_scenario_callback_6_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2549           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2550           1 : }
    2551             : 
    2552             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_27 */
    2553             : void ldv_character_driver_scenario_callback_6_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2554           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2555           1 : }
    2556             : 
    2557             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_30 */
    2558             : void ldv_character_driver_scenario_callback_6_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2559           2 :  (*arg0)(arg1, arg2);
    2560           1 : }
    2561             : 
    2562             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_31 */
    2563             : void ldv_character_driver_scenario_callback_6_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2564           2 :  (*arg0)(arg1, arg2);
    2565           1 : }
    2566             : 
    2567             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_32 */
    2568             : void ldv_character_driver_scenario_callback_6_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2569           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2570           1 : }
    2571             : 
    2572             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_6_5 */
    2573             : void ldv_character_driver_scenario_callback_6_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2574           2 :  (*arg0)(arg1, arg2, arg3);
    2575           1 : }
    2576             : 
    2577             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_21 */
    2578             : void ldv_character_driver_scenario_callback_7_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2579           2 :  ((& sg_fasync))(arg1, arg2, arg3);
    2580           1 : }
    2581             : 
    2582             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_24 */
    2583             : void ldv_character_driver_scenario_callback_7_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2584          41 :  ((& sg_ioctl))(arg1, arg2, arg3, arg4);
    2585           1 : }
    2586             : 
    2587             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_27 */
    2588             : void ldv_character_driver_scenario_callback_7_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2589           2 :  (*arg0)(arg1, arg2, arg3);
    2590           1 : }
    2591             : 
    2592             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_30 */
    2593             : void ldv_character_driver_scenario_callback_7_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2594           3 :  ((& sg_mmap))(arg1, arg2);
    2595           1 : }
    2596             : 
    2597             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_31 */
    2598             : void ldv_character_driver_scenario_callback_7_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2599           3 :  (( & sg_poll))(arg1, arg2);
    2600           1 : }
    2601             : 
    2602             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_32 */
    2603             : void ldv_character_driver_scenario_callback_7_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2604          16 :  ((& sg_read))(arg1, arg2, arg3, arg4);
    2605           1 : }
    2606             : 
    2607             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_7_5 */
    2608             : void ldv_character_driver_scenario_callback_7_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2609           2 :  ((& sg_compat_ioctl))(arg1, arg2, arg3);
    2610           1 : }
    2611             : 
    2612             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_21 */
    2613             : void ldv_character_driver_scenario_callback_8_21(int (*arg0)(int, struct file *, int), int arg1, struct file *arg2, int arg3) {
    2614           3 :  (*arg0)(arg1, arg2, arg3);
    2615           1 : }
    2616             : 
    2617             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_24 */
    2618             : void ldv_character_driver_scenario_callback_8_24(int (*arg0)(struct inode *, struct file *, unsigned int, long unsigned int), struct inode *arg1, struct file *arg2, unsigned int arg3, long unsigned int arg4) {
    2619           2 :  (*arg0)(arg1, arg2, arg3, arg4);
    2620           1 : }
    2621             : 
    2622             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_27 */
    2623             : void ldv_character_driver_scenario_callback_8_27(loff_t (*arg0)(struct file *, loff_t , int), struct file *arg1, long long int arg2, int arg3) {
    2624           1 :  ((& seq_lseek))(arg1, arg2, arg3);
    2625           1 : }
    2626             : 
    2627             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_30 */
    2628             : void ldv_character_driver_scenario_callback_8_30(int (*arg0)(struct file *, struct vm_area_struct *), struct file *arg1, struct vm_area_struct *arg2) {
    2629           2 :  (*arg0)(arg1, arg2);
    2630           1 : }
    2631             : 
    2632             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_31 */
    2633             : void ldv_character_driver_scenario_callback_8_31(unsigned int (*arg0)(struct file *, poll_table *), struct file *arg1, struct poll_table_struct *arg2) {
    2634           2 :  (*arg0)(arg1, arg2);
    2635           1 : }
    2636             : 
    2637             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_32 */
    2638             : void ldv_character_driver_scenario_callback_8_32(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2639           1 :  ((& seq_read))(arg1, arg2, arg3, arg4);
    2640           1 : }
    2641             : 
    2642             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_callback_8_5 */
    2643             : void ldv_character_driver_scenario_callback_8_5(long int (*arg0)(struct file *, unsigned int, long unsigned int), struct file *arg1, unsigned int arg2, long unsigned int arg3) {
    2644           2 :  (*arg0)(arg1, arg2, arg3);
    2645           1 : }
    2646             : 
    2647             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_1_12 */
    2648             : int ldv_character_driver_scenario_probe_1_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2649           3 :  return ((& sg_proc_single_open_adio))(arg1, arg2);
    2650             : }
    2651           1 : 
    2652             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_2_12 */
    2653             : int ldv_character_driver_scenario_probe_2_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2654           3 :  return ((& sg_proc_open_debug))(arg1, arg2);
    2655             : }
    2656           1 : 
    2657             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_3_12 */
    2658             : int ldv_character_driver_scenario_probe_3_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2659           3 :  return ((& sg_proc_open_dev))(arg1, arg2);
    2660             : }
    2661           1 : 
    2662             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_4_12 */
    2663             : int ldv_character_driver_scenario_probe_4_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2664           3 :  return ((& sg_proc_single_open_devhdr))(arg1, arg2);
    2665             : }
    2666           1 : 
    2667             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_5_12 */
    2668             : int ldv_character_driver_scenario_probe_5_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2669           3 :  return ((& sg_proc_open_devstrs))(arg1, arg2);
    2670             : }
    2671           1 : 
    2672             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_6_12 */
    2673             : int ldv_character_driver_scenario_probe_6_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2674           3 :  return ((& sg_proc_single_open_dressz))(arg1, arg2);
    2675             : }
    2676           1 : 
    2677             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_7_12 */
    2678             : int ldv_character_driver_scenario_probe_7_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2679          11 :  return ((& sg_open))(arg1, arg2);
    2680             : }
    2681           1 : 
    2682             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_probe_8_12 */
    2683             : int ldv_character_driver_scenario_probe_8_12(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2684           3 :  return ((& sg_proc_single_open_version))(arg1, arg2);
    2685             : }
    2686           1 : 
    2687             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_1_2 */
    2688             : void ldv_character_driver_scenario_release_1_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2689           1 :  ((& single_release))(arg1, arg2);
    2690           1 : }
    2691             : 
    2692             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_2_2 */
    2693             : void ldv_character_driver_scenario_release_2_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2694           1 :  ((& seq_release))(arg1, arg2);
    2695           1 : }
    2696             : 
    2697             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_3_2 */
    2698             : void ldv_character_driver_scenario_release_3_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2699           1 :  ((& seq_release))(arg1, arg2);
    2700           1 : }
    2701             : 
    2702             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_4_2 */
    2703             : void ldv_character_driver_scenario_release_4_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2704           1 :  ((& single_release))(arg1, arg2);
    2705           1 : }
    2706             : 
    2707             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_5_2 */
    2708             : void ldv_character_driver_scenario_release_5_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2709           1 :  ((& seq_release))(arg1, arg2);
    2710           1 : }
    2711             : 
    2712             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_6_2 */
    2713             : void ldv_character_driver_scenario_release_6_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2714           1 :  ((& single_release))(arg1, arg2);
    2715           1 : }
    2716             : 
    2717             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_7_2 */
    2718             : void ldv_character_driver_scenario_release_7_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2719           2 :  ((& sg_release))(arg1, arg2);
    2720           1 : }
    2721             : 
    2722             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_release_8_2 */
    2723             : void ldv_character_driver_scenario_release_8_2(int (*arg0)(struct inode *, struct file *), struct inode *arg1, struct file *arg2) {
    2724           1 :  ((& single_release))(arg1, arg2);
    2725           1 : }
    2726             : 
    2727             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_1_4 */
    2728             : void ldv_character_driver_scenario_write_1_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2729           3 :  ((& sg_proc_write_adio))(arg1, arg2, arg3, arg4);
    2730           1 : }
    2731             : 
    2732             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_2_4 */
    2733             : void ldv_character_driver_scenario_write_2_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2734           5 :  (*arg0)(arg1, arg2, arg3, arg4);
    2735           1 : }
    2736             : 
    2737             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_3_4 */
    2738             : void ldv_character_driver_scenario_write_3_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2739           5 :  (*arg0)(arg1, arg2, arg3, arg4);
    2740           1 : }
    2741             : 
    2742             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_4_4 */
    2743             : void ldv_character_driver_scenario_write_4_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2744           5 :  (*arg0)(arg1, arg2, arg3, arg4);
    2745           1 : }
    2746             : 
    2747             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_5_4 */
    2748             : void ldv_character_driver_scenario_write_5_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2749           5 :  (*arg0)(arg1, arg2, arg3, arg4);
    2750           1 : }
    2751             : 
    2752             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_6_4 */
    2753             : void ldv_character_driver_scenario_write_6_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2754           3 :  ((& sg_proc_write_dressz))(arg1, arg2, arg3, arg4);
    2755           1 : }
    2756             : 
    2757             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_7_4 */
    2758             : void ldv_character_driver_scenario_write_7_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2759          10 :  ((& sg_write))(arg1, arg2, arg3, arg4);
    2760           1 : }
    2761             : 
    2762             : /* AUX_FUNC_CALLBACK ldv_character_driver_scenario_write_8_4 */
    2763             : void ldv_character_driver_scenario_write_8_4(ssize_t (*arg0)(struct file *, char *, size_t , loff_t *), struct file *arg1, char *arg2, long unsigned int arg3, long long int *arg4) {
    2764           5 :  (*arg0)(arg1, arg2, arg3, arg4);
    2765           1 : }
    2766             : 
    2767             : /* AUX_FUNC ldv_dispatch_default_deregister_4_18_6 */
    2768             : void ldv_dispatch_default_deregister_4_18_6() {
    2769             :  struct ldv_struct_insmod_18 *cf_arg_9;
    2770             :  struct ldv_struct_insmod_18 *cf_arg_10;
    2771             :  struct ldv_struct_insmod_18 *cf_arg_11;
    2772             :  struct ldv_struct_insmod_18 *cf_arg_12;
    2773             :  struct ldv_struct_insmod_18 *cf_arg_13;
    2774             :  struct ldv_struct_insmod_18 *cf_arg_14;
    2775             :  /* Skip thread join call */
    2776             :  /* Skip thread join call */
    2777             :  /* Skip thread join call */
    2778             :  /* Skip thread join call */
    2779             :  /* Skip thread join call */
    2780             :  /* Skip thread join call */
    2781           1 :  return;
    2782             : }
    2783             : 
    2784             : /* AUX_FUNC ldv_dispatch_default_deregister_8_18_4 */
    2785             : void ldv_dispatch_default_deregister_8_18_4() {
    2786             :  struct ldv_struct_insmod_18 *cf_arg_16;
    2787             :  /* Skip thread join call */
    2788           1 :  return;
    2789             : }
    2790             : 
    2791             : /* AUX_FUNC ldv_dispatch_default_deregister_9_18_5 */
    2792             : void ldv_dispatch_default_deregister_9_18_5() {
    2793             :  struct ldv_struct_insmod_18 *cf_arg_17;
    2794             :  /* Skip thread join call */
    2795           1 :  return;
    2796             : }
    2797             : 
    2798             : /* AUX_FUNC ldv_dispatch_default_register_3_18_7 */
    2799             : void ldv_dispatch_default_register_3_18_7() {
    2800             :  struct ldv_struct_insmod_18 *cf_arg_1;
    2801           1 :  struct ldv_struct_insmod_18 *cf_arg_2;
    2802           1 :  struct ldv_struct_insmod_18 *cf_arg_3;
    2803           1 :  struct ldv_struct_insmod_18 *cf_arg_4;
    2804           1 :  struct ldv_struct_insmod_18 *cf_arg_5;
    2805           1 :  struct ldv_struct_insmod_18 *cf_arg_6;
    2806           1 :  struct ldv_struct_insmod_18 *cf_arg_7;
    2807           1 :  struct ldv_struct_insmod_18 *cf_arg_8;
    2808           4 :  cf_arg_1 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2809           3 :  ldv_character_driver_scenario_1(cf_arg_1);
    2810           4 :  cf_arg_2 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2811           3 :  ldv_character_driver_scenario_2(cf_arg_2);
    2812           4 :  cf_arg_3 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2813           3 :  ldv_character_driver_scenario_3(cf_arg_3);
    2814           4 :  cf_arg_4 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2815           3 :  ldv_character_driver_scenario_4(cf_arg_4);
    2816           4 :  cf_arg_5 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2817           2 :  ldv_character_driver_scenario_5(cf_arg_5);
    2818           3 :  cf_arg_6 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2819           2 :  ldv_character_driver_scenario_6(cf_arg_6);
    2820           3 :  cf_arg_7 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2821           2 :  ldv_character_driver_scenario_7(cf_arg_7);
    2822           3 :  cf_arg_8 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2823           2 :  ldv_character_driver_scenario_8(cf_arg_8);
    2824           1 :  return;
    2825             : }
    2826             : 
    2827             : /* AUX_FUNC ldv_dispatch_default_register_8_18_9 */
    2828             : void ldv_dispatch_default_register_8_18_9() {
    2829             :  struct ldv_struct_insmod_18 *cf_arg_16;
    2830           4 :  cf_arg_16 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2831           3 :  ldv_random_containerless_scenario_16(cf_arg_16);
    2832           1 :  return;
    2833             : }
    2834             : 
    2835             : /* AUX_FUNC ldv_dispatch_default_register_9_18_8 */
    2836             : void ldv_dispatch_default_register_9_18_8() {
    2837             :  struct ldv_struct_insmod_18 *cf_arg_17;
    2838           4 :  cf_arg_17 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2839           3 :  ldv_random_containerless_scenario_17(cf_arg_17);
    2840           1 :  return;
    2841             : }
    2842             : 
    2843             : /* AUX_FUNC ldv_dispatch_deregister_19_1 */
    2844             : void ldv_dispatch_deregister_19_1(struct file_operations *arg0) {
    2845             :  struct ldv_struct_cdev_del_19 *cf_arg_1;
    2846           5 :  struct ldv_struct_cdev_del_19 *cf_arg_2;
    2847             :  struct ldv_struct_cdev_del_19 *cf_arg_3;
    2848             :  struct ldv_struct_cdev_del_19 *cf_arg_4;
    2849             :  struct ldv_struct_cdev_del_19 *cf_arg_5;
    2850             :  struct ldv_struct_cdev_del_19 *cf_arg_6;
    2851             :  struct ldv_struct_cdev_del_19 *cf_arg_7;
    2852             :  struct ldv_struct_cdev_del_19 *cf_arg_8;
    2853          10 :  switch (ldv_undef_int()) {
    2854          15 :   case 0: {
    2855             :    /* Skip thread join call */
    2856           5 :    break;
    2857           5 :   };
    2858          15 :   case 1: {
    2859             :    /* Skip thread join call */
    2860           5 :    break;
    2861           5 :   };
    2862          15 :   case 2: {
    2863             :    /* Skip thread join call */
    2864           5 :    break;
    2865           5 :   };
    2866          15 :   case 3: {
    2867             :    /* Skip thread join call */
    2868           5 :    break;
    2869           5 :   };
    2870          15 :   case 4: {
    2871             :    /* Skip thread join call */
    2872           5 :    break;
    2873           5 :   };
    2874          15 :   case 5: {
    2875             :    /* Skip thread join call */
    2876           5 :    break;
    2877           5 :   };
    2878          15 :   case 6: {
    2879             :    /* Skip thread join call */
    2880           5 :    break;
    2881           5 :   };
    2882          15 :   case 7: {
    2883             :    /* Skip thread join call */
    2884           5 :    break;
    2885           5 :   };
    2886          10 :   default: ldv_stop();
    2887           5 :  };
    2888           5 :  return;
    2889             : }
    2890           0 : 
    2891             : /* AUX_FUNC ldv_dispatch_deregister_21_1 */
    2892             : void ldv_dispatch_deregister_21_1(struct class_interface *arg0) {
    2893             :  struct ldv_struct_random_containerless_scenario_15 *cf_arg_15;
    2894             :  /* Skip thread join call */
    2895           2 :  return;
    2896             : }
    2897             : 
    2898             : /* AUX_FUNC ldv_dispatch_insmod_deregister_23_2 */
    2899             : void ldv_dispatch_insmod_deregister_23_2() {
    2900             :  struct ldv_struct_insmod_18 *cf_arg_18;
    2901             :  /* Skip thread join call */
    2902           1 :  return;
    2903             : }
    2904             : 
    2905             : /* AUX_FUNC ldv_dispatch_insmod_register_23_3 */
    2906             : void ldv_dispatch_insmod_register_23_3() {
    2907             :  struct ldv_struct_insmod_18 *cf_arg_18;
    2908           4 :  cf_arg_18 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_18));
    2909           4 :  ldv_insmod_18(cf_arg_18);
    2910           1 :  return;
    2911             : }
    2912             : 
    2913             : /* AUX_FUNC ldv_dispatch_register_20_1 */
    2914             : void ldv_dispatch_register_20_1(struct seq_file *arg0, struct seq_operations *arg1) {
    2915             :  struct ldv_struct_traverse_kernel_items_scenario_9 *cf_arg_9;
    2916           3 :  struct ldv_struct_traverse_kernel_items_scenario_9 *cf_arg_10;
    2917           3 :  struct ldv_struct_traverse_kernel_items_scenario_9 *cf_arg_11;
    2918           3 :  struct ldv_struct_traverse_kernel_items_scenario_9 *cf_arg_12;
    2919           3 :  struct ldv_struct_traverse_kernel_items_scenario_9 *cf_arg_13;
    2920           3 :  struct ldv_struct_traverse_kernel_items_scenario_9 *cf_arg_14;
    2921           9 :  switch (ldv_undef_int()) {
    2922          12 :   case 0: {
    2923          12 :    cf_arg_9 = ldv_xmalloc(sizeof(struct ldv_struct_traverse_kernel_items_scenario_9));
    2924           6 :    cf_arg_9->arg0 = arg0;
    2925           6 :    cf_arg_9->arg1 = arg1;
    2926           9 :    ldv_traverse_kernel_items_scenario_9(cf_arg_9);
    2927           6 :    break;
    2928           6 :   };
    2929           9 :   case 1: {
    2930           9 :    cf_arg_10 = ldv_xmalloc(sizeof(struct ldv_struct_traverse_kernel_items_scenario_9));
    2931           3 :    cf_arg_10->arg0 = arg0;
    2932           3 :    cf_arg_10->arg1 = arg1;
    2933           6 :    ldv_traverse_kernel_items_scenario_10(cf_arg_10);
    2934           3 :    break;
    2935           3 :   };
    2936           9 :   case 2: {
    2937           9 :    cf_arg_11 = ldv_xmalloc(sizeof(struct ldv_struct_traverse_kernel_items_scenario_9));
    2938           3 :    cf_arg_11->arg0 = arg0;
    2939           3 :    cf_arg_11->arg1 = arg1;
    2940           6 :    ldv_traverse_kernel_items_scenario_11(cf_arg_11);
    2941           3 :    break;
    2942           3 :   };
    2943           9 :   case 3: {
    2944           9 :    cf_arg_12 = ldv_xmalloc(sizeof(struct ldv_struct_traverse_kernel_items_scenario_9));
    2945           3 :    cf_arg_12->arg0 = arg0;
    2946           3 :    cf_arg_12->arg1 = arg1;
    2947           6 :    ldv_traverse_kernel_items_scenario_12(cf_arg_12);
    2948           3 :    break;
    2949           3 :   };
    2950           9 :   case 4: {
    2951           9 :    cf_arg_13 = ldv_xmalloc(sizeof(struct ldv_struct_traverse_kernel_items_scenario_9));
    2952           3 :    cf_arg_13->arg0 = arg0;
    2953           3 :    cf_arg_13->arg1 = arg1;
    2954           6 :    ldv_traverse_kernel_items_scenario_13(cf_arg_13);
    2955           3 :    break;
    2956           3 :   };
    2957           9 :   case 5: {
    2958           9 :    cf_arg_14 = ldv_xmalloc(sizeof(struct ldv_struct_traverse_kernel_items_scenario_9));
    2959           3 :    cf_arg_14->arg0 = arg0;
    2960           3 :    cf_arg_14->arg1 = arg1;
    2961           6 :    ldv_traverse_kernel_items_scenario_14(cf_arg_14);
    2962           3 :    break;
    2963           3 :   };
    2964           6 :   default: ldv_stop();
    2965           3 :  };
    2966          18 :  return;
    2967             : }
    2968           0 : 
    2969             : /* AUX_FUNC ldv_dispatch_register_22_3 */
    2970             : void ldv_dispatch_register_22_3(struct class_interface *arg0) {
    2971             :  struct ldv_struct_random_containerless_scenario_15 *cf_arg_15;
    2972           4 :  cf_arg_15 = ldv_xmalloc(sizeof(struct ldv_struct_random_containerless_scenario_15));
    2973           2 :  cf_arg_15->arg0 = arg0;
    2974           2 :  ldv_random_containerless_scenario_15(cf_arg_15);
    2975           1 :  return;
    2976             : }
    2977             : 
    2978             : /* AUX_FUNC ldv_emg_cdev_del */
    2979             : void ldv_emg_cdev_del(struct cdev *arg0) {
    2980             :  /* LDV {"comment": "Control function 'cdev_del'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_cdev_del"} */
    2981           5 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    2982           5 :  struct cdev *ldv_19_cdev_cdev;
    2983             :  struct file_operations *ldv_19_file_operations_file_operations;
    2984             :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    2985             :  /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Extract a file_operations structure pointer."} */
    2986           5 :  ldv_19_cdev_cdev = arg0;
    2987          10 :  ldv_19_file_operations_file_operations = ldv_19_cdev_cdev->ops;
    2988             :  /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
    2989             : 
    2990             :  /* LDV {"action": "DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister FILE_OPERATIONS callbacks."} */
    2991          10 :  ldv_dispatch_deregister_19_1(ldv_19_file_operations_file_operations);
    2992             :  /* LDV {"action": "DEREGISTER", "type": "DISPATCH_END"} */
    2993             : 
    2994             :  /* Exit function at a terminal state */
    2995           5 :  return;
    2996             :  /* End of the process */
    2997             :  return;
    2998             :  /* LDV {"comment": "End of control function based on process 'cdev_del'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_cdev_del"} */
    2999             : }
    3000             : 
    3001             : /* AUX_FUNC ldv_emg_class_interface_unregister */
    3002             : void ldv_emg_class_interface_unregister(struct class_interface *arg0) {
    3003             :  /* LDV {"comment": "Control function 'class_interface_unregister'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_class_interface_unregister"} */
    3004           2 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3005             :  struct class_interface *ldv_21_struct_class_interface_struct_class_interface;
    3006             :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3007             :  /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_class_interface' callbacks to deregister."} */
    3008           2 :  ldv_21_struct_class_interface_struct_class_interface = arg0;
    3009             :  /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
    3010             : 
    3011             :  /* LDV {"action": "DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister STRUCT_CLASS_INTERFACE callbacks."} */
    3012           4 :  ldv_dispatch_deregister_21_1(ldv_21_struct_class_interface_struct_class_interface);
    3013             :  /* LDV {"action": "DEREGISTER", "type": "DISPATCH_END"} */
    3014             : 
    3015             :  /* Exit function at a terminal state */
    3016           2 :  return;
    3017             :  /* End of the process */
    3018             :  return;
    3019             :  /* LDV {"comment": "End of control function based on process 'class_interface_unregister'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_class_interface_unregister"} */
    3020             : }
    3021             : 
    3022             : /* AUX_FUNC ldv_emg_scsi_register_interface */
    3023             : int ldv_emg_scsi_register_interface(struct class_interface *arg0) {
    3024             :  /* LDV {"comment": "Control function 'scsi_register_interface'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_scsi_register_interface"} */
    3025           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3026           1 :  struct class_interface *ldv_22_struct_class_interface_struct_class_interface;
    3027           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3028             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3029             : 
    3030           4 :  if (ldv_undef_int()) {
    3031             :   /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_class_interface' callbacks to register."} */
    3032           1 :   ldv_22_struct_class_interface_struct_class_interface = arg0;
    3033             :   /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
    3034             : 
    3035             :   /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register STRUCT_CLASS_INTERFACE callbacks."} */
    3036           2 :   ldv_dispatch_register_22_3(ldv_22_struct_class_interface_struct_class_interface);
    3037             :   /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
    3038             : 
    3039             :   /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Fail registration of 'struct_class_interface' callbacks."} */
    3040           3 :   return ldv_undef_int_negative();
    3041             :   /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
    3042             : 
    3043             :   /* Exit function at a terminal state */
    3044             :  }
    3045             :  else {
    3046             :   /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Registration of 'struct_class_interface' callbacks has been successful."} */
    3047           1 :   return 0;
    3048             :   /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
    3049             : 
    3050             :   /* Exit function at a terminal state */
    3051             :  }
    3052             :  /* End of the process */
    3053             :  /* LDV {"comment": "End of control function based on process 'scsi_register_interface'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_scsi_register_interface"} */
    3054             : }
    3055             : 
    3056             : /* AUX_FUNC ldv_emg_seq_open */
    3057             : int ldv_emg_seq_open(struct file *arg0, struct seq_operations *arg1) {
    3058             :  /* LDV {"comment": "Control function 'seq_open'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_seq_open"} */
    3059           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3060           3 :  struct file *ldv_20_file_file;
    3061           3 :  struct seq_operations *ldv_20_ops_seq_operations;
    3062           3 :  struct seq_file *ldv_20_seq_file_seq_file;
    3063             :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3064             :  /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Alloc memory for sequential file structure and initialize it."} */
    3065           9 :  ldv_20_seq_file_seq_file = ldv_xmalloc(sizeof(struct seq_file));
    3066           3 :  ldv_20_ops_seq_operations = arg1;
    3067           3 :  ldv_20_file_file->private_data = ldv_20_seq_file_seq_file;
    3068             :  /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
    3069             : 
    3070             :  /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register SEQ_OPERATIONS callbacks."} */
    3071          21 :  ldv_dispatch_register_20_1(ldv_20_seq_file_seq_file, ldv_20_ops_seq_operations);
    3072           3 :  /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
    3073             : 
    3074             :  /* Exit function at a terminal state */
    3075             :  /* End of the process */
    3076             :  /* LDV {"comment": "End of control function based on process 'seq_open'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_seq_open"} */
    3077             : }
    3078             : 
    3079             : /* AUX_FUNC ldv_insmod_18 */
    3080             : void ldv_insmod_18(void *arg0) {
    3081             :  /* LDV {"thread": 18, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'insmod(artificial)'", "function": "ldv_insmod_18"} */
    3082           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3083           1 :  void (*ldv_18_exit_sg_default)(void);
    3084           1 :  int (*ldv_18_init_sg_default)(void);
    3085           1 :  int ldv_18_ret_default;
    3086           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3087             :  /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module initialization."} */
    3088           2 :  ldv_free(arg0);
    3089             :  /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_END"} */
    3090             : 
    3091             :  /* LDV {"action": "INIT_SG", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the module after insmod with 'init_sg' function. Invoke callback init_sg from ARTIFICIAL."} */
    3092             :  /* LDV {"type": "CALLBACK", "call": "ldv_18_ret_default = (init_sg)();", "comment": "init_sg"} */
    3093           2 :  ldv_18_ret_default = ldv_insmod_init_sg_18_13(ldv_18_init_sg_default);
    3094             :  /* Callback post-call */
    3095           2 :  ldv_18_ret_default = ldv_post_init(ldv_18_ret_default);
    3096             :  /* LDV {"action": "INIT_SG", "type": "CALL_END"} */
    3097             : 
    3098           4 :  if (ldv_undef_int()) {
    3099             :   /* LDV {"action": "INIT_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize the module."} */
    3100           2 :   ldv_assume(ldv_18_ret_default != 0);
    3101             :   /* LDV {"action": "INIT_FAILED", "type": "CONDITION_END"} */
    3102             : 
    3103             :   /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
    3104             :   /* Skip a non-replicative signal receiving */
    3105             :   /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
    3106             : 
    3107             :   /* Exit function at a terminal state */
    3108           1 :   return;
    3109             :  }
    3110             :  else {
    3111             :   /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Module has been initialized."} */
    3112           2 :   ldv_assume(ldv_18_ret_default == 0);
    3113             :   /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_END"} */
    3114             : 
    3115           4 :   if (ldv_undef_int()) {
    3116             :    /* LDV {"action": "DEFAULT_REGISTER_8", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_KERNEL_PARAM' callbacks with unknown registration function."} */
    3117           2 :    ldv_dispatch_default_register_8_18_9();
    3118             :    /* LDV {"action": "DEFAULT_REGISTER_8", "type": "DISPATCH_END"} */
    3119             : 
    3120             :    /* LDV {"action": "DEFAULT_REGISTER_9", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_VM_OPERATIONS_STRUCT' callbacks with unknown registration function."} */
    3121           2 :    ldv_dispatch_default_register_9_18_8();
    3122             :    /* LDV {"action": "DEFAULT_REGISTER_9", "type": "DISPATCH_END"} */
    3123             : 
    3124             :    /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_BEGIN", "comment": "Register 'FILE_OPERATIONS' callbacks with unknown registration function."} */
    3125           2 :    ldv_dispatch_default_register_3_18_7();
    3126             :    /* LDV {"action": "DEFAULT_REGISTER_3", "type": "DISPATCH_END"} */
    3127             : 
    3128             :    /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "DISPATCH_BEGIN", "comment": "Deregister 'SEQ_OPERATIONS' callbacks with unknown deregistration function."} */
    3129           2 :    ldv_dispatch_default_deregister_4_18_6();
    3130             :    /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "DISPATCH_END"} */
    3131             : 
    3132             :    /* LDV {"action": "DEFAULT_DEREGISTER_9", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_VM_OPERATIONS_STRUCT' callbacks with unknown deregistration function."} */
    3133           2 :    ldv_dispatch_default_deregister_9_18_5();
    3134             :    /* LDV {"action": "DEFAULT_DEREGISTER_9", "type": "DISPATCH_END"} */
    3135             : 
    3136             :    /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_KERNEL_PARAM' callbacks with unknown deregistration function."} */
    3137           2 :    ldv_dispatch_default_deregister_8_18_4();
    3138             :    /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "DISPATCH_END"} */
    3139             : 
    3140             :   }
    3141             :   else {
    3142             :    /* LDV {"action": "NONE", "type": "CONDITION_BEGIN", "comment": "Skip default callbacks registrations and deregistrations."} */
    3143             :    /* LDV {"action": "NONE", "type": "CONDITION_END"} */
    3144             : 
    3145             :   }
    3146             :   /* LDV {"action": "EXIT_SG", "type": "CALL_BEGIN", "callback": true, "comment": "Exit the module before its unloading with 'exit_sg' function. Invoke callback exit_sg from ARTIFICIAL."} */
    3147             :   /* LDV {"type": "CALLBACK", "call": "(exit_sg)();", "comment": "exit_sg"} */
    3148           4 :   ldv_insmod_exit_sg_18_2(ldv_18_exit_sg_default);
    3149             :   /* LDV {"action": "EXIT_SG", "type": "CALL_END"} */
    3150             : 
    3151             :   /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
    3152             :   /* Skip a non-replicative signal receiving */
    3153             :   /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
    3154             : 
    3155             :   /* Exit function at a terminal state */
    3156           1 :   return;
    3157             :  }
    3158             :  /* End of the process */
    3159             :  return;
    3160             :  /* LDV {"comment": "End of control function based on process 'insmod(artificial)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_insmod_18"} */
    3161             : }
    3162             : 
    3163             : /* AUX_FUNC_CALLBACK ldv_insmod_exit_sg_18_2 */
    3164             : void ldv_insmod_exit_sg_18_2(void (*arg0)(void)) {
    3165           4 :  (exit_sg)();
    3166           2 : }
    3167             : 
    3168             : /* AUX_FUNC_CALLBACK ldv_insmod_init_sg_18_13 */
    3169             : int ldv_insmod_init_sg_18_13(int (*arg0)(void)) {
    3170           6 :  return (init_sg)();
    3171           1 : }
    3172             : 
    3173             : /* AUX_FUNC ldv_main_23 */
    3174             : void ldv_main_23(void *arg0) {
    3175             :  /* LDV {"thread": 23, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'main(main)'", "function": "ldv_main_23"} */
    3176             :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3177             :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3178             :  /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Initialize rule models."} */
    3179           1 :  ldv_initialize();
    3180             :  /* LDV {"action": "INIT", "type": "CONDITION_END"} */
    3181             : 
    3182             :  /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Start environment model scenarios."} */
    3183           2 :  ldv_dispatch_insmod_register_23_3();
    3184             :  /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_END"} */
    3185             : 
    3186             :  /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Stop environment model scenarios."} */
    3187           2 :  ldv_dispatch_insmod_deregister_23_2();
    3188             :  /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_END"} */
    3189             : 
    3190             :  /* LDV {"action": "FINAL", "type": "CONDITION_BEGIN", "comment": "Check rule model state at the exit."} */
    3191           1 :  ldv_check_final_state();
    3192           1 :  ldv_stop();
    3193             :  /* LDV {"action": "FINAL", "type": "CONDITION_END"} */
    3194             : 
    3195             :  /* Exit function at a terminal state */
    3196           0 :  return;
    3197             :  /* End of the process */
    3198             :  return;
    3199             :  /* LDV {"comment": "End of control function based on process 'main(main)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_main_23"} */
    3200             : }
    3201             : 
    3202             : /* AUX_FUNC ldv_random_containerless_scenario_15 */
    3203             : void ldv_random_containerless_scenario_15(void *arg0) {
    3204             :  /* LDV {"thread": 15, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_class_interface)'", "function": "ldv_random_containerless_scenario_15"} */
    3205           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3206           1 :  int (*ldv_15_callback_add_dev)(struct device *, struct class_interface *);
    3207           1 :  void (*ldv_15_callback_remove_dev)(struct device *, struct class_interface *);
    3208           1 :  struct class_interface *ldv_15_container_struct_class_interface;
    3209           1 :  struct device *ldv_15_container_struct_device_ptr;
    3210           1 :  /* Received labels */
    3211           1 :  struct ldv_struct_random_containerless_scenario_15 *data = (struct ldv_struct_random_containerless_scenario_15*) arg0;
    3212             : 
    3213             :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3214             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_CLASS_INTERFACE callbacks invocations scenario."} */
    3215             :  /* Assign recieved labels */
    3216           2 :  if (data) {
    3217           1 :   ldv_15_container_struct_class_interface = data->arg0;
    3218           2 :   ldv_free(data);
    3219             :  }
    3220             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    3221             : 
    3222             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3223             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3224             : 
    3225             :  /* Jump to a subprocess 'call' initial state */
    3226           2 :  goto ldv_call_15;
    3227             :  /* End of the process */
    3228             :  return;
    3229           1 : 
    3230             :  /* Sbprocess call */
    3231             :  ldv_call_15:
    3232             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3233             : 
    3234           2 :  switch (ldv_undef_int()) {
    3235           3 :   case 1: {
    3236             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback remove_dev from class_interface."} */
    3237             :    /* LDV {"type": "CALLBACK", "call": "((& sg_remove))(ldv_15_container_struct_device_ptr, ldv_15_container_struct_class_interface);", "comment": "callback"} */
    3238           2 :    ldv_random_containerless_scenario_callback_15_6(ldv_15_callback_remove_dev, ldv_15_container_struct_device_ptr, ldv_15_container_struct_class_interface);
    3239             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3240             : 
    3241             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3242             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3243             : 
    3244             :    /* Jump to a subprocess 'call' initial state */
    3245           1 :    goto ldv_call_15;
    3246           1 :    break;
    3247             :   }
    3248           3 :   case 2: {
    3249             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback add_dev from class_interface."} */
    3250             :    /* LDV {"type": "CALLBACK", "call": "((& sg_add))(ldv_15_container_struct_device_ptr, ldv_15_container_struct_class_interface);", "comment": "callback"} */
    3251           2 :    ldv_random_containerless_scenario_callback_15_3(ldv_15_callback_add_dev, ldv_15_container_struct_device_ptr, ldv_15_container_struct_class_interface);
    3252             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3253             : 
    3254             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3255             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3256             : 
    3257             :    /* Jump to a subprocess 'call' initial state */
    3258           1 :    goto ldv_call_15;
    3259             :    /* Jump to a subprocess 'call' initial state */
    3260             :    goto ldv_call_15;
    3261           1 :    break;
    3262             :   }
    3263           3 :   case 3: {
    3264             :    /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_CLASS_INTERFACE callbacks invocations scenario."} */
    3265             :    /* Skip a non-replicative signal receiving */
    3266             :    /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
    3267             : 
    3268             :    /* Exit function at a terminal state */
    3269           1 :    return;
    3270           1 :    break;
    3271             :   }
    3272           2 :   default: ldv_stop();
    3273           1 :  }
    3274           0 :  /* End of the subprocess 'call' */
    3275           0 :  return;
    3276             :  /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_class_interface)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_15"} */
    3277             : }
    3278             : 
    3279             : /* AUX_FUNC ldv_random_containerless_scenario_16 */
    3280             : void ldv_random_containerless_scenario_16(void *arg0) {
    3281             :  /* LDV {"thread": 16, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_kernel_param)'", "function": "ldv_random_containerless_scenario_16"} */
    3282           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3283           1 :  int (*ldv_16_callback_get)(char *, struct kernel_param *);
    3284           1 :  int (*ldv_16_callback_set)(char *, struct kernel_param *);
    3285           1 :  struct kernel_param *ldv_16_container_struct_kernel_param;
    3286           1 :  char *ldv_16_ldv_param_10_0_default;
    3287           1 :  char *ldv_16_ldv_param_4_0_default;
    3288           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3289           1 :  /* LDV {"action": "DEFAULT_REGISTER_8", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_KERNEL_PARAM callbacks invocations scenario."} */
    3290           3 :  ldv_free(arg0);
    3291           1 :  /* LDV {"action": "DEFAULT_REGISTER_8", "type": "RECEIVE_END"} */
    3292             : 
    3293             :  /* LDV {"action": "DEFAULT_ALLOC_8", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    3294           3 :  ldv_16_container_struct_kernel_param = ldv_xmalloc_unknown_size(0);
    3295             :  /* LDV {"action": "DEFAULT_ALLOC_8", "type": "CONDITION_END"} */
    3296             : 
    3297             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3298             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3299             : 
    3300             :  /* Jump to a subprocess 'call' initial state */
    3301           1 :  goto ldv_call_16;
    3302             :  /* End of the process */
    3303             :  return;
    3304           1 : 
    3305             :  /* Sbprocess call */
    3306             :  ldv_call_16:
    3307             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3308             : 
    3309           4 :  if (ldv_undef_int()) {
    3310             :   /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3311           3 :   ldv_16_ldv_param_4_0_default = ldv_xmalloc_unknown_size(0);
    3312             :   /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
    3313             : 
    3314           4 :   if (ldv_undef_int()) {
    3315             :    /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3316           3 :    ldv_16_ldv_param_10_0_default = ldv_xmalloc_unknown_size(0);
    3317             :    /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
    3318             : 
    3319             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback set from kernel_param."} */
    3320             :    /* LDV {"type": "CALLBACK", "call": "((& param_set_int))(ldv_16_ldv_param_10_0_default, ldv_16_container_struct_kernel_param);", "comment": "callback"} */
    3321           2 :    ldv_random_containerless_scenario_callback_16_10(ldv_16_callback_set, ldv_16_ldv_param_10_0_default, ldv_16_container_struct_kernel_param);
    3322             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3323             : 
    3324             :    /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3325           2 :    ldv_free(ldv_16_ldv_param_10_0_default);
    3326             :    /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
    3327             : 
    3328             :   }
    3329             :   else {
    3330             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get from kernel_param."} */
    3331             :    /* LDV {"type": "CALLBACK", "call": "((& param_get_int))(ldv_16_ldv_param_4_0_default, ldv_16_container_struct_kernel_param);", "comment": "callback"} */
    3332           2 :    ldv_random_containerless_scenario_callback_16_4(ldv_16_callback_get, ldv_16_ldv_param_4_0_default, ldv_16_container_struct_kernel_param);
    3333             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3334             : 
    3335             :   }
    3336             :   /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3337           4 :   ldv_free(ldv_16_ldv_param_4_0_default);
    3338             :   /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
    3339             : 
    3340             :   /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3341             :   /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3342             : 
    3343             :   /* Jump to a subprocess 'call' initial state */
    3344           1 :   goto ldv_call_16;
    3345             :  }
    3346             :  else {
    3347             :   /* LDV {"action": "DEFAULT_FREE_8", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3348           2 :   ldv_free(ldv_16_container_struct_kernel_param);
    3349             :   /* LDV {"action": "DEFAULT_FREE_8", "type": "CONDITION_END"} */
    3350             : 
    3351             :   /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_KERNEL_PARAM callbacks invocations scenario."} */
    3352             :   /* Skip a non-replicative signal receiving */
    3353             :   /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "RECEIVE_END"} */
    3354             : 
    3355             :   /* Exit function at a terminal state */
    3356           1 :   return;
    3357             :  }
    3358             :  /* End of the subprocess 'call' */
    3359             :  return;
    3360             :  /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_kernel_param)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_16"} */
    3361             : }
    3362             : 
    3363             : /* AUX_FUNC ldv_random_containerless_scenario_17 */
    3364             : void ldv_random_containerless_scenario_17(void *arg0) {
    3365             :  /* LDV {"thread": 17, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_vm_operations_struct)'", "function": "ldv_random_containerless_scenario_17"} */
    3366           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3367           1 :  int (*ldv_17_callback_fault)(struct vm_area_struct *, struct vm_fault *);
    3368           1 :  struct vm_area_struct *ldv_17_container_struct_vm_area_struct_ptr;
    3369           1 :  struct vm_fault *ldv_17_container_struct_vm_fault_ptr;
    3370           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3371           1 :  /* LDV {"action": "DEFAULT_REGISTER_9", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_VM_OPERATIONS_STRUCT callbacks invocations scenario."} */
    3372           2 :  ldv_free(arg0);
    3373             :  /* LDV {"action": "DEFAULT_REGISTER_9", "type": "RECEIVE_END"} */
    3374             : 
    3375             :  /* LDV {"action": "DEFAULT_ALLOC_9", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    3376           3 :  ldv_17_container_struct_vm_area_struct_ptr = ldv_xmalloc_unknown_size(0);
    3377           3 :  ldv_17_container_struct_vm_fault_ptr = ldv_xmalloc_unknown_size(0);
    3378             :  /* LDV {"action": "DEFAULT_ALLOC_9", "type": "CONDITION_END"} */
    3379             : 
    3380             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3381             :  /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3382             : 
    3383             :  /* Jump to a subprocess 'call' initial state */
    3384           1 :  goto ldv_call_17;
    3385             :  /* End of the process */
    3386             :  return;
    3387           1 : 
    3388             :  /* Sbprocess call */
    3389             :  ldv_call_17:
    3390             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3391             : 
    3392           4 :  if (ldv_undef_int()) {
    3393             :   /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback fault from vm_operations_struct."} */
    3394             :   /* LDV {"type": "CALLBACK", "call": "((& sg_vma_fault))(ldv_17_container_struct_vm_area_struct_ptr, ldv_17_container_struct_vm_fault_ptr);", "comment": "callback"} */
    3395           2 :   ldv_random_containerless_scenario_callback_17_4(ldv_17_callback_fault, ldv_17_container_struct_vm_area_struct_ptr, ldv_17_container_struct_vm_fault_ptr);
    3396             :   /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3397             : 
    3398             :   /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
    3399             :   /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3400             : 
    3401             :   /* Jump to a subprocess 'call' initial state */
    3402           1 :   goto ldv_call_17;
    3403             :  }
    3404             :  else {
    3405             :   /* LDV {"action": "DEFAULT_FREE_9", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3406           2 :   ldv_free(ldv_17_container_struct_vm_area_struct_ptr);
    3407           2 :   ldv_free(ldv_17_container_struct_vm_fault_ptr);
    3408             :   /* LDV {"action": "DEFAULT_FREE_9", "type": "CONDITION_END"} */
    3409             : 
    3410             :   /* LDV {"action": "DEFAULT_DEREGISTER_9", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_VM_OPERATIONS_STRUCT callbacks invocations scenario."} */
    3411             :   /* Skip a non-replicative signal receiving */
    3412             :   /* LDV {"action": "DEFAULT_DEREGISTER_9", "type": "RECEIVE_END"} */
    3413             : 
    3414             :   /* Exit function at a terminal state */
    3415           1 :   return;
    3416             :  }
    3417             :  /* End of the subprocess 'call' */
    3418             :  return;
    3419             :  /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_vm_operations_struct)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_17"} */
    3420             : }
    3421             : 
    3422             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_15_3 */
    3423             : void ldv_random_containerless_scenario_callback_15_3(int (*arg0)(struct device *, struct class_interface *), struct device *arg1, struct class_interface *arg2) {
    3424           7 :  ((& sg_add))(arg1, arg2);
    3425           1 : }
    3426             : 
    3427             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_15_6 */
    3428             : void ldv_random_containerless_scenario_callback_15_6(void (*arg0)(struct device *, struct class_interface *), struct device *arg1, struct class_interface *arg2) {
    3429           3 :  ((& sg_remove))(arg1, arg2);
    3430           1 : }
    3431             : 
    3432             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_16_10 */
    3433             : void ldv_random_containerless_scenario_callback_16_10(int (*arg0)(char *, struct kernel_param *), char *arg1, struct kernel_param *arg2) {
    3434           1 :  ((& param_set_int))(arg1, arg2);
    3435           1 : }
    3436             : 
    3437             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_16_4 */
    3438             : void ldv_random_containerless_scenario_callback_16_4(int (*arg0)(char *, struct kernel_param *), char *arg1, struct kernel_param *arg2) {
    3439           1 :  ((& param_get_int))(arg1, arg2);
    3440           1 : }
    3441             : 
    3442             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_17_4 */
    3443             : void ldv_random_containerless_scenario_callback_17_4(int (*arg0)(struct vm_area_struct *, struct vm_fault *), struct vm_area_struct *arg1, struct vm_fault *arg2) {
    3444           4 :  ((& sg_vma_fault))(arg1, arg2);
    3445           1 : }
    3446             : 
    3447             : /* AUX_FUNC ldv_traverse_kernel_items_scenario_10 */
    3448             : void ldv_traverse_kernel_items_scenario_10(void *arg0) {
    3449             :  /* LDV {"thread": 10, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'traverse_kernel_items_scenario(seq_operations)'", "function": "ldv_traverse_kernel_items_scenario_10"} */
    3450           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3451           3 :  long long int *ldv_10_ldv_param_13_1_default;
    3452           3 :  void *ldv_10_ldv_param_2_1_default;
    3453           3 :  void *ldv_10_ldv_param_6_1_default;
    3454           3 :  void *ldv_10_ldv_param_7_1_default;
    3455           3 :  long long int *ldv_10_ldv_param_7_2_default;
    3456           3 :  struct seq_operations *ldv_10_ops_seq_operations;
    3457           3 :  void *ldv_10_ret_default;
    3458           3 :  struct seq_file *ldv_10_seq_file_seq_file;
    3459           3 :  /* Received labels */
    3460           6 :  struct ldv_struct_traverse_kernel_items_scenario_9 *data = (struct ldv_struct_traverse_kernel_items_scenario_9*) arg0;
    3461           3 : 
    3462           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3463             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin SEQ_OPERATIONS callbacks invocations scenario."} */
    3464             :  /* Assign recieved labels */
    3465           6 :  if (data) {
    3466           3 :   ldv_10_seq_file_seq_file = data->arg0;
    3467           3 :   ldv_10_ops_seq_operations = data->arg1;
    3468           6 :   ldv_free(data);
    3469             :  }
    3470             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    3471             : 
    3472             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3473             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3474             : 
    3475             :  /* Jump to a subprocess 'start_step' initial state */
    3476           6 :  goto ldv_start_step_10;
    3477             :  /* End of the process */
    3478             :  return;
    3479           3 : 
    3480             :  /* Sbprocess start_step */
    3481             :  ldv_start_step_10:
    3482             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3483             : 
    3484             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3485           9 :  ldv_10_ldv_param_13_1_default = ldv_xmalloc_unknown_size(0);
    3486             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
    3487             : 
    3488             :  /* LDV {"action": "START", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize data for walking through a list of kernel items. Invoke callback start from seq_operations."} */
    3489             :  /* LDV {"type": "CALLBACK", "call": "ldv_10_ret_default = ((& dev_seq_start))(ldv_10_seq_file_seq_file, ldv_10_ldv_param_13_1_default);", "comment": "start"} */
    3490           6 :  ldv_10_ret_default = ldv_traverse_kernel_items_scenario_start_10_13(ldv_10_ops_seq_operations->start, ldv_10_seq_file_seq_file, ldv_10_ldv_param_13_1_default);
    3491             :  /* LDV {"action": "START", "type": "CALL_END"} */
    3492             : 
    3493             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3494           6 :  ldv_free(ldv_10_ldv_param_13_1_default);
    3495             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
    3496             : 
    3497          12 :  if (ldv_undef_int()) {
    3498             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_BEGIN", "comment": "A new sequence is initialized successfully."} */
    3499           6 :   ldv_assume(ldv_10_ret_default != 0);
    3500             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_END"} */
    3501             : 
    3502             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3503             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3504             : 
    3505             :   /* Jump to a subprocess 'next_step' initial state */
    3506           3 :   goto ldv_next_step_10;
    3507             :  }
    3508             :  else {
    3509             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize a new sequence."} */
    3510           6 :   ldv_assume(ldv_10_ret_default == 0);
    3511             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_END"} */
    3512             : 
    3513             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3514           6 :   ldv_free(ldv_10_seq_file_seq_file);
    3515             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
    3516             : 
    3517             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish SEQ_OPERATIONS callbacks invocations scenario."} */
    3518             :   /* Skip a non-replicative signal receiving */
    3519             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
    3520             : 
    3521             :   /* Exit function at a terminal state */
    3522           3 :   return;
    3523             :  }
    3524             :  /* End of the subprocess 'start_step' */
    3525             :  return;
    3526           3 : 
    3527             :  /* Sbprocess next_step */
    3528             :  ldv_next_step_10:
    3529             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3530             : 
    3531             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3532           6 :  ldv_10_ldv_param_7_1_default = ldv_xmalloc_unknown_size(0);
    3533           9 :  ldv_10_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
    3534             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
    3535             : 
    3536             :  /* LDV {"action": "NEXT", "type": "CALL_BEGIN", "callback": true, "comment": "Advance to the new item. Invoke callback next from seq_operations."} */
    3537             :  /* LDV {"type": "CALLBACK", "call": "ldv_10_ret_default = ((& dev_seq_next))(ldv_10_seq_file_seq_file, ldv_10_ldv_param_7_1_default, ldv_10_ldv_param_7_2_default);", "comment": "next"} */
    3538           6 :  ldv_10_ret_default = ldv_traverse_kernel_items_scenario_next_10_7(ldv_10_ops_seq_operations->next, ldv_10_seq_file_seq_file, ldv_10_ldv_param_7_1_default, ldv_10_ldv_param_7_2_default);
    3539             :  /* LDV {"action": "NEXT", "type": "CALL_END"} */
    3540             : 
    3541             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3542           6 :  ldv_free(ldv_10_ldv_param_7_1_default);
    3543           6 :  ldv_free(ldv_10_ldv_param_7_2_default);
    3544             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
    3545             : 
    3546             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3547           6 :  ldv_10_ldv_param_6_1_default = ldv_xmalloc_unknown_size(0);
    3548             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_END"} */
    3549             : 
    3550             :  /* LDV {"action": "SHOW", "type": "CALL_BEGIN", "callback": true, "comment": "Show current item: put data into the seq_file output buffer. Invoke callback show from seq_operations."} */
    3551             :  /* LDV {"type": "CALLBACK", "call": "((& sg_proc_seq_show_dev))(ldv_10_seq_file_seq_file, ldv_10_ldv_param_6_1_default);", "comment": "show"} */
    3552           6 :  ldv_traverse_kernel_items_scenario_show_10_6(ldv_10_ops_seq_operations->show, ldv_10_seq_file_seq_file, ldv_10_ldv_param_6_1_default);
    3553             :  /* LDV {"action": "SHOW", "type": "CALL_END"} */
    3554             : 
    3555             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3556           6 :  ldv_free(ldv_10_ldv_param_6_1_default);
    3557             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_END"} */
    3558             : 
    3559          12 :  if (ldv_undef_int()) {
    3560             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "More items to show are left."} */
    3561           6 :   ldv_assume(ldv_10_ret_default != 0);
    3562             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_END"} */
    3563             : 
    3564             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3565             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3566             : 
    3567             :   /* Jump to a subprocess 'next_step' initial state */
    3568           3 :   goto ldv_next_step_10;
    3569             :  }
    3570             :  else {
    3571             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_BEGIN", "comment": "The last kernel item is reached."} */
    3572           6 :   ldv_assume(ldv_10_ret_default == 0);
    3573             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_END"} */
    3574             : 
    3575             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3576           6 :   ldv_10_ldv_param_2_1_default = ldv_xmalloc_unknown_size(0);
    3577             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_END"} */
    3578             : 
    3579             :   /* LDV {"action": "STOP", "type": "CALL_BEGIN", "callback": true, "comment": "End of the sequence is reached, do necessary cleanup. Invoke callback stop from seq_operations."} */
    3580             :   /* LDV {"type": "CALLBACK", "call": "((& dev_seq_stop))(ldv_10_seq_file_seq_file, ldv_10_ldv_param_2_1_default);", "comment": "stop"} */
    3581           6 :   ldv_traverse_kernel_items_scenario_stop_10_2(ldv_10_ops_seq_operations->stop, ldv_10_seq_file_seq_file, ldv_10_ldv_param_2_1_default);
    3582             :   /* LDV {"action": "STOP", "type": "CALL_END"} */
    3583             : 
    3584             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3585           6 :   ldv_free(ldv_10_ldv_param_2_1_default);
    3586             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_END"} */
    3587             : 
    3588             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3589             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3590             : 
    3591             :   /* Jump to a subprocess 'start_step' initial state */
    3592           3 :   goto ldv_start_step_10;
    3593             :  }
    3594             :  /* End of the subprocess 'next_step' */
    3595             :  return;
    3596             :  /* LDV {"comment": "End of control function based on process 'traverse_kernel_items_scenario(seq_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_traverse_kernel_items_scenario_10"} */
    3597             : }
    3598             : 
    3599             : /* AUX_FUNC ldv_traverse_kernel_items_scenario_11 */
    3600             : void ldv_traverse_kernel_items_scenario_11(void *arg0) {
    3601             :  /* LDV {"thread": 11, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'traverse_kernel_items_scenario(seq_operations)'", "function": "ldv_traverse_kernel_items_scenario_11"} */
    3602           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3603           3 :  long long int *ldv_11_ldv_param_13_1_default;
    3604           3 :  void *ldv_11_ldv_param_2_1_default;
    3605           3 :  void *ldv_11_ldv_param_6_1_default;
    3606           3 :  void *ldv_11_ldv_param_7_1_default;
    3607           3 :  long long int *ldv_11_ldv_param_7_2_default;
    3608           3 :  struct seq_operations *ldv_11_ops_seq_operations;
    3609           3 :  void *ldv_11_ret_default;
    3610           3 :  struct seq_file *ldv_11_seq_file_seq_file;
    3611           3 :  /* Received labels */
    3612           6 :  struct ldv_struct_traverse_kernel_items_scenario_9 *data = (struct ldv_struct_traverse_kernel_items_scenario_9*) arg0;
    3613           3 : 
    3614           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3615             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin SEQ_OPERATIONS callbacks invocations scenario."} */
    3616             :  /* Assign recieved labels */
    3617           6 :  if (data) {
    3618           3 :   ldv_11_seq_file_seq_file = data->arg0;
    3619           3 :   ldv_11_ops_seq_operations = data->arg1;
    3620           6 :   ldv_free(data);
    3621             :  }
    3622             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    3623             : 
    3624             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3625             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3626             : 
    3627             :  /* Jump to a subprocess 'start_step' initial state */
    3628           6 :  goto ldv_start_step_11;
    3629             :  /* End of the process */
    3630             :  return;
    3631           3 : 
    3632             :  /* Sbprocess start_step */
    3633             :  ldv_start_step_11:
    3634             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3635             : 
    3636             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3637           9 :  ldv_11_ldv_param_13_1_default = ldv_xmalloc_unknown_size(0);
    3638             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
    3639             : 
    3640             :  /* LDV {"action": "START", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize data for walking through a list of kernel items. Invoke callback start from seq_operations."} */
    3641             :  /* LDV {"type": "CALLBACK", "call": "ldv_11_ret_default = ((& dev_seq_start))(ldv_11_seq_file_seq_file, ldv_11_ldv_param_13_1_default);", "comment": "start"} */
    3642           6 :  ldv_11_ret_default = ldv_traverse_kernel_items_scenario_start_11_13(ldv_11_ops_seq_operations->start, ldv_11_seq_file_seq_file, ldv_11_ldv_param_13_1_default);
    3643             :  /* LDV {"action": "START", "type": "CALL_END"} */
    3644             : 
    3645             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3646           6 :  ldv_free(ldv_11_ldv_param_13_1_default);
    3647             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
    3648             : 
    3649          12 :  if (ldv_undef_int()) {
    3650             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_BEGIN", "comment": "A new sequence is initialized successfully."} */
    3651           6 :   ldv_assume(ldv_11_ret_default != 0);
    3652             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_END"} */
    3653             : 
    3654             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3655             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3656             : 
    3657             :   /* Jump to a subprocess 'next_step' initial state */
    3658           3 :   goto ldv_next_step_11;
    3659             :  }
    3660             :  else {
    3661             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize a new sequence."} */
    3662           6 :   ldv_assume(ldv_11_ret_default == 0);
    3663             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_END"} */
    3664             : 
    3665             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3666           6 :   ldv_free(ldv_11_seq_file_seq_file);
    3667             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
    3668             : 
    3669             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish SEQ_OPERATIONS callbacks invocations scenario."} */
    3670             :   /* Skip a non-replicative signal receiving */
    3671             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
    3672             : 
    3673             :   /* Exit function at a terminal state */
    3674           3 :   return;
    3675             :  }
    3676             :  /* End of the subprocess 'start_step' */
    3677             :  return;
    3678           3 : 
    3679             :  /* Sbprocess next_step */
    3680             :  ldv_next_step_11:
    3681             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3682             : 
    3683             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3684           6 :  ldv_11_ldv_param_7_1_default = ldv_xmalloc_unknown_size(0);
    3685           9 :  ldv_11_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
    3686             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
    3687             : 
    3688             :  /* LDV {"action": "NEXT", "type": "CALL_BEGIN", "callback": true, "comment": "Advance to the new item. Invoke callback next from seq_operations."} */
    3689             :  /* LDV {"type": "CALLBACK", "call": "ldv_11_ret_default = ((& dev_seq_next))(ldv_11_seq_file_seq_file, ldv_11_ldv_param_7_1_default, ldv_11_ldv_param_7_2_default);", "comment": "next"} */
    3690           6 :  ldv_11_ret_default = ldv_traverse_kernel_items_scenario_next_11_7(ldv_11_ops_seq_operations->next, ldv_11_seq_file_seq_file, ldv_11_ldv_param_7_1_default, ldv_11_ldv_param_7_2_default);
    3691             :  /* LDV {"action": "NEXT", "type": "CALL_END"} */
    3692             : 
    3693             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3694           6 :  ldv_free(ldv_11_ldv_param_7_1_default);
    3695           6 :  ldv_free(ldv_11_ldv_param_7_2_default);
    3696             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
    3697             : 
    3698             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3699           6 :  ldv_11_ldv_param_6_1_default = ldv_xmalloc_unknown_size(0);
    3700             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_END"} */
    3701             : 
    3702             :  /* LDV {"action": "SHOW", "type": "CALL_BEGIN", "callback": true, "comment": "Show current item: put data into the seq_file output buffer. Invoke callback show from seq_operations."} */
    3703             :  /* LDV {"type": "CALLBACK", "call": "((& sg_proc_seq_show_devstrs))(ldv_11_seq_file_seq_file, ldv_11_ldv_param_6_1_default);", "comment": "show"} */
    3704           6 :  ldv_traverse_kernel_items_scenario_show_11_6(ldv_11_ops_seq_operations->show, ldv_11_seq_file_seq_file, ldv_11_ldv_param_6_1_default);
    3705             :  /* LDV {"action": "SHOW", "type": "CALL_END"} */
    3706             : 
    3707             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3708           6 :  ldv_free(ldv_11_ldv_param_6_1_default);
    3709             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_END"} */
    3710             : 
    3711          12 :  if (ldv_undef_int()) {
    3712             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "More items to show are left."} */
    3713           6 :   ldv_assume(ldv_11_ret_default != 0);
    3714             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_END"} */
    3715             : 
    3716             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3717             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3718             : 
    3719             :   /* Jump to a subprocess 'next_step' initial state */
    3720           3 :   goto ldv_next_step_11;
    3721             :  }
    3722             :  else {
    3723             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_BEGIN", "comment": "The last kernel item is reached."} */
    3724           6 :   ldv_assume(ldv_11_ret_default == 0);
    3725             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_END"} */
    3726             : 
    3727             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3728           6 :   ldv_11_ldv_param_2_1_default = ldv_xmalloc_unknown_size(0);
    3729             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_END"} */
    3730             : 
    3731             :   /* LDV {"action": "STOP", "type": "CALL_BEGIN", "callback": true, "comment": "End of the sequence is reached, do necessary cleanup. Invoke callback stop from seq_operations."} */
    3732             :   /* LDV {"type": "CALLBACK", "call": "((& dev_seq_stop))(ldv_11_seq_file_seq_file, ldv_11_ldv_param_2_1_default);", "comment": "stop"} */
    3733           6 :   ldv_traverse_kernel_items_scenario_stop_11_2(ldv_11_ops_seq_operations->stop, ldv_11_seq_file_seq_file, ldv_11_ldv_param_2_1_default);
    3734             :   /* LDV {"action": "STOP", "type": "CALL_END"} */
    3735             : 
    3736             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3737           6 :   ldv_free(ldv_11_ldv_param_2_1_default);
    3738             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_END"} */
    3739             : 
    3740             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3741             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3742             : 
    3743             :   /* Jump to a subprocess 'start_step' initial state */
    3744           3 :   goto ldv_start_step_11;
    3745             :  }
    3746             :  /* End of the subprocess 'next_step' */
    3747             :  return;
    3748             :  /* LDV {"comment": "End of control function based on process 'traverse_kernel_items_scenario(seq_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_traverse_kernel_items_scenario_11"} */
    3749             : }
    3750             : 
    3751             : /* AUX_FUNC ldv_traverse_kernel_items_scenario_12 */
    3752             : void ldv_traverse_kernel_items_scenario_12(void *arg0) {
    3753             :  /* LDV {"thread": 12, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'traverse_kernel_items_scenario(seq_operations)'", "function": "ldv_traverse_kernel_items_scenario_12"} */
    3754           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3755           3 :  long long int *ldv_12_ldv_param_13_1_default;
    3756           3 :  void *ldv_12_ldv_param_2_1_default;
    3757           3 :  void *ldv_12_ldv_param_6_1_default;
    3758           3 :  void *ldv_12_ldv_param_7_1_default;
    3759           3 :  long long int *ldv_12_ldv_param_7_2_default;
    3760           3 :  struct seq_operations *ldv_12_ops_seq_operations;
    3761           3 :  void *ldv_12_ret_default;
    3762           3 :  struct seq_file *ldv_12_seq_file_seq_file;
    3763           3 :  /* Received labels */
    3764           6 :  struct ldv_struct_traverse_kernel_items_scenario_9 *data = (struct ldv_struct_traverse_kernel_items_scenario_9*) arg0;
    3765           3 : 
    3766           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3767             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin SEQ_OPERATIONS callbacks invocations scenario."} */
    3768             :  /* Assign recieved labels */
    3769           6 :  if (data) {
    3770           3 :   ldv_12_seq_file_seq_file = data->arg0;
    3771           3 :   ldv_12_ops_seq_operations = data->arg1;
    3772           6 :   ldv_free(data);
    3773             :  }
    3774             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    3775             : 
    3776             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3777             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3778             : 
    3779             :  /* Jump to a subprocess 'start_step' initial state */
    3780           6 :  goto ldv_start_step_12;
    3781             :  /* End of the process */
    3782             :  return;
    3783           3 : 
    3784             :  /* Sbprocess start_step */
    3785             :  ldv_start_step_12:
    3786             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3787             : 
    3788             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3789           9 :  ldv_12_ldv_param_13_1_default = ldv_xmalloc_unknown_size(0);
    3790             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
    3791             : 
    3792             :  /* LDV {"action": "START", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize data for walking through a list of kernel items. Invoke callback start from seq_operations."} */
    3793             :  /* LDV {"type": "CALLBACK", "call": "ldv_12_ret_default = ((& dev_seq_start))(ldv_12_seq_file_seq_file, ldv_12_ldv_param_13_1_default);", "comment": "start"} */
    3794           6 :  ldv_12_ret_default = ldv_traverse_kernel_items_scenario_start_12_13(ldv_12_ops_seq_operations->start, ldv_12_seq_file_seq_file, ldv_12_ldv_param_13_1_default);
    3795             :  /* LDV {"action": "START", "type": "CALL_END"} */
    3796             : 
    3797             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3798           6 :  ldv_free(ldv_12_ldv_param_13_1_default);
    3799             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
    3800             : 
    3801          12 :  if (ldv_undef_int()) {
    3802             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_BEGIN", "comment": "A new sequence is initialized successfully."} */
    3803           6 :   ldv_assume(ldv_12_ret_default != 0);
    3804             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_END"} */
    3805             : 
    3806             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3807             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3808             : 
    3809             :   /* Jump to a subprocess 'next_step' initial state */
    3810           3 :   goto ldv_next_step_12;
    3811             :  }
    3812             :  else {
    3813             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize a new sequence."} */
    3814           6 :   ldv_assume(ldv_12_ret_default == 0);
    3815             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_END"} */
    3816             : 
    3817             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3818           6 :   ldv_free(ldv_12_seq_file_seq_file);
    3819             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
    3820             : 
    3821             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish SEQ_OPERATIONS callbacks invocations scenario."} */
    3822             :   /* Skip a non-replicative signal receiving */
    3823             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
    3824             : 
    3825             :   /* Exit function at a terminal state */
    3826           3 :   return;
    3827             :  }
    3828             :  /* End of the subprocess 'start_step' */
    3829             :  return;
    3830           3 : 
    3831             :  /* Sbprocess next_step */
    3832             :  ldv_next_step_12:
    3833             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3834             : 
    3835             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3836           6 :  ldv_12_ldv_param_7_1_default = ldv_xmalloc_unknown_size(0);
    3837           9 :  ldv_12_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
    3838             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
    3839             : 
    3840             :  /* LDV {"action": "NEXT", "type": "CALL_BEGIN", "callback": true, "comment": "Advance to the new item. Invoke callback next from seq_operations."} */
    3841             :  /* LDV {"type": "CALLBACK", "call": "ldv_12_ret_default = ((& dev_seq_next))(ldv_12_seq_file_seq_file, ldv_12_ldv_param_7_1_default, ldv_12_ldv_param_7_2_default);", "comment": "next"} */
    3842           6 :  ldv_12_ret_default = ldv_traverse_kernel_items_scenario_next_12_7(ldv_12_ops_seq_operations->next, ldv_12_seq_file_seq_file, ldv_12_ldv_param_7_1_default, ldv_12_ldv_param_7_2_default);
    3843             :  /* LDV {"action": "NEXT", "type": "CALL_END"} */
    3844             : 
    3845             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3846           6 :  ldv_free(ldv_12_ldv_param_7_1_default);
    3847           6 :  ldv_free(ldv_12_ldv_param_7_2_default);
    3848             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
    3849             : 
    3850             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3851           6 :  ldv_12_ldv_param_6_1_default = ldv_xmalloc_unknown_size(0);
    3852             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_END"} */
    3853             : 
    3854             :  /* LDV {"action": "SHOW", "type": "CALL_BEGIN", "callback": true, "comment": "Show current item: put data into the seq_file output buffer. Invoke callback show from SEQ_OPERATIONS."} */
    3855             :  /* LDV {"type": "CALLBACK", "call": "((sg_proc_seq_show_devhdr))(ldv_12_seq_file_seq_file, ldv_12_ldv_param_6_1_default);", "comment": "show"} */
    3856           6 :  ldv_traverse_kernel_items_scenario_show_12_6(ldv_12_ops_seq_operations->show, ldv_12_seq_file_seq_file, ldv_12_ldv_param_6_1_default);
    3857             :  /* LDV {"action": "SHOW", "type": "CALL_END"} */
    3858             : 
    3859             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3860           6 :  ldv_free(ldv_12_ldv_param_6_1_default);
    3861             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_END"} */
    3862             : 
    3863          12 :  if (ldv_undef_int()) {
    3864             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "More items to show are left."} */
    3865           6 :   ldv_assume(ldv_12_ret_default != 0);
    3866             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_END"} */
    3867             : 
    3868             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3869             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3870             : 
    3871             :   /* Jump to a subprocess 'next_step' initial state */
    3872           3 :   goto ldv_next_step_12;
    3873             :  }
    3874             :  else {
    3875             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_BEGIN", "comment": "The last kernel item is reached."} */
    3876           6 :   ldv_assume(ldv_12_ret_default == 0);
    3877             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_END"} */
    3878             : 
    3879             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3880           6 :   ldv_12_ldv_param_2_1_default = ldv_xmalloc_unknown_size(0);
    3881             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_END"} */
    3882             : 
    3883             :   /* LDV {"action": "STOP", "type": "CALL_BEGIN", "callback": true, "comment": "End of the sequence is reached, do necessary cleanup. Invoke callback stop from seq_operations."} */
    3884             :   /* LDV {"type": "CALLBACK", "call": "((& dev_seq_stop))(ldv_12_seq_file_seq_file, ldv_12_ldv_param_2_1_default);", "comment": "stop"} */
    3885           6 :   ldv_traverse_kernel_items_scenario_stop_12_2(ldv_12_ops_seq_operations->stop, ldv_12_seq_file_seq_file, ldv_12_ldv_param_2_1_default);
    3886             :   /* LDV {"action": "STOP", "type": "CALL_END"} */
    3887             : 
    3888             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3889           6 :   ldv_free(ldv_12_ldv_param_2_1_default);
    3890             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_END"} */
    3891             : 
    3892             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3893             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3894             : 
    3895             :   /* Jump to a subprocess 'start_step' initial state */
    3896           3 :   goto ldv_start_step_12;
    3897             :  }
    3898             :  /* End of the subprocess 'next_step' */
    3899             :  return;
    3900             :  /* LDV {"comment": "End of control function based on process 'traverse_kernel_items_scenario(seq_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_traverse_kernel_items_scenario_12"} */
    3901             : }
    3902             : 
    3903             : /* AUX_FUNC ldv_traverse_kernel_items_scenario_13 */
    3904             : void ldv_traverse_kernel_items_scenario_13(void *arg0) {
    3905             :  /* LDV {"thread": 13, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'traverse_kernel_items_scenario(seq_operations)'", "function": "ldv_traverse_kernel_items_scenario_13"} */
    3906           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3907           3 :  long long int *ldv_13_ldv_param_13_1_default;
    3908           3 :  void *ldv_13_ldv_param_2_1_default;
    3909           3 :  void *ldv_13_ldv_param_6_1_default;
    3910           3 :  void *ldv_13_ldv_param_7_1_default;
    3911           3 :  long long int *ldv_13_ldv_param_7_2_default;
    3912           3 :  struct seq_operations *ldv_13_ops_seq_operations;
    3913           3 :  void *ldv_13_ret_default;
    3914           3 :  struct seq_file *ldv_13_seq_file_seq_file;
    3915           3 :  /* Received labels */
    3916           6 :  struct ldv_struct_traverse_kernel_items_scenario_9 *data = (struct ldv_struct_traverse_kernel_items_scenario_9*) arg0;
    3917           3 : 
    3918           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3919             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin SEQ_OPERATIONS callbacks invocations scenario."} */
    3920             :  /* Assign recieved labels */
    3921           6 :  if (data) {
    3922           3 :   ldv_13_seq_file_seq_file = data->arg0;
    3923           3 :   ldv_13_ops_seq_operations = data->arg1;
    3924           6 :   ldv_free(data);
    3925             :  }
    3926             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    3927             : 
    3928             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    3929             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    3930             : 
    3931             :  /* Jump to a subprocess 'start_step' initial state */
    3932           6 :  goto ldv_start_step_13;
    3933             :  /* End of the process */
    3934             :  return;
    3935           3 : 
    3936             :  /* Sbprocess start_step */
    3937             :  ldv_start_step_13:
    3938             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3939             : 
    3940             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3941           9 :  ldv_13_ldv_param_13_1_default = ldv_xmalloc_unknown_size(0);
    3942             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
    3943             : 
    3944             :  /* LDV {"action": "START", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize data for walking through a list of kernel items. Invoke callback start from seq_operations."} */
    3945             :  /* LDV {"type": "CALLBACK", "call": "ldv_13_ret_default = ((& dev_seq_start))(ldv_13_seq_file_seq_file, ldv_13_ldv_param_13_1_default);", "comment": "start"} */
    3946           6 :  ldv_13_ret_default = ldv_traverse_kernel_items_scenario_start_13_13(ldv_13_ops_seq_operations->start, ldv_13_seq_file_seq_file, ldv_13_ldv_param_13_1_default);
    3947             :  /* LDV {"action": "START", "type": "CALL_END"} */
    3948             : 
    3949             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3950           6 :  ldv_free(ldv_13_ldv_param_13_1_default);
    3951             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
    3952             : 
    3953          12 :  if (ldv_undef_int()) {
    3954             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_BEGIN", "comment": "A new sequence is initialized successfully."} */
    3955           6 :   ldv_assume(ldv_13_ret_default != 0);
    3956             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_END"} */
    3957             : 
    3958             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    3959             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    3960             : 
    3961             :   /* Jump to a subprocess 'next_step' initial state */
    3962           3 :   goto ldv_next_step_13;
    3963             :  }
    3964             :  else {
    3965             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize a new sequence."} */
    3966           6 :   ldv_assume(ldv_13_ret_default == 0);
    3967             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_END"} */
    3968             : 
    3969             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3970           6 :   ldv_free(ldv_13_seq_file_seq_file);
    3971             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
    3972             : 
    3973             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish SEQ_OPERATIONS callbacks invocations scenario."} */
    3974             :   /* Skip a non-replicative signal receiving */
    3975             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
    3976             : 
    3977             :   /* Exit function at a terminal state */
    3978           3 :   return;
    3979             :  }
    3980             :  /* End of the subprocess 'start_step' */
    3981             :  return;
    3982           3 : 
    3983             :  /* Sbprocess next_step */
    3984             :  ldv_next_step_13:
    3985             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3986             : 
    3987             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3988           6 :  ldv_13_ldv_param_7_1_default = ldv_xmalloc_unknown_size(0);
    3989           9 :  ldv_13_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
    3990             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
    3991             : 
    3992             :  /* LDV {"action": "NEXT", "type": "CALL_BEGIN", "callback": true, "comment": "Advance to the new item. Invoke callback next from seq_operations."} */
    3993             :  /* LDV {"type": "CALLBACK", "call": "ldv_13_ret_default = ((& dev_seq_next))(ldv_13_seq_file_seq_file, ldv_13_ldv_param_7_1_default, ldv_13_ldv_param_7_2_default);", "comment": "next"} */
    3994           6 :  ldv_13_ret_default = ldv_traverse_kernel_items_scenario_next_13_7(ldv_13_ops_seq_operations->next, ldv_13_seq_file_seq_file, ldv_13_ldv_param_7_1_default, ldv_13_ldv_param_7_2_default);
    3995             :  /* LDV {"action": "NEXT", "type": "CALL_END"} */
    3996             : 
    3997             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3998           6 :  ldv_free(ldv_13_ldv_param_7_1_default);
    3999           6 :  ldv_free(ldv_13_ldv_param_7_2_default);
    4000             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
    4001             : 
    4002             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4003           6 :  ldv_13_ldv_param_6_1_default = ldv_xmalloc_unknown_size(0);
    4004             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_END"} */
    4005             : 
    4006             :  /* LDV {"action": "SHOW", "type": "CALL_BEGIN", "callback": true, "comment": "Show current item: put data into the seq_file output buffer. Invoke callback show from SEQ_OPERATIONS."} */
    4007             :  /* LDV {"type": "CALLBACK", "call": "((sg_proc_seq_show_int))(ldv_13_seq_file_seq_file, ldv_13_ldv_param_6_1_default);", "comment": "show"} */
    4008           6 :  ldv_traverse_kernel_items_scenario_show_13_6(ldv_13_ops_seq_operations->show, ldv_13_seq_file_seq_file, ldv_13_ldv_param_6_1_default);
    4009             :  /* LDV {"action": "SHOW", "type": "CALL_END"} */
    4010             : 
    4011             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4012           6 :  ldv_free(ldv_13_ldv_param_6_1_default);
    4013             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_END"} */
    4014             : 
    4015          12 :  if (ldv_undef_int()) {
    4016             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "More items to show are left."} */
    4017           6 :   ldv_assume(ldv_13_ret_default != 0);
    4018             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_END"} */
    4019             : 
    4020             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    4021             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    4022             : 
    4023             :   /* Jump to a subprocess 'next_step' initial state */
    4024           3 :   goto ldv_next_step_13;
    4025             :  }
    4026             :  else {
    4027             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_BEGIN", "comment": "The last kernel item is reached."} */
    4028           6 :   ldv_assume(ldv_13_ret_default == 0);
    4029             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_END"} */
    4030             : 
    4031             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4032           6 :   ldv_13_ldv_param_2_1_default = ldv_xmalloc_unknown_size(0);
    4033             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_END"} */
    4034             : 
    4035             :   /* LDV {"action": "STOP", "type": "CALL_BEGIN", "callback": true, "comment": "End of the sequence is reached, do necessary cleanup. Invoke callback stop from seq_operations."} */
    4036             :   /* LDV {"type": "CALLBACK", "call": "((& dev_seq_stop))(ldv_13_seq_file_seq_file, ldv_13_ldv_param_2_1_default);", "comment": "stop"} */
    4037           6 :   ldv_traverse_kernel_items_scenario_stop_13_2(ldv_13_ops_seq_operations->stop, ldv_13_seq_file_seq_file, ldv_13_ldv_param_2_1_default);
    4038             :   /* LDV {"action": "STOP", "type": "CALL_END"} */
    4039             : 
    4040             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4041           6 :   ldv_free(ldv_13_ldv_param_2_1_default);
    4042             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_END"} */
    4043             : 
    4044             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    4045             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    4046             : 
    4047             :   /* Jump to a subprocess 'start_step' initial state */
    4048           3 :   goto ldv_start_step_13;
    4049             :  }
    4050             :  /* End of the subprocess 'next_step' */
    4051             :  return;
    4052             :  /* LDV {"comment": "End of control function based on process 'traverse_kernel_items_scenario(seq_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_traverse_kernel_items_scenario_13"} */
    4053             : }
    4054             : 
    4055             : /* AUX_FUNC ldv_traverse_kernel_items_scenario_14 */
    4056             : void ldv_traverse_kernel_items_scenario_14(void *arg0) {
    4057             :  /* LDV {"thread": 14, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'traverse_kernel_items_scenario(seq_operations)'", "function": "ldv_traverse_kernel_items_scenario_14"} */
    4058           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    4059           3 :  long long int *ldv_14_ldv_param_13_1_default;
    4060           3 :  void *ldv_14_ldv_param_2_1_default;
    4061           3 :  void *ldv_14_ldv_param_6_1_default;
    4062           3 :  void *ldv_14_ldv_param_7_1_default;
    4063           3 :  long long int *ldv_14_ldv_param_7_2_default;
    4064           3 :  struct seq_operations *ldv_14_ops_seq_operations;
    4065           3 :  void *ldv_14_ret_default;
    4066           3 :  struct seq_file *ldv_14_seq_file_seq_file;
    4067           3 :  /* Received labels */
    4068           6 :  struct ldv_struct_traverse_kernel_items_scenario_9 *data = (struct ldv_struct_traverse_kernel_items_scenario_9*) arg0;
    4069           3 : 
    4070           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    4071             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin SEQ_OPERATIONS callbacks invocations scenario."} */
    4072             :  /* Assign recieved labels */
    4073           6 :  if (data) {
    4074           3 :   ldv_14_seq_file_seq_file = data->arg0;
    4075           3 :   ldv_14_ops_seq_operations = data->arg1;
    4076           6 :   ldv_free(data);
    4077             :  }
    4078             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    4079             : 
    4080             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    4081             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    4082             : 
    4083             :  /* Jump to a subprocess 'start_step' initial state */
    4084           6 :  goto ldv_start_step_14;
    4085             :  /* End of the process */
    4086             :  return;
    4087           3 : 
    4088             :  /* Sbprocess start_step */
    4089             :  ldv_start_step_14:
    4090             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4091             : 
    4092             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4093           9 :  ldv_14_ldv_param_13_1_default = ldv_xmalloc_unknown_size(0);
    4094             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
    4095             : 
    4096             :  /* LDV {"action": "START", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize data for walking through a list of kernel items. Invoke callback start from seq_operations."} */
    4097             :  /* LDV {"type": "CALLBACK", "call": "ldv_14_ret_default = ((& dev_seq_start))(ldv_14_seq_file_seq_file, ldv_14_ldv_param_13_1_default);", "comment": "start"} */
    4098           6 :  ldv_14_ret_default = ldv_traverse_kernel_items_scenario_start_14_13(ldv_14_ops_seq_operations->start, ldv_14_seq_file_seq_file, ldv_14_ldv_param_13_1_default);
    4099             :  /* LDV {"action": "START", "type": "CALL_END"} */
    4100             : 
    4101             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4102           6 :  ldv_free(ldv_14_ldv_param_13_1_default);
    4103             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
    4104             : 
    4105          12 :  if (ldv_undef_int()) {
    4106             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_BEGIN", "comment": "A new sequence is initialized successfully."} */
    4107           6 :   ldv_assume(ldv_14_ret_default != 0);
    4108             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_END"} */
    4109             : 
    4110             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    4111             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    4112             : 
    4113             :   /* Jump to a subprocess 'next_step' initial state */
    4114           3 :   goto ldv_next_step_14;
    4115             :  }
    4116             :  else {
    4117             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize a new sequence."} */
    4118           6 :   ldv_assume(ldv_14_ret_default == 0);
    4119             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_END"} */
    4120             : 
    4121             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    4122           6 :   ldv_free(ldv_14_seq_file_seq_file);
    4123             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
    4124             : 
    4125             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish SEQ_OPERATIONS callbacks invocations scenario."} */
    4126             :   /* Skip a non-replicative signal receiving */
    4127             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
    4128             : 
    4129             :   /* Exit function at a terminal state */
    4130           3 :   return;
    4131             :  }
    4132             :  /* End of the subprocess 'start_step' */
    4133             :  return;
    4134           3 : 
    4135             :  /* Sbprocess next_step */
    4136             :  ldv_next_step_14:
    4137             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4138             : 
    4139             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4140           6 :  ldv_14_ldv_param_7_1_default = ldv_xmalloc_unknown_size(0);
    4141           9 :  ldv_14_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
    4142             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
    4143             : 
    4144             :  /* LDV {"action": "NEXT", "type": "CALL_BEGIN", "callback": true, "comment": "Advance to the new item. Invoke callback next from seq_operations."} */
    4145             :  /* LDV {"type": "CALLBACK", "call": "ldv_14_ret_default = ((& dev_seq_next))(ldv_14_seq_file_seq_file, ldv_14_ldv_param_7_1_default, ldv_14_ldv_param_7_2_default);", "comment": "next"} */
    4146           6 :  ldv_14_ret_default = ldv_traverse_kernel_items_scenario_next_14_7(ldv_14_ops_seq_operations->next, ldv_14_seq_file_seq_file, ldv_14_ldv_param_7_1_default, ldv_14_ldv_param_7_2_default);
    4147             :  /* LDV {"action": "NEXT", "type": "CALL_END"} */
    4148             : 
    4149             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4150           6 :  ldv_free(ldv_14_ldv_param_7_1_default);
    4151           6 :  ldv_free(ldv_14_ldv_param_7_2_default);
    4152             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
    4153             : 
    4154             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4155           6 :  ldv_14_ldv_param_6_1_default = ldv_xmalloc_unknown_size(0);
    4156             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_END"} */
    4157             : 
    4158             :  /* LDV {"action": "SHOW", "type": "CALL_BEGIN", "callback": true, "comment": "Show current item: put data into the seq_file output buffer. Invoke callback show from SEQ_OPERATIONS."} */
    4159             :  /* LDV {"type": "CALLBACK", "call": "((sg_proc_seq_show_version))(ldv_14_seq_file_seq_file, ldv_14_ldv_param_6_1_default);", "comment": "show"} */
    4160           6 :  ldv_traverse_kernel_items_scenario_show_14_6(ldv_14_ops_seq_operations->show, ldv_14_seq_file_seq_file, ldv_14_ldv_param_6_1_default);
    4161             :  /* LDV {"action": "SHOW", "type": "CALL_END"} */
    4162             : 
    4163             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4164           6 :  ldv_free(ldv_14_ldv_param_6_1_default);
    4165             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_END"} */
    4166             : 
    4167          12 :  if (ldv_undef_int()) {
    4168             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "More items to show are left."} */
    4169           6 :   ldv_assume(ldv_14_ret_default != 0);
    4170             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_END"} */
    4171             : 
    4172             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    4173             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    4174             : 
    4175             :   /* Jump to a subprocess 'next_step' initial state */
    4176           3 :   goto ldv_next_step_14;
    4177             :  }
    4178             :  else {
    4179             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_BEGIN", "comment": "The last kernel item is reached."} */
    4180           6 :   ldv_assume(ldv_14_ret_default == 0);
    4181             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_END"} */
    4182             : 
    4183             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4184           6 :   ldv_14_ldv_param_2_1_default = ldv_xmalloc_unknown_size(0);
    4185             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_END"} */
    4186             : 
    4187             :   /* LDV {"action": "STOP", "type": "CALL_BEGIN", "callback": true, "comment": "End of the sequence is reached, do necessary cleanup. Invoke callback stop from seq_operations."} */
    4188             :   /* LDV {"type": "CALLBACK", "call": "((& dev_seq_stop))(ldv_14_seq_file_seq_file, ldv_14_ldv_param_2_1_default);", "comment": "stop"} */
    4189           6 :   ldv_traverse_kernel_items_scenario_stop_14_2(ldv_14_ops_seq_operations->stop, ldv_14_seq_file_seq_file, ldv_14_ldv_param_2_1_default);
    4190             :   /* LDV {"action": "STOP", "type": "CALL_END"} */
    4191             : 
    4192             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4193           6 :   ldv_free(ldv_14_ldv_param_2_1_default);
    4194             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_END"} */
    4195             : 
    4196             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    4197             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    4198             : 
    4199             :   /* Jump to a subprocess 'start_step' initial state */
    4200           3 :   goto ldv_start_step_14;
    4201             :  }
    4202             :  /* End of the subprocess 'next_step' */
    4203             :  return;
    4204             :  /* LDV {"comment": "End of control function based on process 'traverse_kernel_items_scenario(seq_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_traverse_kernel_items_scenario_14"} */
    4205             : }
    4206             : 
    4207             : /* AUX_FUNC ldv_traverse_kernel_items_scenario_9 */
    4208             : void ldv_traverse_kernel_items_scenario_9(void *arg0) {
    4209             :  /* LDV {"thread": 9, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'traverse_kernel_items_scenario(seq_operations)'", "function": "ldv_traverse_kernel_items_scenario_9"} */
    4210           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    4211           3 :  long long int *ldv_9_ldv_param_13_1_default;
    4212           3 :  void *ldv_9_ldv_param_2_1_default;
    4213           3 :  void *ldv_9_ldv_param_6_1_default;
    4214           3 :  void *ldv_9_ldv_param_7_1_default;
    4215           3 :  long long int *ldv_9_ldv_param_7_2_default;
    4216           3 :  struct seq_operations *ldv_9_ops_seq_operations;
    4217           3 :  void *ldv_9_ret_default;
    4218           3 :  struct seq_file *ldv_9_seq_file_seq_file;
    4219           3 :  /* Received labels */
    4220           6 :  struct ldv_struct_traverse_kernel_items_scenario_9 *data = (struct ldv_struct_traverse_kernel_items_scenario_9*) arg0;
    4221           3 : 
    4222           3 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    4223             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin SEQ_OPERATIONS callbacks invocations scenario."} */
    4224             :  /* Assign recieved labels */
    4225           6 :  if (data) {
    4226           3 :   ldv_9_seq_file_seq_file = data->arg0;
    4227           3 :   ldv_9_ops_seq_operations = data->arg1;
    4228           6 :   ldv_free(data);
    4229             :  }
    4230             :  /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
    4231             : 
    4232             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    4233             :  /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    4234             : 
    4235             :  /* Jump to a subprocess 'start_step' initial state */
    4236           6 :  goto ldv_start_step_9;
    4237             :  /* End of the process */
    4238             :  return;
    4239           3 : 
    4240             :  /* Sbprocess start_step */
    4241             :  ldv_start_step_9:
    4242             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4243             : 
    4244             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4245           9 :  ldv_9_ldv_param_13_1_default = ldv_xmalloc_unknown_size(0);
    4246             :  /* LDV {"action": "PRE_CALL_13", "type": "CONDITION_END"} */
    4247             : 
    4248             :  /* LDV {"action": "START", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize data for walking through a list of kernel items. Invoke callback start from seq_operations."} */
    4249             :  /* LDV {"type": "CALLBACK", "call": "ldv_9_ret_default = ((& dev_seq_start))(ldv_9_seq_file_seq_file, ldv_9_ldv_param_13_1_default);", "comment": "start"} */
    4250           6 :  ldv_9_ret_default = ldv_traverse_kernel_items_scenario_start_9_13(ldv_9_ops_seq_operations->start, ldv_9_seq_file_seq_file, ldv_9_ldv_param_13_1_default);
    4251             :  /* LDV {"action": "START", "type": "CALL_END"} */
    4252             : 
    4253             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4254           6 :  ldv_free(ldv_9_ldv_param_13_1_default);
    4255             :  /* LDV {"action": "POST_CALL_13", "type": "CONDITION_END"} */
    4256             : 
    4257          12 :  if (ldv_undef_int()) {
    4258             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_BEGIN", "comment": "A new sequence is initialized successfully."} */
    4259           6 :   ldv_assume(ldv_9_ret_default != 0);
    4260             :   /* LDV {"action": "START_SUCCESS", "type": "CONDITION_END"} */
    4261             : 
    4262             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    4263             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    4264             : 
    4265             :   /* Jump to a subprocess 'next_step' initial state */
    4266           3 :   goto ldv_next_step_9;
    4267             :  }
    4268             :  else {
    4269             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize a new sequence."} */
    4270           6 :   ldv_assume(ldv_9_ret_default == 0);
    4271             :   /* LDV {"action": "START_FAILED", "type": "CONDITION_END"} */
    4272             : 
    4273             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    4274           6 :   ldv_free(ldv_9_seq_file_seq_file);
    4275             :   /* LDV {"action": "DEFAULT_FREE_4", "type": "CONDITION_END"} */
    4276             : 
    4277             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_BEGIN", "comment": "Finish SEQ_OPERATIONS callbacks invocations scenario."} */
    4278             :   /* Skip a non-replicative signal receiving */
    4279             :   /* LDV {"action": "DEFAULT_DEREGISTER_4", "type": "RECEIVE_END"} */
    4280             : 
    4281             :   /* Exit function at a terminal state */
    4282           3 :   return;
    4283             :  }
    4284             :  /* End of the subprocess 'start_step' */
    4285             :  return;
    4286           3 : 
    4287             :  /* Sbprocess next_step */
    4288             :  ldv_next_step_9:
    4289             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4290             : 
    4291             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4292           6 :  ldv_9_ldv_param_7_1_default = ldv_xmalloc_unknown_size(0);
    4293           9 :  ldv_9_ldv_param_7_2_default = ldv_xmalloc_unknown_size(0);
    4294             :  /* LDV {"action": "PRE_CALL_7", "type": "CONDITION_END"} */
    4295             : 
    4296             :  /* LDV {"action": "NEXT", "type": "CALL_BEGIN", "callback": true, "comment": "Advance to the new item. Invoke callback next from seq_operations."} */
    4297             :  /* LDV {"type": "CALLBACK", "call": "ldv_9_ret_default = ((& dev_seq_next))(ldv_9_seq_file_seq_file, ldv_9_ldv_param_7_1_default, ldv_9_ldv_param_7_2_default);", "comment": "next"} */
    4298           6 :  ldv_9_ret_default = ldv_traverse_kernel_items_scenario_next_9_7(ldv_9_ops_seq_operations->next, ldv_9_seq_file_seq_file, ldv_9_ldv_param_7_1_default, ldv_9_ldv_param_7_2_default);
    4299             :  /* LDV {"action": "NEXT", "type": "CALL_END"} */
    4300             : 
    4301             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4302           6 :  ldv_free(ldv_9_ldv_param_7_1_default);
    4303           6 :  ldv_free(ldv_9_ldv_param_7_2_default);
    4304             :  /* LDV {"action": "POST_CALL_7", "type": "CONDITION_END"} */
    4305             : 
    4306             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4307           6 :  ldv_9_ldv_param_6_1_default = ldv_xmalloc_unknown_size(0);
    4308             :  /* LDV {"action": "PRE_CALL_6", "type": "CONDITION_END"} */
    4309             : 
    4310             :  /* LDV {"action": "SHOW", "type": "CALL_BEGIN", "callback": true, "comment": "Show current item: put data into the seq_file output buffer. Invoke callback show from seq_operations."} */
    4311             :  /* LDV {"type": "CALLBACK", "call": "((& sg_proc_seq_show_debug))(ldv_9_seq_file_seq_file, ldv_9_ldv_param_6_1_default);", "comment": "show"} */
    4312           6 :  ldv_traverse_kernel_items_scenario_show_9_6(ldv_9_ops_seq_operations->show, ldv_9_seq_file_seq_file, ldv_9_ldv_param_6_1_default);
    4313             :  /* LDV {"action": "SHOW", "type": "CALL_END"} */
    4314             : 
    4315             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4316           6 :  ldv_free(ldv_9_ldv_param_6_1_default);
    4317             :  /* LDV {"action": "POST_CALL_6", "type": "CONDITION_END"} */
    4318             : 
    4319          12 :  if (ldv_undef_int()) {
    4320             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "More items to show are left."} */
    4321           6 :   ldv_assume(ldv_9_ret_default != 0);
    4322             :   /* LDV {"action": "NEXT_SUCCESS", "type": "CONDITION_END"} */
    4323             : 
    4324             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Continue iteration over kernel items."} */
    4325             :   /* LDV {"action": "NEXT_STEP", "type": "SUBPROCESS_END"} */
    4326             : 
    4327             :   /* Jump to a subprocess 'next_step' initial state */
    4328           3 :   goto ldv_next_step_9;
    4329             :  }
    4330             :  else {
    4331             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_BEGIN", "comment": "The last kernel item is reached."} */
    4332           6 :   ldv_assume(ldv_9_ret_default == 0);
    4333             :   /* LDV {"action": "NEXT_FAIL", "type": "CONDITION_END"} */
    4334             : 
    4335             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4336           6 :   ldv_9_ldv_param_2_1_default = ldv_xmalloc_unknown_size(0);
    4337             :   /* LDV {"action": "PRE_CALL_2", "type": "CONDITION_END"} */
    4338             : 
    4339             :   /* LDV {"action": "STOP", "type": "CALL_BEGIN", "callback": true, "comment": "End of the sequence is reached, do necessary cleanup. Invoke callback stop from seq_operations."} */
    4340             :   /* LDV {"type": "CALLBACK", "call": "((& dev_seq_stop))(ldv_9_seq_file_seq_file, ldv_9_ldv_param_2_1_default);", "comment": "stop"} */
    4341           6 :   ldv_traverse_kernel_items_scenario_stop_9_2(ldv_9_ops_seq_operations->stop, ldv_9_seq_file_seq_file, ldv_9_ldv_param_2_1_default);
    4342             :   /* LDV {"action": "STOP", "type": "CALL_END"} */
    4343             : 
    4344             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4345           6 :   ldv_free(ldv_9_ldv_param_2_1_default);
    4346             :   /* LDV {"action": "POST_CALL_2", "type": "CONDITION_END"} */
    4347             : 
    4348             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_BEGIN", "comment": "Start sequence or do nothing."} */
    4349             :   /* LDV {"action": "START_STEP", "type": "SUBPROCESS_END"} */
    4350             : 
    4351             :   /* Jump to a subprocess 'start_step' initial state */
    4352           3 :   goto ldv_start_step_9;
    4353             :  }
    4354             :  /* End of the subprocess 'next_step' */
    4355             :  return;
    4356             :  /* LDV {"comment": "End of control function based on process 'traverse_kernel_items_scenario(seq_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_traverse_kernel_items_scenario_9"} */
    4357             : }
    4358             : 
    4359             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_next_10_7 */
    4360             : void * ldv_traverse_kernel_items_scenario_next_10_7(void *(*arg0)(struct seq_file *, void *, loff_t *), struct seq_file *arg1, void *arg2, long long int *arg3) {
    4361           9 :  return ((& dev_seq_next))(arg1, arg2, arg3);
    4362             : }
    4363             : 
    4364             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_next_11_7 */
    4365           3 : void * ldv_traverse_kernel_items_scenario_next_11_7(void *(*arg0)(struct seq_file *, void *, loff_t *), struct seq_file *arg1, void *arg2, long long int *arg3) {
    4366           9 :  return ((& dev_seq_next))(arg1, arg2, arg3);
    4367             : }
    4368             : 
    4369             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_next_12_7 */
    4370           3 : void * ldv_traverse_kernel_items_scenario_next_12_7(void *(*arg0)(struct seq_file *, void *, loff_t *), struct seq_file *arg1, void *arg2, long long int *arg3) {
    4371           9 :  return ((& dev_seq_next))(arg1, arg2, arg3);
    4372             : }
    4373             : 
    4374             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_next_13_7 */
    4375           3 : void * ldv_traverse_kernel_items_scenario_next_13_7(void *(*arg0)(struct seq_file *, void *, loff_t *), struct seq_file *arg1, void *arg2, long long int *arg3) {
    4376           9 :  return ((& dev_seq_next))(arg1, arg2, arg3);
    4377             : }
    4378             : 
    4379             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_next_14_7 */
    4380           3 : void * ldv_traverse_kernel_items_scenario_next_14_7(void *(*arg0)(struct seq_file *, void *, loff_t *), struct seq_file *arg1, void *arg2, long long int *arg3) {
    4381           9 :  return ((& dev_seq_next))(arg1, arg2, arg3);
    4382             : }
    4383             : 
    4384             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_next_9_7 */
    4385           3 : void * ldv_traverse_kernel_items_scenario_next_9_7(void *(*arg0)(struct seq_file *, void *, loff_t *), struct seq_file *arg1, void *arg2, long long int *arg3) {
    4386           9 :  return ((& dev_seq_next))(arg1, arg2, arg3);
    4387             : }
    4388             : 
    4389             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_show_10_6 */
    4390           3 : void ldv_traverse_kernel_items_scenario_show_10_6(int (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4391          12 :  ((& sg_proc_seq_show_dev))(arg1, arg2);
    4392           3 : }
    4393             : 
    4394             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_show_11_6 */
    4395             : void ldv_traverse_kernel_items_scenario_show_11_6(int (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4396           9 :  ((& sg_proc_seq_show_devstrs))(arg1, arg2);
    4397           3 : }
    4398             : 
    4399             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_show_12_6 */
    4400             : void ldv_traverse_kernel_items_scenario_show_12_6(int (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4401           6 :  ((sg_proc_seq_show_devhdr))(arg1, arg2);
    4402           3 : }
    4403             : 
    4404             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_show_13_6 */
    4405             : void ldv_traverse_kernel_items_scenario_show_13_6(int (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4406           6 :  ((sg_proc_seq_show_int))(arg1, arg2);
    4407           3 : }
    4408             : 
    4409             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_show_14_6 */
    4410             : void ldv_traverse_kernel_items_scenario_show_14_6(int (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4411           6 :  ((sg_proc_seq_show_version))(arg1, arg2);
    4412           3 : }
    4413             : 
    4414             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_show_9_6 */
    4415             : void ldv_traverse_kernel_items_scenario_show_9_6(int (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4416          15 :  ((& sg_proc_seq_show_debug))(arg1, arg2);
    4417           3 : }
    4418             : 
    4419             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_start_10_13 */
    4420             : void * ldv_traverse_kernel_items_scenario_start_10_13(void *(*arg0)(struct seq_file *, loff_t *), struct seq_file *arg1, long long int *arg2) {
    4421          12 :  return ((& dev_seq_start))(arg1, arg2);
    4422             : }
    4423             : 
    4424           3 : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_start_11_13 */
    4425             : void * ldv_traverse_kernel_items_scenario_start_11_13(void *(*arg0)(struct seq_file *, loff_t *), struct seq_file *arg1, long long int *arg2) {
    4426          12 :  return ((& dev_seq_start))(arg1, arg2);
    4427             : }
    4428             : 
    4429           3 : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_start_12_13 */
    4430             : void * ldv_traverse_kernel_items_scenario_start_12_13(void *(*arg0)(struct seq_file *, loff_t *), struct seq_file *arg1, long long int *arg2) {
    4431          12 :  return ((& dev_seq_start))(arg1, arg2);
    4432             : }
    4433             : 
    4434           3 : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_start_13_13 */
    4435             : void * ldv_traverse_kernel_items_scenario_start_13_13(void *(*arg0)(struct seq_file *, loff_t *), struct seq_file *arg1, long long int *arg2) {
    4436          12 :  return ((& dev_seq_start))(arg1, arg2);
    4437             : }
    4438             : 
    4439           3 : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_start_14_13 */
    4440             : void * ldv_traverse_kernel_items_scenario_start_14_13(void *(*arg0)(struct seq_file *, loff_t *), struct seq_file *arg1, long long int *arg2) {
    4441          12 :  return ((& dev_seq_start))(arg1, arg2);
    4442             : }
    4443             : 
    4444           3 : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_start_9_13 */
    4445             : void * ldv_traverse_kernel_items_scenario_start_9_13(void *(*arg0)(struct seq_file *, loff_t *), struct seq_file *arg1, long long int *arg2) {
    4446          12 :  return ((& dev_seq_start))(arg1, arg2);
    4447             : }
    4448             : 
    4449           3 : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_stop_10_2 */
    4450             : void ldv_traverse_kernel_items_scenario_stop_10_2(void (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4451           6 :  ((& dev_seq_stop))(arg1, arg2);
    4452           3 : }
    4453             : 
    4454             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_stop_11_2 */
    4455             : void ldv_traverse_kernel_items_scenario_stop_11_2(void (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4456           6 :  ((& dev_seq_stop))(arg1, arg2);
    4457           3 : }
    4458             : 
    4459             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_stop_12_2 */
    4460             : void ldv_traverse_kernel_items_scenario_stop_12_2(void (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4461           6 :  ((& dev_seq_stop))(arg1, arg2);
    4462           3 : }
    4463             : 
    4464             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_stop_13_2 */
    4465             : void ldv_traverse_kernel_items_scenario_stop_13_2(void (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4466           6 :  ((& dev_seq_stop))(arg1, arg2);
    4467           3 : }
    4468             : 
    4469             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_stop_14_2 */
    4470             : void ldv_traverse_kernel_items_scenario_stop_14_2(void (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4471           6 :  ((& dev_seq_stop))(arg1, arg2);
    4472           3 : }
    4473             : 
    4474             : /* AUX_FUNC_CALLBACK ldv_traverse_kernel_items_scenario_stop_9_2 */
    4475             : void ldv_traverse_kernel_items_scenario_stop_9_2(void (*arg0)(struct seq_file *, void *), struct seq_file *arg1, void *arg2) {
    4476           6 :  ((& dev_seq_stop))(arg1, arg2);
    4477           3 : }
    4478             : 
    4479             : /* AUX_FUNC main */
    4480             : int main() {
    4481           1 :  ldv_main_23(0);
    4482           0 :  return 0;
    4483             : }
    4484             : 
    4485             : 
    4486             : /* AUX_FUNC  ERR_PTR */
    4487             : static inline void *ERR_PTR (long int error)
    4488             : {
    4489           6 : 
    4490          18 :  return ldv_err_ptr(error);
    4491             : }
    4492             : 
    4493             : /* AUX_FUNC  PTR_ERR */
    4494             : static inline long int PTR_ERR (void const *ptr)
    4495             : {
    4496           4 : 
    4497          12 :  return ldv_ptr_err(ptr);
    4498             : }
    4499             : 
    4500             : /* AUX_FUNC  IS_ERR */
    4501             : static inline long int IS_ERR (void const *ptr)
    4502             : {
    4503           4 : 
    4504          12 :  return ldv_is_err(ptr);
    4505             : }
    4506             : 
    4507             : /* AUX_FUNC  IS_ERR_OR_NULL */
    4508             : static inline long int IS_ERR_OR_NULL (void const *ptr)
    4509             : {
    4510             : 
    4511             :  return ldv_is_err_or_null(ptr);
    4512             : }
    4513             : 
    4514             : /* AUX_FUNC  kzalloc */
    4515             : static inline void *kzalloc (size_t size, gfp_t flags)
    4516             : {
    4517          14 : 
    4518          42 :  return ldv_kzalloc(size, flags);
    4519             : }
    4520             : 
    4521             : /* AUX_FUNC  ldv_cdev_del_6 */
    4522             : void ldv_cdev_del_6 (struct cdev *ldv_func_arg1)
    4523             : {
    4524             : 
    4525             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'cdev_del'"} */
    4526           8 :  ldv_emg_cdev_del(ldv_func_arg1);
    4527           4 : }
    4528             : 
    4529             : /* AUX_FUNC  ldv_dev_get_drvdata_7 */
    4530             : void *ldv_dev_get_drvdata_7 (struct device const *dev)
    4531             : {
    4532           1 : 
    4533           3 :  return ldv_dev_get_drvdata(dev);
    4534             : }
    4535             : 
    4536             : /* AUX_FUNC  ldv_cdev_del_8 */
    4537             : void ldv_cdev_del_8 (struct cdev *ldv_func_arg1)
    4538             : {
    4539             : 
    4540             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'cdev_del'"} */
    4541           2 :  ldv_emg_cdev_del(ldv_func_arg1);
    4542           1 : }
    4543             : 
    4544             : /* AUX_FUNC  ldv_scsi_register_interface_9 */
    4545             : int ldv_scsi_register_interface_9 (struct class_interface *ldv_func_arg1)
    4546             : {
    4547           1 : 
    4548             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'scsi_register_interface'"} */
    4549           4 :  return ldv_emg_scsi_register_interface(ldv_func_arg1);
    4550             : }
    4551             : 
    4552             : /* AUX_FUNC  ldv_class_interface_unregister_10 */
    4553             : void ldv_class_interface_unregister_10 (struct class_interface *ldv_func_arg1)
    4554             : {
    4555             : 
    4556             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'class_interface_unregister'"} */
    4557           4 :  ldv_emg_class_interface_unregister(ldv_func_arg1);
    4558           2 : }
    4559             : 
    4560             : /* AUX_FUNC  ldv_seq_open_11 */
    4561             : int ldv_seq_open_11 (struct file *ldv_func_arg1, struct seq_operations const *ldv_func_arg2)
    4562             : {
    4563           1 : 
    4564             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'seq_open'"} */
    4565           3 :  return ldv_emg_seq_open(ldv_func_arg1, ldv_func_arg2);
    4566             : }
    4567             : 
    4568             : /* AUX_FUNC  ldv_seq_open_12 */
    4569             : int ldv_seq_open_12 (struct file *ldv_func_arg1, struct seq_operations const *ldv_func_arg2)
    4570             : {
    4571           1 : 
    4572             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'seq_open'"} */
    4573           3 :  return ldv_emg_seq_open(ldv_func_arg1, ldv_func_arg2);
    4574             : }
    4575             : 
    4576             : /* AUX_FUNC  ldv_seq_open_13 */
    4577             : int ldv_seq_open_13 (struct file *ldv_func_arg1, struct seq_operations const *ldv_func_arg2)
    4578             : {
    4579           1 : 
    4580             :  /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'seq_open'"} */
    4581           3 :  return ldv_emg_seq_open(ldv_func_arg1, ldv_func_arg2);
    4582             : }

Generated by: LCOV version 1.10