Showing error 1333

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--w1--masters--matrox_w1.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2651
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 155 "include/linux/types.h"
  47typedef u64 dma_addr_t;
  48#line 202 "include/linux/types.h"
  49typedef unsigned int gfp_t;
  50#line 206 "include/linux/types.h"
  51typedef u64 phys_addr_t;
  52#line 211 "include/linux/types.h"
  53typedef phys_addr_t resource_size_t;
  54#line 221 "include/linux/types.h"
  55struct __anonstruct_atomic_t_6 {
  56   int counter ;
  57};
  58#line 221 "include/linux/types.h"
  59typedef struct __anonstruct_atomic_t_6 atomic_t;
  60#line 226 "include/linux/types.h"
  61struct __anonstruct_atomic64_t_7 {
  62   long counter ;
  63};
  64#line 226 "include/linux/types.h"
  65typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  66#line 227 "include/linux/types.h"
  67struct list_head {
  68   struct list_head *next ;
  69   struct list_head *prev ;
  70};
  71#line 232
  72struct hlist_node;
  73#line 232 "include/linux/types.h"
  74struct hlist_head {
  75   struct hlist_node *first ;
  76};
  77#line 236 "include/linux/types.h"
  78struct hlist_node {
  79   struct hlist_node *next ;
  80   struct hlist_node **pprev ;
  81};
  82#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  83struct module;
  84#line 55
  85struct module;
  86#line 146 "include/linux/init.h"
  87typedef void (*ctor_fn_t)(void);
  88#line 46 "include/linux/dynamic_debug.h"
  89struct device;
  90#line 46
  91struct device;
  92#line 57
  93struct completion;
  94#line 57
  95struct completion;
  96#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
  97struct page;
  98#line 58
  99struct page;
 100#line 26 "include/asm-generic/getorder.h"
 101struct task_struct;
 102#line 26
 103struct task_struct;
 104#line 28
 105struct mm_struct;
 106#line 28
 107struct mm_struct;
 108#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 109typedef unsigned long pgdval_t;
 110#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 111typedef unsigned long pgprotval_t;
 112#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 113struct pgprot {
 114   pgprotval_t pgprot ;
 115};
 116#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 117typedef struct pgprot pgprot_t;
 118#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 119struct __anonstruct_pgd_t_16 {
 120   pgdval_t pgd ;
 121};
 122#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 123typedef struct __anonstruct_pgd_t_16 pgd_t;
 124#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 125typedef struct page *pgtable_t;
 126#line 290
 127struct file;
 128#line 290
 129struct file;
 130#line 339
 131struct cpumask;
 132#line 339
 133struct cpumask;
 134#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 135struct arch_spinlock;
 136#line 327
 137struct arch_spinlock;
 138#line 306 "include/linux/bitmap.h"
 139struct bug_entry {
 140   int bug_addr_disp ;
 141   int file_disp ;
 142   unsigned short line ;
 143   unsigned short flags ;
 144};
 145#line 89 "include/linux/bug.h"
 146struct cpumask {
 147   unsigned long bits[64U] ;
 148};
 149#line 637 "include/linux/cpumask.h"
 150typedef struct cpumask *cpumask_var_t;
 151#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 152struct static_key;
 153#line 234
 154struct static_key;
 155#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 156struct kmem_cache;
 157#line 23 "include/asm-generic/atomic-long.h"
 158typedef atomic64_t atomic_long_t;
 159#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 160typedef u16 __ticket_t;
 161#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 162typedef u32 __ticketpair_t;
 163#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 164struct __raw_tickets {
 165   __ticket_t head ;
 166   __ticket_t tail ;
 167};
 168#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 169union __anonunion_ldv_5907_29 {
 170   __ticketpair_t head_tail ;
 171   struct __raw_tickets tickets ;
 172};
 173#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 174struct arch_spinlock {
 175   union __anonunion_ldv_5907_29 ldv_5907 ;
 176};
 177#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 178typedef struct arch_spinlock arch_spinlock_t;
 179#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 180struct lockdep_map;
 181#line 34
 182struct lockdep_map;
 183#line 55 "include/linux/debug_locks.h"
 184struct stack_trace {
 185   unsigned int nr_entries ;
 186   unsigned int max_entries ;
 187   unsigned long *entries ;
 188   int skip ;
 189};
 190#line 26 "include/linux/stacktrace.h"
 191struct lockdep_subclass_key {
 192   char __one_byte ;
 193};
 194#line 53 "include/linux/lockdep.h"
 195struct lock_class_key {
 196   struct lockdep_subclass_key subkeys[8U] ;
 197};
 198#line 59 "include/linux/lockdep.h"
 199struct lock_class {
 200   struct list_head hash_entry ;
 201   struct list_head lock_entry ;
 202   struct lockdep_subclass_key *key ;
 203   unsigned int subclass ;
 204   unsigned int dep_gen_id ;
 205   unsigned long usage_mask ;
 206   struct stack_trace usage_traces[13U] ;
 207   struct list_head locks_after ;
 208   struct list_head locks_before ;
 209   unsigned int version ;
 210   unsigned long ops ;
 211   char const   *name ;
 212   int name_version ;
 213   unsigned long contention_point[4U] ;
 214   unsigned long contending_point[4U] ;
 215};
 216#line 144 "include/linux/lockdep.h"
 217struct lockdep_map {
 218   struct lock_class_key *key ;
 219   struct lock_class *class_cache[2U] ;
 220   char const   *name ;
 221   int cpu ;
 222   unsigned long ip ;
 223};
 224#line 556 "include/linux/lockdep.h"
 225struct raw_spinlock {
 226   arch_spinlock_t raw_lock ;
 227   unsigned int magic ;
 228   unsigned int owner_cpu ;
 229   void *owner ;
 230   struct lockdep_map dep_map ;
 231};
 232#line 32 "include/linux/spinlock_types.h"
 233typedef struct raw_spinlock raw_spinlock_t;
 234#line 33 "include/linux/spinlock_types.h"
 235struct __anonstruct_ldv_6122_33 {
 236   u8 __padding[24U] ;
 237   struct lockdep_map dep_map ;
 238};
 239#line 33 "include/linux/spinlock_types.h"
 240union __anonunion_ldv_6123_32 {
 241   struct raw_spinlock rlock ;
 242   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 243};
 244#line 33 "include/linux/spinlock_types.h"
 245struct spinlock {
 246   union __anonunion_ldv_6123_32 ldv_6123 ;
 247};
 248#line 76 "include/linux/spinlock_types.h"
 249typedef struct spinlock spinlock_t;
 250#line 48 "include/linux/wait.h"
 251struct __wait_queue_head {
 252   spinlock_t lock ;
 253   struct list_head task_list ;
 254};
 255#line 53 "include/linux/wait.h"
 256typedef struct __wait_queue_head wait_queue_head_t;
 257#line 98 "include/linux/nodemask.h"
 258struct __anonstruct_nodemask_t_36 {
 259   unsigned long bits[16U] ;
 260};
 261#line 98 "include/linux/nodemask.h"
 262typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 263#line 670 "include/linux/mmzone.h"
 264struct mutex {
 265   atomic_t count ;
 266   spinlock_t wait_lock ;
 267   struct list_head wait_list ;
 268   struct task_struct *owner ;
 269   char const   *name ;
 270   void *magic ;
 271   struct lockdep_map dep_map ;
 272};
 273#line 171 "include/linux/mutex.h"
 274struct rw_semaphore;
 275#line 171
 276struct rw_semaphore;
 277#line 172 "include/linux/mutex.h"
 278struct rw_semaphore {
 279   long count ;
 280   raw_spinlock_t wait_lock ;
 281   struct list_head wait_list ;
 282   struct lockdep_map dep_map ;
 283};
 284#line 128 "include/linux/rwsem.h"
 285struct completion {
 286   unsigned int done ;
 287   wait_queue_head_t wait ;
 288};
 289#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 290struct resource {
 291   resource_size_t start ;
 292   resource_size_t end ;
 293   char const   *name ;
 294   unsigned long flags ;
 295   struct resource *parent ;
 296   struct resource *sibling ;
 297   struct resource *child ;
 298};
 299#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 300struct pci_dev;
 301#line 181
 302struct pci_dev;
 303#line 312 "include/linux/jiffies.h"
 304union ktime {
 305   s64 tv64 ;
 306};
 307#line 59 "include/linux/ktime.h"
 308typedef union ktime ktime_t;
 309#line 341
 310struct tvec_base;
 311#line 341
 312struct tvec_base;
 313#line 342 "include/linux/ktime.h"
 314struct timer_list {
 315   struct list_head entry ;
 316   unsigned long expires ;
 317   struct tvec_base *base ;
 318   void (*function)(unsigned long  ) ;
 319   unsigned long data ;
 320   int slack ;
 321   int start_pid ;
 322   void *start_site ;
 323   char start_comm[16U] ;
 324   struct lockdep_map lockdep_map ;
 325};
 326#line 302 "include/linux/timer.h"
 327struct work_struct;
 328#line 302
 329struct work_struct;
 330#line 45 "include/linux/workqueue.h"
 331struct work_struct {
 332   atomic_long_t data ;
 333   struct list_head entry ;
 334   void (*func)(struct work_struct * ) ;
 335   struct lockdep_map lockdep_map ;
 336};
 337#line 46 "include/linux/pm.h"
 338struct pm_message {
 339   int event ;
 340};
 341#line 52 "include/linux/pm.h"
 342typedef struct pm_message pm_message_t;
 343#line 53 "include/linux/pm.h"
 344struct dev_pm_ops {
 345   int (*prepare)(struct device * ) ;
 346   void (*complete)(struct device * ) ;
 347   int (*suspend)(struct device * ) ;
 348   int (*resume)(struct device * ) ;
 349   int (*freeze)(struct device * ) ;
 350   int (*thaw)(struct device * ) ;
 351   int (*poweroff)(struct device * ) ;
 352   int (*restore)(struct device * ) ;
 353   int (*suspend_late)(struct device * ) ;
 354   int (*resume_early)(struct device * ) ;
 355   int (*freeze_late)(struct device * ) ;
 356   int (*thaw_early)(struct device * ) ;
 357   int (*poweroff_late)(struct device * ) ;
 358   int (*restore_early)(struct device * ) ;
 359   int (*suspend_noirq)(struct device * ) ;
 360   int (*resume_noirq)(struct device * ) ;
 361   int (*freeze_noirq)(struct device * ) ;
 362   int (*thaw_noirq)(struct device * ) ;
 363   int (*poweroff_noirq)(struct device * ) ;
 364   int (*restore_noirq)(struct device * ) ;
 365   int (*runtime_suspend)(struct device * ) ;
 366   int (*runtime_resume)(struct device * ) ;
 367   int (*runtime_idle)(struct device * ) ;
 368};
 369#line 289
 370enum rpm_status {
 371    RPM_ACTIVE = 0,
 372    RPM_RESUMING = 1,
 373    RPM_SUSPENDED = 2,
 374    RPM_SUSPENDING = 3
 375} ;
 376#line 296
 377enum rpm_request {
 378    RPM_REQ_NONE = 0,
 379    RPM_REQ_IDLE = 1,
 380    RPM_REQ_SUSPEND = 2,
 381    RPM_REQ_AUTOSUSPEND = 3,
 382    RPM_REQ_RESUME = 4
 383} ;
 384#line 304
 385struct wakeup_source;
 386#line 304
 387struct wakeup_source;
 388#line 494 "include/linux/pm.h"
 389struct pm_subsys_data {
 390   spinlock_t lock ;
 391   unsigned int refcount ;
 392};
 393#line 499
 394struct dev_pm_qos_request;
 395#line 499
 396struct pm_qos_constraints;
 397#line 499 "include/linux/pm.h"
 398struct dev_pm_info {
 399   pm_message_t power_state ;
 400   unsigned char can_wakeup : 1 ;
 401   unsigned char async_suspend : 1 ;
 402   bool is_prepared ;
 403   bool is_suspended ;
 404   bool ignore_children ;
 405   spinlock_t lock ;
 406   struct list_head entry ;
 407   struct completion completion ;
 408   struct wakeup_source *wakeup ;
 409   bool wakeup_path ;
 410   struct timer_list suspend_timer ;
 411   unsigned long timer_expires ;
 412   struct work_struct work ;
 413   wait_queue_head_t wait_queue ;
 414   atomic_t usage_count ;
 415   atomic_t child_count ;
 416   unsigned char disable_depth : 3 ;
 417   unsigned char idle_notification : 1 ;
 418   unsigned char request_pending : 1 ;
 419   unsigned char deferred_resume : 1 ;
 420   unsigned char run_wake : 1 ;
 421   unsigned char runtime_auto : 1 ;
 422   unsigned char no_callbacks : 1 ;
 423   unsigned char irq_safe : 1 ;
 424   unsigned char use_autosuspend : 1 ;
 425   unsigned char timer_autosuspends : 1 ;
 426   enum rpm_request request ;
 427   enum rpm_status runtime_status ;
 428   int runtime_error ;
 429   int autosuspend_delay ;
 430   unsigned long last_busy ;
 431   unsigned long active_jiffies ;
 432   unsigned long suspended_jiffies ;
 433   unsigned long accounting_timestamp ;
 434   ktime_t suspend_time ;
 435   s64 max_time_suspended_ns ;
 436   struct dev_pm_qos_request *pq_req ;
 437   struct pm_subsys_data *subsys_data ;
 438   struct pm_qos_constraints *constraints ;
 439};
 440#line 558 "include/linux/pm.h"
 441struct dev_pm_domain {
 442   struct dev_pm_ops ops ;
 443};
 444#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 445struct pci_bus;
 446#line 173
 447struct pci_bus;
 448#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 449struct __anonstruct_mm_context_t_101 {
 450   void *ldt ;
 451   int size ;
 452   unsigned short ia32_compat ;
 453   struct mutex lock ;
 454   void *vdso ;
 455};
 456#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 457typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 458#line 18 "include/asm-generic/pci_iomap.h"
 459struct vm_area_struct;
 460#line 18
 461struct vm_area_struct;
 462#line 835 "include/linux/sysctl.h"
 463struct rb_node {
 464   unsigned long rb_parent_color ;
 465   struct rb_node *rb_right ;
 466   struct rb_node *rb_left ;
 467};
 468#line 108 "include/linux/rbtree.h"
 469struct rb_root {
 470   struct rb_node *rb_node ;
 471};
 472#line 18 "include/linux/elf.h"
 473typedef __u64 Elf64_Addr;
 474#line 19 "include/linux/elf.h"
 475typedef __u16 Elf64_Half;
 476#line 23 "include/linux/elf.h"
 477typedef __u32 Elf64_Word;
 478#line 24 "include/linux/elf.h"
 479typedef __u64 Elf64_Xword;
 480#line 193 "include/linux/elf.h"
 481struct elf64_sym {
 482   Elf64_Word st_name ;
 483   unsigned char st_info ;
 484   unsigned char st_other ;
 485   Elf64_Half st_shndx ;
 486   Elf64_Addr st_value ;
 487   Elf64_Xword st_size ;
 488};
 489#line 201 "include/linux/elf.h"
 490typedef struct elf64_sym Elf64_Sym;
 491#line 445
 492struct sock;
 493#line 445
 494struct sock;
 495#line 446
 496struct kobject;
 497#line 446
 498struct kobject;
 499#line 447
 500enum kobj_ns_type {
 501    KOBJ_NS_TYPE_NONE = 0,
 502    KOBJ_NS_TYPE_NET = 1,
 503    KOBJ_NS_TYPES = 2
 504} ;
 505#line 453 "include/linux/elf.h"
 506struct kobj_ns_type_operations {
 507   enum kobj_ns_type type ;
 508   void *(*grab_current_ns)(void) ;
 509   void const   *(*netlink_ns)(struct sock * ) ;
 510   void const   *(*initial_ns)(void) ;
 511   void (*drop_ns)(void * ) ;
 512};
 513#line 57 "include/linux/kobject_ns.h"
 514struct attribute {
 515   char const   *name ;
 516   umode_t mode ;
 517   struct lock_class_key *key ;
 518   struct lock_class_key skey ;
 519};
 520#line 33 "include/linux/sysfs.h"
 521struct attribute_group {
 522   char const   *name ;
 523   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 524   struct attribute **attrs ;
 525};
 526#line 62 "include/linux/sysfs.h"
 527struct bin_attribute {
 528   struct attribute attr ;
 529   size_t size ;
 530   void *private ;
 531   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 532                   loff_t  , size_t  ) ;
 533   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 534                    loff_t  , size_t  ) ;
 535   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 536};
 537#line 98 "include/linux/sysfs.h"
 538struct sysfs_ops {
 539   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 540   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 541   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 542};
 543#line 117
 544struct sysfs_dirent;
 545#line 117
 546struct sysfs_dirent;
 547#line 182 "include/linux/sysfs.h"
 548struct kref {
 549   atomic_t refcount ;
 550};
 551#line 49 "include/linux/kobject.h"
 552struct kset;
 553#line 49
 554struct kobj_type;
 555#line 49 "include/linux/kobject.h"
 556struct kobject {
 557   char const   *name ;
 558   struct list_head entry ;
 559   struct kobject *parent ;
 560   struct kset *kset ;
 561   struct kobj_type *ktype ;
 562   struct sysfs_dirent *sd ;
 563   struct kref kref ;
 564   unsigned char state_initialized : 1 ;
 565   unsigned char state_in_sysfs : 1 ;
 566   unsigned char state_add_uevent_sent : 1 ;
 567   unsigned char state_remove_uevent_sent : 1 ;
 568   unsigned char uevent_suppress : 1 ;
 569};
 570#line 107 "include/linux/kobject.h"
 571struct kobj_type {
 572   void (*release)(struct kobject * ) ;
 573   struct sysfs_ops  const  *sysfs_ops ;
 574   struct attribute **default_attrs ;
 575   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 576   void const   *(*namespace)(struct kobject * ) ;
 577};
 578#line 115 "include/linux/kobject.h"
 579struct kobj_uevent_env {
 580   char *envp[32U] ;
 581   int envp_idx ;
 582   char buf[2048U] ;
 583   int buflen ;
 584};
 585#line 122 "include/linux/kobject.h"
 586struct kset_uevent_ops {
 587   int (* const  filter)(struct kset * , struct kobject * ) ;
 588   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 589   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 590};
 591#line 139 "include/linux/kobject.h"
 592struct kset {
 593   struct list_head list ;
 594   spinlock_t list_lock ;
 595   struct kobject kobj ;
 596   struct kset_uevent_ops  const  *uevent_ops ;
 597};
 598#line 215
 599struct kernel_param;
 600#line 215
 601struct kernel_param;
 602#line 216 "include/linux/kobject.h"
 603struct kernel_param_ops {
 604   int (*set)(char const   * , struct kernel_param  const  * ) ;
 605   int (*get)(char * , struct kernel_param  const  * ) ;
 606   void (*free)(void * ) ;
 607};
 608#line 49 "include/linux/moduleparam.h"
 609struct kparam_string;
 610#line 49
 611struct kparam_array;
 612#line 49 "include/linux/moduleparam.h"
 613union __anonunion_ldv_13363_134 {
 614   void *arg ;
 615   struct kparam_string  const  *str ;
 616   struct kparam_array  const  *arr ;
 617};
 618#line 49 "include/linux/moduleparam.h"
 619struct kernel_param {
 620   char const   *name ;
 621   struct kernel_param_ops  const  *ops ;
 622   u16 perm ;
 623   s16 level ;
 624   union __anonunion_ldv_13363_134 ldv_13363 ;
 625};
 626#line 61 "include/linux/moduleparam.h"
 627struct kparam_string {
 628   unsigned int maxlen ;
 629   char *string ;
 630};
 631#line 67 "include/linux/moduleparam.h"
 632struct kparam_array {
 633   unsigned int max ;
 634   unsigned int elemsize ;
 635   unsigned int *num ;
 636   struct kernel_param_ops  const  *ops ;
 637   void *elem ;
 638};
 639#line 458 "include/linux/moduleparam.h"
 640struct static_key {
 641   atomic_t enabled ;
 642};
 643#line 225 "include/linux/jump_label.h"
 644struct tracepoint;
 645#line 225
 646struct tracepoint;
 647#line 226 "include/linux/jump_label.h"
 648struct tracepoint_func {
 649   void *func ;
 650   void *data ;
 651};
 652#line 29 "include/linux/tracepoint.h"
 653struct tracepoint {
 654   char const   *name ;
 655   struct static_key key ;
 656   void (*regfunc)(void) ;
 657   void (*unregfunc)(void) ;
 658   struct tracepoint_func *funcs ;
 659};
 660#line 86 "include/linux/tracepoint.h"
 661struct kernel_symbol {
 662   unsigned long value ;
 663   char const   *name ;
 664};
 665#line 27 "include/linux/export.h"
 666struct mod_arch_specific {
 667
 668};
 669#line 34 "include/linux/module.h"
 670struct module_param_attrs;
 671#line 34 "include/linux/module.h"
 672struct module_kobject {
 673   struct kobject kobj ;
 674   struct module *mod ;
 675   struct kobject *drivers_dir ;
 676   struct module_param_attrs *mp ;
 677};
 678#line 43 "include/linux/module.h"
 679struct module_attribute {
 680   struct attribute attr ;
 681   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 682   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 683                    size_t  ) ;
 684   void (*setup)(struct module * , char const   * ) ;
 685   int (*test)(struct module * ) ;
 686   void (*free)(struct module * ) ;
 687};
 688#line 69
 689struct exception_table_entry;
 690#line 69
 691struct exception_table_entry;
 692#line 198
 693enum module_state {
 694    MODULE_STATE_LIVE = 0,
 695    MODULE_STATE_COMING = 1,
 696    MODULE_STATE_GOING = 2
 697} ;
 698#line 204 "include/linux/module.h"
 699struct module_ref {
 700   unsigned long incs ;
 701   unsigned long decs ;
 702};
 703#line 219
 704struct module_sect_attrs;
 705#line 219
 706struct module_notes_attrs;
 707#line 219
 708struct ftrace_event_call;
 709#line 219 "include/linux/module.h"
 710struct module {
 711   enum module_state state ;
 712   struct list_head list ;
 713   char name[56U] ;
 714   struct module_kobject mkobj ;
 715   struct module_attribute *modinfo_attrs ;
 716   char const   *version ;
 717   char const   *srcversion ;
 718   struct kobject *holders_dir ;
 719   struct kernel_symbol  const  *syms ;
 720   unsigned long const   *crcs ;
 721   unsigned int num_syms ;
 722   struct kernel_param *kp ;
 723   unsigned int num_kp ;
 724   unsigned int num_gpl_syms ;
 725   struct kernel_symbol  const  *gpl_syms ;
 726   unsigned long const   *gpl_crcs ;
 727   struct kernel_symbol  const  *unused_syms ;
 728   unsigned long const   *unused_crcs ;
 729   unsigned int num_unused_syms ;
 730   unsigned int num_unused_gpl_syms ;
 731   struct kernel_symbol  const  *unused_gpl_syms ;
 732   unsigned long const   *unused_gpl_crcs ;
 733   struct kernel_symbol  const  *gpl_future_syms ;
 734   unsigned long const   *gpl_future_crcs ;
 735   unsigned int num_gpl_future_syms ;
 736   unsigned int num_exentries ;
 737   struct exception_table_entry *extable ;
 738   int (*init)(void) ;
 739   void *module_init ;
 740   void *module_core ;
 741   unsigned int init_size ;
 742   unsigned int core_size ;
 743   unsigned int init_text_size ;
 744   unsigned int core_text_size ;
 745   unsigned int init_ro_size ;
 746   unsigned int core_ro_size ;
 747   struct mod_arch_specific arch ;
 748   unsigned int taints ;
 749   unsigned int num_bugs ;
 750   struct list_head bug_list ;
 751   struct bug_entry *bug_table ;
 752   Elf64_Sym *symtab ;
 753   Elf64_Sym *core_symtab ;
 754   unsigned int num_symtab ;
 755   unsigned int core_num_syms ;
 756   char *strtab ;
 757   char *core_strtab ;
 758   struct module_sect_attrs *sect_attrs ;
 759   struct module_notes_attrs *notes_attrs ;
 760   char *args ;
 761   void *percpu ;
 762   unsigned int percpu_size ;
 763   unsigned int num_tracepoints ;
 764   struct tracepoint * const  *tracepoints_ptrs ;
 765   unsigned int num_trace_bprintk_fmt ;
 766   char const   **trace_bprintk_fmt_start ;
 767   struct ftrace_event_call **trace_events ;
 768   unsigned int num_trace_events ;
 769   struct list_head source_list ;
 770   struct list_head target_list ;
 771   struct task_struct *waiter ;
 772   void (*exit)(void) ;
 773   struct module_ref *refptr ;
 774   ctor_fn_t (**ctors)(void) ;
 775   unsigned int num_ctors ;
 776};
 777#line 88 "include/linux/kmemleak.h"
 778struct kmem_cache_cpu {
 779   void **freelist ;
 780   unsigned long tid ;
 781   struct page *page ;
 782   struct page *partial ;
 783   int node ;
 784   unsigned int stat[26U] ;
 785};
 786#line 55 "include/linux/slub_def.h"
 787struct kmem_cache_node {
 788   spinlock_t list_lock ;
 789   unsigned long nr_partial ;
 790   struct list_head partial ;
 791   atomic_long_t nr_slabs ;
 792   atomic_long_t total_objects ;
 793   struct list_head full ;
 794};
 795#line 66 "include/linux/slub_def.h"
 796struct kmem_cache_order_objects {
 797   unsigned long x ;
 798};
 799#line 76 "include/linux/slub_def.h"
 800struct kmem_cache {
 801   struct kmem_cache_cpu *cpu_slab ;
 802   unsigned long flags ;
 803   unsigned long min_partial ;
 804   int size ;
 805   int objsize ;
 806   int offset ;
 807   int cpu_partial ;
 808   struct kmem_cache_order_objects oo ;
 809   struct kmem_cache_order_objects max ;
 810   struct kmem_cache_order_objects min ;
 811   gfp_t allocflags ;
 812   int refcount ;
 813   void (*ctor)(void * ) ;
 814   int inuse ;
 815   int align ;
 816   int reserved ;
 817   char const   *name ;
 818   struct list_head list ;
 819   struct kobject kobj ;
 820   int remote_node_defrag_ratio ;
 821   struct kmem_cache_node *node[1024U] ;
 822};
 823#line 348 "include/linux/irq.h"
 824struct proc_dir_entry;
 825#line 348
 826struct proc_dir_entry;
 827#line 41 "include/asm-generic/sections.h"
 828struct exception_table_entry {
 829   unsigned long insn ;
 830   unsigned long fixup ;
 831};
 832#line 12 "include/linux/mod_devicetable.h"
 833typedef unsigned long kernel_ulong_t;
 834#line 13 "include/linux/mod_devicetable.h"
 835struct pci_device_id {
 836   __u32 vendor ;
 837   __u32 device ;
 838   __u32 subvendor ;
 839   __u32 subdevice ;
 840   __u32 class ;
 841   __u32 class_mask ;
 842   kernel_ulong_t driver_data ;
 843};
 844#line 215 "include/linux/mod_devicetable.h"
 845struct of_device_id {
 846   char name[32U] ;
 847   char type[32U] ;
 848   char compatible[128U] ;
 849   void *data ;
 850};
 851#line 584
 852struct klist_node;
 853#line 584
 854struct klist_node;
 855#line 37 "include/linux/klist.h"
 856struct klist_node {
 857   void *n_klist ;
 858   struct list_head n_node ;
 859   struct kref n_ref ;
 860};
 861#line 67
 862struct dma_map_ops;
 863#line 67 "include/linux/klist.h"
 864struct dev_archdata {
 865   void *acpi_handle ;
 866   struct dma_map_ops *dma_ops ;
 867   void *iommu ;
 868};
 869#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 870struct device_private;
 871#line 17
 872struct device_private;
 873#line 18
 874struct device_driver;
 875#line 18
 876struct device_driver;
 877#line 19
 878struct driver_private;
 879#line 19
 880struct driver_private;
 881#line 20
 882struct class;
 883#line 20
 884struct class;
 885#line 21
 886struct subsys_private;
 887#line 21
 888struct subsys_private;
 889#line 22
 890struct bus_type;
 891#line 22
 892struct bus_type;
 893#line 23
 894struct device_node;
 895#line 23
 896struct device_node;
 897#line 24
 898struct iommu_ops;
 899#line 24
 900struct iommu_ops;
 901#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 902struct bus_attribute {
 903   struct attribute attr ;
 904   ssize_t (*show)(struct bus_type * , char * ) ;
 905   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 906};
 907#line 51 "include/linux/device.h"
 908struct device_attribute;
 909#line 51
 910struct driver_attribute;
 911#line 51 "include/linux/device.h"
 912struct bus_type {
 913   char const   *name ;
 914   char const   *dev_name ;
 915   struct device *dev_root ;
 916   struct bus_attribute *bus_attrs ;
 917   struct device_attribute *dev_attrs ;
 918   struct driver_attribute *drv_attrs ;
 919   int (*match)(struct device * , struct device_driver * ) ;
 920   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 921   int (*probe)(struct device * ) ;
 922   int (*remove)(struct device * ) ;
 923   void (*shutdown)(struct device * ) ;
 924   int (*suspend)(struct device * , pm_message_t  ) ;
 925   int (*resume)(struct device * ) ;
 926   struct dev_pm_ops  const  *pm ;
 927   struct iommu_ops *iommu_ops ;
 928   struct subsys_private *p ;
 929};
 930#line 125
 931struct device_type;
 932#line 182 "include/linux/device.h"
 933struct device_driver {
 934   char const   *name ;
 935   struct bus_type *bus ;
 936   struct module *owner ;
 937   char const   *mod_name ;
 938   bool suppress_bind_attrs ;
 939   struct of_device_id  const  *of_match_table ;
 940   int (*probe)(struct device * ) ;
 941   int (*remove)(struct device * ) ;
 942   void (*shutdown)(struct device * ) ;
 943   int (*suspend)(struct device * , pm_message_t  ) ;
 944   int (*resume)(struct device * ) ;
 945   struct attribute_group  const  **groups ;
 946   struct dev_pm_ops  const  *pm ;
 947   struct driver_private *p ;
 948};
 949#line 245 "include/linux/device.h"
 950struct driver_attribute {
 951   struct attribute attr ;
 952   ssize_t (*show)(struct device_driver * , char * ) ;
 953   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 954};
 955#line 299
 956struct class_attribute;
 957#line 299 "include/linux/device.h"
 958struct class {
 959   char const   *name ;
 960   struct module *owner ;
 961   struct class_attribute *class_attrs ;
 962   struct device_attribute *dev_attrs ;
 963   struct bin_attribute *dev_bin_attrs ;
 964   struct kobject *dev_kobj ;
 965   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 966   char *(*devnode)(struct device * , umode_t * ) ;
 967   void (*class_release)(struct class * ) ;
 968   void (*dev_release)(struct device * ) ;
 969   int (*suspend)(struct device * , pm_message_t  ) ;
 970   int (*resume)(struct device * ) ;
 971   struct kobj_ns_type_operations  const  *ns_type ;
 972   void const   *(*namespace)(struct device * ) ;
 973   struct dev_pm_ops  const  *pm ;
 974   struct subsys_private *p ;
 975};
 976#line 394 "include/linux/device.h"
 977struct class_attribute {
 978   struct attribute attr ;
 979   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 980   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 981   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
 982};
 983#line 447 "include/linux/device.h"
 984struct device_type {
 985   char const   *name ;
 986   struct attribute_group  const  **groups ;
 987   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 988   char *(*devnode)(struct device * , umode_t * ) ;
 989   void (*release)(struct device * ) ;
 990   struct dev_pm_ops  const  *pm ;
 991};
 992#line 474 "include/linux/device.h"
 993struct device_attribute {
 994   struct attribute attr ;
 995   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 996   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 997                    size_t  ) ;
 998};
 999#line 557 "include/linux/device.h"
