Showing error 1236

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--staging--iio--iio_dummy_evgen.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2238
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 23 "include/asm-generic/int-ll64.h"
   5typedef unsigned short __u16;
   6#line 26 "include/asm-generic/int-ll64.h"
   7typedef unsigned int __u32;
   8#line 30 "include/asm-generic/int-ll64.h"
   9typedef unsigned long long __u64;
  10#line 43 "include/asm-generic/int-ll64.h"
  11typedef unsigned char u8;
  12#line 45 "include/asm-generic/int-ll64.h"
  13typedef short s16;
  14#line 46 "include/asm-generic/int-ll64.h"
  15typedef unsigned short u16;
  16#line 49 "include/asm-generic/int-ll64.h"
  17typedef unsigned int u32;
  18#line 51 "include/asm-generic/int-ll64.h"
  19typedef long long s64;
  20#line 52 "include/asm-generic/int-ll64.h"
  21typedef unsigned long long u64;
  22#line 14 "include/asm-generic/posix_types.h"
  23typedef long __kernel_long_t;
  24#line 15 "include/asm-generic/posix_types.h"
  25typedef unsigned long __kernel_ulong_t;
  26#line 75 "include/asm-generic/posix_types.h"
  27typedef __kernel_ulong_t __kernel_size_t;
  28#line 76 "include/asm-generic/posix_types.h"
  29typedef __kernel_long_t __kernel_ssize_t;
  30#line 91 "include/asm-generic/posix_types.h"
  31typedef long long __kernel_loff_t;
  32#line 21 "include/linux/types.h"
  33typedef __u32 __kernel_dev_t;
  34#line 24 "include/linux/types.h"
  35typedef __kernel_dev_t dev_t;
  36#line 27 "include/linux/types.h"
  37typedef unsigned short umode_t;
  38#line 38 "include/linux/types.h"
  39typedef _Bool bool;
  40#line 54 "include/linux/types.h"
  41typedef __kernel_loff_t loff_t;
  42#line 63 "include/linux/types.h"
  43typedef __kernel_size_t size_t;
  44#line 68 "include/linux/types.h"
  45typedef __kernel_ssize_t ssize_t;
  46#line 202 "include/linux/types.h"
  47typedef unsigned int gfp_t;
  48#line 221 "include/linux/types.h"
  49struct __anonstruct_atomic_t_6 {
  50   int counter ;
  51};
  52#line 221 "include/linux/types.h"
  53typedef struct __anonstruct_atomic_t_6 atomic_t;
  54#line 226 "include/linux/types.h"
  55struct __anonstruct_atomic64_t_7 {
  56   long counter ;
  57};
  58#line 226 "include/linux/types.h"
  59typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  60#line 227 "include/linux/types.h"
  61struct list_head {
  62   struct list_head *next ;
  63   struct list_head *prev ;
  64};
  65#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  66struct module;
  67#line 55
  68struct module;
  69#line 146 "include/linux/init.h"
  70typedef void (*ctor_fn_t)(void);
  71#line 46 "include/linux/dynamic_debug.h"
  72struct device;
  73#line 46
  74struct device;
  75#line 57
  76struct completion;
  77#line 57
  78struct completion;
  79#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
  80struct page;
  81#line 58
  82struct page;
  83#line 26 "include/asm-generic/getorder.h"
  84struct task_struct;
  85#line 26
  86struct task_struct;
  87#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  88struct file;
  89#line 290
  90struct file;
  91#line 305
  92struct seq_file;
  93#line 305
  94struct seq_file;
  95#line 339
  96struct cpumask;
  97#line 339
  98struct cpumask;
  99#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 100struct arch_spinlock;
 101#line 327
 102struct arch_spinlock;
 103#line 306 "include/linux/bitmap.h"
 104struct bug_entry {
 105   int bug_addr_disp ;
 106   int file_disp ;
 107   unsigned short line ;
 108   unsigned short flags ;
 109};
 110#line 89 "include/linux/bug.h"
 111struct cpumask {
 112   unsigned long bits[64U] ;
 113};
 114#line 14 "include/linux/cpumask.h"
 115typedef struct cpumask cpumask_t;
 116#line 637 "include/linux/cpumask.h"
 117typedef struct cpumask *cpumask_var_t;
 118#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 119struct static_key;
 120#line 234
 121struct static_key;
 122#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 123struct kmem_cache;
 124#line 23 "include/asm-generic/atomic-long.h"
 125typedef atomic64_t atomic_long_t;
 126#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 127typedef u16 __ticket_t;
 128#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 129typedef u32 __ticketpair_t;
 130#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 131struct __raw_tickets {
 132   __ticket_t head ;
 133   __ticket_t tail ;
 134};
 135#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 136union __anonunion_ldv_5907_29 {
 137   __ticketpair_t head_tail ;
 138   struct __raw_tickets tickets ;
 139};
 140#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 141struct arch_spinlock {
 142   union __anonunion_ldv_5907_29 ldv_5907 ;
 143};
 144#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 145typedef struct arch_spinlock arch_spinlock_t;
 146#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 147struct lockdep_map;
 148#line 34
 149struct lockdep_map;
 150#line 55 "include/linux/debug_locks.h"
 151struct stack_trace {
 152   unsigned int nr_entries ;
 153   unsigned int max_entries ;
 154   unsigned long *entries ;
 155   int skip ;
 156};
 157#line 26 "include/linux/stacktrace.h"
 158struct lockdep_subclass_key {
 159   char __one_byte ;
 160};
 161#line 53 "include/linux/lockdep.h"
 162struct lock_class_key {
 163   struct lockdep_subclass_key subkeys[8U] ;
 164};
 165#line 59 "include/linux/lockdep.h"
 166struct lock_class {
 167   struct list_head hash_entry ;
 168   struct list_head lock_entry ;
 169   struct lockdep_subclass_key *key ;
 170   unsigned int subclass ;
 171   unsigned int dep_gen_id ;
 172   unsigned long usage_mask ;
 173   struct stack_trace usage_traces[13U] ;
 174   struct list_head locks_after ;
 175   struct list_head locks_before ;
 176   unsigned int version ;
 177   unsigned long ops ;
 178   char const   *name ;
 179   int name_version ;
 180   unsigned long contention_point[4U] ;
 181   unsigned long contending_point[4U] ;
 182};
 183#line 144 "include/linux/lockdep.h"
 184struct lockdep_map {
 185   struct lock_class_key *key ;
 186   struct lock_class *class_cache[2U] ;
 187   char const   *name ;
 188   int cpu ;
 189   unsigned long ip ;
 190};
 191#line 556 "include/linux/lockdep.h"
 192struct raw_spinlock {
 193   arch_spinlock_t raw_lock ;
 194   unsigned int magic ;
 195   unsigned int owner_cpu ;
 196   void *owner ;
 197   struct lockdep_map dep_map ;
 198};
 199#line 32 "include/linux/spinlock_types.h"
 200typedef struct raw_spinlock raw_spinlock_t;
 201#line 33 "include/linux/spinlock_types.h"
 202struct __anonstruct_ldv_6122_33 {
 203   u8 __padding[24U] ;
 204   struct lockdep_map dep_map ;
 205};
 206#line 33 "include/linux/spinlock_types.h"
 207union __anonunion_ldv_6123_32 {
 208   struct raw_spinlock rlock ;
 209   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 210};
 211#line 33 "include/linux/spinlock_types.h"
 212struct spinlock {
 213   union __anonunion_ldv_6123_32 ldv_6123 ;
 214};
 215#line 76 "include/linux/spinlock_types.h"
 216typedef struct spinlock spinlock_t;
 217#line 48 "include/linux/wait.h"
 218struct __wait_queue_head {
 219   spinlock_t lock ;
 220   struct list_head task_list ;
 221};
 222#line 53 "include/linux/wait.h"
 223typedef struct __wait_queue_head wait_queue_head_t;
 224#line 670 "include/linux/mmzone.h"
 225struct mutex {
 226   atomic_t count ;
 227   spinlock_t wait_lock ;
 228   struct list_head wait_list ;
 229   struct task_struct *owner ;
 230   char const   *name ;
 231   void *magic ;
 232   struct lockdep_map dep_map ;
 233};
 234#line 128 "include/linux/rwsem.h"
 235struct completion {
 236   unsigned int done ;
 237   wait_queue_head_t wait ;
 238};
 239#line 312 "include/linux/jiffies.h"
 240union ktime {
 241   s64 tv64 ;
 242};
 243#line 59 "include/linux/ktime.h"
 244typedef union ktime ktime_t;
 245#line 341
 246struct tvec_base;
 247#line 341
 248struct tvec_base;
 249#line 342 "include/linux/ktime.h"
 250struct timer_list {
 251   struct list_head entry ;
 252   unsigned long expires ;
 253   struct tvec_base *base ;
 254   void (*function)(unsigned long  ) ;
 255   unsigned long data ;
 256   int slack ;
 257   int start_pid ;
 258   void *start_site ;
 259   char start_comm[16U] ;
 260   struct lockdep_map lockdep_map ;
 261};
 262#line 302 "include/linux/timer.h"
 263struct work_struct;
 264#line 302
 265struct work_struct;
 266#line 45 "include/linux/workqueue.h"
 267struct work_struct {
 268   atomic_long_t data ;
 269   struct list_head entry ;
 270   void (*func)(struct work_struct * ) ;
 271   struct lockdep_map lockdep_map ;
 272};
 273#line 46 "include/linux/pm.h"
 274struct pm_message {
 275   int event ;
 276};
 277#line 52 "include/linux/pm.h"
 278typedef struct pm_message pm_message_t;
 279#line 53 "include/linux/pm.h"
 280struct dev_pm_ops {
 281   int (*prepare)(struct device * ) ;
 282   void (*complete)(struct device * ) ;
 283   int (*suspend)(struct device * ) ;
 284   int (*resume)(struct device * ) ;
 285   int (*freeze)(struct device * ) ;
 286   int (*thaw)(struct device * ) ;
 287   int (*poweroff)(struct device * ) ;
 288   int (*restore)(struct device * ) ;
 289   int (*suspend_late)(struct device * ) ;
 290   int (*resume_early)(struct device * ) ;
 291   int (*freeze_late)(struct device * ) ;
 292   int (*thaw_early)(struct device * ) ;
 293   int (*poweroff_late)(struct device * ) ;
 294   int (*restore_early)(struct device * ) ;
 295   int (*suspend_noirq)(struct device * ) ;
 296   int (*resume_noirq)(struct device * ) ;
 297   int (*freeze_noirq)(struct device * ) ;
 298   int (*thaw_noirq)(struct device * ) ;
 299   int (*poweroff_noirq)(struct device * ) ;
 300   int (*restore_noirq)(struct device * ) ;
 301   int (*runtime_suspend)(struct device * ) ;
 302   int (*runtime_resume)(struct device * ) ;
 303   int (*runtime_idle)(struct device * ) ;
 304};
 305#line 289
 306enum rpm_status {
 307    RPM_ACTIVE = 0,
 308    RPM_RESUMING = 1,
 309    RPM_SUSPENDED = 2,
 310    RPM_SUSPENDING = 3
 311} ;
 312#line 296
 313enum rpm_request {
 314    RPM_REQ_NONE = 0,
 315    RPM_REQ_IDLE = 1,
 316    RPM_REQ_SUSPEND = 2,
 317    RPM_REQ_AUTOSUSPEND = 3,
 318    RPM_REQ_RESUME = 4
 319} ;
 320#line 304
 321struct wakeup_source;
 322#line 304
 323struct wakeup_source;
 324#line 494 "include/linux/pm.h"
 325struct pm_subsys_data {
 326   spinlock_t lock ;
 327   unsigned int refcount ;
 328};
 329#line 499
 330struct dev_pm_qos_request;
 331#line 499
 332struct pm_qos_constraints;
 333#line 499 "include/linux/pm.h"
 334struct dev_pm_info {
 335   pm_message_t power_state ;
 336   unsigned char can_wakeup : 1 ;
 337   unsigned char async_suspend : 1 ;
 338   bool is_prepared ;
 339   bool is_suspended ;
 340   bool ignore_children ;
 341   spinlock_t lock ;
 342   struct list_head entry ;
 343   struct completion completion ;
 344   struct wakeup_source *wakeup ;
 345   bool wakeup_path ;
 346   struct timer_list suspend_timer ;
 347   unsigned long timer_expires ;
 348   struct work_struct work ;
 349   wait_queue_head_t wait_queue ;
 350   atomic_t usage_count ;
 351   atomic_t child_count ;
 352   unsigned char disable_depth : 3 ;
 353   unsigned char idle_notification : 1 ;
 354   unsigned char request_pending : 1 ;
 355   unsigned char deferred_resume : 1 ;
 356   unsigned char run_wake : 1 ;
 357   unsigned char runtime_auto : 1 ;
 358   unsigned char no_callbacks : 1 ;
 359   unsigned char irq_safe : 1 ;
 360   unsigned char use_autosuspend : 1 ;
 361   unsigned char timer_autosuspends : 1 ;
 362   enum rpm_request request ;
 363   enum rpm_status runtime_status ;
 364   int runtime_error ;
 365   int autosuspend_delay ;
 366   unsigned long last_busy ;
 367   unsigned long active_jiffies ;
 368   unsigned long suspended_jiffies ;
 369   unsigned long accounting_timestamp ;
 370   ktime_t suspend_time ;
 371   s64 max_time_suspended_ns ;
 372   struct dev_pm_qos_request *pq_req ;
 373   struct pm_subsys_data *subsys_data ;
 374   struct pm_qos_constraints *constraints ;
 375};
 376#line 558 "include/linux/pm.h"
 377struct dev_pm_domain {
 378   struct dev_pm_ops ops ;
 379};
 380#line 18 "include/asm-generic/pci_iomap.h"
 381struct vm_area_struct;
 382#line 18
 383struct vm_area_struct;
 384#line 18 "include/linux/elf.h"
 385typedef __u64 Elf64_Addr;
 386#line 19 "include/linux/elf.h"
 387typedef __u16 Elf64_Half;
 388#line 23 "include/linux/elf.h"
 389typedef __u32 Elf64_Word;
 390#line 24 "include/linux/elf.h"
 391typedef __u64 Elf64_Xword;
 392#line 193 "include/linux/elf.h"
 393struct elf64_sym {
 394   Elf64_Word st_name ;
 395   unsigned char st_info ;
 396   unsigned char st_other ;
 397   Elf64_Half st_shndx ;
 398   Elf64_Addr st_value ;
 399   Elf64_Xword st_size ;
 400};
 401#line 201 "include/linux/elf.h"
 402typedef struct elf64_sym Elf64_Sym;
 403#line 445
 404struct sock;
 405#line 445
 406struct sock;
 407#line 446
 408struct kobject;
 409#line 446
 410struct kobject;
 411#line 447
 412enum kobj_ns_type {
 413    KOBJ_NS_TYPE_NONE = 0,
 414    KOBJ_NS_TYPE_NET = 1,
 415    KOBJ_NS_TYPES = 2
 416} ;
 417#line 453 "include/linux/elf.h"
 418struct kobj_ns_type_operations {
 419   enum kobj_ns_type type ;
 420   void *(*grab_current_ns)(void) ;
 421   void const   *(*netlink_ns)(struct sock * ) ;
 422   void const   *(*initial_ns)(void) ;
 423   void (*drop_ns)(void * ) ;
 424};
 425#line 57 "include/linux/kobject_ns.h"
 426struct attribute {
 427   char const   *name ;
 428   umode_t mode ;
 429   struct lock_class_key *key ;
 430   struct lock_class_key skey ;
 431};
 432#line 33 "include/linux/sysfs.h"
 433struct attribute_group {
 434   char const   *name ;
 435   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 436   struct attribute **attrs ;
 437};
 438#line 62 "include/linux/sysfs.h"
 439struct bin_attribute {
 440   struct attribute attr ;
 441   size_t size ;
 442   void *private ;
 443   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 444                   loff_t  , size_t  ) ;
 445   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 446                    loff_t  , size_t  ) ;
 447   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 448};
 449#line 98 "include/linux/sysfs.h"
 450struct sysfs_ops {
 451   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 452   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 453   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 454};
 455#line 117
 456struct sysfs_dirent;
 457#line 117
 458struct sysfs_dirent;
 459#line 182 "include/linux/sysfs.h"
 460struct kref {
 461   atomic_t refcount ;
 462};
 463#line 49 "include/linux/kobject.h"
 464struct kset;
 465#line 49
 466struct kobj_type;
 467#line 49 "include/linux/kobject.h"
 468struct kobject {
 469   char const   *name ;
 470   struct list_head entry ;
 471   struct kobject *parent ;
 472   struct kset *kset ;
 473   struct kobj_type *ktype ;
 474   struct sysfs_dirent *sd ;
 475   struct kref kref ;
 476   unsigned char state_initialized : 1 ;
 477   unsigned char state_in_sysfs : 1 ;
 478   unsigned char state_add_uevent_sent : 1 ;
 479   unsigned char state_remove_uevent_sent : 1 ;
 480   unsigned char uevent_suppress : 1 ;
 481};
 482#line 107 "include/linux/kobject.h"
 483struct kobj_type {
 484   void (*release)(struct kobject * ) ;
 485   struct sysfs_ops  const  *sysfs_ops ;
 486   struct attribute **default_attrs ;
 487   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 488   void const   *(*namespace)(struct kobject * ) ;
 489};
 490#line 115 "include/linux/kobject.h"
 491struct kobj_uevent_env {
 492   char *envp[32U] ;
 493   int envp_idx ;
 494   char buf[2048U] ;
 495   int buflen ;
 496};
 497#line 122 "include/linux/kobject.h"
 498struct kset_uevent_ops {
 499   int (* const  filter)(struct kset * , struct kobject * ) ;
 500   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 501   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 502};
 503#line 139 "include/linux/kobject.h"
 504struct kset {
 505   struct list_head list ;
 506   spinlock_t list_lock ;
 507   struct kobject kobj ;
 508   struct kset_uevent_ops  const  *uevent_ops ;
 509};
 510#line 215
 511struct kernel_param;
 512#line 215
 513struct kernel_param;
 514#line 216 "include/linux/kobject.h"
 515struct kernel_param_ops {
 516   int (*set)(char const   * , struct kernel_param  const  * ) ;
 517   int (*get)(char * , struct kernel_param  const  * ) ;
 518   void (*free)(void * ) ;
 519};
 520#line 49 "include/linux/moduleparam.h"
 521struct kparam_string;
 522#line 49
 523struct kparam_array;
 524#line 49 "include/linux/moduleparam.h"
 525union __anonunion_ldv_13363_134 {
 526   void *arg ;
 527   struct kparam_string  const  *str ;
 528   struct kparam_array  const  *arr ;
 529};
 530#line 49 "include/linux/moduleparam.h"
 531struct kernel_param {
 532   char const   *name ;
 533   struct kernel_param_ops  const  *ops ;
 534   u16 perm ;
 535   s16 level ;
 536   union __anonunion_ldv_13363_134 ldv_13363 ;
 537};
 538#line 61 "include/linux/moduleparam.h"
 539struct kparam_string {
 540   unsigned int maxlen ;
 541   char *string ;
 542};
 543#line 67 "include/linux/moduleparam.h"
 544struct kparam_array {
 545   unsigned int max ;
 546   unsigned int elemsize ;
 547   unsigned int *num ;
 548   struct kernel_param_ops  const  *ops ;
 549   void *elem ;
 550};
 551#line 458 "include/linux/moduleparam.h"
 552struct static_key {
 553   atomic_t enabled ;
 554};
 555#line 225 "include/linux/jump_label.h"
 556struct tracepoint;
 557#line 225
 558struct tracepoint;
 559#line 226 "include/linux/jump_label.h"
 560struct tracepoint_func {
 561   void *func ;
 562   void *data ;
 563};
 564#line 29 "include/linux/tracepoint.h"
 565struct tracepoint {
 566   char const   *name ;
 567   struct static_key key ;
 568   void (*regfunc)(void) ;
 569   void (*unregfunc)(void) ;
 570   struct tracepoint_func *funcs ;
 571};
 572#line 86 "include/linux/tracepoint.h"
 573struct kernel_symbol {
 574   unsigned long value ;
 575   char const   *name ;
 576};
 577#line 27 "include/linux/export.h"
 578struct mod_arch_specific {
 579
 580};
 581#line 34 "include/linux/module.h"
 582struct module_param_attrs;
 583#line 34 "include/linux/module.h"
 584struct module_kobject {
 585   struct kobject kobj ;
 586   struct module *mod ;
 587   struct kobject *drivers_dir ;
 588   struct module_param_attrs *mp ;
 589};
 590#line 43 "include/linux/module.h"
 591struct module_attribute {
 592   struct attribute attr ;
 593   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 594   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 595                    size_t  ) ;
 596   void (*setup)(struct module * , char const   * ) ;
 597   int (*test)(struct module * ) ;
 598   void (*free)(struct module * ) ;
 599};
 600#line 69
 601struct exception_table_entry;
 602#line 69
 603struct exception_table_entry;
 604#line 198
 605enum module_state {
 606    MODULE_STATE_LIVE = 0,
 607    MODULE_STATE_COMING = 1,
 608    MODULE_STATE_GOING = 2
 609} ;
 610#line 204 "include/linux/module.h"
 611struct module_ref {
 612   unsigned long incs ;
 613   unsigned long decs ;
 614};
 615#line 219
 616struct module_sect_attrs;
 617#line 219
 618struct module_notes_attrs;
 619#line 219
 620struct ftrace_event_call;
 621#line 219 "include/linux/module.h"
 622struct module {
 623   enum module_state state ;
 624   struct list_head list ;
 625   char name[56U] ;
 626   struct module_kobject mkobj ;
 627   struct module_attribute *modinfo_attrs ;
 628   char const   *version ;
 629   char const   *srcversion ;
 630   struct kobject *holders_dir ;
 631   struct kernel_symbol  const  *syms ;
 632   unsigned long const   *crcs ;
 633   unsigned int num_syms ;
 634   struct kernel_param *kp ;
 635   unsigned int num_kp ;
 636   unsigned int num_gpl_syms ;
 637   struct kernel_symbol  const  *gpl_syms ;
 638   unsigned long const   *gpl_crcs ;
 639   struct kernel_symbol  const  *unused_syms ;
 640   unsigned long const   *unused_crcs ;
 641   unsigned int num_unused_syms ;
 642   unsigned int num_unused_gpl_syms ;
 643   struct kernel_symbol  const  *unused_gpl_syms ;
 644   unsigned long const   *unused_gpl_crcs ;
 645   struct kernel_symbol  const  *gpl_future_syms ;
 646   unsigned long const   *gpl_future_crcs ;
 647   unsigned int num_gpl_future_syms ;
 648   unsigned int num_exentries ;
 649   struct exception_table_entry *extable ;
 650   int (*init)(void) ;
 651   void *module_init ;
 652   void *module_core ;
 653   unsigned int init_size ;
 654   unsigned int core_size ;
 655   unsigned int init_text_size ;
 656   unsigned int core_text_size ;
 657   unsigned int init_ro_size ;
 658   unsigned int core_ro_size ;
 659   struct mod_arch_specific arch ;
 660   unsigned int taints ;
 661   unsigned int num_bugs ;
 662   struct list_head bug_list ;
 663   struct bug_entry *bug_table ;
 664   Elf64_Sym *symtab ;
 665   Elf64_Sym *core_symtab ;
 666   unsigned int num_symtab ;
 667   unsigned int core_num_syms ;
 668   char *strtab ;
 669   char *core_strtab ;
 670   struct module_sect_attrs *sect_attrs ;
 671   struct module_notes_attrs *notes_attrs ;
 672   char *args ;
 673   void *percpu ;
 674   unsigned int percpu_size ;
 675   unsigned int num_tracepoints ;
 676   struct tracepoint * const  *tracepoints_ptrs ;
 677   unsigned int num_trace_bprintk_fmt ;
 678   char const   **trace_bprintk_fmt_start ;
 679   struct ftrace_event_call **trace_events ;
 680   unsigned int num_trace_events ;
 681   struct list_head source_list ;
 682   struct list_head target_list ;
 683   struct task_struct *waiter ;
 684   void (*exit)(void) ;
 685   struct module_ref *refptr ;
 686   ctor_fn_t (**ctors)(void) ;
 687   unsigned int num_ctors ;
 688};
 689#line 88 "include/linux/kmemleak.h"
 690struct kmem_cache_cpu {
 691   void **freelist ;
 692   unsigned long tid ;
 693   struct page *page ;
 694   struct page *partial ;
 695   int node ;
 696   unsigned int stat[26U] ;
 697};
 698#line 55 "include/linux/slub_def.h"
 699struct kmem_cache_node {
 700   spinlock_t list_lock ;
 701   unsigned long nr_partial ;
 702   struct list_head partial ;
 703   atomic_long_t nr_slabs ;
 704   atomic_long_t total_objects ;
 705   struct list_head full ;
 706};
 707#line 66 "include/linux/slub_def.h"
 708struct kmem_cache_order_objects {
 709   unsigned long x ;
 710};
 711#line 76 "include/linux/slub_def.h"
 712struct kmem_cache {
 713   struct kmem_cache_cpu *cpu_slab ;
 714   unsigned long flags ;
 715   unsigned long min_partial ;
 716   int size ;
 717   int objsize ;
 718   int offset ;
 719   int cpu_partial ;
 720   struct kmem_cache_order_objects oo ;
 721   struct kmem_cache_order_objects max ;
 722   struct kmem_cache_order_objects min ;
 723   gfp_t allocflags ;
 724   int refcount ;
 725   void (*ctor)(void * ) ;
 726   int inuse ;
 727   int align ;
 728   int reserved ;
 729   char const   *name ;
 730   struct list_head list ;
 731   struct kobject kobj ;
 732   int remote_node_defrag_ratio ;
 733   struct kmem_cache_node *node[1024U] ;
 734};
 735#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
 736enum irqreturn {
 737    IRQ_NONE = 0,
 738    IRQ_HANDLED = 1,
 739    IRQ_WAKE_THREAD = 2
 740} ;
 741#line 16 "include/linux/irqreturn.h"
 742typedef enum irqreturn irqreturn_t;
 743#line 27 "include/linux/irqnr.h"
 744struct irq_desc;
 745#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/irq_regs.h"
 746struct irq_data;
 747#line 30
 748struct irq_data;
 749#line 66 "include/linux/irq.h"
 750struct msi_desc;
 751#line 66
 752struct msi_desc;
 753#line 67
 754struct irq_domain;
 755#line 67
 756struct irq_domain;
 757#line 68
 758struct irq_chip;
 759#line 68 "include/linux/irq.h"
 760struct irq_data {
 761   unsigned int irq ;
 762   unsigned long hwirq ;
 763   unsigned int node ;
 764   unsigned int state_use_accessors ;
 765   struct irq_chip *chip ;
 766   struct irq_domain *domain ;
 767   void *handler_data ;
 768   void *chip_data ;
 769   struct msi_desc *msi_desc ;
 770   cpumask_var_t affinity ;
 771};
 772#line 277 "include/linux/irq.h"
 773struct irq_chip {
 774   char const   *name ;
 775   unsigned int (*irq_startup)(struct irq_data * ) ;
 776   void (*irq_shutdown)(struct irq_data * ) ;
 777   void (*irq_enable)(struct irq_data * ) ;
 778   void (*irq_disable)(struct irq_data * ) ;
 779   void (*irq_ack)(struct irq_data * ) ;
 780   void (*irq_mask)(struct irq_data * ) ;
 781   void (*irq_mask_ack)(struct irq_data * ) ;
 782   void (*irq_unmask)(struct irq_data * ) ;
 783   void (*irq_eoi)(struct irq_data * ) ;
 784   int (*irq_set_affinity)(struct irq_data * , struct cpumask  const  * , bool  ) ;
 785   int (*irq_retrigger)(struct irq_data * ) ;
 786   int (*irq_set_type)(struct irq_data * , unsigned int  ) ;
 787   int (*irq_set_wake)(struct irq_data * , unsigned int  ) ;
 788   void (*irq_bus_lock)(struct irq_data * ) ;
 789   void (*irq_bus_sync_unlock)(struct irq_data * ) ;
 790   void (*irq_cpu_online)(struct irq_data * ) ;
 791   void (*irq_cpu_offline)(struct irq_data * ) ;
 792   void (*irq_suspend)(struct irq_data * ) ;
 793   void (*irq_resume)(struct irq_data * ) ;
 794   void (*irq_pm_shutdown)(struct irq_data * ) ;
 795   void (*irq_print_chip)(struct irq_data * , struct seq_file * ) ;
 796   unsigned long flags ;
 797};
 798#line 347
 799struct irq_affinity_notify;
 800#line 347
 801struct irq_affinity_notify;
 802#line 348
 803struct proc_dir_entry;
 804#line 348
 805struct proc_dir_entry;
 806#line 349
 807struct timer_rand_state;
 808#line 349
 809struct timer_rand_state;
 810#line 350
 811struct irqaction;
 812#line 350 "include/linux/irq.h"
 813struct irq_desc {
 814   struct irq_data irq_data ;
 815   struct timer_rand_state *timer_rand_state ;
 816   unsigned int *kstat_irqs ;
 817   void (*handle_irq)(unsigned int  , struct irq_desc * ) ;
 818   struct irqaction *action ;
 819   unsigned int status_use_accessors ;
 820   unsigned int core_internal_state__do_not_mess_with_it ;
 821   unsigned int depth ;
 822   unsigned int wake_depth ;
 823   unsigned int irq_count ;
 824   unsigned long last_unhandled ;
 825   unsigned int irqs_unhandled ;
 826   raw_spinlock_t lock ;
 827   struct cpumask *percpu_enabled ;
 828   struct cpumask  const  *affinity_hint ;
 829   struct irq_affinity_notify *affinity_notify ;
 830   cpumask_var_t pending_mask ;
 831   unsigned long threads_oneshot ;
 832   atomic_t threads_active ;
 833   wait_queue_head_t wait_for_threads ;
 834   struct proc_dir_entry *dir ;
 835   struct module *owner ;
 836   char const   *name ;
 837};
 838#line 41 "include/asm-generic/sections.h"
 839struct exception_table_entry {
 840   unsigned long insn ;
 841   unsigned long fixup ;
 842};
 843#line 92 "include/linux/interrupt.h"
 844struct irqaction {
 845   irqreturn_t (*handler)(int  , void * ) ;
 846   unsigned long flags ;
 847   void *dev_id ;
 848   void *percpu_dev_id ;
 849   struct irqaction *next ;
 850   int irq ;
 851   irqreturn_t (*thread_fn)(int  , void * ) ;
 852   struct task_struct *thread ;
 853   unsigned long thread_flags ;
 854   unsigned long thread_mask ;
 855   char const   *name ;
 856   struct proc_dir_entry *dir ;
 857};
 858#line 253 "include/linux/interrupt.h"
 859struct irq_affinity_notify {
 860   unsigned int irq ;
 861   struct kref kref ;
 862   struct work_struct work ;
 863   void (*notify)(struct irq_affinity_notify * , cpumask_t const   * ) ;
 864   void (*release)(struct kref * ) ;
 865};
 866#line 3 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio_dummy_evgen.h"
 867struct klist_node;
 868#line 3
 869struct klist_node;
 870#line 37 "include/linux/klist.h"
 871struct klist_node {
 872   void *n_klist ;
 873   struct list_head n_node ;
 874   struct kref n_ref ;
 875};
 876#line 67
 877struct dma_map_ops;
 878#line 67 "include/linux/klist.h"
 879struct dev_archdata {
 880   void *acpi_handle ;
 881   struct dma_map_ops *dma_ops ;
 882   void *iommu ;
 883};
 884#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 885struct device_private;
 886#line 17
 887struct device_private;
 888#line 18
 889struct device_driver;
 890#line 18
 891struct device_driver;
 892#line 19
 893struct driver_private;
 894#line 19
 895struct driver_private;
 896#line 20
 897struct class;
 898#line 20
 899struct class;
 900#line 21
 901struct subsys_private;
 902#line 21
 903struct subsys_private;
 904#line 22
 905struct bus_type;
 906#line 22
 907struct bus_type;
 908#line 23
 909struct device_node;
 910#line 23
 911struct device_node;
 912#line 24
 913struct iommu_ops;
 914#line 24
 915struct iommu_ops;
 916#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 917struct bus_attribute {
 918   struct attribute attr ;
 919   ssize_t (*show)(struct bus_type * , char * ) ;
 920   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 921};
 922#line 51 "include/linux/device.h"
 923struct device_attribute;
 924#line 51
 925struct driver_attribute;
 926#line 51 "include/linux/device.h"
 927struct bus_type {
 928   char const   *name ;
 929   char const   *dev_name ;
 930   struct device *dev_root ;
 931   struct bus_attribute *bus_attrs ;
 932   struct device_attribute *dev_attrs ;
 933   struct driver_attribute *drv_attrs ;
 934   int (*match)(struct device * , struct device_driver * ) ;
 935   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 936   int (*probe)(struct device * ) ;
 937   int (*remove)(struct device * ) ;
 938   void (*shutdown)(struct device * ) ;
 939   int (*suspend)(struct device * , pm_message_t  ) ;
 940   int (*resume)(struct device * ) ;
 941   struct dev_pm_ops  const  *pm ;
 942   struct iommu_ops *iommu_ops ;
 943   struct subsys_private *p ;
 944};
 945#line 125
 946struct device_type;
 947#line 182
 948struct of_device_id;
 949#line 182 "include/linux/device.h"
 950struct device_driver {
 951   char const   *name ;
 952   struct bus_type *bus ;
 953   struct module *owner ;
 954   char const   *mod_name ;
 955   bool suppress_bind_attrs ;
 956   struct of_device_id  const  *of_match_table ;
 957   int (*probe)(struct device * ) ;
 958   int (*remove)(struct device * ) ;
 959   void (*shutdown)(struct device * ) ;
 960   int (*suspend)(struct device * , pm_message_t  ) ;
 961   int (*resume)(struct device * ) ;
 962   struct attribute_group  const  **groups ;
 963   struct dev_pm_ops  const  *pm ;
 964   struct driver_private *p ;
 965};
 966#line 245 "include/linux/device.h"
 967struct driver_attribute {
 968   struct attribute attr ;
 969   ssize_t (*show)(struct device_driver * , char * ) ;
 970   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 971};
 972#line 299
 973struct class_attribute;
 974#line 299 "include/linux/device.h"
 975struct class {
 976   char const   *name ;
 977   struct module *owner ;
 978   struct class_attribute *class_attrs ;
 979   struct device_attribute *dev_attrs ;
 980   struct bin_attribute *dev_bin_attrs ;
 981   struct kobject *dev_kobj ;
 982   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 983   char *(*devnode)(struct device * , umode_t * ) ;
 984   void (*class_release)(struct class * ) ;
 985   void (*dev_release)(struct device * ) ;
 986   int (*suspend)(struct device * , pm_message_t  ) ;
 987   int (*resume)(struct device * ) ;
 988   struct kobj_ns_type_operations  const  *ns_type ;
 989   void const   *(*namespace)(struct device * ) ;
 990   struct dev_pm_ops  const  *pm ;
 991   struct subsys_private *p ;
 992};
 993#line 394 "include/linux/device.h"
 994struct class_attribute {
 995   struct attribute attr ;
 996   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 997   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 998   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
 999};
