Showing error 1261

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