1000struct device_dma_parameters {
1001   unsigned int max_segment_size ;
1002   unsigned long segment_boundary_mask ;
1003};
1004#line 567
1005struct dma_coherent_mem;
1006#line 567 "include/linux/device.h"
1007struct device {
1008   struct device *parent ;
1009   struct device_private *p ;
1010   struct kobject kobj ;
1011   char const   *init_name ;
1012   struct device_type  const  *type ;
1013   struct mutex mutex ;
1014   struct bus_type *bus ;
1015   struct device_driver *driver ;
1016   void *platform_data ;
1017   struct dev_pm_info power ;
1018   struct dev_pm_domain *pm_domain ;
1019   int numa_node ;
1020   u64 *dma_mask ;
1021   u64 coherent_dma_mask ;
1022   struct device_dma_parameters *dma_parms ;
1023   struct list_head dma_pools ;
1024   struct dma_coherent_mem *dma_mem ;
1025   struct dev_archdata archdata ;
1026   struct device_node *of_node ;
1027   dev_t devt ;
1028   u32 id ;
1029   spinlock_t devres_lock ;
1030   struct list_head devres_head ;
1031   struct klist_node knode_class ;
1032   struct class *class ;
1033   struct attribute_group  const  **groups ;
1034   void (*release)(struct device * ) ;
1035};
1036#line 681 "include/linux/device.h"
1037struct wakeup_source {
1038   char const   *name ;
1039   struct list_head entry ;
1040   spinlock_t lock ;
1041   struct timer_list timer ;
1042   unsigned long timer_expires ;
1043   ktime_t total_time ;
1044   ktime_t max_time ;
1045   ktime_t last_time ;
1046   unsigned long event_count ;
1047   unsigned long active_count ;
1048   unsigned long relax_count ;
1049   unsigned long hit_count ;
1050   unsigned char active : 1 ;
1051};
1052#line 69 "include/linux/io.h"
1053struct hotplug_slot;
1054#line 69 "include/linux/io.h"
1055struct pci_slot {
1056   struct pci_bus *bus ;
1057   struct list_head list ;
1058   struct hotplug_slot *hotplug ;
1059   unsigned char number ;
1060   struct kobject kobj ;
1061};
1062#line 117 "include/linux/pci.h"
1063typedef int pci_power_t;
1064#line 143 "include/linux/pci.h"
1065typedef unsigned int pci_channel_state_t;
1066#line 144
1067enum pci_channel_state {
1068    pci_channel_io_normal = 1,
1069    pci_channel_io_frozen = 2,
1070    pci_channel_io_perm_failure = 3
1071} ;
1072#line 169 "include/linux/pci.h"
1073typedef unsigned short pci_dev_flags_t;
1074#line 186 "include/linux/pci.h"
1075typedef unsigned short pci_bus_flags_t;
1076#line 229
1077struct pcie_link_state;
1078#line 229
1079struct pcie_link_state;
1080#line 230
1081struct pci_vpd;
1082#line 230
1083struct pci_vpd;
1084#line 231
1085struct pci_sriov;
1086#line 231
1087struct pci_sriov;
1088#line 232
1089struct pci_ats;
1090#line 232
1091struct pci_ats;
1092#line 233
1093struct pci_driver;
1094#line 233 "include/linux/pci.h"
1095union __anonunion_ldv_16934_137 {
1096   struct pci_sriov *sriov ;
1097   struct pci_dev *physfn ;
1098};
1099#line 233 "include/linux/pci.h"
1100struct pci_dev {
1101   struct list_head bus_list ;
1102   struct pci_bus *bus ;
1103   struct pci_bus *subordinate ;
1104   void *sysdata ;
1105   struct proc_dir_entry *procent ;
1106   struct pci_slot *slot ;
1107   unsigned int devfn ;
1108   unsigned short vendor ;
1109   unsigned short device ;
1110   unsigned short subsystem_vendor ;
1111   unsigned short subsystem_device ;
1112   unsigned int class ;
1113   u8 revision ;
1114   u8 hdr_type ;
1115   u8 pcie_cap ;
1116   unsigned char pcie_type : 4 ;
1117   unsigned char pcie_mpss : 3 ;
1118   u8 rom_base_reg ;
1119   u8 pin ;
1120   struct pci_driver *driver ;
1121   u64 dma_mask ;
1122   struct device_dma_parameters dma_parms ;
1123   pci_power_t current_state ;
1124   int pm_cap ;
1125   unsigned char pme_support : 5 ;
1126   unsigned char pme_interrupt : 1 ;
1127   unsigned char pme_poll : 1 ;
1128   unsigned char d1_support : 1 ;
1129   unsigned char d2_support : 1 ;
1130   unsigned char no_d1d2 : 1 ;
1131   unsigned char mmio_always_on : 1 ;
1132   unsigned char wakeup_prepared : 1 ;
1133   unsigned int d3_delay ;
1134   struct pcie_link_state *link_state ;
1135   pci_channel_state_t error_state ;
1136   struct device dev ;
1137   int cfg_size ;
1138   unsigned int irq ;
1139   struct resource resource[17U] ;
1140   unsigned char transparent : 1 ;
1141   unsigned char multifunction : 1 ;
1142   unsigned char is_added : 1 ;
1143   unsigned char is_busmaster : 1 ;
1144   unsigned char no_msi : 1 ;
1145   unsigned char block_cfg_access : 1 ;
1146   unsigned char broken_parity_status : 1 ;
1147   unsigned char irq_reroute_variant : 2 ;
1148   unsigned char msi_enabled : 1 ;
1149   unsigned char msix_enabled : 1 ;
1150   unsigned char ari_enabled : 1 ;
1151   unsigned char is_managed : 1 ;
1152   unsigned char is_pcie : 1 ;
1153   unsigned char needs_freset : 1 ;
1154   unsigned char state_saved : 1 ;
1155   unsigned char is_physfn : 1 ;
1156   unsigned char is_virtfn : 1 ;
1157   unsigned char reset_fn : 1 ;
1158   unsigned char is_hotplug_bridge : 1 ;
1159   unsigned char __aer_firmware_first_valid : 1 ;
1160   unsigned char __aer_firmware_first : 1 ;
1161   pci_dev_flags_t dev_flags ;
1162   atomic_t enable_cnt ;
1163   u32 saved_config_space[16U] ;
1164   struct hlist_head saved_cap_space ;
1165   struct bin_attribute *rom_attr ;
1166   int rom_attr_enabled ;
1167   struct bin_attribute *res_attr[17U] ;
1168   struct bin_attribute *res_attr_wc[17U] ;
1169   struct list_head msi_list ;
1170   struct kset *msi_kset ;
1171   struct pci_vpd *vpd ;
1172   union __anonunion_ldv_16934_137 ldv_16934 ;
1173   struct pci_ats *ats ;
1174};
1175#line 403
1176struct pci_ops;
1177#line 403 "include/linux/pci.h"
1178struct pci_bus {
1179   struct list_head node ;
1180   struct pci_bus *parent ;
1181   struct list_head children ;
1182   struct list_head devices ;
1183   struct pci_dev *self ;
1184   struct list_head slots ;
1185   struct resource *resource[4U] ;
1186   struct list_head resources ;
1187   struct pci_ops *ops ;
1188   void *sysdata ;
1189   struct proc_dir_entry *procdir ;
1190   unsigned char number ;
1191   unsigned char primary ;
1192   unsigned char secondary ;
1193   unsigned char subordinate ;
1194   unsigned char max_bus_speed ;
1195   unsigned char cur_bus_speed ;
1196   char name[48U] ;
1197   unsigned short bridge_ctl ;
1198   pci_bus_flags_t bus_flags ;
1199   struct device *bridge ;
1200   struct device dev ;
1201   struct bin_attribute *legacy_io ;
1202   struct bin_attribute *legacy_mem ;
1203   unsigned char is_added : 1 ;
1204};
1205#line 455 "include/linux/pci.h"
1206struct pci_ops {
1207   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
1208   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
1209};
1210#line 490 "include/linux/pci.h"
1211struct pci_dynids {
1212   spinlock_t lock ;
1213   struct list_head list ;
1214};
1215#line 503 "include/linux/pci.h"
1216typedef unsigned int pci_ers_result_t;
1217#line 512 "include/linux/pci.h"
1218struct pci_error_handlers {
1219   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
1220   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
1221   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
1222   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
1223   void (*resume)(struct pci_dev * ) ;
1224};
1225#line 540 "include/linux/pci.h"
1226struct pci_driver {
1227   struct list_head node ;
1228   char const   *name ;
1229   struct pci_device_id  const  *id_table ;
1230   int (*probe)(struct pci_dev * , struct pci_device_id  const  * ) ;
1231   void (*remove)(struct pci_dev * ) ;
1232   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
1233   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
1234   int (*resume_early)(struct pci_dev * ) ;
1235   int (*resume)(struct pci_dev * ) ;
1236   void (*shutdown)(struct pci_dev * ) ;
1237   struct pci_error_handlers *err_handler ;
1238   struct device_driver driver ;
1239   struct pci_dynids dynids ;
1240};
1241#line 986 "include/linux/pci.h"
1242struct scatterlist {
1243   unsigned long sg_magic ;
1244   unsigned long page_link ;
1245   unsigned int offset ;
1246   unsigned int length ;
1247   dma_addr_t dma_address ;
1248   unsigned int dma_length ;
1249};
1250#line 1134
1251struct prio_tree_node;
1252#line 1134 "include/linux/pci.h"
1253struct raw_prio_tree_node {
1254   struct prio_tree_node *left ;
1255   struct prio_tree_node *right ;
1256   struct prio_tree_node *parent ;
1257};
1258#line 19 "include/linux/prio_tree.h"
1259struct prio_tree_node {
1260   struct prio_tree_node *left ;
1261   struct prio_tree_node *right ;
1262   struct prio_tree_node *parent ;
1263   unsigned long start ;
1264   unsigned long last ;
1265};
1266#line 116
1267struct address_space;
1268#line 116
1269struct address_space;
1270#line 117 "include/linux/prio_tree.h"
1271union __anonunion_ldv_17806_139 {
1272   unsigned long index ;
1273   void *freelist ;
1274};
1275#line 117 "include/linux/prio_tree.h"
1276struct __anonstruct_ldv_17816_143 {
1277   unsigned short inuse ;
1278   unsigned short objects : 15 ;
1279   unsigned char frozen : 1 ;
1280};
1281#line 117 "include/linux/prio_tree.h"
1282union __anonunion_ldv_17817_142 {
1283   atomic_t _mapcount ;
1284   struct __anonstruct_ldv_17816_143 ldv_17816 ;
1285};
1286#line 117 "include/linux/prio_tree.h"
1287struct __anonstruct_ldv_17819_141 {
1288   union __anonunion_ldv_17817_142 ldv_17817 ;
1289   atomic_t _count ;
1290};
1291#line 117 "include/linux/prio_tree.h"
1292union __anonunion_ldv_17820_140 {
1293   unsigned long counters ;
1294   struct __anonstruct_ldv_17819_141 ldv_17819 ;
1295};
1296#line 117 "include/linux/prio_tree.h"
1297struct __anonstruct_ldv_17821_138 {
1298   union __anonunion_ldv_17806_139 ldv_17806 ;
1299   union __anonunion_ldv_17820_140 ldv_17820 ;
1300};
1301#line 117 "include/linux/prio_tree.h"
1302struct __anonstruct_ldv_17828_145 {
1303   struct page *next ;
1304   int pages ;
1305   int pobjects ;
1306};
1307#line 117 "include/linux/prio_tree.h"
1308union __anonunion_ldv_17829_144 {
1309   struct list_head lru ;
1310   struct __anonstruct_ldv_17828_145 ldv_17828 ;
1311};
1312#line 117 "include/linux/prio_tree.h"
1313union __anonunion_ldv_17834_146 {
1314   unsigned long private ;
1315   struct kmem_cache *slab ;
1316   struct page *first_page ;
1317};
1318#line 117 "include/linux/prio_tree.h"
1319struct page {
1320   unsigned long flags ;
1321   struct address_space *mapping ;
1322   struct __anonstruct_ldv_17821_138 ldv_17821 ;
1323   union __anonunion_ldv_17829_144 ldv_17829 ;
1324   union __anonunion_ldv_17834_146 ldv_17834 ;
1325   unsigned long debug_flags ;
1326};
1327#line 192 "include/linux/mm_types.h"
1328struct __anonstruct_vm_set_148 {
1329   struct list_head list ;
1330   void *parent ;
1331   struct vm_area_struct *head ;
1332};
1333#line 192 "include/linux/mm_types.h"
1334union __anonunion_shared_147 {
1335   struct __anonstruct_vm_set_148 vm_set ;
1336   struct raw_prio_tree_node prio_tree_node ;
1337};
1338#line 192
1339struct anon_vma;
1340#line 192
1341struct vm_operations_struct;
1342#line 192
1343struct mempolicy;
1344#line 192 "include/linux/mm_types.h"
1345struct vm_area_struct {
1346   struct mm_struct *vm_mm ;
1347   unsigned long vm_start ;
1348   unsigned long vm_end ;
1349   struct vm_area_struct *vm_next ;
1350   struct vm_area_struct *vm_prev ;
1351   pgprot_t vm_page_prot ;
1352   unsigned long vm_flags ;
1353   struct rb_node vm_rb ;
1354   union __anonunion_shared_147 shared ;
1355   struct list_head anon_vma_chain ;
1356   struct anon_vma *anon_vma ;
1357   struct vm_operations_struct  const  *vm_ops ;
1358   unsigned long vm_pgoff ;
1359   struct file *vm_file ;
1360   void *vm_private_data ;
1361   struct mempolicy *vm_policy ;
1362};
1363#line 255 "include/linux/mm_types.h"
1364struct core_thread {
1365   struct task_struct *task ;
1366   struct core_thread *next ;
1367};
1368#line 261 "include/linux/mm_types.h"
1369struct core_state {
1370   atomic_t nr_threads ;
1371   struct core_thread dumper ;
1372   struct completion startup ;
1373};
1374#line 274 "include/linux/mm_types.h"
1375struct mm_rss_stat {
1376   atomic_long_t count[3U] ;
1377};
1378#line 287
1379struct linux_binfmt;
1380#line 287
1381struct mmu_notifier_mm;
1382#line 287 "include/linux/mm_types.h"
1383struct mm_struct {
1384   struct vm_area_struct *mmap ;
1385   struct rb_root mm_rb ;
1386   struct vm_area_struct *mmap_cache ;
1387   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1388                                      unsigned long  , unsigned long  ) ;
1389   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1390   unsigned long mmap_base ;
1391   unsigned long task_size ;
1392   unsigned long cached_hole_size ;
1393   unsigned long free_area_cache ;
1394   pgd_t *pgd ;
1395   atomic_t mm_users ;
1396   atomic_t mm_count ;
1397   int map_count ;
1398   spinlock_t page_table_lock ;
1399   struct rw_semaphore mmap_sem ;
1400   struct list_head mmlist ;
1401   unsigned long hiwater_rss ;
1402   unsigned long hiwater_vm ;
1403   unsigned long total_vm ;
1404   unsigned long locked_vm ;
1405   unsigned long pinned_vm ;
1406   unsigned long shared_vm ;
1407   unsigned long exec_vm ;
1408   unsigned long stack_vm ;
1409   unsigned long reserved_vm ;
1410   unsigned long def_flags ;
1411   unsigned long nr_ptes ;
1412   unsigned long start_code ;
1413   unsigned long end_code ;
1414   unsigned long start_data ;
1415   unsigned long end_data ;
1416   unsigned long start_brk ;
1417   unsigned long brk ;
1418   unsigned long start_stack ;
1419   unsigned long arg_start ;
1420   unsigned long arg_end ;
1421   unsigned long env_start ;
1422   unsigned long env_end ;
1423   unsigned long saved_auxv[44U] ;
1424   struct mm_rss_stat rss_stat ;
1425   struct linux_binfmt *binfmt ;
1426   cpumask_var_t cpu_vm_mask_var ;
1427   mm_context_t context ;
1428   unsigned int faultstamp ;
1429   unsigned int token_priority ;
1430   unsigned int last_interval ;
1431   unsigned long flags ;
1432   struct core_state *core_state ;
1433   spinlock_t ioctx_lock ;
1434   struct hlist_head ioctx_list ;
1435   struct task_struct *owner ;
1436   struct file *exe_file ;
1437   unsigned long num_exe_file_vmas ;
1438   struct mmu_notifier_mm *mmu_notifier_mm ;
1439   pgtable_t pmd_huge_pte ;
1440   struct cpumask cpumask_allocation ;
1441};
1442#line 178 "include/linux/mm.h"
1443struct vm_fault {
1444   unsigned int flags ;
1445   unsigned long pgoff ;
1446   void *virtual_address ;
1447   struct page *page ;
1448};
1449#line 195 "include/linux/mm.h"
1450struct vm_operations_struct {
1451   void (*open)(struct vm_area_struct * ) ;
1452   void (*close)(struct vm_area_struct * ) ;
1453   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1454   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1455   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
1456   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1457   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
1458   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
1459                  unsigned long  ) ;
1460};
1461#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
1462struct dma_attrs {
1463   unsigned long flags[1U] ;
1464};
1465#line 67 "include/linux/dma-attrs.h"
1466enum dma_data_direction {
1467    DMA_BIDIRECTIONAL = 0,
1468    DMA_TO_DEVICE = 1,
1469    DMA_FROM_DEVICE = 2,
1470    DMA_NONE = 3
1471} ;
1472#line 268 "include/linux/scatterlist.h"
1473struct dma_map_ops {
1474   void *(*alloc)(struct device * , size_t  , dma_addr_t * , gfp_t  , struct dma_attrs * ) ;
1475   void (*free)(struct device * , size_t  , void * , dma_addr_t  , struct dma_attrs * ) ;
1476   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
1477               size_t  , struct dma_attrs * ) ;
1478   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
1479                          enum dma_data_direction  , struct dma_attrs * ) ;
1480   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
1481                      struct dma_attrs * ) ;
1482   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
1483                 struct dma_attrs * ) ;
1484   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
1485                    struct dma_attrs * ) ;
1486   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
1487   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
1488   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
1489   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
1490   int (*mapping_error)(struct device * , dma_addr_t  ) ;
1491   int (*dma_supported)(struct device * , u64  ) ;
1492   int (*set_dma_mask)(struct device * , u64  ) ;
1493   int is_phys ;
1494};
1495#line 71 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/masters/../w1_family.h"
1496struct w1_master;
1497#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/masters/../w1.h"
1498struct w1_bus_master {
1499   void *data ;
1500   u8 (*read_bit)(void * ) ;
1501   void (*write_bit)(void * , u8  ) ;
1502   u8 (*touch_bit)(void * , u8  ) ;
1503   u8 (*read_byte)(void * ) ;
1504   void (*write_byte)(void * , u8  ) ;
1505   u8 (*read_block)(void * , u8 * , int  ) ;
1506   void (*write_block)(void * , u8 const   * , int  ) ;
1507   u8 (*triplet)(void * , u8  ) ;
1508   u8 (*reset_bus)(void * ) ;
1509   u8 (*set_pullup)(void * , int  ) ;
1510   void (*search)(void * , struct w1_master * , u8  , void (*)(struct w1_master * ,
1511                                                               u64  ) ) ;
1512};
1513#line 156 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/masters/../w1.h"
1514struct w1_master {
1515   struct list_head w1_master_entry ;
1516   struct module *owner ;
1517   unsigned char name[32U] ;
1518   struct list_head slist ;
1519   int max_slave_count ;
1520   int slave_count ;
1521   unsigned long attempts ;
1522   int slave_ttl ;
1523   int initialized ;
1524   u32 id ;
1525   int search_count ;
1526   atomic_t refcnt ;
1527   void *priv ;
1528   int priv_size ;
1529   int enable_pullup ;
1530   int pullup_duration ;
1531   struct task_struct *thread ;
1532   struct mutex mutex ;
1533   struct device_driver *driver ;
1534   struct device dev ;
1535   struct w1_bus_master *bus_master ;
1536   u32 seq ;
1537};
1538#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1539struct matrox_device {
1540   void *base_addr ;
1541   void *port_index ;
1542   void *port_data ;
1543   u8 data_mask ;
1544   unsigned long phys_addr ;
1545   void *virt_addr ;
1546   unsigned long found ;
1547   struct w1_bus_master *bus_master ;
1548};
1549#line 1 "<compiler builtins>"
1550long __builtin_expect(long  , long  ) ;
1551#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1552void ldv_spin_lock(void) ;
1553#line 3
1554void ldv_spin_unlock(void) ;
1555#line 4
1556int ldv_spin_trylock(void) ;
1557#line 101 "include/linux/printk.h"
1558extern int printk(char const   *  , ...) ;
1559#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1560__inline static unsigned char readb(void const volatile   *addr ) 
1561{ unsigned char ret ;
1562  unsigned char volatile   *__cil_tmp3 ;
1563
1564  {
1565#line 53
1566  __cil_tmp3 = (unsigned char volatile   *)addr;
1567#line 53
1568  __asm__  volatile   ("movb %1,%0": "=q" (ret): "m" (*__cil_tmp3): "memory");
1569#line 53
1570  return (ret);
1571}
1572}
1573#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1574__inline static void writeb(unsigned char val , void volatile   *addr ) 
1575{ unsigned char volatile   *__cil_tmp3 ;
1576
1577  {
1578#line 61
1579  __cil_tmp3 = (unsigned char volatile   *)addr;
1580#line 61
1581  __asm__  volatile   ("movb %0,%1": : "q" (val), "m" (*__cil_tmp3): "memory");
1582#line 62
1583  return;
1584}
1585}
1586#line 174
1587extern void *ioremap_nocache(resource_size_t  , unsigned long  ) ;
1588#line 187
1589extern void iounmap(void volatile   * ) ;
1590#line 26 "include/linux/export.h"
1591extern struct module __this_module ;
1592#line 161 "include/linux/slab.h"
1593extern void kfree(void const   * ) ;
1594#line 220 "include/linux/slub_def.h"
1595extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
1596#line 223
1597void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1598#line 353 "include/linux/slab.h"
1599__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1600#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1601extern void *__VERIFIER_nondet_pointer(void) ;
1602#line 11
1603void ldv_check_alloc_flags(gfp_t flags ) ;
1604#line 12
1605void ldv_check_alloc_nonatomic(void) ;
1606#line 14
1607struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1608#line 792 "include/linux/device.h"
1609extern void *dev_get_drvdata(struct device  const  * ) ;
1610#line 793
1611extern int dev_set_drvdata(struct device * , void * ) ;
1612#line 892
1613extern int dev_err(struct device  const  * , char const   *  , ...) ;
1614#line 898
1615extern int _dev_info(struct device  const  * , char const   *  , ...) ;
1616#line 940 "include/linux/pci.h"
1617extern int __pci_register_driver(struct pci_driver * , struct module * , char const   * ) ;
1618#line 949
1619extern void pci_unregister_driver(struct pci_driver * ) ;
1620#line 1358 "include/linux/pci.h"
1621__inline static void *pci_get_drvdata(struct pci_dev *pdev ) 
1622{ void *tmp ;
1623  unsigned long __cil_tmp3 ;
1624  unsigned long __cil_tmp4 ;
1625  struct device *__cil_tmp5 ;
1626  struct device  const  *__cil_tmp6 ;
1627
1628  {
1629  {
1630#line 1360
1631  __cil_tmp3 = (unsigned long )pdev;
1632#line 1360
1633  __cil_tmp4 = __cil_tmp3 + 144;
1634#line 1360
1635  __cil_tmp5 = (struct device *)__cil_tmp4;
1636#line 1360
1637  __cil_tmp6 = (struct device  const  *)__cil_tmp5;
1638#line 1360
1639  tmp = dev_get_drvdata(__cil_tmp6);
1640  }
1641#line 1360
1642  return (tmp);
1643}
1644}
1645#line 1363 "include/linux/pci.h"
1646__inline static void pci_set_drvdata(struct pci_dev *pdev , void *data ) 
1647{ unsigned long __cil_tmp3 ;
1648  unsigned long __cil_tmp4 ;
1649  struct device *__cil_tmp5 ;
1650
1651  {
1652  {
1653#line 1365
1654  __cil_tmp3 = (unsigned long )pdev;
1655#line 1365
1656  __cil_tmp4 = __cil_tmp3 + 144;
1657#line 1365
1658  __cil_tmp5 = (struct device *)__cil_tmp4;
1659#line 1365
1660  dev_set_drvdata(__cil_tmp5, data);
1661  }
1662#line 1366
1663  return;
1664}
1665}
1666#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/masters/../w1_int.h"
1667extern int w1_add_master_device(struct w1_bus_master * ) ;
1668#line 31
1669extern void w1_remove_master_device(struct w1_bus_master * ) ;
1670#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1671static struct pci_device_id matrox_w1_tbl[2U]  = {      {4139U, 1317U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, 
1672        {0U, 0U, 0U, 0U, 0U, 0U, 0UL}};
1673#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1674struct pci_device_id  const  __mod_pci_device_table  ;
1675#line 66
1676static int matrox_w1_probe(struct pci_dev *pdev , struct pci_device_id  const  *ent ) ;
1677#line 67
1678static void matrox_w1_remove(struct pci_dev *pdev ) ;
1679#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1680static struct pci_driver matrox_w1_pci_driver  = 
1681#line 69
1682     {{(struct list_head *)0, (struct list_head *)0}, "matrox_w1", (struct pci_device_id  const  *)(& matrox_w1_tbl),
1683    & matrox_w1_probe, & matrox_w1_remove, (int (*)(struct pci_dev * , pm_message_t  ))0,
1684    (int (*)(struct pci_dev * , pm_message_t  ))0, (int (*)(struct pci_dev * ))0,
1685    (int (*)(struct pci_dev * ))0, (void (*)(struct pci_dev * ))0, (struct pci_error_handlers *)0,
1686    {(char const   *)0, (struct bus_type *)0, (struct module *)0, (char const   *)0,
1687     (_Bool)0, (struct of_device_id  const  *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
1688     (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t  ))0,
1689     (int (*)(struct device * ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
1690     (struct driver_private *)0}, {{{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
1691                                                                  {(struct lock_class *)0,
1692                                                                   (struct lock_class *)0},
1693                                                                  (char const   *)0,
1694                                                                  0, 0UL}}}}, {(struct list_head *)0,
1695                                                                               (struct list_head *)0}}};
1696#line 107
1697static u8 matrox_w1_read_ddc_bit(void *data ) ;
1698#line 108
1699static void matrox_w1_write_ddc_bit(void *data , u8 bit ) ;
1700#line 121 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1701__inline static u8 matrox_w1_read_reg(struct matrox_device *dev , u8 reg ) 
1702{ u8 ret ;
1703  int __cil_tmp4 ;
1704  unsigned char __cil_tmp5 ;
1705  unsigned long __cil_tmp6 ;
1706  unsigned long __cil_tmp7 ;
1707  void *__cil_tmp8 ;
1708  void volatile   *__cil_tmp9 ;
1709  unsigned long __cil_tmp10 ;
1710  unsigned long __cil_tmp11 ;
1711  void *__cil_tmp12 ;
1712  void const volatile   *__cil_tmp13 ;
1713
1714  {
1715  {
1716#line 125
1717  __cil_tmp4 = (int )reg;
1718#line 125
1719  __cil_tmp5 = (unsigned char )__cil_tmp4;
1720#line 125
1721  __cil_tmp6 = (unsigned long )dev;
1722#line 125
1723  __cil_tmp7 = __cil_tmp6 + 8;
1724#line 125
1725  __cil_tmp8 = *((void **)__cil_tmp7);
1726#line 125
1727  __cil_tmp9 = (void volatile   *)__cil_tmp8;
1728#line 125
1729  writeb(__cil_tmp5, __cil_tmp9);
1730#line 126
1731  __cil_tmp10 = (unsigned long )dev;
1732#line 126
1733  __cil_tmp11 = __cil_tmp10 + 16;
1734#line 126
1735  __cil_tmp12 = *((void **)__cil_tmp11);
1736#line 126
1737  __cil_tmp13 = (void const volatile   *)__cil_tmp12;
1738#line 126
1739  ret = readb(__cil_tmp13);
1740#line 127
1741  __asm__  volatile   ("": : : "memory");
1742  }
1743#line 129
1744  return (ret);
1745}
1746}
1747#line 132 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1748__inline static void matrox_w1_write_reg(struct matrox_device *dev , u8 reg , u8 val ) 
1749{ int __cil_tmp4 ;
1750  unsigned char __cil_tmp5 ;
1751  unsigned long __cil_tmp6 ;
1752  unsigned long __cil_tmp7 ;
1753  void *__cil_tmp8 ;
1754  void volatile   *__cil_tmp9 ;
1755  int __cil_tmp10 ;
1756  unsigned char __cil_tmp11 ;
1757  unsigned long __cil_tmp12 ;
1758  unsigned long __cil_tmp13 ;
1759  void *__cil_tmp14 ;
1760  void volatile   *__cil_tmp15 ;
1761
1762  {
1763  {
1764#line 134
1765  __cil_tmp4 = (int )reg;
1766#line 134
1767  __cil_tmp5 = (unsigned char )__cil_tmp4;
1768#line 134
1769  __cil_tmp6 = (unsigned long )dev;
1770#line 134
1771  __cil_tmp7 = __cil_tmp6 + 8;
1772#line 134
1773  __cil_tmp8 = *((void **)__cil_tmp7);
1774#line 134
1775  __cil_tmp9 = (void volatile   *)__cil_tmp8;
1776#line 134
1777  writeb(__cil_tmp5, __cil_tmp9);
1778#line 135
1779  __cil_tmp10 = (int )val;
1780#line 135
1781  __cil_tmp11 = (unsigned char )__cil_tmp10;
1782#line 135
1783  __cil_tmp12 = (unsigned long )dev;
1784#line 135
1785  __cil_tmp13 = __cil_tmp12 + 16;
1786#line 135
1787  __cil_tmp14 = *((void **)__cil_tmp13);
1788#line 135
1789  __cil_tmp15 = (void volatile   *)__cil_tmp14;
1790#line 135
1791  writeb(__cil_tmp11, __cil_tmp15);
1792#line 136
1793  __asm__  volatile   ("sfence": : : "memory");
1794  }
1795#line 137
1796  return;
1797}
1798}
1799#line 139 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1800static void matrox_w1_write_ddc_bit(void *data , u8 bit ) 
1801{ u8 ret ;
1802  struct matrox_device *dev ;
1803  unsigned int __cil_tmp5 ;
1804  unsigned long __cil_tmp6 ;
1805  unsigned long __cil_tmp7 ;
1806  u8 __cil_tmp8 ;
1807  u8 __cil_tmp9 ;
1808  signed char __cil_tmp10 ;
1809  int __cil_tmp11 ;
1810  signed char __cil_tmp12 ;
1811  int __cil_tmp13 ;
1812  unsigned long __cil_tmp14 ;
1813  unsigned long __cil_tmp15 ;
1814  u8 __cil_tmp16 ;
1815  signed char __cil_tmp17 ;
1816  int __cil_tmp18 ;
1817  int __cil_tmp19 ;
1818  int __cil_tmp20 ;
1819  int __cil_tmp21 ;
1820  u8 __cil_tmp22 ;
1821  int __cil_tmp23 ;
1822  u8 __cil_tmp24 ;
1823  u8 __cil_tmp25 ;
1824  u8 __cil_tmp26 ;
1825
1826  {
1827#line 142
1828  dev = (struct matrox_device *)data;
1829  {
1830#line 144
1831  __cil_tmp5 = (unsigned int )bit;
1832#line 144
1833  if (__cil_tmp5 != 0U) {
1834#line 145
1835    bit = (u8 )0U;
1836  } else {
1837#line 147
1838    __cil_tmp6 = (unsigned long )dev;
1839#line 147
1840    __cil_tmp7 = __cil_tmp6 + 24;
1841#line 147
1842    bit = *((u8 *)__cil_tmp7);
1843  }
1844  }
1845  {
1846#line 149
1847  __cil_tmp8 = (u8 )42;
1848#line 149
1849  ret = matrox_w1_read_reg(dev, __cil_tmp8);
1850#line 150
1851  __cil_tmp9 = (u8 )42;
1852#line 150
1853  __cil_tmp10 = (signed char )bit;
1854#line 150
1855  __cil_tmp11 = (int )__cil_tmp10;
1856#line 150
1857  __cil_tmp12 = (signed char )ret;
1858#line 150
1859  __cil_tmp13 = (int )__cil_tmp12;
1860#line 150
1861  __cil_tmp14 = (unsigned long )dev;
1862#line 150
1863  __cil_tmp15 = __cil_tmp14 + 24;
1864#line 150
1865  __cil_tmp16 = *((u8 *)__cil_tmp15);
1866#line 150
1867  __cil_tmp17 = (signed char )__cil_tmp16;
1868#line 150
1869  __cil_tmp18 = (int )__cil_tmp17;
1870#line 150
1871  __cil_tmp19 = ~ __cil_tmp18;
1872#line 150
1873  __cil_tmp20 = __cil_tmp19 & __cil_tmp13;
1874#line 150
1875  __cil_tmp21 = __cil_tmp20 | __cil_tmp11;
1876#line 150
1877  __cil_tmp22 = (u8 )__cil_tmp21;
1878#line 150
1879  __cil_tmp23 = (int )__cil_tmp22;
1880#line 150
1881  __cil_tmp24 = (u8 )__cil_tmp23;
1882#line 150
1883  matrox_w1_write_reg(dev, __cil_tmp9, __cil_tmp24);
1884#line 151
1885  __cil_tmp25 = (u8 )43;
1886#line 151
1887  __cil_tmp26 = (u8 )0;
1888#line 151
1889  matrox_w1_write_reg(dev, __cil_tmp25, __cil_tmp26);
1890  }
1891#line 152
1892  return;
1893}
1894}
1895#line 154 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1896static u8 matrox_w1_read_ddc_bit(void *data ) 
1897{ u8 ret ;
1898  struct matrox_device *dev ;
1899  u8 __cil_tmp4 ;
1900
1901  {
1902  {
1903#line 157
1904  dev = (struct matrox_device *)data;
1905#line 159
1906  __cil_tmp4 = (u8 )43;
1907#line 159
1908  ret = matrox_w1_read_reg(dev, __cil_tmp4);
1909  }
1910#line 161
1911  return (ret);
1912}
1913}
1914#line 164 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1915static void matrox_w1_hw_init(struct matrox_device *dev ) 
1916{ u8 __cil_tmp2 ;
1917  u8 __cil_tmp3 ;
1918  u8 __cil_tmp4 ;
1919  u8 __cil_tmp5 ;
1920
1921  {
1922  {
1923#line 166
1924  __cil_tmp2 = (u8 )43;
1925#line 166
1926  __cil_tmp3 = (u8 )255;
1927#line 166
1928  matrox_w1_write_reg(dev, __cil_tmp2, __cil_tmp3);
1929#line 167
1930  __cil_tmp4 = (u8 )42;
1931#line 167
1932  __cil_tmp5 = (u8 )0;
1933#line 167
1934  matrox_w1_write_reg(dev, __cil_tmp4, __cil_tmp5);
1935  }
1936#line 168
1937  return;
1938}
1939}
1940#line 170 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
1941static int matrox_w1_probe(struct pci_dev *pdev , struct pci_device_id  const  *ent ) 
1942{ struct matrox_device *dev ;
1943  int err ;
1944  long tmp ;
1945  long tmp___0 ;
1946  void *tmp___1 ;
1947  struct pci_dev *__cil_tmp8 ;
1948  unsigned long __cil_tmp9 ;
1949  unsigned long __cil_tmp10 ;
1950  int __cil_tmp11 ;
1951  long __cil_tmp12 ;
1952  char *__cil_tmp13 ;
1953  char *__cil_tmp14 ;
1954  struct pci_device_id  const  *__cil_tmp15 ;
1955  unsigned long __cil_tmp16 ;
1956  unsigned long __cil_tmp17 ;
1957  int __cil_tmp18 ;
1958  long __cil_tmp19 ;
1959  char *__cil_tmp20 ;
1960  char *__cil_tmp21 ;
1961  unsigned long __cil_tmp22 ;
1962  unsigned long __cil_tmp23 ;
1963  unsigned short __cil_tmp24 ;
1964  unsigned int __cil_tmp25 ;
1965  unsigned long __cil_tmp26 ;
1966  unsigned long __cil_tmp27 ;
1967  unsigned short __cil_tmp28 ;
1968  unsigned int __cil_tmp29 ;
1969  struct matrox_device *__cil_tmp30 ;
1970  unsigned long __cil_tmp31 ;
1971  unsigned long __cil_tmp32 ;
1972  unsigned long __cil_tmp33 ;
1973  unsigned long __cil_tmp34 ;
1974  struct device *__cil_tmp35 ;
1975  struct device  const  *__cil_tmp36 ;
1976  unsigned long __cil_tmp37 ;
1977  unsigned long __cil_tmp38 ;
1978  struct w1_bus_master *__cil_tmp39 ;
1979  unsigned long __cil_tmp40 ;
1980  unsigned long __cil_tmp41 ;
1981  unsigned long __cil_tmp42 ;
1982  unsigned long __cil_tmp43 ;
1983  unsigned long __cil_tmp44 ;
1984  unsigned long __cil_tmp45 ;
1985  resource_size_t __cil_tmp46 ;
1986  unsigned long __cil_tmp47 ;
1987  unsigned long __cil_tmp48 ;
1988  unsigned long __cil_tmp49 ;
1989  unsigned long __cil_tmp50 ;
1990  unsigned long __cil_tmp51 ;
1991  resource_size_t __cil_tmp52 ;
1992  void *__cil_tmp53 ;
1993  unsigned long __cil_tmp54 ;
1994  unsigned long __cil_tmp55 ;
1995  unsigned long __cil_tmp56 ;
1996  void *__cil_tmp57 ;
1997  unsigned long __cil_tmp58 ;
1998  unsigned long __cil_tmp59 ;
1999  unsigned long __cil_tmp60 ;
2000  struct device *__cil_tmp61 ;
2001  struct device  const  *__cil_tmp62 ;
2002  unsigned long __cil_tmp63 ;
2003  unsigned long __cil_tmp64 ;
2004  unsigned long __cil_tmp65 ;
2005  unsigned long __cil_tmp66 ;
2006  unsigned long __cil_tmp67 ;
2007  void *__cil_tmp68 ;
2008  unsigned long __cil_tmp69 ;
2009  unsigned long __cil_tmp70 ;
2010  unsigned long __cil_tmp71 ;
2011  unsigned long __cil_tmp72 ;
2012  void *__cil_tmp73 ;
2013  unsigned long __cil_tmp74 ;
2014  unsigned long __cil_tmp75 ;
2015  unsigned long __cil_tmp76 ;
2016  unsigned long __cil_tmp77 ;
2017  struct w1_bus_master *__cil_tmp78 ;
2018  unsigned long __cil_tmp79 ;
2019  unsigned long __cil_tmp80 ;
2020  struct w1_bus_master *__cil_tmp81 ;
2021  unsigned long __cil_tmp82 ;
2022  unsigned long __cil_tmp83 ;
2023  unsigned long __cil_tmp84 ;
2024  unsigned long __cil_tmp85 ;
2025  struct w1_bus_master *__cil_tmp86 ;
2026  unsigned long __cil_tmp87 ;
2027  unsigned long __cil_tmp88 ;
2028  unsigned long __cil_tmp89 ;
2029  unsigned long __cil_tmp90 ;
2030  struct w1_bus_master *__cil_tmp91 ;
2031  void *__cil_tmp92 ;
2032  unsigned long __cil_tmp93 ;
2033  unsigned long __cil_tmp94 ;
2034  unsigned long __cil_tmp95 ;
2035  unsigned long __cil_tmp96 ;
2036  struct device *__cil_tmp97 ;
2037  struct device  const  *__cil_tmp98 ;
2038  void *__cil_tmp99 ;
2039  unsigned long __cil_tmp100 ;
2040  unsigned long __cil_tmp101 ;
2041  unsigned long __cil_tmp102 ;
2042  void *__cil_tmp103 ;
2043  unsigned long __cil_tmp104 ;
2044  unsigned long __cil_tmp105 ;
2045  unsigned long __cil_tmp106 ;
2046  void *__cil_tmp107 ;
2047  void volatile   *__cil_tmp108 ;
2048  void const   *__cil_tmp109 ;
2049
2050  {
2051  {
2052#line 175
2053  __cil_tmp8 = (struct pci_dev *)0;
2054#line 175
2055  __cil_tmp9 = (unsigned long )__cil_tmp8;
2056#line 175
2057  __cil_tmp10 = (unsigned long )pdev;
2058#line 175
2059  __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
2060#line 175
2061  __cil_tmp12 = (long )__cil_tmp11;
2062#line 175
2063  tmp = __builtin_expect(__cil_tmp12, 0L);
2064  }
2065#line 175
2066  if (tmp != 0L) {
2067    {
2068#line 175
2069    __cil_tmp13 = (char *)"pdev != NULL";
2070#line 175
2071    __cil_tmp14 = (char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p";
2072#line 175
2073    printk("<3>Assertion failed! %s,%s,%s,line=%d\n", __cil_tmp13, __cil_tmp14, "matrox_w1_probe",
2074           175);
2075    }
2076  } else {
2077
2078  }
2079  {
2080#line 176
2081  __cil_tmp15 = (struct pci_device_id  const  *)0;
2082#line 176
2083  __cil_tmp16 = (unsigned long )__cil_tmp15;
2084#line 176
2085  __cil_tmp17 = (unsigned long )ent;
2086#line 176
2087  __cil_tmp18 = __cil_tmp17 == __cil_tmp16;
2088#line 176
2089  __cil_tmp19 = (long )__cil_tmp18;
2090#line 176
2091  tmp___0 = __builtin_expect(__cil_tmp19, 0L);
2092  }
2093#line 176
2094  if (tmp___0 != 0L) {
2095    {
2096#line 176
2097    __cil_tmp20 = (char *)"ent != NULL";
2098#line 176
2099    __cil_tmp21 = (char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p";
2100#line 176
2101    printk("<3>Assertion failed! %s,%s,%s,line=%d\n", __cil_tmp20, __cil_tmp21, "matrox_w1_probe",
2102           176);
2103    }
2104  } else {
2105
2106  }
2107  {
2108#line 178
2109  __cil_tmp22 = (unsigned long )pdev;
2110#line 178
2111  __cil_tmp23 = __cil_tmp22 + 60;
2112#line 178
2113  __cil_tmp24 = *((unsigned short *)__cil_tmp23);
2114#line 178
2115  __cil_tmp25 = (unsigned int )__cil_tmp24;
2116#line 178
2117  if (__cil_tmp25 != 4139U) {
2118#line 179
2119    return (-19);
2120  } else {
2121    {
2122#line 178
2123    __cil_tmp26 = (unsigned long )pdev;
2124#line 178
2125    __cil_tmp27 = __cil_tmp26 + 62;
2126#line 178
2127    __cil_tmp28 = *((unsigned short *)__cil_tmp27);
2128#line 178
2129    __cil_tmp29 = (unsigned int )__cil_tmp28;
2130#line 178
2131    if (__cil_tmp29 != 1317U) {
2132#line 179
2133      return (-19);
2134    } else {
2135
2136    }
2137    }
2138  }
2139  }
2140  {
2141#line 181
2142  tmp___1 = kzalloc(160UL, 208U);
2143#line 181
2144  dev = (struct matrox_device *)tmp___1;
2145  }
2146  {
2147#line 183
2148  __cil_tmp30 = (struct matrox_device *)0;
2149#line 183
2150  __cil_tmp31 = (unsigned long )__cil_tmp30;
2151#line 183
2152  __cil_tmp32 = (unsigned long )dev;
2153#line 183
2154  if (__cil_tmp32 == __cil_tmp31) {
2155    {
2156#line 184
2157    __cil_tmp33 = (unsigned long )pdev;
2158#line 184
2159    __cil_tmp34 = __cil_tmp33 + 144;
2160#line 184
2161    __cil_tmp35 = (struct device *)__cil_tmp34;
2162#line 184
2163    __cil_tmp36 = (struct device  const  *)__cil_tmp35;
2164#line 184
2165    dev_err(__cil_tmp36, "%s: Failed to create new matrox_device object.\n", "matrox_w1_probe");
2166    }
2167#line 187
2168    return (-12);
2169  } else {
2170
2171  }
2172  }
2173  {
2174#line 191
2175  __cil_tmp37 = (unsigned long )dev;
2176#line 191
2177  __cil_tmp38 = __cil_tmp37 + 56;
2178#line 191
2179  __cil_tmp39 = (struct w1_bus_master *)dev;
2180#line 191
2181  *((struct w1_bus_master **)__cil_tmp38) = __cil_tmp39 + 1U;
2182#line 197
2183  __cil_tmp40 = (unsigned long )dev;
2184#line 197
2185  __cil_tmp41 = __cil_tmp40 + 32;
2186#line 197
2187  __cil_tmp42 = 1 * 56UL;
2188#line 197
2189  __cil_tmp43 = 1304 + __cil_tmp42;
2190#line 197
2191  __cil_tmp44 = (unsigned long )pdev;
2192#line 197
2193  __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
2194#line 197
2195  __cil_tmp46 = *((resource_size_t *)__cil_tmp45);
2196#line 197
2197  *((unsigned long *)__cil_tmp41) = (unsigned long )__cil_tmp46;
2198#line 199
2199  __cil_tmp47 = (unsigned long )dev;
2200#line 199
2201  __cil_tmp48 = __cil_tmp47 + 40;
2202#line 199
2203  __cil_tmp49 = (unsigned long )dev;
2204#line 199
2205  __cil_tmp50 = __cil_tmp49 + 32;
2206#line 199
2207  __cil_tmp51 = *((unsigned long *)__cil_tmp50);
2208#line 199
2209  __cil_tmp52 = (resource_size_t )__cil_tmp51;
2210#line 199
2211  *((void **)__cil_tmp48) = ioremap_nocache(__cil_tmp52, 16384UL);
2212  }
2213  {
2214#line 200
2215  __cil_tmp53 = (void *)0;
2216#line 200
2217  __cil_tmp54 = (unsigned long )__cil_tmp53;
2218#line 200
2219  __cil_tmp55 = (unsigned long )dev;
2220#line 200
2221  __cil_tmp56 = __cil_tmp55 + 40;
2222#line 200
2223  __cil_tmp57 = *((void **)__cil_tmp56);
2224#line 200
2225  __cil_tmp58 = (unsigned long )__cil_tmp57;
2226#line 200
2227  if (__cil_tmp58 == __cil_tmp54) {
2228    {
2229#line 201
2230    __cil_tmp59 = (unsigned long )pdev;
2231#line 201
2232    __cil_tmp60 = __cil_tmp59 + 144;
2233#line 201
2234    __cil_tmp61 = (struct device *)__cil_tmp60;
2235#line 201
2236    __cil_tmp62 = (struct device  const  *)__cil_tmp61;
2237#line 201
2238    __cil_tmp63 = (unsigned long )dev;
2239#line 201
2240    __cil_tmp64 = __cil_tmp63 + 32;
2241#line 201
2242    __cil_tmp65 = *((unsigned long *)__cil_tmp64);
2243#line 201
2244    dev_err(__cil_tmp62, "%s: failed to ioremap(0x%lx, %d).\n", "matrox_w1_probe",
2245            __cil_tmp65, 16384);
2246#line 203
2247    err = -5;
2248    }
2249#line 204
2250    goto err_out_free_device;
2251  } else {
2252
2253  }
2254  }
2255  {
2256#line 207
2257  __cil_tmp66 = (unsigned long )dev;
2258#line 207
2259  __cil_tmp67 = __cil_tmp66 + 40;
2260#line 207
2261  __cil_tmp68 = *((void **)__cil_tmp67);
2262#line 207
2263  *((void **)dev) = __cil_tmp68 + 15360UL;
2264#line 208
2265  __cil_tmp69 = (unsigned long )dev;
2266#line 208
2267  __cil_tmp70 = __cil_tmp69 + 8;
2268#line 208
2269  *((void **)__cil_tmp70) = *((void **)dev);
2270#line 209
2271  __cil_tmp71 = (unsigned long )dev;
2272#line 209
2273  __cil_tmp72 = __cil_tmp71 + 16;
2274#line 209
2275  __cil_tmp73 = *((void **)dev);
2276#line 209
2277  *((void **)__cil_tmp72) = __cil_tmp73 + 10UL;
2278#line 210
2279  __cil_tmp74 = (unsigned long )dev;
2280#line 210
2281  __cil_tmp75 = __cil_tmp74 + 24;
2282#line 210
2283  *((u8 *)__cil_tmp75) = (u8 )2U;
2284#line 212
2285  matrox_w1_hw_init(dev);
2286#line 214
2287  __cil_tmp76 = (unsigned long )dev;
2288#line 214
2289  __cil_tmp77 = __cil_tmp76 + 56;
2290#line 214
2291  __cil_tmp78 = *((struct w1_bus_master **)__cil_tmp77);
2292#line 214
2293  *((void **)__cil_tmp78) = (void *)dev;
2294#line 215
2295  __cil_tmp79 = (unsigned long )dev;
2296#line 215
2297  __cil_tmp80 = __cil_tmp79 + 56;
2298#line 215
2299  __cil_tmp81 = *((struct w1_bus_master **)__cil_tmp80);
2300#line 215
2301  __cil_tmp82 = (unsigned long )__cil_tmp81;
2302#line 215
2303  __cil_tmp83 = __cil_tmp82 + 8;
2304#line 215
2305  *((u8 (**)(void * ))__cil_tmp83) = & matrox_w1_read_ddc_bit;
2306#line 216
2307  __cil_tmp84 = (unsigned long )dev;
2308#line 216
2309  __cil_tmp85 = __cil_tmp84 + 56;
2310#line 216
2311  __cil_tmp86 = *((struct w1_bus_master **)__cil_tmp85);
2312#line 216
2313  __cil_tmp87 = (unsigned long )__cil_tmp86;
2314#line 216
2315  __cil_tmp88 = __cil_tmp87 + 16;
2316#line 216
2317  *((void (**)(void * , u8  ))__cil_tmp88) = & matrox_w1_write_ddc_bit;
2318#line 218
2319  __cil_tmp89 = (unsigned long )dev;
2320#line 218
2321  __cil_tmp90 = __cil_tmp89 + 56;
2322#line 218
2323  __cil_tmp91 = *((struct w1_bus_master **)__cil_tmp90);
2324#line 218
2325  err = w1_add_master_device(__cil_tmp91);
2326  }
2327#line 219
2328  if (err != 0) {
2329#line 220
2330    goto err_out_free_device;
2331  } else {
2332
2333  }
2334  {
2335#line 222
2336  __cil_tmp92 = (void *)dev;
2337#line 222
2338  pci_set_drvdata(pdev, __cil_tmp92);
2339#line 224
2340  __cil_tmp93 = (unsigned long )dev;
2341#line 224
2342  __cil_tmp94 = __cil_tmp93 + 48;
2343#line 224
2344  *((unsigned long *)__cil_tmp94) = 1UL;
2345#line 226
2346  __cil_tmp95 = (unsigned long )pdev;
2347#line 226
2348  __cil_tmp96 = __cil_tmp95 + 144;
2349#line 226
2350  __cil_tmp97 = (struct device *)__cil_tmp96;
2351#line 226
2352  __cil_tmp98 = (struct device  const  *)__cil_tmp97;
2353#line 226
2354  _dev_info(__cil_tmp98, "Matrox G400 GPIO transport layer for 1-wire.\n");
2355  }
2356#line 228
2357  return (0);
2358  err_out_free_device: ;
2359  {
2360#line 231
2361  __cil_tmp99 = (void *)0;
2362#line 231
2363  __cil_tmp100 = (unsigned long )__cil_tmp99;
2364#line 231
2365  __cil_tmp101 = (unsigned long )dev;
2366#line 231
2367  __cil_tmp102 = __cil_tmp101 + 40;
2368#line 231
2369  __cil_tmp103 = *((void **)__cil_tmp102);
2370#line 231
2371  __cil_tmp104 = (unsigned long )__cil_tmp103;
2372#line 231
2373  if (__cil_tmp104 != __cil_tmp100) {
2374    {
2375#line 232
2376    __cil_tmp105 = (unsigned long )dev;
2377#line 232
2378    __cil_tmp106 = __cil_tmp105 + 40;
2379#line 232
2380    __cil_tmp107 = *((void **)__cil_tmp106);
2381#line 232
2382    __cil_tmp108 = (void volatile   *)__cil_tmp107;
2383#line 232
2384    iounmap(__cil_tmp108);
2385    }
2386  } else {
2387
2388  }
2389  }
2390  {
2391#line 233
2392  __cil_tmp109 = (void const   *)dev;
2393#line 233
2394  kfree(__cil_tmp109);
2395  }
2396#line 235
2397  return (err);
2398}
2399}
2400#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2401static void matrox_w1_remove(struct pci_dev *pdev ) 
2402{ struct matrox_device *dev ;
2403  void *tmp ;
2404  long tmp___0 ;
2405  struct matrox_device *__cil_tmp5 ;
2406  unsigned long __cil_tmp6 ;
2407  unsigned long __cil_tmp7 ;
2408  int __cil_tmp8 ;
2409  long __cil_tmp9 ;
2410  char *__cil_tmp10 ;
2411  char *__cil_tmp11 ;
2412  unsigned long __cil_tmp12 ;
2413  unsigned long __cil_tmp13 ;
2414  unsigned long __cil_tmp14 ;
2415  unsigned long __cil_tmp15 ;
2416  unsigned long __cil_tmp16 ;
2417  struct w1_bus_master *__cil_tmp17 ;
2418  unsigned long __cil_tmp18 ;
2419  unsigned long __cil_tmp19 ;
2420  void *__cil_tmp20 ;
2421  void volatile   *__cil_tmp21 ;
2422  void const   *__cil_tmp22 ;
2423
2424  {
2425  {
2426#line 240
2427  tmp = pci_get_drvdata(pdev);
2428#line 240
2429  dev = (struct matrox_device *)tmp;
2430#line 242
2431  __cil_tmp5 = (struct matrox_device *)0;
2432#line 242
2433  __cil_tmp6 = (unsigned long )__cil_tmp5;
2434#line 242
2435  __cil_tmp7 = (unsigned long )dev;
2436#line 242
2437  __cil_tmp8 = __cil_tmp7 == __cil_tmp6;
2438#line 242
2439  __cil_tmp9 = (long )__cil_tmp8;
2440#line 242
2441  tmp___0 = __builtin_expect(__cil_tmp9, 0L);
2442  }
2443#line 242
2444  if (tmp___0 != 0L) {
2445    {
2446#line 242
2447    __cil_tmp10 = (char *)"dev != NULL";
2448#line 242
2449    __cil_tmp11 = (char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p";
2450#line 242
2451    printk("<3>Assertion failed! %s,%s,%s,line=%d\n", __cil_tmp10, __cil_tmp11, "matrox_w1_remove",
2452           242);
2453    }
2454  } else {
2455
2456  }
2457  {
2458#line 244
2459  __cil_tmp12 = (unsigned long )dev;
2460#line 244
2461  __cil_tmp13 = __cil_tmp12 + 48;
2462#line 244
2463  __cil_tmp14 = *((unsigned long *)__cil_tmp13);
2464#line 244
2465  if (__cil_tmp14 != 0UL) {
2466    {
2467#line 245
2468    __cil_tmp15 = (unsigned long )dev;
2469#line 245
2470    __cil_tmp16 = __cil_tmp15 + 56;
2471#line 245
2472    __cil_tmp17 = *((struct w1_bus_master **)__cil_tmp16);
2473#line 245
2474    w1_remove_master_device(__cil_tmp17);
2475#line 246
2476    __cil_tmp18 = (unsigned long )dev;
2477#line 246
2478    __cil_tmp19 = __cil_tmp18 + 40;
2479#line 246
2480    __cil_tmp20 = *((void **)__cil_tmp19);
2481#line 246
2482    __cil_tmp21 = (void volatile   *)__cil_tmp20;
2483#line 246
2484    iounmap(__cil_tmp21);
2485    }
2486  } else {
2487
2488  }
2489  }
2490  {
2491#line 248
2492  __cil_tmp22 = (void const   *)dev;
2493#line 248
2494  kfree(__cil_tmp22);
2495  }
2496#line 249
2497  return;
2498}
2499}
2500#line 251 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2501static int matrox_w1_init(void) 
2502{ int tmp ;
2503
2504  {
2505  {
2506#line 253
2507  tmp = __pci_register_driver(& matrox_w1_pci_driver, & __this_module, "matrox_w1");
2508  }
2509#line 253
2510  return (tmp);
2511}
2512}
2513#line 256 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2514static void matrox_w1_fini(void) 
2515{ 
2516
2517  {
2518  {
2519#line 258
2520  pci_unregister_driver(& matrox_w1_pci_driver);
2521  }
2522#line 259
2523  return;
2524}
2525}
2526#line 280
2527extern void ldv_check_final_state(void) ;
2528#line 283
2529extern void ldv_check_return_value(int  ) ;
2530#line 286
2531extern void ldv_initialize(void) ;
2532#line 289
2533extern int __VERIFIER_nondet_int(void) ;
2534#line 292 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2535int LDV_IN_INTERRUPT  ;
2536#line 295 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2537void main(void) 
2538{ struct pci_dev *var_group1 ;
2539  struct pci_device_id  const  *var_matrox_w1_probe_5_p1 ;
2540  int res_matrox_w1_probe_5 ;
2541  int ldv_s_matrox_w1_pci_driver_pci_driver ;
2542  int tmp ;
2543  int tmp___0 ;
2544  int tmp___1 ;
2545
2546  {
2547  {
2548#line 354
2549  ldv_s_matrox_w1_pci_driver_pci_driver = 0;
2550#line 327
2551  LDV_IN_INTERRUPT = 1;
2552#line 336
2553  ldv_initialize();
2554#line 352
2555  tmp = matrox_w1_init();
2556  }
2557#line 352
2558  if (tmp != 0) {
2559#line 353
2560    goto ldv_final;
2561  } else {
2562
2563  }
2564#line 357
2565  goto ldv_21748;
2566  ldv_21747: 
2567  {
2568#line 361
2569  tmp___0 = __VERIFIER_nondet_int();
2570  }
2571#line 363
2572  if (tmp___0 == 0) {
2573#line 363
2574    goto case_0;
2575  } else {
2576    {
2577#line 392
2578    goto switch_default;
2579#line 361
2580    if (0) {
2581      case_0: /* CIL Label */ ;
2582#line 366
2583      if (ldv_s_matrox_w1_pci_driver_pci_driver == 0) {
2584        {
2585#line 381
2586        res_matrox_w1_probe_5 = matrox_w1_probe(var_group1, var_matrox_w1_probe_5_p1);
2587#line 382
2588        ldv_check_return_value(res_matrox_w1_probe_5);
2589        }
2590#line 383
2591        if (res_matrox_w1_probe_5 != 0) {
2592#line 384
2593          goto ldv_module_exit;
2594        } else {
2595
2596        }
2597#line 385
2598        ldv_s_matrox_w1_pci_driver_pci_driver = 0;
2599      } else {
2600
2601      }
2602#line 391
2603      goto ldv_21745;
2604      switch_default: /* CIL Label */ ;
2605#line 392
2606      goto ldv_21745;
2607    } else {
2608      switch_break: /* CIL Label */ ;
2609    }
2610    }
2611  }
2612  ldv_21745: ;
2613  ldv_21748: 
2614  {
2615#line 357
2616  tmp___1 = __VERIFIER_nondet_int();
2617  }
2618#line 357
2619  if (tmp___1 != 0) {
2620#line 359
2621    goto ldv_21747;
2622  } else
2623#line 357
2624  if (ldv_s_matrox_w1_pci_driver_pci_driver != 0) {
2625#line 359
2626    goto ldv_21747;
2627  } else {
2628#line 361
2629    goto ldv_21749;
2630  }
2631  ldv_21749: ;
2632  ldv_module_exit: 
2633  {
2634#line 414
2635  matrox_w1_fini();
2636  }
2637  ldv_final: 
2638  {
2639#line 417
2640  ldv_check_final_state();
2641  }
2642#line 420
2643  return;
2644}
2645}
2646#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
2647void ldv_blast_assert(void) 
2648{ 
2649
2650  {
2651  ERROR: ;
2652#line 6
2653  goto ERROR;
2654}
2655}
2656#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
2657extern int __VERIFIER_nondet_int(void) ;
2658#line 441 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2659int ldv_spin  =    0;
2660#line 445 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2661void ldv_check_alloc_flags(gfp_t flags ) 
2662{ 
2663
2664  {
2665#line 448
2666  if (ldv_spin != 0) {
2667#line 448
2668    if (flags != 32U) {
2669      {
2670#line 448
2671      ldv_blast_assert();
2672      }
2673    } else {
2674
2675    }
2676  } else {
2677
2678  }
2679#line 451
2680  return;
2681}
2682}
2683#line 451
2684extern struct page *ldv_some_page(void) ;
2685#line 454 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2686struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
2687{ struct page *tmp ;
2688
2689  {
2690#line 457
2691  if (ldv_spin != 0) {
2692#line 457
2693    if (flags != 32U) {
2694      {
2695#line 457
2696      ldv_blast_assert();
2697      }
2698    } else {
2699
2700    }
2701  } else {
2702
2703  }
2704  {
2705#line 459
2706  tmp = ldv_some_page();
2707  }
2708#line 459
2709  return (tmp);
2710}
2711}
2712#line 463 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2713void ldv_check_alloc_nonatomic(void) 
2714{ 
2715
2716  {
2717#line 466
2718  if (ldv_spin != 0) {
2719    {
2720#line 466
2721    ldv_blast_assert();
2722    }
2723  } else {
2724
2725  }
2726#line 469
2727  return;
2728}
2729}
2730#line 470 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2731void ldv_spin_lock(void) 
2732{ 
2733
2734  {
2735#line 473
2736  ldv_spin = 1;
2737#line 474
2738  return;
2739}
2740}
2741#line 477 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2742void ldv_spin_unlock(void) 
2743{ 
2744
2745  {
2746#line 480
2747  ldv_spin = 0;
2748#line 481
2749  return;
2750}
2751}
2752#line 484 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2753int ldv_spin_trylock(void) 
2754{ int is_lock ;
2755
2756  {
2757  {
2758#line 489
2759  is_lock = __VERIFIER_nondet_int();
2760  }
2761#line 491
2762  if (is_lock != 0) {
2763#line 494
2764    return (0);
2765  } else {
2766#line 499
2767    ldv_spin = 1;
2768#line 501
2769    return (1);
2770  }
2771}
2772}
2773#line 668 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2774void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
2775{ 
2776
2777  {
2778  {
2779#line 674
2780  ldv_check_alloc_flags(ldv_func_arg2);
2781#line 676
2782  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
2783  }
2784#line 677
2785  return ((void *)0);
2786}
2787}
2788#line 679 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4895/dscv_tempdir/dscv/ri/43_1a/drivers/w1/masters/matrox_w1.c.p"
2789__inline static void *kzalloc(size_t size , gfp_t flags ) 
2790{ void *tmp ;
2791
2792  {
2793  {
2794#line 685
2795  ldv_check_alloc_flags(flags);
2796#line 686
2797  tmp = __VERIFIER_nondet_pointer();
2798  }
2799#line 686
2800  return (tmp);
2801}
2802}