Showing error 1084

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--misc--tifm_core.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4306
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 247 "include/linux/types.h"
  83struct rcu_head {
  84   struct rcu_head *next ;
  85   void (*func)(struct rcu_head * ) ;
  86};
  87#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  88struct module;
  89#line 55
  90struct module;
  91#line 146 "include/linux/init.h"
  92typedef void (*ctor_fn_t)(void);
  93#line 46 "include/linux/dynamic_debug.h"
  94struct device;
  95#line 46
  96struct device;
  97#line 57
  98struct completion;
  99#line 57
 100struct completion;
 101#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 102struct page;
 103#line 58
 104struct page;
 105#line 26 "include/asm-generic/getorder.h"
 106struct task_struct;
 107#line 26
 108struct task_struct;
 109#line 28
 110struct mm_struct;
 111#line 28
 112struct mm_struct;
 113#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 114typedef unsigned long pgdval_t;
 115#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 116typedef unsigned long pgprotval_t;
 117#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 118struct pgprot {
 119   pgprotval_t pgprot ;
 120};
 121#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 122typedef struct pgprot pgprot_t;
 123#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 124struct __anonstruct_pgd_t_16 {
 125   pgdval_t pgd ;
 126};
 127#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 128typedef struct __anonstruct_pgd_t_16 pgd_t;
 129#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 130typedef struct page *pgtable_t;
 131#line 290
 132struct file;
 133#line 290
 134struct file;
 135#line 339
 136struct cpumask;
 137#line 339
 138struct cpumask;
 139#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 140struct arch_spinlock;
 141#line 327
 142struct arch_spinlock;
 143#line 306 "include/linux/bitmap.h"
 144struct bug_entry {
 145   int bug_addr_disp ;
 146   int file_disp ;
 147   unsigned short line ;
 148   unsigned short flags ;
 149};
 150#line 89 "include/linux/bug.h"
 151struct cpumask {
 152   unsigned long bits[64U] ;
 153};
 154#line 637 "include/linux/cpumask.h"
 155typedef struct cpumask *cpumask_var_t;
 156#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 157struct static_key;
 158#line 234
 159struct static_key;
 160#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 161struct kmem_cache;
 162#line 23 "include/asm-generic/atomic-long.h"
 163typedef atomic64_t atomic_long_t;
 164#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 165typedef u16 __ticket_t;
 166#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 167typedef u32 __ticketpair_t;
 168#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 169struct __raw_tickets {
 170   __ticket_t head ;
 171   __ticket_t tail ;
 172};
 173#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 174union __anonunion_ldv_5907_29 {
 175   __ticketpair_t head_tail ;
 176   struct __raw_tickets tickets ;
 177};
 178#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 179struct arch_spinlock {
 180   union __anonunion_ldv_5907_29 ldv_5907 ;
 181};
 182#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 183typedef struct arch_spinlock arch_spinlock_t;
 184#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 185struct lockdep_map;
 186#line 34
 187struct lockdep_map;
 188#line 55 "include/linux/debug_locks.h"
 189struct stack_trace {
 190   unsigned int nr_entries ;
 191   unsigned int max_entries ;
 192   unsigned long *entries ;
 193   int skip ;
 194};
 195#line 26 "include/linux/stacktrace.h"
 196struct lockdep_subclass_key {
 197   char __one_byte ;
 198};
 199#line 53 "include/linux/lockdep.h"
 200struct lock_class_key {
 201   struct lockdep_subclass_key subkeys[8U] ;
 202};
 203#line 59 "include/linux/lockdep.h"
 204struct lock_class {
 205   struct list_head hash_entry ;
 206   struct list_head lock_entry ;
 207   struct lockdep_subclass_key *key ;
 208   unsigned int subclass ;
 209   unsigned int dep_gen_id ;
 210   unsigned long usage_mask ;
 211   struct stack_trace usage_traces[13U] ;
 212   struct list_head locks_after ;
 213   struct list_head locks_before ;
 214   unsigned int version ;
 215   unsigned long ops ;
 216   char const   *name ;
 217   int name_version ;
 218   unsigned long contention_point[4U] ;
 219   unsigned long contending_point[4U] ;
 220};
 221#line 144 "include/linux/lockdep.h"
 222struct lockdep_map {
 223   struct lock_class_key *key ;
 224   struct lock_class *class_cache[2U] ;
 225   char const   *name ;
 226   int cpu ;
 227   unsigned long ip ;
 228};
 229#line 556 "include/linux/lockdep.h"
 230struct raw_spinlock {
 231   arch_spinlock_t raw_lock ;
 232   unsigned int magic ;
 233   unsigned int owner_cpu ;
 234   void *owner ;
 235   struct lockdep_map dep_map ;
 236};
 237#line 32 "include/linux/spinlock_types.h"
 238typedef struct raw_spinlock raw_spinlock_t;
 239#line 33 "include/linux/spinlock_types.h"
 240struct __anonstruct_ldv_6122_33 {
 241   u8 __padding[24U] ;
 242   struct lockdep_map dep_map ;
 243};
 244#line 33 "include/linux/spinlock_types.h"
 245union __anonunion_ldv_6123_32 {
 246   struct raw_spinlock rlock ;
 247   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 248};
 249#line 33 "include/linux/spinlock_types.h"
 250struct spinlock {
 251   union __anonunion_ldv_6123_32 ldv_6123 ;
 252};
 253#line 76 "include/linux/spinlock_types.h"
 254typedef struct spinlock spinlock_t;
 255#line 48 "include/linux/wait.h"
 256struct __wait_queue_head {
 257   spinlock_t lock ;
 258   struct list_head task_list ;
 259};
 260#line 53 "include/linux/wait.h"
 261typedef struct __wait_queue_head wait_queue_head_t;
 262#line 98 "include/linux/nodemask.h"
 263struct __anonstruct_nodemask_t_36 {
 264   unsigned long bits[16U] ;
 265};
 266#line 98 "include/linux/nodemask.h"
 267typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 268#line 670 "include/linux/mmzone.h"
 269struct mutex {
 270   atomic_t count ;
 271   spinlock_t wait_lock ;
 272   struct list_head wait_list ;
 273   struct task_struct *owner ;
 274   char const   *name ;
 275   void *magic ;
 276   struct lockdep_map dep_map ;
 277};
 278#line 171 "include/linux/mutex.h"
 279struct rw_semaphore;
 280#line 171
 281struct rw_semaphore;
 282#line 172 "include/linux/mutex.h"
 283struct rw_semaphore {
 284   long count ;
 285   raw_spinlock_t wait_lock ;
 286   struct list_head wait_list ;
 287   struct lockdep_map dep_map ;
 288};
 289#line 128 "include/linux/rwsem.h"
 290struct completion {
 291   unsigned int done ;
 292   wait_queue_head_t wait ;
 293};
 294#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 295struct resource {
 296   resource_size_t start ;
 297   resource_size_t end ;
 298   char const   *name ;
 299   unsigned long flags ;
 300   struct resource *parent ;
 301   struct resource *sibling ;
 302   struct resource *child ;
 303};
 304#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 305struct pci_dev;
 306#line 181
 307struct pci_dev;
 308#line 312 "include/linux/jiffies.h"
 309union ktime {
 310   s64 tv64 ;
 311};
 312#line 59 "include/linux/ktime.h"
 313typedef union ktime ktime_t;
 314#line 341
 315struct tvec_base;
 316#line 341
 317struct tvec_base;
 318#line 342 "include/linux/ktime.h"
 319struct timer_list {
 320   struct list_head entry ;
 321   unsigned long expires ;
 322   struct tvec_base *base ;
 323   void (*function)(unsigned long  ) ;
 324   unsigned long data ;
 325   int slack ;
 326   int start_pid ;
 327   void *start_site ;
 328   char start_comm[16U] ;
 329   struct lockdep_map lockdep_map ;
 330};
 331#line 301 "include/linux/timer.h"
 332struct workqueue_struct;
 333#line 301
 334struct workqueue_struct;
 335#line 302
 336struct work_struct;
 337#line 302
 338struct work_struct;
 339#line 45 "include/linux/workqueue.h"
 340struct work_struct {
 341   atomic_long_t data ;
 342   struct list_head entry ;
 343   void (*func)(struct work_struct * ) ;
 344   struct lockdep_map lockdep_map ;
 345};
 346#line 46 "include/linux/pm.h"
 347struct pm_message {
 348   int event ;
 349};
 350#line 52 "include/linux/pm.h"
 351typedef struct pm_message pm_message_t;
 352#line 53 "include/linux/pm.h"
 353struct dev_pm_ops {
 354   int (*prepare)(struct device * ) ;
 355   void (*complete)(struct device * ) ;
 356   int (*suspend)(struct device * ) ;
 357   int (*resume)(struct device * ) ;
 358   int (*freeze)(struct device * ) ;
 359   int (*thaw)(struct device * ) ;
 360   int (*poweroff)(struct device * ) ;
 361   int (*restore)(struct device * ) ;
 362   int (*suspend_late)(struct device * ) ;
 363   int (*resume_early)(struct device * ) ;
 364   int (*freeze_late)(struct device * ) ;
 365   int (*thaw_early)(struct device * ) ;
 366   int (*poweroff_late)(struct device * ) ;
 367   int (*restore_early)(struct device * ) ;
 368   int (*suspend_noirq)(struct device * ) ;
 369   int (*resume_noirq)(struct device * ) ;
 370   int (*freeze_noirq)(struct device * ) ;
 371   int (*thaw_noirq)(struct device * ) ;
 372   int (*poweroff_noirq)(struct device * ) ;
 373   int (*restore_noirq)(struct device * ) ;
 374   int (*runtime_suspend)(struct device * ) ;
 375   int (*runtime_resume)(struct device * ) ;
 376   int (*runtime_idle)(struct device * ) ;
 377};
 378#line 289
 379enum rpm_status {
 380    RPM_ACTIVE = 0,
 381    RPM_RESUMING = 1,
 382    RPM_SUSPENDED = 2,
 383    RPM_SUSPENDING = 3
 384} ;
 385#line 296
 386enum rpm_request {
 387    RPM_REQ_NONE = 0,
 388    RPM_REQ_IDLE = 1,
 389    RPM_REQ_SUSPEND = 2,
 390    RPM_REQ_AUTOSUSPEND = 3,
 391    RPM_REQ_RESUME = 4
 392} ;
 393#line 304
 394struct wakeup_source;
 395#line 304
 396struct wakeup_source;
 397#line 494 "include/linux/pm.h"
 398struct pm_subsys_data {
 399   spinlock_t lock ;
 400   unsigned int refcount ;
 401};
 402#line 499
 403struct dev_pm_qos_request;
 404#line 499
 405struct pm_qos_constraints;
 406#line 499 "include/linux/pm.h"
 407struct dev_pm_info {
 408   pm_message_t power_state ;
 409   unsigned char can_wakeup : 1 ;
 410   unsigned char async_suspend : 1 ;
 411   bool is_prepared ;
 412   bool is_suspended ;
 413   bool ignore_children ;
 414   spinlock_t lock ;
 415   struct list_head entry ;
 416   struct completion completion ;
 417   struct wakeup_source *wakeup ;
 418   bool wakeup_path ;
 419   struct timer_list suspend_timer ;
 420   unsigned long timer_expires ;
 421   struct work_struct work ;
 422   wait_queue_head_t wait_queue ;
 423   atomic_t usage_count ;
 424   atomic_t child_count ;
 425   unsigned char disable_depth : 3 ;
 426   unsigned char idle_notification : 1 ;
 427   unsigned char request_pending : 1 ;
 428   unsigned char deferred_resume : 1 ;
 429   unsigned char run_wake : 1 ;
 430   unsigned char runtime_auto : 1 ;
 431   unsigned char no_callbacks : 1 ;
 432   unsigned char irq_safe : 1 ;
 433   unsigned char use_autosuspend : 1 ;
 434   unsigned char timer_autosuspends : 1 ;
 435   enum rpm_request request ;
 436   enum rpm_status runtime_status ;
 437   int runtime_error ;
 438   int autosuspend_delay ;
 439   unsigned long last_busy ;
 440   unsigned long active_jiffies ;
 441   unsigned long suspended_jiffies ;
 442   unsigned long accounting_timestamp ;
 443   ktime_t suspend_time ;
 444   s64 max_time_suspended_ns ;
 445   struct dev_pm_qos_request *pq_req ;
 446   struct pm_subsys_data *subsys_data ;
 447   struct pm_qos_constraints *constraints ;
 448};
 449#line 558 "include/linux/pm.h"
 450struct dev_pm_domain {
 451   struct dev_pm_ops ops ;
 452};
 453#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 454struct pci_bus;
 455#line 173
 456struct pci_bus;
 457#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 458struct __anonstruct_mm_context_t_101 {
 459   void *ldt ;
 460   int size ;
 461   unsigned short ia32_compat ;
 462   struct mutex lock ;
 463   void *vdso ;
 464};
 465#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 466typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 467#line 18 "include/asm-generic/pci_iomap.h"
 468struct vm_area_struct;
 469#line 18
 470struct vm_area_struct;
 471#line 835 "include/linux/sysctl.h"
 472struct rb_node {
 473   unsigned long rb_parent_color ;
 474   struct rb_node *rb_right ;
 475   struct rb_node *rb_left ;
 476};
 477#line 108 "include/linux/rbtree.h"
 478struct rb_root {
 479   struct rb_node *rb_node ;
 480};
 481#line 18 "include/linux/elf.h"
 482typedef __u64 Elf64_Addr;
 483#line 19 "include/linux/elf.h"
 484typedef __u16 Elf64_Half;
 485#line 23 "include/linux/elf.h"
 486typedef __u32 Elf64_Word;
 487#line 24 "include/linux/elf.h"
 488typedef __u64 Elf64_Xword;
 489#line 193 "include/linux/elf.h"
 490struct elf64_sym {
 491   Elf64_Word st_name ;
 492   unsigned char st_info ;
 493   unsigned char st_other ;
 494   Elf64_Half st_shndx ;
 495   Elf64_Addr st_value ;
 496   Elf64_Xword st_size ;
 497};
 498#line 201 "include/linux/elf.h"
 499typedef struct elf64_sym Elf64_Sym;
 500#line 445
 501struct sock;
 502#line 445
 503struct sock;
 504#line 446
 505struct kobject;
 506#line 446
 507struct kobject;
 508#line 447
 509enum kobj_ns_type {
 510    KOBJ_NS_TYPE_NONE = 0,
 511    KOBJ_NS_TYPE_NET = 1,
 512    KOBJ_NS_TYPES = 2
 513} ;
 514#line 453 "include/linux/elf.h"
 515struct kobj_ns_type_operations {
 516   enum kobj_ns_type type ;
 517   void *(*grab_current_ns)(void) ;
 518   void const   *(*netlink_ns)(struct sock * ) ;
 519   void const   *(*initial_ns)(void) ;
 520   void (*drop_ns)(void * ) ;
 521};
 522#line 57 "include/linux/kobject_ns.h"
 523struct attribute {
 524   char const   *name ;
 525   umode_t mode ;
 526   struct lock_class_key *key ;
 527   struct lock_class_key skey ;
 528};
 529#line 33 "include/linux/sysfs.h"
 530struct attribute_group {
 531   char const   *name ;
 532   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 533   struct attribute **attrs ;
 534};
 535#line 62 "include/linux/sysfs.h"
 536struct bin_attribute {
 537   struct attribute attr ;
 538   size_t size ;
 539   void *private ;
 540   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 541                   loff_t  , size_t  ) ;
 542   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 543                    loff_t  , size_t  ) ;
 544   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 545};
 546#line 98 "include/linux/sysfs.h"
 547struct sysfs_ops {
 548   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 549   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 550   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 551};
 552#line 117
 553struct sysfs_dirent;
 554#line 117
 555struct sysfs_dirent;
 556#line 182 "include/linux/sysfs.h"
 557struct kref {
 558   atomic_t refcount ;
 559};
 560#line 49 "include/linux/kobject.h"
 561struct kset;
 562#line 49
 563struct kobj_type;
 564#line 49 "include/linux/kobject.h"
 565struct kobject {
 566   char const   *name ;
 567   struct list_head entry ;
 568   struct kobject *parent ;
 569   struct kset *kset ;
 570   struct kobj_type *ktype ;
 571   struct sysfs_dirent *sd ;
 572   struct kref kref ;
 573   unsigned char state_initialized : 1 ;
 574   unsigned char state_in_sysfs : 1 ;
 575   unsigned char state_add_uevent_sent : 1 ;
 576   unsigned char state_remove_uevent_sent : 1 ;
 577   unsigned char uevent_suppress : 1 ;
 578};
 579#line 107 "include/linux/kobject.h"
 580struct kobj_type {
 581   void (*release)(struct kobject * ) ;
 582   struct sysfs_ops  const  *sysfs_ops ;
 583   struct attribute **default_attrs ;
 584   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 585   void const   *(*namespace)(struct kobject * ) ;
 586};
 587#line 115 "include/linux/kobject.h"
 588struct kobj_uevent_env {
 589   char *envp[32U] ;
 590   int envp_idx ;
 591   char buf[2048U] ;
 592   int buflen ;
 593};
 594#line 122 "include/linux/kobject.h"
 595struct kset_uevent_ops {
 596   int (* const  filter)(struct kset * , struct kobject * ) ;
 597   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 598   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 599};
 600#line 139 "include/linux/kobject.h"
 601struct kset {
 602   struct list_head list ;
 603   spinlock_t list_lock ;
 604   struct kobject kobj ;
 605   struct kset_uevent_ops  const  *uevent_ops ;
 606};
 607#line 215
 608struct kernel_param;
 609#line 215
 610struct kernel_param;
 611#line 216 "include/linux/kobject.h"
 612struct kernel_param_ops {
 613   int (*set)(char const   * , struct kernel_param  const  * ) ;
 614   int (*get)(char * , struct kernel_param  const  * ) ;
 615   void (*free)(void * ) ;
 616};
 617#line 49 "include/linux/moduleparam.h"
 618struct kparam_string;
 619#line 49
 620struct kparam_array;
 621#line 49 "include/linux/moduleparam.h"
 622union __anonunion_ldv_13363_134 {
 623   void *arg ;
 624   struct kparam_string  const  *str ;
 625   struct kparam_array  const  *arr ;
 626};
 627#line 49 "include/linux/moduleparam.h"
 628struct kernel_param {
 629   char const   *name ;
 630   struct kernel_param_ops  const  *ops ;
 631   u16 perm ;
 632   s16 level ;
 633   union __anonunion_ldv_13363_134 ldv_13363 ;
 634};
 635#line 61 "include/linux/moduleparam.h"
 636struct kparam_string {
 637   unsigned int maxlen ;
 638   char *string ;
 639};
 640#line 67 "include/linux/moduleparam.h"
 641struct kparam_array {
 642   unsigned int max ;
 643   unsigned int elemsize ;
 644   unsigned int *num ;
 645   struct kernel_param_ops  const  *ops ;
 646   void *elem ;
 647};
 648#line 458 "include/linux/moduleparam.h"
 649struct static_key {
 650   atomic_t enabled ;
 651};
 652#line 225 "include/linux/jump_label.h"
 653struct tracepoint;
 654#line 225
 655struct tracepoint;
 656#line 226 "include/linux/jump_label.h"
 657struct tracepoint_func {
 658   void *func ;
 659   void *data ;
 660};
 661#line 29 "include/linux/tracepoint.h"
 662struct tracepoint {
 663   char const   *name ;
 664   struct static_key key ;
 665   void (*regfunc)(void) ;
 666   void (*unregfunc)(void) ;
 667   struct tracepoint_func *funcs ;
 668};
 669#line 86 "include/linux/tracepoint.h"
 670struct kernel_symbol {
 671   unsigned long value ;
 672   char const   *name ;
 673};
 674#line 27 "include/linux/export.h"
 675struct mod_arch_specific {
 676
 677};
 678#line 34 "include/linux/module.h"
 679struct module_param_attrs;
 680#line 34 "include/linux/module.h"
 681struct module_kobject {
 682   struct kobject kobj ;
 683   struct module *mod ;
 684   struct kobject *drivers_dir ;
 685   struct module_param_attrs *mp ;
 686};
 687#line 43 "include/linux/module.h"
 688struct module_attribute {
 689   struct attribute attr ;
 690   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 691   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 692                    size_t  ) ;
 693   void (*setup)(struct module * , char const   * ) ;
 694   int (*test)(struct module * ) ;
 695   void (*free)(struct module * ) ;
 696};
 697#line 69
 698struct exception_table_entry;
 699#line 69
 700struct exception_table_entry;
 701#line 198
 702enum module_state {
 703    MODULE_STATE_LIVE = 0,
 704    MODULE_STATE_COMING = 1,
 705    MODULE_STATE_GOING = 2
 706} ;
 707#line 204 "include/linux/module.h"
 708struct module_ref {
 709   unsigned long incs ;
 710   unsigned long decs ;
 711};
 712#line 219
 713struct module_sect_attrs;
 714#line 219
 715struct module_notes_attrs;
 716#line 219
 717struct ftrace_event_call;
 718#line 219 "include/linux/module.h"
 719struct module {
 720   enum module_state state ;
 721   struct list_head list ;
 722   char name[56U] ;
 723   struct module_kobject mkobj ;
 724   struct module_attribute *modinfo_attrs ;
 725   char const   *version ;
 726   char const   *srcversion ;
 727   struct kobject *holders_dir ;
 728   struct kernel_symbol  const  *syms ;
 729   unsigned long const   *crcs ;
 730   unsigned int num_syms ;
 731   struct kernel_param *kp ;
 732   unsigned int num_kp ;
 733   unsigned int num_gpl_syms ;
 734   struct kernel_symbol  const  *gpl_syms ;
 735   unsigned long const   *gpl_crcs ;
 736   struct kernel_symbol  const  *unused_syms ;
 737   unsigned long const   *unused_crcs ;
 738   unsigned int num_unused_syms ;
 739   unsigned int num_unused_gpl_syms ;
 740   struct kernel_symbol  const  *unused_gpl_syms ;
 741   unsigned long const   *unused_gpl_crcs ;
 742   struct kernel_symbol  const  *gpl_future_syms ;
 743   unsigned long const   *gpl_future_crcs ;
 744   unsigned int num_gpl_future_syms ;
 745   unsigned int num_exentries ;
 746   struct exception_table_entry *extable ;
 747   int (*init)(void) ;
 748   void *module_init ;
 749   void *module_core ;
 750   unsigned int init_size ;
 751   unsigned int core_size ;
 752   unsigned int init_text_size ;
 753   unsigned int core_text_size ;
 754   unsigned int init_ro_size ;
 755   unsigned int core_ro_size ;
 756   struct mod_arch_specific arch ;
 757   unsigned int taints ;
 758   unsigned int num_bugs ;
 759   struct list_head bug_list ;
 760   struct bug_entry *bug_table ;
 761   Elf64_Sym *symtab ;
 762   Elf64_Sym *core_symtab ;
 763   unsigned int num_symtab ;
 764   unsigned int core_num_syms ;
 765   char *strtab ;
 766   char *core_strtab ;
 767   struct module_sect_attrs *sect_attrs ;
 768   struct module_notes_attrs *notes_attrs ;
 769   char *args ;
 770   void *percpu ;
 771   unsigned int percpu_size ;
 772   unsigned int num_tracepoints ;
 773   struct tracepoint * const  *tracepoints_ptrs ;
 774   unsigned int num_trace_bprintk_fmt ;
 775   char const   **trace_bprintk_fmt_start ;
 776   struct ftrace_event_call **trace_events ;
 777   unsigned int num_trace_events ;
 778   struct list_head source_list ;
 779   struct list_head target_list ;
 780   struct task_struct *waiter ;
 781   void (*exit)(void) ;
 782   struct module_ref *refptr ;
 783   ctor_fn_t (**ctors)(void) ;
 784   unsigned int num_ctors ;
 785};
 786#line 88 "include/linux/kmemleak.h"
 787struct kmem_cache_cpu {
 788   void **freelist ;
 789   unsigned long tid ;
 790   struct page *page ;
 791   struct page *partial ;
 792   int node ;
 793   unsigned int stat[26U] ;
 794};
 795#line 55 "include/linux/slub_def.h"
 796struct kmem_cache_node {
 797   spinlock_t list_lock ;
 798   unsigned long nr_partial ;
 799   struct list_head partial ;
 800   atomic_long_t nr_slabs ;
 801   atomic_long_t total_objects ;
 802   struct list_head full ;
 803};
 804#line 66 "include/linux/slub_def.h"
 805struct kmem_cache_order_objects {
 806   unsigned long x ;
 807};
 808#line 76 "include/linux/slub_def.h"
 809struct kmem_cache {
 810   struct kmem_cache_cpu *cpu_slab ;
 811   unsigned long flags ;
 812   unsigned long min_partial ;
 813   int size ;
 814   int objsize ;
 815   int offset ;
 816   int cpu_partial ;
 817   struct kmem_cache_order_objects oo ;
 818   struct kmem_cache_order_objects max ;
 819   struct kmem_cache_order_objects min ;
 820   gfp_t allocflags ;
 821   int refcount ;
 822   void (*ctor)(void * ) ;
 823   int inuse ;
 824   int align ;
 825   int reserved ;
 826   char const   *name ;
 827   struct list_head list ;
 828   struct kobject kobj ;
 829   int remote_node_defrag_ratio ;
 830   struct kmem_cache_node *node[1024U] ;
 831};
 832#line 348 "include/linux/irq.h"
 833struct proc_dir_entry;
 834#line 348
 835struct proc_dir_entry;
 836#line 41 "include/asm-generic/sections.h"
 837struct exception_table_entry {
 838   unsigned long insn ;
 839   unsigned long fixup ;
 840};
 841#line 12 "include/linux/mod_devicetable.h"
 842typedef unsigned long kernel_ulong_t;
 843#line 13 "include/linux/mod_devicetable.h"
 844struct pci_device_id {
 845   __u32 vendor ;
 846   __u32 device ;
 847   __u32 subvendor ;
 848   __u32 subdevice ;
 849   __u32 class ;
 850   __u32 class_mask ;
 851   kernel_ulong_t driver_data ;
 852};
 853#line 215 "include/linux/mod_devicetable.h"
 854struct of_device_id {
 855   char name[32U] ;
 856   char type[32U] ;
 857   char compatible[128U] ;
 858   void *data ;
 859};
 860#line 584
 861struct klist_node;
 862#line 584
 863struct klist_node;
 864#line 37 "include/linux/klist.h"
 865struct klist_node {
 866   void *n_klist ;
 867   struct list_head n_node ;
 868   struct kref n_ref ;
 869};
 870#line 67
 871struct dma_map_ops;
 872#line 67 "include/linux/klist.h"
 873struct dev_archdata {
 874   void *acpi_handle ;
 875   struct dma_map_ops *dma_ops ;
 876   void *iommu ;
 877};
 878#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 879struct device_private;
 880#line 17
 881struct device_private;
 882#line 18
 883struct device_driver;
 884#line 18
 885struct device_driver;
 886#line 19
 887struct driver_private;
 888#line 19
 889struct driver_private;
 890#line 20
 891struct class;
 892#line 20
 893struct class;
 894#line 21
 895struct subsys_private;
 896#line 21
 897struct subsys_private;
 898#line 22
 899struct bus_type;
 900#line 22
 901struct bus_type;
 902#line 23
 903struct device_node;
 904#line 23
 905struct device_node;
 906#line 24
 907struct iommu_ops;
 908#line 24
 909struct iommu_ops;
 910#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 911struct bus_attribute {
 912   struct attribute attr ;
 913   ssize_t (*show)(struct bus_type * , char * ) ;
 914   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 915};
 916#line 51 "include/linux/device.h"
 917struct device_attribute;
 918#line 51
 919struct driver_attribute;
 920#line 51 "include/linux/device.h"
 921struct bus_type {
 922   char const   *name ;
 923   char const   *dev_name ;
 924   struct device *dev_root ;
 925   struct bus_attribute *bus_attrs ;
 926   struct device_attribute *dev_attrs ;
 927   struct driver_attribute *drv_attrs ;
 928   int (*match)(struct device * , struct device_driver * ) ;
 929   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 930   int (*probe)(struct device * ) ;
 931   int (*remove)(struct device * ) ;
 932   void (*shutdown)(struct device * ) ;
 933   int (*suspend)(struct device * , pm_message_t  ) ;
 934   int (*resume)(struct device * ) ;
 935   struct dev_pm_ops  const  *pm ;
 936   struct iommu_ops *iommu_ops ;
 937   struct subsys_private *p ;
 938};
 939#line 125
 940struct device_type;
 941#line 182 "include/linux/device.h"
 942struct device_driver {
 943   char const   *name ;
 944   struct bus_type *bus ;
 945   struct module *owner ;
 946   char const   *mod_name ;
 947   bool suppress_bind_attrs ;
 948   struct of_device_id  const  *of_match_table ;
 949   int (*probe)(struct device * ) ;
 950   int (*remove)(struct device * ) ;
 951   void (*shutdown)(struct device * ) ;
 952   int (*suspend)(struct device * , pm_message_t  ) ;
 953   int (*resume)(struct device * ) ;
 954   struct attribute_group  const  **groups ;
 955   struct dev_pm_ops  const  *pm ;
 956   struct driver_private *p ;
 957};
 958#line 245 "include/linux/device.h"
 959struct driver_attribute {
 960   struct attribute attr ;
 961   ssize_t (*show)(struct device_driver * , char * ) ;
 962   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 963};
 964#line 299
 965struct class_attribute;
 966#line 299 "include/linux/device.h"
 967struct class {
 968   char const   *name ;
 969   struct module *owner ;
 970   struct class_attribute *class_attrs ;
 971   struct device_attribute *dev_attrs ;
 972   struct bin_attribute *dev_bin_attrs ;
 973   struct kobject *dev_kobj ;
 974   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 975   char *(*devnode)(struct device * , umode_t * ) ;
 976   void (*class_release)(struct class * ) ;
 977   void (*dev_release)(struct device * ) ;
 978   int (*suspend)(struct device * , pm_message_t  ) ;
 979   int (*resume)(struct device * ) ;
 980   struct kobj_ns_type_operations  const  *ns_type ;
 981   void const   *(*namespace)(struct device * ) ;
 982   struct dev_pm_ops  const  *pm ;
 983   struct subsys_private *p ;
 984};
 985#line 394 "include/linux/device.h"
 986struct class_attribute {
 987   struct attribute attr ;
 988   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 989   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 990   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
 991};
 992#line 447 "include/linux/device.h"
 993struct device_type {
 994   char const   *name ;
 995   struct attribute_group  const  **groups ;
 996   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 997   char *(*devnode)(struct device * , umode_t * ) ;
 998   void (*release)(struct device * ) ;
 999   struct dev_pm_ops  const  *pm ;
1000};
1001#line 474 "include/linux/device.h"
1002struct device_attribute {
1003   struct attribute attr ;
1004   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1005   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1006                    size_t  ) ;
1007};
1008#line 557 "include/linux/device.h"
1009struct device_dma_parameters {
1010   unsigned int max_segment_size ;
1011   unsigned long segment_boundary_mask ;
1012};
1013#line 567
1014struct dma_coherent_mem;
1015#line 567 "include/linux/device.h"
1016struct device {
1017   struct device *parent ;
1018   struct device_private *p ;
1019   struct kobject kobj ;
1020   char const   *init_name ;
1021   struct device_type  const  *type ;
1022   struct mutex mutex ;
1023   struct bus_type *bus ;
1024   struct device_driver *driver ;
1025   void *platform_data ;
1026   struct dev_pm_info power ;
1027   struct dev_pm_domain *pm_domain ;
1028   int numa_node ;
1029   u64 *dma_mask ;
1030   u64 coherent_dma_mask ;
1031   struct device_dma_parameters *dma_parms ;
1032   struct list_head dma_pools ;
1033   struct dma_coherent_mem *dma_mem ;
1034   struct dev_archdata archdata ;
1035   struct device_node *of_node ;
1036   dev_t devt ;
1037   u32 id ;
1038   spinlock_t devres_lock ;
1039   struct list_head devres_head ;
1040   struct klist_node knode_class ;
1041   struct class *class ;
1042   struct attribute_group  const  **groups ;
1043   void (*release)(struct device * ) ;
1044};
1045#line 681 "include/linux/device.h"
1046struct wakeup_source {
1047   char const   *name ;
1048   struct list_head entry ;
1049   spinlock_t lock ;
1050   struct timer_list timer ;
1051   unsigned long timer_expires ;
1052   ktime_t total_time ;
1053   ktime_t max_time ;
1054   ktime_t last_time ;
1055   unsigned long event_count ;
1056   unsigned long active_count ;
1057   unsigned long relax_count ;
1058   unsigned long hit_count ;
1059   unsigned char active : 1 ;
1060};
1061#line 69 "include/linux/io.h"
1062struct hotplug_slot;
1063#line 69 "include/linux/io.h"
1064struct pci_slot {
1065   struct pci_bus *bus ;
1066   struct list_head list ;
1067   struct hotplug_slot *hotplug ;
1068   unsigned char number ;
1069   struct kobject kobj ;
1070};
1071#line 117 "include/linux/pci.h"
1072typedef int pci_power_t;
1073#line 143 "include/linux/pci.h"
1074typedef unsigned int pci_channel_state_t;
1075#line 144
1076enum pci_channel_state {
1077    pci_channel_io_normal = 1,
1078    pci_channel_io_frozen = 2,
1079    pci_channel_io_perm_failure = 3
1080} ;
1081#line 169 "include/linux/pci.h"
1082typedef unsigned short pci_dev_flags_t;
1083#line 186 "include/linux/pci.h"
1084typedef unsigned short pci_bus_flags_t;
1085#line 229
1086struct pcie_link_state;
1087#line 229
1088struct pcie_link_state;
1089#line 230
1090struct pci_vpd;
1091#line 230
1092struct pci_vpd;
1093#line 231
1094struct pci_sriov;
1095#line 231
1096struct pci_sriov;
1097#line 232
1098struct pci_ats;
1099#line 232
1100struct pci_ats;
1101#line 233
1102struct pci_driver;
1103#line 233 "include/linux/pci.h"
1104union __anonunion_ldv_16934_137 {
1105   struct pci_sriov *sriov ;
1106   struct pci_dev *physfn ;
1107};
1108#line 233 "include/linux/pci.h"
1109struct pci_dev {
1110   struct list_head bus_list ;
1111   struct pci_bus *bus ;
1112   struct pci_bus *subordinate ;
1113   void *sysdata ;
1114   struct proc_dir_entry *procent ;
1115   struct pci_slot *slot ;
1116   unsigned int devfn ;
1117   unsigned short vendor ;
1118   unsigned short device ;
1119   unsigned short subsystem_vendor ;
1120   unsigned short subsystem_device ;
1121   unsigned int class ;
1122   u8 revision ;
1123   u8 hdr_type ;
1124   u8 pcie_cap ;
1125   unsigned char pcie_type : 4 ;
1126   unsigned char pcie_mpss : 3 ;
1127   u8 rom_base_reg ;
1128   u8 pin ;
1129   struct pci_driver *driver ;
1130   u64 dma_mask ;
1131   struct device_dma_parameters dma_parms ;
1132   pci_power_t current_state ;
1133   int pm_cap ;
1134   unsigned char pme_support : 5 ;
1135   unsigned char pme_interrupt : 1 ;
1136   unsigned char pme_poll : 1 ;
1137   unsigned char d1_support : 1 ;
1138   unsigned char d2_support : 1 ;
1139   unsigned char no_d1d2 : 1 ;
1140   unsigned char mmio_always_on : 1 ;
1141   unsigned char wakeup_prepared : 1 ;
1142   unsigned int d3_delay ;
1143   struct pcie_link_state *link_state ;
1144   pci_channel_state_t error_state ;
1145   struct device dev ;
1146   int cfg_size ;
1147   unsigned int irq ;
1148   struct resource resource[17U] ;
1149   unsigned char transparent : 1 ;
1150   unsigned char multifunction : 1 ;
1151   unsigned char is_added : 1 ;
1152   unsigned char is_busmaster : 1 ;
1153   unsigned char no_msi : 1 ;
1154   unsigned char block_cfg_access : 1 ;
1155   unsigned char broken_parity_status : 1 ;
1156   unsigned char irq_reroute_variant : 2 ;
1157   unsigned char msi_enabled : 1 ;
1158   unsigned char msix_enabled : 1 ;
1159   unsigned char ari_enabled : 1 ;
1160   unsigned char is_managed : 1 ;
1161   unsigned char is_pcie : 1 ;
1162   unsigned char needs_freset : 1 ;
1163   unsigned char state_saved : 1 ;
1164   unsigned char is_physfn : 1 ;
1165   unsigned char is_virtfn : 1 ;
1166   unsigned char reset_fn : 1 ;
1167   unsigned char is_hotplug_bridge : 1 ;
1168   unsigned char __aer_firmware_first_valid : 1 ;
1169   unsigned char __aer_firmware_first : 1 ;
1170   pci_dev_flags_t dev_flags ;
1171   atomic_t enable_cnt ;
1172   u32 saved_config_space[16U] ;
1173   struct hlist_head saved_cap_space ;
1174   struct bin_attribute *rom_attr ;
1175   int rom_attr_enabled ;
1176   struct bin_attribute *res_attr[17U] ;
1177   struct bin_attribute *res_attr_wc[17U] ;
1178   struct list_head msi_list ;
1179   struct kset *msi_kset ;
1180   struct pci_vpd *vpd ;
1181   union __anonunion_ldv_16934_137 ldv_16934 ;
1182   struct pci_ats *ats ;
1183};
1184#line 403
1185struct pci_ops;
1186#line 403 "include/linux/pci.h"
1187struct pci_bus {
1188   struct list_head node ;
1189   struct pci_bus *parent ;
1190   struct list_head children ;
1191   struct list_head devices ;
1192   struct pci_dev *self ;
1193   struct list_head slots ;
1194   struct resource *resource[4U] ;
1195   struct list_head resources ;
1196   struct pci_ops *ops ;
1197   void *sysdata ;
1198   struct proc_dir_entry *procdir ;
1199   unsigned char number ;
1200   unsigned char primary ;
1201   unsigned char secondary ;
1202   unsigned char subordinate ;
1203   unsigned char max_bus_speed ;
1204   unsigned char cur_bus_speed ;
1205   char name[48U] ;
1206   unsigned short bridge_ctl ;
1207   pci_bus_flags_t bus_flags ;
1208   struct device *bridge ;
1209   struct device dev ;
1210   struct bin_attribute *legacy_io ;
1211   struct bin_attribute *legacy_mem ;
1212   unsigned char is_added : 1 ;
1213};
1214#line 455 "include/linux/pci.h"
1215struct pci_ops {
1216   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
1217   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
1218};
1219#line 490 "include/linux/pci.h"
1220struct pci_dynids {
1221   spinlock_t lock ;
1222   struct list_head list ;
1223};
1224#line 503 "include/linux/pci.h"
1225typedef unsigned int pci_ers_result_t;
1226#line 512 "include/linux/pci.h"
1227struct pci_error_handlers {
1228   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
1229   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
1230   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
1231   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
1232   void (*resume)(struct pci_dev * ) ;
1233};
1234#line 540 "include/linux/pci.h"
1235struct pci_driver {
1236   struct list_head node ;
1237   char const   *name ;
1238   struct pci_device_id  const  *id_table ;
1239   int (*probe)(struct pci_dev * , struct pci_device_id  const  * ) ;
1240   void (*remove)(struct pci_dev * ) ;
1241   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
1242   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
1243   int (*resume_early)(struct pci_dev * ) ;
1244   int (*resume)(struct pci_dev * ) ;
1245   void (*shutdown)(struct pci_dev * ) ;
1246   struct pci_error_handlers *err_handler ;
1247   struct device_driver driver ;
1248   struct pci_dynids dynids ;
1249};
1250#line 986 "include/linux/pci.h"
1251struct scatterlist {
1252   unsigned long sg_magic ;
1253   unsigned long page_link ;
1254   unsigned int offset ;
1255   unsigned int length ;
1256   dma_addr_t dma_address ;
1257   unsigned int dma_length ;
1258};
1259#line 1134
1260struct prio_tree_node;
1261#line 1134 "include/linux/pci.h"
1262struct raw_prio_tree_node {
1263   struct prio_tree_node *left ;
1264   struct prio_tree_node *right ;
1265   struct prio_tree_node *parent ;
1266};
1267#line 19 "include/linux/prio_tree.h"
1268struct prio_tree_node {
1269   struct prio_tree_node *left ;
1270   struct prio_tree_node *right ;
1271   struct prio_tree_node *parent ;
1272   unsigned long start ;
1273   unsigned long last ;
1274};
1275#line 116
1276struct address_space;
1277#line 116
1278struct address_space;
1279#line 117 "include/linux/prio_tree.h"
1280union __anonunion_ldv_17806_139 {
1281   unsigned long index ;
1282   void *freelist ;
1283};
1284#line 117 "include/linux/prio_tree.h"
1285struct __anonstruct_ldv_17816_143 {
1286   unsigned short inuse ;
1287   unsigned short objects : 15 ;
1288   unsigned char frozen : 1 ;
1289};
1290#line 117 "include/linux/prio_tree.h"
1291union __anonunion_ldv_17817_142 {
1292   atomic_t _mapcount ;
1293   struct __anonstruct_ldv_17816_143 ldv_17816 ;
1294};
1295#line 117 "include/linux/prio_tree.h"
1296struct __anonstruct_ldv_17819_141 {
1297   union __anonunion_ldv_17817_142 ldv_17817 ;
1298   atomic_t _count ;
1299};
1300#line 117 "include/linux/prio_tree.h"
1301union __anonunion_ldv_17820_140 {
1302   unsigned long counters ;
1303   struct __anonstruct_ldv_17819_141 ldv_17819 ;
1304};
1305#line 117 "include/linux/prio_tree.h"
1306struct __anonstruct_ldv_17821_138 {
1307   union __anonunion_ldv_17806_139 ldv_17806 ;
1308   union __anonunion_ldv_17820_140 ldv_17820 ;
1309};
1310#line 117 "include/linux/prio_tree.h"
1311struct __anonstruct_ldv_17828_145 {
1312   struct page *next ;
1313   int pages ;
1314   int pobjects ;
1315};
1316#line 117 "include/linux/prio_tree.h"
1317union __anonunion_ldv_17829_144 {
1318   struct list_head lru ;
1319   struct __anonstruct_ldv_17828_145 ldv_17828 ;
1320};
1321#line 117 "include/linux/prio_tree.h"
1322union __anonunion_ldv_17834_146 {
1323   unsigned long private ;
1324   struct kmem_cache *slab ;
1325   struct page *first_page ;
1326};
1327#line 117 "include/linux/prio_tree.h"
1328struct page {
1329   unsigned long flags ;
1330   struct address_space *mapping ;
1331   struct __anonstruct_ldv_17821_138 ldv_17821 ;
1332   union __anonunion_ldv_17829_144 ldv_17829 ;
1333   union __anonunion_ldv_17834_146 ldv_17834 ;
1334   unsigned long debug_flags ;
1335};
1336#line 192 "include/linux/mm_types.h"
1337struct __anonstruct_vm_set_148 {
1338   struct list_head list ;
1339   void *parent ;
1340   struct vm_area_struct *head ;
1341};
1342#line 192 "include/linux/mm_types.h"
1343union __anonunion_shared_147 {
1344   struct __anonstruct_vm_set_148 vm_set ;
1345   struct raw_prio_tree_node prio_tree_node ;
1346};
1347#line 192
1348struct anon_vma;
1349#line 192
1350struct vm_operations_struct;
1351#line 192
1352struct mempolicy;
1353#line 192 "include/linux/mm_types.h"
1354struct vm_area_struct {
1355   struct mm_struct *vm_mm ;
1356   unsigned long vm_start ;
1357   unsigned long vm_end ;
1358   struct vm_area_struct *vm_next ;
1359   struct vm_area_struct *vm_prev ;
1360   pgprot_t vm_page_prot ;
1361   unsigned long vm_flags ;
1362   struct rb_node vm_rb ;
1363   union __anonunion_shared_147 shared ;
1364   struct list_head anon_vma_chain ;
1365   struct anon_vma *anon_vma ;
1366   struct vm_operations_struct  const  *vm_ops ;
1367   unsigned long vm_pgoff ;
1368   struct file *vm_file ;
1369   void *vm_private_data ;
1370   struct mempolicy *vm_policy ;
1371};
1372#line 255 "include/linux/mm_types.h"
1373struct core_thread {
1374   struct task_struct *task ;
1375   struct core_thread *next ;
1376};
1377#line 261 "include/linux/mm_types.h"
1378struct core_state {
1379   atomic_t nr_threads ;
1380   struct core_thread dumper ;
1381   struct completion startup ;
1382};
1383#line 274 "include/linux/mm_types.h"
1384struct mm_rss_stat {
1385   atomic_long_t count[3U] ;
1386};
1387#line 287
1388struct linux_binfmt;
1389#line 287
1390struct mmu_notifier_mm;
1391#line 287 "include/linux/mm_types.h"
1392struct mm_struct {
1393   struct vm_area_struct *mmap ;
1394   struct rb_root mm_rb ;
1395   struct vm_area_struct *mmap_cache ;
1396   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1397                                      unsigned long  , unsigned long  ) ;
1398   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1399   unsigned long mmap_base ;
1400   unsigned long task_size ;
1401   unsigned long cached_hole_size ;
1402   unsigned long free_area_cache ;
1403   pgd_t *pgd ;
1404   atomic_t mm_users ;
1405   atomic_t mm_count ;
1406   int map_count ;
1407   spinlock_t page_table_lock ;
1408   struct rw_semaphore mmap_sem ;
1409   struct list_head mmlist ;
1410   unsigned long hiwater_rss ;
1411   unsigned long hiwater_vm ;
1412   unsigned long total_vm ;
1413   unsigned long locked_vm ;
1414   unsigned long pinned_vm ;
1415   unsigned long shared_vm ;
1416   unsigned long exec_vm ;
1417   unsigned long stack_vm ;
1418   unsigned long reserved_vm ;
1419   unsigned long def_flags ;
1420   unsigned long nr_ptes ;
1421   unsigned long start_code ;
1422   unsigned long end_code ;
1423   unsigned long start_data ;
1424   unsigned long end_data ;
1425   unsigned long start_brk ;
1426   unsigned long brk ;
1427   unsigned long start_stack ;
1428   unsigned long arg_start ;
1429   unsigned long arg_end ;
1430   unsigned long env_start ;
1431   unsigned long env_end ;
1432   unsigned long saved_auxv[44U] ;
1433   struct mm_rss_stat rss_stat ;
1434   struct linux_binfmt *binfmt ;
1435   cpumask_var_t cpu_vm_mask_var ;
1436   mm_context_t context ;
1437   unsigned int faultstamp ;
1438   unsigned int token_priority ;
1439   unsigned int last_interval ;
1440   unsigned long flags ;
1441   struct core_state *core_state ;
1442   spinlock_t ioctx_lock ;
1443   struct hlist_head ioctx_list ;
1444   struct task_struct *owner ;
1445   struct file *exe_file ;
1446   unsigned long num_exe_file_vmas ;
1447   struct mmu_notifier_mm *mmu_notifier_mm ;
1448   pgtable_t pmd_huge_pte ;
1449   struct cpumask cpumask_allocation ;
1450};
1451#line 178 "include/linux/mm.h"
1452struct vm_fault {
1453   unsigned int flags ;
1454   unsigned long pgoff ;
1455   void *virtual_address ;
1456   struct page *page ;
1457};
1458#line 195 "include/linux/mm.h"
1459struct vm_operations_struct {
1460   void (*open)(struct vm_area_struct * ) ;
1461   void (*close)(struct vm_area_struct * ) ;
1462   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1463   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1464   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
1465   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1466   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
1467   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
1468                  unsigned long  ) ;
1469};
1470#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
1471struct dma_attrs {
1472   unsigned long flags[1U] ;
1473};
1474#line 67 "include/linux/dma-attrs.h"
1475enum dma_data_direction {
1476    DMA_BIDIRECTIONAL = 0,
1477    DMA_TO_DEVICE = 1,
1478    DMA_FROM_DEVICE = 2,
1479    DMA_NONE = 3
1480} ;
1481#line 268 "include/linux/scatterlist.h"
1482struct dma_map_ops {
1483   void *(*alloc)(struct device * , size_t  , dma_addr_t * , gfp_t  , struct dma_attrs * ) ;
1484   void (*free)(struct device * , size_t  , void * , dma_addr_t  , struct dma_attrs * ) ;
1485   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
1486               size_t  , struct dma_attrs * ) ;
1487   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
1488                          enum dma_data_direction  , struct dma_attrs * ) ;
1489   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
1490                      struct dma_attrs * ) ;
1491   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
1492                 struct dma_attrs * ) ;
1493   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
1494                    struct dma_attrs * ) ;
1495   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
1496   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
1497   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
1498   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
1499   int (*mapping_error)(struct device * , dma_addr_t  ) ;
1500   int (*dma_supported)(struct device * , u64  ) ;
1501   int (*set_dma_mask)(struct device * , u64  ) ;
1502   int is_phys ;
1503};
1504#line 1763 "include/linux/pci.h"
1505struct tifm_device_id {
1506   unsigned char type ;
1507};
1508#line 89 "include/linux/tifm.h"
1509struct tifm_driver;
1510#line 89
1511struct tifm_driver;
1512#line 90 "include/linux/tifm.h"
1513struct tifm_dev {
1514   char *addr ;
1515   spinlock_t lock ;
1516   unsigned char type ;
1517   unsigned int socket_id ;
1518   void (*card_event)(struct tifm_dev * ) ;
1519   void (*data_event)(struct tifm_dev * ) ;
1520   struct device dev ;
1521};
1522#line 102 "include/linux/tifm.h"
1523struct tifm_driver {
1524   struct tifm_device_id *id_table ;
1525   int (*probe)(struct tifm_dev * ) ;
1526   void (*remove)(struct tifm_dev * ) ;
1527   int (*suspend)(struct tifm_dev * , pm_message_t  ) ;
1528   int (*resume)(struct tifm_dev * ) ;
1529   struct device_driver driver ;
1530};
1531#line 113 "include/linux/tifm.h"
1532struct tifm_adapter {
1533   char *addr ;
1534   spinlock_t lock ;
1535   unsigned int irq_status ;
1536   unsigned int socket_change_set ;
1537   unsigned int id ;
1538   unsigned int num_sockets ;
1539   struct completion *finish_me ;
1540   struct work_struct media_switcher ;
1541   struct device dev ;
1542   void (*eject)(struct tifm_adapter * , struct tifm_dev * ) ;
1543   int (*has_ms_pif)(struct tifm_adapter * , struct tifm_dev * ) ;
1544   struct tifm_dev *sockets[0U] ;
1545};
1546#line 163 "include/linux/tifm.h"
1547struct idr_layer {
1548   unsigned long bitmap ;
1549   struct idr_layer *ary[64U] ;
1550   int count ;
1551   int layer ;
1552   struct rcu_head rcu_head ;
1553};
1554#line 58 "include/linux/idr.h"
1555struct idr {
1556   struct idr_layer *top ;
1557   struct idr_layer *id_free ;
1558   int layers ;
1559   int id_free_cnt ;
1560   spinlock_t lock ;
1561};
1562#line 1 "<compiler builtins>"
1563long __builtin_expect(long  , long  ) ;
1564#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
1565void ldv_spin_lock(void) ;
1566#line 3
1567void ldv_spin_unlock(void) ;
1568#line 4
1569int ldv_spin_trylock(void) ;
1570#line 101 "include/linux/printk.h"
1571extern int printk(char const   *  , ...) ;
1572#line 320 "include/linux/kernel.h"
1573extern int sprintf(char * , char const   *  , ...) ;
1574#line 93 "include/linux/spinlock.h"
1575extern void __raw_spin_lock_init(raw_spinlock_t * , char const   * , struct lock_class_key * ) ;
1576#line 22 "include/linux/spinlock_api_smp.h"
1577extern void _raw_spin_lock(raw_spinlock_t * ) ;
1578#line 39
1579extern void _raw_spin_unlock(raw_spinlock_t * ) ;
1580#line 272 "include/linux/spinlock.h"
1581__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
1582{ 
1583
1584  {
1585#line 274
1586  return ((struct raw_spinlock *)lock);
1587}
1588}
1589#line 283 "include/linux/spinlock.h"
1590__inline static void ldv_spin_lock_1(spinlock_t *lock ) 
1591{ struct raw_spinlock *__cil_tmp2 ;
1592
1593  {
1594  {
1595#line 285
1596  __cil_tmp2 = (struct raw_spinlock *)lock;
1597#line 285
1598  _raw_spin_lock(__cil_tmp2);
1599  }
1600#line 286
1601  return;
1602}
1603}
1604#line 283
1605__inline static void spin_lock(spinlock_t *lock ) ;
1606#line 323 "include/linux/spinlock.h"
1607__inline static void ldv_spin_unlock_5(spinlock_t *lock ) 
1608{ struct raw_spinlock *__cil_tmp2 ;
1609
1610  {
1611  {
1612#line 325
1613  __cil_tmp2 = (struct raw_spinlock *)lock;
1614#line 325
1615  _raw_spin_unlock(__cil_tmp2);
1616  }
1617#line 326
1618  return;
1619}
1620}
1621#line 323
1622__inline static void spin_unlock(spinlock_t *lock ) ;
1623#line 304 "include/linux/workqueue.h"
1624extern struct workqueue_struct *__alloc_workqueue_key(char const   * , unsigned int  ,
1625                                                      int  , struct lock_class_key * ,
1626                                                      char const   *  , ...) ;
1627#line 366
1628extern void destroy_workqueue(struct workqueue_struct * ) ;
1629#line 368
1630extern int queue_work(struct workqueue_struct * , struct work_struct * ) ;
1631#line 376
1632extern void flush_workqueue(struct workqueue_struct * ) ;
1633#line 212 "include/linux/kobject.h"
1634extern int add_uevent_var(struct kobj_uevent_env * , char const   *  , ...) ;
1635#line 161 "include/linux/slab.h"
1636extern void kfree(void const   * ) ;
1637#line 220 "include/linux/slub_def.h"
1638extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
1639#line 223
1640void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1641#line 353 "include/linux/slab.h"
1642__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1643#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
1644extern void *__VERIFIER_nondet_pointer(void) ;
1645#line 11
1646void ldv_check_alloc_flags(gfp_t flags ) ;
1647#line 12
1648void ldv_check_alloc_nonatomic(void) ;
1649#line 14
1650struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1651#line 120 "include/linux/device.h"
1652extern int __bus_register(struct bus_type * , struct lock_class_key * ) ;
1653#line 122
1654extern void bus_unregister(struct bus_type * ) ;
1655#line 238
1656extern int driver_register(struct device_driver * ) ;
1657#line 239
1658extern void driver_unregister(struct device_driver * ) ;
1659#line 363
1660extern int __class_register(struct class * , struct lock_class_key * ) ;
1661#line 365
1662extern void class_unregister(struct class * ) ;
1663#line 695
1664extern int dev_set_name(struct device * , char const   *  , ...) ;
1665#line 779
1666extern void device_unregister(struct device * ) ;
1667#line 780
1668extern void device_initialize(struct device * ) ;
1669#line 781
1670extern int device_add(struct device * ) ;
1671#line 782
1672extern void device_del(struct device * ) ;
1673#line 792
1674extern void *dev_get_drvdata(struct device  const  * ) ;
1675#line 855
1676extern struct device *get_device(struct device * ) ;
1677#line 856
1678extern void put_device(struct device * ) ;
1679#line 737 "include/linux/mm.h"
1680__inline static void *lowmem_page_address(struct page  const  *page ) 
1681{ long __cil_tmp2 ;
1682  long __cil_tmp3 ;
1683  long __cil_tmp4 ;
1684  unsigned long long __cil_tmp5 ;
1685  unsigned long long __cil_tmp6 ;
1686  unsigned long __cil_tmp7 ;
1687  unsigned long __cil_tmp8 ;
1688
1689  {
1690  {
1691#line 739
1692  __cil_tmp2 = (long )page;
1693#line 739
1694  __cil_tmp3 = __cil_tmp2 + 24189255811072L;
1695#line 739
1696  __cil_tmp4 = __cil_tmp3 / 64L;
1697#line 739
1698  __cil_tmp5 = (unsigned long long )__cil_tmp4;
1699#line 739
1700  __cil_tmp6 = __cil_tmp5 << 12;
1701#line 739
1702  __cil_tmp7 = (unsigned long )__cil_tmp6;
1703#line 739
1704  __cil_tmp8 = __cil_tmp7 + 0xffff880000000000UL;
1705#line 739
1706  return ((void *)__cil_tmp8);
1707  }
1708}
1709}
1710#line 95 "include/linux/scatterlist.h"
1711__inline static struct page *sg_page(struct scatterlist *sg ) 
1712{ long tmp ;
1713  long tmp___0 ;
1714  unsigned long __cil_tmp4 ;
1715  int __cil_tmp5 ;
1716  long __cil_tmp6 ;
1717  unsigned long __cil_tmp7 ;
1718  unsigned long __cil_tmp8 ;
1719  unsigned long __cil_tmp9 ;
1720  int __cil_tmp10 ;
1721  long __cil_tmp11 ;
1722  long __cil_tmp12 ;
1723  unsigned long __cil_tmp13 ;
1724  unsigned long __cil_tmp14 ;
1725  unsigned long __cil_tmp15 ;
1726  unsigned long __cil_tmp16 ;
1727
1728  {
1729  {
1730#line 98
1731  __cil_tmp4 = *((unsigned long *)sg);
1732#line 98
1733  __cil_tmp5 = __cil_tmp4 != 2271560481UL;
1734#line 98
1735  __cil_tmp6 = (long )__cil_tmp5;
1736#line 98
1737  tmp = __builtin_expect(__cil_tmp6, 0L);
1738  }
1739#line 98
1740  if (tmp != 0L) {
1741#line 98
1742    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"),
1743                         "i" (98), "i" (12UL));
1744    ldv_20527: ;
1745#line 98
1746    goto ldv_20527;
1747  } else {
1748
1749  }
1750  {
1751#line 99
1752  __cil_tmp7 = (unsigned long )sg;
1753#line 99
1754  __cil_tmp8 = __cil_tmp7 + 8;
1755#line 99
1756  __cil_tmp9 = *((unsigned long *)__cil_tmp8);
1757#line 99
1758  __cil_tmp10 = (int )__cil_tmp9;
1759#line 99
1760  __cil_tmp11 = (long )__cil_tmp10;
1761#line 99
1762  __cil_tmp12 = __cil_tmp11 & 1L;
1763#line 99
1764  tmp___0 = __builtin_expect(__cil_tmp12, 0L);
1765  }
1766#line 99
1767  if (tmp___0 != 0L) {
1768#line 99
1769    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"),
1770                         "i" (99), "i" (12UL));
1771    ldv_20528: ;
1772#line 99
1773    goto ldv_20528;
1774  } else {
1775
1776  }
1777  {
1778#line 101
1779  __cil_tmp13 = (unsigned long )sg;
1780#line 101
1781  __cil_tmp14 = __cil_tmp13 + 8;
1782#line 101
1783  __cil_tmp15 = *((unsigned long *)__cil_tmp14);
1784#line 101
1785  __cil_tmp16 = __cil_tmp15 & 0xfffffffffffffffcUL;
1786#line 101
1787  return ((struct page *)__cil_tmp16);
1788  }
1789}
1790}
1791#line 199 "include/linux/scatterlist.h"
1792__inline static void *sg_virt(struct scatterlist *sg ) 
1793{ struct page *tmp ;
1794  void *tmp___0 ;
1795  struct page  const  *__cil_tmp4 ;
1796  unsigned long __cil_tmp5 ;
1797  unsigned long __cil_tmp6 ;
1798  unsigned int __cil_tmp7 ;
1799  unsigned long __cil_tmp8 ;
1800
1801  {
1802  {
1803#line 201
1804  tmp = sg_page(sg);
1805#line 201
1806  __cil_tmp4 = (struct page  const  *)tmp;
1807#line 201
1808  tmp___0 = lowmem_page_address(__cil_tmp4);
1809  }
1810  {
1811#line 201
1812  __cil_tmp5 = (unsigned long )sg;
1813#line 201
1814  __cil_tmp6 = __cil_tmp5 + 16;
1815#line 201
1816  __cil_tmp7 = *((unsigned int *)__cil_tmp6);
1817#line 201
1818  __cil_tmp8 = (unsigned long )__cil_tmp7;
1819#line 201
1820  return (tmp___0 + __cil_tmp8);
1821  }
1822}
1823}
1824#line 204
1825extern struct scatterlist *sg_next(struct scatterlist * ) ;
1826#line 60 "include/linux/dma-mapping.h"
1827__inline static int valid_dma_direction(int dma_direction ) 
1828{ int tmp ;
1829
1830  {
1831#line 62
1832  if (dma_direction == 0) {
1833#line 62
1834    tmp = 1;
1835  } else
1836#line 62
1837  if (dma_direction == 1) {
1838#line 62
1839    tmp = 1;
1840  } else
1841#line 62
1842  if (dma_direction == 2) {
1843#line 62
1844    tmp = 1;
1845  } else {
1846#line 62
1847    tmp = 0;
1848  }
1849#line 62
1850  return (tmp);
1851}
1852}
1853#line 131 "include/linux/kmemcheck.h"
1854__inline static void kmemcheck_mark_initialized(void *address , unsigned int n ) 
1855{ 
1856
1857  {
1858#line 133
1859  return;
1860}
1861}
1862#line 45 "include/linux/dma-debug.h"
1863extern void debug_dma_map_sg(struct device * , struct scatterlist * , int  , int  ,
1864                             int  ) ;
1865#line 48
1866extern void debug_dma_unmap_sg(struct device * , struct scatterlist * , int  , int  ) ;
1867#line 29 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
1868extern struct dma_map_ops *dma_ops ;
1869#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
1870__inline static struct dma_map_ops *get_dma_ops(struct device *dev ) 
1871{ long tmp ;
1872  struct device *__cil_tmp3 ;
1873  unsigned long __cil_tmp4 ;
1874  unsigned long __cil_tmp5 ;
1875  int __cil_tmp6 ;
1876  long __cil_tmp7 ;
1877  struct dma_map_ops *__cil_tmp8 ;
1878  unsigned long __cil_tmp9 ;
1879  unsigned long __cil_tmp10 ;
1880  unsigned long __cil_tmp11 ;
1881  unsigned long __cil_tmp12 ;
1882  struct dma_map_ops *__cil_tmp13 ;
1883  unsigned long __cil_tmp14 ;
1884  unsigned long __cil_tmp15 ;
1885  unsigned long __cil_tmp16 ;
1886  unsigned long __cil_tmp17 ;
1887
1888  {
1889  {
1890#line 36
1891  __cil_tmp3 = (struct device *)0;
1892#line 36
1893  __cil_tmp4 = (unsigned long )__cil_tmp3;
1894#line 36
1895  __cil_tmp5 = (unsigned long )dev;
1896#line 36
1897  __cil_tmp6 = __cil_tmp5 == __cil_tmp4;
1898#line 36
1899  __cil_tmp7 = (long )__cil_tmp6;
1900#line 36
1901  tmp = __builtin_expect(__cil_tmp7, 0L);
1902  }
1903#line 36
1904  if (tmp != 0L) {
1905#line 37
1906    return (dma_ops);
1907  } else {
1908    {
1909#line 36
1910    __cil_tmp8 = (struct dma_map_ops *)0;
1911#line 36
1912    __cil_tmp9 = (unsigned long )__cil_tmp8;
1913#line 36
1914    __cil_tmp10 = 968 + 8;
1915#line 36
1916    __cil_tmp11 = (unsigned long )dev;
1917#line 36
1918    __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
1919#line 36
1920    __cil_tmp13 = *((struct dma_map_ops **)__cil_tmp12);
1921#line 36
1922    __cil_tmp14 = (unsigned long )__cil_tmp13;
1923#line 36
1924    if (__cil_tmp14 == __cil_tmp9) {
1925#line 37
1926      return (dma_ops);
1927    } else {
1928      {
1929#line 39
1930      __cil_tmp15 = 968 + 8;
1931#line 39
1932      __cil_tmp16 = (unsigned long )dev;
1933#line 39
1934      __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
1935#line 39
1936      return (*((struct dma_map_ops **)__cil_tmp17));
1937      }
1938    }
1939    }
1940  }
1941}
1942}
1943#line 42 "include/asm-generic/dma-mapping-common.h"
1944__inline static int dma_map_sg_attrs(struct device *dev , struct scatterlist *sg ,
1945                                     int nents , enum dma_data_direction dir , struct dma_attrs *attrs ) 
1946{ struct dma_map_ops *ops ;
1947  struct dma_map_ops *tmp ;
1948  int i ;
1949  int ents ;
1950  struct scatterlist *s ;
1951  void *tmp___0 ;
1952  int tmp___1 ;
1953  long tmp___2 ;
1954  unsigned long __cil_tmp14 ;
1955  unsigned long __cil_tmp15 ;
1956  unsigned int __cil_tmp16 ;
1957  int __cil_tmp17 ;
1958  int __cil_tmp18 ;
1959  long __cil_tmp19 ;
1960  unsigned long __cil_tmp20 ;
1961  unsigned long __cil_tmp21 ;
1962  int (*__cil_tmp22)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
1963                     struct dma_attrs * ) ;
1964  int __cil_tmp23 ;
1965
1966  {
1967  {
1968#line 46
1969  tmp = get_dma_ops(dev);
1970#line 46
1971  ops = tmp;
1972#line 50
1973  i = 0;
1974#line 50
1975  s = sg;
1976  }
1977#line 50
1978  goto ldv_20987;
1979  ldv_20986: 
1980  {
1981#line 51
1982  tmp___0 = sg_virt(s);
1983#line 51
1984  __cil_tmp14 = (unsigned long )s;
1985#line 51
1986  __cil_tmp15 = __cil_tmp14 + 20;
1987#line 51
1988  __cil_tmp16 = *((unsigned int *)__cil_tmp15);
1989#line 51
1990  kmemcheck_mark_initialized(tmp___0, __cil_tmp16);
1991#line 50
1992  i = i + 1;
1993#line 50
1994  s = sg_next(s);
1995  }
1996  ldv_20987: ;
1997#line 50
1998  if (i < nents) {
1999#line 51
2000    goto ldv_20986;
2001  } else {
2002#line 53
2003    goto ldv_20988;
2004  }
2005  ldv_20988: 
2006  {
2007#line 52
2008  __cil_tmp17 = (int )dir;
2009#line 52
2010  tmp___1 = valid_dma_direction(__cil_tmp17);
2011#line 52
2012  __cil_tmp18 = tmp___1 == 0;
2013#line 52
2014  __cil_tmp19 = (long )__cil_tmp18;
2015#line 52
2016  tmp___2 = __builtin_expect(__cil_tmp19, 0L);
2017  }
2018#line 52
2019  if (tmp___2 != 0L) {
2020#line 52
2021    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
2022                         "i" (52), "i" (12UL));
2023    ldv_20989: ;
2024#line 52
2025    goto ldv_20989;
2026  } else {
2027
2028  }
2029  {
2030#line 53
2031  __cil_tmp20 = (unsigned long )ops;
2032#line 53
2033  __cil_tmp21 = __cil_tmp20 + 40;
2034#line 53
2035  __cil_tmp22 = *((int (**)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2036                            struct dma_attrs * ))__cil_tmp21);
2037#line 53
2038  ents = (*__cil_tmp22)(dev, sg, nents, dir, attrs);
2039#line 54
2040  __cil_tmp23 = (int )dir;
2041#line 54
2042  debug_dma_map_sg(dev, sg, nents, ents, __cil_tmp23);
2043  }
2044#line 56
2045  return (ents);
2046}
2047}
2048#line 59 "include/asm-generic/dma-mapping-common.h"
2049__inline static void dma_unmap_sg_attrs(struct device *dev , struct scatterlist *sg ,
2050                                        int nents , enum dma_data_direction dir ,
2051                                        struct dma_attrs *attrs ) 
2052{ struct dma_map_ops *ops ;
2053  struct dma_map_ops *tmp ;
2054  int tmp___0 ;
2055  long tmp___1 ;
2056  int __cil_tmp10 ;
2057  int __cil_tmp11 ;
2058  long __cil_tmp12 ;
2059  int __cil_tmp13 ;
2060  void (*__cil_tmp14)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2061                      struct dma_attrs * ) ;
2062  unsigned long __cil_tmp15 ;
2063  unsigned long __cil_tmp16 ;
2064  unsigned long __cil_tmp17 ;
2065  void (*__cil_tmp18)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2066                      struct dma_attrs * ) ;
2067  unsigned long __cil_tmp19 ;
2068  unsigned long __cil_tmp20 ;
2069  unsigned long __cil_tmp21 ;
2070  void (*__cil_tmp22)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2071                      struct dma_attrs * ) ;
2072
2073  {
2074  {
2075#line 63
2076  tmp = get_dma_ops(dev);
2077#line 63
2078  ops = tmp;
2079#line 65
2080  __cil_tmp10 = (int )dir;
2081#line 65
2082  tmp___0 = valid_dma_direction(__cil_tmp10);
2083#line 65
2084  __cil_tmp11 = tmp___0 == 0;
2085#line 65
2086  __cil_tmp12 = (long )__cil_tmp11;
2087#line 65
2088  tmp___1 = __builtin_expect(__cil_tmp12, 0L);
2089  }
2090#line 65
2091  if (tmp___1 != 0L) {
2092#line 65
2093    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
2094                         "i" (65), "i" (12UL));
2095    ldv_20998: ;
2096#line 65
2097    goto ldv_20998;
2098  } else {
2099
2100  }
2101  {
2102#line 66
2103  __cil_tmp13 = (int )dir;
2104#line 66
2105  debug_dma_unmap_sg(dev, sg, nents, __cil_tmp13);
2106  }
2107  {
2108#line 67
2109  __cil_tmp14 = (void (*)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2110                          struct dma_attrs * ))0;
2111#line 67
2112  __cil_tmp15 = (unsigned long )__cil_tmp14;
2113#line 67
2114  __cil_tmp16 = (unsigned long )ops;
2115#line 67
2116  __cil_tmp17 = __cil_tmp16 + 48;
2117#line 67
2118  __cil_tmp18 = *((void (**)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2119                             struct dma_attrs * ))__cil_tmp17);
2120#line 67
2121  __cil_tmp19 = (unsigned long )__cil_tmp18;
2122#line 67
2123  if (__cil_tmp19 != __cil_tmp15) {
2124    {
2125#line 68
2126    __cil_tmp20 = (unsigned long )ops;
2127#line 68
2128    __cil_tmp21 = __cil_tmp20 + 48;
2129#line 68
2130    __cil_tmp22 = *((void (**)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2131                               struct dma_attrs * ))__cil_tmp21);
2132#line 68
2133    (*__cil_tmp22)(dev, sg, nents, dir, attrs);
2134    }
2135  } else {
2136
2137  }
2138  }
2139#line 69
2140  return;
2141}
2142}
2143#line 57 "include/asm-generic/pci-dma-compat.h"
2144__inline static int pci_map_sg(struct pci_dev *hwdev , struct scatterlist *sg , int nents ,
2145                               int direction ) 
2146{ struct device *tmp ;
2147  int tmp___0 ;
2148  struct pci_dev *__cil_tmp7 ;
2149  unsigned long __cil_tmp8 ;
2150  unsigned long __cil_tmp9 ;
2151  unsigned long __cil_tmp10 ;
2152  unsigned long __cil_tmp11 ;
2153  enum dma_data_direction __cil_tmp12 ;
2154  struct dma_attrs *__cil_tmp13 ;
2155
2156  {
2157  {
2158#line 60
2159  __cil_tmp7 = (struct pci_dev *)0;
2160#line 60
2161  __cil_tmp8 = (unsigned long )__cil_tmp7;
2162#line 60
2163  __cil_tmp9 = (unsigned long )hwdev;
2164#line 60
2165  if (__cil_tmp9 != __cil_tmp8) {
2166#line 60
2167    __cil_tmp10 = (unsigned long )hwdev;
2168#line 60
2169    __cil_tmp11 = __cil_tmp10 + 144;
2170#line 60
2171    tmp = (struct device *)__cil_tmp11;
2172  } else {
2173#line 60
2174    tmp = (struct device *)0;
2175  }
2176  }
2177  {
2178#line 60
2179  __cil_tmp12 = (enum dma_data_direction )direction;
2180#line 60
2181  __cil_tmp13 = (struct dma_attrs *)0;
2182#line 60
2183  tmp___0 = dma_map_sg_attrs(tmp, sg, nents, __cil_tmp12, __cil_tmp13);
2184  }
2185#line 60
2186  return (tmp___0);
2187}
2188}
2189#line 64 "include/asm-generic/pci-dma-compat.h"
2190__inline static void pci_unmap_sg(struct pci_dev *hwdev , struct scatterlist *sg ,
2191                                  int nents , int direction ) 
2192{ struct device *tmp ;
2193  struct pci_dev *__cil_tmp6 ;
2194  unsigned long __cil_tmp7 ;
2195  unsigned long __cil_tmp8 ;
2196  unsigned long __cil_tmp9 ;
2197  unsigned long __cil_tmp10 ;
2198  enum dma_data_direction __cil_tmp11 ;
2199  struct dma_attrs *__cil_tmp12 ;
2200
2201  {
2202  {
2203#line 67
2204  __cil_tmp6 = (struct pci_dev *)0;
2205#line 67
2206  __cil_tmp7 = (unsigned long )__cil_tmp6;
2207#line 67
2208  __cil_tmp8 = (unsigned long )hwdev;
2209#line 67
2210  if (__cil_tmp8 != __cil_tmp7) {
2211#line 67
2212    __cil_tmp9 = (unsigned long )hwdev;
2213#line 67
2214    __cil_tmp10 = __cil_tmp9 + 144;
2215#line 67
2216    tmp = (struct device *)__cil_tmp10;
2217  } else {
2218#line 67
2219    tmp = (struct device *)0;
2220  }
2221  }
2222  {
2223#line 67
2224  __cil_tmp11 = (enum dma_data_direction )direction;
2225#line 67
2226  __cil_tmp12 = (struct dma_attrs *)0;
2227#line 67
2228  dma_unmap_sg_attrs(tmp, sg, nents, __cil_tmp11, __cil_tmp12);
2229  }
2230#line 68
2231  return;
2232}
2233}
2234#line 134 "include/linux/tifm.h"
2235struct tifm_adapter *tifm_alloc_adapter(unsigned int num_sockets , struct device *dev ) ;
2236#line 136
2237int tifm_add_adapter(struct tifm_adapter *fm ) ;
2238#line 137
2239void tifm_remove_adapter(struct tifm_adapter *fm ) ;
2240#line 138
2241void tifm_free_adapter(struct tifm_adapter *fm ) ;
2242#line 140
2243void tifm_free_device(struct device *dev ) ;
2244#line 141
2245struct tifm_dev *tifm_alloc_device(struct tifm_adapter *fm , unsigned int id , unsigned char type ) ;
2246#line 144
2247int tifm_register_driver(struct tifm_driver *drv ) ;
2248#line 145
2249void tifm_unregister_driver(struct tifm_driver *drv ) ;
2250#line 146
2251void tifm_eject(struct tifm_dev *sock ) ;
2252#line 147
2253int tifm_has_ms_pif(struct tifm_dev *sock ) ;
2254#line 148
2255int tifm_map_sg(struct tifm_dev *sock , struct scatterlist *sg , int nents , int direction ) ;
2256#line 150
2257void tifm_unmap_sg(struct tifm_dev *sock , struct scatterlist *sg , int nents , int direction ) ;
2258#line 152
2259void tifm_queue_work(struct work_struct *work ) ;
2260#line 105 "include/linux/idr.h"
2261extern int idr_pre_get(struct idr * , gfp_t  ) ;
2262#line 106
2263extern int idr_get_new(struct idr * , void * , int * ) ;
2264#line 112
2265extern void idr_remove(struct idr * , int  ) ;
2266#line 36 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2267static struct workqueue_struct *workqueue  ;
2268#line 37 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2269static struct idr tifm_adapter_idr  =    {(struct idr_layer *)0, (struct idr_layer *)0, 0, 0, {{{{{0U}}, 3735899821U, 4294967295U,
2270                                                           (void *)0xffffffffffffffffUL,
2271                                                           {(struct lock_class_key *)0,
2272                                                            {(struct lock_class *)0,
2273                                                             (struct lock_class *)0},
2274                                                            "tifm_adapter_idr.lock",
2275                                                            0, 0UL}}}}};
2276#line 38 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2277static spinlock_t tifm_adapter_lock  =    {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2278                                                                       {(struct lock_class *)0,
2279                                                                        (struct lock_class *)0},
2280                                                                       "tifm_adapter_lock",
2281                                                                       0, 0UL}}}};
2282#line 40 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2283static char const   *tifm_media_type_name(unsigned char type , unsigned char nt ) 
2284{ char const   *card_type_name[3U][3U] ;
2285  unsigned long __cil_tmp4 ;
2286  unsigned long __cil_tmp5 ;
2287  unsigned long __cil_tmp6 ;
2288  unsigned long __cil_tmp7 ;
2289  unsigned long __cil_tmp8 ;
2290  unsigned long __cil_tmp9 ;
2291  unsigned long __cil_tmp10 ;
2292  unsigned long __cil_tmp11 ;
2293  unsigned long __cil_tmp12 ;
2294  unsigned long __cil_tmp13 ;
2295  unsigned long __cil_tmp14 ;
2296  unsigned long __cil_tmp15 ;
2297  unsigned long __cil_tmp16 ;
2298  unsigned long __cil_tmp17 ;
2299  unsigned long __cil_tmp18 ;
2300  unsigned long __cil_tmp19 ;
2301  unsigned long __cil_tmp20 ;
2302  unsigned long __cil_tmp21 ;
2303  unsigned long __cil_tmp22 ;
2304  unsigned long __cil_tmp23 ;
2305  unsigned long __cil_tmp24 ;
2306  unsigned long __cil_tmp25 ;
2307  unsigned long __cil_tmp26 ;
2308  unsigned long __cil_tmp27 ;
2309  unsigned long __cil_tmp28 ;
2310  unsigned long __cil_tmp29 ;
2311  unsigned long __cil_tmp30 ;
2312  unsigned long __cil_tmp31 ;
2313  unsigned long __cil_tmp32 ;
2314  unsigned long __cil_tmp33 ;
2315  unsigned long __cil_tmp34 ;
2316  unsigned long __cil_tmp35 ;
2317  unsigned long __cil_tmp36 ;
2318  unsigned long __cil_tmp37 ;
2319  unsigned long __cil_tmp38 ;
2320  unsigned long __cil_tmp39 ;
2321  unsigned int __cil_tmp40 ;
2322  unsigned int __cil_tmp41 ;
2323  unsigned int __cil_tmp42 ;
2324  int __cil_tmp43 ;
2325  int __cil_tmp44 ;
2326  unsigned long __cil_tmp45 ;
2327  int __cil_tmp46 ;
2328  unsigned long __cil_tmp47 ;
2329  unsigned long __cil_tmp48 ;
2330  unsigned long __cil_tmp49 ;
2331
2332  {
2333#line 42
2334  __cil_tmp4 = 0 * 8UL;
2335#line 42
2336  __cil_tmp5 = 0 * 24UL;
2337#line 42
2338  __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
2339#line 42
2340  __cil_tmp7 = (unsigned long )(card_type_name) + __cil_tmp6;
2341#line 42
2342  *((char const   **)__cil_tmp7) = "SmartMedia/xD";
2343#line 42
2344  __cil_tmp8 = 1 * 8UL;
2345#line 42
2346  __cil_tmp9 = 0 * 24UL;
2347#line 42
2348  __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
2349#line 42
2350  __cil_tmp11 = (unsigned long )(card_type_name) + __cil_tmp10;
2351#line 42
2352  *((char const   **)__cil_tmp11) = "MemoryStick";
2353#line 42
2354  __cil_tmp12 = 2 * 8UL;
2355#line 42
2356  __cil_tmp13 = 0 * 24UL;
2357#line 42
2358  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
2359#line 42
2360  __cil_tmp15 = (unsigned long )(card_type_name) + __cil_tmp14;
2361#line 42
2362  *((char const   **)__cil_tmp15) = "MMC/SD";
2363#line 42
2364  __cil_tmp16 = 0 * 8UL;
2365#line 42
2366  __cil_tmp17 = 1 * 24UL;
2367#line 42
2368  __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
2369#line 42
2370  __cil_tmp19 = (unsigned long )(card_type_name) + __cil_tmp18;
2371#line 42
2372  *((char const   **)__cil_tmp19) = "XD";
2373#line 42
2374  __cil_tmp20 = 1 * 8UL;
2375#line 42
2376  __cil_tmp21 = 1 * 24UL;
2377#line 42
2378  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
2379#line 42
2380  __cil_tmp23 = (unsigned long )(card_type_name) + __cil_tmp22;
2381#line 42
2382  *((char const   **)__cil_tmp23) = "MS";
2383#line 42
2384  __cil_tmp24 = 2 * 8UL;
2385#line 42
2386  __cil_tmp25 = 1 * 24UL;
2387#line 42
2388  __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
2389#line 42
2390  __cil_tmp27 = (unsigned long )(card_type_name) + __cil_tmp26;
2391#line 42
2392  *((char const   **)__cil_tmp27) = "SD";
2393#line 42
2394  __cil_tmp28 = 0 * 8UL;
2395#line 42
2396  __cil_tmp29 = 2 * 24UL;
2397#line 42
2398  __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
2399#line 42
2400  __cil_tmp31 = (unsigned long )(card_type_name) + __cil_tmp30;
2401#line 42
2402  *((char const   **)__cil_tmp31) = "xd";
2403#line 42
2404  __cil_tmp32 = 1 * 8UL;
2405#line 42
2406  __cil_tmp33 = 2 * 24UL;
2407#line 42
2408  __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
2409#line 42
2410  __cil_tmp35 = (unsigned long )(card_type_name) + __cil_tmp34;
2411#line 42
2412  *((char const   **)__cil_tmp35) = "ms";
2413#line 42
2414  __cil_tmp36 = 2 * 8UL;
2415#line 42
2416  __cil_tmp37 = 2 * 24UL;
2417#line 42
2418  __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
2419#line 42
2420  __cil_tmp39 = (unsigned long )(card_type_name) + __cil_tmp38;
2421#line 42
2422  *((char const   **)__cil_tmp39) = "sd";
2423  {
2424#line 48
2425  __cil_tmp40 = (unsigned int )nt;
2426#line 48
2427  if (__cil_tmp40 > 2U) {
2428#line 49
2429    return ((char const   *)0);
2430  } else {
2431    {
2432#line 48
2433    __cil_tmp41 = (unsigned int )type;
2434#line 48
2435    if (__cil_tmp41 == 0U) {
2436#line 49
2437      return ((char const   *)0);
2438    } else {
2439      {
2440#line 48
2441      __cil_tmp42 = (unsigned int )type;
2442#line 48
2443      if (__cil_tmp42 > 3U) {
2444#line 49
2445        return ((char const   *)0);
2446      } else {
2447
2448      }
2449      }
2450    }
2451    }
2452  }
2453  }
2454  {
2455#line 50
2456  __cil_tmp43 = (int )type;
2457#line 50
2458  __cil_tmp44 = __cil_tmp43 + -1;
2459#line 50
2460  __cil_tmp45 = __cil_tmp44 * 8UL;
2461#line 50
2462  __cil_tmp46 = (int )nt;
2463#line 50
2464  __cil_tmp47 = __cil_tmp46 * 24UL;
2465#line 50
2466  __cil_tmp48 = __cil_tmp47 + __cil_tmp45;
2467#line 50
2468  __cil_tmp49 = (unsigned long )(card_type_name) + __cil_tmp48;
2469#line 50
2470  return (*((char const   **)__cil_tmp49));
2471  }
2472}
2473}
2474#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2475static int tifm_dev_match(struct tifm_dev *sock , struct tifm_device_id *id ) 
2476{ unsigned char __cil_tmp3 ;
2477  int __cil_tmp4 ;
2478  unsigned long __cil_tmp5 ;
2479  unsigned long __cil_tmp6 ;
2480  unsigned char __cil_tmp7 ;
2481  int __cil_tmp8 ;
2482
2483  {
2484  {
2485#line 55
2486  __cil_tmp3 = *((unsigned char *)id);
2487#line 55
2488  __cil_tmp4 = (int )__cil_tmp3;
2489#line 55
2490  __cil_tmp5 = (unsigned long )sock;
2491#line 55
2492  __cil_tmp6 = __cil_tmp5 + 80;
2493#line 55
2494  __cil_tmp7 = *((unsigned char *)__cil_tmp6);
2495#line 55
2496  __cil_tmp8 = (int )__cil_tmp7;
2497#line 55
2498  if (__cil_tmp8 == __cil_tmp4) {
2499#line 56
2500    return (1);
2501  } else {
2502
2503  }
2504  }
2505#line 57
2506  return (0);
2507}
2508}
2509#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2510static int tifm_bus_match(struct device *dev , struct device_driver *drv ) 
2511{ struct tifm_dev *sock ;
2512  struct device  const  *__mptr ;
2513  struct tifm_driver *fm_drv ;
2514  struct device_driver  const  *__mptr___0 ;
2515  struct tifm_device_id *ids ;
2516  int tmp ;
2517  struct tifm_dev *__cil_tmp9 ;
2518  struct tifm_driver *__cil_tmp10 ;
2519  struct tifm_device_id *__cil_tmp11 ;
2520  unsigned long __cil_tmp12 ;
2521  unsigned long __cil_tmp13 ;
2522  unsigned char __cil_tmp14 ;
2523  unsigned int __cil_tmp15 ;
2524
2525  {
2526#line 62
2527  __mptr = (struct device  const  *)dev;
2528#line 62
2529  __cil_tmp9 = (struct tifm_dev *)__mptr;
2530#line 62
2531  sock = __cil_tmp9 + 0xffffffffffffff98UL;
2532#line 63
2533  __mptr___0 = (struct device_driver  const  *)drv;
2534#line 63
2535  __cil_tmp10 = (struct tifm_driver *)__mptr___0;
2536#line 63
2537  fm_drv = __cil_tmp10 + 0xffffffffffffffd8UL;
2538#line 65
2539  ids = *((struct tifm_device_id **)fm_drv);
2540  {
2541#line 67
2542  __cil_tmp11 = (struct tifm_device_id *)0;
2543#line 67
2544  __cil_tmp12 = (unsigned long )__cil_tmp11;
2545#line 67
2546  __cil_tmp13 = (unsigned long )ids;
2547#line 67
2548  if (__cil_tmp13 != __cil_tmp12) {
2549#line 68
2550    goto ldv_21687;
2551    ldv_21686: 
2552    {
2553#line 69
2554    tmp = tifm_dev_match(sock, ids);
2555    }
2556#line 69
2557    if (tmp != 0) {
2558#line 70
2559      return (1);
2560    } else {
2561
2562    }
2563#line 71
2564    ids = ids + 1;
2565    ldv_21687: ;
2566    {
2567#line 68
2568    __cil_tmp14 = *((unsigned char *)ids);
2569#line 68
2570    __cil_tmp15 = (unsigned int )__cil_tmp14;
2571#line 68
2572    if (__cil_tmp15 != 0U) {
2573#line 69
2574      goto ldv_21686;
2575    } else {
2576#line 71
2577      goto ldv_21688;
2578    }
2579    }
2580    ldv_21688: ;
2581  } else {
2582
2583  }
2584  }
2585#line 74
2586  return (0);
2587}
2588}
2589#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2590static int tifm_uevent(struct device *dev , struct kobj_uevent_env *env ) 
2591{ struct tifm_dev *sock ;
2592  struct device  const  *__mptr ;
2593  char const   *tmp ;
2594  int tmp___0 ;
2595  struct tifm_dev *__cil_tmp7 ;
2596  unsigned long __cil_tmp8 ;
2597  unsigned long __cil_tmp9 ;
2598  unsigned char __cil_tmp10 ;
2599  int __cil_tmp11 ;
2600  unsigned char __cil_tmp12 ;
2601
2602  {
2603  {
2604#line 79
2605  __mptr = (struct device  const  *)dev;
2606#line 79
2607  __cil_tmp7 = (struct tifm_dev *)__mptr;
2608#line 79
2609  sock = __cil_tmp7 + 0xffffffffffffff98UL;
2610#line 81
2611  __cil_tmp8 = (unsigned long )sock;
2612#line 81
2613  __cil_tmp9 = __cil_tmp8 + 80;
2614#line 81
2615  __cil_tmp10 = *((unsigned char *)__cil_tmp9);
2616#line 81
2617  __cil_tmp11 = (int )__cil_tmp10;
2618#line 81
2619  __cil_tmp12 = (unsigned char )__cil_tmp11;
2620#line 81
2621  tmp = tifm_media_type_name(__cil_tmp12, (unsigned char)1);
2622#line 81
2623  tmp___0 = add_uevent_var(env, "TIFM_CARD_TYPE=%s", tmp);
2624  }
2625#line 81
2626  if (tmp___0 != 0) {
2627#line 82
2628    return (-12);
2629  } else {
2630
2631  }
2632#line 84
2633  return (0);
2634}
2635}
2636#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2637static int tifm_device_probe(struct device *dev ) 
2638{ struct tifm_dev *sock ;
2639  struct device  const  *__mptr ;
2640  struct tifm_driver *drv ;
2641  struct device_driver  const  *__mptr___0 ;
2642  int rc ;
2643  struct tifm_dev *__cil_tmp7 ;
2644  unsigned long __cil_tmp8 ;
2645  unsigned long __cil_tmp9 ;
2646  struct device_driver *__cil_tmp10 ;
2647  struct tifm_driver *__cil_tmp11 ;
2648  struct device_driver *__cil_tmp12 ;
2649  unsigned long __cil_tmp13 ;
2650  unsigned long __cil_tmp14 ;
2651  unsigned long __cil_tmp15 ;
2652  struct device_driver *__cil_tmp16 ;
2653  unsigned long __cil_tmp17 ;
2654  int (*__cil_tmp18)(struct tifm_dev * ) ;
2655  unsigned long __cil_tmp19 ;
2656  unsigned long __cil_tmp20 ;
2657  unsigned long __cil_tmp21 ;
2658  int (*__cil_tmp22)(struct tifm_dev * ) ;
2659  unsigned long __cil_tmp23 ;
2660  unsigned long __cil_tmp24 ;
2661  unsigned long __cil_tmp25 ;
2662  int (*__cil_tmp26)(struct tifm_dev * ) ;
2663
2664  {
2665  {
2666#line 89
2667  __mptr = (struct device  const  *)dev;
2668#line 89
2669  __cil_tmp7 = (struct tifm_dev *)__mptr;
2670#line 89
2671  sock = __cil_tmp7 + 0xffffffffffffff98UL;
2672#line 90
2673  __cil_tmp8 = (unsigned long )dev;
2674#line 90
2675  __cil_tmp9 = __cil_tmp8 + 272;
2676#line 90
2677  __cil_tmp10 = *((struct device_driver **)__cil_tmp9);
2678#line 90
2679  __mptr___0 = (struct device_driver  const  *)__cil_tmp10;
2680#line 90
2681  __cil_tmp11 = (struct tifm_driver *)__mptr___0;
2682#line 90
2683  drv = __cil_tmp11 + 0xffffffffffffffd8UL;
2684#line 92
2685  rc = -19;
2686#line 94
2687  get_device(dev);
2688  }
2689  {
2690#line 95
2691  __cil_tmp12 = (struct device_driver *)0;
2692#line 95
2693  __cil_tmp13 = (unsigned long )__cil_tmp12;
2694#line 95
2695  __cil_tmp14 = (unsigned long )dev;
2696#line 95
2697  __cil_tmp15 = __cil_tmp14 + 272;
2698#line 95
2699  __cil_tmp16 = *((struct device_driver **)__cil_tmp15);
2700#line 95
2701  __cil_tmp17 = (unsigned long )__cil_tmp16;
2702#line 95
2703  if (__cil_tmp17 != __cil_tmp13) {
2704    {
2705#line 95
2706    __cil_tmp18 = (int (*)(struct tifm_dev * ))0;
2707#line 95
2708    __cil_tmp19 = (unsigned long )__cil_tmp18;
2709#line 95
2710    __cil_tmp20 = (unsigned long )drv;
2711#line 95
2712    __cil_tmp21 = __cil_tmp20 + 8;
2713#line 95
2714    __cil_tmp22 = *((int (**)(struct tifm_dev * ))__cil_tmp21);
2715#line 95
2716    __cil_tmp23 = (unsigned long )__cil_tmp22;
2717#line 95
2718    if (__cil_tmp23 != __cil_tmp19) {
2719      {
2720#line 96
2721      __cil_tmp24 = (unsigned long )drv;
2722#line 96
2723      __cil_tmp25 = __cil_tmp24 + 8;
2724#line 96
2725      __cil_tmp26 = *((int (**)(struct tifm_dev * ))__cil_tmp25);
2726#line 96
2727      rc = (*__cil_tmp26)(sock);
2728      }
2729#line 97
2730      if (rc == 0) {
2731#line 98
2732        return (0);
2733      } else {
2734
2735      }
2736    } else {
2737
2738    }
2739    }
2740  } else {
2741
2742  }
2743  }
2744  {
2745#line 100
2746  put_device(dev);
2747  }
2748#line 101
2749  return (rc);
2750}
2751}
2752#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2753static void tifm_dummy_event(struct tifm_dev *sock ) 
2754{ 
2755
2756  {
2757#line 106
2758  return;
2759}
2760}
2761#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2762static int tifm_device_remove(struct device *dev ) 
2763{ struct tifm_dev *sock ;
2764  struct device  const  *__mptr ;
2765  struct tifm_driver *drv ;
2766  struct device_driver  const  *__mptr___0 ;
2767  struct tifm_dev *__cil_tmp6 ;
2768  unsigned long __cil_tmp7 ;
2769  unsigned long __cil_tmp8 ;
2770  struct device_driver *__cil_tmp9 ;
2771  struct tifm_driver *__cil_tmp10 ;
2772  struct device_driver *__cil_tmp11 ;
2773  unsigned long __cil_tmp12 ;
2774  unsigned long __cil_tmp13 ;
2775  unsigned long __cil_tmp14 ;
2776  struct device_driver *__cil_tmp15 ;
2777  unsigned long __cil_tmp16 ;
2778  void (*__cil_tmp17)(struct tifm_dev * ) ;
2779  unsigned long __cil_tmp18 ;
2780  unsigned long __cil_tmp19 ;
2781  unsigned long __cil_tmp20 ;
2782  void (*__cil_tmp21)(struct tifm_dev * ) ;
2783  unsigned long __cil_tmp22 ;
2784  unsigned long __cil_tmp23 ;
2785  unsigned long __cil_tmp24 ;
2786  unsigned long __cil_tmp25 ;
2787  unsigned long __cil_tmp26 ;
2788  unsigned long __cil_tmp27 ;
2789  unsigned long __cil_tmp28 ;
2790  void (*__cil_tmp29)(struct tifm_dev * ) ;
2791  unsigned long __cil_tmp30 ;
2792  unsigned long __cil_tmp31 ;
2793  unsigned long __cil_tmp32 ;
2794
2795  {
2796#line 111
2797  __mptr = (struct device  const  *)dev;
2798#line 111
2799  __cil_tmp6 = (struct tifm_dev *)__mptr;
2800#line 111
2801  sock = __cil_tmp6 + 0xffffffffffffff98UL;
2802#line 112
2803  __cil_tmp7 = (unsigned long )dev;
2804#line 112
2805  __cil_tmp8 = __cil_tmp7 + 272;
2806#line 112
2807  __cil_tmp9 = *((struct device_driver **)__cil_tmp8);
2808#line 112
2809  __mptr___0 = (struct device_driver  const  *)__cil_tmp9;
2810#line 112
2811  __cil_tmp10 = (struct tifm_driver *)__mptr___0;
2812#line 112
2813  drv = __cil_tmp10 + 0xffffffffffffffd8UL;
2814  {
2815#line 115
2816  __cil_tmp11 = (struct device_driver *)0;
2817#line 115
2818  __cil_tmp12 = (unsigned long )__cil_tmp11;
2819#line 115
2820  __cil_tmp13 = (unsigned long )dev;
2821#line 115
2822  __cil_tmp14 = __cil_tmp13 + 272;
2823#line 115
2824  __cil_tmp15 = *((struct device_driver **)__cil_tmp14);
2825#line 115
2826  __cil_tmp16 = (unsigned long )__cil_tmp15;
2827#line 115
2828  if (__cil_tmp16 != __cil_tmp12) {
2829    {
2830#line 115
2831    __cil_tmp17 = (void (*)(struct tifm_dev * ))0;
2832#line 115
2833    __cil_tmp18 = (unsigned long )__cil_tmp17;
2834#line 115
2835    __cil_tmp19 = (unsigned long )drv;
2836#line 115
2837    __cil_tmp20 = __cil_tmp19 + 16;
2838#line 115
2839    __cil_tmp21 = *((void (**)(struct tifm_dev * ))__cil_tmp20);
2840#line 115
2841    __cil_tmp22 = (unsigned long )__cil_tmp21;
2842#line 115
2843    if (__cil_tmp22 != __cil_tmp18) {
2844      {
2845#line 116
2846      __cil_tmp23 = (unsigned long )sock;
2847#line 116
2848      __cil_tmp24 = __cil_tmp23 + 88;
2849#line 116
2850      *((void (**)(struct tifm_dev * ))__cil_tmp24) = & tifm_dummy_event;
2851#line 117
2852      __cil_tmp25 = (unsigned long )sock;
2853#line 117
2854      __cil_tmp26 = __cil_tmp25 + 96;
2855#line 117
2856      *((void (**)(struct tifm_dev * ))__cil_tmp26) = & tifm_dummy_event;
2857#line 118
2858      __cil_tmp27 = (unsigned long )drv;
2859#line 118
2860      __cil_tmp28 = __cil_tmp27 + 16;
2861#line 118
2862      __cil_tmp29 = *((void (**)(struct tifm_dev * ))__cil_tmp28);
2863#line 118
2864      (*__cil_tmp29)(sock);
2865#line 119
2866      __cil_tmp30 = 104 + 272;
2867#line 119
2868      __cil_tmp31 = (unsigned long )sock;
2869#line 119
2870      __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
2871#line 119
2872      *((struct device_driver **)__cil_tmp32) = (struct device_driver *)0;
2873      }
2874    } else {
2875
2876    }
2877    }
2878  } else {
2879
2880  }
2881  }
2882  {
2883#line 122
2884  put_device(dev);
2885  }
2886#line 123
2887  return (0);
2888}
2889}
2890#line 128 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2891static int tifm_device_suspend(struct device *dev , int state_event28 ) 
2892{ struct tifm_dev *sock ;
2893  struct device  const  *__mptr ;
2894  struct tifm_driver *drv ;
2895  struct device_driver  const  *__mptr___0 ;
2896  int tmp ;
2897  struct tifm_dev *__cil_tmp8 ;
2898  unsigned long __cil_tmp9 ;
2899  unsigned long __cil_tmp10 ;
2900  struct device_driver *__cil_tmp11 ;
2901  struct tifm_driver *__cil_tmp12 ;
2902  struct device_driver *__cil_tmp13 ;
2903  unsigned long __cil_tmp14 ;
2904  unsigned long __cil_tmp15 ;
2905  unsigned long __cil_tmp16 ;
2906  struct device_driver *__cil_tmp17 ;
2907  unsigned long __cil_tmp18 ;
2908  int (*__cil_tmp19)(struct tifm_dev * , int  ) ;
2909  unsigned long __cil_tmp20 ;
2910  unsigned long __cil_tmp21 ;
2911  unsigned long __cil_tmp22 ;
2912  int (*__cil_tmp23)(struct tifm_dev * , int  ) ;
2913  unsigned long __cil_tmp24 ;
2914  unsigned long __cil_tmp25 ;
2915  unsigned long __cil_tmp26 ;
2916  int (*__cil_tmp27)(struct tifm_dev * , int  ) ;
2917
2918  {
2919#line 130
2920  __mptr = (struct device  const  *)dev;
2921#line 130
2922  __cil_tmp8 = (struct tifm_dev *)__mptr;
2923#line 130
2924  sock = __cil_tmp8 + 0xffffffffffffff98UL;
2925#line 131
2926  __cil_tmp9 = (unsigned long )dev;
2927#line 131
2928  __cil_tmp10 = __cil_tmp9 + 272;
2929#line 131
2930  __cil_tmp11 = *((struct device_driver **)__cil_tmp10);
2931#line 131
2932  __mptr___0 = (struct device_driver  const  *)__cil_tmp11;
2933#line 131
2934  __cil_tmp12 = (struct tifm_driver *)__mptr___0;
2935#line 131
2936  drv = __cil_tmp12 + 0xffffffffffffffd8UL;
2937  {
2938#line 134
2939  __cil_tmp13 = (struct device_driver *)0;
2940#line 134
2941  __cil_tmp14 = (unsigned long )__cil_tmp13;
2942#line 134
2943  __cil_tmp15 = (unsigned long )dev;
2944#line 134
2945  __cil_tmp16 = __cil_tmp15 + 272;
2946#line 134
2947  __cil_tmp17 = *((struct device_driver **)__cil_tmp16);
2948#line 134
2949  __cil_tmp18 = (unsigned long )__cil_tmp17;
2950#line 134
2951  if (__cil_tmp18 != __cil_tmp14) {
2952    {
2953#line 134
2954    __cil_tmp19 = (int (*)(struct tifm_dev * , int  ))0;
2955#line 134
2956    __cil_tmp20 = (unsigned long )__cil_tmp19;
2957#line 134
2958    __cil_tmp21 = (unsigned long )drv;
2959#line 134
2960    __cil_tmp22 = __cil_tmp21 + 24;
2961#line 134
2962    __cil_tmp23 = *((int (**)(struct tifm_dev * , int  ))__cil_tmp22);
2963#line 134
2964    __cil_tmp24 = (unsigned long )__cil_tmp23;
2965#line 134
2966    if (__cil_tmp24 != __cil_tmp20) {
2967      {
2968#line 135
2969      __cil_tmp25 = (unsigned long )drv;
2970#line 135
2971      __cil_tmp26 = __cil_tmp25 + 24;
2972#line 135
2973      __cil_tmp27 = *((int (**)(struct tifm_dev * , int  ))__cil_tmp26);
2974#line 135
2975      tmp = (*__cil_tmp27)(sock, state_event28);
2976      }
2977#line 135
2978      return (tmp);
2979    } else {
2980
2981    }
2982    }
2983  } else {
2984
2985  }
2986  }
2987#line 136
2988  return (0);
2989}
2990}
2991#line 139 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
2992static int tifm_device_resume(struct device *dev ) 
2993{ struct tifm_dev *sock ;
2994  struct device  const  *__mptr ;
2995  struct tifm_driver *drv ;
2996  struct device_driver  const  *__mptr___0 ;
2997  int tmp ;
2998  struct tifm_dev *__cil_tmp7 ;
2999  unsigned long __cil_tmp8 ;
3000  unsigned long __cil_tmp9 ;
3001  struct device_driver *__cil_tmp10 ;
3002  struct tifm_driver *__cil_tmp11 ;
3003  struct device_driver *__cil_tmp12 ;
3004  unsigned long __cil_tmp13 ;
3005  unsigned long __cil_tmp14 ;
3006  unsigned long __cil_tmp15 ;
3007  struct device_driver *__cil_tmp16 ;
3008  unsigned long __cil_tmp17 ;
3009  int (*__cil_tmp18)(struct tifm_dev * ) ;
3010  unsigned long __cil_tmp19 ;
3011  unsigned long __cil_tmp20 ;
3012  unsigned long __cil_tmp21 ;
3013  int (*__cil_tmp22)(struct tifm_dev * ) ;
3014  unsigned long __cil_tmp23 ;
3015  unsigned long __cil_tmp24 ;
3016  unsigned long __cil_tmp25 ;
3017  int (*__cil_tmp26)(struct tifm_dev * ) ;
3018
3019  {
3020#line 141
3021  __mptr = (struct device  const  *)dev;
3022#line 141
3023  __cil_tmp7 = (struct tifm_dev *)__mptr;
3024#line 141
3025  sock = __cil_tmp7 + 0xffffffffffffff98UL;
3026#line 142
3027  __cil_tmp8 = (unsigned long )dev;
3028#line 142
3029  __cil_tmp9 = __cil_tmp8 + 272;
3030#line 142
3031  __cil_tmp10 = *((struct device_driver **)__cil_tmp9);
3032#line 142
3033  __mptr___0 = (struct device_driver  const  *)__cil_tmp10;
3034#line 142
3035  __cil_tmp11 = (struct tifm_driver *)__mptr___0;
3036#line 142
3037  drv = __cil_tmp11 + 0xffffffffffffffd8UL;
3038  {
3039#line 145
3040  __cil_tmp12 = (struct device_driver *)0;
3041#line 145
3042  __cil_tmp13 = (unsigned long )__cil_tmp12;
3043#line 145
3044  __cil_tmp14 = (unsigned long )dev;
3045#line 145
3046  __cil_tmp15 = __cil_tmp14 + 272;
3047#line 145
3048  __cil_tmp16 = *((struct device_driver **)__cil_tmp15);
3049#line 145
3050  __cil_tmp17 = (unsigned long )__cil_tmp16;
3051#line 145
3052  if (__cil_tmp17 != __cil_tmp13) {
3053    {
3054#line 145
3055    __cil_tmp18 = (int (*)(struct tifm_dev * ))0;
3056#line 145
3057    __cil_tmp19 = (unsigned long )__cil_tmp18;
3058#line 145
3059    __cil_tmp20 = (unsigned long )drv;
3060#line 145
3061    __cil_tmp21 = __cil_tmp20 + 32;
3062#line 145
3063    __cil_tmp22 = *((int (**)(struct tifm_dev * ))__cil_tmp21);
3064#line 145
3065    __cil_tmp23 = (unsigned long )__cil_tmp22;
3066#line 145
3067    if (__cil_tmp23 != __cil_tmp19) {
3068      {
3069#line 146
3070      __cil_tmp24 = (unsigned long )drv;
3071#line 146
3072      __cil_tmp25 = __cil_tmp24 + 32;
3073#line 146
3074      __cil_tmp26 = *((int (**)(struct tifm_dev * ))__cil_tmp25);
3075#line 146
3076      tmp = (*__cil_tmp26)(sock);
3077      }
3078#line 146
3079      return (tmp);
3080    } else {
3081
3082    }
3083    }
3084  } else {
3085
3086  }
3087  }
3088#line 147
3089  return (0);
3090}
3091}
3092#line 157 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3093static ssize_t type_show(struct device *dev , struct device_attribute *attr , char *buf ) 
3094{ struct tifm_dev *sock ;
3095  struct device  const  *__mptr ;
3096  int tmp ;
3097  struct tifm_dev *__cil_tmp7 ;
3098  unsigned long __cil_tmp8 ;
3099  unsigned long __cil_tmp9 ;
3100  unsigned char __cil_tmp10 ;
3101  int __cil_tmp11 ;
3102
3103  {
3104  {
3105#line 160
3106  __mptr = (struct device  const  *)dev;
3107#line 160
3108  __cil_tmp7 = (struct tifm_dev *)__mptr;
3109#line 160
3110  sock = __cil_tmp7 + 0xffffffffffffff98UL;
3111#line 161
3112  __cil_tmp8 = (unsigned long )sock;
3113#line 161
3114  __cil_tmp9 = __cil_tmp8 + 80;
3115#line 161
3116  __cil_tmp10 = *((unsigned char *)__cil_tmp9);
3117#line 161
3118  __cil_tmp11 = (int )__cil_tmp10;
3119#line 161
3120  tmp = sprintf(buf, "%x", __cil_tmp11);
3121  }
3122#line 161
3123  return ((ssize_t )tmp);
3124}
3125}
3126#line 164 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3127static struct device_attribute tifm_dev_attrs[2U]  = {      {{"type", (umode_t )292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
3128                                                             {(char)0}, {(char)0},
3129                                                             {(char)0}, {(char)0},
3130                                                             {(char)0}, {(char)0}}}},
3131      & type_show, (ssize_t (*)(struct device * , struct device_attribute * , char const   * ,
3132                                size_t  ))0}, 
3133        {{(char const   *)0, (unsigned short)0, (struct lock_class_key *)0, {{{(char)0},
3134                                                                           {(char)0},
3135                                                                           {(char)0},
3136                                                                           {(char)0},
3137                                                                           {(char)0},
3138                                                                           {(char)0},
3139                                                                           {(char)0},
3140                                                                           {(char)0}}}},
3141      (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, (ssize_t (*)(struct device * ,
3142                                                                                          struct device_attribute * ,
3143                                                                                          char const   * ,
3144                                                                                          size_t  ))0}};
3145#line 169 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3146static struct bus_type tifm_bus_type  = 
3147#line 169
3148     {"tifm", (char const   *)0, (struct device *)0, (struct bus_attribute *)0, (struct device_attribute *)(& tifm_dev_attrs),
3149    (struct driver_attribute *)0, & tifm_bus_match, & tifm_uevent, & tifm_device_probe,
3150    & tifm_device_remove, (void (*)(struct device * ))0, & tifm_device_suspend, & tifm_device_resume,
3151    (struct dev_pm_ops  const  *)0, (struct iommu_ops *)0, (struct subsys_private *)0};
3152#line 180 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3153static void tifm_free(struct device *dev ) 
3154{ struct tifm_adapter *fm ;
3155  struct device  const  *__mptr ;
3156  struct tifm_adapter *__cil_tmp4 ;
3157  void const   *__cil_tmp5 ;
3158
3159  {
3160  {
3161#line 182
3162  __mptr = (struct device  const  *)dev;
3163#line 182
3164  __cil_tmp4 = (struct tifm_adapter *)__mptr;
3165#line 182
3166  fm = __cil_tmp4 + 0xffffffffffffff48UL;
3167#line 184
3168  __cil_tmp5 = (void const   *)fm;
3169#line 184
3170  kfree(__cil_tmp5);
3171  }
3172#line 185
3173  return;
3174}
3175}
3176#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3177static struct class tifm_adapter_class  = 
3178#line 187
3179     {"tifm_adapter", (struct module *)0, (struct class_attribute *)0, (struct device_attribute *)0,
3180    (struct bin_attribute *)0, (struct kobject *)0, (int (*)(struct device * , struct kobj_uevent_env * ))0,
3181    (char *(*)(struct device * , umode_t * ))0, (void (*)(struct class * ))0, & tifm_free,
3182    (int (*)(struct device * , pm_message_t  ))0, (int (*)(struct device * ))0, (struct kobj_ns_type_operations  const  *)0,
3183    (void const   *(*)(struct device * ))0, (struct dev_pm_ops  const  *)0, (struct subsys_private *)0};
3184#line 192 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3185struct tifm_adapter *tifm_alloc_adapter(unsigned int num_sockets , struct device *dev ) 
3186{ struct tifm_adapter *fm ;
3187  void *tmp ;
3188  struct lock_class_key __key ;
3189  unsigned long __cil_tmp6 ;
3190  unsigned long __cil_tmp7 ;
3191  unsigned long __cil_tmp8 ;
3192  struct tifm_adapter *__cil_tmp9 ;
3193  unsigned long __cil_tmp10 ;
3194  unsigned long __cil_tmp11 ;
3195  unsigned long __cil_tmp12 ;
3196  unsigned long __cil_tmp13 ;
3197  unsigned long __cil_tmp14 ;
3198  unsigned long __cil_tmp15 ;
3199  unsigned long __cil_tmp16 ;
3200  unsigned long __cil_tmp17 ;
3201  unsigned long __cil_tmp18 ;
3202  struct device *__cil_tmp19 ;
3203  unsigned long __cil_tmp20 ;
3204  unsigned long __cil_tmp21 ;
3205  spinlock_t *__cil_tmp22 ;
3206  unsigned long __cil_tmp23 ;
3207  unsigned long __cil_tmp24 ;
3208  struct raw_spinlock *__cil_tmp25 ;
3209  unsigned long __cil_tmp26 ;
3210  unsigned long __cil_tmp27 ;
3211
3212  {
3213  {
3214#line 197
3215  __cil_tmp6 = (unsigned long )num_sockets;
3216#line 197
3217  __cil_tmp7 = __cil_tmp6 + 169UL;
3218#line 197
3219  __cil_tmp8 = __cil_tmp7 * 8UL;
3220#line 197
3221  tmp = kzalloc(__cil_tmp8, 208U);
3222#line 197
3223  fm = (struct tifm_adapter *)tmp;
3224  }
3225  {
3226#line 199
3227  __cil_tmp9 = (struct tifm_adapter *)0;
3228#line 199
3229  __cil_tmp10 = (unsigned long )__cil_tmp9;
3230#line 199
3231  __cil_tmp11 = (unsigned long )fm;
3232#line 199
3233  if (__cil_tmp11 != __cil_tmp10) {
3234    {
3235#line 200
3236    __cil_tmp12 = 184 + 1128;
3237#line 200
3238    __cil_tmp13 = (unsigned long )fm;
3239#line 200
3240    __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
3241#line 200
3242    *((struct class **)__cil_tmp14) = & tifm_adapter_class;
3243#line 201
3244    __cil_tmp15 = (unsigned long )fm;
3245#line 201
3246    __cil_tmp16 = __cil_tmp15 + 184;
3247#line 201
3248    *((struct device **)__cil_tmp16) = dev;
3249#line 202
3250    __cil_tmp17 = (unsigned long )fm;
3251#line 202
3252    __cil_tmp18 = __cil_tmp17 + 184;
3253#line 202
3254    __cil_tmp19 = (struct device *)__cil_tmp18;
3255#line 202
3256    device_initialize(__cil_tmp19);
3257#line 203
3258    __cil_tmp20 = (unsigned long )fm;
3259#line 203
3260    __cil_tmp21 = __cil_tmp20 + 8;
3261#line 203
3262    __cil_tmp22 = (spinlock_t *)__cil_tmp21;
3263#line 203
3264    spinlock_check(__cil_tmp22);
3265#line 203
3266    __cil_tmp23 = (unsigned long )fm;
3267#line 203
3268    __cil_tmp24 = __cil_tmp23 + 8;
3269#line 203
3270    __cil_tmp25 = (struct raw_spinlock *)__cil_tmp24;
3271#line 203
3272    __raw_spin_lock_init(__cil_tmp25, "&(&fm->lock)->rlock", & __key);
3273#line 204
3274    __cil_tmp26 = (unsigned long )fm;
3275#line 204
3276    __cil_tmp27 = __cil_tmp26 + 92;
3277#line 204
3278    *((unsigned int *)__cil_tmp27) = num_sockets;
3279    }
3280  } else {
3281
3282  }
3283  }
3284#line 206
3285  return (fm);
3286}
3287}
3288#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3289int tifm_add_adapter(struct tifm_adapter *fm ) 
3290{ int rc ;
3291  int tmp ;
3292  void *__cil_tmp4 ;
3293  unsigned long __cil_tmp5 ;
3294  unsigned long __cil_tmp6 ;
3295  unsigned int *__cil_tmp7 ;
3296  int *__cil_tmp8 ;
3297  unsigned long __cil_tmp9 ;
3298  unsigned long __cil_tmp10 ;
3299  struct device *__cil_tmp11 ;
3300  unsigned long __cil_tmp12 ;
3301  unsigned long __cil_tmp13 ;
3302  unsigned int __cil_tmp14 ;
3303  unsigned long __cil_tmp15 ;
3304  unsigned long __cil_tmp16 ;
3305  struct device *__cil_tmp17 ;
3306  unsigned long __cil_tmp18 ;
3307  unsigned long __cil_tmp19 ;
3308  unsigned int __cil_tmp20 ;
3309  int __cil_tmp21 ;
3310
3311  {
3312  {
3313#line 214
3314  tmp = idr_pre_get(& tifm_adapter_idr, 208U);
3315  }
3316#line 214
3317  if (tmp == 0) {
3318#line 215
3319    return (-12);
3320  } else {
3321
3322  }
3323  {
3324#line 217
3325  spin_lock(& tifm_adapter_lock);
3326#line 218
3327  __cil_tmp4 = (void *)fm;
3328#line 218
3329  __cil_tmp5 = (unsigned long )fm;
3330#line 218
3331  __cil_tmp6 = __cil_tmp5 + 88;
3332#line 218
3333  __cil_tmp7 = (unsigned int *)__cil_tmp6;
3334#line 218
3335  __cil_tmp8 = (int *)__cil_tmp7;
3336#line 218
3337  rc = idr_get_new(& tifm_adapter_idr, __cil_tmp4, __cil_tmp8);
3338#line 219
3339  spin_unlock(& tifm_adapter_lock);
3340  }
3341#line 220
3342  if (rc != 0) {
3343#line 221
3344    return (rc);
3345  } else {
3346
3347  }
3348  {
3349#line 223
3350  __cil_tmp9 = (unsigned long )fm;
3351#line 223
3352  __cil_tmp10 = __cil_tmp9 + 184;
3353#line 223
3354  __cil_tmp11 = (struct device *)__cil_tmp10;
3355#line 223
3356  __cil_tmp12 = (unsigned long )fm;
3357#line 223
3358  __cil_tmp13 = __cil_tmp12 + 88;
3359#line 223
3360  __cil_tmp14 = *((unsigned int *)__cil_tmp13);
3361#line 223
3362  dev_set_name(__cil_tmp11, "tifm%u", __cil_tmp14);
3363#line 224
3364  __cil_tmp15 = (unsigned long )fm;
3365#line 224
3366  __cil_tmp16 = __cil_tmp15 + 184;
3367#line 224
3368  __cil_tmp17 = (struct device *)__cil_tmp16;
3369#line 224
3370  rc = device_add(__cil_tmp17);
3371  }
3372#line 225
3373  if (rc != 0) {
3374    {
3375#line 226
3376    spin_lock(& tifm_adapter_lock);
3377#line 227
3378    __cil_tmp18 = (unsigned long )fm;
3379#line 227
3380    __cil_tmp19 = __cil_tmp18 + 88;
3381#line 227
3382    __cil_tmp20 = *((unsigned int *)__cil_tmp19);
3383#line 227
3384    __cil_tmp21 = (int )__cil_tmp20;
3385#line 227
3386    idr_remove(& tifm_adapter_idr, __cil_tmp21);
3387#line 228
3388    spin_unlock(& tifm_adapter_lock);
3389    }
3390  } else {
3391
3392  }
3393#line 231
3394  return (rc);
3395}
3396}
3397#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3398void tifm_remove_adapter(struct tifm_adapter *fm ) 
3399{ unsigned int cnt ;
3400  struct tifm_dev *__cil_tmp3 ;
3401  unsigned long __cil_tmp4 ;
3402  unsigned long __cil_tmp5 ;
3403  unsigned long __cil_tmp6 ;
3404  unsigned long __cil_tmp7 ;
3405  unsigned long __cil_tmp8 ;
3406  struct tifm_dev *__cil_tmp9 ;
3407  unsigned long __cil_tmp10 ;
3408  unsigned long __cil_tmp11 ;
3409  unsigned long __cil_tmp12 ;
3410  unsigned long __cil_tmp13 ;
3411  unsigned long __cil_tmp14 ;
3412  struct tifm_dev *__cil_tmp15 ;
3413  unsigned long __cil_tmp16 ;
3414  unsigned long __cil_tmp17 ;
3415  struct device *__cil_tmp18 ;
3416  unsigned long __cil_tmp19 ;
3417  unsigned long __cil_tmp20 ;
3418  unsigned int __cil_tmp21 ;
3419  unsigned long __cil_tmp22 ;
3420  unsigned long __cil_tmp23 ;
3421  unsigned int __cil_tmp24 ;
3422  int __cil_tmp25 ;
3423  unsigned long __cil_tmp26 ;
3424  unsigned long __cil_tmp27 ;
3425  struct device *__cil_tmp28 ;
3426
3427  {
3428  {
3429#line 239
3430  flush_workqueue(workqueue);
3431#line 240
3432  cnt = 0U;
3433  }
3434#line 240
3435  goto ldv_21782;
3436  ldv_21781: ;
3437  {
3438#line 241
3439  __cil_tmp3 = (struct tifm_dev *)0;
3440#line 241
3441  __cil_tmp4 = (unsigned long )__cil_tmp3;
3442#line 241
3443  __cil_tmp5 = cnt * 8UL;
3444#line 241
3445  __cil_tmp6 = 1352 + __cil_tmp5;
3446#line 241
3447  __cil_tmp7 = (unsigned long )fm;
3448#line 241
3449  __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
3450#line 241
3451  __cil_tmp9 = *((struct tifm_dev **)__cil_tmp8);
3452#line 241
3453  __cil_tmp10 = (unsigned long )__cil_tmp9;
3454#line 241
3455  if (__cil_tmp10 != __cil_tmp4) {
3456    {
3457#line 242
3458    __cil_tmp11 = cnt * 8UL;
3459#line 242
3460    __cil_tmp12 = 1352 + __cil_tmp11;
3461#line 242
3462    __cil_tmp13 = (unsigned long )fm;
3463#line 242
3464    __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
3465#line 242
3466    __cil_tmp15 = *((struct tifm_dev **)__cil_tmp14);
3467#line 242
3468    __cil_tmp16 = (unsigned long )__cil_tmp15;
3469#line 242
3470    __cil_tmp17 = __cil_tmp16 + 104;
3471#line 242
3472    __cil_tmp18 = (struct device *)__cil_tmp17;
3473#line 242
3474    device_unregister(__cil_tmp18);
3475    }
3476  } else {
3477
3478  }
3479  }
3480#line 240
3481  cnt = cnt + 1U;
3482  ldv_21782: ;
3483  {
3484#line 240
3485  __cil_tmp19 = (unsigned long )fm;
3486#line 240
3487  __cil_tmp20 = __cil_tmp19 + 92;
3488#line 240
3489  __cil_tmp21 = *((unsigned int *)__cil_tmp20);
3490#line 240
3491  if (__cil_tmp21 > cnt) {
3492#line 241
3493    goto ldv_21781;
3494  } else {
3495#line 243
3496    goto ldv_21783;
3497  }
3498  }
3499  ldv_21783: 
3500  {
3501#line 245
3502  spin_lock(& tifm_adapter_lock);
3503#line 246
3504  __cil_tmp22 = (unsigned long )fm;
3505#line 246
3506  __cil_tmp23 = __cil_tmp22 + 88;
3507#line 246
3508  __cil_tmp24 = *((unsigned int *)__cil_tmp23);
3509#line 246
3510  __cil_tmp25 = (int )__cil_tmp24;
3511#line 246
3512  idr_remove(& tifm_adapter_idr, __cil_tmp25);
3513#line 247
3514  spin_unlock(& tifm_adapter_lock);
3515#line 248
3516  __cil_tmp26 = (unsigned long )fm;
3517#line 248
3518  __cil_tmp27 = __cil_tmp26 + 184;
3519#line 248
3520  __cil_tmp28 = (struct device *)__cil_tmp27;
3521#line 248
3522  device_del(__cil_tmp28);
3523  }
3524#line 249
3525  return;
3526}
3527}
3528#line 252 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3529void tifm_free_adapter(struct tifm_adapter *fm ) 
3530{ unsigned long __cil_tmp2 ;
3531  unsigned long __cil_tmp3 ;
3532  struct device *__cil_tmp4 ;
3533
3534  {
3535  {
3536#line 254
3537  __cil_tmp2 = (unsigned long )fm;
3538#line 254
3539  __cil_tmp3 = __cil_tmp2 + 184;
3540#line 254
3541  __cil_tmp4 = (struct device *)__cil_tmp3;
3542#line 254
3543  put_device(__cil_tmp4);
3544  }
3545#line 255
3546  return;
3547}
3548}
3549#line 258 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3550void tifm_free_device(struct device *dev ) 
3551{ struct tifm_dev *sock ;
3552  struct device  const  *__mptr ;
3553  struct tifm_dev *__cil_tmp4 ;
3554  void const   *__cil_tmp5 ;
3555
3556  {
3557  {
3558#line 260
3559  __mptr = (struct device  const  *)dev;
3560#line 260
3561  __cil_tmp4 = (struct tifm_dev *)__mptr;
3562#line 260
3563  sock = __cil_tmp4 + 0xffffffffffffff98UL;
3564#line 261
3565  __cil_tmp5 = (void const   *)sock;
3566#line 261
3567  kfree(__cil_tmp5);
3568  }
3569#line 262
3570  return;
3571}
3572}
3573#line 265 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3574struct tifm_dev *tifm_alloc_device(struct tifm_adapter *fm , unsigned int id , unsigned char type ) 
3575{ struct tifm_dev *sock ;
3576  char const   *tmp ;
3577  void *tmp___0 ;
3578  struct lock_class_key __key ;
3579  char const   *tmp___1 ;
3580  char const   *tmp___2 ;
3581  int __cil_tmp10 ;
3582  unsigned char __cil_tmp11 ;
3583  char const   *__cil_tmp12 ;
3584  unsigned long __cil_tmp13 ;
3585  unsigned long __cil_tmp14 ;
3586  struct tifm_dev *__cil_tmp15 ;
3587  unsigned long __cil_tmp16 ;
3588  unsigned long __cil_tmp17 ;
3589  unsigned long __cil_tmp18 ;
3590  unsigned long __cil_tmp19 ;
3591  spinlock_t *__cil_tmp20 ;
3592  unsigned long __cil_tmp21 ;
3593  unsigned long __cil_tmp22 ;
3594  struct raw_spinlock *__cil_tmp23 ;
3595  unsigned long __cil_tmp24 ;
3596  unsigned long __cil_tmp25 ;
3597  unsigned long __cil_tmp26 ;
3598  unsigned long __cil_tmp27 ;
3599  unsigned long __cil_tmp28 ;
3600  unsigned long __cil_tmp29 ;
3601  unsigned long __cil_tmp30 ;
3602  unsigned long __cil_tmp31 ;
3603  unsigned long __cil_tmp32 ;
3604  unsigned long __cil_tmp33 ;
3605  unsigned long __cil_tmp34 ;
3606  unsigned long __cil_tmp35 ;
3607  unsigned long __cil_tmp36 ;
3608  unsigned long __cil_tmp37 ;
3609  unsigned long __cil_tmp38 ;
3610  unsigned long __cil_tmp39 ;
3611  unsigned long __cil_tmp40 ;
3612  unsigned long __cil_tmp41 ;
3613  unsigned long __cil_tmp42 ;
3614  unsigned long __cil_tmp43 ;
3615  struct device *__cil_tmp44 ;
3616  unsigned long __cil_tmp45 ;
3617  unsigned long __cil_tmp46 ;
3618  unsigned long __cil_tmp47 ;
3619  unsigned long __cil_tmp48 ;
3620  unsigned long __cil_tmp49 ;
3621  int __cil_tmp50 ;
3622  unsigned char __cil_tmp51 ;
3623  unsigned long __cil_tmp52 ;
3624  unsigned long __cil_tmp53 ;
3625  struct device *__cil_tmp54 ;
3626  unsigned long __cil_tmp55 ;
3627  unsigned long __cil_tmp56 ;
3628  unsigned int __cil_tmp57 ;
3629  int __cil_tmp58 ;
3630  unsigned char __cil_tmp59 ;
3631  unsigned long __cil_tmp60 ;
3632  unsigned long __cil_tmp61 ;
3633  unsigned int __cil_tmp62 ;
3634
3635  {
3636  {
3637#line 268
3638  sock = (struct tifm_dev *)0;
3639#line 270
3640  __cil_tmp10 = (int )type;
3641#line 270
3642  __cil_tmp11 = (unsigned char )__cil_tmp10;
3643#line 270
3644  tmp = tifm_media_type_name(__cil_tmp11, (unsigned char)0);
3645  }
3646  {
3647#line 270
3648  __cil_tmp12 = (char const   *)0;
3649#line 270
3650  __cil_tmp13 = (unsigned long )__cil_tmp12;
3651#line 270
3652  __cil_tmp14 = (unsigned long )tmp;
3653#line 270
3654  if (__cil_tmp14 == __cil_tmp13) {
3655#line 271
3656    return (sock);
3657  } else {
3658
3659  }
3660  }
3661  {
3662#line 273
3663  tmp___0 = kzalloc(1256UL, 208U);
3664#line 273
3665  sock = (struct tifm_dev *)tmp___0;
3666  }
3667  {
3668#line 274
3669  __cil_tmp15 = (struct tifm_dev *)0;
3670#line 274
3671  __cil_tmp16 = (unsigned long )__cil_tmp15;
3672#line 274
3673  __cil_tmp17 = (unsigned long )sock;
3674#line 274
3675  if (__cil_tmp17 != __cil_tmp16) {
3676    {
3677#line 275
3678    __cil_tmp18 = (unsigned long )sock;
3679#line 275
3680    __cil_tmp19 = __cil_tmp18 + 8;
3681#line 275
3682    __cil_tmp20 = (spinlock_t *)__cil_tmp19;
3683#line 275
3684    spinlock_check(__cil_tmp20);
3685#line 275
3686    __cil_tmp21 = (unsigned long )sock;
3687#line 275
3688    __cil_tmp22 = __cil_tmp21 + 8;
3689#line 275
3690    __cil_tmp23 = (struct raw_spinlock *)__cil_tmp22;
3691#line 275
3692    __raw_spin_lock_init(__cil_tmp23, "&(&sock->lock)->rlock", & __key);
3693#line 276
3694    __cil_tmp24 = (unsigned long )sock;
3695#line 276
3696    __cil_tmp25 = __cil_tmp24 + 80;
3697#line 276
3698    *((unsigned char *)__cil_tmp25) = type;
3699#line 277
3700    __cil_tmp26 = (unsigned long )sock;
3701#line 277
3702    __cil_tmp27 = __cil_tmp26 + 84;
3703#line 277
3704    *((unsigned int *)__cil_tmp27) = id;
3705#line 278
3706    __cil_tmp28 = (unsigned long )sock;
3707#line 278
3708    __cil_tmp29 = __cil_tmp28 + 88;
3709#line 278
3710    *((void (**)(struct tifm_dev * ))__cil_tmp29) = & tifm_dummy_event;
3711#line 279
3712    __cil_tmp30 = (unsigned long )sock;
3713#line 279
3714    __cil_tmp31 = __cil_tmp30 + 96;
3715#line 279
3716    *((void (**)(struct tifm_dev * ))__cil_tmp31) = & tifm_dummy_event;
3717#line 281
3718    __cil_tmp32 = (unsigned long )sock;
3719#line 281
3720    __cil_tmp33 = __cil_tmp32 + 104;
3721#line 281
3722    __cil_tmp34 = (unsigned long )fm;
3723#line 281
3724    __cil_tmp35 = __cil_tmp34 + 184;
3725#line 281
3726    *((struct device **)__cil_tmp33) = *((struct device **)__cil_tmp35);
3727#line 282
3728    __cil_tmp36 = 104 + 264;
3729#line 282
3730    __cil_tmp37 = (unsigned long )sock;
3731#line 282
3732    __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
3733#line 282
3734    *((struct bus_type **)__cil_tmp38) = & tifm_bus_type;
3735#line 283
3736    __cil_tmp39 = 104 + 920;
3737#line 283
3738    __cil_tmp40 = (unsigned long )sock;
3739#line 283
3740    __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
3741#line 283
3742    __cil_tmp42 = (unsigned long )fm;
3743#line 283
3744    __cil_tmp43 = __cil_tmp42 + 184;
3745#line 283
3746    __cil_tmp44 = *((struct device **)__cil_tmp43);
3747#line 283
3748    __cil_tmp45 = (unsigned long )__cil_tmp44;
3749#line 283
3750    __cil_tmp46 = __cil_tmp45 + 920;
3751#line 283
3752    *((u64 **)__cil_tmp41) = *((u64 **)__cil_tmp46);
3753#line 284
3754    __cil_tmp47 = 104 + 1144;
3755#line 284
3756    __cil_tmp48 = (unsigned long )sock;
3757#line 284
3758    __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
3759#line 284
3760    *((void (**)(struct device * ))__cil_tmp49) = & tifm_free_device;
3761#line 286
3762    __cil_tmp50 = (int )type;
3763#line 286
3764    __cil_tmp51 = (unsigned char )__cil_tmp50;
3765#line 286
3766    tmp___1 = tifm_media_type_name(__cil_tmp51, (unsigned char)2);
3767#line 286
3768    __cil_tmp52 = (unsigned long )sock;
3769#line 286
3770    __cil_tmp53 = __cil_tmp52 + 104;
3771#line 286
3772    __cil_tmp54 = (struct device *)__cil_tmp53;
3773#line 286
3774    __cil_tmp55 = (unsigned long )fm;
3775#line 286
3776    __cil_tmp56 = __cil_tmp55 + 88;
3777#line 286
3778    __cil_tmp57 = *((unsigned int *)__cil_tmp56);
3779#line 286
3780    dev_set_name(__cil_tmp54, "tifm_%s%u:%u", tmp___1, __cil_tmp57, id);
3781#line 288
3782    __cil_tmp58 = (int )type;
3783#line 288
3784    __cil_tmp59 = (unsigned char )__cil_tmp58;
3785#line 288
3786    tmp___2 = tifm_media_type_name(__cil_tmp59, (unsigned char)0);
3787#line 288
3788    __cil_tmp60 = (unsigned long )fm;
3789#line 288
3790    __cil_tmp61 = __cil_tmp60 + 88;
3791#line 288
3792    __cil_tmp62 = *((unsigned int *)__cil_tmp61);
3793#line 288
3794    printk("<6>tifm_core: %s card detected in socket %u:%u\n", tmp___2, __cil_tmp62,
3795           id);
3796    }
3797  } else {
3798
3799  }
3800  }
3801#line 292
3802  return (sock);
3803}
3804}
3805#line 296 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3806void tifm_eject(struct tifm_dev *sock ) 
3807{ struct tifm_adapter *fm ;
3808  void *tmp ;
3809  unsigned long __cil_tmp4 ;
3810  unsigned long __cil_tmp5 ;
3811  struct device *__cil_tmp6 ;
3812  struct device  const  *__cil_tmp7 ;
3813  unsigned long __cil_tmp8 ;
3814  unsigned long __cil_tmp9 ;
3815  void (*__cil_tmp10)(struct tifm_adapter * , struct tifm_dev * ) ;
3816
3817  {
3818  {
3819#line 298
3820  __cil_tmp4 = (unsigned long )sock;
3821#line 298
3822  __cil_tmp5 = __cil_tmp4 + 104;
3823#line 298
3824  __cil_tmp6 = *((struct device **)__cil_tmp5);
3825#line 298
3826  __cil_tmp7 = (struct device  const  *)__cil_tmp6;
3827#line 298
3828  tmp = dev_get_drvdata(__cil_tmp7);
3829#line 298
3830  fm = (struct tifm_adapter *)tmp;
3831#line 299
3832  __cil_tmp8 = (unsigned long )fm;
3833#line 299
3834  __cil_tmp9 = __cil_tmp8 + 1336;
3835#line 299
3836  __cil_tmp10 = *((void (**)(struct tifm_adapter * , struct tifm_dev * ))__cil_tmp9);
3837#line 299
3838  (*__cil_tmp10)(fm, sock);
3839  }
3840#line 300
3841  return;
3842}
3843}
3844#line 303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3845int tifm_has_ms_pif(struct tifm_dev *sock ) 
3846{ struct tifm_adapter *fm ;
3847  void *tmp ;
3848  int tmp___0 ;
3849  unsigned long __cil_tmp5 ;
3850  unsigned long __cil_tmp6 ;
3851  struct device *__cil_tmp7 ;
3852  struct device  const  *__cil_tmp8 ;
3853  unsigned long __cil_tmp9 ;
3854  unsigned long __cil_tmp10 ;
3855  int (*__cil_tmp11)(struct tifm_adapter * , struct tifm_dev * ) ;
3856
3857  {
3858  {
3859#line 305
3860  __cil_tmp5 = (unsigned long )sock;
3861#line 305
3862  __cil_tmp6 = __cil_tmp5 + 104;
3863#line 305
3864  __cil_tmp7 = *((struct device **)__cil_tmp6);
3865#line 305
3866  __cil_tmp8 = (struct device  const  *)__cil_tmp7;
3867#line 305
3868  tmp = dev_get_drvdata(__cil_tmp8);
3869#line 305
3870  fm = (struct tifm_adapter *)tmp;
3871#line 306
3872  __cil_tmp9 = (unsigned long )fm;
3873#line 306
3874  __cil_tmp10 = __cil_tmp9 + 1344;
3875#line 306
3876  __cil_tmp11 = *((int (**)(struct tifm_adapter * , struct tifm_dev * ))__cil_tmp10);
3877#line 306
3878  tmp___0 = (*__cil_tmp11)(fm, sock);
3879  }
3880#line 306
3881  return (tmp___0);
3882}
3883}
3884#line 310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3885int tifm_map_sg(struct tifm_dev *sock , struct scatterlist *sg , int nents , int direction ) 
3886{ struct device  const  *__mptr ;
3887  int tmp ;
3888  unsigned long __cil_tmp7 ;
3889  unsigned long __cil_tmp8 ;
3890  struct device *__cil_tmp9 ;
3891  struct pci_dev *__cil_tmp10 ;
3892  struct pci_dev *__cil_tmp11 ;
3893
3894  {
3895  {
3896#line 313
3897  __cil_tmp7 = (unsigned long )sock;
3898#line 313
3899  __cil_tmp8 = __cil_tmp7 + 104;
3900#line 313
3901  __cil_tmp9 = *((struct device **)__cil_tmp8);
3902#line 313
3903  __mptr = (struct device  const  *)__cil_tmp9;
3904#line 313
3905  __cil_tmp10 = (struct pci_dev *)__mptr;
3906#line 313
3907  __cil_tmp11 = __cil_tmp10 + 0xffffffffffffff70UL;
3908#line 313
3909  tmp = pci_map_sg(__cil_tmp11, sg, nents, direction);
3910  }
3911#line 313
3912  return (tmp);
3913}
3914}
3915#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3916void tifm_unmap_sg(struct tifm_dev *sock , struct scatterlist *sg , int nents , int direction ) 
3917{ struct device  const  *__mptr ;
3918  unsigned long __cil_tmp6 ;
3919  unsigned long __cil_tmp7 ;
3920  struct device *__cil_tmp8 ;
3921  struct pci_dev *__cil_tmp9 ;
3922  struct pci_dev *__cil_tmp10 ;
3923
3924  {
3925  {
3926#line 320
3927  __cil_tmp6 = (unsigned long )sock;
3928#line 320
3929  __cil_tmp7 = __cil_tmp6 + 104;
3930#line 320
3931  __cil_tmp8 = *((struct device **)__cil_tmp7);
3932#line 320
3933  __mptr = (struct device  const  *)__cil_tmp8;
3934#line 320
3935  __cil_tmp9 = (struct pci_dev *)__mptr;
3936#line 320
3937  __cil_tmp10 = __cil_tmp9 + 0xffffffffffffff70UL;
3938#line 320
3939  pci_unmap_sg(__cil_tmp10, sg, nents, direction);
3940  }
3941#line 322
3942  return;
3943}
3944}
3945#line 324 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3946void tifm_queue_work(struct work_struct *work ) 
3947{ 
3948
3949  {
3950  {
3951#line 326
3952  queue_work(workqueue, work);
3953  }
3954#line 327
3955  return;
3956}
3957}
3958#line 330 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3959int tifm_register_driver(struct tifm_driver *drv ) 
3960{ int tmp ;
3961  unsigned long __cil_tmp3 ;
3962  unsigned long __cil_tmp4 ;
3963  unsigned long __cil_tmp5 ;
3964  unsigned long __cil_tmp6 ;
3965  unsigned long __cil_tmp7 ;
3966  struct device_driver *__cil_tmp8 ;
3967
3968  {
3969  {
3970#line 332
3971  __cil_tmp3 = 40 + 8;
3972#line 332
3973  __cil_tmp4 = (unsigned long )drv;
3974#line 332
3975  __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
3976#line 332
3977  *((struct bus_type **)__cil_tmp5) = & tifm_bus_type;
3978#line 334
3979  __cil_tmp6 = (unsigned long )drv;
3980#line 334
3981  __cil_tmp7 = __cil_tmp6 + 40;
3982#line 334
3983  __cil_tmp8 = (struct device_driver *)__cil_tmp7;
3984#line 334
3985  tmp = driver_register(__cil_tmp8);
3986  }
3987#line 334
3988  return (tmp);
3989}
3990}
3991#line 338 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
3992void tifm_unregister_driver(struct tifm_driver *drv ) 
3993{ unsigned long __cil_tmp2 ;
3994  unsigned long __cil_tmp3 ;
3995  struct device_driver *__cil_tmp4 ;
3996
3997  {
3998  {
3999#line 340
4000  __cil_tmp2 = (unsigned long )drv;
4001#line 340
4002  __cil_tmp3 = __cil_tmp2 + 40;
4003#line 340
4004  __cil_tmp4 = (struct device_driver *)__cil_tmp3;
4005#line 340
4006  driver_unregister(__cil_tmp4);
4007  }
4008#line 341
4009  return;
4010}
4011}
4012#line 344 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4013static int tifm_init(void) 
4014{ int rc ;
4015  struct lock_class_key __key ;
4016  char const   *__lock_name ;
4017  struct workqueue_struct *tmp ;
4018  struct lock_class_key __key___0 ;
4019  int tmp___0 ;
4020  struct lock_class_key __key___1 ;
4021  int tmp___1 ;
4022  struct workqueue_struct *__cil_tmp9 ;
4023  unsigned long __cil_tmp10 ;
4024  unsigned long __cil_tmp11 ;
4025
4026  {
4027  {
4028#line 348
4029  __lock_name = "tifm";
4030#line 348
4031  tmp = __alloc_workqueue_key("tifm", 14U, 1, & __key, __lock_name);
4032#line 348
4033  workqueue = tmp;
4034  }
4035  {
4036#line 349
4037  __cil_tmp9 = (struct workqueue_struct *)0;
4038#line 349
4039  __cil_tmp10 = (unsigned long )__cil_tmp9;
4040#line 349
4041  __cil_tmp11 = (unsigned long )workqueue;
4042#line 349
4043  if (__cil_tmp11 == __cil_tmp10) {
4044#line 350
4045    return (-12);
4046  } else {
4047
4048  }
4049  }
4050  {
4051#line 352
4052  tmp___0 = __bus_register(& tifm_bus_type, & __key___0);
4053#line 352
4054  rc = tmp___0;
4055  }
4056#line 354
4057  if (rc != 0) {
4058#line 355
4059    goto err_out_wq;
4060  } else {
4061
4062  }
4063  {
4064#line 357
4065  tmp___1 = __class_register(& tifm_adapter_class, & __key___1);
4066#line 357
4067  rc = tmp___1;
4068  }
4069#line 358
4070  if (rc == 0) {
4071#line 359
4072    return (0);
4073  } else {
4074
4075  }
4076  {
4077#line 361
4078  bus_unregister(& tifm_bus_type);
4079  }
4080  err_out_wq: 
4081  {
4082#line 364
4083  destroy_workqueue(workqueue);
4084  }
4085#line 366
4086  return (rc);
4087}
4088}
4089#line 369 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4090static void tifm_exit(void) 
4091{ 
4092
4093  {
4094  {
4095#line 371
4096  class_unregister(& tifm_adapter_class);
4097#line 372
4098  bus_unregister(& tifm_bus_type);
4099#line 373
4100  destroy_workqueue(workqueue);
4101  }
4102#line 374
4103  return;
4104}
4105}
4106#line 401
4107extern void ldv_check_final_state(void) ;
4108#line 404
4109extern void ldv_check_return_value(int  ) ;
4110#line 407
4111extern void ldv_initialize(void) ;
4112#line 410
4113extern int __VERIFIER_nondet_int(void) ;
4114#line 413 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4115int LDV_IN_INTERRUPT  ;
4116#line 416 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4117void main(void) 
4118{ struct device *var_group1 ;
4119  struct device_driver *var_group2 ;
4120  struct kobj_uevent_env *var_group3 ;
4121  int res_tifm_device_probe_4 ;
4122  pm_message_t var_tifm_device_suspend_7_p1 ;
4123  int ldv_s_tifm_bus_type_bus_type ;
4124  int tmp ;
4125  int tmp___0 ;
4126  int tmp___1 ;
4127  int var_tifm_device_suspend_7_p1_event10 ;
4128
4129  {
4130  {
4131#line 549
4132  ldv_s_tifm_bus_type_bus_type = 0;
4133#line 524
4134  LDV_IN_INTERRUPT = 1;
4135#line 533
4136  ldv_initialize();
4137#line 547
4138  tmp = tifm_init();
4139  }
4140#line 547
4141  if (tmp != 0) {
4142#line 548
4143    goto ldv_final;
4144  } else {
4145
4146  }
4147#line 555
4148  goto ldv_21967;
4149  ldv_21966: 
4150  {
4151#line 559
4152  tmp___0 = __VERIFIER_nondet_int();
4153  }
4154#line 561
4155  if (tmp___0 == 0) {
4156#line 561
4157    goto case_0;
4158  } else
4159#line 590
4160  if (tmp___0 == 1) {
4161#line 590
4162    goto case_1;
4163  } else
4164#line 616
4165  if (tmp___0 == 2) {
4166#line 616
4167    goto case_2;
4168  } else
4169#line 642
4170  if (tmp___0 == 3) {
4171#line 642
4172    goto case_3;
4173  } else
4174#line 668
4175  if (tmp___0 == 4) {
4176#line 668
4177    goto case_4;
4178  } else
4179#line 694
4180  if (tmp___0 == 5) {
4181#line 694
4182    goto case_5;
4183  } else
4184#line 720
4185  if (tmp___0 == 6) {
4186#line 720
4187    goto case_6;
4188  } else {
4189    {
4190#line 744
4191    goto switch_default;
4192#line 559
4193    if (0) {
4194      case_0: /* CIL Label */ ;
4195#line 564
4196      if (ldv_s_tifm_bus_type_bus_type == 0) {
4197        {
4198#line 572
4199        res_tifm_device_probe_4 = tifm_device_probe(var_group1);
4200#line 573
4201        ldv_check_return_value(res_tifm_device_probe_4);
4202        }
4203#line 574
4204        if (res_tifm_device_probe_4 != 0) {
4205#line 575
4206          goto ldv_module_exit;
4207        } else {
4208
4209        }
4210#line 583
4211        ldv_s_tifm_bus_type_bus_type = 0;
4212      } else {
4213
4214      }
4215#line 589
4216      goto ldv_21958;
4217      case_1: /* CIL Label */ 
4218      {
4219#line 601
4220      tifm_bus_match(var_group1, var_group2);
4221      }
4222#line 615
4223      goto ldv_21958;
4224      case_2: /* CIL Label */ 
4225      {
4226#line 627
4227      tifm_uevent(var_group1, var_group3);
4228      }
4229#line 641
4230      goto ldv_21958;
4231      case_3: /* CIL Label */ 
4232      {
4233#line 653
4234      tifm_device_remove(var_group1);
4235      }
4236#line 667
4237      goto ldv_21958;
4238      case_4: /* CIL Label */ 
4239      {
4240#line 680
4241      tifm_device_suspend(var_group1, var_tifm_device_suspend_7_p1_event10);
4242      }
4243#line 693
4244      goto ldv_21958;
4245      case_5: /* CIL Label */ 
4246      {
4247#line 706
4248      tifm_device_resume(var_group1);
4249      }
4250#line 719
4251      goto ldv_21958;
4252      case_6: /* CIL Label */ 
4253      {
4254#line 736
4255      tifm_free(var_group1);
4256      }
4257#line 743
4258      goto ldv_21958;
4259      switch_default: /* CIL Label */ ;
4260#line 744
4261      goto ldv_21958;
4262    } else {
4263      switch_break: /* CIL Label */ ;
4264    }
4265    }
4266  }
4267  ldv_21958: ;
4268  ldv_21967: 
4269  {
4270#line 555
4271  tmp___1 = __VERIFIER_nondet_int();
4272  }
4273#line 555
4274  if (tmp___1 != 0) {
4275#line 557
4276    goto ldv_21966;
4277  } else
4278#line 555
4279  if (ldv_s_tifm_bus_type_bus_type != 0) {
4280#line 557
4281    goto ldv_21966;
4282  } else {
4283#line 559
4284    goto ldv_21968;
4285  }
4286  ldv_21968: ;
4287  ldv_module_exit: 
4288  {
4289#line 764
4290  tifm_exit();
4291  }
4292  ldv_final: 
4293  {
4294#line 767
4295  ldv_check_final_state();
4296  }
4297#line 770
4298  return;
4299}
4300}
4301#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4302void ldv_blast_assert(void) 
4303{ 
4304
4305  {
4306  ERROR: ;
4307#line 6
4308  goto ERROR;
4309}
4310}
4311#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4312extern int __VERIFIER_nondet_int(void) ;
4313#line 791 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4314int ldv_spin  =    0;
4315#line 795 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4316void ldv_check_alloc_flags(gfp_t flags ) 
4317{ 
4318
4319  {
4320#line 798
4321  if (ldv_spin != 0) {
4322#line 798
4323    if (flags != 32U) {
4324      {
4325#line 798
4326      ldv_blast_assert();
4327      }
4328    } else {
4329
4330    }
4331  } else {
4332
4333  }
4334#line 801
4335  return;
4336}
4337}
4338#line 801
4339extern struct page *ldv_some_page(void) ;
4340#line 804 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4341struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
4342{ struct page *tmp ;
4343
4344  {
4345#line 807
4346  if (ldv_spin != 0) {
4347#line 807
4348    if (flags != 32U) {
4349      {
4350#line 807
4351      ldv_blast_assert();
4352      }
4353    } else {
4354
4355    }
4356  } else {
4357
4358  }
4359  {
4360#line 809
4361  tmp = ldv_some_page();
4362  }
4363#line 809
4364  return (tmp);
4365}
4366}
4367#line 813 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4368void ldv_check_alloc_nonatomic(void) 
4369{ 
4370
4371  {
4372#line 816
4373  if (ldv_spin != 0) {
4374    {
4375#line 816
4376    ldv_blast_assert();
4377    }
4378  } else {
4379
4380  }
4381#line 819
4382  return;
4383}
4384}
4385#line 820 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4386void ldv_spin_lock(void) 
4387{ 
4388
4389  {
4390#line 823
4391  ldv_spin = 1;
4392#line 824
4393  return;
4394}
4395}
4396#line 827 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4397void ldv_spin_unlock(void) 
4398{ 
4399
4400  {
4401#line 830
4402  ldv_spin = 0;
4403#line 831
4404  return;
4405}
4406}
4407#line 834 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4408int ldv_spin_trylock(void) 
4409{ int is_lock ;
4410
4411  {
4412  {
4413#line 839
4414  is_lock = __VERIFIER_nondet_int();
4415  }
4416#line 841
4417  if (is_lock != 0) {
4418#line 844
4419    return (0);
4420  } else {
4421#line 849
4422    ldv_spin = 1;
4423#line 851
4424    return (1);
4425  }
4426}
4427}
4428#line 855 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4429__inline static void spin_lock(spinlock_t *lock ) 
4430{ 
4431
4432  {
4433  {
4434#line 860
4435  ldv_spin_lock();
4436#line 862
4437  ldv_spin_lock_1(lock);
4438  }
4439#line 863
4440  return;
4441}
4442}
4443#line 897 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4444__inline static void spin_unlock(spinlock_t *lock ) 
4445{ 
4446
4447  {
4448  {
4449#line 902
4450  ldv_spin_unlock();
4451#line 904
4452  ldv_spin_unlock_5(lock);
4453  }
4454#line 905
4455  return;
4456}
4457}
4458#line 1018 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4459void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
4460{ 
4461
4462  {
4463  {
4464#line 1024
4465  ldv_check_alloc_flags(ldv_func_arg2);
4466#line 1026
4467  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4468  }
4469#line 1027
4470  return ((void *)0);
4471}
4472}
4473#line 1029 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12648/dscv_tempdir/dscv/ri/43_1a/drivers/misc/tifm_core.c.p"
4474__inline static void *kzalloc(size_t size , gfp_t flags ) 
4475{ void *tmp ;
4476
4477  {
4478  {
4479#line 1035
4480  ldv_check_alloc_flags(flags);
4481#line 1036
4482  tmp = __VERIFIER_nondet_pointer();
4483  }
4484#line 1036
4485  return (tmp);
4486}
4487}