1000#line 447 "include/linux/device.h"
1001struct device_type {
1002   char const   *name ;
1003   struct attribute_group  const  **groups ;
1004   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1005   char *(*devnode)(struct device * , umode_t * ) ;
1006   void (*release)(struct device * ) ;
1007   struct dev_pm_ops  const  *pm ;
1008};
1009#line 474 "include/linux/device.h"
1010struct device_attribute {
1011   struct attribute attr ;
1012   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1013   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1014                    size_t  ) ;
1015};
1016#line 557 "include/linux/device.h"
1017struct device_dma_parameters {
1018   unsigned int max_segment_size ;
1019   unsigned long segment_boundary_mask ;
1020};
1021#line 567
1022struct dma_coherent_mem;
1023#line 567 "include/linux/device.h"
1024struct device {
1025   struct device *parent ;
1026   struct device_private *p ;
1027   struct kobject kobj ;
1028   char const   *init_name ;
1029   struct device_type  const  *type ;
1030   struct mutex mutex ;
1031   struct bus_type *bus ;
1032   struct device_driver *driver ;
1033   void *platform_data ;
1034   struct dev_pm_info power ;
1035   struct dev_pm_domain *pm_domain ;
1036   int numa_node ;
1037   u64 *dma_mask ;
1038   u64 coherent_dma_mask ;
1039   struct device_dma_parameters *dma_parms ;
1040   struct list_head dma_pools ;
1041   struct dma_coherent_mem *dma_mem ;
1042   struct dev_archdata archdata ;
1043   struct device_node *of_node ;
1044   dev_t devt ;
1045   u32 id ;
1046   spinlock_t devres_lock ;
1047   struct list_head devres_head ;
1048   struct klist_node knode_class ;
1049   struct class *class ;
1050   struct attribute_group  const  **groups ;
1051   void (*release)(struct device * ) ;
1052};
1053#line 681 "include/linux/device.h"
1054struct wakeup_source {
1055   char const   *name ;
1056   struct list_head entry ;
1057   spinlock_t lock ;
1058   struct timer_list timer ;
1059   unsigned long timer_expires ;
1060   ktime_t total_time ;
1061   ktime_t max_time ;
1062   ktime_t last_time ;
1063   unsigned long event_count ;
1064   unsigned long active_count ;
1065   unsigned long relax_count ;
1066   unsigned long hit_count ;
1067   unsigned char active : 1 ;
1068};
1069#line 89 "include/linux/kdev_t.h"
1070struct file_operations;
1071#line 89
1072struct file_operations;
1073#line 91 "include/linux/kdev_t.h"
1074struct cdev {
1075   struct kobject kobj ;
1076   struct module *owner ;
1077   struct file_operations  const  *ops ;
1078   struct list_head list ;
1079   dev_t dev ;
1080   unsigned int count ;
1081};
1082#line 34 "include/linux/cdev.h"
1083enum iio_chan_type {
1084    IIO_VOLTAGE = 0,
1085    IIO_CURRENT = 1,
1086    IIO_POWER = 2,
1087    IIO_ACCEL = 3,
1088    IIO_ANGL_VEL = 4,
1089    IIO_MAGN = 5,
1090    IIO_LIGHT = 6,
1091    IIO_INTENSITY = 7,
1092    IIO_PROXIMITY = 8,
1093    IIO_TEMP = 9,
1094    IIO_INCLI = 10,
1095    IIO_ROT = 11,
1096    IIO_ANGL = 12,
1097    IIO_TIMESTAMP = 13,
1098    IIO_CAPACITANCE = 14
1099} ;
1100#line 86
1101enum iio_endian {
1102    IIO_CPU = 0,
1103    IIO_BE = 1,
1104    IIO_LE = 2
1105} ;
1106#line 92
1107struct iio_chan_spec;
1108#line 92
1109struct iio_chan_spec;
1110#line 93
1111struct iio_dev;
1112#line 93
1113struct iio_dev;
1114#line 94 "include/linux/cdev.h"
1115struct iio_chan_spec_ext_info {
1116   char const   *name ;
1117   bool shared ;
1118   ssize_t (*read)(struct iio_dev * , struct iio_chan_spec  const  * , char * ) ;
1119   ssize_t (*write)(struct iio_dev * , struct iio_chan_spec  const  * , char const   * ,
1120                    size_t  ) ;
1121};
1122#line 108 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1123struct __anonstruct_scan_type_136 {
1124   char sign ;
1125   u8 realbits ;
1126   u8 storagebits ;
1127   u8 shift ;
1128   enum iio_endian endianness ;
1129};
1130#line 108 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1131struct iio_chan_spec {
1132   enum iio_chan_type type ;
1133   int channel ;
1134   int channel2 ;
1135   unsigned long address ;
1136   int scan_index ;
1137   struct __anonstruct_scan_type_136 scan_type ;
1138   long info_mask ;
1139   long event_mask ;
1140   struct iio_chan_spec_ext_info  const  *ext_info ;
1141   char *extend_name ;
1142   char const   *datasheet_name ;
1143   unsigned char processed_val : 1 ;
1144   unsigned char modified : 1 ;
1145   unsigned char indexed : 1 ;
1146   unsigned char output : 1 ;
1147   unsigned char differential : 1 ;
1148};
1149#line 214
1150struct iio_trigger;
1151#line 214
1152struct iio_trigger;
1153#line 215 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1154struct iio_info {
1155   struct module *driver_module ;
1156   struct attribute_group *event_attrs ;
1157   struct attribute_group  const  *attrs ;
1158   int (*read_raw)(struct iio_dev * , struct iio_chan_spec  const  * , int * , int * ,
1159                   long  ) ;
1160   int (*write_raw)(struct iio_dev * , struct iio_chan_spec  const  * , int  , int  ,
1161                    long  ) ;
1162   int (*write_raw_get_fmt)(struct iio_dev * , struct iio_chan_spec  const  * , long  ) ;
1163   int (*read_event_config)(struct iio_dev * , u64  ) ;
1164   int (*write_event_config)(struct iio_dev * , u64  , int  ) ;
1165   int (*read_event_value)(struct iio_dev * , u64  , int * ) ;
1166   int (*write_event_value)(struct iio_dev * , u64  , int  ) ;
1167   int (*validate_trigger)(struct iio_dev * , struct iio_trigger * ) ;
1168   int (*update_scan_mode)(struct iio_dev * , unsigned long const   * ) ;
1169   int (*debugfs_reg_access)(struct iio_dev * , unsigned int  , unsigned int  , unsigned int * ) ;
1170};
1171#line 291 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1172struct iio_buffer_setup_ops {
1173   int (*preenable)(struct iio_dev * ) ;
1174   int (*postenable)(struct iio_dev * ) ;
1175   int (*predisable)(struct iio_dev * ) ;
1176   int (*postdisable)(struct iio_dev * ) ;
1177};
1178#line 308
1179struct iio_event_interface;
1180#line 308
1181struct iio_buffer;
1182#line 308
1183struct iio_poll_func;
1184#line 308
1185struct dentry;
1186#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1187struct iio_dev {
1188   int id ;
1189   int modes ;
1190   int currentmode ;
1191   struct device dev ;
1192   struct iio_event_interface *event_interface ;
1193   struct iio_buffer *buffer ;
1194   struct mutex mlock ;
1195   unsigned long const   *available_scan_masks ;
1196   unsigned int masklength ;
1197   unsigned long const   *active_scan_mask ;
1198   struct iio_trigger *trig ;
1199   struct iio_poll_func *pollfunc ;
1200   struct iio_chan_spec  const  *channels ;
1201   int num_channels ;
1202   struct list_head channel_attr_list ;
1203   struct attribute_group chan_attr_group ;
1204   char const   *name ;
1205   struct iio_info  const  *info ;
1206   struct mutex info_exist_lock ;
1207   struct iio_buffer_setup_ops  const  *setup_ops ;
1208   struct cdev chrdev ;
1209   struct attribute_group  const  *groups[7U] ;
1210   int groupcounter ;
1211   unsigned long flags ;
1212   struct dentry *debugfs_dentry ;
1213   unsigned int cached_reg_addr ;
1214};
1215#line 464 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1216struct iio_dev_attr {
1217   struct device_attribute dev_attr ;
1218   u64 address ;
1219   struct list_head l ;
1220   struct iio_chan_spec  const  *c ;
1221};
1222#line 47 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/sysfs.h"
1223struct iio_dummy_eventgen {
1224   struct irq_chip chip ;
1225   int base ;
1226   bool enabled[10U] ;
1227   bool inuse[10U] ;
1228   struct mutex lock ;
1229};
1230#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1231void ldv_spin_lock(void) ;
1232#line 3
1233void ldv_spin_unlock(void) ;
1234#line 4
1235int ldv_spin_trylock(void) ;
1236#line 115 "include/linux/mutex.h"
1237extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
1238#line 134
1239extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
1240#line 169
1241extern void mutex_unlock(struct mutex * ) ;
1242#line 26 "include/linux/export.h"
1243extern struct module __this_module ;
1244#line 161 "include/linux/slab.h"
1245extern void kfree(void const   * ) ;
1246#line 220 "include/linux/slub_def.h"
1247extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
1248#line 223
1249void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1250#line 353 "include/linux/slab.h"
1251__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1252#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1253extern void *__VERIFIER_nondet_pointer(void) ;
1254#line 11
1255void ldv_check_alloc_flags(gfp_t flags ) ;
1256#line 12
1257void ldv_check_alloc_nonatomic(void) ;
1258#line 14
1259struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1260#line 411 "include/linux/irq.h"
1261extern void handle_simple_irq(unsigned int  , struct irq_desc * ) ;
1262#line 415
1263extern void handle_nested_irq(unsigned int  ) ;
1264#line 445
1265extern void __irq_set_handler(unsigned int  , void (*)(unsigned int  , struct irq_desc * ) ,
1266                              int  , char const   * ) ;
1267#line 449 "include/linux/irq.h"
1268__inline static void irq_set_handler(unsigned int irq , void (*handle)(unsigned int  ,
1269                                                                       struct irq_desc * ) ) 
1270{ char const   *__cil_tmp3 ;
1271
1272  {
1273  {
1274#line 451
1275  __cil_tmp3 = (char const   *)0;
1276#line 451
1277  __irq_set_handler(irq, handle, 0, __cil_tmp3);
1278  }
1279#line 452
1280  return;
1281}
1282}
1283#line 465
1284extern void irq_modify_status(unsigned int  , unsigned long  , unsigned long  ) ;
1285#line 528
1286extern int irq_set_chip(unsigned int  , struct irq_chip * ) ;
1287#line 541 "include/linux/irq.h"
1288__inline static struct irq_chip *irq_data_get_irq_chip(struct irq_data *d ) 
1289{ unsigned long __cil_tmp2 ;
1290  unsigned long __cil_tmp3 ;
1291
1292  {
1293  {
1294#line 543
1295  __cil_tmp2 = (unsigned long )d;
1296#line 543
1297  __cil_tmp3 = __cil_tmp2 + 24;
1298#line 543
1299  return (*((struct irq_chip **)__cil_tmp3));
1300  }
1301}
1302}
1303#line 579
1304extern int __irq_alloc_descs(int  , unsigned int  , unsigned int  , int  , struct module * ) ;
1305#line 595
1306extern void irq_free_descs(unsigned int  , unsigned int  ) ;
1307#line 1 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio_dummy_evgen.h"
1308int iio_dummy_evgen_get_irq(void) ;
1309#line 2
1310int iio_dummy_evgen_release_irq(int irq ) ;
1311#line 695 "include/linux/device.h"
1312extern int dev_set_name(struct device * , char const   *  , ...) ;
1313#line 779
1314extern void device_unregister(struct device * ) ;
1315#line 780
1316extern void device_initialize(struct device * ) ;
1317#line 781
1318extern int device_add(struct device * ) ;
1319#line 408 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
1320extern struct bus_type iio_bus_type ;
1321#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1322static struct iio_dummy_eventgen *iio_evgen  ;
1323#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1324static char const   *iio_evgen_name  =    "iio_dummy_evgen";
1325#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1326static void iio_dummy_event_irqmask(struct irq_data *d ) 
1327{ struct irq_chip *chip ;
1328  struct irq_chip *tmp ;
1329  struct iio_dummy_eventgen *evgen ;
1330  struct irq_chip  const  *__mptr ;
1331  unsigned long __cil_tmp6 ;
1332  unsigned long __cil_tmp7 ;
1333  int __cil_tmp8 ;
1334  unsigned int __cil_tmp9 ;
1335  unsigned int __cil_tmp10 ;
1336  unsigned int __cil_tmp11 ;
1337  unsigned long __cil_tmp12 ;
1338  unsigned long __cil_tmp13 ;
1339  unsigned long __cil_tmp14 ;
1340  unsigned long __cil_tmp15 ;
1341
1342  {
1343  {
1344#line 67
1345  tmp = irq_data_get_irq_chip(d);
1346#line 67
1347  chip = tmp;
1348#line 69
1349  __mptr = (struct irq_chip  const  *)chip;
1350#line 69
1351  evgen = (struct iio_dummy_eventgen *)__mptr;
1352#line 71
1353  __cil_tmp6 = (unsigned long )evgen;
1354#line 71
1355  __cil_tmp7 = __cil_tmp6 + 184;
1356#line 71
1357  __cil_tmp8 = *((int *)__cil_tmp7);
1358#line 71
1359  __cil_tmp9 = (unsigned int )__cil_tmp8;
1360#line 71
1361  __cil_tmp10 = *((unsigned int *)d);
1362#line 71
1363  __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
1364#line 71
1365  __cil_tmp12 = __cil_tmp11 * 1UL;
1366#line 71
1367  __cil_tmp13 = 188 + __cil_tmp12;
1368#line 71
1369  __cil_tmp14 = (unsigned long )evgen;
1370#line 71
1371  __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
1372#line 71
1373  *((bool *)__cil_tmp15) = (bool )0;
1374  }
1375#line 72
1376  return;
1377}
1378}
1379#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1380static void iio_dummy_event_irqunmask(struct irq_data *d ) 
1381{ struct irq_chip *chip ;
1382  struct irq_chip *tmp ;
1383  struct iio_dummy_eventgen *evgen ;
1384  struct irq_chip  const  *__mptr ;
1385  unsigned long __cil_tmp6 ;
1386  unsigned long __cil_tmp7 ;
1387  int __cil_tmp8 ;
1388  unsigned int __cil_tmp9 ;
1389  unsigned int __cil_tmp10 ;
1390  unsigned int __cil_tmp11 ;
1391  unsigned long __cil_tmp12 ;
1392  unsigned long __cil_tmp13 ;
1393  unsigned long __cil_tmp14 ;
1394  unsigned long __cil_tmp15 ;
1395
1396  {
1397  {
1398#line 76
1399  tmp = irq_data_get_irq_chip(d);
1400#line 76
1401  chip = tmp;
1402#line 78
1403  __mptr = (struct irq_chip  const  *)chip;
1404#line 78
1405  evgen = (struct iio_dummy_eventgen *)__mptr;
1406#line 80
1407  __cil_tmp6 = (unsigned long )evgen;
1408#line 80
1409  __cil_tmp7 = __cil_tmp6 + 184;
1410#line 80
1411  __cil_tmp8 = *((int *)__cil_tmp7);
1412#line 80
1413  __cil_tmp9 = (unsigned int )__cil_tmp8;
1414#line 80
1415  __cil_tmp10 = *((unsigned int *)d);
1416#line 80
1417  __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
1418#line 80
1419  __cil_tmp12 = __cil_tmp11 * 1UL;
1420#line 80
1421  __cil_tmp13 = 188 + __cil_tmp12;
1422#line 80
1423  __cil_tmp14 = (unsigned long )evgen;
1424#line 80
1425  __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
1426#line 80
1427  *((bool *)__cil_tmp15) = (bool )1;
1428  }
1429#line 81
1430  return;
1431}
1432}
1433#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1434static int iio_dummy_evgen_create(void) 
1435{ int ret ;
1436  int i ;
1437  void *tmp ;
1438  struct lock_class_key __key ;
1439  struct iio_dummy_eventgen *__cil_tmp5 ;
1440  unsigned long __cil_tmp6 ;
1441  unsigned long __cil_tmp7 ;
1442  unsigned long __cil_tmp8 ;
1443  unsigned long __cil_tmp9 ;
1444  unsigned long __cil_tmp10 ;
1445  unsigned long __cil_tmp11 ;
1446  int __cil_tmp12 ;
1447  unsigned long __cil_tmp13 ;
1448  unsigned long __cil_tmp14 ;
1449  void const   *__cil_tmp15 ;
1450  unsigned long __cil_tmp16 ;
1451  unsigned long __cil_tmp17 ;
1452  unsigned long __cil_tmp18 ;
1453  unsigned long __cil_tmp19 ;
1454  unsigned long __cil_tmp20 ;
1455  unsigned long __cil_tmp21 ;
1456  unsigned long __cil_tmp22 ;
1457  unsigned long __cil_tmp23 ;
1458  int __cil_tmp24 ;
1459  int __cil_tmp25 ;
1460  unsigned int __cil_tmp26 ;
1461  struct irq_chip *__cil_tmp27 ;
1462  unsigned long __cil_tmp28 ;
1463  unsigned long __cil_tmp29 ;
1464  int __cil_tmp30 ;
1465  int __cil_tmp31 ;
1466  unsigned int __cil_tmp32 ;
1467  unsigned long __cil_tmp33 ;
1468  unsigned long __cil_tmp34 ;
1469  int __cil_tmp35 ;
1470  int __cil_tmp36 ;
1471  unsigned int __cil_tmp37 ;
1472  unsigned long __cil_tmp38 ;
1473  unsigned long __cil_tmp39 ;
1474  struct mutex *__cil_tmp40 ;
1475
1476  {
1477  {
1478#line 87
1479  tmp = kzalloc(376UL, 208U);
1480#line 87
1481  iio_evgen = (struct iio_dummy_eventgen *)tmp;
1482  }
1483  {
1484#line 88
1485  __cil_tmp5 = (struct iio_dummy_eventgen *)0;
1486#line 88
1487  __cil_tmp6 = (unsigned long )__cil_tmp5;
1488#line 88
1489  __cil_tmp7 = (unsigned long )iio_evgen;
1490#line 88
1491  if (__cil_tmp7 == __cil_tmp6) {
1492#line 89
1493    return (-12);
1494  } else {
1495
1496  }
1497  }
1498  {
1499#line 91
1500  __cil_tmp8 = (unsigned long )iio_evgen;
1501#line 91
1502  __cil_tmp9 = __cil_tmp8 + 184;
1503#line 91
1504  *((int *)__cil_tmp9) = __irq_alloc_descs(-1, 0U, 10U, 0, & __this_module);
1505  }
1506  {
1507#line 92
1508  __cil_tmp10 = (unsigned long )iio_evgen;
1509#line 92
1510  __cil_tmp11 = __cil_tmp10 + 184;
1511#line 92
1512  __cil_tmp12 = *((int *)__cil_tmp11);
1513#line 92
1514  if (__cil_tmp12 < 0) {
1515    {
1516#line 93
1517    __cil_tmp13 = (unsigned long )iio_evgen;
1518#line 93
1519    __cil_tmp14 = __cil_tmp13 + 184;
1520#line 93
1521    ret = *((int *)__cil_tmp14);
1522#line 94
1523    __cil_tmp15 = (void const   *)iio_evgen;
1524#line 94
1525    kfree(__cil_tmp15);
1526    }
1527#line 95
1528    return (ret);
1529  } else {
1530
1531  }
1532  }
1533#line 97
1534  *((char const   **)iio_evgen) = iio_evgen_name;
1535#line 98
1536  __cil_tmp16 = 0 + 48;
1537#line 98
1538  __cil_tmp17 = (unsigned long )iio_evgen;
1539#line 98
1540  __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
1541#line 98
1542  *((void (**)(struct irq_data * ))__cil_tmp18) = & iio_dummy_event_irqmask;
1543#line 99
1544  __cil_tmp19 = 0 + 64;
1545#line 99
1546  __cil_tmp20 = (unsigned long )iio_evgen;
1547#line 99
1548  __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
1549#line 99
1550  *((void (**)(struct irq_data * ))__cil_tmp21) = & iio_dummy_event_irqunmask;
1551#line 100
1552  i = 0;
1553#line 100
1554  goto ldv_16830;
1555  ldv_16829: 
1556  {
1557#line 101
1558  __cil_tmp22 = (unsigned long )iio_evgen;
1559#line 101
1560  __cil_tmp23 = __cil_tmp22 + 184;
1561#line 101
1562  __cil_tmp24 = *((int *)__cil_tmp23);
1563#line 101
1564  __cil_tmp25 = __cil_tmp24 + i;
1565#line 101
1566  __cil_tmp26 = (unsigned int )__cil_tmp25;
1567#line 101
1568  __cil_tmp27 = (struct irq_chip *)iio_evgen;
1569#line 101
1570  irq_set_chip(__cil_tmp26, __cil_tmp27);
1571#line 102
1572  __cil_tmp28 = (unsigned long )iio_evgen;
1573#line 102
1574  __cil_tmp29 = __cil_tmp28 + 184;
1575#line 102
1576  __cil_tmp30 = *((int *)__cil_tmp29);
1577#line 102
1578  __cil_tmp31 = __cil_tmp30 + i;
1579#line 102
1580  __cil_tmp32 = (unsigned int )__cil_tmp31;
1581#line 102
1582  irq_set_handler(__cil_tmp32, & handle_simple_irq);
1583#line 103
1584  __cil_tmp33 = (unsigned long )iio_evgen;
1585#line 103
1586  __cil_tmp34 = __cil_tmp33 + 184;
1587#line 103
1588  __cil_tmp35 = *((int *)__cil_tmp34);
1589#line 103
1590  __cil_tmp36 = __cil_tmp35 + i;
1591#line 103
1592  __cil_tmp37 = (unsigned int )__cil_tmp36;
1593#line 103
1594  irq_modify_status(__cil_tmp37, 6144UL, 1024UL);
1595#line 100
1596  i = i + 1;
1597  }
1598  ldv_16830: ;
1599#line 100
1600  if (i <= 9) {
1601#line 101
1602    goto ldv_16829;
1603  } else {
1604#line 103
1605    goto ldv_16831;
1606  }
1607  ldv_16831: 
1608  {
1609#line 107
1610  __cil_tmp38 = (unsigned long )iio_evgen;
1611#line 107
1612  __cil_tmp39 = __cil_tmp38 + 208;
1613#line 107
1614  __cil_tmp40 = (struct mutex *)__cil_tmp39;
1615#line 107
1616  __mutex_init(__cil_tmp40, "&iio_evgen->lock", & __key);
1617  }
1618#line 108
1619  return (0);
1620}
1621}
1622#line 117 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1623int iio_dummy_evgen_get_irq(void) 
1624{ int i ;
1625  int ret ;
1626  struct iio_dummy_eventgen *__cil_tmp3 ;
1627  unsigned long __cil_tmp4 ;
1628  unsigned long __cil_tmp5 ;
1629  unsigned long __cil_tmp6 ;
1630  unsigned long __cil_tmp7 ;
1631  struct mutex *__cil_tmp8 ;
1632  unsigned long __cil_tmp9 ;
1633  unsigned long __cil_tmp10 ;
1634  unsigned long __cil_tmp11 ;
1635  unsigned long __cil_tmp12 ;
1636  bool __cil_tmp13 ;
1637  unsigned long __cil_tmp14 ;
1638  unsigned long __cil_tmp15 ;
1639  int __cil_tmp16 ;
1640  unsigned long __cil_tmp17 ;
1641  unsigned long __cil_tmp18 ;
1642  unsigned long __cil_tmp19 ;
1643  unsigned long __cil_tmp20 ;
1644  unsigned long __cil_tmp21 ;
1645  unsigned long __cil_tmp22 ;
1646  struct mutex *__cil_tmp23 ;
1647
1648  {
1649#line 119
1650  ret = 0;
1651  {
1652#line 121
1653  __cil_tmp3 = (struct iio_dummy_eventgen *)0;
1654#line 121
1655  __cil_tmp4 = (unsigned long )__cil_tmp3;
1656#line 121
1657  __cil_tmp5 = (unsigned long )iio_evgen;
1658#line 121
1659  if (__cil_tmp5 == __cil_tmp4) {
1660#line 122
1661    return (-19);
1662  } else {
1663
1664  }
1665  }
1666  {
1667#line 124
1668  __cil_tmp6 = (unsigned long )iio_evgen;
1669#line 124
1670  __cil_tmp7 = __cil_tmp6 + 208;
1671#line 124
1672  __cil_tmp8 = (struct mutex *)__cil_tmp7;
1673#line 124
1674  mutex_lock_nested(__cil_tmp8, 0U);
1675#line 125
1676  i = 0;
1677  }
1678#line 125
1679  goto ldv_16840;
1680  ldv_16839: ;
1681  {
1682#line 126
1683  __cil_tmp9 = i * 1UL;
1684#line 126
1685  __cil_tmp10 = 198 + __cil_tmp9;
1686#line 126
1687  __cil_tmp11 = (unsigned long )iio_evgen;
1688#line 126
1689  __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
1690#line 126
1691  __cil_tmp13 = *((bool *)__cil_tmp12);
1692#line 126
1693  if (! __cil_tmp13) {
1694#line 127
1695    __cil_tmp14 = (unsigned long )iio_evgen;
1696#line 127
1697    __cil_tmp15 = __cil_tmp14 + 184;
1698#line 127
1699    __cil_tmp16 = *((int *)__cil_tmp15);
1700#line 127
1701    ret = __cil_tmp16 + i;
1702#line 128
1703    __cil_tmp17 = i * 1UL;
1704#line 128
1705    __cil_tmp18 = 198 + __cil_tmp17;
1706#line 128
1707    __cil_tmp19 = (unsigned long )iio_evgen;
1708#line 128
1709    __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
1710#line 128
1711    *((bool *)__cil_tmp20) = (bool )1;
1712#line 129
1713    goto ldv_16838;
1714  } else {
1715
1716  }
1717  }
1718#line 125
1719  i = i + 1;
1720  ldv_16840: ;
1721#line 125
1722  if (i <= 9) {
1723#line 126
1724    goto ldv_16839;
1725  } else {
1726#line 128
1727    goto ldv_16838;
1728  }
1729  ldv_16838: 
1730  {
1731#line 131
1732  __cil_tmp21 = (unsigned long )iio_evgen;
1733#line 131
1734  __cil_tmp22 = __cil_tmp21 + 208;
1735#line 131
1736  __cil_tmp23 = (struct mutex *)__cil_tmp22;
1737#line 131
1738  mutex_unlock(__cil_tmp23);
1739  }
1740#line 132
1741  if (i == 10) {
1742#line 133
1743    return (-12);
1744  } else {
1745
1746  }
1747#line 134
1748  return (ret);
1749}
1750}
1751#line 144 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1752int iio_dummy_evgen_release_irq(int irq ) 
1753{ unsigned long __cil_tmp2 ;
1754  unsigned long __cil_tmp3 ;
1755  struct mutex *__cil_tmp4 ;
1756  unsigned long __cil_tmp5 ;
1757  unsigned long __cil_tmp6 ;
1758  int __cil_tmp7 ;
1759  int __cil_tmp8 ;
1760  unsigned long __cil_tmp9 ;
1761  unsigned long __cil_tmp10 ;
1762  unsigned long __cil_tmp11 ;
1763  unsigned long __cil_tmp12 ;
1764  unsigned long __cil_tmp13 ;
1765  unsigned long __cil_tmp14 ;
1766  struct mutex *__cil_tmp15 ;
1767
1768  {
1769  {
1770#line 146
1771  __cil_tmp2 = (unsigned long )iio_evgen;
1772#line 146
1773  __cil_tmp3 = __cil_tmp2 + 208;
1774#line 146
1775  __cil_tmp4 = (struct mutex *)__cil_tmp3;
1776#line 146
1777  mutex_lock_nested(__cil_tmp4, 0U);
1778#line 147
1779  __cil_tmp5 = (unsigned long )iio_evgen;
1780#line 147
1781  __cil_tmp6 = __cil_tmp5 + 184;
1782#line 147
1783  __cil_tmp7 = *((int *)__cil_tmp6);
1784#line 147
1785  __cil_tmp8 = irq - __cil_tmp7;
1786#line 147
1787  __cil_tmp9 = __cil_tmp8 * 1UL;
1788#line 147
1789  __cil_tmp10 = 198 + __cil_tmp9;
1790#line 147
1791  __cil_tmp11 = (unsigned long )iio_evgen;
1792#line 147
1793  __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
1794#line 147
1795  *((bool *)__cil_tmp12) = (bool )0;
1796#line 148
1797  __cil_tmp13 = (unsigned long )iio_evgen;
1798#line 148
1799  __cil_tmp14 = __cil_tmp13 + 208;
1800#line 148
1801  __cil_tmp15 = (struct mutex *)__cil_tmp14;
1802#line 148
1803  mutex_unlock(__cil_tmp15);
1804  }
1805#line 150
1806  return (0);
1807}
1808}
1809#line 154 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1810static void iio_dummy_evgen_free(void) 
1811{ unsigned long __cil_tmp1 ;
1812  unsigned long __cil_tmp2 ;
1813  int __cil_tmp3 ;
1814  unsigned int __cil_tmp4 ;
1815  void const   *__cil_tmp5 ;
1816
1817  {
1818  {
1819#line 156
1820  __cil_tmp1 = (unsigned long )iio_evgen;
1821#line 156
1822  __cil_tmp2 = __cil_tmp1 + 184;
1823#line 156
1824  __cil_tmp3 = *((int *)__cil_tmp2);
1825#line 156
1826  __cil_tmp4 = (unsigned int )__cil_tmp3;
1827#line 156
1828  irq_free_descs(__cil_tmp4, 10U);
1829#line 157
1830  __cil_tmp5 = (void const   *)iio_evgen;
1831#line 157
1832  kfree(__cil_tmp5);
1833  }
1834#line 158
1835  return;
1836}
1837}
1838#line 160 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1839static void iio_evgen_release(struct device *dev ) 
1840{ 
1841
1842  {
1843  {
1844#line 162
1845  iio_dummy_evgen_free();
1846  }
1847#line 163
1848  return;
1849}
1850}
1851#line 165 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1852static ssize_t iio_evgen_poke(struct device *dev , struct device_attribute *attr ,
1853                              char const   *buf , size_t len ) 
1854{ struct iio_dev_attr *this_attr ;
1855  struct device_attribute  const  *__mptr ;
1856  unsigned long __cil_tmp7 ;
1857  unsigned long __cil_tmp8 ;
1858  u64 __cil_tmp9 ;
1859  unsigned long __cil_tmp10 ;
1860  unsigned long __cil_tmp11 ;
1861  unsigned long __cil_tmp12 ;
1862  unsigned long __cil_tmp13 ;
1863  bool __cil_tmp14 ;
1864  unsigned long __cil_tmp15 ;
1865  unsigned long __cil_tmp16 ;
1866  u64 __cil_tmp17 ;
1867  unsigned int __cil_tmp18 ;
1868  unsigned long __cil_tmp19 ;
1869  unsigned long __cil_tmp20 ;
1870  int __cil_tmp21 ;
1871  unsigned int __cil_tmp22 ;
1872  unsigned int __cil_tmp23 ;
1873
1874  {
1875#line 170
1876  __mptr = (struct device_attribute  const  *)attr;
1877#line 170
1878  this_attr = (struct iio_dev_attr *)__mptr;
1879  {
1880#line 172
1881  __cil_tmp7 = (unsigned long )this_attr;
1882#line 172
1883  __cil_tmp8 = __cil_tmp7 + 48;
1884#line 172
1885  __cil_tmp9 = *((u64 *)__cil_tmp8);
1886#line 172
1887  __cil_tmp10 = __cil_tmp9 * 1UL;
1888#line 172
1889  __cil_tmp11 = 188 + __cil_tmp10;
1890#line 172
1891  __cil_tmp12 = (unsigned long )iio_evgen;
1892#line 172
1893  __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
1894#line 172
1895  __cil_tmp14 = *((bool *)__cil_tmp13);
1896#line 172
1897  if ((int )__cil_tmp14) {
1898    {
1899#line 173
1900    __cil_tmp15 = (unsigned long )this_attr;
1901#line 173
1902    __cil_tmp16 = __cil_tmp15 + 48;
1903#line 173
1904    __cil_tmp17 = *((u64 *)__cil_tmp16);
1905#line 173
1906    __cil_tmp18 = (unsigned int )__cil_tmp17;
1907#line 173
1908    __cil_tmp19 = (unsigned long )iio_evgen;
1909#line 173
1910    __cil_tmp20 = __cil_tmp19 + 184;
1911#line 173
1912    __cil_tmp21 = *((int *)__cil_tmp20);
1913#line 173
1914    __cil_tmp22 = (unsigned int )__cil_tmp21;
1915#line 173
1916    __cil_tmp23 = __cil_tmp22 + __cil_tmp18;
1917#line 173
1918    handle_nested_irq(__cil_tmp23);
1919    }
1920  } else {
1921
1922  }
1923  }
1924#line 175
1925  return ((ssize_t )len);
1926}
1927}
1928#line 178 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1929static struct iio_dev_attr iio_dev_attr_poke_ev0  =    {{{"poke_ev0", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1930                                                                {(char)0}, {(char)0},
1931                                                                {(char)0}, {(char)0},
1932                                                                {(char)0}, {(char)0}}}},
1933     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1934    0ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1935#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1936static struct iio_dev_attr iio_dev_attr_poke_ev1  =    {{{"poke_ev1", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1937                                                                {(char)0}, {(char)0},
1938                                                                {(char)0}, {(char)0},
1939                                                                {(char)0}, {(char)0}}}},
1940     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1941    1ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1942#line 180 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1943static struct iio_dev_attr iio_dev_attr_poke_ev2  =    {{{"poke_ev2", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1944                                                                {(char)0}, {(char)0},
1945                                                                {(char)0}, {(char)0},
1946                                                                {(char)0}, {(char)0}}}},
1947     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1948    2ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1949#line 181 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1950static struct iio_dev_attr iio_dev_attr_poke_ev3  =    {{{"poke_ev3", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1951                                                                {(char)0}, {(char)0},
1952                                                                {(char)0}, {(char)0},
1953                                                                {(char)0}, {(char)0}}}},
1954     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1955    3ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1956#line 182 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1957static struct iio_dev_attr iio_dev_attr_poke_ev4  =    {{{"poke_ev4", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1958                                                                {(char)0}, {(char)0},
1959                                                                {(char)0}, {(char)0},
1960                                                                {(char)0}, {(char)0}}}},
1961     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1962    4ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1963#line 183 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1964static struct iio_dev_attr iio_dev_attr_poke_ev5  =    {{{"poke_ev5", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1965                                                                {(char)0}, {(char)0},
1966                                                                {(char)0}, {(char)0},
1967                                                                {(char)0}, {(char)0}}}},
1968     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1969    5ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1970#line 184 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1971static struct iio_dev_attr iio_dev_attr_poke_ev6  =    {{{"poke_ev6", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1972                                                                {(char)0}, {(char)0},
1973                                                                {(char)0}, {(char)0},
1974                                                                {(char)0}, {(char)0}}}},
1975     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1976    6ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1977#line 185 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1978static struct iio_dev_attr iio_dev_attr_poke_ev7  =    {{{"poke_ev7", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1979                                                                {(char)0}, {(char)0},
1980                                                                {(char)0}, {(char)0},
1981                                                                {(char)0}, {(char)0}}}},
1982     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1983    7ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1984#line 186 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1985static struct iio_dev_attr iio_dev_attr_poke_ev8  =    {{{"poke_ev8", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1986                                                                {(char)0}, {(char)0},
1987                                                                {(char)0}, {(char)0},
1988                                                                {(char)0}, {(char)0}}}},
1989     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1990    8ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1991#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1992static struct iio_dev_attr iio_dev_attr_poke_ev9  =    {{{"poke_ev9", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
1993                                                                {(char)0}, {(char)0},
1994                                                                {(char)0}, {(char)0},
1995                                                                {(char)0}, {(char)0}}}},
1996     (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, & iio_evgen_poke},
1997    9ULL, {(struct list_head *)0, (struct list_head *)0}, (struct iio_chan_spec  const  *)0};
1998#line 189 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
1999static struct attribute *iio_evgen_attrs[11U]  = 
2000#line 189
2001  {      & iio_dev_attr_poke_ev0.dev_attr.attr,      & iio_dev_attr_poke_ev1.dev_attr.attr,      & iio_dev_attr_poke_ev2.dev_attr.attr,      & iio_dev_attr_poke_ev3.dev_attr.attr, 
2002        & iio_dev_attr_poke_ev4.dev_attr.attr,      & iio_dev_attr_poke_ev5.dev_attr.attr,      & iio_dev_attr_poke_ev6.dev_attr.attr,      & iio_dev_attr_poke_ev7.dev_attr.attr, 
2003        & iio_dev_attr_poke_ev8.dev_attr.attr,      & iio_dev_attr_poke_ev9.dev_attr.attr,      (struct attribute *)0};
2004#line 203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2005static struct attribute_group  const  iio_evgen_group  =    {(char const   *)0, (umode_t (*)(struct kobject * , struct attribute * , int  ))0,
2006    (struct attribute **)(& iio_evgen_attrs)};
2007#line 207 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2008static struct attribute_group  const  *iio_evgen_groups[2U]  = {      & iio_evgen_group,      (struct attribute_group  const  *)0};
2009#line 212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2010static struct device iio_evgen_dev  = 
2011#line 212
2012     {(struct device *)0, (struct device_private *)0, {(char const   *)0, {(struct list_head *)0,
2013                                                                         (struct list_head *)0},
2014                                                     (struct kobject *)0, (struct kset *)0,
2015                                                     (struct kobj_type *)0, (struct sysfs_dirent *)0,
2016                                                     {{0}}, (unsigned char)0, (unsigned char)0,
2017                                                     (unsigned char)0, (unsigned char)0,
2018                                                     (unsigned char)0}, (char const   *)0,
2019    (struct device_type  const  *)0, {{0}, {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
2020                                                                          {(struct lock_class *)0,
2021                                                                           (struct lock_class *)0},
2022                                                                          (char const   *)0,
2023                                                                          0, 0UL}}}},
2024                                      {(struct list_head *)0, (struct list_head *)0},
2025                                      (struct task_struct *)0, (char const   *)0,
2026                                      (void *)0, {(struct lock_class_key *)0, {(struct lock_class *)0,
2027                                                                               (struct lock_class *)0},
2028                                                  (char const   *)0, 0, 0UL}}, & iio_bus_type,
2029    (struct device_driver *)0, (void *)0, {{0}, (unsigned char)0, (unsigned char)0,
2030                                           (_Bool)0, (_Bool)0, (_Bool)0, {{{{{0U}},
2031                                                                            0U, 0U,
2032                                                                            (void *)0,
2033                                                                            {(struct lock_class_key *)0,
2034                                                                             {(struct lock_class *)0,
2035                                                                              (struct lock_class *)0},
2036                                                                             (char const   *)0,
2037                                                                             0, 0UL}}}},
2038                                           {(struct list_head *)0, (struct list_head *)0},
2039                                           {0U, {{{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
2040                                                                                {(struct lock_class *)0,
2041                                                                                 (struct lock_class *)0},
2042                                                                                (char const   *)0,
2043                                                                                0,
2044                                                                                0UL}}}},
2045                                                 {(struct list_head *)0, (struct list_head *)0}}},
2046                                           (struct wakeup_source *)0, (_Bool)0, {{(struct list_head *)0,
2047                                                                                  (struct list_head *)0},
2048                                                                                 0UL,
2049                                                                                 (struct tvec_base *)0,
2050                                                                                 (void (*)(unsigned long  ))0,
2051                                                                                 0UL,
2052                                                                                 0,
2053                                                                                 0,
2054                                                                                 (void *)0,
2055                                                                                 {(char)0,
2056                                                                                  (char)0,
2057                                                                                  (char)0,
2058                                                                                  (char)0,
2059                                                                                  (char)0,
2060                                                                                  (char)0,
2061                                                                                  (char)0,
2062                                                                                  (char)0,
2063                                                                                  (char)0,
2064                                                                                  (char)0,
2065                                                                                  (char)0,
2066                                                                                  (char)0,
2067                                                                                  (char)0,
2068                                                                                  (char)0,
2069                                                                                  (char)0,
2070                                                                                  (char)0},
2071                                                                                 {(struct lock_class_key *)0,
2072                                                                                  {(struct lock_class *)0,
2073                                                                                   (struct lock_class *)0},
2074                                                                                  (char const   *)0,
2075                                                                                  0,
2076                                                                                  0UL}},
2077                                           0UL, {{0L}, {(struct list_head *)0, (struct list_head *)0},
2078                                                 (void (*)(struct work_struct * ))0,
2079                                                 {(struct lock_class_key *)0, {(struct lock_class *)0,
2080                                                                               (struct lock_class *)0},
2081                                                  (char const   *)0, 0, 0UL}}, {{{{{{0U}},
2082                                                                                   0U,
2083                                                                                   0U,
2084                                                                                   (void *)0,
2085                                                                                   {(struct lock_class_key *)0,
2086                                                                                    {(struct lock_class *)0,
2087                                                                                     (struct lock_class *)0},
2088                                                                                    (char const   *)0,
2089                                                                                    0,
2090                                                                                    0UL}}}},
2091                                                                                {(struct list_head *)0,
2092                                                                                 (struct list_head *)0}},
2093                                           {0}, {0}, (unsigned char)0, (unsigned char)0,
2094                                           (unsigned char)0, (unsigned char)0, (unsigned char)0,
2095                                           (unsigned char)0, (unsigned char)0, (unsigned char)0,
2096                                           (unsigned char)0, (unsigned char)0, 0,
2097                                           0, 0, 0, 0UL, 0UL, 0UL, 0UL, {0LL}, 0LL,
2098                                           (struct dev_pm_qos_request *)0, (struct pm_subsys_data *)0,
2099                                           (struct pm_qos_constraints *)0}, (struct dev_pm_domain *)0,
2100    0, (u64 *)0, 0ULL, (struct device_dma_parameters *)0, {(struct list_head *)0,
2101                                                           (struct list_head *)0},
2102    (struct dma_coherent_mem *)0, {(void *)0, (struct dma_map_ops *)0, (void *)0},
2103    (struct device_node *)0, 0U, 0U, {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
2104                                                                    {(struct lock_class *)0,
2105                                                                     (struct lock_class *)0},
2106                                                                    (char const   *)0,
2107                                                                    0, 0UL}}}}, {(struct list_head *)0,
2108                                                                                 (struct list_head *)0},
2109    {(void *)0, {(struct list_head *)0, (struct list_head *)0}, {{0}}}, (struct class *)0,
2110    (struct attribute_group  const  **)(& iio_evgen_groups), & iio_evgen_release};
2111#line 217 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2112static int iio_dummy_evgen_init(void) 
2113{ int ret ;
2114  int tmp ;
2115  int tmp___0 ;
2116
2117  {
2118  {
2119#line 219
2120  tmp = iio_dummy_evgen_create();
2121#line 219
2122  ret = tmp;
2123  }
2124#line 220
2125  if (ret < 0) {
2126#line 221
2127    return (ret);
2128  } else {
2129
2130  }
2131  {
2132#line 222
2133  device_initialize(& iio_evgen_dev);
2134#line 223
2135  dev_set_name(& iio_evgen_dev, "iio_evgen");
2136#line 224
2137  tmp___0 = device_add(& iio_evgen_dev);
2138  }
2139#line 224
2140  return (tmp___0);
2141}
2142}
2143#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2144static void iio_dummy_evgen_exit(void) 
2145{ 
2146
2147  {
2148  {
2149#line 230
2150  device_unregister(& iio_evgen_dev);
2151  }
2152#line 231
2153  return;
2154}
2155}
2156#line 254
2157extern void ldv_check_final_state(void) ;
2158#line 260
2159extern void ldv_initialize(void) ;
2160#line 263
2161extern int __VERIFIER_nondet_int(void) ;
2162#line 266 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2163int LDV_IN_INTERRUPT  ;
2164#line 269 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2165void main(void) 
2166{ int tmp ;
2167  int tmp___0 ;
2168  int tmp___1 ;
2169
2170  {
2171  {
2172#line 281
2173  LDV_IN_INTERRUPT = 1;
2174#line 290
2175  ldv_initialize();
2176#line 298
2177  tmp = iio_dummy_evgen_init();
2178  }
2179#line 298
2180  if (tmp != 0) {
2181#line 299
2182    goto ldv_final;
2183  } else {
2184
2185  }
2186#line 301
2187  goto ldv_16920;
2188  ldv_16919: 
2189  {
2190#line 304
2191  tmp___0 = __VERIFIER_nondet_int();
2192  }
2193  {
2194#line 306
2195  goto switch_default;
2196#line 304
2197  if (0) {
2198    switch_default: /* CIL Label */ ;
2199#line 306
2200    goto ldv_16918;
2201  } else {
2202    switch_break: /* CIL Label */ ;
2203  }
2204  }
2205  ldv_16918: ;
2206  ldv_16920: 
2207  {
2208#line 301
2209  tmp___1 = __VERIFIER_nondet_int();
2210  }
2211#line 301
2212  if (tmp___1 != 0) {
2213#line 302
2214    goto ldv_16919;
2215  } else {
2216#line 304
2217    goto ldv_16921;
2218  }
2219  ldv_16921: ;
2220  {
2221#line 320
2222  iio_dummy_evgen_exit();
2223  }
2224  ldv_final: 
2225  {
2226#line 323
2227  ldv_check_final_state();
2228  }
2229#line 326
2230  return;
2231}
2232}
2233#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
2234void ldv_blast_assert(void) 
2235{ 
2236
2237  {
2238  ERROR: ;
2239#line 6
2240  goto ERROR;
2241}
2242}
2243#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
2244extern int __VERIFIER_nondet_int(void) ;
2245#line 347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2246int ldv_spin  =    0;
2247#line 351 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2248void ldv_check_alloc_flags(gfp_t flags ) 
2249{ 
2250
2251  {
2252#line 354
2253  if (ldv_spin != 0) {
2254#line 354
2255    if (flags != 32U) {
2256      {
2257#line 354
2258      ldv_blast_assert();
2259      }
2260    } else {
2261
2262    }
2263  } else {
2264
2265  }
2266#line 357
2267  return;
2268}
2269}
2270#line 357
2271extern struct page *ldv_some_page(void) ;
2272#line 360 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2273struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
2274{ struct page *tmp ;
2275
2276  {
2277#line 363
2278  if (ldv_spin != 0) {
2279#line 363
2280    if (flags != 32U) {
2281      {
2282#line 363
2283      ldv_blast_assert();
2284      }
2285    } else {
2286
2287    }
2288  } else {
2289
2290  }
2291  {
2292#line 365
2293  tmp = ldv_some_page();
2294  }
2295#line 365
2296  return (tmp);
2297}
2298}
2299#line 369 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2300void ldv_check_alloc_nonatomic(void) 
2301{ 
2302
2303  {
2304#line 372
2305  if (ldv_spin != 0) {
2306    {
2307#line 372
2308    ldv_blast_assert();
2309    }
2310  } else {
2311
2312  }
2313#line 375
2314  return;
2315}
2316}
2317#line 376 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2318void ldv_spin_lock(void) 
2319{ 
2320
2321  {
2322#line 379
2323  ldv_spin = 1;
2324#line 380
2325  return;
2326}
2327}
2328#line 383 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2329void ldv_spin_unlock(void) 
2330{ 
2331
2332  {
2333#line 386
2334  ldv_spin = 0;
2335#line 387
2336  return;
2337}
2338}
2339#line 390 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2340int ldv_spin_trylock(void) 
2341{ int is_lock ;
2342
2343  {
2344  {
2345#line 395
2346  is_lock = __VERIFIER_nondet_int();
2347  }
2348#line 397
2349  if (is_lock != 0) {
2350#line 400
2351    return (0);
2352  } else {
2353#line 405
2354    ldv_spin = 1;
2355#line 407
2356    return (1);
2357  }
2358}
2359}
2360#line 574 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2361void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
2362{ 
2363
2364  {
2365  {
2366#line 580
2367  ldv_check_alloc_flags(ldv_func_arg2);
2368#line 582
2369  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
2370  }
2371#line 583
2372  return ((void *)0);
2373}
2374}
2375#line 585 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5491/dscv_tempdir/dscv/ri/43_1a/drivers/staging/iio/iio_dummy_evgen.c.p"
2376__inline static void *kzalloc(size_t size , gfp_t flags ) 
2377{ void *tmp ;
2378
2379  {
2380  {
2381#line 591
2382  ldv_check_alloc_flags(flags);
2383#line 592
2384  tmp = __VERIFIER_nondet_pointer();
2385  }
2386#line 592
2387  return (tmp);
2388}
2389}