Showing error 498

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