Showing error 1349

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_unsafe_ok_linux-43_1a-drivers--scsi--megaraid--megaraid_mm.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 9602
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 20 "include/asm-generic/int-ll64.h"
   7typedef unsigned char __u8;
   8#line 22 "include/asm-generic/int-ll64.h"
   9typedef short __s16;
  10#line 23 "include/asm-generic/int-ll64.h"
  11typedef unsigned short __u16;
  12#line 25 "include/asm-generic/int-ll64.h"
  13typedef int __s32;
  14#line 26 "include/asm-generic/int-ll64.h"
  15typedef unsigned int __u32;
  16#line 29 "include/asm-generic/int-ll64.h"
  17typedef long long __s64;
  18#line 30 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long __u64;
  20#line 43 "include/asm-generic/int-ll64.h"
  21typedef unsigned char u8;
  22#line 45 "include/asm-generic/int-ll64.h"
  23typedef short s16;
  24#line 46 "include/asm-generic/int-ll64.h"
  25typedef unsigned short u16;
  26#line 48 "include/asm-generic/int-ll64.h"
  27typedef int s32;
  28#line 49 "include/asm-generic/int-ll64.h"
  29typedef unsigned int u32;
  30#line 51 "include/asm-generic/int-ll64.h"
  31typedef long long s64;
  32#line 52 "include/asm-generic/int-ll64.h"
  33typedef unsigned long long u64;
  34#line 14 "include/asm-generic/posix_types.h"
  35typedef long __kernel_long_t;
  36#line 15 "include/asm-generic/posix_types.h"
  37typedef unsigned long __kernel_ulong_t;
  38#line 31 "include/asm-generic/posix_types.h"
  39typedef int __kernel_pid_t;
  40#line 52 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_uid32_t;
  42#line 53 "include/asm-generic/posix_types.h"
  43typedef unsigned int __kernel_gid32_t;
  44#line 75 "include/asm-generic/posix_types.h"
  45typedef __kernel_ulong_t __kernel_size_t;
  46#line 76 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_ssize_t;
  48#line 91 "include/asm-generic/posix_types.h"
  49typedef long long __kernel_loff_t;
  50#line 92 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_time_t;
  52#line 93 "include/asm-generic/posix_types.h"
  53typedef __kernel_long_t __kernel_clock_t;
  54#line 94 "include/asm-generic/posix_types.h"
  55typedef int __kernel_timer_t;
  56#line 95 "include/asm-generic/posix_types.h"
  57typedef int __kernel_clockid_t;
  58#line 96 "include/asm-generic/posix_types.h"
  59typedef char *__kernel_caddr_t;
  60#line 21 "include/linux/types.h"
  61typedef __u32 __kernel_dev_t;
  62#line 24 "include/linux/types.h"
  63typedef __kernel_dev_t dev_t;
  64#line 27 "include/linux/types.h"
  65typedef unsigned short umode_t;
  66#line 30 "include/linux/types.h"
  67typedef __kernel_pid_t pid_t;
  68#line 35 "include/linux/types.h"
  69typedef __kernel_clockid_t clockid_t;
  70#line 38 "include/linux/types.h"
  71typedef _Bool bool;
  72#line 40 "include/linux/types.h"
  73typedef __kernel_uid32_t uid_t;
  74#line 41 "include/linux/types.h"
  75typedef __kernel_gid32_t gid_t;
  76#line 54 "include/linux/types.h"
  77typedef __kernel_loff_t loff_t;
  78#line 63 "include/linux/types.h"
  79typedef __kernel_size_t size_t;
  80#line 68 "include/linux/types.h"
  81typedef __kernel_ssize_t ssize_t;
  82#line 78 "include/linux/types.h"
  83typedef __kernel_time_t time_t;
  84#line 88 "include/linux/types.h"
  85typedef __kernel_caddr_t *caddr_t;
  86#line 107 "include/linux/types.h"
  87typedef __s8 int8_t;
  88#line 111 "include/linux/types.h"
  89typedef __s32 int32_t;
  90#line 115 "include/linux/types.h"
  91typedef __u8 uint8_t;
  92#line 116 "include/linux/types.h"
  93typedef __u16 uint16_t;
  94#line 117 "include/linux/types.h"
  95typedef __u32 uint32_t;
  96#line 120 "include/linux/types.h"
  97typedef __u64 uint64_t;
  98#line 142 "include/linux/types.h"
  99typedef unsigned long sector_t;
 100#line 143 "include/linux/types.h"
 101typedef unsigned long blkcnt_t;
 102#line 155 "include/linux/types.h"
 103typedef u64 dma_addr_t;
 104#line 202 "include/linux/types.h"
 105typedef unsigned int gfp_t;
 106#line 203 "include/linux/types.h"
 107typedef unsigned int fmode_t;
 108#line 206 "include/linux/types.h"
 109typedef u64 phys_addr_t;
 110#line 211 "include/linux/types.h"
 111typedef phys_addr_t resource_size_t;
 112#line 221 "include/linux/types.h"
 113struct __anonstruct_atomic_t_6 {
 114   int counter ;
 115};
 116#line 221 "include/linux/types.h"
 117typedef struct __anonstruct_atomic_t_6 atomic_t;
 118#line 226 "include/linux/types.h"
 119struct __anonstruct_atomic64_t_7 {
 120   long counter ;
 121};
 122#line 226 "include/linux/types.h"
 123typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 124#line 227 "include/linux/types.h"
 125struct list_head {
 126   struct list_head *next ;
 127   struct list_head *prev ;
 128};
 129#line 232
 130struct hlist_node;
 131#line 232 "include/linux/types.h"
 132struct hlist_head {
 133   struct hlist_node *first ;
 134};
 135#line 236 "include/linux/types.h"
 136struct hlist_node {
 137   struct hlist_node *next ;
 138   struct hlist_node **pprev ;
 139};
 140#line 247 "include/linux/types.h"
 141struct rcu_head {
 142   struct rcu_head *next ;
 143   void (*func)(struct rcu_head * ) ;
 144};
 145#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 146struct module;
 147#line 55
 148struct module;
 149#line 146 "include/linux/init.h"
 150typedef void (*ctor_fn_t)(void);
 151#line 46 "include/linux/dynamic_debug.h"
 152struct device;
 153#line 46
 154struct device;
 155#line 57
 156struct completion;
 157#line 57
 158struct completion;
 159#line 58
 160struct pt_regs;
 161#line 58
 162struct pt_regs;
 163#line 348 "include/linux/kernel.h"
 164struct pid;
 165#line 348
 166struct pid;
 167#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 168struct timespec;
 169#line 112
 170struct timespec;
 171#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 172struct page;
 173#line 58
 174struct page;
 175#line 26 "include/asm-generic/getorder.h"
 176struct task_struct;
 177#line 26
 178struct task_struct;
 179#line 28
 180struct mm_struct;
 181#line 28
 182struct mm_struct;
 183#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 184struct pt_regs {
 185   unsigned long r15 ;
 186   unsigned long r14 ;
 187   unsigned long r13 ;
 188   unsigned long r12 ;
 189   unsigned long bp ;
 190   unsigned long bx ;
 191   unsigned long r11 ;
 192   unsigned long r10 ;
 193   unsigned long r9 ;
 194   unsigned long r8 ;
 195   unsigned long ax ;
 196   unsigned long cx ;
 197   unsigned long dx ;
 198   unsigned long si ;
 199   unsigned long di ;
 200   unsigned long orig_ax ;
 201   unsigned long ip ;
 202   unsigned long cs ;
 203   unsigned long flags ;
 204   unsigned long sp ;
 205   unsigned long ss ;
 206};
 207#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 208struct __anonstruct_ldv_2180_13 {
 209   unsigned int a ;
 210   unsigned int b ;
 211};
 212#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 213struct __anonstruct_ldv_2195_14 {
 214   u16 limit0 ;
 215   u16 base0 ;
 216   unsigned char base1 ;
 217   unsigned char type : 4 ;
 218   unsigned char s : 1 ;
 219   unsigned char dpl : 2 ;
 220   unsigned char p : 1 ;
 221   unsigned char limit : 4 ;
 222   unsigned char avl : 1 ;
 223   unsigned char l : 1 ;
 224   unsigned char d : 1 ;
 225   unsigned char g : 1 ;
 226   unsigned char base2 ;
 227};
 228#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 229union __anonunion_ldv_2196_12 {
 230   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 231   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 232};
 233#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 234struct desc_struct {
 235   union __anonunion_ldv_2196_12 ldv_2196 ;
 236};
 237#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 238typedef unsigned long pgdval_t;
 239#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 240typedef unsigned long pgprotval_t;
 241#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 242struct pgprot {
 243   pgprotval_t pgprot ;
 244};
 245#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 246typedef struct pgprot pgprot_t;
 247#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 248struct __anonstruct_pgd_t_16 {
 249   pgdval_t pgd ;
 250};
 251#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 252typedef struct __anonstruct_pgd_t_16 pgd_t;
 253#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 254typedef struct page *pgtable_t;
 255#line 290
 256struct file;
 257#line 290
 258struct file;
 259#line 305
 260struct seq_file;
 261#line 305
 262struct seq_file;
 263#line 337
 264struct thread_struct;
 265#line 337
 266struct thread_struct;
 267#line 339
 268struct cpumask;
 269#line 339
 270struct cpumask;
 271#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 272struct arch_spinlock;
 273#line 327
 274struct arch_spinlock;
 275#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 276struct kernel_vm86_regs {
 277   struct pt_regs pt ;
 278   unsigned short es ;
 279   unsigned short __esh ;
 280   unsigned short ds ;
 281   unsigned short __dsh ;
 282   unsigned short fs ;
 283   unsigned short __fsh ;
 284   unsigned short gs ;
 285   unsigned short __gsh ;
 286};
 287#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 288union __anonunion_ldv_2824_19 {
 289   struct pt_regs *regs ;
 290   struct kernel_vm86_regs *vm86 ;
 291};
 292#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 293struct math_emu_info {
 294   long ___orig_eip ;
 295   union __anonunion_ldv_2824_19 ldv_2824 ;
 296};
 297#line 306 "include/linux/bitmap.h"
 298struct bug_entry {
 299   int bug_addr_disp ;
 300   int file_disp ;
 301   unsigned short line ;
 302   unsigned short flags ;
 303};
 304#line 89 "include/linux/bug.h"
 305struct cpumask {
 306   unsigned long bits[64U] ;
 307};
 308#line 14 "include/linux/cpumask.h"
 309typedef struct cpumask cpumask_t;
 310#line 637 "include/linux/cpumask.h"
 311typedef struct cpumask *cpumask_var_t;
 312#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 313struct static_key;
 314#line 234
 315struct static_key;
 316#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 317struct i387_fsave_struct {
 318   u32 cwd ;
 319   u32 swd ;
 320   u32 twd ;
 321   u32 fip ;
 322   u32 fcs ;
 323   u32 foo ;
 324   u32 fos ;
 325   u32 st_space[20U] ;
 326   u32 status ;
 327};
 328#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 329struct __anonstruct_ldv_5180_24 {
 330   u64 rip ;
 331   u64 rdp ;
 332};
 333#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 334struct __anonstruct_ldv_5186_25 {
 335   u32 fip ;
 336   u32 fcs ;
 337   u32 foo ;
 338   u32 fos ;
 339};
 340#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 341union __anonunion_ldv_5187_23 {
 342   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 343   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 344};
 345#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 346union __anonunion_ldv_5196_26 {
 347   u32 padding1[12U] ;
 348   u32 sw_reserved[12U] ;
 349};
 350#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 351struct i387_fxsave_struct {
 352   u16 cwd ;
 353   u16 swd ;
 354   u16 twd ;
 355   u16 fop ;
 356   union __anonunion_ldv_5187_23 ldv_5187 ;
 357   u32 mxcsr ;
 358   u32 mxcsr_mask ;
 359   u32 st_space[32U] ;
 360   u32 xmm_space[64U] ;
 361   u32 padding[12U] ;
 362   union __anonunion_ldv_5196_26 ldv_5196 ;
 363};
 364#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 365struct i387_soft_struct {
 366   u32 cwd ;
 367   u32 swd ;
 368   u32 twd ;
 369   u32 fip ;
 370   u32 fcs ;
 371   u32 foo ;
 372   u32 fos ;
 373   u32 st_space[20U] ;
 374   u8 ftop ;
 375   u8 changed ;
 376   u8 lookahead ;
 377   u8 no_update ;
 378   u8 rm ;
 379   u8 alimit ;
 380   struct math_emu_info *info ;
 381   u32 entry_eip ;
 382};
 383#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 384struct ymmh_struct {
 385   u32 ymmh_space[64U] ;
 386};
 387#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 388struct xsave_hdr_struct {
 389   u64 xstate_bv ;
 390   u64 reserved1[2U] ;
 391   u64 reserved2[5U] ;
 392};
 393#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 394struct xsave_struct {
 395   struct i387_fxsave_struct i387 ;
 396   struct xsave_hdr_struct xsave_hdr ;
 397   struct ymmh_struct ymmh ;
 398};
 399#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 400union thread_xstate {
 401   struct i387_fsave_struct fsave ;
 402   struct i387_fxsave_struct fxsave ;
 403   struct i387_soft_struct soft ;
 404   struct xsave_struct xsave ;
 405};
 406#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 407struct fpu {
 408   unsigned int last_cpu ;
 409   unsigned int has_fpu ;
 410   union thread_xstate *state ;
 411};
 412#line 433
 413struct kmem_cache;
 414#line 434
 415struct perf_event;
 416#line 434
 417struct perf_event;
 418#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 419struct thread_struct {
 420   struct desc_struct tls_array[3U] ;
 421   unsigned long sp0 ;
 422   unsigned long sp ;
 423   unsigned long usersp ;
 424   unsigned short es ;
 425   unsigned short ds ;
 426   unsigned short fsindex ;
 427   unsigned short gsindex ;
 428   unsigned long fs ;
 429   unsigned long gs ;
 430   struct perf_event *ptrace_bps[4U] ;
 431   unsigned long debugreg6 ;
 432   unsigned long ptrace_dr7 ;
 433   unsigned long cr2 ;
 434   unsigned long trap_nr ;
 435   unsigned long error_code ;
 436   struct fpu fpu ;
 437   unsigned long *io_bitmap_ptr ;
 438   unsigned long iopl ;
 439   unsigned int io_bitmap_max ;
 440};
 441#line 23 "include/asm-generic/atomic-long.h"
 442typedef atomic64_t atomic_long_t;
 443#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 444typedef u16 __ticket_t;
 445#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 446typedef u32 __ticketpair_t;
 447#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 448struct __raw_tickets {
 449   __ticket_t head ;
 450   __ticket_t tail ;
 451};
 452#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 453union __anonunion_ldv_5907_29 {
 454   __ticketpair_t head_tail ;
 455   struct __raw_tickets tickets ;
 456};
 457#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 458struct arch_spinlock {
 459   union __anonunion_ldv_5907_29 ldv_5907 ;
 460};
 461#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 462typedef struct arch_spinlock arch_spinlock_t;
 463#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 464struct __anonstruct_ldv_5914_31 {
 465   u32 read ;
 466   s32 write ;
 467};
 468#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 469union __anonunion_arch_rwlock_t_30 {
 470   s64 lock ;
 471   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 472};
 473#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 474typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 475#line 34
 476struct lockdep_map;
 477#line 34
 478struct lockdep_map;
 479#line 55 "include/linux/debug_locks.h"
 480struct stack_trace {
 481   unsigned int nr_entries ;
 482   unsigned int max_entries ;
 483   unsigned long *entries ;
 484   int skip ;
 485};
 486#line 26 "include/linux/stacktrace.h"
 487struct lockdep_subclass_key {
 488   char __one_byte ;
 489};
 490#line 53 "include/linux/lockdep.h"
 491struct lock_class_key {
 492   struct lockdep_subclass_key subkeys[8U] ;
 493};
 494#line 59 "include/linux/lockdep.h"
 495struct lock_class {
 496   struct list_head hash_entry ;
 497   struct list_head lock_entry ;
 498   struct lockdep_subclass_key *key ;
 499   unsigned int subclass ;
 500   unsigned int dep_gen_id ;
 501   unsigned long usage_mask ;
 502   struct stack_trace usage_traces[13U] ;
 503   struct list_head locks_after ;
 504   struct list_head locks_before ;
 505   unsigned int version ;
 506   unsigned long ops ;
 507   char    *name ;
 508   int name_version ;
 509   unsigned long contention_point[4U] ;
 510   unsigned long contending_point[4U] ;
 511};
 512#line 144 "include/linux/lockdep.h"
 513struct lockdep_map {
 514   struct lock_class_key *key ;
 515   struct lock_class *class_cache[2U] ;
 516   char    *name ;
 517   int cpu ;
 518   unsigned long ip ;
 519};
 520#line 187 "include/linux/lockdep.h"
 521struct held_lock {
 522   u64 prev_chain_key ;
 523   unsigned long acquire_ip ;
 524   struct lockdep_map *instance ;
 525   struct lockdep_map *nest_lock ;
 526   u64 waittime_stamp ;
 527   u64 holdtime_stamp ;
 528   unsigned short class_idx : 13 ;
 529   unsigned char irq_context : 2 ;
 530   unsigned char trylock : 1 ;
 531   unsigned char read : 2 ;
 532   unsigned char check : 2 ;
 533   unsigned char hardirqs_off : 1 ;
 534   unsigned short references : 11 ;
 535};
 536#line 556 "include/linux/lockdep.h"
 537struct raw_spinlock {
 538   arch_spinlock_t raw_lock ;
 539   unsigned int magic ;
 540   unsigned int owner_cpu ;
 541   void *owner ;
 542   struct lockdep_map dep_map ;
 543};
 544#line 32 "include/linux/spinlock_types.h"
 545typedef struct raw_spinlock raw_spinlock_t;
 546#line 33 "include/linux/spinlock_types.h"
 547struct __anonstruct_ldv_6122_33 {
 548   u8 __padding[24U] ;
 549   struct lockdep_map dep_map ;
 550};
 551#line 33 "include/linux/spinlock_types.h"
 552union __anonunion_ldv_6123_32 {
 553   struct raw_spinlock rlock ;
 554   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 555};
 556#line 33 "include/linux/spinlock_types.h"
 557struct spinlock {
 558   union __anonunion_ldv_6123_32 ldv_6123 ;
 559};
 560#line 76 "include/linux/spinlock_types.h"
 561typedef struct spinlock spinlock_t;
 562#line 23 "include/linux/rwlock_types.h"
 563struct __anonstruct_rwlock_t_34 {
 564   arch_rwlock_t raw_lock ;
 565   unsigned int magic ;
 566   unsigned int owner_cpu ;
 567   void *owner ;
 568   struct lockdep_map dep_map ;
 569};
 570#line 23 "include/linux/rwlock_types.h"
 571typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 572#line 110 "include/linux/seqlock.h"
 573struct seqcount {
 574   unsigned int sequence ;
 575};
 576#line 121 "include/linux/seqlock.h"
 577typedef struct seqcount seqcount_t;
 578#line 254 "include/linux/seqlock.h"
 579struct timespec {
 580   __kernel_time_t tv_sec ;
 581   long tv_nsec ;
 582};
 583#line 286 "include/linux/time.h"
 584struct kstat {
 585   u64 ino ;
 586   dev_t dev ;
 587   umode_t mode ;
 588   unsigned int nlink ;
 589   uid_t uid ;
 590   gid_t gid ;
 591   dev_t rdev ;
 592   loff_t size ;
 593   struct timespec atime ;
 594   struct timespec mtime ;
 595   struct timespec ctime ;
 596   unsigned long blksize ;
 597   unsigned long long blocks ;
 598};
 599#line 27 "include/linux/wait.h"
 600struct __wait_queue;
 601#line 27 "include/linux/wait.h"
 602typedef struct __wait_queue wait_queue_t;
 603#line 30 "include/linux/wait.h"
 604struct __wait_queue {
 605   unsigned int flags ;
 606   void *private ;
 607   int (*func)(wait_queue_t * , unsigned int  , int  , void * ) ;
 608   struct list_head task_list ;
 609};
 610#line 48 "include/linux/wait.h"
 611struct __wait_queue_head {
 612   spinlock_t lock ;
 613   struct list_head task_list ;
 614};
 615#line 53 "include/linux/wait.h"
 616typedef struct __wait_queue_head wait_queue_head_t;
 617#line 98 "include/linux/nodemask.h"
 618struct __anonstruct_nodemask_t_36 {
 619   unsigned long bits[16U] ;
 620};
 621#line 98 "include/linux/nodemask.h"
 622typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 623#line 670 "include/linux/mmzone.h"
 624struct mutex {
 625   atomic_t count ;
 626   spinlock_t wait_lock ;
 627   struct list_head wait_list ;
 628   struct task_struct *owner ;
 629   char    *name ;
 630   void *magic ;
 631   struct lockdep_map dep_map ;
 632};
 633#line 63 "include/linux/mutex.h"
 634struct mutex_waiter {
 635   struct list_head list ;
 636   struct task_struct *task ;
 637   void *magic ;
 638};
 639#line 171
 640struct rw_semaphore;
 641#line 171
 642struct rw_semaphore;
 643#line 172 "include/linux/mutex.h"
 644struct rw_semaphore {
 645   long count ;
 646   raw_spinlock_t wait_lock ;
 647   struct list_head wait_list ;
 648   struct lockdep_map dep_map ;
 649};
 650#line 128 "include/linux/rwsem.h"
 651struct completion {
 652   unsigned int done ;
 653   wait_queue_head_t wait ;
 654};
 655#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 656struct resource {
 657   resource_size_t start ;
 658   resource_size_t end ;
 659   char    *name ;
 660   unsigned long flags ;
 661   struct resource *parent ;
 662   struct resource *sibling ;
 663   struct resource *child ;
 664};
 665#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 666struct pci_dev;
 667#line 181
 668struct pci_dev;
 669#line 312 "include/linux/jiffies.h"
 670union ktime {
 671   s64 tv64 ;
 672};
 673#line 59 "include/linux/ktime.h"
 674typedef union ktime ktime_t;
 675#line 341
 676struct tvec_base;
 677#line 341
 678struct tvec_base;
 679#line 342 "include/linux/ktime.h"
 680struct timer_list {
 681   struct list_head entry ;
 682   unsigned long expires ;
 683   struct tvec_base *base ;
 684   void (*function)(unsigned long  ) ;
 685   unsigned long data ;
 686   int slack ;
 687   int start_pid ;
 688   void *start_site ;
 689   char start_comm[16U] ;
 690   struct lockdep_map lockdep_map ;
 691};
 692#line 289 "include/linux/timer.h"
 693struct hrtimer;
 694#line 289
 695struct hrtimer;
 696#line 290
 697enum hrtimer_restart;
 698#line 302
 699struct work_struct;
 700#line 302
 701struct work_struct;
 702#line 45 "include/linux/workqueue.h"
 703struct work_struct {
 704   atomic_long_t data ;
 705   struct list_head entry ;
 706   void (*func)(struct work_struct * ) ;
 707   struct lockdep_map lockdep_map ;
 708};
 709#line 86 "include/linux/workqueue.h"
 710struct delayed_work {
 711   struct work_struct work ;
 712   struct timer_list timer ;
 713};
 714#line 46 "include/linux/pm.h"
 715struct pm_message {
 716   int event ;
 717};
 718#line 52 "include/linux/pm.h"
 719typedef struct pm_message pm_message_t;
 720#line 53 "include/linux/pm.h"
 721struct dev_pm_ops {
 722   int (*prepare)(struct device * ) ;
 723   void (*complete)(struct device * ) ;
 724   int (*suspend)(struct device * ) ;
 725   int (*resume)(struct device * ) ;
 726   int (*freeze)(struct device * ) ;
 727   int (*thaw)(struct device * ) ;
 728   int (*poweroff)(struct device * ) ;
 729   int (*restore)(struct device * ) ;
 730   int (*suspend_late)(struct device * ) ;
 731   int (*resume_early)(struct device * ) ;
 732   int (*freeze_late)(struct device * ) ;
 733   int (*thaw_early)(struct device * ) ;
 734   int (*poweroff_late)(struct device * ) ;
 735   int (*restore_early)(struct device * ) ;
 736   int (*suspend_noirq)(struct device * ) ;
 737   int (*resume_noirq)(struct device * ) ;
 738   int (*freeze_noirq)(struct device * ) ;
 739   int (*thaw_noirq)(struct device * ) ;
 740   int (*poweroff_noirq)(struct device * ) ;
 741   int (*restore_noirq)(struct device * ) ;
 742   int (*runtime_suspend)(struct device * ) ;
 743   int (*runtime_resume)(struct device * ) ;
 744   int (*runtime_idle)(struct device * ) ;
 745};
 746#line 289
 747enum rpm_status {
 748    RPM_ACTIVE = 0,
 749    RPM_RESUMING = 1,
 750    RPM_SUSPENDED = 2,
 751    RPM_SUSPENDING = 3
 752} ;
 753#line 296
 754enum rpm_request {
 755    RPM_REQ_NONE = 0,
 756    RPM_REQ_IDLE = 1,
 757    RPM_REQ_SUSPEND = 2,
 758    RPM_REQ_AUTOSUSPEND = 3,
 759    RPM_REQ_RESUME = 4
 760} ;
 761#line 304
 762struct wakeup_source;
 763#line 304
 764struct wakeup_source;
 765#line 494 "include/linux/pm.h"
 766struct pm_subsys_data {
 767   spinlock_t lock ;
 768   unsigned int refcount ;
 769};
 770#line 499
 771struct dev_pm_qos_request;
 772#line 499
 773struct pm_qos_raints;
 774#line 499 "include/linux/pm.h"
 775struct dev_pm_info {
 776   pm_message_t power_state ;
 777   unsigned char can_wakeup : 1 ;
 778   unsigned char async_suspend : 1 ;
 779   bool is_prepared ;
 780   bool is_suspended ;
 781   bool ignore_children ;
 782   spinlock_t lock ;
 783   struct list_head entry ;
 784   struct completion completion ;
 785   struct wakeup_source *wakeup ;
 786   bool wakeup_path ;
 787   struct timer_list suspend_timer ;
 788   unsigned long timer_expires ;
 789   struct work_struct work ;
 790   wait_queue_head_t wait_queue ;
 791   atomic_t usage_count ;
 792   atomic_t child_count ;
 793   unsigned char disable_depth : 3 ;
 794   unsigned char idle_notification : 1 ;
 795   unsigned char request_pending : 1 ;
 796   unsigned char deferred_resume : 1 ;
 797   unsigned char run_wake : 1 ;
 798   unsigned char runtime_auto : 1 ;
 799   unsigned char no_callbacks : 1 ;
 800   unsigned char irq_safe : 1 ;
 801   unsigned char use_autosuspend : 1 ;
 802   unsigned char timer_autosuspends : 1 ;
 803   enum rpm_request request ;
 804   enum rpm_status runtime_status ;
 805   int runtime_error ;
 806   int autosuspend_delay ;
 807   unsigned long last_busy ;
 808   unsigned long active_jiffies ;
 809   unsigned long suspended_jiffies ;
 810   unsigned long accounting_timestamp ;
 811   ktime_t suspend_time ;
 812   s64 max_time_suspended_ns ;
 813   struct dev_pm_qos_request *pq_req ;
 814   struct pm_subsys_data *subsys_data ;
 815   struct pm_qos_raints *raints ;
 816};
 817#line 558 "include/linux/pm.h"
 818struct dev_pm_domain {
 819   struct dev_pm_ops ops ;
 820};
 821#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 822struct pci_bus;
 823#line 173
 824struct pci_bus;
 825#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 826struct __anonstruct_mm_context_t_101 {
 827   void *ldt ;
 828   int size ;
 829   unsigned short ia32_compat ;
 830   struct mutex lock ;
 831   void *vdso ;
 832};
 833#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 834typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 835#line 18 "include/asm-generic/pci_iomap.h"
 836struct vm_area_struct;
 837#line 18
 838struct vm_area_struct;
 839#line 835 "include/linux/sysctl.h"
 840struct rb_node {
 841   unsigned long rb_parent_color ;
 842   struct rb_node *rb_right ;
 843   struct rb_node *rb_left ;
 844};
 845#line 108 "include/linux/rbtree.h"
 846struct rb_root {
 847   struct rb_node *rb_node ;
 848};
 849#line 176
 850struct nsproxy;
 851#line 176
 852struct nsproxy;
 853#line 37 "include/linux/kmod.h"
 854struct cred;
 855#line 37
 856struct cred;
 857#line 18 "include/linux/elf.h"
 858typedef __u64 Elf64_Addr;
 859#line 19 "include/linux/elf.h"
 860typedef __u16 Elf64_Half;
 861#line 23 "include/linux/elf.h"
 862typedef __u32 Elf64_Word;
 863#line 24 "include/linux/elf.h"
 864typedef __u64 Elf64_Xword;
 865#line 193 "include/linux/elf.h"
 866struct elf64_sym {
 867   Elf64_Word st_name ;
 868   unsigned char st_info ;
 869   unsigned char st_other ;
 870   Elf64_Half st_shndx ;
 871   Elf64_Addr st_value ;
 872   Elf64_Xword st_size ;
 873};
 874#line 201 "include/linux/elf.h"
 875typedef struct elf64_sym Elf64_Sym;
 876#line 445
 877struct sock;
 878#line 445
 879struct sock;
 880#line 446
 881struct kobject;
 882#line 446
 883struct kobject;
 884#line 447
 885enum kobj_ns_type {
 886    KOBJ_NS_TYPE_NONE = 0,
 887    KOBJ_NS_TYPE_NET = 1,
 888    KOBJ_NS_TYPES = 2
 889} ;
 890#line 453 "include/linux/elf.h"
 891struct kobj_ns_type_operations {
 892   enum kobj_ns_type type ;
 893   void *(*grab_current_ns)(void) ;
 894   void    *(*netlink_ns)(struct sock * ) ;
 895   void    *(*initial_ns)(void) ;
 896   void (*drop_ns)(void * ) ;
 897};
 898#line 57 "include/linux/kobject_ns.h"
 899struct attribute {
 900   char    *name ;
 901   umode_t mode ;
 902   struct lock_class_key *key ;
 903   struct lock_class_key skey ;
 904};
 905#line 33 "include/linux/sysfs.h"
 906struct attribute_group {
 907   char    *name ;
 908   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 909   struct attribute **attrs ;
 910};
 911#line 62 "include/linux/sysfs.h"
 912struct bin_attribute {
 913   struct attribute attr ;
 914   size_t size ;
 915   void *private ;
 916   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 917                   loff_t  , size_t  ) ;
 918   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 919                    loff_t  , size_t  ) ;
 920   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 921};
 922#line 98 "include/linux/sysfs.h"
 923struct sysfs_ops {
 924   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 925   ssize_t (*store)(struct kobject * , struct attribute * , char    * , size_t  ) ;
 926   void    *(*namespace)(struct kobject * , struct attribute    * ) ;
 927};
 928#line 117
 929struct sysfs_dirent;
 930#line 117
 931struct sysfs_dirent;
 932#line 182 "include/linux/sysfs.h"
 933struct kref {
 934   atomic_t refcount ;
 935};
 936#line 49 "include/linux/kobject.h"
 937struct kset;
 938#line 49
 939struct kobj_type;
 940#line 49 "include/linux/kobject.h"
 941struct kobject {
 942   char    *name ;
 943   struct list_head entry ;
 944   struct kobject *parent ;
 945   struct kset *kset ;
 946   struct kobj_type *ktype ;
 947   struct sysfs_dirent *sd ;
 948   struct kref kref ;
 949   unsigned char state_initialized : 1 ;
 950   unsigned char state_in_sysfs : 1 ;
 951   unsigned char state_add_uevent_sent : 1 ;
 952   unsigned char state_remove_uevent_sent : 1 ;
 953   unsigned char uevent_suppress : 1 ;
 954};
 955#line 107 "include/linux/kobject.h"
 956struct kobj_type {
 957   void (*release)(struct kobject * ) ;
 958   struct sysfs_ops    *sysfs_ops ;
 959   struct attribute **default_attrs ;
 960   struct kobj_ns_type_operations    *(*child_ns_type)(struct kobject * ) ;
 961   void    *(*namespace)(struct kobject * ) ;
 962};
 963#line 115 "include/linux/kobject.h"
 964struct kobj_uevent_env {
 965   char *envp[32U] ;
 966   int envp_idx ;
 967   char buf[2048U] ;
 968   int buflen ;
 969};
 970#line 122 "include/linux/kobject.h"
 971struct kset_uevent_ops {
 972   int (*   filter)(struct kset * , struct kobject * ) ;
 973   char    *(*   name)(struct kset * , struct kobject * ) ;
 974   int (*   uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 975};
 976#line 139 "include/linux/kobject.h"
 977struct kset {
 978   struct list_head list ;
 979   spinlock_t list_lock ;
 980   struct kobject kobj ;
 981   struct kset_uevent_ops    *uevent_ops ;
 982};
 983#line 215
 984struct kernel_param;
 985#line 215
 986struct kernel_param;
 987#line 216 "include/linux/kobject.h"
 988struct kernel_param_ops {
 989   int (*set)(char    * , struct kernel_param    * ) ;
 990   int (*get)(char * , struct kernel_param    * ) ;
 991   void (*free)(void * ) ;
 992};
 993#line 49 "include/linux/moduleparam.h"
 994struct kparam_string;
 995#line 49
 996struct kparam_array;
 997#line 49 "include/linux/moduleparam.h"
 998union __anonunion_ldv_13363_134 {
 999   void *arg ;
1000   struct kparam_string    *str ;
1001   struct kparam_array    *arr ;
1002};
1003#line 49 "include/linux/moduleparam.h"
1004struct kernel_param {
1005   char    *name ;
1006   struct kernel_param_ops    *ops ;
1007   u16 perm ;
1008   s16 level ;
1009   union __anonunion_ldv_13363_134 ldv_13363 ;
1010};
1011#line 61 "include/linux/moduleparam.h"
1012struct kparam_string {
1013   unsigned int maxlen ;
1014   char *string ;
1015};
1016#line 67 "include/linux/moduleparam.h"
1017struct kparam_array {
1018   unsigned int max ;
1019   unsigned int elemsize ;
1020   unsigned int *num ;
1021   struct kernel_param_ops    *ops ;
1022   void *elem ;
1023};
1024#line 458 "include/linux/moduleparam.h"
1025struct static_key {
1026   atomic_t enabled ;
1027};
1028#line 225 "include/linux/jump_label.h"
1029struct tracepoint;
1030#line 225
1031struct tracepoint;
1032#line 226 "include/linux/jump_label.h"
1033struct tracepoint_func {
1034   void *func ;
1035   void *data ;
1036};
1037#line 29 "include/linux/tracepoint.h"
1038struct tracepoint {
1039   char    *name ;
1040   struct static_key key ;
1041   void (*regfunc)(void) ;
1042   void (*unregfunc)(void) ;
1043   struct tracepoint_func *funcs ;
1044};
1045#line 86 "include/linux/tracepoint.h"
1046struct kernel_symbol {
1047   unsigned long value ;
1048   char    *name ;
1049};
1050#line 27 "include/linux/export.h"
1051struct mod_arch_specific {
1052
1053};
1054#line 34 "include/linux/module.h"
1055struct module_param_attrs;
1056#line 34 "include/linux/module.h"
1057struct module_kobject {
1058   struct kobject kobj ;
1059   struct module *mod ;
1060   struct kobject *drivers_dir ;
1061   struct module_param_attrs *mp ;
1062};
1063#line 43 "include/linux/module.h"
1064struct module_attribute {
1065   struct attribute attr ;
1066   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1067   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char    * ,
1068                    size_t  ) ;
1069   void (*setup)(struct module * , char    * ) ;
1070   int (*test)(struct module * ) ;
1071   void (*free)(struct module * ) ;
1072};
1073#line 69
1074struct exception_table_entry;
1075#line 69
1076struct exception_table_entry;
1077#line 198
1078enum module_state {
1079    MODULE_STATE_LIVE = 0,
1080    MODULE_STATE_COMING = 1,
1081    MODULE_STATE_GOING = 2
1082} ;
1083#line 204 "include/linux/module.h"
1084struct module_ref {
1085   unsigned long incs ;
1086   unsigned long decs ;
1087};
1088#line 219
1089struct module_sect_attrs;
1090#line 219
1091struct module_notes_attrs;
1092#line 219
1093struct ftrace_event_call;
1094#line 219 "include/linux/module.h"
1095struct module {
1096   enum module_state state ;
1097   struct list_head list ;
1098   char name[56U] ;
1099   struct module_kobject mkobj ;
1100   struct module_attribute *modinfo_attrs ;
1101   char    *version ;
1102   char    *srcversion ;
1103   struct kobject *holders_dir ;
1104   struct kernel_symbol    *syms ;
1105   unsigned long    *crcs ;
1106   unsigned int num_syms ;
1107   struct kernel_param *kp ;
1108   unsigned int num_kp ;
1109   unsigned int num_gpl_syms ;
1110   struct kernel_symbol    *gpl_syms ;
1111   unsigned long    *gpl_crcs ;
1112   struct kernel_symbol    *unused_syms ;
1113   unsigned long    *unused_crcs ;
1114   unsigned int num_unused_syms ;
1115   unsigned int num_unused_gpl_syms ;
1116   struct kernel_symbol    *unused_gpl_syms ;
1117   unsigned long    *unused_gpl_crcs ;
1118   struct kernel_symbol    *gpl_future_syms ;
1119   unsigned long    *gpl_future_crcs ;
1120   unsigned int num_gpl_future_syms ;
1121   unsigned int num_exentries ;
1122   struct exception_table_entry *extable ;
1123   int (*init)(void) ;
1124   void *module_init ;
1125   void *module_core ;
1126   unsigned int init_size ;
1127   unsigned int core_size ;
1128   unsigned int init_text_size ;
1129   unsigned int core_text_size ;
1130   unsigned int init_ro_size ;
1131   unsigned int core_ro_size ;
1132   struct mod_arch_specific arch ;
1133   unsigned int taints ;
1134   unsigned int num_bugs ;
1135   struct list_head bug_list ;
1136   struct bug_entry *bug_table ;
1137   Elf64_Sym *symtab ;
1138   Elf64_Sym *core_symtab ;
1139   unsigned int num_symtab ;
1140   unsigned int core_num_syms ;
1141   char *strtab ;
1142   char *core_strtab ;
1143   struct module_sect_attrs *sect_attrs ;
1144   struct module_notes_attrs *notes_attrs ;
1145   char *args ;
1146   void *percpu ;
1147   unsigned int percpu_size ;
1148   unsigned int num_tracepoints ;
1149   struct tracepoint *   *tracepoints_ptrs ;
1150   unsigned int num_trace_bprintk_fmt ;
1151   char    **trace_bprintk_fmt_start ;
1152   struct ftrace_event_call **trace_events ;
1153   unsigned int num_trace_events ;
1154   struct list_head source_list ;
1155   struct list_head target_list ;
1156   struct task_struct *waiter ;
1157   void (*exit)(void) ;
1158   struct module_ref *refptr ;
1159   ctor_fn_t (**ctors)(void) ;
1160   unsigned int num_ctors ;
1161};
1162#line 88 "include/linux/kmemleak.h"
1163struct kmem_cache_cpu {
1164   void **freelist ;
1165   unsigned long tid ;
1166   struct page *page ;
1167   struct page *partial ;
1168   int node ;
1169   unsigned int stat[26U] ;
1170};
1171#line 55 "include/linux/slub_def.h"
1172struct kmem_cache_node {
1173   spinlock_t list_lock ;
1174   unsigned long nr_partial ;
1175   struct list_head partial ;
1176   atomic_long_t nr_slabs ;
1177   atomic_long_t total_objects ;
1178   struct list_head full ;
1179};
1180#line 66 "include/linux/slub_def.h"
1181struct kmem_cache_order_objects {
1182   unsigned long x ;
1183};
1184#line 76 "include/linux/slub_def.h"
1185struct kmem_cache {
1186   struct kmem_cache_cpu *cpu_slab ;
1187   unsigned long flags ;
1188   unsigned long min_partial ;
1189   int size ;
1190   int objsize ;
1191   int offset ;
1192   int cpu_partial ;
1193   struct kmem_cache_order_objects oo ;
1194   struct kmem_cache_order_objects max ;
1195   struct kmem_cache_order_objects min ;
1196   gfp_t allocflags ;
1197   int refcount ;
1198   void (*ctor)(void * ) ;
1199   int inuse ;
1200   int align ;
1201   int reserved ;
1202   char    *name ;
1203   struct list_head list ;
1204   struct kobject kobj ;
1205   int remote_node_defrag_ratio ;
1206   struct kmem_cache_node *node[1024U] ;
1207};
1208#line 93 "include/linux/capability.h"
1209struct kernel_cap_struct {
1210   __u32 cap[2U] ;
1211};
1212#line 96 "include/linux/capability.h"
1213typedef struct kernel_cap_struct kernel_cap_t;
1214#line 104
1215struct dentry;
1216#line 104
1217struct dentry;
1218#line 105
1219struct user_namespace;
1220#line 105
1221struct user_namespace;
1222#line 554
1223struct prio_tree_node;
1224#line 554 "include/linux/capability.h"
1225struct raw_prio_tree_node {
1226   struct prio_tree_node *left ;
1227   struct prio_tree_node *right ;
1228   struct prio_tree_node *parent ;
1229};
1230#line 19 "include/linux/prio_tree.h"
1231struct prio_tree_node {
1232   struct prio_tree_node *left ;
1233   struct prio_tree_node *right ;
1234   struct prio_tree_node *parent ;
1235   unsigned long start ;
1236   unsigned long last ;
1237};
1238#line 27 "include/linux/prio_tree.h"
1239struct prio_tree_root {
1240   struct prio_tree_node *prio_tree_node ;
1241   unsigned short index_bits ;
1242   unsigned short raw ;
1243};
1244#line 116
1245struct address_space;
1246#line 116
1247struct address_space;
1248#line 117 "include/linux/prio_tree.h"
1249union __anonunion_ldv_14345_137 {
1250   unsigned long index ;
1251   void *freelist ;
1252};
1253#line 117 "include/linux/prio_tree.h"
1254struct __anonstruct_ldv_14355_141 {
1255   unsigned short inuse ;
1256   unsigned short objects : 15 ;
1257   unsigned char frozen : 1 ;
1258};
1259#line 117 "include/linux/prio_tree.h"
1260union __anonunion_ldv_14356_140 {
1261   atomic_t _mapcount ;
1262   struct __anonstruct_ldv_14355_141 ldv_14355 ;
1263};
1264#line 117 "include/linux/prio_tree.h"
1265struct __anonstruct_ldv_14358_139 {
1266   union __anonunion_ldv_14356_140 ldv_14356 ;
1267   atomic_t _count ;
1268};
1269#line 117 "include/linux/prio_tree.h"
1270union __anonunion_ldv_14359_138 {
1271   unsigned long counters ;
1272   struct __anonstruct_ldv_14358_139 ldv_14358 ;
1273};
1274#line 117 "include/linux/prio_tree.h"
1275struct __anonstruct_ldv_14360_136 {
1276   union __anonunion_ldv_14345_137 ldv_14345 ;
1277   union __anonunion_ldv_14359_138 ldv_14359 ;
1278};
1279#line 117 "include/linux/prio_tree.h"
1280struct __anonstruct_ldv_14367_143 {
1281   struct page *next ;
1282   int pages ;
1283   int pobjects ;
1284};
1285#line 117 "include/linux/prio_tree.h"
1286union __anonunion_ldv_14368_142 {
1287   struct list_head lru ;
1288   struct __anonstruct_ldv_14367_143 ldv_14367 ;
1289};
1290#line 117 "include/linux/prio_tree.h"
1291union __anonunion_ldv_14373_144 {
1292   unsigned long private ;
1293   struct kmem_cache *slab ;
1294   struct page *first_page ;
1295};
1296#line 117 "include/linux/prio_tree.h"
1297struct page {
1298   unsigned long flags ;
1299   struct address_space *mapping ;
1300   struct __anonstruct_ldv_14360_136 ldv_14360 ;
1301   union __anonunion_ldv_14368_142 ldv_14368 ;
1302   union __anonunion_ldv_14373_144 ldv_14373 ;
1303   unsigned long debug_flags ;
1304};
1305#line 192 "include/linux/mm_types.h"
1306struct __anonstruct_vm_set_146 {
1307   struct list_head list ;
1308   void *parent ;
1309   struct vm_area_struct *head ;
1310};
1311#line 192 "include/linux/mm_types.h"
1312union __anonunion_shared_145 {
1313   struct __anonstruct_vm_set_146 vm_set ;
1314   struct raw_prio_tree_node prio_tree_node ;
1315};
1316#line 192
1317struct anon_vma;
1318#line 192
1319struct vm_operations_struct;
1320#line 192
1321struct mempolicy;
1322#line 192 "include/linux/mm_types.h"
1323struct vm_area_struct {
1324   struct mm_struct *vm_mm ;
1325   unsigned long vm_start ;
1326   unsigned long vm_end ;
1327   struct vm_area_struct *vm_next ;
1328   struct vm_area_struct *vm_prev ;
1329   pgprot_t vm_page_prot ;
1330   unsigned long vm_flags ;
1331   struct rb_node vm_rb ;
1332   union __anonunion_shared_145 shared ;
1333   struct list_head anon_vma_chain ;
1334   struct anon_vma *anon_vma ;
1335   struct vm_operations_struct    *vm_ops ;
1336   unsigned long vm_pgoff ;
1337   struct file *vm_file ;
1338   void *vm_private_data ;
1339   struct mempolicy *vm_policy ;
1340};
1341#line 255 "include/linux/mm_types.h"
1342struct core_thread {
1343   struct task_struct *task ;
1344   struct core_thread *next ;
1345};
1346#line 261 "include/linux/mm_types.h"
1347struct core_state {
1348   atomic_t nr_threads ;
1349   struct core_thread dumper ;
1350   struct completion startup ;
1351};
1352#line 274 "include/linux/mm_types.h"
1353struct mm_rss_stat {
1354   atomic_long_t count[3U] ;
1355};
1356#line 287
1357struct linux_binfmt;
1358#line 287
1359struct mmu_notifier_mm;
1360#line 287 "include/linux/mm_types.h"
1361struct mm_struct {
1362   struct vm_area_struct *mmap ;
1363   struct rb_root mm_rb ;
1364   struct vm_area_struct *mmap_cache ;
1365   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1366                                      unsigned long  , unsigned long  ) ;
1367   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1368   unsigned long mmap_base ;
1369   unsigned long task_size ;
1370   unsigned long cached_hole_size ;
1371   unsigned long free_area_cache ;
1372   pgd_t *pgd ;
1373   atomic_t mm_users ;
1374   atomic_t mm_count ;
1375   int map_count ;
1376   spinlock_t page_table_lock ;
1377   struct rw_semaphore mmap_sem ;
1378   struct list_head mmlist ;
1379   unsigned long hiwater_rss ;
1380   unsigned long hiwater_vm ;
1381   unsigned long total_vm ;
1382   unsigned long locked_vm ;
1383   unsigned long pinned_vm ;
1384   unsigned long shared_vm ;
1385   unsigned long exec_vm ;
1386   unsigned long stack_vm ;
1387   unsigned long reserved_vm ;
1388   unsigned long def_flags ;
1389   unsigned long nr_ptes ;
1390   unsigned long start_code ;
1391   unsigned long end_code ;
1392   unsigned long start_data ;
1393   unsigned long end_data ;
1394   unsigned long start_brk ;
1395   unsigned long brk ;
1396   unsigned long start_stack ;
1397   unsigned long arg_start ;
1398   unsigned long arg_end ;
1399   unsigned long env_start ;
1400   unsigned long env_end ;
1401   unsigned long saved_auxv[44U] ;
1402   struct mm_rss_stat rss_stat ;
1403   struct linux_binfmt *binfmt ;
1404   cpumask_var_t cpu_vm_mask_var ;
1405   mm_context_t context ;
1406   unsigned int faultstamp ;
1407   unsigned int token_priority ;
1408   unsigned int last_interval ;
1409   unsigned long flags ;
1410   struct core_state *core_state ;
1411   spinlock_t ioctx_lock ;
1412   struct hlist_head ioctx_list ;
1413   struct task_struct *owner ;
1414   struct file *exe_file ;
1415   unsigned long num_exe_file_vmas ;
1416   struct mmu_notifier_mm *mmu_notifier_mm ;
1417   pgtable_t pmd_huge_pte ;
1418   struct cpumask cpumask_allocation ;
1419};
1420#line 7 "include/asm-generic/cputime.h"
1421typedef unsigned long cputime_t;
1422#line 98 "include/linux/sem.h"
1423struct sem_undo_list;
1424#line 98 "include/linux/sem.h"
1425struct sysv_sem {
1426   struct sem_undo_list *undo_list ;
1427};
1428#line 107
1429struct siginfo;
1430#line 107
1431struct siginfo;
1432#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1433struct __anonstruct_sigset_t_147 {
1434   unsigned long sig[1U] ;
1435};
1436#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1437typedef struct __anonstruct_sigset_t_147 sigset_t;
1438#line 17 "include/asm-generic/signal-defs.h"
1439typedef void __signalfn_t(int  );
1440#line 18 "include/asm-generic/signal-defs.h"
1441typedef __signalfn_t *__sighandler_t;
1442#line 20 "include/asm-generic/signal-defs.h"
1443typedef void __restorefn_t(void);
1444#line 21 "include/asm-generic/signal-defs.h"
1445typedef __restorefn_t *__sigrestore_t;
1446#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1447struct sigaction {
1448   __sighandler_t sa_handler ;
1449   unsigned long sa_flags ;
1450   __sigrestore_t sa_restorer ;
1451   sigset_t sa_mask ;
1452};
1453#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1454struct k_sigaction {
1455   struct sigaction sa ;
1456};
1457#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1458union sigval {
1459   int sival_int ;
1460   void *sival_ptr ;
1461};
1462#line 10 "include/asm-generic/siginfo.h"
1463typedef union sigval sigval_t;
1464#line 11 "include/asm-generic/siginfo.h"
1465struct __anonstruct__kill_149 {
1466   __kernel_pid_t _pid ;
1467   __kernel_uid32_t _uid ;
1468};
1469#line 11 "include/asm-generic/siginfo.h"
1470struct __anonstruct__timer_150 {
1471   __kernel_timer_t _tid ;
1472   int _overrun ;
1473   char _pad[0U] ;
1474   sigval_t _sigval ;
1475   int _sys_private ;
1476};
1477#line 11 "include/asm-generic/siginfo.h"
1478struct __anonstruct__rt_151 {
1479   __kernel_pid_t _pid ;
1480   __kernel_uid32_t _uid ;
1481   sigval_t _sigval ;
1482};
1483#line 11 "include/asm-generic/siginfo.h"
1484struct __anonstruct__sigchld_152 {
1485   __kernel_pid_t _pid ;
1486   __kernel_uid32_t _uid ;
1487   int _status ;
1488   __kernel_clock_t _utime ;
1489   __kernel_clock_t _stime ;
1490};
1491#line 11 "include/asm-generic/siginfo.h"
1492struct __anonstruct__sigfault_153 {
1493   void *_addr ;
1494   short _addr_lsb ;
1495};
1496#line 11 "include/asm-generic/siginfo.h"
1497struct __anonstruct__sigpoll_154 {
1498   long _band ;
1499   int _fd ;
1500};
1501#line 11 "include/asm-generic/siginfo.h"
1502union __anonunion__sifields_148 {
1503   int _pad[28U] ;
1504   struct __anonstruct__kill_149 _kill ;
1505   struct __anonstruct__timer_150 _timer ;
1506   struct __anonstruct__rt_151 _rt ;
1507   struct __anonstruct__sigchld_152 _sigchld ;
1508   struct __anonstruct__sigfault_153 _sigfault ;
1509   struct __anonstruct__sigpoll_154 _sigpoll ;
1510};
1511#line 11 "include/asm-generic/siginfo.h"
1512struct siginfo {
1513   int si_signo ;
1514   int si_errno ;
1515   int si_code ;
1516   union __anonunion__sifields_148 _sifields ;
1517};
1518#line 102 "include/asm-generic/siginfo.h"
1519typedef struct siginfo siginfo_t;
1520#line 14 "include/linux/signal.h"
1521struct user_struct;
1522#line 24 "include/linux/signal.h"
1523struct sigpending {
1524   struct list_head list ;
1525   sigset_t signal ;
1526};
1527#line 388
1528enum pid_type {
1529    PIDTYPE_PID = 0,
1530    PIDTYPE_PGID = 1,
1531    PIDTYPE_SID = 2,
1532    PIDTYPE_MAX = 3
1533} ;
1534#line 395
1535struct pid_namespace;
1536#line 395 "include/linux/signal.h"
1537struct upid {
1538   int nr ;
1539   struct pid_namespace *ns ;
1540   struct hlist_node pid_chain ;
1541};
1542#line 56 "include/linux/pid.h"
1543struct pid {
1544   atomic_t count ;
1545   unsigned int level ;
1546   struct hlist_head tasks[3U] ;
1547   struct rcu_head rcu ;
1548   struct upid numbers[1U] ;
1549};
1550#line 68 "include/linux/pid.h"
1551struct pid_link {
1552   struct hlist_node node ;
1553   struct pid *pid ;
1554};
1555#line 10 "include/linux/seccomp.h"
1556struct __anonstruct_seccomp_t_157 {
1557   int mode ;
1558};
1559#line 10 "include/linux/seccomp.h"
1560typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1561#line 427 "include/linux/rculist.h"
1562struct plist_head {
1563   struct list_head node_list ;
1564};
1565#line 84 "include/linux/plist.h"
1566struct plist_node {
1567   int prio ;
1568   struct list_head prio_list ;
1569   struct list_head node_list ;
1570};
1571#line 38 "include/linux/rtmutex.h"
1572struct rt_mutex_waiter;
1573#line 38
1574struct rt_mutex_waiter;
1575#line 41 "include/linux/resource.h"
1576struct rlimit {
1577   unsigned long rlim_cur ;
1578   unsigned long rlim_max ;
1579};
1580#line 85 "include/linux/resource.h"
1581struct timerqueue_node {
1582   struct rb_node node ;
1583   ktime_t expires ;
1584};
1585#line 12 "include/linux/timerqueue.h"
1586struct timerqueue_head {
1587   struct rb_root head ;
1588   struct timerqueue_node *next ;
1589};
1590#line 50
1591struct hrtimer_clock_base;
1592#line 50
1593struct hrtimer_clock_base;
1594#line 51
1595struct hrtimer_cpu_base;
1596#line 51
1597struct hrtimer_cpu_base;
1598#line 60
1599enum hrtimer_restart {
1600    HRTIMER_NORESTART = 0,
1601    HRTIMER_RESTART = 1
1602} ;
1603#line 65 "include/linux/timerqueue.h"
1604struct hrtimer {
1605   struct timerqueue_node node ;
1606   ktime_t _softexpires ;
1607   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1608   struct hrtimer_clock_base *base ;
1609   unsigned long state ;
1610   int start_pid ;
1611   void *start_site ;
1612   char start_comm[16U] ;
1613};
1614#line 132 "include/linux/hrtimer.h"
1615struct hrtimer_clock_base {
1616   struct hrtimer_cpu_base *cpu_base ;
1617   int index ;
1618   clockid_t clockid ;
1619   struct timerqueue_head active ;
1620   ktime_t resolution ;
1621   ktime_t (*get_time)(void) ;
1622   ktime_t softirq_time ;
1623   ktime_t offset ;
1624};
1625#line 162 "include/linux/hrtimer.h"
1626struct hrtimer_cpu_base {
1627   raw_spinlock_t lock ;
1628   unsigned long active_bases ;
1629   ktime_t expires_next ;
1630   int hres_active ;
1631   int hang_detected ;
1632   unsigned long nr_events ;
1633   unsigned long nr_retries ;
1634   unsigned long nr_hangs ;
1635   ktime_t max_hang_time ;
1636   struct hrtimer_clock_base clock_base[3U] ;
1637};
1638#line 452 "include/linux/hrtimer.h"
1639struct task_io_accounting {
1640   u64 rchar ;
1641   u64 wchar ;
1642   u64 syscr ;
1643   u64 syscw ;
1644   u64 read_bytes ;
1645   u64 write_bytes ;
1646   u64 cancelled_write_bytes ;
1647};
1648#line 45 "include/linux/task_io_accounting.h"
1649struct latency_record {
1650   unsigned long backtrace[12U] ;
1651   unsigned int count ;
1652   unsigned long time ;
1653   unsigned long max ;
1654};
1655#line 29 "include/linux/key.h"
1656typedef int32_t key_serial_t;
1657#line 32 "include/linux/key.h"
1658typedef uint32_t key_perm_t;
1659#line 33
1660struct key;
1661#line 33
1662struct key;
1663#line 34
1664struct signal_struct;
1665#line 34
1666struct signal_struct;
1667#line 35
1668struct key_type;
1669#line 35
1670struct key_type;
1671#line 37
1672struct keyring_list;
1673#line 37
1674struct keyring_list;
1675#line 115
1676struct key_user;
1677#line 115 "include/linux/key.h"
1678union __anonunion_ldv_15609_158 {
1679   time_t expiry ;
1680   time_t revoked_at ;
1681};
1682#line 115 "include/linux/key.h"
1683union __anonunion_type_data_159 {
1684   struct list_head link ;
1685   unsigned long x[2U] ;
1686   void *p[2U] ;
1687   int reject_error ;
1688};
1689#line 115 "include/linux/key.h"
1690union __anonunion_payload_160 {
1691   unsigned long value ;
1692   void *rcudata ;
1693   void *data ;
1694   struct keyring_list *subscriptions ;
1695};
1696#line 115 "include/linux/key.h"
1697struct key {
1698   atomic_t usage ;
1699   key_serial_t serial ;
1700   struct rb_node serial_node ;
1701   struct key_type *type ;
1702   struct rw_semaphore sem ;
1703   struct key_user *user ;
1704   void *security ;
1705   union __anonunion_ldv_15609_158 ldv_15609 ;
1706   uid_t uid ;
1707   gid_t gid ;
1708   key_perm_t perm ;
1709   unsigned short quotalen ;
1710   unsigned short datalen ;
1711   unsigned long flags ;
1712   char *description ;
1713   union __anonunion_type_data_159 type_data ;
1714   union __anonunion_payload_160 payload ;
1715};
1716#line 316
1717struct audit_context;
1718#line 316
1719struct audit_context;
1720#line 27 "include/linux/selinux.h"
1721struct inode;
1722#line 27
1723struct inode;
1724#line 28 "include/linux/selinux.h"
1725struct group_info {
1726   atomic_t usage ;
1727   int ngroups ;
1728   int nblocks ;
1729   gid_t small_block[32U] ;
1730   gid_t *blocks[0U] ;
1731};
1732#line 77 "include/linux/cred.h"
1733struct thread_group_cred {
1734   atomic_t usage ;
1735   pid_t tgid ;
1736   spinlock_t lock ;
1737   struct key *session_keyring ;
1738   struct key *process_keyring ;
1739   struct rcu_head rcu ;
1740};
1741#line 91 "include/linux/cred.h"
1742struct cred {
1743   atomic_t usage ;
1744   atomic_t subscribers ;
1745   void *put_addr ;
1746   unsigned int magic ;
1747   uid_t uid ;
1748   gid_t gid ;
1749   uid_t suid ;
1750   gid_t sgid ;
1751   uid_t euid ;
1752   gid_t egid ;
1753   uid_t fsuid ;
1754   gid_t fsgid ;
1755   unsigned int securebits ;
1756   kernel_cap_t cap_inheritable ;
1757   kernel_cap_t cap_permitted ;
1758   kernel_cap_t cap_effective ;
1759   kernel_cap_t cap_bset ;
1760   unsigned char jit_keyring ;
1761   struct key *thread_keyring ;
1762   struct key *request_key_auth ;
1763   struct thread_group_cred *tgcred ;
1764   void *security ;
1765   struct user_struct *user ;
1766   struct user_namespace *user_ns ;
1767   struct group_info *group_info ;
1768   struct rcu_head rcu ;
1769};
1770#line 264
1771struct llist_node;
1772#line 64 "include/linux/llist.h"
1773struct llist_node {
1774   struct llist_node *next ;
1775};
1776#line 185
1777struct futex_pi_state;
1778#line 185
1779struct futex_pi_state;
1780#line 186
1781struct robust_list_head;
1782#line 186
1783struct robust_list_head;
1784#line 187
1785struct bio_list;
1786#line 187
1787struct bio_list;
1788#line 188
1789struct fs_struct;
1790#line 188
1791struct fs_struct;
1792#line 189
1793struct perf_event_context;
1794#line 189
1795struct perf_event_context;
1796#line 190
1797struct blk_plug;
1798#line 190
1799struct blk_plug;
1800#line 149 "include/linux/sched.h"
1801struct cfs_rq;
1802#line 149
1803struct cfs_rq;
1804#line 44 "include/linux/aio_abi.h"
1805struct io_event {
1806   __u64 data ;
1807   __u64 obj ;
1808   __s64 res ;
1809   __s64 res2 ;
1810};
1811#line 106 "include/linux/aio_abi.h"
1812struct iovec {
1813   void *iov_base ;
1814   __kernel_size_t iov_len ;
1815};
1816#line 54 "include/linux/uio.h"
1817struct kioctx;
1818#line 54
1819struct kioctx;
1820#line 55 "include/linux/uio.h"
1821union __anonunion_ki_obj_161 {
1822   void *user ;
1823   struct task_struct *tsk ;
1824};
1825#line 55
1826struct eventfd_ctx;
1827#line 55 "include/linux/uio.h"
1828struct kiocb {
1829   struct list_head ki_run_list ;
1830   unsigned long ki_flags ;
1831   int ki_users ;
1832   unsigned int ki_key ;
1833   struct file *ki_filp ;
1834   struct kioctx *ki_ctx ;
1835   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
1836   ssize_t (*ki_retry)(struct kiocb * ) ;
1837   void (*ki_dtor)(struct kiocb * ) ;
1838   union __anonunion_ki_obj_161 ki_obj ;
1839   __u64 ki_user_data ;
1840   loff_t ki_pos ;
1841   void *private ;
1842   unsigned short ki_opcode ;
1843   size_t ki_nbytes ;
1844   char *ki_buf ;
1845   size_t ki_left ;
1846   struct iovec ki_inline_vec ;
1847   struct iovec *ki_iovec ;
1848   unsigned long ki_nr_segs ;
1849   unsigned long ki_cur_seg ;
1850   struct list_head ki_list ;
1851   struct list_head ki_batch ;
1852   struct eventfd_ctx *ki_eventfd ;
1853};
1854#line 162 "include/linux/aio.h"
1855struct aio_ring_info {
1856   unsigned long mmap_base ;
1857   unsigned long mmap_size ;
1858   struct page **ring_pages ;
1859   spinlock_t ring_lock ;
1860   long nr_pages ;
1861   unsigned int nr ;
1862   unsigned int tail ;
1863   struct page *internal_pages[8U] ;
1864};
1865#line 178 "include/linux/aio.h"
1866struct kioctx {
1867   atomic_t users ;
1868   int dead ;
1869   struct mm_struct *mm ;
1870   unsigned long user_id ;
1871   struct hlist_node list ;
1872   wait_queue_head_t wait ;
1873   spinlock_t ctx_lock ;
1874   int reqs_active ;
1875   struct list_head active_reqs ;
1876   struct list_head run_list ;
1877   unsigned int max_reqs ;
1878   struct aio_ring_info ring_info ;
1879   struct delayed_work wq ;
1880   struct rcu_head rcu_head ;
1881};
1882#line 406 "include/linux/sched.h"
1883struct sighand_struct {
1884   atomic_t count ;
1885   struct k_sigaction action[64U] ;
1886   spinlock_t siglock ;
1887   wait_queue_head_t signalfd_wqh ;
1888};
1889#line 449 "include/linux/sched.h"
1890struct pacct_struct {
1891   int ac_flag ;
1892   long ac_exitcode ;
1893   unsigned long ac_mem ;
1894   cputime_t ac_utime ;
1895   cputime_t ac_stime ;
1896   unsigned long ac_minflt ;
1897   unsigned long ac_majflt ;
1898};
1899#line 457 "include/linux/sched.h"
1900struct cpu_itimer {
1901   cputime_t expires ;
1902   cputime_t incr ;
1903   u32 error ;
1904   u32 incr_error ;
1905};
1906#line 464 "include/linux/sched.h"
1907struct task_cputime {
1908   cputime_t utime ;
1909   cputime_t stime ;
1910   unsigned long long sum_exec_runtime ;
1911};
1912#line 481 "include/linux/sched.h"
1913struct thread_group_cputimer {
1914   struct task_cputime cputime ;
1915   int running ;
1916   raw_spinlock_t lock ;
1917};
1918#line 517
1919struct autogroup;
1920#line 517
1921struct autogroup;
1922#line 518
1923struct tty_struct;
1924#line 518
1925struct taskstats;
1926#line 518
1927struct tty_audit_buf;
1928#line 518 "include/linux/sched.h"
1929struct signal_struct {
1930   atomic_t sigcnt ;
1931   atomic_t live ;
1932   int nr_threads ;
1933   wait_queue_head_t wait_chldexit ;
1934   struct task_struct *curr_target ;
1935   struct sigpending shared_pending ;
1936   int group_exit_code ;
1937   int notify_count ;
1938   struct task_struct *group_exit_task ;
1939   int group_stop_count ;
1940   unsigned int flags ;
1941   unsigned char is_child_subreaper : 1 ;
1942   unsigned char has_child_subreaper : 1 ;
1943   struct list_head posix_timers ;
1944   struct hrtimer real_timer ;
1945   struct pid *leader_pid ;
1946   ktime_t it_real_incr ;
1947   struct cpu_itimer it[2U] ;
1948   struct thread_group_cputimer cputimer ;
1949   struct task_cputime cputime_expires ;
1950   struct list_head cpu_timers[3U] ;
1951   struct pid *tty_old_pgrp ;
1952   int leader ;
1953   struct tty_struct *tty ;
1954   struct autogroup *autogroup ;
1955   cputime_t utime ;
1956   cputime_t stime ;
1957   cputime_t cutime ;
1958   cputime_t cstime ;
1959   cputime_t gtime ;
1960   cputime_t cgtime ;
1961   cputime_t prev_utime ;
1962   cputime_t prev_stime ;
1963   unsigned long nvcsw ;
1964   unsigned long nivcsw ;
1965   unsigned long cnvcsw ;
1966   unsigned long cnivcsw ;
1967   unsigned long min_flt ;
1968   unsigned long maj_flt ;
1969   unsigned long cmin_flt ;
1970   unsigned long cmaj_flt ;
1971   unsigned long inblock ;
1972   unsigned long oublock ;
1973   unsigned long cinblock ;
1974   unsigned long coublock ;
1975   unsigned long maxrss ;
1976   unsigned long cmaxrss ;
1977   struct task_io_accounting ioac ;
1978   unsigned long long sum_sched_runtime ;
1979   struct rlimit rlim[16U] ;
1980   struct pacct_struct pacct ;
1981   struct taskstats *stats ;
1982   unsigned int audit_tty ;
1983   struct tty_audit_buf *tty_audit_buf ;
1984   struct rw_semaphore group_rwsem ;
1985   int oom_adj ;
1986   int oom_score_adj ;
1987   int oom_score_adj_min ;
1988   struct mutex cred_guard_mutex ;
1989};
1990#line 699 "include/linux/sched.h"
1991struct user_struct {
1992   atomic_t __count ;
1993   atomic_t processes ;
1994   atomic_t files ;
1995   atomic_t sigpending ;
1996   atomic_t inotify_watches ;
1997   atomic_t inotify_devs ;
1998   atomic_t fanotify_listeners ;
1999   atomic_long_t epoll_watches ;
2000   unsigned long mq_bytes ;
2001   unsigned long locked_shm ;
2002   struct key *uid_keyring ;
2003   struct key *session_keyring ;
2004   struct hlist_node uidhash_node ;
2005   uid_t uid ;
2006   struct user_namespace *user_ns ;
2007   atomic_long_t locked_vm ;
2008};
2009#line 744
2010struct backing_dev_info;
2011#line 744
2012struct backing_dev_info;
2013#line 745
2014struct reclaim_state;
2015#line 745
2016struct reclaim_state;
2017#line 746 "include/linux/sched.h"
2018struct sched_info {
2019   unsigned long pcount ;
2020   unsigned long long run_delay ;
2021   unsigned long long last_arrival ;
2022   unsigned long long last_queued ;
2023};
2024#line 760 "include/linux/sched.h"
2025struct task_delay_info {
2026   spinlock_t lock ;
2027   unsigned int flags ;
2028   struct timespec blkio_start ;
2029   struct timespec blkio_end ;
2030   u64 blkio_delay ;
2031   u64 swapin_delay ;
2032   u32 blkio_count ;
2033   u32 swapin_count ;
2034   struct timespec freepages_start ;
2035   struct timespec freepages_end ;
2036   u64 freepages_delay ;
2037   u32 freepages_count ;
2038};
2039#line 1069
2040struct io_context;
2041#line 1069
2042struct io_context;
2043#line 1097
2044struct pipe_inode_info;
2045#line 1097
2046struct pipe_inode_info;
2047#line 1099
2048struct rq;
2049#line 1099
2050struct rq;
2051#line 1100 "include/linux/sched.h"
2052struct sched_class {
2053   struct sched_class    *next ;
2054   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2055   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2056   void (*yield_task)(struct rq * ) ;
2057   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2058   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2059   struct task_struct *(*pick_next_task)(struct rq * ) ;
2060   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2061   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2062   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2063   void (*post_schedule)(struct rq * ) ;
2064   void (*task_waking)(struct task_struct * ) ;
2065   void (*task_woken)(struct rq * , struct task_struct * ) ;
2066   void (*set_cpus_allowed)(struct task_struct * , struct cpumask    * ) ;
2067   void (*rq_online)(struct rq * ) ;
2068   void (*rq_offline)(struct rq * ) ;
2069   void (*set_curr_task)(struct rq * ) ;
2070   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2071   void (*task_fork)(struct task_struct * ) ;
2072   void (*switched_from)(struct rq * , struct task_struct * ) ;
2073   void (*switched_to)(struct rq * , struct task_struct * ) ;
2074   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2075   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2076   void (*task_move_group)(struct task_struct * , int  ) ;
2077};
2078#line 1165 "include/linux/sched.h"
2079struct load_weight {
2080   unsigned long weight ;
2081   unsigned long inv_weight ;
2082};
2083#line 1170 "include/linux/sched.h"
2084struct sched_statistics {
2085   u64 wait_start ;
2086   u64 wait_max ;
2087   u64 wait_count ;
2088   u64 wait_sum ;
2089   u64 iowait_count ;
2090   u64 iowait_sum ;
2091   u64 sleep_start ;
2092   u64 sleep_max ;
2093   s64 sum_sleep_runtime ;
2094   u64 block_start ;
2095   u64 block_max ;
2096   u64 exec_max ;
2097   u64 slice_max ;
2098   u64 nr_migrations_cold ;
2099   u64 nr_failed_migrations_affine ;
2100   u64 nr_failed_migrations_running ;
2101   u64 nr_failed_migrations_hot ;
2102   u64 nr_forced_migrations ;
2103   u64 nr_wakeups ;
2104   u64 nr_wakeups_sync ;
2105   u64 nr_wakeups_migrate ;
2106   u64 nr_wakeups_local ;
2107   u64 nr_wakeups_remote ;
2108   u64 nr_wakeups_affine ;
2109   u64 nr_wakeups_affine_attempts ;
2110   u64 nr_wakeups_passive ;
2111   u64 nr_wakeups_idle ;
2112};
2113#line 1205 "include/linux/sched.h"
2114struct sched_entity {
2115   struct load_weight load ;
2116   struct rb_node run_node ;
2117   struct list_head group_node ;
2118   unsigned int on_rq ;
2119   u64 exec_start ;
2120   u64 sum_exec_runtime ;
2121   u64 vruntime ;
2122   u64 prev_sum_exec_runtime ;
2123   u64 nr_migrations ;
2124   struct sched_statistics statistics ;
2125   struct sched_entity *parent ;
2126   struct cfs_rq *cfs_rq ;
2127   struct cfs_rq *my_q ;
2128};
2129#line 1231
2130struct rt_rq;
2131#line 1231 "include/linux/sched.h"
2132struct sched_rt_entity {
2133   struct list_head run_list ;
2134   unsigned long timeout ;
2135   unsigned int time_slice ;
2136   int nr_cpus_allowed ;
2137   struct sched_rt_entity *back ;
2138   struct sched_rt_entity *parent ;
2139   struct rt_rq *rt_rq ;
2140   struct rt_rq *my_q ;
2141};
2142#line 1255
2143struct mem_cgroup;
2144#line 1255 "include/linux/sched.h"
2145struct memcg_batch_info {
2146   int do_batch ;
2147   struct mem_cgroup *memcg ;
2148   unsigned long nr_pages ;
2149   unsigned long memsw_nr_pages ;
2150};
2151#line 1616
2152struct files_struct;
2153#line 1616
2154struct css_set;
2155#line 1616
2156struct compat_robust_list_head;
2157#line 1616 "include/linux/sched.h"
2158struct task_struct {
2159   long volatile   state ;
2160   void *stack ;
2161   atomic_t usage ;
2162   unsigned int flags ;
2163   unsigned int ptrace ;
2164   struct llist_node wake_entry ;
2165   int on_cpu ;
2166   int on_rq ;
2167   int prio ;
2168   int static_prio ;
2169   int normal_prio ;
2170   unsigned int rt_priority ;
2171   struct sched_class    *sched_class ;
2172   struct sched_entity se ;
2173   struct sched_rt_entity rt ;
2174   struct hlist_head preempt_notifiers ;
2175   unsigned char fpu_counter ;
2176   unsigned int policy ;
2177   cpumask_t cpus_allowed ;
2178   struct sched_info sched_info ;
2179   struct list_head tasks ;
2180   struct plist_node pushable_tasks ;
2181   struct mm_struct *mm ;
2182   struct mm_struct *active_mm ;
2183   unsigned char brk_randomized : 1 ;
2184   int exit_state ;
2185   int exit_code ;
2186   int exit_signal ;
2187   int pdeath_signal ;
2188   unsigned int jobctl ;
2189   unsigned int personality ;
2190   unsigned char did_exec : 1 ;
2191   unsigned char in_execve : 1 ;
2192   unsigned char in_iowait : 1 ;
2193   unsigned char sched_reset_on_fork : 1 ;
2194   unsigned char sched_contributes_to_load : 1 ;
2195   unsigned char irq_thread : 1 ;
2196   pid_t pid ;
2197   pid_t tgid ;
2198   unsigned long stack_canary ;
2199   struct task_struct *real_parent ;
2200   struct task_struct *parent ;
2201   struct list_head children ;
2202   struct list_head sibling ;
2203   struct task_struct *group_leader ;
2204   struct list_head ptraced ;
2205   struct list_head ptrace_entry ;
2206   struct pid_link pids[3U] ;
2207   struct list_head thread_group ;
2208   struct completion *vfork_done ;
2209   int *set_child_tid ;
2210   int *clear_child_tid ;
2211   cputime_t utime ;
2212   cputime_t stime ;
2213   cputime_t utimescaled ;
2214   cputime_t stimescaled ;
2215   cputime_t gtime ;
2216   cputime_t prev_utime ;
2217   cputime_t prev_stime ;
2218   unsigned long nvcsw ;
2219   unsigned long nivcsw ;
2220   struct timespec start_time ;
2221   struct timespec real_start_time ;
2222   unsigned long min_flt ;
2223   unsigned long maj_flt ;
2224   struct task_cputime cputime_expires ;
2225   struct list_head cpu_timers[3U] ;
2226   struct cred    *real_cred ;
2227   struct cred    *cred ;
2228   struct cred *replacement_session_keyring ;
2229   char comm[16U] ;
2230   int link_count ;
2231   int total_link_count ;
2232   struct sysv_sem sysvsem ;
2233   unsigned long last_switch_count ;
2234   struct thread_struct thread ;
2235   struct fs_struct *fs ;
2236   struct files_struct *files ;
2237   struct nsproxy *nsproxy ;
2238   struct signal_struct *signal ;
2239   struct sighand_struct *sighand ;
2240   sigset_t blocked ;
2241   sigset_t real_blocked ;
2242   sigset_t saved_sigmask ;
2243   struct sigpending pending ;
2244   unsigned long sas_ss_sp ;
2245   size_t sas_ss_size ;
2246   int (*notifier)(void * ) ;
2247   void *notifier_data ;
2248   sigset_t *notifier_mask ;
2249   struct audit_context *audit_context ;
2250   uid_t loginuid ;
2251   unsigned int sessionid ;
2252   seccomp_t seccomp ;
2253   u32 parent_exec_id ;
2254   u32 self_exec_id ;
2255   spinlock_t alloc_lock ;
2256   raw_spinlock_t pi_lock ;
2257   struct plist_head pi_waiters ;
2258   struct rt_mutex_waiter *pi_blocked_on ;
2259   struct mutex_waiter *blocked_on ;
2260   unsigned int irq_events ;
2261   unsigned long hardirq_enable_ip ;
2262   unsigned long hardirq_disable_ip ;
2263   unsigned int hardirq_enable_event ;
2264   unsigned int hardirq_disable_event ;
2265   int hardirqs_enabled ;
2266   int hardirq_context ;
2267   unsigned long softirq_disable_ip ;
2268   unsigned long softirq_enable_ip ;
2269   unsigned int softirq_disable_event ;
2270   unsigned int softirq_enable_event ;
2271   int softirqs_enabled ;
2272   int softirq_context ;
2273   u64 curr_chain_key ;
2274   int lockdep_depth ;
2275   unsigned int lockdep_recursion ;
2276   struct held_lock held_locks[48U] ;
2277   gfp_t lockdep_reclaim_gfp ;
2278   void *journal_info ;
2279   struct bio_list *bio_list ;
2280   struct blk_plug *plug ;
2281   struct reclaim_state *reclaim_state ;
2282   struct backing_dev_info *backing_dev_info ;
2283   struct io_context *io_context ;
2284   unsigned long ptrace_message ;
2285   siginfo_t *last_siginfo ;
2286   struct task_io_accounting ioac ;
2287   u64 acct_rss_mem1 ;
2288   u64 acct_vm_mem1 ;
2289   cputime_t acct_timexpd ;
2290   nodemask_t mems_allowed ;
2291   seqcount_t mems_allowed_seq ;
2292   int cpuset_mem_spread_rotor ;
2293   int cpuset_slab_spread_rotor ;
2294   struct css_set *cgroups ;
2295   struct list_head cg_list ;
2296   struct robust_list_head *robust_list ;
2297   struct compat_robust_list_head *compat_robust_list ;
2298   struct list_head pi_state_list ;
2299   struct futex_pi_state *pi_state_cache ;
2300   struct perf_event_context *perf_event_ctxp[2U] ;
2301   struct mutex perf_event_mutex ;
2302   struct list_head perf_event_list ;
2303   struct mempolicy *mempolicy ;
2304   short il_next ;
2305   short pref_node_fork ;
2306   struct rcu_head rcu ;
2307   struct pipe_inode_info *splice_pipe ;
2308   struct task_delay_info *delays ;
2309   int make_it_fail ;
2310   int nr_dirtied ;
2311   int nr_dirtied_pause ;
2312   unsigned long dirty_paused_when ;
2313   int latency_record_count ;
2314   struct latency_record latency_record[32U] ;
2315   unsigned long timer_slack_ns ;
2316   unsigned long default_timer_slack_ns ;
2317   struct list_head *scm_work_list ;
2318   unsigned long trace ;
2319   unsigned long trace_recursion ;
2320   struct memcg_batch_info memcg_batch ;
2321   atomic_t ptrace_bp_refcnt ;
2322};
2323#line 2823
2324struct block_device;
2325#line 2823
2326struct block_device;
2327#line 93 "include/linux/bit_spinlock.h"
2328struct hlist_bl_node;
2329#line 93 "include/linux/bit_spinlock.h"
2330struct hlist_bl_head {
2331   struct hlist_bl_node *first ;
2332};
2333#line 36 "include/linux/list_bl.h"
2334struct hlist_bl_node {
2335   struct hlist_bl_node *next ;
2336   struct hlist_bl_node **pprev ;
2337};
2338#line 114 "include/linux/rculist_bl.h"
2339struct nameidata;
2340#line 114
2341struct nameidata;
2342#line 115
2343struct path;
2344#line 115
2345struct path;
2346#line 116
2347struct vfsmount;
2348#line 116
2349struct vfsmount;
2350#line 117 "include/linux/rculist_bl.h"
2351struct qstr {
2352   unsigned int hash ;
2353   unsigned int len ;
2354   unsigned char    *name ;
2355};
2356#line 72 "include/linux/dcache.h"
2357struct dentry_operations;
2358#line 72
2359struct super_block;
2360#line 72 "include/linux/dcache.h"
2361union __anonunion_d_u_163 {
2362   struct list_head d_child ;
2363   struct rcu_head d_rcu ;
2364};
2365#line 72 "include/linux/dcache.h"
2366struct dentry {
2367   unsigned int d_flags ;
2368   seqcount_t d_seq ;
2369   struct hlist_bl_node d_hash ;
2370   struct dentry *d_parent ;
2371   struct qstr d_name ;
2372   struct inode *d_inode ;
2373   unsigned char d_iname[32U] ;
2374   unsigned int d_count ;
2375   spinlock_t d_lock ;
2376   struct dentry_operations    *d_op ;
2377   struct super_block *d_sb ;
2378   unsigned long d_time ;
2379   void *d_fsdata ;
2380   struct list_head d_lru ;
2381   union __anonunion_d_u_163 d_u ;
2382   struct list_head d_subdirs ;
2383   struct list_head d_alias ;
2384};
2385#line 123 "include/linux/dcache.h"
2386struct dentry_operations {
2387   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2388   int (*d_hash)(struct dentry    * , struct inode    * , struct qstr * ) ;
2389   int (*d_compare)(struct dentry    * , struct inode    * , struct dentry  const  * ,
2390                    struct inode    * , unsigned int  , char    * , struct qstr  const  * ) ;
2391   int (*d_delete)(struct dentry    * ) ;
2392   void (*d_release)(struct dentry * ) ;
2393   void (*d_prune)(struct dentry * ) ;
2394   void (*d_iput)(struct dentry * , struct inode * ) ;
2395   char *(*d_dname)(struct dentry * , char * , int  ) ;
2396   struct vfsmount *(*d_automount)(struct path * ) ;
2397   int (*d_manage)(struct dentry * , bool  ) ;
2398};
2399#line 402 "include/linux/dcache.h"
2400struct path {
2401   struct vfsmount *mnt ;
2402   struct dentry *dentry ;
2403};
2404#line 58 "include/linux/radix-tree.h"
2405struct radix_tree_node;
2406#line 58 "include/linux/radix-tree.h"
2407struct radix_tree_root {
2408   unsigned int height ;
2409   gfp_t gfp_mask ;
2410   struct radix_tree_node *rnode ;
2411};
2412#line 377 "include/linux/radix-tree.h"
2413struct semaphore {
2414   raw_spinlock_t lock ;
2415   unsigned int count ;
2416   struct list_head wait_list ;
2417};
2418#line 45 "include/linux/semaphore.h"
2419struct fiemap_extent {
2420   __u64 fe_logical ;
2421   __u64 fe_physical ;
2422   __u64 fe_length ;
2423   __u64 fe_reserved64[2U] ;
2424   __u32 fe_flags ;
2425   __u32 fe_reserved[3U] ;
2426};
2427#line 38 "include/linux/fiemap.h"
2428struct shrink_control {
2429   gfp_t gfp_mask ;
2430   unsigned long nr_to_scan ;
2431};
2432#line 14 "include/linux/shrinker.h"
2433struct shrinker {
2434   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
2435   int seeks ;
2436   long batch ;
2437   struct list_head list ;
2438   atomic_long_t nr_in_batch ;
2439};
2440#line 43
2441enum migrate_mode {
2442    MIGRATE_ASYNC = 0,
2443    MIGRATE_SYNC_LIGHT = 1,
2444    MIGRATE_SYNC = 2
2445} ;
2446#line 49
2447struct export_operations;
2448#line 49
2449struct export_operations;
2450#line 51
2451struct poll_table_struct;
2452#line 51
2453struct poll_table_struct;
2454#line 52
2455struct kstatfs;
2456#line 52
2457struct kstatfs;
2458#line 435 "include/linux/fs.h"
2459struct iattr {
2460   unsigned int ia_valid ;
2461   umode_t ia_mode ;
2462   uid_t ia_uid ;
2463   gid_t ia_gid ;
2464   loff_t ia_size ;
2465   struct timespec ia_atime ;
2466   struct timespec ia_mtime ;
2467   struct timespec ia_ctime ;
2468   struct file *ia_file ;
2469};
2470#line 119 "include/linux/quota.h"
2471struct if_dqinfo {
2472   __u64 dqi_bgrace ;
2473   __u64 dqi_igrace ;
2474   __u32 dqi_flags ;
2475   __u32 dqi_valid ;
2476};
2477#line 152 "include/linux/quota.h"
2478struct fs_disk_quota {
2479   __s8 d_version ;
2480   __s8 d_flags ;
2481   __u16 d_fieldmask ;
2482   __u32 d_id ;
2483   __u64 d_blk_hardlimit ;
2484   __u64 d_blk_softlimit ;
2485   __u64 d_ino_hardlimit ;
2486   __u64 d_ino_softlimit ;
2487   __u64 d_bcount ;
2488   __u64 d_icount ;
2489   __s32 d_itimer ;
2490   __s32 d_btimer ;
2491   __u16 d_iwarns ;
2492   __u16 d_bwarns ;
2493   __s32 d_padding2 ;
2494   __u64 d_rtb_hardlimit ;
2495   __u64 d_rtb_softlimit ;
2496   __u64 d_rtbcount ;
2497   __s32 d_rtbtimer ;
2498   __u16 d_rtbwarns ;
2499   __s16 d_padding3 ;
2500   char d_padding4[8U] ;
2501};
2502#line 75 "include/linux/dqblk_xfs.h"
2503struct fs_qfilestat {
2504   __u64 qfs_ino ;
2505   __u64 qfs_nblks ;
2506   __u32 qfs_nextents ;
2507};
2508#line 150 "include/linux/dqblk_xfs.h"
2509typedef struct fs_qfilestat fs_qfilestat_t;
2510#line 151 "include/linux/dqblk_xfs.h"
2511struct fs_quota_stat {
2512   __s8 qs_version ;
2513   __u16 qs_flags ;
2514   __s8 qs_pad ;
2515   fs_qfilestat_t qs_uquota ;
2516   fs_qfilestat_t qs_gquota ;
2517   __u32 qs_incoredqs ;
2518   __s32 qs_btimelimit ;
2519   __s32 qs_itimelimit ;
2520   __s32 qs_rtbtimelimit ;
2521   __u16 qs_bwarnlimit ;
2522   __u16 qs_iwarnlimit ;
2523};
2524#line 165
2525struct dquot;
2526#line 165
2527struct dquot;
2528#line 185 "include/linux/quota.h"
2529typedef __kernel_uid32_t qid_t;
2530#line 186 "include/linux/quota.h"
2531typedef long long qsize_t;
2532#line 189 "include/linux/quota.h"
2533struct mem_dqblk {
2534   qsize_t dqb_bhardlimit ;
2535   qsize_t dqb_bsoftlimit ;
2536   qsize_t dqb_curspace ;
2537   qsize_t dqb_rsvspace ;
2538   qsize_t dqb_ihardlimit ;
2539   qsize_t dqb_isoftlimit ;
2540   qsize_t dqb_curinodes ;
2541   time_t dqb_btime ;
2542   time_t dqb_itime ;
2543};
2544#line 211
2545struct quota_format_type;
2546#line 211
2547struct quota_format_type;
2548#line 212 "include/linux/quota.h"
2549struct mem_dqinfo {
2550   struct quota_format_type *dqi_format ;
2551   int dqi_fmt_id ;
2552   struct list_head dqi_dirty_list ;
2553   unsigned long dqi_flags ;
2554   unsigned int dqi_bgrace ;
2555   unsigned int dqi_igrace ;
2556   qsize_t dqi_maxblimit ;
2557   qsize_t dqi_maxilimit ;
2558   void *dqi_priv ;
2559};
2560#line 275 "include/linux/quota.h"
2561struct dquot {
2562   struct hlist_node dq_hash ;
2563   struct list_head dq_inuse ;
2564   struct list_head dq_free ;
2565   struct list_head dq_dirty ;
2566   struct mutex dq_lock ;
2567   atomic_t dq_count ;
2568   wait_queue_head_t dq_wait_unused ;
2569   struct super_block *dq_sb ;
2570   unsigned int dq_id ;
2571   loff_t dq_off ;
2572   unsigned long dq_flags ;
2573   short dq_type ;
2574   struct mem_dqblk dq_dqb ;
2575};
2576#line 303 "include/linux/quota.h"
2577struct quota_format_ops {
2578   int (*check_quota_file)(struct super_block * , int  ) ;
2579   int (*read_file_info)(struct super_block * , int  ) ;
2580   int (*write_file_info)(struct super_block * , int  ) ;
2581   int (*free_file_info)(struct super_block * , int  ) ;
2582   int (*read_dqblk)(struct dquot * ) ;
2583   int (*commit_dqblk)(struct dquot * ) ;
2584   int (*release_dqblk)(struct dquot * ) ;
2585};
2586#line 314 "include/linux/quota.h"
2587struct dquot_operations {
2588   int (*write_dquot)(struct dquot * ) ;
2589   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2590   void (*destroy_dquot)(struct dquot * ) ;
2591   int (*acquire_dquot)(struct dquot * ) ;
2592   int (*release_dquot)(struct dquot * ) ;
2593   int (*mark_dirty)(struct dquot * ) ;
2594   int (*write_info)(struct super_block * , int  ) ;
2595   qsize_t *(*get_reserved_space)(struct inode * ) ;
2596};
2597#line 328 "include/linux/quota.h"
2598struct quotactl_ops {
2599   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2600   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2601   int (*quota_off)(struct super_block * , int  ) ;
2602   int (*quota_sync)(struct super_block * , int  , int  ) ;
2603   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2604   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2605   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2606   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2607   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2608   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2609};
2610#line 344 "include/linux/quota.h"
2611struct quota_format_type {
2612   int qf_fmt_id ;
2613   struct quota_format_ops    *qf_ops ;
2614   struct module *qf_owner ;
2615   struct quota_format_type *qf_next ;
2616};
2617#line 390 "include/linux/quota.h"
2618struct quota_info {
2619   unsigned int flags ;
2620   struct mutex dqio_mutex ;
2621   struct mutex dqonoff_mutex ;
2622   struct rw_semaphore dqptr_sem ;
2623   struct inode *files[2U] ;
2624   struct mem_dqinfo info[2U] ;
2625   struct quota_format_ops    *ops[2U] ;
2626};
2627#line 421
2628struct writeback_control;
2629#line 421
2630struct writeback_control;
2631#line 585 "include/linux/fs.h"
2632union __anonunion_arg_165 {
2633   char *buf ;
2634   void *data ;
2635};
2636#line 585 "include/linux/fs.h"
2637struct __anonstruct_read_descriptor_t_164 {
2638   size_t written ;
2639   size_t count ;
2640   union __anonunion_arg_165 arg ;
2641   int error ;
2642};
2643#line 585 "include/linux/fs.h"
2644typedef struct __anonstruct_read_descriptor_t_164 read_descriptor_t;
2645#line 588 "include/linux/fs.h"
2646struct address_space_operations {
2647   int (*writepage)(struct page * , struct writeback_control * ) ;
2648   int (*readpage)(struct file * , struct page * ) ;
2649   int (*writepages)(struct address_space * , struct writeback_control * ) ;
2650   int (*set_page_dirty)(struct page * ) ;
2651   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2652                    unsigned int  ) ;
2653   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
2654                      unsigned int  , struct page ** , void ** ) ;
2655   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
2656                    unsigned int  , struct page * , void * ) ;
2657   sector_t (*bmap)(struct address_space * , sector_t  ) ;
2658   void (*invalidatepage)(struct page * , unsigned long  ) ;
2659   int (*releasepage)(struct page * , gfp_t  ) ;
2660   void (*freepage)(struct page * ) ;
2661   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec    * , loff_t  ,
2662                        unsigned long  ) ;
2663   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
2664   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
2665   int (*launder_page)(struct page * ) ;
2666   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
2667   int (*error_remove_page)(struct address_space * , struct page * ) ;
2668};
2669#line 642 "include/linux/fs.h"
2670struct address_space {
2671   struct inode *host ;
2672   struct radix_tree_root page_tree ;
2673   spinlock_t tree_lock ;
2674   unsigned int i_mmap_writable ;
2675   struct prio_tree_root i_mmap ;
2676   struct list_head i_mmap_nonlinear ;
2677   struct mutex i_mmap_mutex ;
2678   unsigned long nrpages ;
2679   unsigned long writeback_index ;
2680   struct address_space_operations    *a_ops ;
2681   unsigned long flags ;
2682   struct backing_dev_info *backing_dev_info ;
2683   spinlock_t private_lock ;
2684   struct list_head private_list ;
2685   struct address_space *assoc_mapping ;
2686};
2687#line 664
2688struct request_queue;
2689#line 664
2690struct request_queue;
2691#line 665
2692struct hd_struct;
2693#line 665
2694struct gendisk;
2695#line 665 "include/linux/fs.h"
2696struct block_device {
2697   dev_t bd_dev ;
2698   int bd_openers ;
2699   struct inode *bd_inode ;
2700   struct super_block *bd_super ;
2701   struct mutex bd_mutex ;
2702   struct list_head bd_inodes ;
2703   void *bd_claiming ;
2704   void *bd_holder ;
2705   int bd_holders ;
2706   bool bd_write_holder ;
2707   struct list_head bd_holder_disks ;
2708   struct block_device *bd_contains ;
2709   unsigned int bd_block_size ;
2710   struct hd_struct *bd_part ;
2711   unsigned int bd_part_count ;
2712   int bd_invalidated ;
2713   struct gendisk *bd_disk ;
2714   struct request_queue *bd_queue ;
2715   struct list_head bd_list ;
2716   unsigned long bd_private ;
2717   int bd_fsfreeze_count ;
2718   struct mutex bd_fsfreeze_mutex ;
2719};
2720#line 737
2721struct posix_acl;
2722#line 737
2723struct posix_acl;
2724#line 738
2725struct inode_operations;
2726#line 738 "include/linux/fs.h"
2727union __anonunion_ldv_18661_166 {
2728   unsigned int    i_nlink ;
2729   unsigned int __i_nlink ;
2730};
2731#line 738 "include/linux/fs.h"
2732union __anonunion_ldv_18680_167 {
2733   struct list_head i_dentry ;
2734   struct rcu_head i_rcu ;
2735};
2736#line 738
2737struct file_operations;
2738#line 738
2739struct file_lock;
2740#line 738
2741struct cdev;
2742#line 738 "include/linux/fs.h"
2743union __anonunion_ldv_18698_168 {
2744   struct pipe_inode_info *i_pipe ;
2745   struct block_device *i_bdev ;
2746   struct cdev *i_cdev ;
2747};
2748#line 738 "include/linux/fs.h"
2749struct inode {
2750   umode_t i_mode ;
2751   unsigned short i_opflags ;
2752   uid_t i_uid ;
2753   gid_t i_gid ;
2754   unsigned int i_flags ;
2755   struct posix_acl *i_acl ;
2756   struct posix_acl *i_default_acl ;
2757   struct inode_operations    *i_op ;
2758   struct super_block *i_sb ;
2759   struct address_space *i_mapping ;
2760   void *i_security ;
2761   unsigned long i_ino ;
2762   union __anonunion_ldv_18661_166 ldv_18661 ;
2763   dev_t i_rdev ;
2764   struct timespec i_atime ;
2765   struct timespec i_mtime ;
2766   struct timespec i_ctime ;
2767   spinlock_t i_lock ;
2768   unsigned short i_bytes ;
2769   blkcnt_t i_blocks ;
2770   loff_t i_size ;
2771   unsigned long i_state ;
2772   struct mutex i_mutex ;
2773   unsigned long dirtied_when ;
2774   struct hlist_node i_hash ;
2775   struct list_head i_wb_list ;
2776   struct list_head i_lru ;
2777   struct list_head i_sb_list ;
2778   union __anonunion_ldv_18680_167 ldv_18680 ;
2779   atomic_t i_count ;
2780   unsigned int i_blkbits ;
2781   u64 i_version ;
2782   atomic_t i_dio_count ;
2783   atomic_t i_writecount ;
2784   struct file_operations    *i_fop ;
2785   struct file_lock *i_flock ;
2786   struct address_space i_data ;
2787   struct dquot *i_dquot[2U] ;
2788   struct list_head i_devices ;
2789   union __anonunion_ldv_18698_168 ldv_18698 ;
2790   __u32 i_generation ;
2791   __u32 i_fsnotify_mask ;
2792   struct hlist_head i_fsnotify_marks ;
2793   atomic_t i_readcount ;
2794   void *i_private ;
2795};
2796#line 941 "include/linux/fs.h"
2797struct fown_struct {
2798   rwlock_t lock ;
2799   struct pid *pid ;
2800   enum pid_type pid_type ;
2801   uid_t uid ;
2802   uid_t euid ;
2803   int signum ;
2804};
2805#line 949 "include/linux/fs.h"
2806struct file_ra_state {
2807   unsigned long start ;
2808   unsigned int size ;
2809   unsigned int async_size ;
2810   unsigned int ra_pages ;
2811   unsigned int mmap_miss ;
2812   loff_t prev_pos ;
2813};
2814#line 972 "include/linux/fs.h"
2815union __anonunion_f_u_169 {
2816   struct list_head fu_list ;
2817   struct rcu_head fu_rcuhead ;
2818};
2819#line 972 "include/linux/fs.h"
2820struct file {
2821   union __anonunion_f_u_169 f_u ;
2822   struct path f_path ;
2823   struct file_operations    *f_op ;
2824   spinlock_t f_lock ;
2825   int f_sb_list_cpu ;
2826   atomic_long_t f_count ;
2827   unsigned int f_flags ;
2828   fmode_t f_mode ;
2829   loff_t f_pos ;
2830   struct fown_struct f_owner ;
2831   struct cred    *f_cred ;
2832   struct file_ra_state f_ra ;
2833   u64 f_version ;
2834   void *f_security ;
2835   void *private_data ;
2836   struct list_head f_ep_links ;
2837   struct list_head f_tfile_llink ;
2838   struct address_space *f_mapping ;
2839   unsigned long f_mnt_write_state ;
2840};
2841#line 1111 "include/linux/fs.h"
2842typedef struct files_struct *fl_owner_t;
2843#line 1112 "include/linux/fs.h"
2844struct file_lock_operations {
2845   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
2846   void (*fl_release_private)(struct file_lock * ) ;
2847};
2848#line 1117 "include/linux/fs.h"
2849struct lock_manager_operations {
2850   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
2851   void (*lm_notify)(struct file_lock * ) ;
2852   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
2853   void (*lm_release_private)(struct file_lock * ) ;
2854   void (*lm_break)(struct file_lock * ) ;
2855   int (*lm_change)(struct file_lock ** , int  ) ;
2856};
2857#line 1134
2858struct nlm_lockowner;
2859#line 1134
2860struct nlm_lockowner;
2861#line 1135 "include/linux/fs.h"
2862struct nfs_lock_info {
2863   u32 state ;
2864   struct nlm_lockowner *owner ;
2865   struct list_head list ;
2866};
2867#line 14 "include/linux/nfs_fs_i.h"
2868struct nfs4_lock_state;
2869#line 14
2870struct nfs4_lock_state;
2871#line 15 "include/linux/nfs_fs_i.h"
2872struct nfs4_lock_info {
2873   struct nfs4_lock_state *owner ;
2874};
2875#line 19
2876struct fasync_struct;
2877#line 19 "include/linux/nfs_fs_i.h"
2878struct __anonstruct_afs_171 {
2879   struct list_head link ;
2880   int state ;
2881};
2882#line 19 "include/linux/nfs_fs_i.h"
2883union __anonunion_fl_u_170 {
2884   struct nfs_lock_info nfs_fl ;
2885   struct nfs4_lock_info nfs4_fl ;
2886   struct __anonstruct_afs_171 afs ;
2887};
2888#line 19 "include/linux/nfs_fs_i.h"
2889struct file_lock {
2890   struct file_lock *fl_next ;
2891   struct list_head fl_link ;
2892   struct list_head fl_block ;
2893   fl_owner_t fl_owner ;
2894   unsigned int fl_flags ;
2895   unsigned char fl_type ;
2896   unsigned int fl_pid ;
2897   struct pid *fl_nspid ;
2898   wait_queue_head_t fl_wait ;
2899   struct file *fl_file ;
2900   loff_t fl_start ;
2901   loff_t fl_end ;
2902   struct fasync_struct *fl_fasync ;
2903   unsigned long fl_break_time ;
2904   unsigned long fl_downgrade_time ;
2905   struct file_lock_operations    *fl_ops ;
2906   struct lock_manager_operations    *fl_lmops ;
2907   union __anonunion_fl_u_170 fl_u ;
2908};
2909#line 1221 "include/linux/fs.h"
2910struct fasync_struct {
2911   spinlock_t fa_lock ;
2912   int magic ;
2913   int fa_fd ;
2914   struct fasync_struct *fa_next ;
2915   struct file *fa_file ;
2916   struct rcu_head fa_rcu ;
2917};
2918#line 1417
2919struct file_system_type;
2920#line 1417
2921struct super_operations;
2922#line 1417
2923struct xattr_handler;
2924#line 1417
2925struct mtd_info;
2926#line 1417 "include/linux/fs.h"
2927struct super_block {
2928   struct list_head s_list ;
2929   dev_t s_dev ;
2930   unsigned char s_dirt ;
2931   unsigned char s_blocksize_bits ;
2932   unsigned long s_blocksize ;
2933   loff_t s_maxbytes ;
2934   struct file_system_type *s_type ;
2935   struct super_operations    *s_op ;
2936   struct dquot_operations    *dq_op ;
2937   struct quotactl_ops    *s_qcop ;
2938   struct export_operations    *s_export_op ;
2939   unsigned long s_flags ;
2940   unsigned long s_magic ;
2941   struct dentry *s_root ;
2942   struct rw_semaphore s_umount ;
2943   struct mutex s_lock ;
2944   int s_count ;
2945   atomic_t s_active ;
2946   void *s_security ;
2947   struct xattr_handler    **s_xattr ;
2948   struct list_head s_inodes ;
2949   struct hlist_bl_head s_anon ;
2950   struct list_head *s_files ;
2951   struct list_head s_mounts ;
2952   struct list_head s_dentry_lru ;
2953   int s_nr_dentry_unused ;
2954   spinlock_t s_inode_lru_lock ;
2955   struct list_head s_inode_lru ;
2956   int s_nr_inodes_unused ;
2957   struct block_device *s_bdev ;
2958   struct backing_dev_info *s_bdi ;
2959   struct mtd_info *s_mtd ;
2960   struct hlist_node s_instances ;
2961   struct quota_info s_dquot ;
2962   int s_frozen ;
2963   wait_queue_head_t s_wait_unfrozen ;
2964   char s_id[32U] ;
2965   u8 s_uuid[16U] ;
2966   void *s_fs_info ;
2967   unsigned int s_max_links ;
2968   fmode_t s_mode ;
2969   u32 s_time_gran ;
2970   struct mutex s_vfs_rename_mutex ;
2971   char *s_subtype ;
2972   char *s_options ;
2973   struct dentry_operations    *s_d_op ;
2974   int cleancache_poolid ;
2975   struct shrinker s_shrink ;
2976   atomic_long_t s_remove_count ;
2977   int s_readonly_remount ;
2978};
2979#line 1563 "include/linux/fs.h"
2980struct fiemap_extent_info {
2981   unsigned int fi_flags ;
2982   unsigned int fi_extents_mapped ;
2983   unsigned int fi_extents_max ;
2984   struct fiemap_extent *fi_extents_start ;
2985};
2986#line 1602 "include/linux/fs.h"
2987struct file_operations {
2988   struct module *owner ;
2989   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
2990   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
2991   ssize_t (*write)(struct file * , char    * , size_t  , loff_t * ) ;
2992   ssize_t (*aio_read)(struct kiocb * , struct iovec    * , unsigned long  ,
2993                       loff_t  ) ;
2994   ssize_t (*aio_write)(struct kiocb * , struct iovec    * , unsigned long  ,
2995                        loff_t  ) ;
2996   int (*readdir)(struct file * , void * , int (*)(void * , char    * , int  ,
2997                                                   loff_t  , u64  , unsigned int  ) ) ;
2998   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2999   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3000   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3001   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3002   int (*open)(struct inode * , struct file * ) ;
3003   int (*flush)(struct file * , fl_owner_t  ) ;
3004   int (*release)(struct inode * , struct file * ) ;
3005   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
3006   int (*aio_fsync)(struct kiocb * , int  ) ;
3007   int (*fasync)(int  , struct file * , int  ) ;
3008   int (*lock)(struct file * , int  , struct file_lock * ) ;
3009   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
3010                       int  ) ;
3011   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
3012                                      unsigned long  , unsigned long  ) ;
3013   int (*check_flags)(int  ) ;
3014   int (*flock)(struct file * , int  , struct file_lock * ) ;
3015   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
3016                           unsigned int  ) ;
3017   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
3018                          unsigned int  ) ;
3019   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
3020   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
3021};
3022#line 1637 "include/linux/fs.h"
3023struct inode_operations {
3024   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3025   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3026   int (*permission)(struct inode * , int  ) ;
3027   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3028   int (*readlink)(struct dentry * , char * , int  ) ;
3029   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3030   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3031   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3032   int (*unlink)(struct inode * , struct dentry * ) ;
3033   int (*symlink)(struct inode * , struct dentry * , char    * ) ;
3034   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3035   int (*rmdir)(struct inode * , struct dentry * ) ;
3036   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3037   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3038   void (*truncate)(struct inode * ) ;
3039   int (*setattr)(struct dentry * , struct iattr * ) ;
3040   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3041   int (*setxattr)(struct dentry * , char    * , void    * , size_t  , int  ) ;
3042   ssize_t (*getxattr)(struct dentry * , char    * , void * , size_t  ) ;
3043   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3044   int (*removexattr)(struct dentry * , char    * ) ;
3045   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3046   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
3047};
3048#line 1682 "include/linux/fs.h"
3049struct super_operations {
3050   struct inode *(*alloc_inode)(struct super_block * ) ;
3051   void (*destroy_inode)(struct inode * ) ;
3052   void (*dirty_inode)(struct inode * , int  ) ;
3053   int (*write_inode)(struct inode * , struct writeback_control * ) ;
3054   int (*drop_inode)(struct inode * ) ;
3055   void (*evict_inode)(struct inode * ) ;
3056   void (*put_super)(struct super_block * ) ;
3057   void (*write_super)(struct super_block * ) ;
3058   int (*sync_fs)(struct super_block * , int  ) ;
3059   int (*freeze_fs)(struct super_block * ) ;
3060   int (*unfreeze_fs)(struct super_block * ) ;
3061   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3062   int (*remount_fs)(struct super_block * , int * , char * ) ;
3063   void (*umount_begin)(struct super_block * ) ;
3064   int (*show_options)(struct seq_file * , struct dentry * ) ;
3065   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3066   int (*show_path)(struct seq_file * , struct dentry * ) ;
3067   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3068   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3069   ssize_t (*quota_write)(struct super_block * , int  , char    * , size_t  ,
3070                          loff_t  ) ;
3071   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3072   int (*nr_cached_objects)(struct super_block * ) ;
3073   void (*free_cached_objects)(struct super_block * , int  ) ;
3074};
3075#line 1834 "include/linux/fs.h"
3076struct file_system_type {
3077   char    *name ;
3078   int fs_flags ;
3079   struct dentry *(*mount)(struct file_system_type * , int  , char    * , void * ) ;
3080   void (*kill_sb)(struct super_block * ) ;
3081   struct module *owner ;
3082   struct file_system_type *next ;
3083   struct hlist_head fs_supers ;
3084   struct lock_class_key s_lock_key ;
3085   struct lock_class_key s_umount_key ;
3086   struct lock_class_key s_vfs_rename_key ;
3087   struct lock_class_key i_lock_key ;
3088   struct lock_class_key i_mutex_key ;
3089   struct lock_class_key i_mutex_dir_key ;
3090};
3091#line 2674 "include/linux/fs.h"
3092struct exception_table_entry {
3093   unsigned long insn ;
3094   unsigned long fixup ;
3095};
3096#line 12 "include/linux/mod_devicetable.h"
3097typedef unsigned long kernel_ulong_t;
3098#line 13 "include/linux/mod_devicetable.h"
3099struct pci_device_id {
3100   __u32 vendor ;
3101   __u32 device ;
3102   __u32 subvendor ;
3103   __u32 subdevice ;
3104   __u32 class ;
3105   __u32 class_mask ;
3106   kernel_ulong_t driver_data ;
3107};
3108#line 215 "include/linux/mod_devicetable.h"
3109struct of_device_id {
3110   char name[32U] ;
3111   char type[32U] ;
3112   char compatible[128U] ;
3113   void *data ;
3114};
3115#line 584
3116struct klist_node;
3117#line 584
3118struct klist_node;
3119#line 37 "include/linux/klist.h"
3120struct klist_node {
3121   void *n_klist ;
3122   struct list_head n_node ;
3123   struct kref n_ref ;
3124};
3125#line 67
3126struct dma_map_ops;
3127#line 67 "include/linux/klist.h"
3128struct dev_archdata {
3129   void *acpi_handle ;
3130   struct dma_map_ops *dma_ops ;
3131   void *iommu ;
3132};
3133#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
3134struct device_private;
3135#line 17
3136struct device_private;
3137#line 18
3138struct device_driver;
3139#line 18
3140struct device_driver;
3141#line 19
3142struct driver_private;
3143#line 19
3144struct driver_private;
3145#line 20
3146struct class;
3147#line 20
3148struct class;
3149#line 21
3150struct subsys_private;
3151#line 21
3152struct subsys_private;
3153#line 22
3154struct bus_type;
3155#line 22
3156struct bus_type;
3157#line 23
3158struct device_node;
3159#line 23
3160struct device_node;
3161#line 24
3162struct iommu_ops;
3163#line 24
3164struct iommu_ops;
3165#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
3166struct bus_attribute {
3167   struct attribute attr ;
3168   ssize_t (*show)(struct bus_type * , char * ) ;
3169   ssize_t (*store)(struct bus_type * , char    * , size_t  ) ;
3170};
3171#line 51 "include/linux/device.h"
3172struct device_attribute;
3173#line 51
3174struct driver_attribute;
3175#line 51 "include/linux/device.h"
3176struct bus_type {
3177   char    *name ;
3178   char    *dev_name ;
3179   struct device *dev_root ;
3180   struct bus_attribute *bus_attrs ;
3181   struct device_attribute *dev_attrs ;
3182   struct driver_attribute *drv_attrs ;
3183   int (*match)(struct device * , struct device_driver * ) ;
3184   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3185   int (*probe)(struct device * ) ;
3186   int (*remove)(struct device * ) ;
3187   void (*shutdown)(struct device * ) ;
3188   int (*suspend)(struct device * , pm_message_t  ) ;
3189   int (*resume)(struct device * ) ;
3190   struct dev_pm_ops    *pm ;
3191   struct iommu_ops *iommu_ops ;
3192   struct subsys_private *p ;
3193};
3194#line 125
3195struct device_type;
3196#line 182 "include/linux/device.h"
3197struct device_driver {
3198   char    *name ;
3199   struct bus_type *bus ;
3200   struct module *owner ;
3201   char    *mod_name ;
3202   bool suppress_bind_attrs ;
3203   struct of_device_id    *of_match_table ;
3204   int (*probe)(struct device * ) ;
3205   int (*remove)(struct device * ) ;
3206   void (*shutdown)(struct device * ) ;
3207   int (*suspend)(struct device * , pm_message_t  ) ;
3208   int (*resume)(struct device * ) ;
3209   struct attribute_group    **groups ;
3210   struct dev_pm_ops    *pm ;
3211   struct driver_private *p ;
3212};
3213#line 245 "include/linux/device.h"
3214struct driver_attribute {
3215   struct attribute attr ;
3216   ssize_t (*show)(struct device_driver * , char * ) ;
3217   ssize_t (*store)(struct device_driver * , char    * , size_t  ) ;
3218};
3219#line 299
3220struct class_attribute;
3221#line 299 "include/linux/device.h"
3222struct class {
3223   char    *name ;
3224   struct module *owner ;
3225   struct class_attribute *class_attrs ;
3226   struct device_attribute *dev_attrs ;
3227   struct bin_attribute *dev_bin_attrs ;
3228   struct kobject *dev_kobj ;
3229   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
3230   char *(*devnode)(struct device * , umode_t * ) ;
3231   void (*class_release)(struct class * ) ;
3232   void (*dev_release)(struct device * ) ;
3233   int (*suspend)(struct device * , pm_message_t  ) ;
3234   int (*resume)(struct device * ) ;
3235   struct kobj_ns_type_operations    *ns_type ;
3236   void    *(*namespace)(struct device * ) ;
3237   struct dev_pm_ops    *pm ;
3238   struct subsys_private *p ;
3239};
3240#line 394 "include/linux/device.h"
3241struct class_attribute {
3242   struct attribute attr ;
3243   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
3244   ssize_t (*store)(struct class * , struct class_attribute * , char    * , size_t  ) ;
3245   void    *(*namespace)(struct class * , struct class_attribute    * ) ;
3246};
3247#line 447 "include/linux/device.h"
3248struct device_type {
3249   char    *name ;
3250   struct attribute_group    **groups ;
3251   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3252   char *(*devnode)(struct device * , umode_t * ) ;
3253   void (*release)(struct device * ) ;
3254   struct dev_pm_ops    *pm ;
3255};
3256#line 474 "include/linux/device.h"
3257struct device_attribute {
3258   struct attribute attr ;
3259   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
3260   ssize_t (*store)(struct device * , struct device_attribute * , char    * ,
3261                    size_t  ) ;
3262};
3263#line 557 "include/linux/device.h"
3264struct device_dma_parameters {
3265   unsigned int max_segment_size ;
3266   unsigned long segment_boundary_mask ;
3267};
3268#line 567
3269struct dma_coherent_mem;
3270#line 567 "include/linux/device.h"
3271struct device {
3272   struct device *parent ;
3273   struct device_private *p ;
3274   struct kobject kobj ;
3275   char    *init_name ;
3276   struct device_type    *type ;
3277   struct mutex mutex ;
3278   struct bus_type *bus ;
3279   struct device_driver *driver ;
3280   void *platform_data ;
3281   struct dev_pm_info power ;
3282   struct dev_pm_domain *pm_domain ;
3283   int numa_node ;
3284   u64 *dma_mask ;
3285   u64 coherent_dma_mask ;
3286   struct device_dma_parameters *dma_parms ;
3287   struct list_head dma_pools ;
3288   struct dma_coherent_mem *dma_mem ;
3289   struct dev_archdata archdata ;
3290   struct device_node *of_node ;
3291   dev_t devt ;
3292   u32 id ;
3293   spinlock_t devres_lock ;
3294   struct list_head devres_head ;
3295   struct klist_node knode_class ;
3296   struct class *class ;
3297   struct attribute_group    **groups ;
3298   void (*release)(struct device * ) ;
3299};
3300#line 681 "include/linux/device.h"
3301struct wakeup_source {
3302   char    *name ;
3303   struct list_head entry ;
3304   spinlock_t lock ;
3305   struct timer_list timer ;
3306   unsigned long timer_expires ;
3307   ktime_t total_time ;
3308   ktime_t max_time ;
3309   ktime_t last_time ;
3310   unsigned long event_count ;
3311   unsigned long active_count ;
3312   unsigned long relax_count ;
3313   unsigned long hit_count ;
3314   unsigned char active : 1 ;
3315};
3316#line 17 "include/linux/irqreturn.h"
3317struct hotplug_slot;
3318#line 17 "include/linux/irqreturn.h"
3319struct pci_slot {
3320   struct pci_bus *bus ;
3321   struct list_head list ;
3322   struct hotplug_slot *hotplug ;
3323   unsigned char number ;
3324   struct kobject kobj ;
3325};
3326#line 117 "include/linux/pci.h"
3327typedef int pci_power_t;
3328#line 143 "include/linux/pci.h"
3329typedef unsigned int pci_channel_state_t;
3330#line 144
3331enum pci_channel_state {
3332    pci_channel_io_normal = 1,
3333    pci_channel_io_frozen = 2,
3334    pci_channel_io_perm_failure = 3
3335} ;
3336#line 169 "include/linux/pci.h"
3337typedef unsigned short pci_dev_flags_t;
3338#line 186 "include/linux/pci.h"
3339typedef unsigned short pci_bus_flags_t;
3340#line 229
3341struct pcie_link_state;
3342#line 229
3343struct pcie_link_state;
3344#line 230
3345struct pci_vpd;
3346#line 230
3347struct pci_vpd;
3348#line 231
3349struct pci_sriov;
3350#line 231
3351struct pci_sriov;
3352#line 232
3353struct pci_ats;
3354#line 232
3355struct pci_ats;
3356#line 233
3357struct proc_dir_entry;
3358#line 233
3359struct pci_driver;
3360#line 233 "include/linux/pci.h"
3361union __anonunion_ldv_21901_173 {
3362   struct pci_sriov *sriov ;
3363   struct pci_dev *physfn ;
3364};
3365#line 233 "include/linux/pci.h"
3366struct pci_dev {
3367   struct list_head bus_list ;
3368   struct pci_bus *bus ;
3369   struct pci_bus *subordinate ;
3370   void *sysdata ;
3371   struct proc_dir_entry *procent ;
3372   struct pci_slot *slot ;
3373   unsigned int devfn ;
3374   unsigned short vendor ;
3375   unsigned short device ;
3376   unsigned short subsystem_vendor ;
3377   unsigned short subsystem_device ;
3378   unsigned int class ;
3379   u8 revision ;
3380   u8 hdr_type ;
3381   u8 pcie_cap ;
3382   unsigned char pcie_type : 4 ;
3383   unsigned char pcie_mpss : 3 ;
3384   u8 rom_base_reg ;
3385   u8 pin ;
3386   struct pci_driver *driver ;
3387   u64 dma_mask ;
3388   struct device_dma_parameters dma_parms ;
3389   pci_power_t current_state ;
3390   int pm_cap ;
3391   unsigned char pme_support : 5 ;
3392   unsigned char pme_interrupt : 1 ;
3393   unsigned char pme_poll : 1 ;
3394   unsigned char d1_support : 1 ;
3395   unsigned char d2_support : 1 ;
3396   unsigned char no_d1d2 : 1 ;
3397   unsigned char mmio_always_on : 1 ;
3398   unsigned char wakeup_prepared : 1 ;
3399   unsigned int d3_delay ;
3400   struct pcie_link_state *link_state ;
3401   pci_channel_state_t error_state ;
3402   struct device dev ;
3403   int cfg_size ;
3404   unsigned int irq ;
3405   struct resource resource[17U] ;
3406   unsigned char transparent : 1 ;
3407   unsigned char multifunction : 1 ;
3408   unsigned char is_added : 1 ;
3409   unsigned char is_busmaster : 1 ;
3410   unsigned char no_msi : 1 ;
3411   unsigned char block_cfg_access : 1 ;
3412   unsigned char broken_parity_status : 1 ;
3413   unsigned char irq_reroute_variant : 2 ;
3414   unsigned char msi_enabled : 1 ;
3415   unsigned char msix_enabled : 1 ;
3416   unsigned char ari_enabled : 1 ;
3417   unsigned char is_managed : 1 ;
3418   unsigned char is_pcie : 1 ;
3419   unsigned char needs_freset : 1 ;
3420   unsigned char state_saved : 1 ;
3421   unsigned char is_physfn : 1 ;
3422   unsigned char is_virtfn : 1 ;
3423   unsigned char reset_fn : 1 ;
3424   unsigned char is_hotplug_bridge : 1 ;
3425   unsigned char __aer_firmware_first_valid : 1 ;
3426   unsigned char __aer_firmware_first : 1 ;
3427   pci_dev_flags_t dev_flags ;
3428   atomic_t enable_cnt ;
3429   u32 saved_config_space[16U] ;
3430   struct hlist_head saved_cap_space ;
3431   struct bin_attribute *rom_attr ;
3432   int rom_attr_enabled ;
3433   struct bin_attribute *res_attr[17U] ;
3434   struct bin_attribute *res_attr_wc[17U] ;
3435   struct list_head msi_list ;
3436   struct kset *msi_kset ;
3437   struct pci_vpd *vpd ;
3438   union __anonunion_ldv_21901_173 ldv_21901 ;
3439   struct pci_ats *ats ;
3440};
3441#line 403
3442struct pci_ops;
3443#line 403 "include/linux/pci.h"
3444struct pci_bus {
3445   struct list_head node ;
3446   struct pci_bus *parent ;
3447   struct list_head children ;
3448   struct list_head devices ;
3449   struct pci_dev *self ;
3450   struct list_head slots ;
3451   struct resource *resource[4U] ;
3452   struct list_head resources ;
3453   struct pci_ops *ops ;
3454   void *sysdata ;
3455   struct proc_dir_entry *procdir ;
3456   unsigned char number ;
3457   unsigned char primary ;
3458   unsigned char secondary ;
3459   unsigned char subordinate ;
3460   unsigned char max_bus_speed ;
3461   unsigned char cur_bus_speed ;
3462   char name[48U] ;
3463   unsigned short bridge_ctl ;
3464   pci_bus_flags_t bus_flags ;
3465   struct device *bridge ;
3466   struct device dev ;
3467   struct bin_attribute *legacy_io ;
3468   struct bin_attribute *legacy_mem ;
3469   unsigned char is_added : 1 ;
3470};
3471#line 455 "include/linux/pci.h"
3472struct pci_ops {
3473   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
3474   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
3475};
3476#line 490 "include/linux/pci.h"
3477struct pci_dynids {
3478   spinlock_t lock ;
3479   struct list_head list ;
3480};
3481#line 503 "include/linux/pci.h"
3482typedef unsigned int pci_ers_result_t;
3483#line 512 "include/linux/pci.h"
3484struct pci_error_handlers {
3485   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
3486   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
3487   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
3488   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
3489   void (*resume)(struct pci_dev * ) ;
3490};
3491#line 540 "include/linux/pci.h"
3492struct pci_driver {
3493   struct list_head node ;
3494   char    *name ;
3495   struct pci_device_id    *id_table ;
3496   int (*probe)(struct pci_dev * , struct pci_device_id    * ) ;
3497   void (*remove)(struct pci_dev * ) ;
3498   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
3499   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
3500   int (*resume_early)(struct pci_dev * ) ;
3501   int (*resume)(struct pci_dev * ) ;
3502   void (*shutdown)(struct pci_dev * ) ;
3503   struct pci_error_handlers *err_handler ;
3504   struct device_driver driver ;
3505   struct pci_dynids dynids ;
3506};
3507#line 986 "include/linux/pci.h"
3508struct scatterlist {
3509   unsigned long sg_magic ;
3510   unsigned long page_link ;
3511   unsigned int offset ;
3512   unsigned int length ;
3513   dma_addr_t dma_address ;
3514   unsigned int dma_length ;
3515};
3516#line 17 "include/asm-generic/scatterlist.h"
3517struct dma_pool;
3518#line 178 "include/linux/mm.h"
3519struct vm_fault {
3520   unsigned int flags ;
3521   unsigned long pgoff ;
3522   void *virtual_address ;
3523   struct page *page ;
3524};
3525#line 195 "include/linux/mm.h"
3526struct vm_operations_struct {
3527   void (*open)(struct vm_area_struct * ) ;
3528   void (*close)(struct vm_area_struct * ) ;
3529   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
3530   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
3531   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
3532   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
3533   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
3534   int (*migrate)(struct vm_area_struct * , nodemask_t    * , nodemask_t    * ,
3535                  unsigned long  ) ;
3536};
3537#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
3538struct dma_attrs {
3539   unsigned long flags[1U] ;
3540};
3541#line 67 "include/linux/dma-attrs.h"
3542enum dma_data_direction {
3543    DMA_BIDIRECTIONAL = 0,
3544    DMA_TO_DEVICE = 1,
3545    DMA_FROM_DEVICE = 2,
3546    DMA_NONE = 3
3547} ;
3548#line 268 "include/linux/scatterlist.h"
3549struct dma_map_ops {
3550   void *(*alloc)(struct device * , size_t  , dma_addr_t * , gfp_t  , struct dma_attrs * ) ;
3551   void (*free)(struct device * , size_t  , void * , dma_addr_t  , struct dma_attrs * ) ;
3552   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
3553               size_t  , struct dma_attrs * ) ;
3554   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
3555                          enum dma_data_direction  , struct dma_attrs * ) ;
3556   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
3557                      struct dma_attrs * ) ;
3558   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
3559                 struct dma_attrs * ) ;
3560   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
3561                    struct dma_attrs * ) ;
3562   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
3563   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
3564   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
3565   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
3566   int (*mapping_error)(struct device * , dma_addr_t  ) ;
3567   int (*dma_supported)(struct device * , u64  ) ;
3568   int (*set_dma_mask)(struct device * , u64  ) ;
3569   int is_phys ;
3570};
3571#line 1722 "include/linux/pci.h"
3572struct miscdevice {
3573   int minor ;
3574   char    *name ;
3575   struct file_operations    *fops ;
3576   struct list_head list ;
3577   struct device *parent ;
3578   struct device *this_device ;
3579   char    *nodename ;
3580   umode_t mode ;
3581};
3582#line 177 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3583struct __anonstruct_mbox_t_174 {
3584   uint8_t cmd ;
3585   uint8_t cmdid ;
3586   uint16_t numsectors ;
3587   uint32_t lba ;
3588   uint32_t xferaddr ;
3589   uint8_t logdrv ;
3590   uint8_t numsge ;
3591   uint8_t resvd ;
3592   uint8_t busy ;
3593   uint8_t numstatus ;
3594   uint8_t status ;
3595   uint8_t completed[46U] ;
3596   uint8_t poll ;
3597   uint8_t ack ;
3598};
3599#line 177 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3600typedef struct __anonstruct_mbox_t_174 mbox_t;
3601#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3602struct __anonstruct_mbox64_t_175 {
3603   uint32_t xferaddr_lo ;
3604   uint32_t xferaddr_hi ;
3605   mbox_t mbox32 ;
3606};
3607#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3608typedef struct __anonstruct_mbox64_t_175 mbox64_t;
3609#line 249 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3610struct __anonstruct_mraid_passthru_t_177 {
3611   unsigned char timeout : 3 ;
3612   unsigned char ars : 1 ;
3613   unsigned char reserved : 3 ;
3614   unsigned char islogical : 1 ;
3615   uint8_t logdrv ;
3616   uint8_t channel ;
3617   uint8_t target ;
3618   uint8_t queuetag ;
3619   uint8_t queueaction ;
3620   uint8_t cdb[10U] ;
3621   uint8_t cdblen ;
3622   uint8_t reqsenselen ;
3623   uint8_t reqsensearea[32U] ;
3624   uint8_t numsge ;
3625   uint8_t scsistatus ;
3626   uint32_t dataxferaddr ;
3627   uint32_t dataxferlen ;
3628};
3629#line 249 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3630typedef struct __anonstruct_mraid_passthru_t_177 mraid_passthru_t;
3631#line 787 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/mbox_defs.h"
3632struct uioc {
3633   uint8_t signature[16U] ;
3634   uint16_t mb_type ;
3635   uint16_t app_type ;
3636   uint32_t opcode ;
3637   uint32_t adapno ;
3638   uint64_t cmdbuf ;
3639   uint32_t xferlen ;
3640   uint32_t data_dir ;
3641   int32_t status ;
3642   uint8_t reserved[128U] ;
3643   void *user_data ;
3644   uint32_t user_data_len ;
3645   uint32_t pad_for_64bit_align ;
3646   mraid_passthru_t *user_pthru ;
3647   mraid_passthru_t *pthru32 ;
3648   dma_addr_t pthru32_h ;
3649   struct list_head list ;
3650   void (*done)(struct uioc * ) ;
3651   caddr_t buf_vaddr ;
3652   dma_addr_t buf_paddr ;
3653   int8_t pool_index ;
3654   uint8_t free_buf ;
3655   uint8_t timedout ;
3656};
3657#line 154 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3658typedef struct uioc uioc_t;
3659#line 155 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3660struct mraid_hba_info {
3661   uint16_t pci_vendor_id ;
3662   uint16_t pci_device_id ;
3663   uint16_t subsys_vendor_id ;
3664   uint16_t subsys_device_id ;
3665   uint64_t baseport ;
3666   uint8_t pci_bus ;
3667   uint8_t pci_dev_fn ;
3668   uint8_t pci_slot ;
3669   uint8_t irq ;
3670   uint32_t unique_id ;
3671   uint32_t host_no ;
3672   uint8_t num_ldrv ;
3673};
3674#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3675typedef struct mraid_hba_info mraid_hba_info_t;
3676#line 193 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3677struct mcontroller {
3678   uint64_t base ;
3679   uint8_t irq ;
3680   uint8_t numldrv ;
3681   uint8_t pcibus ;
3682   uint16_t pcidev ;
3683   uint8_t pcifun ;
3684   uint16_t pciid ;
3685   uint16_t pcivendor ;
3686   uint8_t pcislot ;
3687   uint32_t uid ;
3688};
3689#line 222 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3690typedef struct mcontroller mcontroller_t;
3691#line 223 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3692struct mm_dmapool {
3693   caddr_t vaddr ;
3694   dma_addr_t paddr ;
3695   uint32_t buf_size ;
3696   struct dma_pool *handle ;
3697   spinlock_t lock ;
3698   uint8_t in_use ;
3699};
3700#line 242 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3701typedef struct mm_dmapool mm_dmapool_t;
3702#line 243 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3703struct mraid_mmadp {
3704   uint32_t unique_id ;
3705   uint32_t drvr_type ;
3706   unsigned long drvr_data ;
3707   uint16_t timeout ;
3708   uint8_t max_kioc ;
3709   struct pci_dev *pdev ;
3710   int (*issue_uioc)(unsigned long  , uioc_t * , uint32_t  ) ;
3711   uint32_t quiescent ;
3712   struct list_head list ;
3713   uioc_t *kioc_list ;
3714   struct list_head kioc_pool ;
3715   spinlock_t kioc_pool_lock ;
3716   struct semaphore kioc_semaphore ;
3717   mbox64_t *mbox_list ;
3718   struct dma_pool *pthru_dma_pool ;
3719   mm_dmapool_t dma_pool_list[5U] ;
3720};
3721#line 294 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3722typedef struct mraid_mmadp mraid_mmadp_t;
3723#line 299 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3724struct __anonstruct_fcs_202 {
3725   uint8_t opcode ;
3726   uint8_t subopcode ;
3727   uint16_t adapno ;
3728   uint8_t *buffer ;
3729   uint32_t length ;
3730};
3731#line 299 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3732union __anonunion_ui_201 {
3733   uint8_t fca[16U] ;
3734   struct __anonstruct_fcs_202 fcs ;
3735};
3736#line 299 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
3737struct mimd {
3738   uint32_t inlen ;
3739   uint32_t outlen ;
3740   union __anonunion_ui_201 ui ;
3741   uint8_t mbox[18U] ;
3742   mraid_passthru_t pthru ;
3743   char *data ;
3744};
3745#line 97 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_mm.h"
3746typedef struct mimd mimd_t;
3747#line 1 "<compiler builtins>"
3748
3749#line 1
3750
3751#line 1
3752long __builtin_expect(long  , long  ) ;
3753#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
3754void ldv_spin_lock(void) ;
3755#line 3
3756void ldv_spin_unlock(void) ;
3757#line 4
3758int ldv_spin_trylock(void) ;
3759#line 101 "include/linux/printk.h"
3760extern int printk(char    *  , ...) ;
3761#line 192 "include/linux/kernel.h"
3762extern void might_fault(void) ;
3763#line 24 "include/linux/list.h"
3764__inline static void INIT_LIST_HEAD(struct list_head *list ) 
3765{ unsigned long __cil_tmp2 ;
3766  unsigned long __cil_tmp3 ;
3767
3768  {
3769#line 26
3770  *((struct list_head **)list) = list;
3771#line 27
3772  __cil_tmp2 = (unsigned long )list;
3773#line 27
3774  __cil_tmp3 = __cil_tmp2 + 8;
3775#line 27
3776  *((struct list_head **)__cil_tmp3) = list;
3777#line 28
3778  return;
3779}
3780}
3781#line 47
3782extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
3783#line 60 "include/linux/list.h"
3784__inline static void list_add(struct list_head *new , struct list_head *head ) 
3785{ struct list_head *__cil_tmp3 ;
3786
3787  {
3788  {
3789#line 62
3790  __cil_tmp3 = *((struct list_head **)head);
3791#line 62
3792  __list_add(new, head, __cil_tmp3);
3793  }
3794#line 63
3795  return;
3796}
3797}
3798#line 74 "include/linux/list.h"
3799__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
3800{ unsigned long __cil_tmp3 ;
3801  unsigned long __cil_tmp4 ;
3802  struct list_head *__cil_tmp5 ;
3803
3804  {
3805  {
3806#line 76
3807  __cil_tmp3 = (unsigned long )head;
3808#line 76
3809  __cil_tmp4 = __cil_tmp3 + 8;
3810#line 76
3811  __cil_tmp5 = *((struct list_head **)__cil_tmp4);
3812#line 76
3813  __list_add(new, __cil_tmp5, head);
3814  }
3815#line 77
3816  return;
3817}
3818}
3819#line 111
3820extern void __list_del_entry(struct list_head * ) ;
3821#line 142 "include/linux/list.h"
3822__inline static void list_del_init(struct list_head *entry ) 
3823{ 
3824
3825  {
3826  {
3827#line 144
3828  __list_del_entry(entry);
3829#line 145
3830  INIT_LIST_HEAD(entry);
3831  }
3832#line 146
3833  return;
3834}
3835}
3836#line 186 "include/linux/list.h"
3837__inline static int list_empty(struct list_head    *head ) 
3838{ unsigned long __cil_tmp2 ;
3839  struct list_head *   __cil_tmp3 ;
3840  struct list_head    *__cil_tmp4 ;
3841  unsigned long __cil_tmp5 ;
3842
3843  {
3844  {
3845#line 188
3846  __cil_tmp2 = (unsigned long )head;
3847#line 188
3848  __cil_tmp3 = *((struct list_head *   *)head);
3849#line 188
3850  __cil_tmp4 = (struct list_head    *)__cil_tmp3;
3851#line 188
3852  __cil_tmp5 = (unsigned long )__cil_tmp4;
3853#line 188
3854  return (__cil_tmp5 == __cil_tmp2);
3855  }
3856}
3857}
3858#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
3859extern void __bad_percpu_size(void) ;
3860#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
3861extern struct task_struct *current_task ;
3862#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
3863__inline static struct task_struct *get_current(void) 
3864{ struct task_struct *pfo_ret__ ;
3865
3866  {
3867#line 14
3868  if (8 == 1) {
3869#line 14
3870    goto case_1;
3871  } else
3872#line 14
3873  if (8 == 2) {
3874#line 14
3875    goto case_2;
3876  } else
3877#line 14
3878  if (8 == 4) {
3879#line 14
3880    goto case_4;
3881  } else
3882#line 14
3883  if (8 == 8) {
3884#line 14
3885    goto case_8;
3886  } else {
3887    {
3888#line 14
3889    goto switch_default;
3890#line 14
3891    if (0) {
3892      case_1: /* CIL Label */ 
3893#line 14
3894      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
3895#line 14
3896      goto ldv_2918;
3897      case_2: /* CIL Label */ 
3898#line 14
3899      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
3900#line 14
3901      goto ldv_2918;
3902      case_4: /* CIL Label */ 
3903#line 14
3904      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
3905#line 14
3906      goto ldv_2918;
3907      case_8: /* CIL Label */ 
3908#line 14
3909      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
3910#line 14
3911      goto ldv_2918;
3912      switch_default: /* CIL Label */ 
3913      {
3914#line 14
3915      __bad_percpu_size();
3916      }
3917    } else {
3918      switch_break: /* CIL Label */ ;
3919    }
3920    }
3921  }
3922  ldv_2918: ;
3923#line 14
3924  return (pfo_ret__);
3925}
3926}
3927#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3928extern void *__memcpy(void * , void    * , size_t  ) ;
3929#line 55
3930extern void *memset(void * , int  , size_t  ) ;
3931#line 60
3932extern int memcmp(void    * , void    * , size_t  ) ;
3933#line 65 "include/asm-generic/bug.h"
3934extern void warn_slowpath_fmt(char    * , int     , char const   *  , ...) ;
3935#line 261 "include/linux/lockdep.h"
3936extern void lockdep_init_map(struct lockdep_map * , char    * , struct lock_class_key * ,
3937                             int  ) ;
3938#line 93 "include/linux/spinlock.h"
3939extern void __raw_spin_lock_init(raw_spinlock_t * , char    * , struct lock_class_key * ) ;
3940#line 43 "include/linux/spinlock_api_smp.h"
3941extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long  ) ;
3942#line 272 "include/linux/spinlock.h"
3943__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
3944{ 
3945
3946  {
3947#line 274
3948  return ((struct raw_spinlock *)lock);
3949}
3950}
3951#line 350 "include/linux/spinlock.h"
3952__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags ) 
3953{ struct raw_spinlock *__cil_tmp5 ;
3954
3955  {
3956  {
3957#line 352
3958  __cil_tmp5 = (struct raw_spinlock *)lock;
3959#line 352
3960  _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
3961  }
3962#line 353
3963  return;
3964}
3965}
3966#line 350
3967__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
3968#line 79 "include/linux/wait.h"
3969extern void __init_waitqueue_head(wait_queue_head_t * , char    * , struct lock_class_key * ) ;
3970#line 155
3971extern void __wake_up(wait_queue_head_t * , unsigned int  , int  , void * ) ;
3972#line 584
3973extern void prepare_to_wait(wait_queue_head_t * , wait_queue_t * , int  ) ;
3974#line 586
3975extern void finish_wait(wait_queue_head_t * , wait_queue_t * ) ;
3976#line 589
3977extern int autoremove_wake_function(wait_queue_t * , unsigned int  , int  , void * ) ;
3978#line 134 "include/linux/mutex.h"
3979extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
3980#line 169
3981extern void mutex_unlock(struct mutex * ) ;
3982#line 82 "include/linux/jiffies.h"
3983extern unsigned long volatile   jiffies ;
3984#line 91 "include/linux/timer.h"
3985extern void init_timer_key(struct timer_list * , char    * , struct lock_class_key * ) ;
3986#line 275
3987extern void add_timer(struct timer_list * ) ;
3988#line 280
3989extern int del_timer_sync(struct timer_list * ) ;
3990#line 26 "include/linux/export.h"
3991extern struct module __this_module ;
3992#line 161 "include/linux/slab.h"
3993extern void kfree(void    * ) ;
3994#line 220 "include/linux/slub_def.h"
3995extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
3996#line 223
3997void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3998#line 225
3999extern void *__kmalloc(size_t  , gfp_t  ) ;
4000#line 268 "include/linux/slub_def.h"
4001__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags ) 
4002{ void *tmp___2 ;
4003
4004  {
4005  {
4006#line 283
4007  tmp___2 = __kmalloc(size, flags);
4008  }
4009#line 283
4010  return (tmp___2);
4011}
4012}
4013#line 268
4014__inline static void *kmalloc(size_t size , gfp_t flags ) ;
4015#line 353 "include/linux/slab.h"
4016__inline static void *kzalloc(size_t size , gfp_t flags ) ;
4017#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4018extern void *__VERIFIER_nondet_pointer(void) ;
4019#line 11
4020void ldv_check_alloc_flags(gfp_t flags ) ;
4021#line 12
4022void ldv_check_alloc_nonatomic(void) ;
4023#line 14
4024struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
4025#line 548 "include/linux/capability.h"
4026extern bool capable(int  ) ;
4027#line 362 "include/linux/sched.h"
4028extern void schedule(void) ;
4029#line 32 "include/linux/semaphore.h"
4030__inline static void sema_init(struct semaphore *sem , int val ) 
4031{ struct lock_class_key __key ;
4032  struct semaphore __r_expr_0 ;
4033  unsigned long __cil_tmp5 ;
4034  unsigned long __cil_tmp6 ;
4035  unsigned long __cil_tmp7 ;
4036  unsigned long __cil_tmp8 ;
4037  unsigned long __cil_tmp9 ;
4038  unsigned long __cil_tmp10 ;
4039  unsigned long __cil_tmp11 ;
4040  struct lockdep_map *__cil_tmp12 ;
4041  struct list_head *__r_expr_0_prev13 ;
4042  struct list_head *__r_expr_0_next14 ;
4043  unsigned int __r_expr_0_count15 ;
4044  struct lockdep_map __r_expr_0_dep_map16 ;
4045  void *__r_expr_0_owner17 ;
4046  unsigned int __r_expr_0_owner_cpu18 ;
4047  unsigned int __r_expr_0_magic19 ;
4048  union __anonunion_ldv_5907_29 __r_expr_0_ldv_590720 ;
4049
4050  {
4051  {
4052#line 35
4053  __r_expr_0_ldv_590720.head_tail = 0U;
4054#line 35
4055  __r_expr_0_magic19 = 3735899821U;
4056#line 35
4057  __r_expr_0_owner_cpu18 = 4294967295U;
4058#line 35
4059  __r_expr_0_owner17 = (void *)0xffffffffffffffffUL;
4060#line 35
4061  __r_expr_0_dep_map16.key = (struct lock_class_key *)0;
4062#line 35
4063  __r_expr_0_dep_map16.class_cache[0] = (struct lock_class *)0;
4064#line 35
4065  __r_expr_0_dep_map16.class_cache[1] = (struct lock_class *)0;
4066#line 35
4067  __r_expr_0_dep_map16.name = "(*sem).lock";
4068#line 35
4069  __r_expr_0_dep_map16.cpu = 0;
4070#line 35
4071  __r_expr_0_dep_map16.ip = 0UL;
4072#line 35
4073  __r_expr_0_count15 = (unsigned int )val;
4074#line 35
4075  __cil_tmp5 = (unsigned long )sem;
4076#line 35
4077  __cil_tmp6 = __cil_tmp5 + 80;
4078#line 35
4079  __r_expr_0_next14 = (struct list_head *)__cil_tmp6;
4080#line 35
4081  __cil_tmp7 = (unsigned long )sem;
4082#line 35
4083  __cil_tmp8 = __cil_tmp7 + 80;
4084#line 35
4085  __r_expr_0_prev13 = (struct list_head *)__cil_tmp8;
4086#line 35
4087  sem->lock.raw_lock.ldv_5907 = __r_expr_0_ldv_590720;
4088#line 35
4089  sem->lock.magic = __r_expr_0_magic19;
4090#line 35
4091  sem->lock.owner_cpu = __r_expr_0_owner_cpu18;
4092#line 35
4093  sem->lock.owner = __r_expr_0_owner17;
4094#line 35
4095  sem->lock.dep_map = __r_expr_0_dep_map16;
4096#line 35
4097  sem->count = __r_expr_0_count15;
4098#line 35
4099  sem->wait_list.next = __r_expr_0_next14;
4100#line 35
4101  sem->wait_list.prev = __r_expr_0_prev13;
4102#line 36
4103  __cil_tmp9 = 0 + 24;
4104#line 36
4105  __cil_tmp10 = (unsigned long )sem;
4106#line 36
4107  __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
4108#line 36
4109  __cil_tmp12 = (struct lockdep_map *)__cil_tmp11;
4110#line 36
4111  lockdep_init_map(__cil_tmp12, "semaphore->lock", & __key, 0);
4112  }
4113#line 37
4114  return;
4115}
4116}
4117#line 39
4118extern void down(struct semaphore * ) ;
4119#line 44
4120extern void up(struct semaphore * ) ;
4121#line 2401 "include/linux/fs.h"
4122extern loff_t noop_llseek(struct file * , loff_t  , int  ) ;
4123#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
4124extern unsigned long _copy_to_user(void * , void    * , unsigned int  ) ;
4125#line 42
4126extern unsigned long _copy_from_user(void * , void    * , unsigned int  ) ;
4127#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
4128__inline static unsigned long copy_from_user(void *to , void    *from , unsigned long n ) 
4129{ int sz ;
4130  unsigned long tmp ;
4131  int __ret_warn_on ;
4132  long tmp___0 ;
4133  long tmp___1 ;
4134  long tmp___2 ;
4135  void    *__cil_tmp10 ;
4136  void *__cil_tmp11 ;
4137  int __cil_tmp12 ;
4138  long __cil_tmp13 ;
4139  unsigned int __cil_tmp14 ;
4140  unsigned long __cil_tmp15 ;
4141  int __cil_tmp16 ;
4142  long __cil_tmp17 ;
4143  unsigned int __cil_tmp18 ;
4144  int __cil_tmp19 ;
4145  long __cil_tmp20 ;
4146  int    __cil_tmp21 ;
4147  int __cil_tmp22 ;
4148  long __cil_tmp23 ;
4149
4150  {
4151  {
4152#line 50
4153  __cil_tmp10 = (void    *)to;
4154#line 50
4155  __cil_tmp11 = (void *)__cil_tmp10;
4156#line 50
4157  tmp = __builtin_object_size(__cil_tmp11, 0);
4158#line 50
4159  sz = (int )tmp;
4160#line 52
4161  might_fault();
4162#line 53
4163  __cil_tmp12 = sz == -1;
4164#line 53
4165  __cil_tmp13 = (long )__cil_tmp12;
4166#line 53
4167  tmp___1 = __builtin_expect(__cil_tmp13, 1L);
4168  }
4169#line 53
4170  if (tmp___1 != 0L) {
4171    {
4172#line 54
4173    __cil_tmp14 = (unsigned int )n;
4174#line 54
4175    n = _copy_from_user(to, from, __cil_tmp14);
4176    }
4177  } else {
4178    {
4179#line 53
4180    __cil_tmp15 = (unsigned long )sz;
4181#line 53
4182    __cil_tmp16 = __cil_tmp15 >= n;
4183#line 53
4184    __cil_tmp17 = (long )__cil_tmp16;
4185#line 53
4186    tmp___2 = __builtin_expect(__cil_tmp17, 1L);
4187    }
4188#line 53
4189    if (tmp___2 != 0L) {
4190      {
4191#line 54
4192      __cil_tmp18 = (unsigned int )n;
4193#line 54
4194      n = _copy_from_user(to, from, __cil_tmp18);
4195      }
4196    } else {
4197      {
4198#line 57
4199      __ret_warn_on = 1;
4200#line 57
4201      __cil_tmp19 = __ret_warn_on != 0;
4202#line 57
4203      __cil_tmp20 = (long )__cil_tmp19;
4204#line 57
4205      tmp___0 = __builtin_expect(__cil_tmp20, 0L);
4206      }
4207#line 57
4208      if (tmp___0 != 0L) {
4209        {
4210#line 57
4211        __cil_tmp21 = (int    )57;
4212#line 57
4213        warn_slowpath_fmt("/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h",
4214                          __cil_tmp21, "Buffer overflow detected!\n");
4215        }
4216      } else {
4217
4218      }
4219      {
4220#line 57
4221      __cil_tmp22 = __ret_warn_on != 0;
4222#line 57
4223      __cil_tmp23 = (long )__cil_tmp22;
4224#line 57
4225      __builtin_expect(__cil_tmp23, 0L);
4226      }
4227    }
4228  }
4229#line 59
4230  return (n);
4231}
4232}
4233#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
4234__inline static int copy_to_user(void *dst , void    *src , unsigned int size ) 
4235{ unsigned long tmp ;
4236
4237  {
4238  {
4239#line 65
4240  might_fault();
4241#line 67
4242  tmp = _copy_to_user(dst, src, size);
4243  }
4244#line 67
4245  return ((int )tmp);
4246}
4247}
4248#line 17 "include/asm-generic/scatterlist.h"
4249extern struct dma_pool *dma_pool_create(char    * , struct device * , size_t  ,
4250                                        size_t  , size_t  ) ;
4251#line 20 "include/linux/dmapool.h"
4252extern void dma_pool_destroy(struct dma_pool * ) ;
4253#line 22
4254extern void *dma_pool_alloc(struct dma_pool * , gfp_t  , dma_addr_t * ) ;
4255#line 26
4256void *ldv_dma_pool_alloc_19(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
4257                            dma_addr_t *ldv_func_arg3 ) ;
4258#line 30
4259void *ldv_dma_pool_alloc_20(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
4260                            dma_addr_t *ldv_func_arg3 ) ;
4261#line 34
4262void *ldv_dma_pool_alloc_21(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
4263                            dma_addr_t *ldv_func_arg3 ) ;
4264#line 37
4265extern void dma_pool_free(struct dma_pool * , void * , dma_addr_t  ) ;
4266#line 61 "include/linux/miscdevice.h"
4267extern int misc_register(struct miscdevice * ) ;
4268#line 62
4269extern int misc_deregister(struct miscdevice * ) ;
4270#line 296 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/scsi/megaraid/megaraid_ioctl.h"
4271int mraid_mm_register_adp(mraid_mmadp_t *lld_adp ) ;
4272#line 297
4273int mraid_mm_unregister_adp(uint32_t unique_id ) ;
4274#line 298
4275uint32_t mraid_mm_adapter_app_handle(uint32_t unique_id ) ;
4276#line 39 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4277static struct mutex mraid_mm_mutex  =    {{1}, {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
4278                                                                             {(struct lock_class *)0,
4279                                                                              (struct lock_class *)0},
4280                                                                             "mraid_mm_mutex.wait_lock",
4281                                                                             0, 0UL}}}},
4282    {& mraid_mm_mutex.wait_list, & mraid_mm_mutex.wait_list}, (struct task_struct *)0,
4283    (char    *)0, (void *)(& mraid_mm_mutex), {(struct lock_class_key *)0, {(struct lock_class *)0,
4284                                                                                 (struct lock_class *)0},
4285                                                    "mraid_mm_mutex", 0, 0UL}};
4286#line 40
4287static int mraid_mm_open(struct inode *inode , struct file *filep ) ;
4288#line 41
4289static long mraid_mm_unlocked_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) ;
4290#line 45
4291static int mimd_to_kioc(mimd_t *umimd , mraid_mmadp_t *adp , uioc_t *kioc ) ;
4292#line 46
4293static int kioc_to_mimd(uioc_t *kioc , mimd_t *mimd ) ;
4294#line 50
4295static int handle_drvrcmd(void *arg , uint8_t old_ioctl , int *rval ) ;
4296#line 51
4297static int lld_ioctl(mraid_mmadp_t *adp , uioc_t *kioc ) ;
4298#line 52
4299static void ioctl_done(uioc_t *kioc ) ;
4300#line 53
4301static void lld_timedout(unsigned long ptr ) ;
4302#line 54
4303static void hinfo_to_cinfo(mraid_hba_info_t *hinfo , mcontroller_t *cinfo ) ;
4304#line 55
4305static mraid_mmadp_t *mraid_mm_get_adapter(mimd_t *umimd , int *rval ) ;
4306#line 56
4307static uioc_t *mraid_mm_alloc_kioc(mraid_mmadp_t *adp ) ;
4308#line 57
4309static void mraid_mm_dealloc_kioc(mraid_mmadp_t *adp , uioc_t *kioc ) ;
4310#line 58
4311static int mraid_mm_attach_buf(mraid_mmadp_t *adp , uioc_t *kioc , int xferlen ) ;
4312#line 59
4313static int mraid_mm_setup_dma_pools(mraid_mmadp_t *adp ) ;
4314#line 60
4315static void mraid_mm_free_adp_resources(mraid_mmadp_t *adp ) ;
4316#line 61
4317static void mraid_mm_teardown_dma_pools(mraid_mmadp_t *adp ) ;
4318#line 64
4319static long mraid_mm_compat_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) ;
4320#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4321static int dbglevel  =    0;
4322#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4323static uint32_t drvr_ver  =    35652103U;
4324#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4325static int adapters_count_g  ;
4326#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4327static struct list_head adapters_list_g  ;
4328#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4329static wait_queue_head_t wait_q  ;
4330#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4331static struct file_operations    lsi_fops  = 
4332#line 87
4333     {& __this_module, & noop_llseek, (ssize_t (*)(struct file * , char * , size_t  ,
4334                                                 loff_t * ))0, (ssize_t (*)(struct file * ,
4335                                                                            char    * ,
4336                                                                            size_t  ,
4337                                                                            loff_t * ))0,
4338    (ssize_t (*)(struct kiocb * , struct iovec    * , unsigned long  , loff_t  ))0,
4339    (ssize_t (*)(struct kiocb * , struct iovec    * , unsigned long  , loff_t  ))0,
4340    (int (*)(struct file * , void * , int (*)(void * , char    * , int  , loff_t  ,
4341                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
4342                                                                                            struct poll_table_struct * ))0,
4343    & mraid_mm_unlocked_ioctl, & mraid_mm_compat_ioctl, (int (*)(struct file * , struct vm_area_struct * ))0,
4344    & mraid_mm_open, (int (*)(struct file * , fl_owner_t  ))0, (int (*)(struct inode * ,
4345                                                                        struct file * ))0,
4346    (int (*)(struct file * , loff_t  , loff_t  , int  ))0, (int (*)(struct kiocb * ,
4347                                                                    int  ))0, (int (*)(int  ,
4348                                                                                       struct file * ,
4349                                                                                       int  ))0,
4350    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
4351                                                                         struct page * ,
4352                                                                         int  , size_t  ,
4353                                                                         loff_t * ,
4354                                                                         int  ))0,
4355    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
4356                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
4357                                                                       int  , struct file_lock * ))0,
4358    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
4359    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
4360    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
4361                                                                        int  , loff_t  ,
4362                                                                        loff_t  ))0};
4363#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4364static struct miscdevice megaraid_mm_dev  = 
4365#line 97
4366     {255, "megadev0", & lsi_fops, {(struct list_head *)0, (struct list_head *)0}, (struct device *)0,
4367    (struct device *)0, (char    *)0, (unsigned short)0};
4368#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4369static int mraid_mm_open(struct inode *inode , struct file *filep ) 
4370{ bool tmp ;
4371  int tmp___0 ;
4372
4373  {
4374  {
4375#line 116
4376  tmp = capable(21);
4377  }
4378#line 116
4379  if (tmp) {
4380#line 116
4381    tmp___0 = 0;
4382  } else {
4383#line 116
4384    tmp___0 = 1;
4385  }
4386#line 116
4387  if (tmp___0) {
4388#line 116
4389    return (-13);
4390  } else {
4391
4392  }
4393#line 118
4394  return (0);
4395}
4396}
4397#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4398static int mraid_mm_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) 
4399{ uioc_t *kioc ;
4400  char signature[16U] ;
4401  int rval ;
4402  mraid_mmadp_t *adp ;
4403  uint8_t old_ioctl ;
4404  int drvrcmd_rval ;
4405  void *argp ;
4406  unsigned long tmp ;
4407  int tmp___0 ;
4408  unsigned long __cil_tmp13 ;
4409  unsigned long __cil_tmp14 ;
4410  unsigned long __cil_tmp15 ;
4411  unsigned long __cil_tmp16 ;
4412  unsigned long __cil_tmp17 ;
4413  unsigned long __cil_tmp18 ;
4414  unsigned long __cil_tmp19 ;
4415  unsigned long __cil_tmp20 ;
4416  unsigned long __cil_tmp21 ;
4417  unsigned long __cil_tmp22 ;
4418  unsigned long __cil_tmp23 ;
4419  unsigned long __cil_tmp24 ;
4420  unsigned long __cil_tmp25 ;
4421  unsigned long __cil_tmp26 ;
4422  unsigned long __cil_tmp27 ;
4423  unsigned long __cil_tmp28 ;
4424  unsigned long __cil_tmp29 ;
4425  unsigned long __cil_tmp30 ;
4426  unsigned long __cil_tmp31 ;
4427  unsigned long __cil_tmp32 ;
4428  unsigned long __cil_tmp33 ;
4429  unsigned long __cil_tmp34 ;
4430  unsigned long __cil_tmp35 ;
4431  unsigned long __cil_tmp36 ;
4432  unsigned long __cil_tmp37 ;
4433  unsigned long __cil_tmp38 ;
4434  unsigned long __cil_tmp39 ;
4435  unsigned long __cil_tmp40 ;
4436  unsigned long __cil_tmp41 ;
4437  unsigned long __cil_tmp42 ;
4438  unsigned long __cil_tmp43 ;
4439  unsigned long __cil_tmp44 ;
4440  unsigned int __cil_tmp45 ;
4441  unsigned int __cil_tmp46 ;
4442  void *__cil_tmp47 ;
4443  void    *__cil_tmp48 ;
4444  int *__cil_tmp49 ;
4445  int __cil_tmp50 ;
4446  void    *__cil_tmp51 ;
4447  void    *__cil_tmp52 ;
4448  unsigned int __cil_tmp53 ;
4449  int *__cil_tmp54 ;
4450  int __cil_tmp55 ;
4451  uint8_t __cil_tmp56 ;
4452  int *__cil_tmp57 ;
4453  int __cil_tmp58 ;
4454  int *__cil_tmp59 ;
4455  int *__cil_tmp60 ;
4456  int __cil_tmp61 ;
4457  int *__cil_tmp62 ;
4458  int *__cil_tmp63 ;
4459  mimd_t *__cil_tmp64 ;
4460  mraid_mmadp_t *__cil_tmp65 ;
4461  unsigned long __cil_tmp66 ;
4462  unsigned long __cil_tmp67 ;
4463  int *__cil_tmp68 ;
4464  unsigned long __cil_tmp69 ;
4465  unsigned long __cil_tmp70 ;
4466  uint32_t __cil_tmp71 ;
4467  int *__cil_tmp72 ;
4468  int __cil_tmp73 ;
4469  int *__cil_tmp74 ;
4470  mimd_t *__cil_tmp75 ;
4471  int *__cil_tmp76 ;
4472  int __cil_tmp77 ;
4473  int *__cil_tmp78 ;
4474  unsigned long __cil_tmp79 ;
4475  unsigned long __cil_tmp80 ;
4476  int *__cil_tmp81 ;
4477  int *__cil_tmp82 ;
4478  int __cil_tmp83 ;
4479  unsigned long __cil_tmp84 ;
4480  unsigned long __cil_tmp85 ;
4481  uint8_t __cil_tmp86 ;
4482  unsigned int __cil_tmp87 ;
4483  int *__cil_tmp88 ;
4484  int *__cil_tmp89 ;
4485  mimd_t *__cil_tmp90 ;
4486  int *__cil_tmp91 ;
4487
4488  {
4489#line 132
4490  __cil_tmp13 = 0 * 1UL;
4491#line 132
4492  __cil_tmp14 = (unsigned long )(signature) + __cil_tmp13;
4493#line 132
4494  *((char *)__cil_tmp14) = (char)0;
4495#line 132
4496  __cil_tmp15 = 1 * 1UL;
4497#line 132
4498  __cil_tmp16 = (unsigned long )(signature) + __cil_tmp15;
4499#line 132
4500  *((char *)__cil_tmp16) = (char)0;
4501#line 132
4502  __cil_tmp17 = 2 * 1UL;
4503#line 132
4504  __cil_tmp18 = (unsigned long )(signature) + __cil_tmp17;
4505#line 132
4506  *((char *)__cil_tmp18) = (char)0;
4507#line 132
4508  __cil_tmp19 = 3 * 1UL;
4509#line 132
4510  __cil_tmp20 = (unsigned long )(signature) + __cil_tmp19;
4511#line 132
4512  *((char *)__cil_tmp20) = (char)0;
4513#line 132
4514  __cil_tmp21 = 4 * 1UL;
4515#line 132
4516  __cil_tmp22 = (unsigned long )(signature) + __cil_tmp21;
4517#line 132
4518  *((char *)__cil_tmp22) = (char)0;
4519#line 132
4520  __cil_tmp23 = 5 * 1UL;
4521#line 132
4522  __cil_tmp24 = (unsigned long )(signature) + __cil_tmp23;
4523#line 132
4524  *((char *)__cil_tmp24) = (char)0;
4525#line 132
4526  __cil_tmp25 = 6 * 1UL;
4527#line 132
4528  __cil_tmp26 = (unsigned long )(signature) + __cil_tmp25;
4529#line 132
4530  *((char *)__cil_tmp26) = (char)0;
4531#line 132
4532  __cil_tmp27 = 7 * 1UL;
4533#line 132
4534  __cil_tmp28 = (unsigned long )(signature) + __cil_tmp27;
4535#line 132
4536  *((char *)__cil_tmp28) = (char)0;
4537#line 132
4538  __cil_tmp29 = 8 * 1UL;
4539#line 132
4540  __cil_tmp30 = (unsigned long )(signature) + __cil_tmp29;
4541#line 132
4542  *((char *)__cil_tmp30) = (char)0;
4543#line 132
4544  __cil_tmp31 = 9 * 1UL;
4545#line 132
4546  __cil_tmp32 = (unsigned long )(signature) + __cil_tmp31;
4547#line 132
4548  *((char *)__cil_tmp32) = (char)0;
4549#line 132
4550  __cil_tmp33 = 10 * 1UL;
4551#line 132
4552  __cil_tmp34 = (unsigned long )(signature) + __cil_tmp33;
4553#line 132
4554  *((char *)__cil_tmp34) = (char)0;
4555#line 132
4556  __cil_tmp35 = 11 * 1UL;
4557#line 132
4558  __cil_tmp36 = (unsigned long )(signature) + __cil_tmp35;
4559#line 132
4560  *((char *)__cil_tmp36) = (char)0;
4561#line 132
4562  __cil_tmp37 = 12 * 1UL;
4563#line 132
4564  __cil_tmp38 = (unsigned long )(signature) + __cil_tmp37;
4565#line 132
4566  *((char *)__cil_tmp38) = (char)0;
4567#line 132
4568  __cil_tmp39 = 13 * 1UL;
4569#line 132
4570  __cil_tmp40 = (unsigned long )(signature) + __cil_tmp39;
4571#line 132
4572  *((char *)__cil_tmp40) = (char)0;
4573#line 132
4574  __cil_tmp41 = 14 * 1UL;
4575#line 132
4576  __cil_tmp42 = (unsigned long )(signature) + __cil_tmp41;
4577#line 132
4578  *((char *)__cil_tmp42) = (char)0;
4579#line 132
4580  __cil_tmp43 = 15 * 1UL;
4581#line 132
4582  __cil_tmp44 = (unsigned long )(signature) + __cil_tmp43;
4583#line 132
4584  *((char *)__cil_tmp44) = (char)0;
4585#line 137
4586  argp = (void *)arg;
4587  {
4588#line 144
4589  __cil_tmp45 = cmd >> 8;
4590#line 144
4591  __cil_tmp46 = __cil_tmp45 & 255U;
4592#line 144
4593  if (__cil_tmp46 != 109U) {
4594#line 144
4595    if (cmd != 128U) {
4596#line 145
4597      return (-22);
4598    } else {
4599
4600    }
4601  } else {
4602
4603  }
4604  }
4605  {
4606#line 151
4607  __cil_tmp47 = (void *)(& signature);
4608#line 151
4609  __cil_tmp48 = (void    *)argp;
4610#line 151
4611  tmp = copy_from_user(__cil_tmp47, __cil_tmp48, 16UL);
4612  }
4613#line 151
4614  if (tmp != 0UL) {
4615    {
4616#line 152
4617    __cil_tmp49 = & dbglevel;
4618#line 152
4619    __cil_tmp50 = *__cil_tmp49;
4620#line 152
4621    if (__cil_tmp50 >= 0) {
4622      {
4623#line 152
4624      printk("<4>megaraid cmm: copy from usr addr failed\n");
4625      }
4626    } else {
4627
4628    }
4629    }
4630#line 154
4631    return (-14);
4632  } else {
4633
4634  }
4635  {
4636#line 157
4637  __cil_tmp51 = (void    *)(& signature);
4638#line 157
4639  __cil_tmp52 = (void    *)"$$_EXTD_IOCTL_$$";
4640#line 157
4641  tmp___0 = memcmp(__cil_tmp51, __cil_tmp52, 16UL);
4642  }
4643#line 157
4644  if (tmp___0 == 0) {
4645#line 158
4646    old_ioctl = (uint8_t )0U;
4647  } else {
4648#line 160
4649    old_ioctl = (uint8_t )1U;
4650  }
4651  {
4652#line 165
4653  __cil_tmp53 = (unsigned int )old_ioctl;
4654#line 165
4655  if (__cil_tmp53 == 0U) {
4656#line 166
4657    return (-22);
4658  } else {
4659
4660  }
4661  }
4662  {
4663#line 172
4664  __cil_tmp54 = & rval;
4665#line 172
4666  __cil_tmp55 = (int )old_ioctl;
4667#line 172
4668  __cil_tmp56 = (uint8_t )__cil_tmp55;
4669#line 172
4670  *__cil_tmp54 = handle_drvrcmd(argp, __cil_tmp56, & drvrcmd_rval);
4671  }
4672  {
4673#line 174
4674  __cil_tmp57 = & rval;
4675#line 174
4676  __cil_tmp58 = *__cil_tmp57;
4677#line 174
4678  if (__cil_tmp58 < 0) {
4679    {
4680#line 175
4681    __cil_tmp59 = & rval;
4682#line 175
4683    return (*__cil_tmp59);
4684    }
4685  } else {
4686    {
4687#line 176
4688    __cil_tmp60 = & rval;
4689#line 176
4690    __cil_tmp61 = *__cil_tmp60;
4691#line 176
4692    if (__cil_tmp61 == 0) {
4693      {
4694#line 177
4695      __cil_tmp62 = & drvrcmd_rval;
4696#line 177
4697      return (*__cil_tmp62);
4698      }
4699    } else {
4700
4701    }
4702    }
4703  }
4704  }
4705  {
4706#line 179
4707  __cil_tmp63 = & rval;
4708#line 179
4709  *__cil_tmp63 = 0;
4710#line 180
4711  __cil_tmp64 = (mimd_t *)argp;
4712#line 180
4713  adp = mraid_mm_get_adapter(__cil_tmp64, & rval);
4714  }
4715  {
4716#line 180
4717  __cil_tmp65 = (mraid_mmadp_t *)0;
4718#line 180
4719  __cil_tmp66 = (unsigned long )__cil_tmp65;
4720#line 180
4721  __cil_tmp67 = (unsigned long )adp;
4722#line 180
4723  if (__cil_tmp67 == __cil_tmp66) {
4724    {
4725#line 181
4726    __cil_tmp68 = & rval;
4727#line 181
4728    return (*__cil_tmp68);
4729    }
4730  } else {
4731
4732  }
4733  }
4734  {
4735#line 188
4736  __cil_tmp69 = (unsigned long )adp;
4737#line 188
4738  __cil_tmp70 = __cil_tmp69 + 40;
4739#line 188
4740  __cil_tmp71 = *((uint32_t *)__cil_tmp70);
4741#line 188
4742  if (__cil_tmp71 == 0U) {
4743    {
4744#line 189
4745    __cil_tmp72 = & dbglevel;
4746#line 189
4747    __cil_tmp73 = *__cil_tmp72;
4748#line 189
4749    if (__cil_tmp73 >= 0) {
4750      {
4751#line 189
4752      printk("<4>megaraid cmm: controller cannot accept cmds due to earlier errors\n");
4753      }
4754    } else {
4755
4756    }
4757    }
4758#line 192
4759    return (-14);
4760  } else {
4761
4762  }
4763  }
4764  {
4765#line 198
4766  kioc = mraid_mm_alloc_kioc(adp);
4767#line 203
4768  __cil_tmp74 = & rval;
4769#line 203
4770  __cil_tmp75 = (mimd_t *)argp;
4771#line 203
4772  *__cil_tmp74 = mimd_to_kioc(__cil_tmp75, adp, kioc);
4773  }
4774  {
4775#line 203
4776  __cil_tmp76 = & rval;
4777#line 203
4778  __cil_tmp77 = *__cil_tmp76;
4779#line 203
4780  if (__cil_tmp77 != 0) {
4781    {
4782#line 204
4783    mraid_mm_dealloc_kioc(adp, kioc);
4784    }
4785    {
4786#line 205
4787    __cil_tmp78 = & rval;
4788#line 205
4789    return (*__cil_tmp78);
4790    }
4791  } else {
4792
4793  }
4794  }
4795  {
4796#line 208
4797  __cil_tmp79 = (unsigned long )kioc;
4798#line 208
4799  __cil_tmp80 = __cil_tmp79 + 240;
4800#line 208
4801  *((void (**)(struct uioc * ))__cil_tmp80) = & ioctl_done;
4802#line 215
4803  __cil_tmp81 = & rval;
4804#line 215
4805  *__cil_tmp81 = lld_ioctl(adp, kioc);
4806  }
4807  {
4808#line 215
4809  __cil_tmp82 = & rval;
4810#line 215
4811  __cil_tmp83 = *__cil_tmp82;
4812#line 215
4813  if (__cil_tmp83 != 0) {
4814    {
4815#line 217
4816    __cil_tmp84 = (unsigned long )kioc;
4817#line 217
4818    __cil_tmp85 = __cil_tmp84 + 266;
4819#line 217
4820    __cil_tmp86 = *((uint8_t *)__cil_tmp85);
4821#line 217
4822    __cil_tmp87 = (unsigned int )__cil_tmp86;
4823#line 217
4824    if (__cil_tmp87 == 0U) {
4825      {
4826#line 218
4827      mraid_mm_dealloc_kioc(adp, kioc);
4828      }
4829    } else {
4830
4831    }
4832    }
4833    {
4834#line 220
4835    __cil_tmp88 = & rval;
4836#line 220
4837    return (*__cil_tmp88);
4838    }
4839  } else {
4840
4841  }
4842  }
4843  {
4844#line 226
4845  __cil_tmp89 = & rval;
4846#line 226
4847  __cil_tmp90 = (mimd_t *)argp;
4848#line 226
4849  *__cil_tmp89 = kioc_to_mimd(kioc, __cil_tmp90);
4850#line 231
4851  mraid_mm_dealloc_kioc(adp, kioc);
4852  }
4853  {
4854#line 233
4855  __cil_tmp91 = & rval;
4856#line 233
4857  return (*__cil_tmp91);
4858  }
4859}
4860}
4861#line 237 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4862static long mraid_mm_unlocked_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) 
4863{ int err ;
4864
4865  {
4866  {
4867#line 243
4868  mutex_lock_nested(& mraid_mm_mutex, 0U);
4869#line 244
4870  err = mraid_mm_ioctl(filep, cmd, arg);
4871#line 245
4872  mutex_unlock(& mraid_mm_mutex);
4873  }
4874#line 247
4875  return ((long )err);
4876}
4877}
4878#line 258 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
4879static mraid_mmadp_t *mraid_mm_get_adapter(mimd_t *umimd , int *rval ) 
4880{ mraid_mmadp_t *adapter ;
4881  mimd_t mimd ;
4882  uint32_t adapno ;
4883  int iterator ;
4884  unsigned long tmp ;
4885  struct list_head    *__mptr ;
4886  int tmp___0 ;
4887  struct list_head    *__mptr___0 ;
4888  void *__cil_tmp11 ;
4889  void    *__cil_tmp12 ;
4890  unsigned long __cil_tmp13 ;
4891  unsigned long __cil_tmp14 ;
4892  unsigned long __cil_tmp15 ;
4893  uint16_t __cil_tmp16 ;
4894  unsigned int __cil_tmp17 ;
4895  int *__cil_tmp18 ;
4896  int __cil_tmp19 ;
4897  uint32_t __cil_tmp20 ;
4898  struct list_head *__cil_tmp21 ;
4899  struct list_head *__cil_tmp22 ;
4900  mraid_mmadp_t *__cil_tmp23 ;
4901  uint32_t __cil_tmp24 ;
4902  unsigned long __cil_tmp25 ;
4903  unsigned long __cil_tmp26 ;
4904  struct list_head *__cil_tmp27 ;
4905  mraid_mmadp_t *__cil_tmp28 ;
4906  unsigned long __cil_tmp29 ;
4907  unsigned long __cil_tmp30 ;
4908  unsigned long __cil_tmp31 ;
4909  struct list_head *__cil_tmp32 ;
4910  unsigned long __cil_tmp33 ;
4911  mraid_mmadp_t *__cil_tmp34 ;
4912  unsigned long __cil_tmp35 ;
4913  unsigned long __cil_tmp36 ;
4914
4915  {
4916  {
4917#line 266
4918  __cil_tmp11 = (void *)(& mimd);
4919#line 266
4920  __cil_tmp12 = (void    *)umimd;
4921#line 266
4922  tmp = copy_from_user(__cil_tmp11, __cil_tmp12, 110UL);
4923  }
4924#line 266
4925  if (tmp != 0UL) {
4926#line 267
4927    *rval = -14;
4928#line 268
4929    return ((mraid_mmadp_t *)0);
4930  } else {
4931
4932  }
4933#line 271
4934  __cil_tmp13 = 0 + 2;
4935#line 271
4936  __cil_tmp14 = 8 + __cil_tmp13;
4937#line 271
4938  __cil_tmp15 = (unsigned long )(& mimd) + __cil_tmp14;
4939#line 271
4940  __cil_tmp16 = *((uint16_t *)__cil_tmp15);
4941#line 271
4942  __cil_tmp17 = (unsigned int )__cil_tmp16;
4943#line 271
4944  adapno = __cil_tmp17 ^ 27904U;
4945  {
4946#line 273
4947  __cil_tmp18 = & adapters_count_g;
4948#line 273
4949  __cil_tmp19 = *__cil_tmp18;
4950#line 273
4951  __cil_tmp20 = (uint32_t )__cil_tmp19;
4952#line 273
4953  if (__cil_tmp20 <= adapno) {
4954#line 274
4955    *rval = -19;
4956#line 275
4957    return ((mraid_mmadp_t *)0);
4958  } else {
4959
4960  }
4961  }
4962#line 278
4963  adapter = (mraid_mmadp_t *)0;
4964#line 279
4965  iterator = 0;
4966#line 281
4967  __cil_tmp21 = & adapters_list_g;
4968#line 281
4969  __cil_tmp22 = *((struct list_head **)__cil_tmp21);
4970#line 281
4971  __mptr = (struct list_head    *)__cil_tmp22;
4972#line 281
4973  __cil_tmp23 = (mraid_mmadp_t *)__mptr;
4974#line 281
4975  adapter = __cil_tmp23 + 0xffffffffffffffd0UL;
4976#line 281
4977  goto ldv_26696;
4978  ldv_26695: 
4979#line 282
4980  tmp___0 = iterator;
4981#line 282
4982  iterator = iterator + 1;
4983  {
4984#line 282
4985  __cil_tmp24 = (uint32_t )tmp___0;
4986#line 282
4987  if (__cil_tmp24 == adapno) {
4988#line 282
4989    goto ldv_26694;
4990  } else {
4991
4992  }
4993  }
4994#line 281
4995  __cil_tmp25 = (unsigned long )adapter;
4996#line 281
4997  __cil_tmp26 = __cil_tmp25 + 48;
4998#line 281
4999  __cil_tmp27 = *((struct list_head **)__cil_tmp26);
5000#line 281
5001  __mptr___0 = (struct list_head    *)__cil_tmp27;
5002#line 281
5003  __cil_tmp28 = (mraid_mmadp_t *)__mptr___0;
5004#line 281
5005  adapter = __cil_tmp28 + 0xffffffffffffffd0UL;
5006  ldv_26696: ;
5007  {
5008#line 281
5009  __cil_tmp29 = (unsigned long )(& adapters_list_g);
5010#line 281
5011  __cil_tmp30 = (unsigned long )adapter;
5012#line 281
5013  __cil_tmp31 = __cil_tmp30 + 48;
5014#line 281
5015  __cil_tmp32 = (struct list_head *)__cil_tmp31;
5016#line 281
5017  __cil_tmp33 = (unsigned long )__cil_tmp32;
5018#line 281
5019  if (__cil_tmp33 != __cil_tmp29) {
5020#line 282
5021    goto ldv_26695;
5022  } else {
5023#line 284
5024    goto ldv_26694;
5025  }
5026  }
5027  ldv_26694: ;
5028  {
5029#line 285
5030  __cil_tmp34 = (mraid_mmadp_t *)0;
5031#line 285
5032  __cil_tmp35 = (unsigned long )__cil_tmp34;
5033#line 285
5034  __cil_tmp36 = (unsigned long )adapter;
5035#line 285
5036  if (__cil_tmp36 == __cil_tmp35) {
5037#line 286
5038    *rval = -19;
5039#line 287
5040    return ((mraid_mmadp_t *)0);
5041  } else {
5042
5043  }
5044  }
5045#line 290
5046  return (adapter);
5047}
5048}
5049#line 300 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
5050static int handle_drvrcmd(void *arg , uint8_t old_ioctl , int *rval ) 
5051{ mimd_t *umimd ;
5052  mimd_t kmimd ;
5053  uint8_t opcode ;
5054  uint8_t subopcode ;
5055  unsigned long tmp ;
5056  int tmp___0 ;
5057  int tmp___1 ;
5058  unsigned int __cil_tmp11 ;
5059  void *__cil_tmp12 ;
5060  void    *__cil_tmp13 ;
5061  unsigned long __cil_tmp14 ;
5062  unsigned long __cil_tmp15 ;
5063  unsigned long __cil_tmp16 ;
5064  unsigned long __cil_tmp17 ;
5065  unsigned int __cil_tmp18 ;
5066  unsigned long __cil_tmp19 ;
5067  char *__cil_tmp20 ;
5068  void *__cil_tmp21 ;
5069  void    *__cil_tmp22 ;
5070  int *__cil_tmp23 ;
5071  unsigned long __cil_tmp24 ;
5072  char *__cil_tmp25 ;
5073  void *__cil_tmp26 ;
5074  void    *__cil_tmp27 ;
5075
5076  {
5077  {
5078#line 307
5079  __cil_tmp11 = (unsigned int )old_ioctl;
5080#line 307
5081  if (__cil_tmp11 != 0U) {
5082#line 308
5083    goto old_packet;
5084  } else {
5085#line 310
5086    goto new_packet;
5087  }
5088  }
5089  new_packet: ;
5090#line 313
5091  return (-524);
5092  old_packet: 
5093  {
5094#line 316
5095  *rval = 0;
5096#line 317
5097  umimd = (mimd_t *)arg;
5098#line 319
5099  __cil_tmp12 = (void *)(& kmimd);
5100#line 319
5101  __cil_tmp13 = (void    *)umimd;
5102#line 319
5103  tmp = copy_from_user(__cil_tmp12, __cil_tmp13, 110UL);
5104  }
5105#line 319
5106  if (tmp != 0UL) {
5107#line 320
5108    return (-14);
5109  } else {
5110
5111  }
5112#line 322
5113  __cil_tmp14 = (unsigned long )(& kmimd) + 8;
5114#line 322
5115  opcode = *((uint8_t *)__cil_tmp14);
5116#line 323
5117  __cil_tmp15 = 0 + 1;
5118#line 323
5119  __cil_tmp16 = 8 + __cil_tmp15;
5120#line 323
5121  __cil_tmp17 = (unsigned long )(& kmimd) + __cil_tmp16;
5122#line 323
5123  subopcode = *((uint8_t *)__cil_tmp17);
5124  {
5125#line 330
5126  __cil_tmp18 = (unsigned int )opcode;
5127#line 330
5128  if (__cil_tmp18 != 130U) {
5129#line 331
5130    return (1);
5131  } else {
5132
5133  }
5134  }
5135#line 335
5136  if ((int )subopcode == 101) {
5137#line 335
5138    goto case_101;
5139  } else
5140#line 342
5141  if ((int )subopcode == 109) {
5142#line 342
5143    goto case_109;
5144  } else {
5145    {
5146#line 352
5147    goto switch_default;
5148#line 333
5149    if (0) {
5150      case_101: /* CIL Label */ 
5151      {
5152#line 337
5153      __cil_tmp19 = (unsigned long )(& kmimd) + 112;
5154#line 337
5155      __cil_tmp20 = *((char **)__cil_tmp19);
5156#line 337
5157      __cil_tmp21 = (void *)__cil_tmp20;
5158#line 337
5159      __cil_tmp22 = (void    *)(& drvr_ver);
5160#line 337
5161      tmp___0 = copy_to_user(__cil_tmp21, __cil_tmp22, 4U);
5162      }
5163#line 337
5164      if (tmp___0 != 0) {
5165#line 338
5166        return (-14);
5167      } else {
5168
5169      }
5170#line 340
5171      return (0);
5172      case_109: /* CIL Label */ 
5173      {
5174#line 344
5175      __cil_tmp23 = & adapters_count_g;
5176#line 344
5177      *rval = *__cil_tmp23;
5178#line 346
5179      __cil_tmp24 = (unsigned long )(& kmimd) + 112;
5180#line 346
5181      __cil_tmp25 = *((char **)__cil_tmp24);
5182#line 346
5183      __cil_tmp26 = (void *)__cil_tmp25;
5184#line 346
5185      __cil_tmp27 = (void    *)(& adapters_count_g);
5186#line 346
5187      tmp___1 = copy_to_user(__cil_tmp26, __cil_tmp27, 4U);
5188      }
5189#line 346
5190      if (tmp___1 != 0) {
5191#line 348
5192        return (-14);
5193      } else {
5194
5195      }
5196#line 350
5197      return (0);
5198      switch_default: /* CIL Label */ ;
5199#line 354
5200      return (1);
5201    } else {
5202      switch_break: /* CIL Label */ ;
5203    }
5204    }
5205  }
5206#line 357
5207  return (0);
5208}
5209}
5210#line 373 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
5211static int mimd_to_kioc(mimd_t *umimd , mraid_mmadp_t *adp , uioc_t *kioc ) 
5212{ mbox64_t *mbox64 ;
5213  mbox_t *mbox ;
5214  mraid_passthru_t *pthru32 ;
5215  uint32_t adapno ;
5216  uint8_t opcode ;
5217  uint8_t subopcode ;
5218  mimd_t mimd ;
5219  unsigned long tmp ;
5220  int tmp___0 ;
5221  int tmp___1 ;
5222  int tmp___2 ;
5223  size_t __len ;
5224  void *__ret ;
5225  unsigned long tmp___3 ;
5226  unsigned long tmp___4 ;
5227  unsigned long tmp___5 ;
5228  void *__cil_tmp20 ;
5229  void    *__cil_tmp21 ;
5230  unsigned long __cil_tmp22 ;
5231  unsigned long __cil_tmp23 ;
5232  unsigned long __cil_tmp24 ;
5233  uint8_t __cil_tmp25 ;
5234  unsigned int __cil_tmp26 ;
5235  unsigned long __cil_tmp27 ;
5236  unsigned long __cil_tmp28 ;
5237  unsigned long __cil_tmp29 ;
5238  uint8_t __cil_tmp30 ;
5239  unsigned int __cil_tmp31 ;
5240  unsigned long __cil_tmp32 ;
5241  unsigned long __cil_tmp33 ;
5242  unsigned long __cil_tmp34 ;
5243  unsigned long __cil_tmp35 ;
5244  unsigned long __cil_tmp36 ;
5245  unsigned long __cil_tmp37 ;
5246  unsigned long __cil_tmp38 ;
5247  uint16_t __cil_tmp39 ;
5248  unsigned int __cil_tmp40 ;
5249  int *__cil_tmp41 ;
5250  int __cil_tmp42 ;
5251  uint32_t __cil_tmp43 ;
5252  unsigned long __cil_tmp44 ;
5253  unsigned long __cil_tmp45 ;
5254  unsigned long __cil_tmp46 ;
5255  unsigned long __cil_tmp47 ;
5256  unsigned long __cil_tmp48 ;
5257  unsigned long __cil_tmp49 ;
5258  unsigned int __cil_tmp50 ;
5259  unsigned long __cil_tmp51 ;
5260  unsigned long __cil_tmp52 ;
5261  unsigned long __cil_tmp53 ;
5262  unsigned long __cil_tmp54 ;
5263  unsigned long __cil_tmp55 ;
5264  unsigned long __cil_tmp56 ;
5265  unsigned long __cil_tmp57 ;
5266  unsigned long __cil_tmp58 ;
5267  uint32_t __cil_tmp59 ;
5268  int __cil_tmp60 ;
5269  int *__cil_tmp61 ;
5270  int __cil_tmp62 ;
5271  unsigned long __cil_tmp63 ;
5272  unsigned long __cil_tmp64 ;
5273  unsigned long __cil_tmp65 ;
5274  unsigned long __cil_tmp66 ;
5275  unsigned long __cil_tmp67 ;
5276  unsigned long __cil_tmp68 ;
5277  unsigned long __cil_tmp69 ;
5278  unsigned long __cil_tmp70 ;
5279  unsigned long __cil_tmp71 ;
5280  unsigned long __cil_tmp72 ;
5281  unsigned long __cil_tmp73 ;
5282  unsigned long __cil_tmp74 ;
5283  unsigned long __cil_tmp75 ;
5284  unsigned long __cil_tmp76 ;
5285  unsigned long __cil_tmp77 ;
5286  unsigned long __cil_tmp78 ;
5287  uint8_t *__cil_tmp79 ;
5288  unsigned long __cil_tmp80 ;
5289  unsigned long __cil_tmp81 ;
5290  uint32_t __cil_tmp82 ;
5291  int __cil_tmp83 ;
5292  unsigned long __cil_tmp84 ;
5293  uint32_t __cil_tmp85 ;
5294  unsigned long __cil_tmp86 ;
5295  unsigned long __cil_tmp87 ;
5296  mimd_t *__cil_tmp88 ;
5297  uint32_t __cil_tmp89 ;
5298  unsigned long __cil_tmp90 ;
5299  unsigned long __cil_tmp91 ;
5300  unsigned long __cil_tmp92 ;
5301  unsigned long __cil_tmp93 ;
5302  uint32_t __cil_tmp94 ;
5303  unsigned long __cil_tmp95 ;
5304  unsigned long __cil_tmp96 ;
5305  mimd_t *__cil_tmp97 ;
5306  uint32_t __cil_tmp98 ;
5307  unsigned long __cil_tmp99 ;
5308  uint32_t __cil_tmp100 ;
5309  unsigned long __cil_tmp101 ;
5310  unsigned long __cil_tmp102 ;
5311  unsigned long __cil_tmp103 ;
5312  unsigned long __cil_tmp104 ;
5313  unsigned long __cil_tmp105 ;
5314  mimd_t *__cil_tmp106 ;
5315  unsigned long __cil_tmp107 ;
5316  unsigned long __cil_tmp108 ;
5317  unsigned long __cil_tmp109 ;
5318  unsigned long __cil_tmp110 ;
5319  unsigned long __cil_tmp111 ;
5320  unsigned long __cil_tmp112 ;
5321  unsigned long __cil_tmp113 ;
5322  char *__cil_tmp114 ;
5323  unsigned long __cil_tmp115 ;
5324  unsigned long __cil_tmp116 ;
5325  uint32_t __cil_tmp117 ;
5326  int __cil_tmp118 ;
5327  unsigned long __cil_tmp119 ;
5328  uint32_t __cil_tmp120 ;
5329  unsigned long __cil_tmp121 ;
5330  unsigned long __cil_tmp122 ;
5331  mimd_t *__cil_tmp123 ;
5332  uint32_t __cil_tmp124 ;
5333  unsigned long __cil_tmp125 ;
5334  unsigned long __cil_tmp126 ;
5335  unsigned long __cil_tmp127 ;
5336  unsigned long __cil_tmp128 ;
5337  uint32_t __cil_tmp129 ;
5338  unsigned int __cil_tmp130 ;
5339  unsigned long __cil_tmp131 ;
5340  unsigned long __cil_tmp132 ;
5341  uint64_t __cil_tmp133 ;
5342  unsigned long __cil_tmp134 ;
5343  unsigned long __cil_tmp135 ;
5344  void *__cil_tmp136 ;
5345  unsigned long __cil_tmp137 ;
5346  uint8_t (*__cil_tmp138)[18U] ;
5347  void    *__cil_tmp139 ;
5348  void *__cil_tmp140 ;
5349  unsigned long __cil_tmp141 ;
5350  uint8_t (*__cil_tmp142)[18U] ;
5351  void    *__cil_tmp143 ;
5352  uint8_t __cil_tmp144 ;
5353  unsigned int __cil_tmp145 ;
5354  unsigned long __cil_tmp146 ;
5355  unsigned long __cil_tmp147 ;
5356  unsigned long __cil_tmp148 ;
5357  unsigned long __cil_tmp149 ;
5358  dma_addr_t __cil_tmp150 ;
5359  unsigned long __cil_tmp151 ;
5360  unsigned long __cil_tmp152 ;
5361  uint32_t __cil_tmp153 ;
5362  unsigned int __cil_tmp154 ;
5363  unsigned long __cil_tmp155 ;
5364  unsigned long __cil_tmp156 ;
5365  caddr_t __cil_tmp157 ;
5366  void *__cil_tmp158 ;
5367  unsigned long __cil_tmp159 ;
5368  unsigned long __cil_tmp160 ;
5369  void *__cil_tmp161 ;
5370  void    *__cil_tmp162 ;
5371  unsigned long __cil_tmp163 ;
5372  unsigned long __cil_tmp164 ;
5373  uint32_t __cil_tmp165 ;
5374  unsigned long __cil_tmp166 ;
5375  unsigned long __cil_tmp167 ;
5376  unsigned long __cil_tmp168 ;
5377  unsigned long __cil_tmp169 ;
5378  unsigned long __cil_tmp170 ;
5379  unsigned long __cil_tmp171 ;
5380  unsigned long __cil_tmp172 ;
5381  unsigned long __cil_tmp173 ;
5382  unsigned long __cil_tmp174 ;
5383  unsigned long __cil_tmp175 ;
5384  unsigned long __cil_tmp176 ;
5385  dma_addr_t __cil_tmp177 ;
5386  void *__cil_tmp178 ;
5387  unsigned long __cil_tmp179 ;
5388  unsigned long __cil_tmp180 ;
5389  mraid_passthru_t *__cil_tmp181 ;
5390  void    *__cil_tmp182 ;
5391  unsigned long __cil_tmp183 ;
5392  unsigned long __cil_tmp184 ;
5393  unsigned long __cil_tmp185 ;
5394  unsigned long __cil_tmp186 ;
5395  dma_addr_t __cil_tmp187 ;
5396  unsigned long __cil_tmp188 ;
5397  unsigned long __cil_tmp189 ;
5398  uint32_t __cil_tmp190 ;
5399  unsigned int __cil_tmp191 ;
5400  unsigned long __cil_tmp192 ;
5401  unsigned long __cil_tmp193 ;
5402  caddr_t __cil_tmp194 ;
5403  void *__cil_tmp195 ;
5404  unsigned long __cil_tmp196 ;
5405  unsigned long __cil_tmp197 ;
5406  void *__cil_tmp198 ;
5407  void    *__cil_tmp199 ;
5408  unsigned long __cil_tmp200 ;
5409  unsigned long __cil_tmp201 ;
5410  uint32_t __cil_tmp202 ;
5411  unsigned long __cil_tmp203 ;
5412
5413  {
5414  {
5415#line 383
5416  __cil_tmp20 = (void *)(& mimd);
5417#line 383
5418  __cil_tmp21 = (void    *)umimd;
5419#line 383
5420  tmp = copy_from_user(__cil_tmp20, __cil_tmp21, 110UL);
5421  }
5422#line 383
5423  if (tmp != 0UL) {
5424#line 384
5425    return (-14);
5426  } else {
5427
5428  }
5429  {
5430#line 389
5431  __cil_tmp22 = 0 * 1UL;
5432#line 389
5433  __cil_tmp23 = 32 + __cil_tmp22;
5434#line 389
5435  __cil_tmp24 = (unsigned long )(& mimd) + __cil_tmp23;
5436#line 389
5437  __cil_tmp25 = *((uint8_t *)__cil_tmp24);
5438#line 389
5439  __cil_tmp26 = (unsigned int )__cil_tmp25;
5440#line 389
5441  if (__cil_tmp26 == 195U) {
5442#line 391
5443    return (-22);
5444  } else {
5445    {
5446#line 389
5447    __cil_tmp27 = 0 * 1UL;
5448#line 389
5449    __cil_tmp28 = 32 + __cil_tmp27;
5450#line 389
5451    __cil_tmp29 = (unsigned long )(& mimd) + __cil_tmp28;
5452#line 389
5453    __cil_tmp30 = *((uint8_t *)__cil_tmp29);
5454#line 389
5455    __cil_tmp31 = (unsigned int )__cil_tmp30;
5456#line 389
5457    if (__cil_tmp31 == 227U) {
5458#line 391
5459      return (-22);
5460    } else {
5461
5462    }
5463    }
5464  }
5465  }
5466#line 393
5467  __cil_tmp32 = (unsigned long )(& mimd) + 8;
5468#line 393
5469  opcode = *((uint8_t *)__cil_tmp32);
5470#line 394
5471  __cil_tmp33 = 0 + 1;
5472#line 394
5473  __cil_tmp34 = 8 + __cil_tmp33;
5474#line 394
5475  __cil_tmp35 = (unsigned long )(& mimd) + __cil_tmp34;
5476#line 394
5477  subopcode = *((uint8_t *)__cil_tmp35);
5478#line 395
5479  __cil_tmp36 = 0 + 2;
5480#line 395
5481  __cil_tmp37 = 8 + __cil_tmp36;
5482#line 395
5483  __cil_tmp38 = (unsigned long )(& mimd) + __cil_tmp37;
5484#line 395
5485  __cil_tmp39 = *((uint16_t *)__cil_tmp38);
5486#line 395
5487  __cil_tmp40 = (unsigned int )__cil_tmp39;
5488#line 395
5489  adapno = __cil_tmp40 ^ 27904U;
5490  {
5491#line 397
5492  __cil_tmp41 = & adapters_count_g;
5493#line 397
5494  __cil_tmp42 = *__cil_tmp41;
5495#line 397
5496  __cil_tmp43 = (uint32_t )__cil_tmp42;
5497#line 397
5498  if (__cil_tmp43 <= adapno) {
5499#line 398
5500    return (-19);
5501  } else {
5502
5503  }
5504  }
5505#line 400
5506  __cil_tmp44 = (unsigned long )kioc;
5507#line 400
5508  __cil_tmp45 = __cil_tmp44 + 24;
5509#line 400
5510  *((uint32_t *)__cil_tmp45) = adapno;
5511#line 401
5512  __cil_tmp46 = (unsigned long )kioc;
5513#line 401
5514  __cil_tmp47 = __cil_tmp46 + 16;
5515#line 401
5516  *((uint16_t *)__cil_tmp47) = (uint16_t )0U;
5517#line 402
5518  __cil_tmp48 = (unsigned long )kioc;
5519#line 402
5520  __cil_tmp49 = __cil_tmp48 + 18;
5521#line 402
5522  *((uint16_t *)__cil_tmp49) = (uint16_t )0U;
5523#line 406
5524  if ((int )opcode == 130) {
5525#line 406
5526    goto case_130;
5527  } else
5528#line 425
5529  if ((int )opcode == 129) {
5530#line 425
5531    goto case_129;
5532  } else
5533#line 440
5534  if ((int )opcode == 128) {
5535#line 440
5536    goto case_128;
5537  } else {
5538    {
5539#line 456
5540    goto switch_default;
5541#line 404
5542    if (0) {
5543      case_130: /* CIL Label */ ;
5544      {
5545#line 408
5546      __cil_tmp50 = (unsigned int )subopcode;
5547#line 408
5548      if (__cil_tmp50 == 103U) {
5549        {
5550#line 410
5551        __cil_tmp51 = (unsigned long )kioc;
5552#line 410
5553        __cil_tmp52 = __cil_tmp51 + 20;
5554#line 410
5555        *((uint32_t *)__cil_tmp52) = 196608U;
5556#line 411
5557        __cil_tmp53 = (unsigned long )kioc;
5558#line 411
5559        __cil_tmp54 = __cil_tmp53 + 44;
5560#line 411
5561        *((uint32_t *)__cil_tmp54) = 1U;
5562#line 412
5563        __cil_tmp55 = (unsigned long )kioc;
5564#line 412
5565        __cil_tmp56 = __cil_tmp55 + 40;
5566#line 412
5567        *((uint32_t *)__cil_tmp56) = 256U;
5568#line 414
5569        __cil_tmp57 = (unsigned long )kioc;
5570#line 414
5571        __cil_tmp58 = __cil_tmp57 + 40;
5572#line 414
5573        __cil_tmp59 = *((uint32_t *)__cil_tmp58);
5574#line 414
5575        __cil_tmp60 = (int )__cil_tmp59;
5576#line 414
5577        tmp___0 = mraid_mm_attach_buf(adp, kioc, __cil_tmp60);
5578        }
5579#line 414
5580        if (tmp___0 != 0) {
5581#line 415
5582          return (-12);
5583        } else {
5584
5585        }
5586      } else {
5587        {
5588#line 418
5589        __cil_tmp61 = & dbglevel;
5590#line 418
5591        __cil_tmp62 = *__cil_tmp61;
5592#line 418
5593        if (__cil_tmp62 >= 0) {
5594          {
5595#line 418
5596          printk("<4>megaraid cmm: Invalid subop\n");
5597          }
5598        } else {
5599
5600        }
5601        }
5602#line 420
5603        return (-22);
5604      }
5605      }
5606#line 423
5607      goto ldv_26724;
5608      case_129: /* CIL Label */ 
5609      {
5610#line 427
5611      __cil_tmp63 = (unsigned long )kioc;
5612#line 427
5613      __cil_tmp64 = __cil_tmp63 + 20;
5614#line 427
5615      *((uint32_t *)__cil_tmp64) = 0U;
5616#line 428
5617      __cil_tmp65 = (unsigned long )kioc;
5618#line 428
5619      __cil_tmp66 = __cil_tmp65 + 40;
5620#line 428
5621      __cil_tmp67 = 0 + 16;
5622#line 428
5623      __cil_tmp68 = 8 + __cil_tmp67;
5624#line 428
5625      __cil_tmp69 = (unsigned long )(& mimd) + __cil_tmp68;
5626#line 428
5627      *((uint32_t *)__cil_tmp66) = *((uint32_t *)__cil_tmp69);
5628#line 429
5629      __cil_tmp70 = (unsigned long )kioc;
5630#line 429
5631      __cil_tmp71 = __cil_tmp70 + 192;
5632#line 429
5633      __cil_tmp72 = (unsigned long )kioc;
5634#line 429
5635      __cil_tmp73 = __cil_tmp72 + 40;
5636#line 429
5637      *((uint32_t *)__cil_tmp71) = *((uint32_t *)__cil_tmp73);
5638#line 430
5639      __cil_tmp74 = (unsigned long )kioc;
5640#line 430
5641      __cil_tmp75 = __cil_tmp74 + 184;
5642#line 430
5643      __cil_tmp76 = 0 + 8;
5644#line 430
5645      __cil_tmp77 = 8 + __cil_tmp76;
5646#line 430
5647      __cil_tmp78 = (unsigned long )(& mimd) + __cil_tmp77;
5648#line 430
5649      __cil_tmp79 = *((uint8_t **)__cil_tmp78);
5650#line 430
5651      *((void **)__cil_tmp75) = (void *)__cil_tmp79;
5652#line 432
5653      __cil_tmp80 = (unsigned long )kioc;
5654#line 432
5655      __cil_tmp81 = __cil_tmp80 + 40;
5656#line 432
5657      __cil_tmp82 = *((uint32_t *)__cil_tmp81);
5658#line 432
5659      __cil_tmp83 = (int )__cil_tmp82;
5660#line 432
5661      tmp___1 = mraid_mm_attach_buf(adp, kioc, __cil_tmp83);
5662      }
5663#line 432
5664      if (tmp___1 != 0) {
5665#line 433
5666        return (-12);
5667      } else {
5668
5669      }
5670      {
5671#line 435
5672      __cil_tmp84 = (unsigned long )(& mimd) + 4;
5673#line 435
5674      __cil_tmp85 = *((uint32_t *)__cil_tmp84);
5675#line 435
5676      if (__cil_tmp85 != 0U) {
5677#line 435
5678        __cil_tmp86 = (unsigned long )kioc;
5679#line 435
5680        __cil_tmp87 = __cil_tmp86 + 44;
5681#line 435
5682        *((uint32_t *)__cil_tmp87) = 1U;
5683      } else {
5684
5685      }
5686      }
5687      {
5688#line 436
5689      __cil_tmp88 = & mimd;
5690#line 436
5691      __cil_tmp89 = *((uint32_t *)__cil_tmp88);
5692#line 436
5693      if (__cil_tmp89 != 0U) {
5694#line 436
5695        __cil_tmp90 = (unsigned long )kioc;
5696#line 436
5697        __cil_tmp91 = __cil_tmp90 + 44;
5698#line 436
5699        __cil_tmp92 = (unsigned long )kioc;
5700#line 436
5701        __cil_tmp93 = __cil_tmp92 + 44;
5702#line 436
5703        __cil_tmp94 = *((uint32_t *)__cil_tmp93);
5704#line 436
5705        *((uint32_t *)__cil_tmp91) = __cil_tmp94 | 2U;
5706      } else {
5707
5708      }
5709      }
5710#line 438
5711      goto ldv_26724;
5712      case_128: /* CIL Label */ 
5713#line 442
5714      __cil_tmp95 = (unsigned long )kioc;
5715#line 442
5716      __cil_tmp96 = __cil_tmp95 + 20;
5717#line 442
5718      *((uint32_t *)__cil_tmp96) = 0U;
5719      {
5720#line 443
5721      __cil_tmp97 = & mimd;
5722#line 443
5723      __cil_tmp98 = *((uint32_t *)__cil_tmp97);
5724#line 443
5725      __cil_tmp99 = (unsigned long )(& mimd) + 4;
5726#line 443
5727      __cil_tmp100 = *((uint32_t *)__cil_tmp99);
5728#line 443
5729      if (__cil_tmp100 > __cil_tmp98) {
5730#line 443
5731        __cil_tmp101 = (unsigned long )kioc;
5732#line 443
5733        __cil_tmp102 = __cil_tmp101 + 40;
5734#line 443
5735        __cil_tmp103 = (unsigned long )(& mimd) + 4;
5736#line 443
5737        *((uint32_t *)__cil_tmp102) = *((uint32_t *)__cil_tmp103);
5738      } else {
5739#line 443
5740        __cil_tmp104 = (unsigned long )kioc;
5741#line 443
5742        __cil_tmp105 = __cil_tmp104 + 40;
5743#line 443
5744        __cil_tmp106 = & mimd;
5745#line 443
5746        *((uint32_t *)__cil_tmp105) = *((uint32_t *)__cil_tmp106);
5747      }
5748      }
5749      {
5750#line 445
5751      __cil_tmp107 = (unsigned long )kioc;
5752#line 445
5753      __cil_tmp108 = __cil_tmp107 + 192;
5754#line 445
5755      __cil_tmp109 = (unsigned long )kioc;
5756#line 445
5757      __cil_tmp110 = __cil_tmp109 + 40;
5758#line 445
5759      *((uint32_t *)__cil_tmp108) = *((uint32_t *)__cil_tmp110);
5760#line 446
5761      __cil_tmp111 = (unsigned long )kioc;
5762#line 446
5763      __cil_tmp112 = __cil_tmp111 + 184;
5764#line 446
5765      __cil_tmp113 = (unsigned long )(& mimd) + 112;
5766#line 446
5767      __cil_tmp114 = *((char **)__cil_tmp113);
5768#line 446
5769      *((void **)__cil_tmp112) = (void *)__cil_tmp114;
5770#line 448
5771      __cil_tmp115 = (unsigned long )kioc;
5772#line 448
5773      __cil_tmp116 = __cil_tmp115 + 40;
5774#line 448
5775      __cil_tmp117 = *((uint32_t *)__cil_tmp116);
5776#line 448
5777      __cil_tmp118 = (int )__cil_tmp117;
5778#line 448
5779      tmp___2 = mraid_mm_attach_buf(adp, kioc, __cil_tmp118);
5780      }
5781#line 448
5782      if (tmp___2 != 0) {
5783#line 449
5784        return (-12);
5785      } else {
5786
5787      }
5788      {
5789#line 451
5790      __cil_tmp119 = (unsigned long )(& mimd) + 4;
5791#line 451
5792      __cil_tmp120 = *((uint32_t *)__cil_tmp119);
5793#line 451
5794      if (__cil_tmp120 != 0U) {
5795#line 451
5796        __cil_tmp121 = (unsigned long )kioc;
5797#line 451
5798        __cil_tmp122 = __cil_tmp121 + 44;
5799#line 451
5800        *((uint32_t *)__cil_tmp122) = 1U;
5801      } else {
5802
5803      }
5804      }
5805      {
5806#line 452
5807      __cil_tmp123 = & mimd;
5808#line 452
5809      __cil_tmp124 = *((uint32_t *)__cil_tmp123);
5810#line 452
5811      if (__cil_tmp124 != 0U) {
5812#line 452
5813        __cil_tmp125 = (unsigned long )kioc;
5814#line 452
5815        __cil_tmp126 = __cil_tmp125 + 44;
5816#line 452
5817        __cil_tmp127 = (unsigned long )kioc;
5818#line 452
5819        __cil_tmp128 = __cil_tmp127 + 44;
5820#line 452
5821        __cil_tmp129 = *((uint32_t *)__cil_tmp128);
5822#line 452
5823        *((uint32_t *)__cil_tmp126) = __cil_tmp129 | 2U;
5824      } else {
5825
5826      }
5827      }
5828#line 454
5829      goto ldv_26724;
5830      switch_default: /* CIL Label */ ;
5831#line 457
5832      return (-22);
5833    } else {
5834      switch_break: /* CIL Label */ ;
5835    }
5836    }
5837  }
5838  ldv_26724: ;
5839  {
5840#line 463
5841  __cil_tmp130 = (unsigned int )opcode;
5842#line 463
5843  if (__cil_tmp130 == 130U) {
5844#line 464
5845    return (0);
5846  } else {
5847
5848  }
5849  }
5850#line 469
5851  __cil_tmp131 = (unsigned long )kioc;
5852#line 469
5853  __cil_tmp132 = __cil_tmp131 + 32;
5854#line 469
5855  __cil_tmp133 = *((uint64_t *)__cil_tmp132);
5856#line 469
5857  mbox64 = (mbox64_t *)__cil_tmp133;
5858#line 470
5859  __cil_tmp134 = (unsigned long )mbox64;
5860#line 470
5861  __cil_tmp135 = __cil_tmp134 + 8;
5862#line 470
5863  mbox = (mbox_t *)__cil_tmp135;
5864#line 471
5865  __len = 14UL;
5866#line 471
5867  if (__len > 63UL) {
5868    {
5869#line 471
5870    __cil_tmp136 = (void *)mbox;
5871#line 471
5872    __cil_tmp137 = (unsigned long )(& mimd) + 32;
5873#line 471
5874    __cil_tmp138 = (uint8_t (*)[18U])__cil_tmp137;
5875#line 471
5876    __cil_tmp139 = (void    *)__cil_tmp138;
5877#line 471
5878    __ret = __memcpy(__cil_tmp136, __cil_tmp139, __len);
5879    }
5880  } else {
5881    {
5882#line 471
5883    __cil_tmp140 = (void *)mbox;
5884#line 471
5885    __cil_tmp141 = (unsigned long )(& mimd) + 32;
5886#line 471
5887    __cil_tmp142 = (uint8_t (*)[18U])__cil_tmp141;
5888#line 471
5889    __cil_tmp143 = (void    *)__cil_tmp142;
5890#line 471
5891    __ret = __builtin_memcpy(__cil_tmp140, __cil_tmp143, __len);
5892    }
5893  }
5894  {
5895#line 473
5896  __cil_tmp144 = *((uint8_t *)mbox);
5897#line 473
5898  __cil_tmp145 = (unsigned int )__cil_tmp144;
5899#line 473
5900  if (__cil_tmp145 != 3U) {
5901#line 475
5902    __cil_tmp146 = (unsigned long )mbox;
5903#line 475
5904    __cil_tmp147 = __cil_tmp146 + 8;
5905#line 475
5906    __cil_tmp148 = (unsigned long )kioc;
5907#line 475
5908    __cil_tmp149 = __cil_tmp148 + 256;
5909#line 475
5910    __cil_tmp150 = *((dma_addr_t *)__cil_tmp149);
5911#line 475
5912    *((uint32_t *)__cil_tmp147) = (unsigned int )__cil_tmp150;
5913    {
5914#line 477
5915    __cil_tmp151 = (unsigned long )kioc;
5916#line 477
5917    __cil_tmp152 = __cil_tmp151 + 44;
5918#line 477
5919    __cil_tmp153 = *((uint32_t *)__cil_tmp152);
5920#line 477
5921    __cil_tmp154 = __cil_tmp153 & 2U;
5922#line 477
5923    if (__cil_tmp154 != 0U) {
5924      {
5925#line 478
5926      __cil_tmp155 = (unsigned long )kioc;
5927#line 478
5928      __cil_tmp156 = __cil_tmp155 + 248;
5929#line 478
5930      __cil_tmp157 = *((caddr_t *)__cil_tmp156);
5931#line 478
5932      __cil_tmp158 = (void *)__cil_tmp157;
5933#line 478
5934      __cil_tmp159 = (unsigned long )kioc;
5935#line 478
5936      __cil_tmp160 = __cil_tmp159 + 184;
5937#line 478
5938      __cil_tmp161 = *((void **)__cil_tmp160);
5939#line 478
5940      __cil_tmp162 = (void    *)__cil_tmp161;
5941#line 478
5942      __cil_tmp163 = (unsigned long )kioc;
5943#line 478
5944      __cil_tmp164 = __cil_tmp163 + 40;
5945#line 478
5946      __cil_tmp165 = *((uint32_t *)__cil_tmp164);
5947#line 478
5948      __cil_tmp166 = (unsigned long )__cil_tmp165;
5949#line 478
5950      tmp___3 = copy_from_user(__cil_tmp158, __cil_tmp162, __cil_tmp166);
5951      }
5952#line 478
5953      if (tmp___3 != 0UL) {
5954#line 480
5955        return (-14);
5956      } else {
5957
5958      }
5959    } else {
5960
5961    }
5962    }
5963#line 484
5964    return (0);
5965  } else {
5966
5967  }
5968  }
5969  {
5970#line 493
5971  __cil_tmp167 = (unsigned long )kioc;
5972#line 493
5973  __cil_tmp168 = __cil_tmp167 + 208;
5974#line 493
5975  pthru32 = *((mraid_passthru_t **)__cil_tmp168);
5976#line 494
5977  __cil_tmp169 = (unsigned long )kioc;
5978#line 494
5979  __cil_tmp170 = __cil_tmp169 + 200;
5980#line 494
5981  __cil_tmp171 = (unsigned long )umimd;
5982#line 494
5983  __cil_tmp172 = __cil_tmp171 + 52;
5984#line 494
5985  *((mraid_passthru_t **)__cil_tmp170) = (mraid_passthru_t *)__cil_tmp172;
5986#line 495
5987  __cil_tmp173 = (unsigned long )mbox;
5988#line 495
5989  __cil_tmp174 = __cil_tmp173 + 8;
5990#line 495
5991  __cil_tmp175 = (unsigned long )kioc;
5992#line 495
5993  __cil_tmp176 = __cil_tmp175 + 216;
5994#line 495
5995  __cil_tmp177 = *((dma_addr_t *)__cil_tmp176);
5996#line 495
5997  *((uint32_t *)__cil_tmp174) = (unsigned int )__cil_tmp177;
5998#line 497
5999  __cil_tmp178 = (void *)pthru32;
6000#line 497
6001  __cil_tmp179 = (unsigned long )kioc;
6002#line 497
6003  __cil_tmp180 = __cil_tmp179 + 200;
6004#line 497
6005  __cil_tmp181 = *((mraid_passthru_t **)__cil_tmp180);
6006#line 497
6007  __cil_tmp182 = (void    *)__cil_tmp181;
6008#line 497
6009  tmp___4 = copy_from_user(__cil_tmp178, __cil_tmp182, 60UL);
6010  }
6011#line 497
6012  if (tmp___4 != 0UL) {
6013#line 499
6014    return (-14);
6015  } else {
6016
6017  }
6018#line 502
6019  __cil_tmp183 = (unsigned long )pthru32;
6020#line 502
6021  __cil_tmp184 = __cil_tmp183 + 52;
6022#line 502
6023  __cil_tmp185 = (unsigned long )kioc;
6024#line 502
6025  __cil_tmp186 = __cil_tmp185 + 256;
6026#line 502
6027  __cil_tmp187 = *((dma_addr_t *)__cil_tmp186);
6028#line 502
6029  *((uint32_t *)__cil_tmp184) = (uint32_t )__cil_tmp187;
6030  {
6031#line 503
6032  __cil_tmp188 = (unsigned long )kioc;
6033#line 503
6034  __cil_tmp189 = __cil_tmp188 + 44;
6035#line 503
6036  __cil_tmp190 = *((uint32_t *)__cil_tmp189);
6037#line 503
6038  __cil_tmp191 = __cil_tmp190 & 2U;
6039#line 503
6040  if (__cil_tmp191 != 0U) {
6041    {
6042#line 504
6043    __cil_tmp192 = (unsigned long )kioc;
6044#line 504
6045    __cil_tmp193 = __cil_tmp192 + 248;
6046#line 504
6047    __cil_tmp194 = *((caddr_t *)__cil_tmp193);
6048#line 504
6049    __cil_tmp195 = (void *)__cil_tmp194;
6050#line 504
6051    __cil_tmp196 = (unsigned long )kioc;
6052#line 504
6053    __cil_tmp197 = __cil_tmp196 + 184;
6054#line 504
6055    __cil_tmp198 = *((void **)__cil_tmp197);
6056#line 504
6057    __cil_tmp199 = (void    *)__cil_tmp198;
6058#line 504
6059    __cil_tmp200 = (unsigned long )pthru32;
6060#line 504
6061    __cil_tmp201 = __cil_tmp200 + 56;
6062#line 504
6063    __cil_tmp202 = *((uint32_t *)__cil_tmp201);
6064#line 504
6065    __cil_tmp203 = (unsigned long )__cil_tmp202;
6066#line 504
6067    tmp___5 = copy_from_user(__cil_tmp195, __cil_tmp199, __cil_tmp203);
6068    }
6069#line 504
6070    if (tmp___5 != 0UL) {
6071#line 506
6072      return (-14);
6073    } else {
6074
6075    }
6076  } else {
6077
6078  }
6079  }
6080#line 510
6081  return (0);
6082}
6083}
6084#line 525 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
6085static int mraid_mm_attach_buf(mraid_mmadp_t *adp , uioc_t *kioc , int xferlen ) 
6086{ mm_dmapool_t *pool ;
6087  int right_pool ;
6088  unsigned long flags ;
6089  int i ;
6090  void *tmp ;
6091  unsigned long __cil_tmp9 ;
6092  unsigned long __cil_tmp10 ;
6093  unsigned long __cil_tmp11 ;
6094  unsigned long __cil_tmp12 ;
6095  unsigned long __cil_tmp13 ;
6096  unsigned long __cil_tmp14 ;
6097  unsigned long __cil_tmp15 ;
6098  unsigned long __cil_tmp16 ;
6099  unsigned long __cil_tmp17 ;
6100  unsigned long __cil_tmp18 ;
6101  unsigned long __cil_tmp19 ;
6102  mm_dmapool_t (*__cil_tmp20)[5U] ;
6103  mm_dmapool_t *__cil_tmp21 ;
6104  unsigned long __cil_tmp22 ;
6105  unsigned long __cil_tmp23 ;
6106  uint32_t __cil_tmp24 ;
6107  uint32_t __cil_tmp25 ;
6108  unsigned long __cil_tmp26 ;
6109  unsigned long __cil_tmp27 ;
6110  uint8_t __cil_tmp28 ;
6111  unsigned int __cil_tmp29 ;
6112  unsigned long __cil_tmp30 ;
6113  unsigned long __cil_tmp31 ;
6114  unsigned long __cil_tmp32 ;
6115  unsigned long __cil_tmp33 ;
6116  unsigned long __cil_tmp34 ;
6117  unsigned long __cil_tmp35 ;
6118  unsigned long __cil_tmp36 ;
6119  unsigned long __cil_tmp37 ;
6120  unsigned long __cil_tmp38 ;
6121  unsigned long __cil_tmp39 ;
6122  unsigned long __cil_tmp40 ;
6123  unsigned long __cil_tmp41 ;
6124  spinlock_t *__cil_tmp42 ;
6125  unsigned long __cil_tmp43 ;
6126  unsigned long __cil_tmp44 ;
6127  spinlock_t *__cil_tmp45 ;
6128  unsigned long __cil_tmp46 ;
6129  unsigned long __cil_tmp47 ;
6130  unsigned long __cil_tmp48 ;
6131  mm_dmapool_t (*__cil_tmp49)[5U] ;
6132  mm_dmapool_t *__cil_tmp50 ;
6133  unsigned long __cil_tmp51 ;
6134  unsigned long __cil_tmp52 ;
6135  unsigned long __cil_tmp53 ;
6136  unsigned long __cil_tmp54 ;
6137  unsigned long __cil_tmp55 ;
6138  unsigned long __cil_tmp56 ;
6139  struct dma_pool *__cil_tmp57 ;
6140  unsigned long __cil_tmp58 ;
6141  unsigned long __cil_tmp59 ;
6142  dma_addr_t *__cil_tmp60 ;
6143  unsigned long __cil_tmp61 ;
6144  unsigned long __cil_tmp62 ;
6145  unsigned long __cil_tmp63 ;
6146  unsigned long __cil_tmp64 ;
6147  spinlock_t *__cil_tmp65 ;
6148  caddr_t __cil_tmp66 ;
6149  unsigned long __cil_tmp67 ;
6150  unsigned long __cil_tmp68 ;
6151  unsigned long __cil_tmp69 ;
6152  caddr_t __cil_tmp70 ;
6153  unsigned long __cil_tmp71 ;
6154
6155  {
6156#line 528
6157  right_pool = -1;
6158#line 532
6159  __cil_tmp9 = (unsigned long )kioc;
6160#line 532
6161  __cil_tmp10 = __cil_tmp9 + 264;
6162#line 532
6163  *((int8_t *)__cil_tmp10) = (int8_t )-1;
6164#line 533
6165  __cil_tmp11 = (unsigned long )kioc;
6166#line 533
6167  __cil_tmp12 = __cil_tmp11 + 248;
6168#line 533
6169  *((caddr_t *)__cil_tmp12) = (caddr_t )0;
6170#line 534
6171  __cil_tmp13 = (unsigned long )kioc;
6172#line 534
6173  __cil_tmp14 = __cil_tmp13 + 256;
6174#line 534
6175  *((dma_addr_t *)__cil_tmp14) = 0ULL;
6176#line 535
6177  __cil_tmp15 = (unsigned long )kioc;
6178#line 535
6179  __cil_tmp16 = __cil_tmp15 + 265;
6180#line 535
6181  *((uint8_t *)__cil_tmp16) = (uint8_t )0U;
6182#line 542
6183  i = 0;
6184#line 542
6185  goto ldv_26742;
6186  ldv_26741: 
6187#line 544
6188  __cil_tmp17 = (unsigned long )i;
6189#line 544
6190  __cil_tmp18 = (unsigned long )adp;
6191#line 544
6192  __cil_tmp19 = __cil_tmp18 + 272;
6193#line 544
6194  __cil_tmp20 = (mm_dmapool_t (*)[5U])__cil_tmp19;
6195#line 544
6196  __cil_tmp21 = (mm_dmapool_t *)__cil_tmp20;
6197#line 544
6198  pool = __cil_tmp21 + __cil_tmp17;
6199  {
6200#line 546
6201  __cil_tmp22 = (unsigned long )pool;
6202#line 546
6203  __cil_tmp23 = __cil_tmp22 + 16;
6204#line 546
6205  __cil_tmp24 = *((uint32_t *)__cil_tmp23);
6206#line 546
6207  __cil_tmp25 = (uint32_t )xferlen;
6208#line 546
6209  if (__cil_tmp25 > __cil_tmp24) {
6210#line 547
6211    goto ldv_26740;
6212  } else {
6213
6214  }
6215  }
6216#line 549
6217  if (right_pool == -1) {
6218#line 550
6219    right_pool = i;
6220  } else {
6221
6222  }
6223  {
6224#line 552
6225  ldv_spin_lock();
6226  }
6227  {
6228#line 554
6229  __cil_tmp26 = (unsigned long )pool;
6230#line 554
6231  __cil_tmp27 = __cil_tmp26 + 104;
6232#line 554
6233  __cil_tmp28 = *((uint8_t *)__cil_tmp27);
6234#line 554
6235  __cil_tmp29 = (unsigned int )__cil_tmp28;
6236#line 554
6237  if (__cil_tmp29 == 0U) {
6238    {
6239#line 556
6240    __cil_tmp30 = (unsigned long )pool;
6241#line 556
6242    __cil_tmp31 = __cil_tmp30 + 104;
6243#line 556
6244    *((uint8_t *)__cil_tmp31) = (uint8_t )1U;
6245#line 557
6246    __cil_tmp32 = (unsigned long )kioc;
6247#line 557
6248    __cil_tmp33 = __cil_tmp32 + 264;
6249#line 557
6250    *((int8_t *)__cil_tmp33) = (int8_t )i;
6251#line 558
6252    __cil_tmp34 = (unsigned long )kioc;
6253#line 558
6254    __cil_tmp35 = __cil_tmp34 + 248;
6255#line 558
6256    *((caddr_t *)__cil_tmp35) = *((caddr_t *)pool);
6257#line 559
6258    __cil_tmp36 = (unsigned long )kioc;
6259#line 559
6260    __cil_tmp37 = __cil_tmp36 + 256;
6261#line 559
6262    __cil_tmp38 = (unsigned long )pool;
6263#line 559
6264    __cil_tmp39 = __cil_tmp38 + 8;
6265#line 559
6266    *((dma_addr_t *)__cil_tmp37) = *((dma_addr_t *)__cil_tmp39);
6267#line 561
6268    __cil_tmp40 = (unsigned long )pool;
6269#line 561
6270    __cil_tmp41 = __cil_tmp40 + 32;
6271#line 561
6272    __cil_tmp42 = (spinlock_t *)__cil_tmp41;
6273#line 561
6274    spin_unlock_irqrestore(__cil_tmp42, flags);
6275    }
6276#line 562
6277    return (0);
6278  } else {
6279    {
6280#line 565
6281    __cil_tmp43 = (unsigned long )pool;
6282#line 565
6283    __cil_tmp44 = __cil_tmp43 + 32;
6284#line 565
6285    __cil_tmp45 = (spinlock_t *)__cil_tmp44;
6286#line 565
6287    spin_unlock_irqrestore(__cil_tmp45, flags);
6288    }
6289#line 566
6290    goto ldv_26740;
6291  }
6292  }
6293  ldv_26740: 
6294#line 542
6295  i = i + 1;
6296  ldv_26742: ;
6297#line 542
6298  if (i <= 4) {
6299#line 543
6300    goto ldv_26741;
6301  } else {
6302#line 545
6303    goto ldv_26743;
6304  }
6305  ldv_26743: ;
6306#line 573
6307  if (right_pool == -1) {
6308#line 574
6309    return (-22);
6310  } else {
6311
6312  }
6313  {
6314#line 580
6315  __cil_tmp46 = (unsigned long )right_pool;
6316#line 580
6317  __cil_tmp47 = (unsigned long )adp;
6318#line 580
6319  __cil_tmp48 = __cil_tmp47 + 272;
6320#line 580
6321  __cil_tmp49 = (mm_dmapool_t (*)[5U])__cil_tmp48;
6322#line 580
6323  __cil_tmp50 = (mm_dmapool_t *)__cil_tmp49;
6324#line 580
6325  pool = __cil_tmp50 + __cil_tmp46;
6326#line 582
6327  ldv_spin_lock();
6328#line 584
6329  __cil_tmp51 = (unsigned long )kioc;
6330#line 584
6331  __cil_tmp52 = __cil_tmp51 + 264;
6332#line 584
6333  *((int8_t *)__cil_tmp52) = (int8_t )right_pool;
6334#line 585
6335  __cil_tmp53 = (unsigned long )kioc;
6336#line 585
6337  __cil_tmp54 = __cil_tmp53 + 265;
6338#line 585
6339  *((uint8_t *)__cil_tmp54) = (uint8_t )1U;
6340#line 586
6341  __cil_tmp55 = (unsigned long )pool;
6342#line 586
6343  __cil_tmp56 = __cil_tmp55 + 24;
6344#line 586
6345  __cil_tmp57 = *((struct dma_pool **)__cil_tmp56);
6346#line 586
6347  __cil_tmp58 = (unsigned long )kioc;
6348#line 586
6349  __cil_tmp59 = __cil_tmp58 + 256;
6350#line 586
6351  __cil_tmp60 = (dma_addr_t *)__cil_tmp59;
6352#line 586
6353  tmp = ldv_dma_pool_alloc_19(__cil_tmp57, 208U, __cil_tmp60);
6354#line 586
6355  __cil_tmp61 = (unsigned long )kioc;
6356#line 586
6357  __cil_tmp62 = __cil_tmp61 + 248;
6358#line 586
6359  *((caddr_t *)__cil_tmp62) = (caddr_t )tmp;
6360#line 588
6361  __cil_tmp63 = (unsigned long )pool;
6362#line 588
6363  __cil_tmp64 = __cil_tmp63 + 32;
6364#line 588
6365  __cil_tmp65 = (spinlock_t *)__cil_tmp64;
6366#line 588
6367  spin_unlock_irqrestore(__cil_tmp65, flags);
6368  }
6369  {
6370#line 590
6371  __cil_tmp66 = (caddr_t )0;
6372#line 590
6373  __cil_tmp67 = (unsigned long )__cil_tmp66;
6374#line 590
6375  __cil_tmp68 = (unsigned long )kioc;
6376#line 590
6377  __cil_tmp69 = __cil_tmp68 + 248;
6378#line 590
6379  __cil_tmp70 = *((caddr_t *)__cil_tmp69);
6380#line 590
6381  __cil_tmp71 = (unsigned long )__cil_tmp70;
6382#line 590
6383  if (__cil_tmp71 == __cil_tmp67) {
6384#line 591
6385    return (-12);
6386  } else {
6387
6388  }
6389  }
6390#line 593
6391  return (0);
6392}
6393}
6394#line 605 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
6395static uioc_t *mraid_mm_alloc_kioc(mraid_mmadp_t *adp ) 
6396{ uioc_t *kioc ;
6397  struct list_head *head ;
6398  unsigned long flags ;
6399  int tmp ;
6400  struct list_head    *__mptr ;
6401  unsigned long __cil_tmp7 ;
6402  unsigned long __cil_tmp8 ;
6403  struct semaphore *__cil_tmp9 ;
6404  unsigned long __cil_tmp10 ;
6405  unsigned long __cil_tmp11 ;
6406  struct list_head    *__cil_tmp12 ;
6407  unsigned long __cil_tmp13 ;
6408  unsigned long __cil_tmp14 ;
6409  struct semaphore *__cil_tmp15 ;
6410  unsigned long __cil_tmp16 ;
6411  unsigned long __cil_tmp17 ;
6412  spinlock_t *__cil_tmp18 ;
6413  int *__cil_tmp19 ;
6414  int __cil_tmp20 ;
6415  struct list_head *__cil_tmp21 ;
6416  uioc_t *__cil_tmp22 ;
6417  unsigned long __cil_tmp23 ;
6418  unsigned long __cil_tmp24 ;
6419  struct list_head *__cil_tmp25 ;
6420  unsigned long __cil_tmp26 ;
6421  unsigned long __cil_tmp27 ;
6422  spinlock_t *__cil_tmp28 ;
6423  unsigned long __cil_tmp29 ;
6424  unsigned long __cil_tmp30 ;
6425  uint64_t __cil_tmp31 ;
6426  void *__cil_tmp32 ;
6427  unsigned long __cil_tmp33 ;
6428  unsigned long __cil_tmp34 ;
6429  mraid_passthru_t *__cil_tmp35 ;
6430  void *__cil_tmp36 ;
6431  unsigned long __cil_tmp37 ;
6432  unsigned long __cil_tmp38 ;
6433  unsigned long __cil_tmp39 ;
6434  unsigned long __cil_tmp40 ;
6435  unsigned long __cil_tmp41 ;
6436  unsigned long __cil_tmp42 ;
6437  unsigned long __cil_tmp43 ;
6438  unsigned long __cil_tmp44 ;
6439  unsigned long __cil_tmp45 ;
6440  unsigned long __cil_tmp46 ;
6441  unsigned long __cil_tmp47 ;
6442  unsigned long __cil_tmp48 ;
6443  unsigned long __cil_tmp49 ;
6444  unsigned long __cil_tmp50 ;
6445  unsigned long __cil_tmp51 ;
6446  unsigned long __cil_tmp52 ;
6447
6448  {
6449  {
6450#line 611
6451  __cil_tmp7 = (unsigned long )adp;
6452#line 611
6453  __cil_tmp8 = __cil_tmp7 + 160;
6454#line 611
6455  __cil_tmp9 = (struct semaphore *)__cil_tmp8;
6456#line 611
6457  down(__cil_tmp9);
6458#line 613
6459  ldv_spin_lock();
6460#line 615
6461  __cil_tmp10 = (unsigned long )adp;
6462#line 615
6463  __cil_tmp11 = __cil_tmp10 + 72;
6464#line 615
6465  head = (struct list_head *)__cil_tmp11;
6466#line 617
6467  __cil_tmp12 = (struct list_head    *)head;
6468#line 617
6469  tmp = list_empty(__cil_tmp12);
6470  }
6471#line 617
6472  if (tmp != 0) {
6473    {
6474#line 618
6475    __cil_tmp13 = (unsigned long )adp;
6476#line 618
6477    __cil_tmp14 = __cil_tmp13 + 160;
6478#line 618
6479    __cil_tmp15 = (struct semaphore *)__cil_tmp14;
6480#line 618
6481    up(__cil_tmp15);
6482#line 619
6483    __cil_tmp16 = (unsigned long )adp;
6484#line 619
6485    __cil_tmp17 = __cil_tmp16 + 88;
6486#line 619
6487    __cil_tmp18 = (spinlock_t *)__cil_tmp17;
6488#line 619
6489    spin_unlock_irqrestore(__cil_tmp18, flags);
6490    }
6491    {
6492#line 621
6493    __cil_tmp19 = & dbglevel;
6494#line 621
6495    __cil_tmp20 = *__cil_tmp19;
6496#line 621
6497    if (__cil_tmp20 >= 0) {
6498      {
6499#line 621
6500      printk("megaraid cmm: kioc list empty!\n");
6501      }
6502    } else {
6503
6504    }
6505    }
6506#line 622
6507    return ((uioc_t *)0);
6508  } else {
6509
6510  }
6511  {
6512#line 625
6513  __cil_tmp21 = *((struct list_head **)head);
6514#line 625
6515  __mptr = (struct list_head    *)__cil_tmp21;
6516#line 625
6517  __cil_tmp22 = (uioc_t *)__mptr;
6518#line 625
6519  kioc = __cil_tmp22 + 0xffffffffffffff28UL;
6520#line 626
6521  __cil_tmp23 = (unsigned long )kioc;
6522#line 626
6523  __cil_tmp24 = __cil_tmp23 + 224;
6524#line 626
6525  __cil_tmp25 = (struct list_head *)__cil_tmp24;
6526#line 626
6527  list_del_init(__cil_tmp25);
6528#line 628
6529  __cil_tmp26 = (unsigned long )adp;
6530#line 628
6531  __cil_tmp27 = __cil_tmp26 + 88;
6532#line 628
6533  __cil_tmp28 = (spinlock_t *)__cil_tmp27;
6534#line 628
6535  spin_unlock_irqrestore(__cil_tmp28, flags);
6536#line 630
6537  __cil_tmp29 = (unsigned long )kioc;
6538#line 630
6539  __cil_tmp30 = __cil_tmp29 + 32;
6540#line 630
6541  __cil_tmp31 = *((uint64_t *)__cil_tmp30);
6542#line 630
6543  __cil_tmp32 = (void *)__cil_tmp31;
6544#line 630
6545  memset(__cil_tmp32, 0, 74UL);
6546#line 631
6547  __cil_tmp33 = (unsigned long )kioc;
6548#line 631
6549  __cil_tmp34 = __cil_tmp33 + 208;
6550#line 631
6551  __cil_tmp35 = *((mraid_passthru_t **)__cil_tmp34);
6552#line 631
6553  __cil_tmp36 = (void *)__cil_tmp35;
6554#line 631
6555  memset(__cil_tmp36, 0, 60UL);
6556#line 633
6557  __cil_tmp37 = (unsigned long )kioc;
6558#line 633
6559  __cil_tmp38 = __cil_tmp37 + 248;
6560#line 633
6561  *((caddr_t *)__cil_tmp38) = (caddr_t )0;
6562#line 634
6563  __cil_tmp39 = (unsigned long )kioc;
6564#line 634
6565  __cil_tmp40 = __cil_tmp39 + 256;
6566#line 634
6567  *((dma_addr_t *)__cil_tmp40) = 0ULL;
6568#line 635
6569  __cil_tmp41 = (unsigned long )kioc;
6570#line 635
6571  __cil_tmp42 = __cil_tmp41 + 264;
6572#line 635
6573  *((int8_t *)__cil_tmp42) = (int8_t )-1;
6574#line 636
6575  __cil_tmp43 = (unsigned long )kioc;
6576#line 636
6577  __cil_tmp44 = __cil_tmp43 + 265;
6578#line 636
6579  *((uint8_t *)__cil_tmp44) = (uint8_t )0U;
6580#line 637
6581  __cil_tmp45 = (unsigned long )kioc;
6582#line 637
6583  __cil_tmp46 = __cil_tmp45 + 184;
6584#line 637
6585  *((void **)__cil_tmp46) = (void *)0;
6586#line 638
6587  __cil_tmp47 = (unsigned long )kioc;
6588#line 638
6589  __cil_tmp48 = __cil_tmp47 + 192;
6590#line 638
6591  *((uint32_t *)__cil_tmp48) = 0U;
6592#line 639
6593  __cil_tmp49 = (unsigned long )kioc;
6594#line 639
6595  __cil_tmp50 = __cil_tmp49 + 200;
6596#line 639
6597  *((mraid_passthru_t **)__cil_tmp50) = (mraid_passthru_t *)0;
6598#line 640
6599  __cil_tmp51 = (unsigned long )kioc;
6600#line 640
6601  __cil_tmp52 = __cil_tmp51 + 266;
6602#line 640
6603  *((uint8_t *)__cil_tmp52) = (uint8_t )0U;
6604  }
6605#line 642
6606  return (kioc);
6607}
6608}
6609#line 651 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
6610static void mraid_mm_dealloc_kioc(mraid_mmadp_t *adp , uioc_t *kioc ) 
6611{ mm_dmapool_t *pool ;
6612  unsigned long flags ;
6613  unsigned long __cil_tmp5 ;
6614  unsigned long __cil_tmp6 ;
6615  int8_t __cil_tmp7 ;
6616  int __cil_tmp8 ;
6617  unsigned long __cil_tmp9 ;
6618  unsigned long __cil_tmp10 ;
6619  int8_t __cil_tmp11 ;
6620  unsigned long __cil_tmp12 ;
6621  unsigned long __cil_tmp13 ;
6622  unsigned long __cil_tmp14 ;
6623  mm_dmapool_t (*__cil_tmp15)[5U] ;
6624  mm_dmapool_t *__cil_tmp16 ;
6625  unsigned long __cil_tmp17 ;
6626  unsigned long __cil_tmp18 ;
6627  uint8_t __cil_tmp19 ;
6628  unsigned int __cil_tmp20 ;
6629  unsigned long __cil_tmp21 ;
6630  unsigned long __cil_tmp22 ;
6631  struct dma_pool *__cil_tmp23 ;
6632  unsigned long __cil_tmp24 ;
6633  unsigned long __cil_tmp25 ;
6634  caddr_t __cil_tmp26 ;
6635  void *__cil_tmp27 ;
6636  unsigned long __cil_tmp28 ;
6637  unsigned long __cil_tmp29 ;
6638  dma_addr_t __cil_tmp30 ;
6639  unsigned long __cil_tmp31 ;
6640  unsigned long __cil_tmp32 ;
6641  unsigned long __cil_tmp33 ;
6642  unsigned long __cil_tmp34 ;
6643  spinlock_t *__cil_tmp35 ;
6644  unsigned long __cil_tmp36 ;
6645  unsigned long __cil_tmp37 ;
6646  struct list_head *__cil_tmp38 ;
6647  unsigned long __cil_tmp39 ;
6648  unsigned long __cil_tmp40 ;
6649  struct list_head *__cil_tmp41 ;
6650  unsigned long __cil_tmp42 ;
6651  unsigned long __cil_tmp43 ;
6652  spinlock_t *__cil_tmp44 ;
6653  unsigned long __cil_tmp45 ;
6654  unsigned long __cil_tmp46 ;
6655  struct semaphore *__cil_tmp47 ;
6656
6657  {
6658  {
6659#line 656
6660  __cil_tmp5 = (unsigned long )kioc;
6661#line 656
6662  __cil_tmp6 = __cil_tmp5 + 264;
6663#line 656
6664  __cil_tmp7 = *((int8_t *)__cil_tmp6);
6665#line 656
6666  __cil_tmp8 = (int )__cil_tmp7;
6667#line 656
6668  if (__cil_tmp8 != -1) {
6669    {
6670#line 657
6671    __cil_tmp9 = (unsigned long )kioc;
6672#line 657
6673    __cil_tmp10 = __cil_tmp9 + 264;
6674#line 657
6675    __cil_tmp11 = *((int8_t *)__cil_tmp10);
6676#line 657
6677    __cil_tmp12 = (unsigned long )__cil_tmp11;
6678#line 657
6679    __cil_tmp13 = (unsigned long )adp;
6680#line 657
6681    __cil_tmp14 = __cil_tmp13 + 272;
6682#line 657
6683    __cil_tmp15 = (mm_dmapool_t (*)[5U])__cil_tmp14;
6684#line 657
6685    __cil_tmp16 = (mm_dmapool_t *)__cil_tmp15;
6686#line 657
6687    pool = __cil_tmp16 + __cil_tmp12;
6688#line 660
6689    ldv_spin_lock();
6690    }
6691    {
6692#line 669
6693    __cil_tmp17 = (unsigned long )kioc;
6694#line 669
6695    __cil_tmp18 = __cil_tmp17 + 265;
6696#line 669
6697    __cil_tmp19 = *((uint8_t *)__cil_tmp18);
6698#line 669
6699    __cil_tmp20 = (unsigned int )__cil_tmp19;
6700#line 669
6701    if (__cil_tmp20 == 1U) {
6702      {
6703#line 670
6704      __cil_tmp21 = (unsigned long )pool;
6705#line 670
6706      __cil_tmp22 = __cil_tmp21 + 24;
6707#line 670
6708      __cil_tmp23 = *((struct dma_pool **)__cil_tmp22);
6709#line 670
6710      __cil_tmp24 = (unsigned long )kioc;
6711#line 670
6712      __cil_tmp25 = __cil_tmp24 + 248;
6713#line 670
6714      __cil_tmp26 = *((caddr_t *)__cil_tmp25);
6715#line 670
6716      __cil_tmp27 = (void *)__cil_tmp26;
6717#line 670
6718      __cil_tmp28 = (unsigned long )kioc;
6719#line 670
6720      __cil_tmp29 = __cil_tmp28 + 256;
6721#line 670
6722      __cil_tmp30 = *((dma_addr_t *)__cil_tmp29);
6723#line 670
6724      dma_pool_free(__cil_tmp23, __cil_tmp27, __cil_tmp30);
6725      }
6726    } else {
6727#line 673
6728      __cil_tmp31 = (unsigned long )pool;
6729#line 673
6730      __cil_tmp32 = __cil_tmp31 + 104;
6731#line 673
6732      *((uint8_t *)__cil_tmp32) = (uint8_t )0U;
6733    }
6734    }
6735    {
6736#line 675
6737    __cil_tmp33 = (unsigned long )pool;
6738#line 675
6739    __cil_tmp34 = __cil_tmp33 + 32;
6740#line 675
6741    __cil_tmp35 = (spinlock_t *)__cil_tmp34;
6742#line 675
6743    spin_unlock_irqrestore(__cil_tmp35, flags);
6744    }
6745  } else {
6746
6747  }
6748  }
6749  {
6750#line 679
6751  ldv_spin_lock();
6752#line 680
6753  __cil_tmp36 = (unsigned long )kioc;
6754#line 680
6755  __cil_tmp37 = __cil_tmp36 + 224;
6756#line 680
6757  __cil_tmp38 = (struct list_head *)__cil_tmp37;
6758#line 680
6759  __cil_tmp39 = (unsigned long )adp;
6760#line 680
6761  __cil_tmp40 = __cil_tmp39 + 72;
6762#line 680
6763  __cil_tmp41 = (struct list_head *)__cil_tmp40;
6764#line 680
6765  list_add(__cil_tmp38, __cil_tmp41);
6766#line 681
6767  __cil_tmp42 = (unsigned long )adp;
6768#line 681
6769  __cil_tmp43 = __cil_tmp42 + 88;
6770#line 681
6771  __cil_tmp44 = (spinlock_t *)__cil_tmp43;
6772#line 681
6773  spin_unlock_irqrestore(__cil_tmp44, flags);
6774#line 684
6775  __cil_tmp45 = (unsigned long )adp;
6776#line 684
6777  __cil_tmp46 = __cil_tmp45 + 160;
6778#line 684
6779  __cil_tmp47 = (struct semaphore *)__cil_tmp46;
6780#line 684
6781  up(__cil_tmp47);
6782  }
6783#line 686
6784  return;
6785}
6786}
6787#line 695 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
6788static int lld_ioctl(mraid_mmadp_t *adp , uioc_t *kioc ) 
6789{ int rval ;
6790  struct timer_list timer ;
6791  struct timer_list *tp ;
6792  struct lock_class_key __key ;
6793  wait_queue_t __wait ;
6794  struct task_struct *tmp ;
6795  unsigned long __cil_tmp9 ;
6796  unsigned long __cil_tmp10 ;
6797  unsigned long __cil_tmp11 ;
6798  unsigned long __cil_tmp12 ;
6799  int (*__cil_tmp13)(unsigned long  , uioc_t * , uint32_t  ) ;
6800  unsigned long __cil_tmp14 ;
6801  unsigned long __cil_tmp15 ;
6802  unsigned long __cil_tmp16 ;
6803  unsigned long __cil_tmp17 ;
6804  unsigned long __cil_tmp18 ;
6805  uint16_t __cil_tmp19 ;
6806  unsigned int __cil_tmp20 ;
6807  unsigned long __cil_tmp21 ;
6808  unsigned long __cil_tmp22 ;
6809  unsigned long __cil_tmp23 ;
6810  unsigned long __cil_tmp24 ;
6811  unsigned long __cil_tmp25 ;
6812  unsigned long __cil_tmp26 ;
6813  unsigned long __cil_tmp27 ;
6814  unsigned long __cil_tmp28 ;
6815  unsigned long __cil_tmp29 ;
6816  uint16_t __cil_tmp30 ;
6817  int __cil_tmp31 ;
6818  int __cil_tmp32 ;
6819  unsigned long __cil_tmp33 ;
6820  unsigned long __cil_tmp34 ;
6821  unsigned long __cil_tmp35 ;
6822  int32_t __cil_tmp36 ;
6823  wait_queue_t *__cil_tmp37 ;
6824  unsigned long __cil_tmp38 ;
6825  unsigned long __cil_tmp39 ;
6826  unsigned long __cil_tmp40 ;
6827  unsigned long __cil_tmp41 ;
6828  unsigned long __cil_tmp42 ;
6829  unsigned long __cil_tmp43 ;
6830  unsigned long __cil_tmp44 ;
6831  unsigned long __cil_tmp45 ;
6832  unsigned long __cil_tmp46 ;
6833  int32_t __cil_tmp47 ;
6834  struct timer_list *__cil_tmp48 ;
6835  unsigned long __cil_tmp49 ;
6836  unsigned long __cil_tmp50 ;
6837  unsigned long __cil_tmp51 ;
6838  unsigned long __cil_tmp52 ;
6839  uint8_t __cil_tmp53 ;
6840  unsigned int __cil_tmp54 ;
6841  unsigned long __cil_tmp55 ;
6842  unsigned long __cil_tmp56 ;
6843  unsigned long __cil_tmp57 ;
6844  unsigned long __cil_tmp58 ;
6845
6846  {
6847  {
6848#line 699
6849  tp = (struct timer_list *)0;
6850#line 701
6851  __cil_tmp9 = (unsigned long )kioc;
6852#line 701
6853  __cil_tmp10 = __cil_tmp9 + 48;
6854#line 701
6855  *((int32_t *)__cil_tmp10) = -61;
6856#line 702
6857  __cil_tmp11 = (unsigned long )adp;
6858#line 702
6859  __cil_tmp12 = __cil_tmp11 + 32;
6860#line 702
6861  __cil_tmp13 = *((int (**)(unsigned long  , uioc_t * , uint32_t  ))__cil_tmp12);
6862#line 702
6863  __cil_tmp14 = (unsigned long )adp;
6864#line 702
6865  __cil_tmp15 = __cil_tmp14 + 8;
6866#line 702
6867  __cil_tmp16 = *((unsigned long *)__cil_tmp15);
6868#line 702
6869  rval = (*__cil_tmp13)(__cil_tmp16, kioc, 1U);
6870  }
6871#line 704
6872  if (rval != 0) {
6873#line 704
6874    return (rval);
6875  } else {
6876
6877  }
6878  {
6879#line 709
6880  __cil_tmp17 = (unsigned long )adp;
6881#line 709
6882  __cil_tmp18 = __cil_tmp17 + 16;
6883#line 709
6884  __cil_tmp19 = *((uint16_t *)__cil_tmp18);
6885#line 709
6886  __cil_tmp20 = (unsigned int )__cil_tmp19;
6887#line 709
6888  if (__cil_tmp20 != 0U) {
6889    {
6890#line 710
6891    tp = & timer;
6892#line 711
6893    init_timer_key(tp, "tp", & __key);
6894#line 713
6895    __cil_tmp21 = (unsigned long )tp;
6896#line 713
6897    __cil_tmp22 = __cil_tmp21 + 32;
6898#line 713
6899    *((void (**)(unsigned long  ))__cil_tmp22) = & lld_timedout;
6900#line 714
6901    __cil_tmp23 = (unsigned long )tp;
6902#line 714
6903    __cil_tmp24 = __cil_tmp23 + 40;
6904#line 714
6905    *((unsigned long *)__cil_tmp24) = (unsigned long )kioc;
6906#line 715
6907    __cil_tmp25 = (unsigned long )tp;
6908#line 715
6909    __cil_tmp26 = __cil_tmp25 + 16;
6910#line 715
6911    __cil_tmp27 = (unsigned long )jiffies;
6912#line 715
6913    __cil_tmp28 = (unsigned long )adp;
6914#line 715
6915    __cil_tmp29 = __cil_tmp28 + 16;
6916#line 715
6917    __cil_tmp30 = *((uint16_t *)__cil_tmp29);
6918#line 715
6919    __cil_tmp31 = (int )__cil_tmp30;
6920#line 715
6921    __cil_tmp32 = __cil_tmp31 * 250;
6922#line 715
6923    __cil_tmp33 = (unsigned long )__cil_tmp32;
6924#line 715
6925    *((unsigned long *)__cil_tmp26) = __cil_tmp33 + __cil_tmp27;
6926#line 717
6927    add_timer(tp);
6928    }
6929  } else {
6930
6931  }
6932  }
6933  {
6934#line 724
6935  __cil_tmp34 = (unsigned long )kioc;
6936#line 724
6937  __cil_tmp35 = __cil_tmp34 + 48;
6938#line 724
6939  __cil_tmp36 = *((int32_t *)__cil_tmp35);
6940#line 724
6941  if (__cil_tmp36 != -61) {
6942#line 724
6943    goto ldv_26766;
6944  } else {
6945
6946  }
6947  }
6948  {
6949#line 724
6950  tmp = get_current();
6951#line 724
6952  __cil_tmp37 = & __wait;
6953#line 724
6954  *((unsigned int *)__cil_tmp37) = 0U;
6955#line 724
6956  __cil_tmp38 = (unsigned long )(& __wait) + 8;
6957#line 724
6958  *((void **)__cil_tmp38) = (void *)tmp;
6959#line 724
6960  __cil_tmp39 = (unsigned long )(& __wait) + 16;
6961#line 724
6962  *((int (**)(wait_queue_t * , unsigned int  , int  , void * ))__cil_tmp39) = & autoremove_wake_function;
6963#line 724
6964  __cil_tmp40 = (unsigned long )(& __wait) + 24;
6965#line 724
6966  __cil_tmp41 = (unsigned long )(& __wait) + 24;
6967#line 724
6968  *((struct list_head **)__cil_tmp40) = (struct list_head *)__cil_tmp41;
6969#line 724
6970  __cil_tmp42 = 24 + 8;
6971#line 724
6972  __cil_tmp43 = (unsigned long )(& __wait) + __cil_tmp42;
6973#line 724
6974  __cil_tmp44 = (unsigned long )(& __wait) + 24;
6975#line 724
6976  *((struct list_head **)__cil_tmp43) = (struct list_head *)__cil_tmp44;
6977  }
6978  ldv_26769: 
6979  {
6980#line 724
6981  prepare_to_wait(& wait_q, & __wait, 2);
6982  }
6983  {
6984#line 724
6985  __cil_tmp45 = (unsigned long )kioc;
6986#line 724
6987  __cil_tmp46 = __cil_tmp45 + 48;
6988#line 724
6989  __cil_tmp47 = *((int32_t *)__cil_tmp46);
6990#line 724
6991  if (__cil_tmp47 != -61) {
6992#line 724
6993    goto ldv_26768;
6994  } else {
6995
6996  }
6997  }
6998  {
6999#line 724
7000  schedule();
7001  }
7002#line 724
7003  goto ldv_26769;
7004  ldv_26768: 
7005  {
7006#line 724
7007  finish_wait(& wait_q, & __wait);
7008  }
7009  ldv_26766: ;
7010  {
7011#line 725
7012  __cil_tmp48 = (struct timer_list *)0;
7013#line 725
7014  __cil_tmp49 = (unsigned long )__cil_tmp48;
7015#line 725
7016  __cil_tmp50 = (unsigned long )tp;
7017#line 725
7018  if (__cil_tmp50 != __cil_tmp49) {
7019    {
7020#line 726
7021    del_timer_sync(tp);
7022    }
7023  } else {
7024
7025  }
7026  }
7027  {
7028#line 733
7029  __cil_tmp51 = (unsigned long )kioc;
7030#line 733
7031  __cil_tmp52 = __cil_tmp51 + 266;
7032#line 733
7033  __cil_tmp53 = *((uint8_t *)__cil_tmp52);
7034#line 733
7035  __cil_tmp54 = (unsigned int )__cil_tmp53;
7036#line 733
7037  if (__cil_tmp54 != 0U) {
7038#line 734
7039    __cil_tmp55 = (unsigned long )adp;
7040#line 734
7041    __cil_tmp56 = __cil_tmp55 + 40;
7042#line 734
7043    *((uint32_t *)__cil_tmp56) = 0U;
7044  } else {
7045
7046  }
7047  }
7048  {
7049#line 737
7050  __cil_tmp57 = (unsigned long )kioc;
7051#line 737
7052  __cil_tmp58 = __cil_tmp57 + 48;
7053#line 737
7054  return (*((int32_t *)__cil_tmp58));
7055  }
7056}
7057}
7058#line 746 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
7059static void ioctl_done(uioc_t *kioc ) 
7060{ uint32_t adapno ;
7061  int iterator ;
7062  mraid_mmadp_t *adapter ;
7063  struct list_head    *__mptr ;
7064  int tmp ;
7065  struct list_head    *__mptr___0 ;
7066  unsigned long __cil_tmp8 ;
7067  unsigned long __cil_tmp9 ;
7068  int32_t __cil_tmp10 ;
7069  int *__cil_tmp11 ;
7070  int __cil_tmp12 ;
7071  unsigned long __cil_tmp13 ;
7072  unsigned long __cil_tmp14 ;
7073  unsigned long __cil_tmp15 ;
7074  unsigned long __cil_tmp16 ;
7075  uint8_t __cil_tmp17 ;
7076  unsigned int __cil_tmp18 ;
7077  unsigned long __cil_tmp19 ;
7078  unsigned long __cil_tmp20 ;
7079  int *__cil_tmp21 ;
7080  int __cil_tmp22 ;
7081  struct list_head *__cil_tmp23 ;
7082  struct list_head *__cil_tmp24 ;
7083  mraid_mmadp_t *__cil_tmp25 ;
7084  uint32_t __cil_tmp26 ;
7085  unsigned long __cil_tmp27 ;
7086  unsigned long __cil_tmp28 ;
7087  struct list_head *__cil_tmp29 ;
7088  mraid_mmadp_t *__cil_tmp30 ;
7089  unsigned long __cil_tmp31 ;
7090  unsigned long __cil_tmp32 ;
7091  unsigned long __cil_tmp33 ;
7092  struct list_head *__cil_tmp34 ;
7093  unsigned long __cil_tmp35 ;
7094  unsigned long __cil_tmp36 ;
7095  unsigned long __cil_tmp37 ;
7096  mraid_mmadp_t *__cil_tmp38 ;
7097  unsigned long __cil_tmp39 ;
7098  unsigned long __cil_tmp40 ;
7099  void *__cil_tmp41 ;
7100
7101  {
7102  {
7103#line 757
7104  __cil_tmp8 = (unsigned long )kioc;
7105#line 757
7106  __cil_tmp9 = __cil_tmp8 + 48;
7107#line 757
7108  __cil_tmp10 = *((int32_t *)__cil_tmp9);
7109#line 757
7110  if (__cil_tmp10 == -61) {
7111    {
7112#line 758
7113    __cil_tmp11 = & dbglevel;
7114#line 758
7115    __cil_tmp12 = *__cil_tmp11;
7116#line 758
7117    if (__cil_tmp12 >= 0) {
7118      {
7119#line 758
7120      printk("<4>megaraid cmm: lld didn\'t change status!\n");
7121      }
7122    } else {
7123
7124    }
7125    }
7126#line 761
7127    __cil_tmp13 = (unsigned long )kioc;
7128#line 761
7129    __cil_tmp14 = __cil_tmp13 + 48;
7130#line 761
7131    *((int32_t *)__cil_tmp14) = -22;
7132  } else {
7133
7134  }
7135  }
7136  {
7137#line 769
7138  __cil_tmp15 = (unsigned long )kioc;
7139#line 769
7140  __cil_tmp16 = __cil_tmp15 + 266;
7141#line 769
7142  __cil_tmp17 = *((uint8_t *)__cil_tmp16);
7143#line 769
7144  __cil_tmp18 = (unsigned int )__cil_tmp17;
7145#line 769
7146  if (__cil_tmp18 != 0U) {
7147#line 770
7148    iterator = 0;
7149#line 771
7150    adapter = (mraid_mmadp_t *)0;
7151#line 772
7152    __cil_tmp19 = (unsigned long )kioc;
7153#line 772
7154    __cil_tmp20 = __cil_tmp19 + 24;
7155#line 772
7156    adapno = *((uint32_t *)__cil_tmp20);
7157    {
7158#line 774
7159    __cil_tmp21 = & dbglevel;
7160#line 774
7161    __cil_tmp22 = *__cil_tmp21;
7162#line 774
7163    if (__cil_tmp22 >= 0) {
7164      {
7165#line 774
7166      printk("<4>megaraid cmm: completed ioctl that was timedout before\n");
7167      }
7168    } else {
7169
7170    }
7171    }
7172#line 777
7173    __cil_tmp23 = & adapters_list_g;
7174#line 777
7175    __cil_tmp24 = *((struct list_head **)__cil_tmp23);
7176#line 777
7177    __mptr = (struct list_head    *)__cil_tmp24;
7178#line 777
7179    __cil_tmp25 = (mraid_mmadp_t *)__mptr;
7180#line 777
7181    adapter = __cil_tmp25 + 0xffffffffffffffd0UL;
7182#line 777
7183    goto ldv_26782;
7184    ldv_26781: 
7185#line 778
7186    tmp = iterator;
7187#line 778
7188    iterator = iterator + 1;
7189    {
7190#line 778
7191    __cil_tmp26 = (uint32_t )tmp;
7192#line 778
7193    if (__cil_tmp26 == adapno) {
7194#line 778
7195      goto ldv_26780;
7196    } else {
7197
7198    }
7199    }
7200#line 777
7201    __cil_tmp27 = (unsigned long )adapter;
7202#line 777
7203    __cil_tmp28 = __cil_tmp27 + 48;
7204#line 777
7205    __cil_tmp29 = *((struct list_head **)__cil_tmp28);
7206#line 777
7207    __mptr___0 = (struct list_head    *)__cil_tmp29;
7208#line 777
7209    __cil_tmp30 = (mraid_mmadp_t *)__mptr___0;
7210#line 777
7211    adapter = __cil_tmp30 + 0xffffffffffffffd0UL;
7212    ldv_26782: ;
7213    {
7214#line 777
7215    __cil_tmp31 = (unsigned long )(& adapters_list_g);
7216#line 777
7217    __cil_tmp32 = (unsigned long )adapter;
7218#line 777
7219    __cil_tmp33 = __cil_tmp32 + 48;
7220#line 777
7221    __cil_tmp34 = (struct list_head *)__cil_tmp33;
7222#line 777
7223    __cil_tmp35 = (unsigned long )__cil_tmp34;
7224#line 777
7225    if (__cil_tmp35 != __cil_tmp31) {
7226#line 778
7227      goto ldv_26781;
7228    } else {
7229#line 780
7230      goto ldv_26780;
7231    }
7232    }
7233    ldv_26780: 
7234#line 781
7235    __cil_tmp36 = (unsigned long )kioc;
7236#line 781
7237    __cil_tmp37 = __cil_tmp36 + 266;
7238#line 781
7239    *((uint8_t *)__cil_tmp37) = (uint8_t )0U;
7240    {
7241#line 783
7242    __cil_tmp38 = (mraid_mmadp_t *)0;
7243#line 783
7244    __cil_tmp39 = (unsigned long )__cil_tmp38;
7245#line 783
7246    __cil_tmp40 = (unsigned long )adapter;
7247#line 783
7248    if (__cil_tmp40 != __cil_tmp39) {
7249      {
7250#line 784
7251      mraid_mm_dealloc_kioc(adapter, kioc);
7252      }
7253    } else {
7254
7255    }
7256    }
7257  } else {
7258    {
7259#line 788
7260    __cil_tmp41 = (void *)0;
7261#line 788
7262    __wake_up(& wait_q, 3U, 1, __cil_tmp41);
7263    }
7264  }
7265  }
7266#line 789
7267  return;
7268}
7269}
7270#line 798 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
7271static void lld_timedout(unsigned long ptr ) 
7272{ uioc_t *kioc ;
7273  unsigned long __cil_tmp3 ;
7274  unsigned long __cil_tmp4 ;
7275  unsigned long __cil_tmp5 ;
7276  unsigned long __cil_tmp6 ;
7277  int *__cil_tmp7 ;
7278  int __cil_tmp8 ;
7279  void *__cil_tmp9 ;
7280
7281  {
7282#line 800
7283  kioc = (uioc_t *)ptr;
7284#line 802
7285  __cil_tmp3 = (unsigned long )kioc;
7286#line 802
7287  __cil_tmp4 = __cil_tmp3 + 48;
7288#line 802
7289  *((int32_t *)__cil_tmp4) = -62;
7290#line 803
7291  __cil_tmp5 = (unsigned long )kioc;
7292#line 803
7293  __cil_tmp6 = __cil_tmp5 + 266;
7294#line 803
7295  *((uint8_t *)__cil_tmp6) = (uint8_t )1U;
7296  {
7297#line 805
7298  __cil_tmp7 = & dbglevel;
7299#line 805
7300  __cil_tmp8 = *__cil_tmp7;
7301#line 805
7302  if (__cil_tmp8 >= 0) {
7303    {
7304#line 805
7305    printk("<4>megaraid cmm: ioctl timed out\n");
7306    }
7307  } else {
7308
7309  }
7310  }
7311  {
7312#line 807
7313  __cil_tmp9 = (void *)0;
7314#line 807
7315  __wake_up(& wait_q, 3U, 1, __cil_tmp9);
7316  }
7317#line 808
7318  return;
7319}
7320}
7321#line 817 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
7322static int kioc_to_mimd(uioc_t *kioc , mimd_t *mimd ) 
7323{ mimd_t kmimd ;
7324  uint8_t opcode ;
7325  uint8_t subopcode ;
7326  mbox64_t *mbox64 ;
7327  mraid_passthru_t *upthru32 ;
7328  mraid_passthru_t *kpthru32 ;
7329  mcontroller_t cinfo ;
7330  mraid_hba_info_t *hinfo ;
7331  unsigned long tmp ;
7332  int tmp___0 ;
7333  int tmp___1 ;
7334  int tmp___2 ;
7335  int tmp___3 ;
7336  void *__cil_tmp16 ;
7337  void    *__cil_tmp17 ;
7338  unsigned long __cil_tmp18 ;
7339  unsigned long __cil_tmp19 ;
7340  unsigned long __cil_tmp20 ;
7341  unsigned long __cil_tmp21 ;
7342  unsigned int __cil_tmp22 ;
7343  unsigned long __cil_tmp23 ;
7344  unsigned long __cil_tmp24 ;
7345  caddr_t __cil_tmp25 ;
7346  unsigned long __cil_tmp26 ;
7347  char *__cil_tmp27 ;
7348  void *__cil_tmp28 ;
7349  void    *__cil_tmp29 ;
7350  unsigned long __cil_tmp30 ;
7351  unsigned long __cil_tmp31 ;
7352  uint64_t __cil_tmp32 ;
7353  mraid_passthru_t *__cil_tmp33 ;
7354  unsigned long __cil_tmp34 ;
7355  unsigned long __cil_tmp35 ;
7356  unsigned long __cil_tmp36 ;
7357  mraid_passthru_t *__cil_tmp37 ;
7358  unsigned long __cil_tmp38 ;
7359  unsigned long __cil_tmp39 ;
7360  unsigned long __cil_tmp40 ;
7361  unsigned long __cil_tmp41 ;
7362  unsigned long __cil_tmp42 ;
7363  unsigned long __cil_tmp43 ;
7364  unsigned long __cil_tmp44 ;
7365  uint8_t *__cil_tmp45 ;
7366  void *__cil_tmp46 ;
7367  unsigned long __cil_tmp47 ;
7368  unsigned long __cil_tmp48 ;
7369  uint8_t *__cil_tmp49 ;
7370  void    *__cil_tmp50 ;
7371  void *__cil_tmp51 ;
7372  unsigned long __cil_tmp52 ;
7373  unsigned long __cil_tmp53 ;
7374  unsigned long __cil_tmp54 ;
7375  void *__cil_tmp55 ;
7376  unsigned long __cil_tmp56 ;
7377  unsigned long __cil_tmp57 ;
7378  unsigned long __cil_tmp58 ;
7379  void *__cil_tmp59 ;
7380  unsigned long __cil_tmp60 ;
7381  unsigned long __cil_tmp61 ;
7382  caddr_t __cil_tmp62 ;
7383  void    *__cil_tmp63 ;
7384  unsigned long __cil_tmp64 ;
7385  unsigned long __cil_tmp65 ;
7386  uint32_t __cil_tmp66 ;
7387  unsigned long __cil_tmp67 ;
7388  unsigned long __cil_tmp68 ;
7389  uint8_t (*__cil_tmp69)[18U] ;
7390  void *__cil_tmp70 ;
7391  void *__cil_tmp71 ;
7392  unsigned long __cil_tmp72 ;
7393  unsigned long __cil_tmp73 ;
7394  unsigned long __cil_tmp74 ;
7395  uint8_t *__cil_tmp75 ;
7396  void    *__cil_tmp76 ;
7397
7398  {
7399  {
7400#line 830
7401  __cil_tmp16 = (void *)(& kmimd);
7402#line 830
7403  __cil_tmp17 = (void    *)mimd;
7404#line 830
7405  tmp = copy_from_user(__cil_tmp16, __cil_tmp17, 110UL);
7406  }
7407#line 830
7408  if (tmp != 0UL) {
7409#line 831
7410    return (-14);
7411  } else {
7412
7413  }
7414#line 833
7415  __cil_tmp18 = (unsigned long )(& kmimd) + 8;
7416#line 833
7417  opcode = *((uint8_t *)__cil_tmp18);
7418#line 834
7419  __cil_tmp19 = 0 + 1;
7420#line 834
7421  __cil_tmp20 = 8 + __cil_tmp19;
7422#line 834
7423  __cil_tmp21 = (unsigned long )(& kmimd) + __cil_tmp20;
7424#line 834
7425  subopcode = *((uint8_t *)__cil_tmp21);
7426  {
7427#line 836
7428  __cil_tmp22 = (unsigned int )opcode;
7429#line 836
7430  if (__cil_tmp22 == 130U) {
7431#line 839
7432    if ((int )subopcode == 103) {
7433#line 839
7434      goto case_103;
7435    } else {
7436      {
7437#line 851
7438      goto switch_default;
7439#line 837
7440      if (0) {
7441        case_103: /* CIL Label */ 
7442        {
7443#line 841
7444        __cil_tmp23 = (unsigned long )kioc;
7445#line 841
7446        __cil_tmp24 = __cil_tmp23 + 248;
7447#line 841
7448        __cil_tmp25 = *((caddr_t *)__cil_tmp24);
7449#line 841
7450        hinfo = (mraid_hba_info_t *)__cil_tmp25;
7451#line 844
7452        hinfo_to_cinfo(hinfo, & cinfo);
7453#line 846
7454        __cil_tmp26 = (unsigned long )(& kmimd) + 112;
7455#line 846
7456        __cil_tmp27 = *((char **)__cil_tmp26);
7457#line 846
7458        __cil_tmp28 = (void *)__cil_tmp27;
7459#line 846
7460        __cil_tmp29 = (void    *)(& cinfo);
7461#line 846
7462        tmp___0 = copy_to_user(__cil_tmp28, __cil_tmp29, 23U);
7463        }
7464#line 846
7465        if (tmp___0 != 0) {
7466#line 847
7467          return (-14);
7468        } else {
7469
7470        }
7471#line 849
7472        return (0);
7473        switch_default: /* CIL Label */ ;
7474#line 852
7475        return (-22);
7476      } else {
7477        switch_break: /* CIL Label */ ;
7478      }
7479      }
7480    }
7481#line 855
7482    return (0);
7483  } else {
7484
7485  }
7486  }
7487#line 858
7488  __cil_tmp30 = (unsigned long )kioc;
7489#line 858
7490  __cil_tmp31 = __cil_tmp30 + 32;
7491#line 858
7492  __cil_tmp32 = *((uint64_t *)__cil_tmp31);
7493#line 858
7494  mbox64 = (mbox64_t *)__cil_tmp32;
7495  {
7496#line 860
7497  __cil_tmp33 = (mraid_passthru_t *)0;
7498#line 860
7499  __cil_tmp34 = (unsigned long )__cil_tmp33;
7500#line 860
7501  __cil_tmp35 = (unsigned long )kioc;
7502#line 860
7503  __cil_tmp36 = __cil_tmp35 + 200;
7504#line 860
7505  __cil_tmp37 = *((mraid_passthru_t **)__cil_tmp36);
7506#line 860
7507  __cil_tmp38 = (unsigned long )__cil_tmp37;
7508#line 860
7509  if (__cil_tmp38 != __cil_tmp34) {
7510    {
7511#line 862
7512    __cil_tmp39 = (unsigned long )kioc;
7513#line 862
7514    __cil_tmp40 = __cil_tmp39 + 200;
7515#line 862
7516    upthru32 = *((mraid_passthru_t **)__cil_tmp40);
7517#line 863
7518    __cil_tmp41 = (unsigned long )kioc;
7519#line 863
7520    __cil_tmp42 = __cil_tmp41 + 208;
7521#line 863
7522    kpthru32 = *((mraid_passthru_t **)__cil_tmp42);
7523#line 865
7524    __cil_tmp43 = (unsigned long )upthru32;
7525#line 865
7526    __cil_tmp44 = __cil_tmp43 + 51;
7527#line 865
7528    __cil_tmp45 = (uint8_t *)__cil_tmp44;
7529#line 865
7530    __cil_tmp46 = (void *)__cil_tmp45;
7531#line 865
7532    __cil_tmp47 = (unsigned long )kpthru32;
7533#line 865
7534    __cil_tmp48 = __cil_tmp47 + 51;
7535#line 865
7536    __cil_tmp49 = (uint8_t *)__cil_tmp48;
7537#line 865
7538    __cil_tmp50 = (void    *)__cil_tmp49;
7539#line 865
7540    tmp___1 = copy_to_user(__cil_tmp46, __cil_tmp50, 1U);
7541    }
7542#line 865
7543    if (tmp___1 != 0) {
7544#line 868
7545      return (-14);
7546    } else {
7547
7548    }
7549  } else {
7550
7551  }
7552  }
7553  {
7554#line 872
7555  __cil_tmp51 = (void *)0;
7556#line 872
7557  __cil_tmp52 = (unsigned long )__cil_tmp51;
7558#line 872
7559  __cil_tmp53 = (unsigned long )kioc;
7560#line 872
7561  __cil_tmp54 = __cil_tmp53 + 184;
7562#line 872
7563  __cil_tmp55 = *((void **)__cil_tmp54);
7564#line 872
7565  __cil_tmp56 = (unsigned long )__cil_tmp55;
7566#line 872
7567  if (__cil_tmp56 != __cil_tmp52) {
7568    {
7569#line 873
7570    __cil_tmp57 = (unsigned long )kioc;
7571#line 873
7572    __cil_tmp58 = __cil_tmp57 + 184;
7573#line 873
7574    __cil_tmp59 = *((void **)__cil_tmp58);
7575#line 873
7576    __cil_tmp60 = (unsigned long )kioc;
7577#line 873
7578    __cil_tmp61 = __cil_tmp60 + 248;
7579#line 873
7580    __cil_tmp62 = *((caddr_t *)__cil_tmp61);
7581#line 873
7582    __cil_tmp63 = (void    *)__cil_tmp62;
7583#line 873
7584    __cil_tmp64 = (unsigned long )kioc;
7585#line 873
7586    __cil_tmp65 = __cil_tmp64 + 192;
7587#line 873
7588    __cil_tmp66 = *((uint32_t *)__cil_tmp65);
7589#line 873
7590    tmp___2 = copy_to_user(__cil_tmp59, __cil_tmp63, __cil_tmp66);
7591    }
7592#line 873
7593    if (tmp___2 != 0) {
7594#line 875
7595      return (-14);
7596    } else {
7597
7598    }
7599  } else {
7600
7601  }
7602  }
7603  {
7604#line 879
7605  __cil_tmp67 = (unsigned long )mimd;
7606#line 879
7607  __cil_tmp68 = __cil_tmp67 + 32;
7608#line 879
7609  __cil_tmp69 = (uint8_t (*)[18U])__cil_tmp68;
7610#line 879
7611  __cil_tmp70 = (void *)__cil_tmp69;
7612#line 879
7613  __cil_tmp71 = __cil_tmp70 + 17U;
7614#line 879
7615  __cil_tmp72 = 8 + 17;
7616#line 879
7617  __cil_tmp73 = (unsigned long )mbox64;
7618#line 879
7619  __cil_tmp74 = __cil_tmp73 + __cil_tmp72;
7620#line 879
7621  __cil_tmp75 = (uint8_t *)__cil_tmp74;
7622#line 879
7623  __cil_tmp76 = (void    *)__cil_tmp75;
7624#line 879
7625  tmp___3 = copy_to_user(__cil_tmp71, __cil_tmp76, 1U);
7626  }
7627#line 879
7628  if (tmp___3 != 0) {
7629#line 881
7630    return (-14);
7631  } else {
7632
7633  }
7634#line 884
7635  return (0);
7636}
7637}
7638#line 894 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
7639static void hinfo_to_cinfo(mraid_hba_info_t *hinfo , mcontroller_t *cinfo ) 
7640{ mraid_hba_info_t *__cil_tmp3 ;
7641  unsigned long __cil_tmp4 ;
7642  unsigned long __cil_tmp5 ;
7643  mcontroller_t *__cil_tmp6 ;
7644  unsigned long __cil_tmp7 ;
7645  unsigned long __cil_tmp8 ;
7646  unsigned long __cil_tmp9 ;
7647  unsigned long __cil_tmp10 ;
7648  unsigned long __cil_tmp11 ;
7649  unsigned long __cil_tmp12 ;
7650  unsigned long __cil_tmp13 ;
7651  unsigned long __cil_tmp14 ;
7652  unsigned long __cil_tmp15 ;
7653  unsigned long __cil_tmp16 ;
7654  unsigned long __cil_tmp17 ;
7655  unsigned long __cil_tmp18 ;
7656  unsigned long __cil_tmp19 ;
7657  unsigned long __cil_tmp20 ;
7658  unsigned long __cil_tmp21 ;
7659  unsigned long __cil_tmp22 ;
7660  unsigned long __cil_tmp23 ;
7661  unsigned long __cil_tmp24 ;
7662  unsigned long __cil_tmp25 ;
7663  unsigned long __cil_tmp26 ;
7664  uint8_t __cil_tmp27 ;
7665  unsigned long __cil_tmp28 ;
7666  unsigned long __cil_tmp29 ;
7667  unsigned long __cil_tmp30 ;
7668  unsigned long __cil_tmp31 ;
7669  uint8_t __cil_tmp32 ;
7670  unsigned int __cil_tmp33 ;
7671  unsigned int __cil_tmp34 ;
7672  unsigned long __cil_tmp35 ;
7673  unsigned long __cil_tmp36 ;
7674  unsigned long __cil_tmp37 ;
7675  unsigned long __cil_tmp38 ;
7676  unsigned long __cil_tmp39 ;
7677  unsigned long __cil_tmp40 ;
7678  unsigned long __cil_tmp41 ;
7679  unsigned long __cil_tmp42 ;
7680  unsigned long __cil_tmp43 ;
7681  unsigned long __cil_tmp44 ;
7682  unsigned long __cil_tmp45 ;
7683  unsigned long __cil_tmp46 ;
7684  unsigned long __cil_tmp47 ;
7685  unsigned long __cil_tmp48 ;
7686
7687  {
7688  {
7689#line 896
7690  __cil_tmp3 = (mraid_hba_info_t *)0;
7691#line 896
7692  __cil_tmp4 = (unsigned long )__cil_tmp3;
7693#line 896
7694  __cil_tmp5 = (unsigned long )hinfo;
7695#line 896
7696  if (__cil_tmp5 == __cil_tmp4) {
7697#line 897
7698    return;
7699  } else {
7700    {
7701#line 896
7702    __cil_tmp6 = (mcontroller_t *)0;
7703#line 896
7704    __cil_tmp7 = (unsigned long )__cil_tmp6;
7705#line 896
7706    __cil_tmp8 = (unsigned long )cinfo;
7707#line 896
7708    if (__cil_tmp8 == __cil_tmp7) {
7709#line 897
7710      return;
7711    } else {
7712
7713    }
7714    }
7715  }
7716  }
7717#line 899
7718  __cil_tmp9 = (unsigned long )hinfo;
7719#line 899
7720  __cil_tmp10 = __cil_tmp9 + 8;
7721#line 899
7722  *((uint64_t *)cinfo) = *((uint64_t *)__cil_tmp10);
7723#line 900
7724  __cil_tmp11 = (unsigned long )cinfo;
7725#line 900
7726  __cil_tmp12 = __cil_tmp11 + 8;
7727#line 900
7728  __cil_tmp13 = (unsigned long )hinfo;
7729#line 900
7730  __cil_tmp14 = __cil_tmp13 + 19;
7731#line 900
7732  *((uint8_t *)__cil_tmp12) = *((uint8_t *)__cil_tmp14);
7733#line 901
7734  __cil_tmp15 = (unsigned long )cinfo;
7735#line 901
7736  __cil_tmp16 = __cil_tmp15 + 9;
7737#line 901
7738  __cil_tmp17 = (unsigned long )hinfo;
7739#line 901
7740  __cil_tmp18 = __cil_tmp17 + 28;
7741#line 901
7742  *((uint8_t *)__cil_tmp16) = *((uint8_t *)__cil_tmp18);
7743#line 902
7744  __cil_tmp19 = (unsigned long )cinfo;
7745#line 902
7746  __cil_tmp20 = __cil_tmp19 + 10;
7747#line 902
7748  __cil_tmp21 = (unsigned long )hinfo;
7749#line 902
7750  __cil_tmp22 = __cil_tmp21 + 16;
7751#line 902
7752  *((uint8_t *)__cil_tmp20) = *((uint8_t *)__cil_tmp22);
7753#line 903
7754  __cil_tmp23 = (unsigned long )cinfo;
7755#line 903
7756  __cil_tmp24 = __cil_tmp23 + 12;
7757#line 903
7758  __cil_tmp25 = (unsigned long )hinfo;
7759#line 903
7760  __cil_tmp26 = __cil_tmp25 + 18;
7761#line 903
7762  __cil_tmp27 = *((uint8_t *)__cil_tmp26);
7763#line 903
7764  *((uint16_t *)__cil_tmp24) = (uint16_t )__cil_tmp27;
7765#line 904
7766  __cil_tmp28 = (unsigned long )cinfo;
7767#line 904
7768  __cil_tmp29 = __cil_tmp28 + 14;
7769#line 904
7770  __cil_tmp30 = (unsigned long )hinfo;
7771#line 904
7772  __cil_tmp31 = __cil_tmp30 + 17;
7773#line 904
7774  __cil_tmp32 = *((uint8_t *)__cil_tmp31);
7775#line 904
7776  __cil_tmp33 = (unsigned int )__cil_tmp32;
7777#line 904
7778  __cil_tmp34 = __cil_tmp33 & 7U;
7779#line 904
7780  *((uint8_t *)__cil_tmp29) = (uint8_t )__cil_tmp34;
7781#line 905
7782  __cil_tmp35 = (unsigned long )cinfo;
7783#line 905
7784  __cil_tmp36 = __cil_tmp35 + 16;
7785#line 905
7786  __cil_tmp37 = (unsigned long )hinfo;
7787#line 905
7788  __cil_tmp38 = __cil_tmp37 + 2;
7789#line 905
7790  *((uint16_t *)__cil_tmp36) = *((uint16_t *)__cil_tmp38);
7791#line 906
7792  __cil_tmp39 = (unsigned long )cinfo;
7793#line 906
7794  __cil_tmp40 = __cil_tmp39 + 18;
7795#line 906
7796  *((uint16_t *)__cil_tmp40) = *((uint16_t *)hinfo);
7797#line 907
7798  __cil_tmp41 = (unsigned long )cinfo;
7799#line 907
7800  __cil_tmp42 = __cil_tmp41 + 20;
7801#line 907
7802  __cil_tmp43 = (unsigned long )hinfo;
7803#line 907
7804  __cil_tmp44 = __cil_tmp43 + 18;
7805#line 907
7806  *((uint8_t *)__cil_tmp42) = *((uint8_t *)__cil_tmp44);
7807#line 908
7808  __cil_tmp45 = (unsigned long )cinfo;
7809#line 908
7810  __cil_tmp46 = __cil_tmp45 + 24;
7811#line 908
7812  __cil_tmp47 = (unsigned long )hinfo;
7813#line 908
7814  __cil_tmp48 = __cil_tmp47 + 20;
7815#line 908
7816  *((uint32_t *)__cil_tmp46) = *((uint32_t *)__cil_tmp48);
7817#line 909
7818  return;
7819}
7820}
7821#line 917 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
7822int mraid_mm_register_adp(mraid_mmadp_t *lld_adp ) 
7823{ mraid_mmadp_t *adapter ;
7824  mbox64_t *mbox_list ;
7825  uioc_t *kioc ;
7826  uint32_t rval ;
7827  int i ;
7828  void *tmp ;
7829  void *tmp___0 ;
7830  void *tmp___1 ;
7831  struct lock_class_key __key ;
7832  void *tmp___2 ;
7833  int tmp___3 ;
7834  unsigned long __cil_tmp13 ;
7835  unsigned long __cil_tmp14 ;
7836  uint32_t __cil_tmp15 ;
7837  mraid_mmadp_t *__cil_tmp16 ;
7838  unsigned long __cil_tmp17 ;
7839  unsigned long __cil_tmp18 ;
7840  unsigned long __cil_tmp19 ;
7841  unsigned long __cil_tmp20 ;
7842  unsigned long __cil_tmp21 ;
7843  unsigned long __cil_tmp22 ;
7844  unsigned long __cil_tmp23 ;
7845  unsigned long __cil_tmp24 ;
7846  unsigned long __cil_tmp25 ;
7847  unsigned long __cil_tmp26 ;
7848  unsigned long __cil_tmp27 ;
7849  unsigned long __cil_tmp28 ;
7850  unsigned long __cil_tmp29 ;
7851  unsigned long __cil_tmp30 ;
7852  unsigned long __cil_tmp31 ;
7853  unsigned long __cil_tmp32 ;
7854  unsigned long __cil_tmp33 ;
7855  unsigned long __cil_tmp34 ;
7856  unsigned long __cil_tmp35 ;
7857  unsigned long __cil_tmp36 ;
7858  unsigned long __cil_tmp37 ;
7859  unsigned long __cil_tmp38 ;
7860  unsigned long __cil_tmp39 ;
7861  unsigned long __cil_tmp40 ;
7862  unsigned long __cil_tmp41 ;
7863  unsigned long __cil_tmp42 ;
7864  unsigned long __cil_tmp43 ;
7865  unsigned long __cil_tmp44 ;
7866  unsigned long __cil_tmp45 ;
7867  unsigned long __cil_tmp46 ;
7868  uint8_t __cil_tmp47 ;
7869  unsigned long __cil_tmp48 ;
7870  unsigned long __cil_tmp49 ;
7871  unsigned long __cil_tmp50 ;
7872  unsigned long __cil_tmp51 ;
7873  unsigned long __cil_tmp52 ;
7874  unsigned long __cil_tmp53 ;
7875  uint8_t __cil_tmp54 ;
7876  unsigned long __cil_tmp55 ;
7877  unsigned long __cil_tmp56 ;
7878  unsigned long __cil_tmp57 ;
7879  unsigned long __cil_tmp58 ;
7880  unsigned long __cil_tmp59 ;
7881  unsigned long __cil_tmp60 ;
7882  unsigned long __cil_tmp61 ;
7883  unsigned long __cil_tmp62 ;
7884  struct pci_dev *__cil_tmp63 ;
7885  unsigned long __cil_tmp64 ;
7886  unsigned long __cil_tmp65 ;
7887  struct device *__cil_tmp66 ;
7888  uioc_t *__cil_tmp67 ;
7889  unsigned long __cil_tmp68 ;
7890  unsigned long __cil_tmp69 ;
7891  unsigned long __cil_tmp70 ;
7892  uioc_t *__cil_tmp71 ;
7893  unsigned long __cil_tmp72 ;
7894  mbox64_t *__cil_tmp73 ;
7895  unsigned long __cil_tmp74 ;
7896  unsigned long __cil_tmp75 ;
7897  unsigned long __cil_tmp76 ;
7898  mbox64_t *__cil_tmp77 ;
7899  unsigned long __cil_tmp78 ;
7900  struct dma_pool *__cil_tmp79 ;
7901  unsigned long __cil_tmp80 ;
7902  unsigned long __cil_tmp81 ;
7903  unsigned long __cil_tmp82 ;
7904  struct dma_pool *__cil_tmp83 ;
7905  unsigned long __cil_tmp84 ;
7906  int *__cil_tmp85 ;
7907  int __cil_tmp86 ;
7908  unsigned long __cil_tmp87 ;
7909  unsigned long __cil_tmp88 ;
7910  struct list_head *__cil_tmp89 ;
7911  unsigned long __cil_tmp90 ;
7912  unsigned long __cil_tmp91 ;
7913  spinlock_t *__cil_tmp92 ;
7914  unsigned long __cil_tmp93 ;
7915  unsigned long __cil_tmp94 ;
7916  struct raw_spinlock *__cil_tmp95 ;
7917  unsigned long __cil_tmp96 ;
7918  unsigned long __cil_tmp97 ;
7919  struct semaphore *__cil_tmp98 ;
7920  unsigned long __cil_tmp99 ;
7921  unsigned long __cil_tmp100 ;
7922  uint8_t __cil_tmp101 ;
7923  int __cil_tmp102 ;
7924  unsigned long __cil_tmp103 ;
7925  unsigned long __cil_tmp104 ;
7926  unsigned long __cil_tmp105 ;
7927  unsigned long __cil_tmp106 ;
7928  unsigned long __cil_tmp107 ;
7929  uioc_t *__cil_tmp108 ;
7930  unsigned long __cil_tmp109 ;
7931  unsigned long __cil_tmp110 ;
7932  unsigned long __cil_tmp111 ;
7933  mbox64_t *__cil_tmp112 ;
7934  unsigned long __cil_tmp113 ;
7935  unsigned long __cil_tmp114 ;
7936  struct dma_pool *__cil_tmp115 ;
7937  unsigned long __cil_tmp116 ;
7938  unsigned long __cil_tmp117 ;
7939  dma_addr_t *__cil_tmp118 ;
7940  unsigned long __cil_tmp119 ;
7941  unsigned long __cil_tmp120 ;
7942  mraid_passthru_t *__cil_tmp121 ;
7943  unsigned long __cil_tmp122 ;
7944  unsigned long __cil_tmp123 ;
7945  unsigned long __cil_tmp124 ;
7946  mraid_passthru_t *__cil_tmp125 ;
7947  unsigned long __cil_tmp126 ;
7948  int *__cil_tmp127 ;
7949  int __cil_tmp128 ;
7950  unsigned long __cil_tmp129 ;
7951  unsigned long __cil_tmp130 ;
7952  struct list_head *__cil_tmp131 ;
7953  unsigned long __cil_tmp132 ;
7954  unsigned long __cil_tmp133 ;
7955  struct list_head *__cil_tmp134 ;
7956  unsigned long __cil_tmp135 ;
7957  unsigned long __cil_tmp136 ;
7958  uint8_t __cil_tmp137 ;
7959  int __cil_tmp138 ;
7960  unsigned long __cil_tmp139 ;
7961  unsigned long __cil_tmp140 ;
7962  struct list_head *__cil_tmp141 ;
7963  int *__cil_tmp142 ;
7964  int *__cil_tmp143 ;
7965  int __cil_tmp144 ;
7966  unsigned long __cil_tmp145 ;
7967  unsigned long __cil_tmp146 ;
7968  unsigned long __cil_tmp147 ;
7969  uioc_t *__cil_tmp148 ;
7970  mraid_passthru_t *__cil_tmp149 ;
7971  unsigned long __cil_tmp150 ;
7972  unsigned long __cil_tmp151 ;
7973  unsigned long __cil_tmp152 ;
7974  mraid_passthru_t *__cil_tmp153 ;
7975  unsigned long __cil_tmp154 ;
7976  unsigned long __cil_tmp155 ;
7977  unsigned long __cil_tmp156 ;
7978  struct dma_pool *__cil_tmp157 ;
7979  unsigned long __cil_tmp158 ;
7980  unsigned long __cil_tmp159 ;
7981  mraid_passthru_t *__cil_tmp160 ;
7982  void *__cil_tmp161 ;
7983  unsigned long __cil_tmp162 ;
7984  unsigned long __cil_tmp163 ;
7985  dma_addr_t __cil_tmp164 ;
7986  unsigned long __cil_tmp165 ;
7987  unsigned long __cil_tmp166 ;
7988  uint8_t __cil_tmp167 ;
7989  int __cil_tmp168 ;
7990  unsigned long __cil_tmp169 ;
7991  unsigned long __cil_tmp170 ;
7992  uioc_t *__cil_tmp171 ;
7993  void    *__cil_tmp172 ;
7994  unsigned long __cil_tmp173 ;
7995  unsigned long __cil_tmp174 ;
7996  mbox64_t *__cil_tmp175 ;
7997  void    *__cil_tmp176 ;
7998  struct dma_pool *__cil_tmp177 ;
7999  unsigned long __cil_tmp178 ;
8000  unsigned long __cil_tmp179 ;
8001  unsigned long __cil_tmp180 ;
8002  struct dma_pool *__cil_tmp181 ;
8003  unsigned long __cil_tmp182 ;
8004  unsigned long __cil_tmp183 ;
8005  unsigned long __cil_tmp184 ;
8006  struct dma_pool *__cil_tmp185 ;
8007  void    *__cil_tmp186 ;
8008
8009  {
8010  {
8011#line 926
8012  __cil_tmp13 = (unsigned long )lld_adp;
8013#line 926
8014  __cil_tmp14 = __cil_tmp13 + 4;
8015#line 926
8016  __cil_tmp15 = *((uint32_t *)__cil_tmp14);
8017#line 926
8018  if (__cil_tmp15 != 1U) {
8019#line 927
8020    return (-22);
8021  } else {
8022
8023  }
8024  }
8025  {
8026#line 929
8027  tmp = kzalloc(832UL, 208U);
8028#line 929
8029  adapter = (mraid_mmadp_t *)tmp;
8030  }
8031  {
8032#line 931
8033  __cil_tmp16 = (mraid_mmadp_t *)0;
8034#line 931
8035  __cil_tmp17 = (unsigned long )__cil_tmp16;
8036#line 931
8037  __cil_tmp18 = (unsigned long )adapter;
8038#line 931
8039  if (__cil_tmp18 == __cil_tmp17) {
8040#line 932
8041    return (-12);
8042  } else {
8043
8044  }
8045  }
8046  {
8047#line 935
8048  *((uint32_t *)adapter) = *((uint32_t *)lld_adp);
8049#line 936
8050  __cil_tmp19 = (unsigned long )adapter;
8051#line 936
8052  __cil_tmp20 = __cil_tmp19 + 4;
8053#line 936
8054  __cil_tmp21 = (unsigned long )lld_adp;
8055#line 936
8056  __cil_tmp22 = __cil_tmp21 + 4;
8057#line 936
8058  *((uint32_t *)__cil_tmp20) = *((uint32_t *)__cil_tmp22);
8059#line 937
8060  __cil_tmp23 = (unsigned long )adapter;
8061#line 937
8062  __cil_tmp24 = __cil_tmp23 + 8;
8063#line 937
8064  __cil_tmp25 = (unsigned long )lld_adp;
8065#line 937
8066  __cil_tmp26 = __cil_tmp25 + 8;
8067#line 937
8068  *((unsigned long *)__cil_tmp24) = *((unsigned long *)__cil_tmp26);
8069#line 938
8070  __cil_tmp27 = (unsigned long )adapter;
8071#line 938
8072  __cil_tmp28 = __cil_tmp27 + 24;
8073#line 938
8074  __cil_tmp29 = (unsigned long )lld_adp;
8075#line 938
8076  __cil_tmp30 = __cil_tmp29 + 24;
8077#line 938
8078  *((struct pci_dev **)__cil_tmp28) = *((struct pci_dev **)__cil_tmp30);
8079#line 939
8080  __cil_tmp31 = (unsigned long )adapter;
8081#line 939
8082  __cil_tmp32 = __cil_tmp31 + 32;
8083#line 939
8084  __cil_tmp33 = (unsigned long )lld_adp;
8085#line 939
8086  __cil_tmp34 = __cil_tmp33 + 32;
8087#line 939
8088  *((int (**)(unsigned long  , uioc_t * , uint32_t  ))__cil_tmp32) = *((int (**)(unsigned long  ,
8089                                                                                 uioc_t * ,
8090                                                                                 uint32_t  ))__cil_tmp34);
8091#line 940
8092  __cil_tmp35 = (unsigned long )adapter;
8093#line 940
8094  __cil_tmp36 = __cil_tmp35 + 16;
8095#line 940
8096  __cil_tmp37 = (unsigned long )lld_adp;
8097#line 940
8098  __cil_tmp38 = __cil_tmp37 + 16;
8099#line 940
8100  *((uint16_t *)__cil_tmp36) = *((uint16_t *)__cil_tmp38);
8101#line 941
8102  __cil_tmp39 = (unsigned long )adapter;
8103#line 941
8104  __cil_tmp40 = __cil_tmp39 + 18;
8105#line 941
8106  __cil_tmp41 = (unsigned long )lld_adp;
8107#line 941
8108  __cil_tmp42 = __cil_tmp41 + 18;
8109#line 941
8110  *((uint8_t *)__cil_tmp40) = *((uint8_t *)__cil_tmp42);
8111#line 942
8112  __cil_tmp43 = (unsigned long )adapter;
8113#line 942
8114  __cil_tmp44 = __cil_tmp43 + 40;
8115#line 942
8116  *((uint32_t *)__cil_tmp44) = 1U;
8117#line 948
8118  __cil_tmp45 = (unsigned long )lld_adp;
8119#line 948
8120  __cil_tmp46 = __cil_tmp45 + 18;
8121#line 948
8122  __cil_tmp47 = *((uint8_t *)__cil_tmp46);
8123#line 948
8124  __cil_tmp48 = (unsigned long )__cil_tmp47;
8125#line 948
8126  __cil_tmp49 = __cil_tmp48 * 1024UL;
8127#line 948
8128  tmp___0 = kmalloc(__cil_tmp49, 208U);
8129#line 948
8130  __cil_tmp50 = (unsigned long )adapter;
8131#line 948
8132  __cil_tmp51 = __cil_tmp50 + 64;
8133#line 948
8134  *((uioc_t **)__cil_tmp51) = (uioc_t *)tmp___0;
8135#line 950
8136  __cil_tmp52 = (unsigned long )lld_adp;
8137#line 950
8138  __cil_tmp53 = __cil_tmp52 + 18;
8139#line 950
8140  __cil_tmp54 = *((uint8_t *)__cil_tmp53);
8141#line 950
8142  __cil_tmp55 = (unsigned long )__cil_tmp54;
8143#line 950
8144  __cil_tmp56 = __cil_tmp55 * 74UL;
8145#line 950
8146  tmp___1 = kmalloc(__cil_tmp56, 208U);
8147#line 950
8148  __cil_tmp57 = (unsigned long )adapter;
8149#line 950
8150  __cil_tmp58 = __cil_tmp57 + 256;
8151#line 950
8152  *((mbox64_t **)__cil_tmp58) = (mbox64_t *)tmp___1;
8153#line 952
8154  __cil_tmp59 = (unsigned long )adapter;
8155#line 952
8156  __cil_tmp60 = __cil_tmp59 + 264;
8157#line 952
8158  __cil_tmp61 = (unsigned long )adapter;
8159#line 952
8160  __cil_tmp62 = __cil_tmp61 + 24;
8161#line 952
8162  __cil_tmp63 = *((struct pci_dev **)__cil_tmp62);
8163#line 952
8164  __cil_tmp64 = (unsigned long )__cil_tmp63;
8165#line 952
8166  __cil_tmp65 = __cil_tmp64 + 144;
8167#line 952
8168  __cil_tmp66 = (struct device *)__cil_tmp65;
8169#line 952
8170  *((struct dma_pool **)__cil_tmp60) = dma_pool_create("megaraid mm pthru pool", __cil_tmp66,
8171                                                       60UL, 16UL, 0UL);
8172  }
8173  {
8174#line 957
8175  __cil_tmp67 = (uioc_t *)0;
8176#line 957
8177  __cil_tmp68 = (unsigned long )__cil_tmp67;
8178#line 957
8179  __cil_tmp69 = (unsigned long )adapter;
8180#line 957
8181  __cil_tmp70 = __cil_tmp69 + 64;
8182#line 957
8183  __cil_tmp71 = *((uioc_t **)__cil_tmp70);
8184#line 957
8185  __cil_tmp72 = (unsigned long )__cil_tmp71;
8186#line 957
8187  if (__cil_tmp72 == __cil_tmp68) {
8188#line 957
8189    goto _L;
8190  } else {
8191    {
8192#line 957
8193    __cil_tmp73 = (mbox64_t *)0;
8194#line 957
8195    __cil_tmp74 = (unsigned long )__cil_tmp73;
8196#line 957
8197    __cil_tmp75 = (unsigned long )adapter;
8198#line 957
8199    __cil_tmp76 = __cil_tmp75 + 256;
8200#line 957
8201    __cil_tmp77 = *((mbox64_t **)__cil_tmp76);
8202#line 957
8203    __cil_tmp78 = (unsigned long )__cil_tmp77;
8204#line 957
8205    if (__cil_tmp78 == __cil_tmp74) {
8206#line 957
8207      goto _L;
8208    } else {
8209      {
8210#line 957
8211      __cil_tmp79 = (struct dma_pool *)0;
8212#line 957
8213      __cil_tmp80 = (unsigned long )__cil_tmp79;
8214#line 957
8215      __cil_tmp81 = (unsigned long )adapter;
8216#line 957
8217      __cil_tmp82 = __cil_tmp81 + 264;
8218#line 957
8219      __cil_tmp83 = *((struct dma_pool **)__cil_tmp82);
8220#line 957
8221      __cil_tmp84 = (unsigned long )__cil_tmp83;
8222#line 957
8223      if (__cil_tmp84 == __cil_tmp80) {
8224        _L: /* CIL Label */ 
8225        {
8226#line 960
8227        __cil_tmp85 = & dbglevel;
8228#line 960
8229        __cil_tmp86 = *__cil_tmp85;
8230#line 960
8231        if (__cil_tmp86 >= 0) {
8232          {
8233#line 960
8234          printk("<4>megaraid cmm: out of memory, %s %d\n", "mraid_mm_register_adp",
8235                 962);
8236          }
8237        } else {
8238
8239        }
8240        }
8241#line 964
8242        rval = 4294967284U;
8243#line 966
8244        goto memalloc_error;
8245      } else {
8246
8247      }
8248      }
8249    }
8250    }
8251  }
8252  }
8253  {
8254#line 972
8255  __cil_tmp87 = (unsigned long )adapter;
8256#line 972
8257  __cil_tmp88 = __cil_tmp87 + 72;
8258#line 972
8259  __cil_tmp89 = (struct list_head *)__cil_tmp88;
8260#line 972
8261  INIT_LIST_HEAD(__cil_tmp89);
8262#line 973
8263  __cil_tmp90 = (unsigned long )adapter;
8264#line 973
8265  __cil_tmp91 = __cil_tmp90 + 88;
8266#line 973
8267  __cil_tmp92 = (spinlock_t *)__cil_tmp91;
8268#line 973
8269  spinlock_check(__cil_tmp92);
8270#line 973
8271  __cil_tmp93 = (unsigned long )adapter;
8272#line 973
8273  __cil_tmp94 = __cil_tmp93 + 88;
8274#line 973
8275  __cil_tmp95 = (struct raw_spinlock *)__cil_tmp94;
8276#line 973
8277  __raw_spin_lock_init(__cil_tmp95, "&(&adapter->kioc_pool_lock)->rlock", & __key);
8278#line 974
8279  __cil_tmp96 = (unsigned long )adapter;
8280#line 974
8281  __cil_tmp97 = __cil_tmp96 + 160;
8282#line 974
8283  __cil_tmp98 = (struct semaphore *)__cil_tmp97;
8284#line 974
8285  __cil_tmp99 = (unsigned long )lld_adp;
8286#line 974
8287  __cil_tmp100 = __cil_tmp99 + 18;
8288#line 974
8289  __cil_tmp101 = *((uint8_t *)__cil_tmp100);
8290#line 974
8291  __cil_tmp102 = (int )__cil_tmp101;
8292#line 974
8293  sema_init(__cil_tmp98, __cil_tmp102);
8294#line 976
8295  __cil_tmp103 = (unsigned long )adapter;
8296#line 976
8297  __cil_tmp104 = __cil_tmp103 + 256;
8298#line 976
8299  mbox_list = *((mbox64_t **)__cil_tmp104);
8300#line 978
8301  i = 0;
8302  }
8303#line 978
8304  goto ldv_26818;
8305  ldv_26817: 
8306  {
8307#line 980
8308  __cil_tmp105 = (unsigned long )i;
8309#line 980
8310  __cil_tmp106 = (unsigned long )adapter;
8311#line 980
8312  __cil_tmp107 = __cil_tmp106 + 64;
8313#line 980
8314  __cil_tmp108 = *((uioc_t **)__cil_tmp107);
8315#line 980
8316  kioc = __cil_tmp108 + __cil_tmp105;
8317#line 981
8318  __cil_tmp109 = (unsigned long )kioc;
8319#line 981
8320  __cil_tmp110 = __cil_tmp109 + 32;
8321#line 981
8322  __cil_tmp111 = (unsigned long )i;
8323#line 981
8324  __cil_tmp112 = mbox_list + __cil_tmp111;
8325#line 981
8326  *((uint64_t *)__cil_tmp110) = (unsigned long long )__cil_tmp112;
8327#line 982
8328  __cil_tmp113 = (unsigned long )adapter;
8329#line 982
8330  __cil_tmp114 = __cil_tmp113 + 264;
8331#line 982
8332  __cil_tmp115 = *((struct dma_pool **)__cil_tmp114);
8333#line 982
8334  __cil_tmp116 = (unsigned long )kioc;
8335#line 982
8336  __cil_tmp117 = __cil_tmp116 + 216;
8337#line 982
8338  __cil_tmp118 = (dma_addr_t *)__cil_tmp117;
8339#line 982
8340  tmp___2 = ldv_dma_pool_alloc_20(__cil_tmp115, 208U, __cil_tmp118);
8341#line 982
8342  __cil_tmp119 = (unsigned long )kioc;
8343#line 982
8344  __cil_tmp120 = __cil_tmp119 + 208;
8345#line 982
8346  *((mraid_passthru_t **)__cil_tmp120) = (mraid_passthru_t *)tmp___2;
8347  }
8348  {
8349#line 985
8350  __cil_tmp121 = (mraid_passthru_t *)0;
8351#line 985
8352  __cil_tmp122 = (unsigned long )__cil_tmp121;
8353#line 985
8354  __cil_tmp123 = (unsigned long )kioc;
8355#line 985
8356  __cil_tmp124 = __cil_tmp123 + 208;
8357#line 985
8358  __cil_tmp125 = *((mraid_passthru_t **)__cil_tmp124);
8359#line 985
8360  __cil_tmp126 = (unsigned long )__cil_tmp125;
8361#line 985
8362  if (__cil_tmp126 == __cil_tmp122) {
8363    {
8364#line 987
8365    __cil_tmp127 = & dbglevel;
8366#line 987
8367    __cil_tmp128 = *__cil_tmp127;
8368#line 987
8369    if (__cil_tmp128 >= 0) {
8370      {
8371#line 987
8372      printk("<4>megaraid cmm: out of memory, %s %d\n", "mraid_mm_register_adp", 989);
8373      }
8374    } else {
8375
8376    }
8377    }
8378#line 991
8379    rval = 4294967284U;
8380#line 993
8381    goto pthru_dma_pool_error;
8382  } else {
8383
8384  }
8385  }
8386  {
8387#line 996
8388  __cil_tmp129 = (unsigned long )kioc;
8389#line 996
8390  __cil_tmp130 = __cil_tmp129 + 224;
8391#line 996
8392  __cil_tmp131 = (struct list_head *)__cil_tmp130;
8393#line 996
8394  __cil_tmp132 = (unsigned long )adapter;
8395#line 996
8396  __cil_tmp133 = __cil_tmp132 + 72;
8397#line 996
8398  __cil_tmp134 = (struct list_head *)__cil_tmp133;
8399#line 996
8400  list_add_tail(__cil_tmp131, __cil_tmp134);
8401#line 978
8402  i = i + 1;
8403  }
8404  ldv_26818: ;
8405  {
8406#line 978
8407  __cil_tmp135 = (unsigned long )lld_adp;
8408#line 978
8409  __cil_tmp136 = __cil_tmp135 + 18;
8410#line 978
8411  __cil_tmp137 = *((uint8_t *)__cil_tmp136);
8412#line 978
8413  __cil_tmp138 = (int )__cil_tmp137;
8414#line 978
8415  if (__cil_tmp138 > i) {
8416#line 979
8417    goto ldv_26817;
8418  } else {
8419#line 981
8420    goto ldv_26819;
8421  }
8422  }
8423  ldv_26819: 
8424  {
8425#line 1000
8426  tmp___3 = mraid_mm_setup_dma_pools(adapter);
8427#line 1000
8428  rval = (uint32_t )tmp___3;
8429  }
8430#line 1000
8431  if (rval != 0U) {
8432#line 1001
8433    goto dma_pool_error;
8434  } else {
8435
8436  }
8437  {
8438#line 1004
8439  __cil_tmp139 = (unsigned long )adapter;
8440#line 1004
8441  __cil_tmp140 = __cil_tmp139 + 48;
8442#line 1004
8443  __cil_tmp141 = (struct list_head *)__cil_tmp140;
8444#line 1004
8445  list_add_tail(__cil_tmp141, & adapters_list_g);
8446#line 1006
8447  __cil_tmp142 = & adapters_count_g;
8448#line 1006
8449  __cil_tmp143 = & adapters_count_g;
8450#line 1006
8451  __cil_tmp144 = *__cil_tmp143;
8452#line 1006
8453  *__cil_tmp142 = __cil_tmp144 + 1;
8454  }
8455#line 1008
8456  return (0);
8457  dma_pool_error: ;
8458  pthru_dma_pool_error: 
8459#line 1015
8460  i = 0;
8461#line 1015
8462  goto ldv_26822;
8463  ldv_26821: 
8464#line 1016
8465  __cil_tmp145 = (unsigned long )i;
8466#line 1016
8467  __cil_tmp146 = (unsigned long )adapter;
8468#line 1016
8469  __cil_tmp147 = __cil_tmp146 + 64;
8470#line 1016
8471  __cil_tmp148 = *((uioc_t **)__cil_tmp147);
8472#line 1016
8473  kioc = __cil_tmp148 + __cil_tmp145;
8474  {
8475#line 1017
8476  __cil_tmp149 = (mraid_passthru_t *)0;
8477#line 1017
8478  __cil_tmp150 = (unsigned long )__cil_tmp149;
8479#line 1017
8480  __cil_tmp151 = (unsigned long )kioc;
8481#line 1017
8482  __cil_tmp152 = __cil_tmp151 + 208;
8483#line 1017
8484  __cil_tmp153 = *((mraid_passthru_t **)__cil_tmp152);
8485#line 1017
8486  __cil_tmp154 = (unsigned long )__cil_tmp153;
8487#line 1017
8488  if (__cil_tmp154 != __cil_tmp150) {
8489    {
8490#line 1018
8491    __cil_tmp155 = (unsigned long )adapter;
8492#line 1018
8493    __cil_tmp156 = __cil_tmp155 + 264;
8494#line 1018
8495    __cil_tmp157 = *((struct dma_pool **)__cil_tmp156);
8496#line 1018
8497    __cil_tmp158 = (unsigned long )kioc;
8498#line 1018
8499    __cil_tmp159 = __cil_tmp158 + 208;
8500#line 1018
8501    __cil_tmp160 = *((mraid_passthru_t **)__cil_tmp159);
8502#line 1018
8503    __cil_tmp161 = (void *)__cil_tmp160;
8504#line 1018
8505    __cil_tmp162 = (unsigned long )kioc;
8506#line 1018
8507    __cil_tmp163 = __cil_tmp162 + 216;
8508#line 1018
8509    __cil_tmp164 = *((dma_addr_t *)__cil_tmp163);
8510#line 1018
8511    dma_pool_free(__cil_tmp157, __cil_tmp161, __cil_tmp164);
8512    }
8513  } else {
8514
8515  }
8516  }
8517#line 1015
8518  i = i + 1;
8519  ldv_26822: ;
8520  {
8521#line 1015
8522  __cil_tmp165 = (unsigned long )lld_adp;
8523#line 1015
8524  __cil_tmp166 = __cil_tmp165 + 18;
8525#line 1015
8526  __cil_tmp167 = *((uint8_t *)__cil_tmp166);
8527#line 1015
8528  __cil_tmp168 = (int )__cil_tmp167;
8529#line 1015
8530  if (__cil_tmp168 > i) {
8531#line 1016
8532    goto ldv_26821;
8533  } else {
8534#line 1018
8535    goto ldv_26823;
8536  }
8537  }
8538  ldv_26823: ;
8539  memalloc_error: 
8540  {
8541#line 1025
8542  __cil_tmp169 = (unsigned long )adapter;
8543#line 1025
8544  __cil_tmp170 = __cil_tmp169 + 64;
8545#line 1025
8546  __cil_tmp171 = *((uioc_t **)__cil_tmp170);
8547#line 1025
8548  __cil_tmp172 = (void    *)__cil_tmp171;
8549#line 1025
8550  kfree(__cil_tmp172);
8551#line 1026
8552  __cil_tmp173 = (unsigned long )adapter;
8553#line 1026
8554  __cil_tmp174 = __cil_tmp173 + 256;
8555#line 1026
8556  __cil_tmp175 = *((mbox64_t **)__cil_tmp174);
8557#line 1026
8558  __cil_tmp176 = (void    *)__cil_tmp175;
8559#line 1026
8560  kfree(__cil_tmp176);
8561  }
8562  {
8563#line 1028
8564  __cil_tmp177 = (struct dma_pool *)0;
8565#line 1028
8566  __cil_tmp178 = (unsigned long )__cil_tmp177;
8567#line 1028
8568  __cil_tmp179 = (unsigned long )adapter;
8569#line 1028
8570  __cil_tmp180 = __cil_tmp179 + 264;
8571#line 1028
8572  __cil_tmp181 = *((struct dma_pool **)__cil_tmp180);
8573#line 1028
8574  __cil_tmp182 = (unsigned long )__cil_tmp181;
8575#line 1028
8576  if (__cil_tmp182 != __cil_tmp178) {
8577    {
8578#line 1029
8579    __cil_tmp183 = (unsigned long )adapter;
8580#line 1029
8581    __cil_tmp184 = __cil_tmp183 + 264;
8582#line 1029
8583    __cil_tmp185 = *((struct dma_pool **)__cil_tmp184);
8584#line 1029
8585    dma_pool_destroy(__cil_tmp185);
8586    }
8587  } else {
8588
8589  }
8590  }
8591  {
8592#line 1031
8593  __cil_tmp186 = (void    *)adapter;
8594#line 1031
8595  kfree(__cil_tmp186);
8596  }
8597#line 1033
8598  return ((int )rval);
8599}
8600}
8601#line 1049 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
8602uint32_t mraid_mm_adapter_app_handle(uint32_t unique_id ) 
8603{ mraid_mmadp_t *adapter ;
8604  mraid_mmadp_t *tmp ;
8605  int index ;
8606  struct list_head    *__mptr ;
8607  struct list_head    *__mptr___0 ;
8608  struct list_head    *__mptr___1 ;
8609  struct list_head *__cil_tmp8 ;
8610  struct list_head *__cil_tmp9 ;
8611  mraid_mmadp_t *__cil_tmp10 ;
8612  unsigned long __cil_tmp11 ;
8613  unsigned long __cil_tmp12 ;
8614  struct list_head *__cil_tmp13 ;
8615  mraid_mmadp_t *__cil_tmp14 ;
8616  uint32_t __cil_tmp15 ;
8617  int __cil_tmp16 ;
8618  unsigned long __cil_tmp17 ;
8619  unsigned long __cil_tmp18 ;
8620  struct list_head *__cil_tmp19 ;
8621  mraid_mmadp_t *__cil_tmp20 ;
8622  unsigned long __cil_tmp21 ;
8623  unsigned long __cil_tmp22 ;
8624  unsigned long __cil_tmp23 ;
8625  struct list_head *__cil_tmp24 ;
8626  unsigned long __cil_tmp25 ;
8627
8628  {
8629#line 1053
8630  index = 0;
8631#line 1055
8632  __cil_tmp8 = & adapters_list_g;
8633#line 1055
8634  __cil_tmp9 = *((struct list_head **)__cil_tmp8);
8635#line 1055
8636  __mptr = (struct list_head    *)__cil_tmp9;
8637#line 1055
8638  __cil_tmp10 = (mraid_mmadp_t *)__mptr;
8639#line 1055
8640  adapter = __cil_tmp10 + 0xffffffffffffffd0UL;
8641#line 1055
8642  __cil_tmp11 = (unsigned long )adapter;
8643#line 1055
8644  __cil_tmp12 = __cil_tmp11 + 48;
8645#line 1055
8646  __cil_tmp13 = *((struct list_head **)__cil_tmp12);
8647#line 1055
8648  __mptr___0 = (struct list_head    *)__cil_tmp13;
8649#line 1055
8650  __cil_tmp14 = (mraid_mmadp_t *)__mptr___0;
8651#line 1055
8652  tmp = __cil_tmp14 + 0xffffffffffffffd0UL;
8653#line 1055
8654  goto ldv_26837;
8655  ldv_26836: ;
8656  {
8657#line 1057
8658  __cil_tmp15 = *((uint32_t *)adapter);
8659#line 1057
8660  if (__cil_tmp15 == unique_id) {
8661    {
8662#line 1059
8663    __cil_tmp16 = index | 27904;
8664#line 1059
8665    return ((uint32_t )__cil_tmp16);
8666    }
8667  } else {
8668
8669  }
8670  }
8671#line 1062
8672  index = index + 1;
8673#line 1055
8674  adapter = tmp;
8675#line 1055
8676  __cil_tmp17 = (unsigned long )tmp;
8677#line 1055
8678  __cil_tmp18 = __cil_tmp17 + 48;
8679#line 1055
8680  __cil_tmp19 = *((struct list_head **)__cil_tmp18);
8681#line 1055
8682  __mptr___1 = (struct list_head    *)__cil_tmp19;
8683#line 1055
8684  __cil_tmp20 = (mraid_mmadp_t *)__mptr___1;
8685#line 1055
8686  tmp = __cil_tmp20 + 0xffffffffffffffd0UL;
8687  ldv_26837: ;
8688  {
8689#line 1055
8690  __cil_tmp21 = (unsigned long )(& adapters_list_g);
8691#line 1055
8692  __cil_tmp22 = (unsigned long )adapter;
8693#line 1055
8694  __cil_tmp23 = __cil_tmp22 + 48;
8695#line 1055
8696  __cil_tmp24 = (struct list_head *)__cil_tmp23;
8697#line 1055
8698  __cil_tmp25 = (unsigned long )__cil_tmp24;
8699#line 1055
8700  if (__cil_tmp25 != __cil_tmp21) {
8701#line 1056
8702    goto ldv_26836;
8703  } else {
8704#line 1058
8705    goto ldv_26838;
8706  }
8707  }
8708  ldv_26838: ;
8709#line 1065
8710  return (0U);
8711}
8712}
8713#line 1080 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
8714static int mraid_mm_setup_dma_pools(mraid_mmadp_t *adp ) 
8715{ mm_dmapool_t *pool ;
8716  int bufsize ;
8717  int i ;
8718  struct lock_class_key __key ;
8719  void *tmp ;
8720  unsigned long __cil_tmp7 ;
8721  unsigned long __cil_tmp8 ;
8722  unsigned long __cil_tmp9 ;
8723  mm_dmapool_t (*__cil_tmp10)[5U] ;
8724  mm_dmapool_t *__cil_tmp11 ;
8725  unsigned long __cil_tmp12 ;
8726  unsigned long __cil_tmp13 ;
8727  unsigned long __cil_tmp14 ;
8728  unsigned long __cil_tmp15 ;
8729  spinlock_t *__cil_tmp16 ;
8730  unsigned long __cil_tmp17 ;
8731  unsigned long __cil_tmp18 ;
8732  struct raw_spinlock *__cil_tmp19 ;
8733  unsigned long __cil_tmp20 ;
8734  unsigned long __cil_tmp21 ;
8735  unsigned long __cil_tmp22 ;
8736  unsigned long __cil_tmp23 ;
8737  struct pci_dev *__cil_tmp24 ;
8738  unsigned long __cil_tmp25 ;
8739  unsigned long __cil_tmp26 ;
8740  struct device *__cil_tmp27 ;
8741  size_t __cil_tmp28 ;
8742  struct dma_pool *__cil_tmp29 ;
8743  unsigned long __cil_tmp30 ;
8744  unsigned long __cil_tmp31 ;
8745  unsigned long __cil_tmp32 ;
8746  struct dma_pool *__cil_tmp33 ;
8747  unsigned long __cil_tmp34 ;
8748  unsigned long __cil_tmp35 ;
8749  unsigned long __cil_tmp36 ;
8750  struct dma_pool *__cil_tmp37 ;
8751  unsigned long __cil_tmp38 ;
8752  unsigned long __cil_tmp39 ;
8753  dma_addr_t *__cil_tmp40 ;
8754  caddr_t __cil_tmp41 ;
8755  unsigned long __cil_tmp42 ;
8756  caddr_t __cil_tmp43 ;
8757  unsigned long __cil_tmp44 ;
8758
8759  {
8760#line 1089
8761  bufsize = 4096;
8762#line 1091
8763  i = 0;
8764#line 1091
8765  goto ldv_26848;
8766  ldv_26847: 
8767  {
8768#line 1093
8769  __cil_tmp7 = (unsigned long )i;
8770#line 1093
8771  __cil_tmp8 = (unsigned long )adp;
8772#line 1093
8773  __cil_tmp9 = __cil_tmp8 + 272;
8774#line 1093
8775  __cil_tmp10 = (mm_dmapool_t (*)[5U])__cil_tmp9;
8776#line 1093
8777  __cil_tmp11 = (mm_dmapool_t *)__cil_tmp10;
8778#line 1093
8779  pool = __cil_tmp11 + __cil_tmp7;
8780#line 1095
8781  __cil_tmp12 = (unsigned long )pool;
8782#line 1095
8783  __cil_tmp13 = __cil_tmp12 + 16;
8784#line 1095
8785  *((uint32_t *)__cil_tmp13) = (uint32_t )bufsize;
8786#line 1096
8787  __cil_tmp14 = (unsigned long )pool;
8788#line 1096
8789  __cil_tmp15 = __cil_tmp14 + 32;
8790#line 1096
8791  __cil_tmp16 = (spinlock_t *)__cil_tmp15;
8792#line 1096
8793  spinlock_check(__cil_tmp16);
8794#line 1096
8795  __cil_tmp17 = (unsigned long )pool;
8796#line 1096
8797  __cil_tmp18 = __cil_tmp17 + 32;
8798#line 1096
8799  __cil_tmp19 = (struct raw_spinlock *)__cil_tmp18;
8800#line 1096
8801  __raw_spin_lock_init(__cil_tmp19, "&(&pool->lock)->rlock", & __key);
8802#line 1098
8803  __cil_tmp20 = (unsigned long )pool;
8804#line 1098
8805  __cil_tmp21 = __cil_tmp20 + 24;
8806#line 1098
8807  __cil_tmp22 = (unsigned long )adp;
8808#line 1098
8809  __cil_tmp23 = __cil_tmp22 + 24;
8810#line 1098
8811  __cil_tmp24 = *((struct pci_dev **)__cil_tmp23);
8812#line 1098
8813  __cil_tmp25 = (unsigned long )__cil_tmp24;
8814#line 1098
8815  __cil_tmp26 = __cil_tmp25 + 144;
8816#line 1098
8817  __cil_tmp27 = (struct device *)__cil_tmp26;
8818#line 1098
8819  __cil_tmp28 = (size_t )bufsize;
8820#line 1098
8821  *((struct dma_pool **)__cil_tmp21) = dma_pool_create("megaraid mm data buffer",
8822                                                       __cil_tmp27, __cil_tmp28, 16UL,
8823                                                       0UL);
8824  }
8825  {
8826#line 1101
8827  __cil_tmp29 = (struct dma_pool *)0;
8828#line 1101
8829  __cil_tmp30 = (unsigned long )__cil_tmp29;
8830#line 1101
8831  __cil_tmp31 = (unsigned long )pool;
8832#line 1101
8833  __cil_tmp32 = __cil_tmp31 + 24;
8834#line 1101
8835  __cil_tmp33 = *((struct dma_pool **)__cil_tmp32);
8836#line 1101
8837  __cil_tmp34 = (unsigned long )__cil_tmp33;
8838#line 1101
8839  if (__cil_tmp34 == __cil_tmp30) {
8840#line 1102
8841    goto dma_pool_setup_error;
8842  } else {
8843
8844  }
8845  }
8846  {
8847#line 1105
8848  __cil_tmp35 = (unsigned long )pool;
8849#line 1105
8850  __cil_tmp36 = __cil_tmp35 + 24;
8851#line 1105
8852  __cil_tmp37 = *((struct dma_pool **)__cil_tmp36);
8853#line 1105
8854  __cil_tmp38 = (unsigned long )pool;
8855#line 1105
8856  __cil_tmp39 = __cil_tmp38 + 8;
8857#line 1105
8858  __cil_tmp40 = (dma_addr_t *)__cil_tmp39;
8859#line 1105
8860  tmp = ldv_dma_pool_alloc_21(__cil_tmp37, 208U, __cil_tmp40);
8861#line 1105
8862  *((caddr_t *)pool) = (caddr_t )tmp;
8863  }
8864  {
8865#line 1108
8866  __cil_tmp41 = (caddr_t )0;
8867#line 1108
8868  __cil_tmp42 = (unsigned long )__cil_tmp41;
8869#line 1108
8870  __cil_tmp43 = *((caddr_t *)pool);
8871#line 1108
8872  __cil_tmp44 = (unsigned long )__cil_tmp43;
8873#line 1108
8874  if (__cil_tmp44 == __cil_tmp42) {
8875#line 1109
8876    goto dma_pool_setup_error;
8877  } else {
8878
8879  }
8880  }
8881#line 1111
8882  bufsize = bufsize * 2;
8883#line 1091
8884  i = i + 1;
8885  ldv_26848: ;
8886#line 1091
8887  if (i <= 4) {
8888#line 1092
8889    goto ldv_26847;
8890  } else {
8891#line 1094
8892    goto ldv_26849;
8893  }
8894  ldv_26849: ;
8895#line 1114
8896  return (0);
8897  dma_pool_setup_error: 
8898  {
8899#line 1118
8900  mraid_mm_teardown_dma_pools(adp);
8901  }
8902#line 1119
8903  return (-12);
8904}
8905}
8906#line 1130 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
8907int mraid_mm_unregister_adp(uint32_t unique_id ) 
8908{ mraid_mmadp_t *adapter ;
8909  mraid_mmadp_t *tmp ;
8910  struct list_head    *__mptr ;
8911  struct list_head    *__mptr___0 ;
8912  struct list_head    *__mptr___1 ;
8913  struct list_head *__cil_tmp7 ;
8914  struct list_head *__cil_tmp8 ;
8915  mraid_mmadp_t *__cil_tmp9 ;
8916  unsigned long __cil_tmp10 ;
8917  unsigned long __cil_tmp11 ;
8918  struct list_head *__cil_tmp12 ;
8919  mraid_mmadp_t *__cil_tmp13 ;
8920  uint32_t __cil_tmp14 ;
8921  int *__cil_tmp15 ;
8922  int *__cil_tmp16 ;
8923  int __cil_tmp17 ;
8924  unsigned long __cil_tmp18 ;
8925  unsigned long __cil_tmp19 ;
8926  struct list_head *__cil_tmp20 ;
8927  void    *__cil_tmp21 ;
8928  int *__cil_tmp22 ;
8929  int __cil_tmp23 ;
8930  unsigned long __cil_tmp24 ;
8931  unsigned long __cil_tmp25 ;
8932  struct list_head *__cil_tmp26 ;
8933  mraid_mmadp_t *__cil_tmp27 ;
8934  unsigned long __cil_tmp28 ;
8935  unsigned long __cil_tmp29 ;
8936  unsigned long __cil_tmp30 ;
8937  struct list_head *__cil_tmp31 ;
8938  unsigned long __cil_tmp32 ;
8939
8940  {
8941#line 1135
8942  __cil_tmp7 = & adapters_list_g;
8943#line 1135
8944  __cil_tmp8 = *((struct list_head **)__cil_tmp7);
8945#line 1135
8946  __mptr = (struct list_head    *)__cil_tmp8;
8947#line 1135
8948  __cil_tmp9 = (mraid_mmadp_t *)__mptr;
8949#line 1135
8950  adapter = __cil_tmp9 + 0xffffffffffffffd0UL;
8951#line 1135
8952  __cil_tmp10 = (unsigned long )adapter;
8953#line 1135
8954  __cil_tmp11 = __cil_tmp10 + 48;
8955#line 1135
8956  __cil_tmp12 = *((struct list_head **)__cil_tmp11);
8957#line 1135
8958  __mptr___0 = (struct list_head    *)__cil_tmp12;
8959#line 1135
8960  __cil_tmp13 = (mraid_mmadp_t *)__mptr___0;
8961#line 1135
8962  tmp = __cil_tmp13 + 0xffffffffffffffd0UL;
8963#line 1135
8964  goto ldv_26862;
8965  ldv_26861: ;
8966  {
8967#line 1138
8968  __cil_tmp14 = *((uint32_t *)adapter);
8969#line 1138
8970  if (__cil_tmp14 == unique_id) {
8971    {
8972#line 1140
8973    __cil_tmp15 = & adapters_count_g;
8974#line 1140
8975    __cil_tmp16 = & adapters_count_g;
8976#line 1140
8977    __cil_tmp17 = *__cil_tmp16;
8978#line 1140
8979    *__cil_tmp15 = __cil_tmp17 - 1;
8980#line 1142
8981    __cil_tmp18 = (unsigned long )adapter;
8982#line 1142
8983    __cil_tmp19 = __cil_tmp18 + 48;
8984#line 1142
8985    __cil_tmp20 = (struct list_head *)__cil_tmp19;
8986#line 1142
8987    list_del_init(__cil_tmp20);
8988#line 1144
8989    mraid_mm_free_adp_resources(adapter);
8990#line 1146
8991    __cil_tmp21 = (void    *)adapter;
8992#line 1146
8993    kfree(__cil_tmp21);
8994    }
8995    {
8996#line 1148
8997    __cil_tmp22 = & dbglevel;
8998#line 1148
8999    __cil_tmp23 = *__cil_tmp22;
9000#line 1148
9001    if (__cil_tmp23 >= 0) {
9002      {
9003#line 1148
9004      printk("megaraid cmm: Unregistered one adapter:%#x\n", unique_id);
9005      }
9006    } else {
9007
9008    }
9009    }
9010#line 1152
9011    return (0);
9012  } else {
9013
9014  }
9015  }
9016#line 1135
9017  adapter = tmp;
9018#line 1135
9019  __cil_tmp24 = (unsigned long )tmp;
9020#line 1135
9021  __cil_tmp25 = __cil_tmp24 + 48;
9022#line 1135
9023  __cil_tmp26 = *((struct list_head **)__cil_tmp25);
9024#line 1135
9025  __mptr___1 = (struct list_head    *)__cil_tmp26;
9026#line 1135
9027  __cil_tmp27 = (mraid_mmadp_t *)__mptr___1;
9028#line 1135
9029  tmp = __cil_tmp27 + 0xffffffffffffffd0UL;
9030  ldv_26862: ;
9031  {
9032#line 1135
9033  __cil_tmp28 = (unsigned long )(& adapters_list_g);
9034#line 1135
9035  __cil_tmp29 = (unsigned long )adapter;
9036#line 1135
9037  __cil_tmp30 = __cil_tmp29 + 48;
9038#line 1135
9039  __cil_tmp31 = (struct list_head *)__cil_tmp30;
9040#line 1135
9041  __cil_tmp32 = (unsigned long )__cil_tmp31;
9042#line 1135
9043  if (__cil_tmp32 != __cil_tmp28) {
9044#line 1136
9045    goto ldv_26861;
9046  } else {
9047#line 1138
9048    goto ldv_26863;
9049  }
9050  }
9051  ldv_26863: ;
9052#line 1156
9053  return (-19);
9054}
9055}
9056#line 1164 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9057static void mraid_mm_free_adp_resources(mraid_mmadp_t *adp ) 
9058{ uioc_t *kioc ;
9059  int i ;
9060  unsigned long __cil_tmp4 ;
9061  unsigned long __cil_tmp5 ;
9062  unsigned long __cil_tmp6 ;
9063  uioc_t *__cil_tmp7 ;
9064  unsigned long __cil_tmp8 ;
9065  unsigned long __cil_tmp9 ;
9066  struct dma_pool *__cil_tmp10 ;
9067  unsigned long __cil_tmp11 ;
9068  unsigned long __cil_tmp12 ;
9069  mraid_passthru_t *__cil_tmp13 ;
9070  void *__cil_tmp14 ;
9071  unsigned long __cil_tmp15 ;
9072  unsigned long __cil_tmp16 ;
9073  dma_addr_t __cil_tmp17 ;
9074  unsigned long __cil_tmp18 ;
9075  unsigned long __cil_tmp19 ;
9076  uint8_t __cil_tmp20 ;
9077  int __cil_tmp21 ;
9078  unsigned long __cil_tmp22 ;
9079  unsigned long __cil_tmp23 ;
9080  uioc_t *__cil_tmp24 ;
9081  void    *__cil_tmp25 ;
9082  unsigned long __cil_tmp26 ;
9083  unsigned long __cil_tmp27 ;
9084  mbox64_t *__cil_tmp28 ;
9085  void    *__cil_tmp29 ;
9086  unsigned long __cil_tmp30 ;
9087  unsigned long __cil_tmp31 ;
9088  struct dma_pool *__cil_tmp32 ;
9089
9090  {
9091  {
9092#line 1169
9093  mraid_mm_teardown_dma_pools(adp);
9094#line 1171
9095  i = 0;
9096  }
9097#line 1171
9098  goto ldv_26870;
9099  ldv_26869: 
9100  {
9101#line 1173
9102  __cil_tmp4 = (unsigned long )i;
9103#line 1173
9104  __cil_tmp5 = (unsigned long )adp;
9105#line 1173
9106  __cil_tmp6 = __cil_tmp5 + 64;
9107#line 1173
9108  __cil_tmp7 = *((uioc_t **)__cil_tmp6);
9109#line 1173
9110  kioc = __cil_tmp7 + __cil_tmp4;
9111#line 1175
9112  __cil_tmp8 = (unsigned long )adp;
9113#line 1175
9114  __cil_tmp9 = __cil_tmp8 + 264;
9115#line 1175
9116  __cil_tmp10 = *((struct dma_pool **)__cil_tmp9);
9117#line 1175
9118  __cil_tmp11 = (unsigned long )kioc;
9119#line 1175
9120  __cil_tmp12 = __cil_tmp11 + 208;
9121#line 1175
9122  __cil_tmp13 = *((mraid_passthru_t **)__cil_tmp12);
9123#line 1175
9124  __cil_tmp14 = (void *)__cil_tmp13;
9125#line 1175
9126  __cil_tmp15 = (unsigned long )kioc;
9127#line 1175
9128  __cil_tmp16 = __cil_tmp15 + 216;
9129#line 1175
9130  __cil_tmp17 = *((dma_addr_t *)__cil_tmp16);
9131#line 1175
9132  dma_pool_free(__cil_tmp10, __cil_tmp14, __cil_tmp17);
9133#line 1171
9134  i = i + 1;
9135  }
9136  ldv_26870: ;
9137  {
9138#line 1171
9139  __cil_tmp18 = (unsigned long )adp;
9140#line 1171
9141  __cil_tmp19 = __cil_tmp18 + 18;
9142#line 1171
9143  __cil_tmp20 = *((uint8_t *)__cil_tmp19);
9144#line 1171
9145  __cil_tmp21 = (int )__cil_tmp20;
9146#line 1171
9147  if (__cil_tmp21 > i) {
9148#line 1172
9149    goto ldv_26869;
9150  } else {
9151#line 1174
9152    goto ldv_26871;
9153  }
9154  }
9155  ldv_26871: 
9156  {
9157#line 1179
9158  __cil_tmp22 = (unsigned long )adp;
9159#line 1179
9160  __cil_tmp23 = __cil_tmp22 + 64;
9161#line 1179
9162  __cil_tmp24 = *((uioc_t **)__cil_tmp23);
9163#line 1179
9164  __cil_tmp25 = (void    *)__cil_tmp24;
9165#line 1179
9166  kfree(__cil_tmp25);
9167#line 1180
9168  __cil_tmp26 = (unsigned long )adp;
9169#line 1180
9170  __cil_tmp27 = __cil_tmp26 + 256;
9171#line 1180
9172  __cil_tmp28 = *((mbox64_t **)__cil_tmp27);
9173#line 1180
9174  __cil_tmp29 = (void    *)__cil_tmp28;
9175#line 1180
9176  kfree(__cil_tmp29);
9177#line 1182
9178  __cil_tmp30 = (unsigned long )adp;
9179#line 1182
9180  __cil_tmp31 = __cil_tmp30 + 264;
9181#line 1182
9182  __cil_tmp32 = *((struct dma_pool **)__cil_tmp31);
9183#line 1182
9184  dma_pool_destroy(__cil_tmp32);
9185  }
9186#line 1185
9187  return;
9188}
9189}
9190#line 1194 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9191static void mraid_mm_teardown_dma_pools(mraid_mmadp_t *adp ) 
9192{ int i ;
9193  mm_dmapool_t *pool ;
9194  unsigned long __cil_tmp4 ;
9195  unsigned long __cil_tmp5 ;
9196  unsigned long __cil_tmp6 ;
9197  mm_dmapool_t (*__cil_tmp7)[5U] ;
9198  mm_dmapool_t *__cil_tmp8 ;
9199  struct dma_pool *__cil_tmp9 ;
9200  unsigned long __cil_tmp10 ;
9201  unsigned long __cil_tmp11 ;
9202  unsigned long __cil_tmp12 ;
9203  struct dma_pool *__cil_tmp13 ;
9204  unsigned long __cil_tmp14 ;
9205  caddr_t __cil_tmp15 ;
9206  unsigned long __cil_tmp16 ;
9207  caddr_t __cil_tmp17 ;
9208  unsigned long __cil_tmp18 ;
9209  unsigned long __cil_tmp19 ;
9210  unsigned long __cil_tmp20 ;
9211  struct dma_pool *__cil_tmp21 ;
9212  caddr_t __cil_tmp22 ;
9213  void *__cil_tmp23 ;
9214  unsigned long __cil_tmp24 ;
9215  unsigned long __cil_tmp25 ;
9216  dma_addr_t __cil_tmp26 ;
9217  unsigned long __cil_tmp27 ;
9218  unsigned long __cil_tmp28 ;
9219  struct dma_pool *__cil_tmp29 ;
9220  unsigned long __cil_tmp30 ;
9221  unsigned long __cil_tmp31 ;
9222
9223  {
9224#line 1199
9225  i = 0;
9226#line 1199
9227  goto ldv_26878;
9228  ldv_26877: 
9229#line 1201
9230  __cil_tmp4 = (unsigned long )i;
9231#line 1201
9232  __cil_tmp5 = (unsigned long )adp;
9233#line 1201
9234  __cil_tmp6 = __cil_tmp5 + 272;
9235#line 1201
9236  __cil_tmp7 = (mm_dmapool_t (*)[5U])__cil_tmp6;
9237#line 1201
9238  __cil_tmp8 = (mm_dmapool_t *)__cil_tmp7;
9239#line 1201
9240  pool = __cil_tmp8 + __cil_tmp4;
9241  {
9242#line 1203
9243  __cil_tmp9 = (struct dma_pool *)0;
9244#line 1203
9245  __cil_tmp10 = (unsigned long )__cil_tmp9;
9246#line 1203
9247  __cil_tmp11 = (unsigned long )pool;
9248#line 1203
9249  __cil_tmp12 = __cil_tmp11 + 24;
9250#line 1203
9251  __cil_tmp13 = *((struct dma_pool **)__cil_tmp12);
9252#line 1203
9253  __cil_tmp14 = (unsigned long )__cil_tmp13;
9254#line 1203
9255  if (__cil_tmp14 != __cil_tmp10) {
9256    {
9257#line 1205
9258    __cil_tmp15 = (caddr_t )0;
9259#line 1205
9260    __cil_tmp16 = (unsigned long )__cil_tmp15;
9261#line 1205
9262    __cil_tmp17 = *((caddr_t *)pool);
9263#line 1205
9264    __cil_tmp18 = (unsigned long )__cil_tmp17;
9265#line 1205
9266    if (__cil_tmp18 != __cil_tmp16) {
9267      {
9268#line 1206
9269      __cil_tmp19 = (unsigned long )pool;
9270#line 1206
9271      __cil_tmp20 = __cil_tmp19 + 24;
9272#line 1206
9273      __cil_tmp21 = *((struct dma_pool **)__cil_tmp20);
9274#line 1206
9275      __cil_tmp22 = *((caddr_t *)pool);
9276#line 1206
9277      __cil_tmp23 = (void *)__cil_tmp22;
9278#line 1206
9279      __cil_tmp24 = (unsigned long )pool;
9280#line 1206
9281      __cil_tmp25 = __cil_tmp24 + 8;
9282#line 1206
9283      __cil_tmp26 = *((dma_addr_t *)__cil_tmp25);
9284#line 1206
9285      dma_pool_free(__cil_tmp21, __cil_tmp23, __cil_tmp26);
9286      }
9287    } else {
9288
9289    }
9290    }
9291    {
9292#line 1209
9293    __cil_tmp27 = (unsigned long )pool;
9294#line 1209
9295    __cil_tmp28 = __cil_tmp27 + 24;
9296#line 1209
9297    __cil_tmp29 = *((struct dma_pool **)__cil_tmp28);
9298#line 1209
9299    dma_pool_destroy(__cil_tmp29);
9300#line 1210
9301    __cil_tmp30 = (unsigned long )pool;
9302#line 1210
9303    __cil_tmp31 = __cil_tmp30 + 24;
9304#line 1210
9305    *((struct dma_pool **)__cil_tmp31) = (struct dma_pool *)0;
9306    }
9307  } else {
9308
9309  }
9310  }
9311#line 1199
9312  i = i + 1;
9313  ldv_26878: ;
9314#line 1199
9315  if (i <= 4) {
9316#line 1200
9317    goto ldv_26877;
9318  } else {
9319#line 1202
9320    goto ldv_26879;
9321  }
9322  ldv_26879: ;
9323#line 1214
9324  return;
9325}
9326}
9327#line 1221 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9328static int mraid_mm_init(void) 
9329{ int err ;
9330  struct lock_class_key __key ;
9331  int *__cil_tmp3 ;
9332  int __cil_tmp4 ;
9333  char *__cil_tmp5 ;
9334  char *__cil_tmp6 ;
9335  int *__cil_tmp7 ;
9336  int __cil_tmp8 ;
9337
9338  {
9339  {
9340#line 1226
9341  __cil_tmp3 = & dbglevel;
9342#line 1226
9343  __cil_tmp4 = *__cil_tmp3;
9344#line 1226
9345  if (__cil_tmp4 >= 0) {
9346    {
9347#line 1226
9348    __cil_tmp5 = (char *)"2.20.2.7";
9349#line 1226
9350    __cil_tmp6 = (char *)"(Release Date: Sun Jul 16 00:01:03 EST 2006)";
9351#line 1226
9352    printk("<6>megaraid cmm: %s %s\n", __cil_tmp5, __cil_tmp6);
9353    }
9354  } else {
9355
9356  }
9357  }
9358  {
9359#line 1229
9360  err = misc_register(& megaraid_mm_dev);
9361  }
9362#line 1230
9363  if (err < 0) {
9364    {
9365#line 1231
9366    __cil_tmp7 = & dbglevel;
9367#line 1231
9368    __cil_tmp8 = *__cil_tmp7;
9369#line 1231
9370    if (__cil_tmp8 >= 0) {
9371      {
9372#line 1231
9373      printk("megaraid cmm: cannot register misc device\n");
9374      }
9375    } else {
9376
9377    }
9378    }
9379#line 1232
9380    return (err);
9381  } else {
9382
9383  }
9384  {
9385#line 1235
9386  __init_waitqueue_head(& wait_q, "&wait_q", & __key);
9387#line 1237
9388  INIT_LIST_HEAD(& adapters_list_g);
9389  }
9390#line 1239
9391  return (0);
9392}
9393}
9394#line 1251 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9395static long mraid_mm_compat_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) 
9396{ int err ;
9397
9398  {
9399  {
9400#line 1256
9401  err = mraid_mm_ioctl(filep, cmd, arg);
9402  }
9403#line 1258
9404  return ((long )err);
9405}
9406}
9407#line 1266 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9408static void mraid_mm_exit(void) 
9409{ int *__cil_tmp1 ;
9410  int __cil_tmp2 ;
9411
9412  {
9413  {
9414#line 1268
9415  __cil_tmp1 = & dbglevel;
9416#line 1268
9417  __cil_tmp2 = *__cil_tmp1;
9418#line 1268
9419  if (__cil_tmp2 > 0) {
9420    {
9421#line 1268
9422    printk("exiting common mod\n");
9423    }
9424  } else {
9425
9426  }
9427  }
9428  {
9429#line 1270
9430  misc_deregister(& megaraid_mm_dev);
9431  }
9432#line 1271
9433  return;
9434}
9435}
9436#line 1294
9437extern void ldv_check_final_state(void) ;
9438#line 1297
9439extern void ldv_check_return_value(int  ) ;
9440#line 1300
9441extern void ldv_initialize(void) ;
9442#line 1303
9443extern int __VERIFIER_nondet_int(void) ;
9444#line 1306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9445int LDV_IN_INTERRUPT  ;
9446#line 1309 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9447void main(void) 
9448{ struct inode *var_group1 ;
9449  struct file *var_group2 ;
9450  int res_mraid_mm_open_0 ;
9451  unsigned int var_mraid_mm_unlocked_ioctl_2_p1 ;
9452  unsigned long var_mraid_mm_unlocked_ioctl_2_p2 ;
9453  unsigned int var_mraid_mm_compat_ioctl_21_p1 ;
9454  unsigned long var_mraid_mm_compat_ioctl_21_p2 ;
9455  unsigned long var_lld_timedout_11_p0 ;
9456  int ldv_s_lsi_fops_file_operations ;
9457  int tmp ;
9458  int tmp___0 ;
9459  int tmp___1 ;
9460
9461  {
9462  {
9463#line 1411
9464  ldv_s_lsi_fops_file_operations = 0;
9465#line 1385
9466  LDV_IN_INTERRUPT = 1;
9467#line 1394
9468  ldv_initialize();
9469#line 1405
9470  tmp = mraid_mm_init();
9471  }
9472#line 1405
9473  if (tmp != 0) {
9474#line 1406
9475    goto ldv_final;
9476  } else {
9477
9478  }
9479#line 1417
9480  goto ldv_26934;
9481  ldv_26933: 
9482  {
9483#line 1421
9484  tmp___0 = __VERIFIER_nondet_int();
9485  }
9486#line 1423
9487  if (tmp___0 == 0) {
9488#line 1423
9489    goto case_0;
9490  } else
9491#line 1451
9492  if (tmp___0 == 1) {
9493#line 1451
9494    goto case_1;
9495  } else
9496#line 1476
9497  if (tmp___0 == 2) {
9498#line 1476
9499    goto case_2;
9500  } else
9501#line 1501
9502  if (tmp___0 == 3) {
9503#line 1501
9504    goto case_3;
9505  } else {
9506    {
9507#line 1526
9508    goto switch_default;
9509#line 1421
9510    if (0) {
9511      case_0: /* CIL Label */ ;
9512#line 1426
9513      if (ldv_s_lsi_fops_file_operations == 0) {
9514        {
9515#line 1436
9516        res_mraid_mm_open_0 = mraid_mm_open(var_group1, var_group2);
9517#line 1437
9518        ldv_check_return_value(res_mraid_mm_open_0);
9519        }
9520#line 1438
9521        if (res_mraid_mm_open_0 != 0) {
9522#line 1439
9523          goto ldv_module_exit;
9524        } else {
9525
9526        }
9527#line 1444
9528        ldv_s_lsi_fops_file_operations = 0;
9529      } else {
9530
9531      }
9532#line 1450
9533      goto ldv_26928;
9534      case_1: /* CIL Label */ 
9535      {
9536#line 1464
9537      mraid_mm_unlocked_ioctl(var_group2, var_mraid_mm_unlocked_ioctl_2_p1, var_mraid_mm_unlocked_ioctl_2_p2);
9538      }
9539#line 1475
9540      goto ldv_26928;
9541      case_2: /* CIL Label */ 
9542      {
9543#line 1490
9544      mraid_mm_compat_ioctl(var_group2, var_mraid_mm_compat_ioctl_21_p1, var_mraid_mm_compat_ioctl_21_p2);
9545      }
9546#line 1500
9547      goto ldv_26928;
9548      case_3: /* CIL Label */ 
9549      {
9550#line 1514
9551      lld_timedout(var_lld_timedout_11_p0);
9552      }
9553#line 1525
9554      goto ldv_26928;
9555      switch_default: /* CIL Label */ ;
9556#line 1526
9557      goto ldv_26928;
9558    } else {
9559      switch_break: /* CIL Label */ ;
9560    }
9561    }
9562  }
9563  ldv_26928: ;
9564  ldv_26934: 
9565  {
9566#line 1417
9567  tmp___1 = __VERIFIER_nondet_int();
9568  }
9569#line 1417
9570  if (tmp___1 != 0) {
9571#line 1419
9572    goto ldv_26933;
9573  } else
9574#line 1417
9575  if (ldv_s_lsi_fops_file_operations != 0) {
9576#line 1419
9577    goto ldv_26933;
9578  } else {
9579#line 1421
9580    goto ldv_26935;
9581  }
9582  ldv_26935: ;
9583  ldv_module_exit: 
9584  {
9585#line 1545
9586  mraid_mm_exit();
9587  }
9588  ldv_final: 
9589  {
9590#line 1548
9591  ldv_check_final_state();
9592  }
9593#line 1551
9594  return;
9595}
9596}
9597#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
9598void ldv_blast_assert(void) 
9599{ 
9600
9601  {
9602  ERROR: ;
9603#line 6
9604  goto ERROR;
9605}
9606}
9607#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
9608extern int __VERIFIER_nondet_int(void) ;
9609#line 1572 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9610int ldv_spin  =    0;
9611#line 1576 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9612void ldv_check_alloc_flags(gfp_t flags ) 
9613{ 
9614
9615  {
9616#line 1579
9617  if (ldv_spin != 0) {
9618#line 1579
9619    if (flags != 32U) {
9620      {
9621#line 1579
9622      ldv_blast_assert();
9623      }
9624    } else {
9625
9626    }
9627  } else {
9628
9629  }
9630#line 1582
9631  return;
9632}
9633}
9634#line 1582
9635extern struct page *ldv_some_page(void) ;
9636#line 1585 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9637struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
9638{ struct page *tmp ;
9639
9640  {
9641#line 1588
9642  if (ldv_spin != 0) {
9643#line 1588
9644    if (flags != 32U) {
9645      {
9646#line 1588
9647      ldv_blast_assert();
9648      }
9649    } else {
9650
9651    }
9652  } else {
9653
9654  }
9655  {
9656#line 1590
9657  tmp = ldv_some_page();
9658  }
9659#line 1590
9660  return (tmp);
9661}
9662}
9663#line 1594 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9664void ldv_check_alloc_nonatomic(void) 
9665{ 
9666
9667  {
9668#line 1597
9669  if (ldv_spin != 0) {
9670    {
9671#line 1597
9672    ldv_blast_assert();
9673    }
9674  } else {
9675
9676  }
9677#line 1600
9678  return;
9679}
9680}
9681#line 1601 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9682void ldv_spin_lock(void) 
9683{ 
9684
9685  {
9686#line 1604
9687  ldv_spin = 1;
9688#line 1605
9689  return;
9690}
9691}
9692#line 1608 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9693void ldv_spin_unlock(void) 
9694{ 
9695
9696  {
9697#line 1611
9698  ldv_spin = 0;
9699#line 1612
9700  return;
9701}
9702}
9703#line 1615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9704int ldv_spin_trylock(void) 
9705{ int is_lock ;
9706
9707  {
9708  {
9709#line 1620
9710  is_lock = __VERIFIER_nondet_int();
9711  }
9712#line 1622
9713  if (is_lock != 0) {
9714#line 1625
9715    return (0);
9716  } else {
9717#line 1630
9718    ldv_spin = 1;
9719#line 1632
9720    return (1);
9721  }
9722}
9723}
9724#line 1708 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9725__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
9726{ 
9727
9728  {
9729  {
9730#line 1714
9731  ldv_spin_unlock();
9732#line 1716
9733  ldv_spin_unlock_irqrestore_8(lock, flags);
9734  }
9735#line 1717
9736  return;
9737}
9738}
9739#line 1754 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9740__inline static void *kmalloc(size_t size , gfp_t flags ) 
9741{ 
9742
9743  {
9744  {
9745#line 1760
9746  ldv_check_alloc_flags(flags);
9747#line 1762
9748  ldv_kmalloc_12(size, flags);
9749  }
9750#line 1763
9751  return ((void *)0);
9752}
9753}
9754#line 1799 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9755void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
9756{ 
9757
9758  {
9759  {
9760#line 1805
9761  ldv_check_alloc_flags(ldv_func_arg2);
9762#line 1807
9763  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
9764  }
9765#line 1808
9766  return ((void *)0);
9767}
9768}
9769#line 1810 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9770__inline static void *kzalloc(size_t size , gfp_t flags ) 
9771{ void *tmp ;
9772
9773  {
9774  {
9775#line 1816
9776  ldv_check_alloc_flags(flags);
9777#line 1817
9778  tmp = __VERIFIER_nondet_pointer();
9779  }
9780#line 1817
9781  return (tmp);
9782}
9783}
9784#line 1831 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9785void *ldv_dma_pool_alloc_19(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
9786                            dma_addr_t *ldv_func_arg3 ) 
9787{ 
9788
9789  {
9790  {
9791#line 1838
9792  ldv_check_alloc_flags(ldv_func_arg2);
9793#line 1840
9794  dma_pool_alloc(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3);
9795  }
9796#line 1841
9797  return ((void *)0);
9798}
9799}
9800#line 1843 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9801void *ldv_dma_pool_alloc_20(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
9802                            dma_addr_t *ldv_func_arg3 ) 
9803{ 
9804
9805  {
9806  {
9807#line 1850
9808  ldv_check_alloc_flags(ldv_func_arg2);
9809#line 1852
9810  dma_pool_alloc(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3);
9811  }
9812#line 1853
9813  return ((void *)0);
9814}
9815}
9816#line 1855 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3550/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/megaraid/megaraid_mm.c.p"
9817void *ldv_dma_pool_alloc_21(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
9818                            dma_addr_t *ldv_func_arg3 ) 
9819{ 
9820
9821  {
9822  {
9823#line 1862
9824  ldv_check_alloc_flags(ldv_func_arg2);
9825#line 1864
9826  dma_pool_alloc(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3);
9827  }
9828#line 1865
9829  return ((void *)0);
9830}
9831}