Showing error 647

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