Showing error 754

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--acpi--apei--einj.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 6495
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 19 "include/asm-generic/int-ll64.h"
   5typedef signed char __s8;
   6#line 22 "include/asm-generic/int-ll64.h"
   7typedef short __s16;
   8#line 23 "include/asm-generic/int-ll64.h"
   9typedef unsigned short __u16;
  10#line 25 "include/asm-generic/int-ll64.h"
  11typedef int __s32;
  12#line 26 "include/asm-generic/int-ll64.h"
  13typedef unsigned int __u32;
  14#line 29 "include/asm-generic/int-ll64.h"
  15typedef long long __s64;
  16#line 30 "include/asm-generic/int-ll64.h"
  17typedef unsigned long long __u64;
  18#line 43 "include/asm-generic/int-ll64.h"
  19typedef unsigned char u8;
  20#line 45 "include/asm-generic/int-ll64.h"
  21typedef short s16;
  22#line 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 48 "include/asm-generic/int-ll64.h"
  25typedef int s32;
  26#line 49 "include/asm-generic/int-ll64.h"
  27typedef unsigned int u32;
  28#line 51 "include/asm-generic/int-ll64.h"
  29typedef long long s64;
  30#line 52 "include/asm-generic/int-ll64.h"
  31typedef unsigned long long u64;
  32#line 14 "include/asm-generic/posix_types.h"
  33typedef long __kernel_long_t;
  34#line 15 "include/asm-generic/posix_types.h"
  35typedef unsigned long __kernel_ulong_t;
  36#line 31 "include/asm-generic/posix_types.h"
  37typedef int __kernel_pid_t;
  38#line 52 "include/asm-generic/posix_types.h"
  39typedef unsigned int __kernel_uid32_t;
  40#line 53 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_gid32_t;
  42#line 75 "include/asm-generic/posix_types.h"
  43typedef __kernel_ulong_t __kernel_size_t;
  44#line 76 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_ssize_t;
  46#line 91 "include/asm-generic/posix_types.h"
  47typedef long long __kernel_loff_t;
  48#line 92 "include/asm-generic/posix_types.h"
  49typedef __kernel_long_t __kernel_time_t;
  50#line 93 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_clock_t;
  52#line 94 "include/asm-generic/posix_types.h"
  53typedef int __kernel_timer_t;
  54#line 95 "include/asm-generic/posix_types.h"
  55typedef int __kernel_clockid_t;
  56#line 21 "include/linux/types.h"
  57typedef __u32 __kernel_dev_t;
  58#line 24 "include/linux/types.h"
  59typedef __kernel_dev_t dev_t;
  60#line 27 "include/linux/types.h"
  61typedef unsigned short umode_t;
  62#line 30 "include/linux/types.h"
  63typedef __kernel_pid_t pid_t;
  64#line 35 "include/linux/types.h"
  65typedef __kernel_clockid_t clockid_t;
  66#line 38 "include/linux/types.h"
  67typedef _Bool bool;
  68#line 40 "include/linux/types.h"
  69typedef __kernel_uid32_t uid_t;
  70#line 41 "include/linux/types.h"
  71typedef __kernel_gid32_t gid_t;
  72#line 54 "include/linux/types.h"
  73typedef __kernel_loff_t loff_t;
  74#line 63 "include/linux/types.h"
  75typedef __kernel_size_t size_t;
  76#line 68 "include/linux/types.h"
  77typedef __kernel_ssize_t ssize_t;
  78#line 78 "include/linux/types.h"
  79typedef __kernel_time_t time_t;
  80#line 111 "include/linux/types.h"
  81typedef __s32 int32_t;
  82#line 117 "include/linux/types.h"
  83typedef __u32 uint32_t;
  84#line 142 "include/linux/types.h"
  85typedef unsigned long sector_t;
  86#line 143 "include/linux/types.h"
  87typedef unsigned long blkcnt_t;
  88#line 202 "include/linux/types.h"
  89typedef unsigned int gfp_t;
  90#line 203 "include/linux/types.h"
  91typedef unsigned int fmode_t;
  92#line 206 "include/linux/types.h"
  93typedef u64 phys_addr_t;
  94#line 211 "include/linux/types.h"
  95typedef phys_addr_t resource_size_t;
  96#line 221 "include/linux/types.h"
  97struct __anonstruct_atomic_t_6 {
  98   int counter ;
  99};
 100#line 221 "include/linux/types.h"
 101typedef struct __anonstruct_atomic_t_6 atomic_t;
 102#line 226 "include/linux/types.h"
 103struct __anonstruct_atomic64_t_7 {
 104   long counter ;
 105};
 106#line 226 "include/linux/types.h"
 107typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 108#line 227 "include/linux/types.h"
 109struct list_head {
 110   struct list_head *next ;
 111   struct list_head *prev ;
 112};
 113#line 232
 114struct hlist_node;
 115#line 232 "include/linux/types.h"
 116struct hlist_head {
 117   struct hlist_node *first ;
 118};
 119#line 236 "include/linux/types.h"
 120struct hlist_node {
 121   struct hlist_node *next ;
 122   struct hlist_node **pprev ;
 123};
 124#line 247 "include/linux/types.h"
 125struct rcu_head {
 126   struct rcu_head *next ;
 127   void (*func)(struct rcu_head * ) ;
 128};
 129#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 130struct module;
 131#line 55
 132struct module;
 133#line 146 "include/linux/init.h"
 134typedef void (*ctor_fn_t)(void);
 135#line 57 "include/linux/dynamic_debug.h"
 136struct completion;
 137#line 57
 138struct completion;
 139#line 58
 140struct pt_regs;
 141#line 58
 142struct pt_regs;
 143#line 348 "include/linux/kernel.h"
 144struct pid;
 145#line 348
 146struct pid;
 147#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 148struct timespec;
 149#line 112
 150struct timespec;
 151#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 152struct page;
 153#line 58
 154struct page;
 155#line 26 "include/asm-generic/getorder.h"
 156struct task_struct;
 157#line 26
 158struct task_struct;
 159#line 28
 160struct mm_struct;
 161#line 28
 162struct mm_struct;
 163#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 164struct pt_regs {
 165   unsigned long r15 ;
 166   unsigned long r14 ;
 167   unsigned long r13 ;
 168   unsigned long r12 ;
 169   unsigned long bp ;
 170   unsigned long bx ;
 171   unsigned long r11 ;
 172   unsigned long r10 ;
 173   unsigned long r9 ;
 174   unsigned long r8 ;
 175   unsigned long ax ;
 176   unsigned long cx ;
 177   unsigned long dx ;
 178   unsigned long si ;
 179   unsigned long di ;
 180   unsigned long orig_ax ;
 181   unsigned long ip ;
 182   unsigned long cs ;
 183   unsigned long flags ;
 184   unsigned long sp ;
 185   unsigned long ss ;
 186};
 187#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 188struct __anonstruct_ldv_2180_13 {
 189   unsigned int a ;
 190   unsigned int b ;
 191};
 192#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 193struct __anonstruct_ldv_2195_14 {
 194   u16 limit0 ;
 195   u16 base0 ;
 196   unsigned char base1 ;
 197   unsigned char type : 4 ;
 198   unsigned char s : 1 ;
 199   unsigned char dpl : 2 ;
 200   unsigned char p : 1 ;
 201   unsigned char limit : 4 ;
 202   unsigned char avl : 1 ;
 203   unsigned char l : 1 ;
 204   unsigned char d : 1 ;
 205   unsigned char g : 1 ;
 206   unsigned char base2 ;
 207};
 208#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 209union __anonunion_ldv_2196_12 {
 210   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 211   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 212};
 213#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 214struct desc_struct {
 215   union __anonunion_ldv_2196_12 ldv_2196 ;
 216};
 217#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 218typedef unsigned long pgdval_t;
 219#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 220typedef unsigned long pgprotval_t;
 221#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 222struct pgprot {
 223   pgprotval_t pgprot ;
 224};
 225#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 226typedef struct pgprot pgprot_t;
 227#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 228struct __anonstruct_pgd_t_16 {
 229   pgdval_t pgd ;
 230};
 231#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 232typedef struct __anonstruct_pgd_t_16 pgd_t;
 233#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 234typedef struct page *pgtable_t;
 235#line 290
 236struct file;
 237#line 290
 238struct file;
 239#line 305
 240struct seq_file;
 241#line 305
 242struct seq_file;
 243#line 337
 244struct thread_struct;
 245#line 337
 246struct thread_struct;
 247#line 339
 248struct cpumask;
 249#line 339
 250struct cpumask;
 251#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 252struct arch_spinlock;
 253#line 327
 254struct arch_spinlock;
 255#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 256struct kernel_vm86_regs {
 257   struct pt_regs pt ;
 258   unsigned short es ;
 259   unsigned short __esh ;
 260   unsigned short ds ;
 261   unsigned short __dsh ;
 262   unsigned short fs ;
 263   unsigned short __fsh ;
 264   unsigned short gs ;
 265   unsigned short __gsh ;
 266};
 267#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 268union __anonunion_ldv_2824_19 {
 269   struct pt_regs *regs ;
 270   struct kernel_vm86_regs *vm86 ;
 271};
 272#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 273struct math_emu_info {
 274   long ___orig_eip ;
 275   union __anonunion_ldv_2824_19 ldv_2824 ;
 276};
 277#line 306 "include/linux/bitmap.h"
 278struct bug_entry {
 279   int bug_addr_disp ;
 280   int file_disp ;
 281   unsigned short line ;
 282   unsigned short flags ;
 283};
 284#line 89 "include/linux/bug.h"
 285struct cpumask {
 286   unsigned long bits[64U] ;
 287};
 288#line 14 "include/linux/cpumask.h"
 289typedef struct cpumask cpumask_t;
 290#line 637 "include/linux/cpumask.h"
 291typedef struct cpumask *cpumask_var_t;
 292#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 293struct static_key;
 294#line 234
 295struct static_key;
 296#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 297struct seq_operations;
 298#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 299struct i387_fsave_struct {
 300   u32 cwd ;
 301   u32 swd ;
 302   u32 twd ;
 303   u32 fip ;
 304   u32 fcs ;
 305   u32 foo ;
 306   u32 fos ;
 307   u32 st_space[20U] ;
 308   u32 status ;
 309};
 310#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 311struct __anonstruct_ldv_5180_24 {
 312   u64 rip ;
 313   u64 rdp ;
 314};
 315#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 316struct __anonstruct_ldv_5186_25 {
 317   u32 fip ;
 318   u32 fcs ;
 319   u32 foo ;
 320   u32 fos ;
 321};
 322#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323union __anonunion_ldv_5187_23 {
 324   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 325   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 326};
 327#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 328union __anonunion_ldv_5196_26 {
 329   u32 padding1[12U] ;
 330   u32 sw_reserved[12U] ;
 331};
 332#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 333struct i387_fxsave_struct {
 334   u16 cwd ;
 335   u16 swd ;
 336   u16 twd ;
 337   u16 fop ;
 338   union __anonunion_ldv_5187_23 ldv_5187 ;
 339   u32 mxcsr ;
 340   u32 mxcsr_mask ;
 341   u32 st_space[32U] ;
 342   u32 xmm_space[64U] ;
 343   u32 padding[12U] ;
 344   union __anonunion_ldv_5196_26 ldv_5196 ;
 345};
 346#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 347struct i387_soft_struct {
 348   u32 cwd ;
 349   u32 swd ;
 350   u32 twd ;
 351   u32 fip ;
 352   u32 fcs ;
 353   u32 foo ;
 354   u32 fos ;
 355   u32 st_space[20U] ;
 356   u8 ftop ;
 357   u8 changed ;
 358   u8 lookahead ;
 359   u8 no_update ;
 360   u8 rm ;
 361   u8 alimit ;
 362   struct math_emu_info *info ;
 363   u32 entry_eip ;
 364};
 365#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 366struct ymmh_struct {
 367   u32 ymmh_space[64U] ;
 368};
 369#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 370struct xsave_hdr_struct {
 371   u64 xstate_bv ;
 372   u64 reserved1[2U] ;
 373   u64 reserved2[5U] ;
 374};
 375#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 376struct xsave_struct {
 377   struct i387_fxsave_struct i387 ;
 378   struct xsave_hdr_struct xsave_hdr ;
 379   struct ymmh_struct ymmh ;
 380};
 381#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 382union thread_xstate {
 383   struct i387_fsave_struct fsave ;
 384   struct i387_fxsave_struct fxsave ;
 385   struct i387_soft_struct soft ;
 386   struct xsave_struct xsave ;
 387};
 388#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 389struct fpu {
 390   unsigned int last_cpu ;
 391   unsigned int has_fpu ;
 392   union thread_xstate *state ;
 393};
 394#line 433
 395struct kmem_cache;
 396#line 434
 397struct perf_event;
 398#line 434
 399struct perf_event;
 400#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 401struct thread_struct {
 402   struct desc_struct tls_array[3U] ;
 403   unsigned long sp0 ;
 404   unsigned long sp ;
 405   unsigned long usersp ;
 406   unsigned short es ;
 407   unsigned short ds ;
 408   unsigned short fsindex ;
 409   unsigned short gsindex ;
 410   unsigned long fs ;
 411   unsigned long gs ;
 412   struct perf_event *ptrace_bps[4U] ;
 413   unsigned long debugreg6 ;
 414   unsigned long ptrace_dr7 ;
 415   unsigned long cr2 ;
 416   unsigned long trap_nr ;
 417   unsigned long error_code ;
 418   struct fpu fpu ;
 419   unsigned long *io_bitmap_ptr ;
 420   unsigned long iopl ;
 421   unsigned int io_bitmap_max ;
 422};
 423#line 23 "include/asm-generic/atomic-long.h"
 424typedef atomic64_t atomic_long_t;
 425#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 426typedef u16 __ticket_t;
 427#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 428typedef u32 __ticketpair_t;
 429#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 430struct __raw_tickets {
 431   __ticket_t head ;
 432   __ticket_t tail ;
 433};
 434#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 435union __anonunion_ldv_5907_29 {
 436   __ticketpair_t head_tail ;
 437   struct __raw_tickets tickets ;
 438};
 439#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 440struct arch_spinlock {
 441   union __anonunion_ldv_5907_29 ldv_5907 ;
 442};
 443#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 444typedef struct arch_spinlock arch_spinlock_t;
 445#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 446struct __anonstruct_ldv_5914_31 {
 447   u32 read ;
 448   s32 write ;
 449};
 450#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 451union __anonunion_arch_rwlock_t_30 {
 452   s64 lock ;
 453   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 454};
 455#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 456typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 457#line 34
 458struct lockdep_map;
 459#line 34
 460struct lockdep_map;
 461#line 55 "include/linux/debug_locks.h"
 462struct stack_trace {
 463   unsigned int nr_entries ;
 464   unsigned int max_entries ;
 465   unsigned long *entries ;
 466   int skip ;
 467};
 468#line 26 "include/linux/stacktrace.h"
 469struct lockdep_subclass_key {
 470   char __one_byte ;
 471};
 472#line 53 "include/linux/lockdep.h"
 473struct lock_class_key {
 474   struct lockdep_subclass_key subkeys[8U] ;
 475};
 476#line 59 "include/linux/lockdep.h"
 477struct lock_class {
 478   struct list_head hash_entry ;
 479   struct list_head lock_entry ;
 480   struct lockdep_subclass_key *key ;
 481   unsigned int subclass ;
 482   unsigned int dep_gen_id ;
 483   unsigned long usage_mask ;
 484   struct stack_trace usage_traces[13U] ;
 485   struct list_head locks_after ;
 486   struct list_head locks_before ;
 487   unsigned int version ;
 488   unsigned long ops ;
 489   char const   *name ;
 490   int name_version ;
 491   unsigned long contention_point[4U] ;
 492   unsigned long contending_point[4U] ;
 493};
 494#line 144 "include/linux/lockdep.h"
 495struct lockdep_map {
 496   struct lock_class_key *key ;
 497   struct lock_class *class_cache[2U] ;
 498   char const   *name ;
 499   int cpu ;
 500   unsigned long ip ;
 501};
 502#line 187 "include/linux/lockdep.h"
 503struct held_lock {
 504   u64 prev_chain_key ;
 505   unsigned long acquire_ip ;
 506   struct lockdep_map *instance ;
 507   struct lockdep_map *nest_lock ;
 508   u64 waittime_stamp ;
 509   u64 holdtime_stamp ;
 510   unsigned short class_idx : 13 ;
 511   unsigned char irq_context : 2 ;
 512   unsigned char trylock : 1 ;
 513   unsigned char read : 2 ;
 514   unsigned char check : 2 ;
 515   unsigned char hardirqs_off : 1 ;
 516   unsigned short references : 11 ;
 517};
 518#line 556 "include/linux/lockdep.h"
 519struct raw_spinlock {
 520   arch_spinlock_t raw_lock ;
 521   unsigned int magic ;
 522   unsigned int owner_cpu ;
 523   void *owner ;
 524   struct lockdep_map dep_map ;
 525};
 526#line 32 "include/linux/spinlock_types.h"
 527typedef struct raw_spinlock raw_spinlock_t;
 528#line 33 "include/linux/spinlock_types.h"
 529struct __anonstruct_ldv_6122_33 {
 530   u8 __padding[24U] ;
 531   struct lockdep_map dep_map ;
 532};
 533#line 33 "include/linux/spinlock_types.h"
 534union __anonunion_ldv_6123_32 {
 535   struct raw_spinlock rlock ;
 536   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 537};
 538#line 33 "include/linux/spinlock_types.h"
 539struct spinlock {
 540   union __anonunion_ldv_6123_32 ldv_6123 ;
 541};
 542#line 76 "include/linux/spinlock_types.h"
 543typedef struct spinlock spinlock_t;
 544#line 23 "include/linux/rwlock_types.h"
 545struct __anonstruct_rwlock_t_34 {
 546   arch_rwlock_t raw_lock ;
 547   unsigned int magic ;
 548   unsigned int owner_cpu ;
 549   void *owner ;
 550   struct lockdep_map dep_map ;
 551};
 552#line 23 "include/linux/rwlock_types.h"
 553typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 554#line 110 "include/linux/seqlock.h"
 555struct seqcount {
 556   unsigned int sequence ;
 557};
 558#line 121 "include/linux/seqlock.h"
 559typedef struct seqcount seqcount_t;
 560#line 254 "include/linux/seqlock.h"
 561struct timespec {
 562   __kernel_time_t tv_sec ;
 563   long tv_nsec ;
 564};
 565#line 286 "include/linux/time.h"
 566struct kstat {
 567   u64 ino ;
 568   dev_t dev ;
 569   umode_t mode ;
 570   unsigned int nlink ;
 571   uid_t uid ;
 572   gid_t gid ;
 573   dev_t rdev ;
 574   loff_t size ;
 575   struct timespec atime ;
 576   struct timespec mtime ;
 577   struct timespec ctime ;
 578   unsigned long blksize ;
 579   unsigned long long blocks ;
 580};
 581#line 48 "include/linux/wait.h"
 582struct __wait_queue_head {
 583   spinlock_t lock ;
 584   struct list_head task_list ;
 585};
 586#line 53 "include/linux/wait.h"
 587typedef struct __wait_queue_head wait_queue_head_t;
 588#line 98 "include/linux/nodemask.h"
 589struct __anonstruct_nodemask_t_36 {
 590   unsigned long bits[16U] ;
 591};
 592#line 98 "include/linux/nodemask.h"
 593typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 594#line 670 "include/linux/mmzone.h"
 595struct mutex {
 596   atomic_t count ;
 597   spinlock_t wait_lock ;
 598   struct list_head wait_list ;
 599   struct task_struct *owner ;
 600   char const   *name ;
 601   void *magic ;
 602   struct lockdep_map dep_map ;
 603};
 604#line 63 "include/linux/mutex.h"
 605struct mutex_waiter {
 606   struct list_head list ;
 607   struct task_struct *task ;
 608   void *magic ;
 609};
 610#line 171
 611struct rw_semaphore;
 612#line 171
 613struct rw_semaphore;
 614#line 172 "include/linux/mutex.h"
 615struct rw_semaphore {
 616   long count ;
 617   raw_spinlock_t wait_lock ;
 618   struct list_head wait_list ;
 619   struct lockdep_map dep_map ;
 620};
 621#line 128 "include/linux/rwsem.h"
 622struct completion {
 623   unsigned int done ;
 624   wait_queue_head_t wait ;
 625};
 626#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 627struct resource {
 628   resource_size_t start ;
 629   resource_size_t end ;
 630   char const   *name ;
 631   unsigned long flags ;
 632   struct resource *parent ;
 633   struct resource *sibling ;
 634   struct resource *child ;
 635};
 636#line 312 "include/linux/jiffies.h"
 637union ktime {
 638   s64 tv64 ;
 639};
 640#line 59 "include/linux/ktime.h"
 641typedef union ktime ktime_t;
 642#line 341
 643struct tvec_base;
 644#line 341
 645struct tvec_base;
 646#line 342 "include/linux/ktime.h"
 647struct timer_list {
 648   struct list_head entry ;
 649   unsigned long expires ;
 650   struct tvec_base *base ;
 651   void (*function)(unsigned long  ) ;
 652   unsigned long data ;
 653   int slack ;
 654   int start_pid ;
 655   void *start_site ;
 656   char start_comm[16U] ;
 657   struct lockdep_map lockdep_map ;
 658};
 659#line 289 "include/linux/timer.h"
 660struct hrtimer;
 661#line 289
 662struct hrtimer;
 663#line 290
 664enum hrtimer_restart;
 665#line 302
 666struct work_struct;
 667#line 302
 668struct work_struct;
 669#line 45 "include/linux/workqueue.h"
 670struct work_struct {
 671   atomic_long_t data ;
 672   struct list_head entry ;
 673   void (*func)(struct work_struct * ) ;
 674   struct lockdep_map lockdep_map ;
 675};
 676#line 86 "include/linux/workqueue.h"
 677struct delayed_work {
 678   struct work_struct work ;
 679   struct timer_list timer ;
 680};
 681#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 682struct __anonstruct_mm_context_t_101 {
 683   void *ldt ;
 684   int size ;
 685   unsigned short ia32_compat ;
 686   struct mutex lock ;
 687   void *vdso ;
 688};
 689#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 690typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 691#line 18 "include/asm-generic/pci_iomap.h"
 692struct vm_area_struct;
 693#line 18
 694struct vm_area_struct;
 695#line 835 "include/linux/sysctl.h"
 696struct rb_node {
 697   unsigned long rb_parent_color ;
 698   struct rb_node *rb_right ;
 699   struct rb_node *rb_left ;
 700};
 701#line 108 "include/linux/rbtree.h"
 702struct rb_root {
 703   struct rb_node *rb_node ;
 704};
 705#line 176
 706struct nsproxy;
 707#line 176
 708struct nsproxy;
 709#line 37 "include/linux/kmod.h"
 710struct cred;
 711#line 37
 712struct cred;
 713#line 18 "include/linux/elf.h"
 714typedef __u64 Elf64_Addr;
 715#line 19 "include/linux/elf.h"
 716typedef __u16 Elf64_Half;
 717#line 23 "include/linux/elf.h"
 718typedef __u32 Elf64_Word;
 719#line 24 "include/linux/elf.h"
 720typedef __u64 Elf64_Xword;
 721#line 193 "include/linux/elf.h"
 722struct elf64_sym {
 723   Elf64_Word st_name ;
 724   unsigned char st_info ;
 725   unsigned char st_other ;
 726   Elf64_Half st_shndx ;
 727   Elf64_Addr st_value ;
 728   Elf64_Xword st_size ;
 729};
 730#line 201 "include/linux/elf.h"
 731typedef struct elf64_sym Elf64_Sym;
 732#line 445
 733struct sock;
 734#line 445
 735struct sock;
 736#line 446
 737struct kobject;
 738#line 446
 739struct kobject;
 740#line 447
 741enum kobj_ns_type {
 742    KOBJ_NS_TYPE_NONE = 0,
 743    KOBJ_NS_TYPE_NET = 1,
 744    KOBJ_NS_TYPES = 2
 745} ;
 746#line 453 "include/linux/elf.h"
 747struct kobj_ns_type_operations {
 748   enum kobj_ns_type type ;
 749   void *(*grab_current_ns)(void) ;
 750   void const   *(*netlink_ns)(struct sock * ) ;
 751   void const   *(*initial_ns)(void) ;
 752   void (*drop_ns)(void * ) ;
 753};
 754#line 57 "include/linux/kobject_ns.h"
 755struct attribute {
 756   char const   *name ;
 757   umode_t mode ;
 758   struct lock_class_key *key ;
 759   struct lock_class_key skey ;
 760};
 761#line 98 "include/linux/sysfs.h"
 762struct sysfs_ops {
 763   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 764   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 765   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 766};
 767#line 117
 768struct sysfs_dirent;
 769#line 117
 770struct sysfs_dirent;
 771#line 182 "include/linux/sysfs.h"
 772struct kref {
 773   atomic_t refcount ;
 774};
 775#line 49 "include/linux/kobject.h"
 776struct kset;
 777#line 49
 778struct kobj_type;
 779#line 49 "include/linux/kobject.h"
 780struct kobject {
 781   char const   *name ;
 782   struct list_head entry ;
 783   struct kobject *parent ;
 784   struct kset *kset ;
 785   struct kobj_type *ktype ;
 786   struct sysfs_dirent *sd ;
 787   struct kref kref ;
 788   unsigned char state_initialized : 1 ;
 789   unsigned char state_in_sysfs : 1 ;
 790   unsigned char state_add_uevent_sent : 1 ;
 791   unsigned char state_remove_uevent_sent : 1 ;
 792   unsigned char uevent_suppress : 1 ;
 793};
 794#line 107 "include/linux/kobject.h"
 795struct kobj_type {
 796   void (*release)(struct kobject * ) ;
 797   struct sysfs_ops  const  *sysfs_ops ;
 798   struct attribute **default_attrs ;
 799   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 800   void const   *(*namespace)(struct kobject * ) ;
 801};
 802#line 115 "include/linux/kobject.h"
 803struct kobj_uevent_env {
 804   char *envp[32U] ;
 805   int envp_idx ;
 806   char buf[2048U] ;
 807   int buflen ;
 808};
 809#line 122 "include/linux/kobject.h"
 810struct kset_uevent_ops {
 811   int (* const  filter)(struct kset * , struct kobject * ) ;
 812   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 813   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 814};
 815#line 139 "include/linux/kobject.h"
 816struct kset {
 817   struct list_head list ;
 818   spinlock_t list_lock ;
 819   struct kobject kobj ;
 820   struct kset_uevent_ops  const  *uevent_ops ;
 821};
 822#line 215
 823struct kernel_param;
 824#line 215
 825struct kernel_param;
 826#line 216 "include/linux/kobject.h"
 827struct kernel_param_ops {
 828   int (*set)(char const   * , struct kernel_param  const  * ) ;
 829   int (*get)(char * , struct kernel_param  const  * ) ;
 830   void (*free)(void * ) ;
 831};
 832#line 49 "include/linux/moduleparam.h"
 833struct kparam_string;
 834#line 49
 835struct kparam_array;
 836#line 49 "include/linux/moduleparam.h"
 837union __anonunion_ldv_13363_134 {
 838   void *arg ;
 839   struct kparam_string  const  *str ;
 840   struct kparam_array  const  *arr ;
 841};
 842#line 49 "include/linux/moduleparam.h"
 843struct kernel_param {
 844   char const   *name ;
 845   struct kernel_param_ops  const  *ops ;
 846   u16 perm ;
 847   s16 level ;
 848   union __anonunion_ldv_13363_134 ldv_13363 ;
 849};
 850#line 61 "include/linux/moduleparam.h"
 851struct kparam_string {
 852   unsigned int maxlen ;
 853   char *string ;
 854};
 855#line 67 "include/linux/moduleparam.h"
 856struct kparam_array {
 857   unsigned int max ;
 858   unsigned int elemsize ;
 859   unsigned int *num ;
 860   struct kernel_param_ops  const  *ops ;
 861   void *elem ;
 862};
 863#line 458 "include/linux/moduleparam.h"
 864struct static_key {
 865   atomic_t enabled ;
 866};
 867#line 225 "include/linux/jump_label.h"
 868struct tracepoint;
 869#line 225
 870struct tracepoint;
 871#line 226 "include/linux/jump_label.h"
 872struct tracepoint_func {
 873   void *func ;
 874   void *data ;
 875};
 876#line 29 "include/linux/tracepoint.h"
 877struct tracepoint {
 878   char const   *name ;
 879   struct static_key key ;
 880   void (*regfunc)(void) ;
 881   void (*unregfunc)(void) ;
 882   struct tracepoint_func *funcs ;
 883};
 884#line 86 "include/linux/tracepoint.h"
 885struct kernel_symbol {
 886   unsigned long value ;
 887   char const   *name ;
 888};
 889#line 27 "include/linux/export.h"
 890struct mod_arch_specific {
 891
 892};
 893#line 34 "include/linux/module.h"
 894struct module_param_attrs;
 895#line 34 "include/linux/module.h"
 896struct module_kobject {
 897   struct kobject kobj ;
 898   struct module *mod ;
 899   struct kobject *drivers_dir ;
 900   struct module_param_attrs *mp ;
 901};
 902#line 43 "include/linux/module.h"
 903struct module_attribute {
 904   struct attribute attr ;
 905   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 906   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 907                    size_t  ) ;
 908   void (*setup)(struct module * , char const   * ) ;
 909   int (*test)(struct module * ) ;
 910   void (*free)(struct module * ) ;
 911};
 912#line 69
 913struct exception_table_entry;
 914#line 69
 915struct exception_table_entry;
 916#line 198
 917enum module_state {
 918    MODULE_STATE_LIVE = 0,
 919    MODULE_STATE_COMING = 1,
 920    MODULE_STATE_GOING = 2
 921} ;
 922#line 204 "include/linux/module.h"
 923struct module_ref {
 924   unsigned long incs ;
 925   unsigned long decs ;
 926};
 927#line 219
 928struct module_sect_attrs;
 929#line 219
 930struct module_notes_attrs;
 931#line 219
 932struct ftrace_event_call;
 933#line 219 "include/linux/module.h"
 934struct module {
 935   enum module_state state ;
 936   struct list_head list ;
 937   char name[56U] ;
 938   struct module_kobject mkobj ;
 939   struct module_attribute *modinfo_attrs ;
 940   char const   *version ;
 941   char const   *srcversion ;
 942   struct kobject *holders_dir ;
 943   struct kernel_symbol  const  *syms ;
 944   unsigned long const   *crcs ;
 945   unsigned int num_syms ;
 946   struct kernel_param *kp ;
 947   unsigned int num_kp ;
 948   unsigned int num_gpl_syms ;
 949   struct kernel_symbol  const  *gpl_syms ;
 950   unsigned long const   *gpl_crcs ;
 951   struct kernel_symbol  const  *unused_syms ;
 952   unsigned long const   *unused_crcs ;
 953   unsigned int num_unused_syms ;
 954   unsigned int num_unused_gpl_syms ;
 955   struct kernel_symbol  const  *unused_gpl_syms ;
 956   unsigned long const   *unused_gpl_crcs ;
 957   struct kernel_symbol  const  *gpl_future_syms ;
 958   unsigned long const   *gpl_future_crcs ;
 959   unsigned int num_gpl_future_syms ;
 960   unsigned int num_exentries ;
 961   struct exception_table_entry *extable ;
 962   int (*init)(void) ;
 963   void *module_init ;
 964   void *module_core ;
 965   unsigned int init_size ;
 966   unsigned int core_size ;
 967   unsigned int init_text_size ;
 968   unsigned int core_text_size ;
 969   unsigned int init_ro_size ;
 970   unsigned int core_ro_size ;
 971   struct mod_arch_specific arch ;
 972   unsigned int taints ;
 973   unsigned int num_bugs ;
 974   struct list_head bug_list ;
 975   struct bug_entry *bug_table ;
 976   Elf64_Sym *symtab ;
 977   Elf64_Sym *core_symtab ;
 978   unsigned int num_symtab ;
 979   unsigned int core_num_syms ;
 980   char *strtab ;
 981   char *core_strtab ;
 982   struct module_sect_attrs *sect_attrs ;
 983   struct module_notes_attrs *notes_attrs ;
 984   char *args ;
 985   void *percpu ;
 986   unsigned int percpu_size ;
 987   unsigned int num_tracepoints ;
 988   struct tracepoint * const  *tracepoints_ptrs ;
 989   unsigned int num_trace_bprintk_fmt ;
 990   char const   **trace_bprintk_fmt_start ;
 991   struct ftrace_event_call **trace_events ;
 992   unsigned int num_trace_events ;
 993   struct list_head source_list ;
 994   struct list_head target_list ;
 995   struct task_struct *waiter ;
 996   void (*exit)(void) ;
 997   struct module_ref *refptr ;
 998   ctor_fn_t (**ctors)(void) ;
 999   unsigned int num_ctors ;
1000};
1001#line 88 "include/linux/kmemleak.h"
1002struct kmem_cache_cpu {
1003   void **freelist ;
1004   unsigned long tid ;
1005   struct page *page ;
1006   struct page *partial ;
1007   int node ;
1008   unsigned int stat[26U] ;
1009};
1010#line 55 "include/linux/slub_def.h"
1011struct kmem_cache_node {
1012   spinlock_t list_lock ;
1013   unsigned long nr_partial ;
1014   struct list_head partial ;
1015   atomic_long_t nr_slabs ;
1016   atomic_long_t total_objects ;
1017   struct list_head full ;
1018};
1019#line 66 "include/linux/slub_def.h"
1020struct kmem_cache_order_objects {
1021   unsigned long x ;
1022};
1023#line 76 "include/linux/slub_def.h"
1024struct kmem_cache {
1025   struct kmem_cache_cpu *cpu_slab ;
1026   unsigned long flags ;
1027   unsigned long min_partial ;
1028   int size ;
1029   int objsize ;
1030   int offset ;
1031   int cpu_partial ;
1032   struct kmem_cache_order_objects oo ;
1033   struct kmem_cache_order_objects max ;
1034   struct kmem_cache_order_objects min ;
1035   gfp_t allocflags ;
1036   int refcount ;
1037   void (*ctor)(void * ) ;
1038   int inuse ;
1039   int align ;
1040   int reserved ;
1041   char const   *name ;
1042   struct list_head list ;
1043   struct kobject kobj ;
1044   int remote_node_defrag_ratio ;
1045   struct kmem_cache_node *node[1024U] ;
1046};
1047#line 72 "include/linux/io.h"
1048struct block_device;
1049#line 72
1050struct block_device;
1051#line 93 "include/linux/bit_spinlock.h"
1052struct hlist_bl_node;
1053#line 93 "include/linux/bit_spinlock.h"
1054struct hlist_bl_head {
1055   struct hlist_bl_node *first ;
1056};
1057#line 36 "include/linux/list_bl.h"
1058struct hlist_bl_node {
1059   struct hlist_bl_node *next ;
1060   struct hlist_bl_node **pprev ;
1061};
1062#line 114 "include/linux/rculist_bl.h"
1063struct nameidata;
1064#line 114
1065struct nameidata;
1066#line 115
1067struct path;
1068#line 115
1069struct path;
1070#line 116
1071struct vfsmount;
1072#line 116
1073struct vfsmount;
1074#line 117 "include/linux/rculist_bl.h"
1075struct qstr {
1076   unsigned int hash ;
1077   unsigned int len ;
1078   unsigned char const   *name ;
1079};
1080#line 72 "include/linux/dcache.h"
1081struct inode;
1082#line 72
1083struct dentry_operations;
1084#line 72
1085struct super_block;
1086#line 72 "include/linux/dcache.h"
1087union __anonunion_d_u_135 {
1088   struct list_head d_child ;
1089   struct rcu_head d_rcu ;
1090};
1091#line 72 "include/linux/dcache.h"
1092struct dentry {
1093   unsigned int d_flags ;
1094   seqcount_t d_seq ;
1095   struct hlist_bl_node d_hash ;
1096   struct dentry *d_parent ;
1097   struct qstr d_name ;
1098   struct inode *d_inode ;
1099   unsigned char d_iname[32U] ;
1100   unsigned int d_count ;
1101   spinlock_t d_lock ;
1102   struct dentry_operations  const  *d_op ;
1103   struct super_block *d_sb ;
1104   unsigned long d_time ;
1105   void *d_fsdata ;
1106   struct list_head d_lru ;
1107   union __anonunion_d_u_135 d_u ;
1108   struct list_head d_subdirs ;
1109   struct list_head d_alias ;
1110};
1111#line 123 "include/linux/dcache.h"
1112struct dentry_operations {
1113   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1114   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1115   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1116                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1117   int (*d_delete)(struct dentry  const  * ) ;
1118   void (*d_release)(struct dentry * ) ;
1119   void (*d_prune)(struct dentry * ) ;
1120   void (*d_iput)(struct dentry * , struct inode * ) ;
1121   char *(*d_dname)(struct dentry * , char * , int  ) ;
1122   struct vfsmount *(*d_automount)(struct path * ) ;
1123   int (*d_manage)(struct dentry * , bool  ) ;
1124};
1125#line 402 "include/linux/dcache.h"
1126struct path {
1127   struct vfsmount *mnt ;
1128   struct dentry *dentry ;
1129};
1130#line 58 "include/linux/radix-tree.h"
1131struct radix_tree_node;
1132#line 58 "include/linux/radix-tree.h"
1133struct radix_tree_root {
1134   unsigned int height ;
1135   gfp_t gfp_mask ;
1136   struct radix_tree_node *rnode ;
1137};
1138#line 377
1139struct prio_tree_node;
1140#line 377 "include/linux/radix-tree.h"
1141struct raw_prio_tree_node {
1142   struct prio_tree_node *left ;
1143   struct prio_tree_node *right ;
1144   struct prio_tree_node *parent ;
1145};
1146#line 19 "include/linux/prio_tree.h"
1147struct prio_tree_node {
1148   struct prio_tree_node *left ;
1149   struct prio_tree_node *right ;
1150   struct prio_tree_node *parent ;
1151   unsigned long start ;
1152   unsigned long last ;
1153};
1154#line 27 "include/linux/prio_tree.h"
1155struct prio_tree_root {
1156   struct prio_tree_node *prio_tree_node ;
1157   unsigned short index_bits ;
1158   unsigned short raw ;
1159};
1160#line 111
1161enum pid_type {
1162    PIDTYPE_PID = 0,
1163    PIDTYPE_PGID = 1,
1164    PIDTYPE_SID = 2,
1165    PIDTYPE_MAX = 3
1166} ;
1167#line 118
1168struct pid_namespace;
1169#line 118 "include/linux/prio_tree.h"
1170struct upid {
1171   int nr ;
1172   struct pid_namespace *ns ;
1173   struct hlist_node pid_chain ;
1174};
1175#line 56 "include/linux/pid.h"
1176struct pid {
1177   atomic_t count ;
1178   unsigned int level ;
1179   struct hlist_head tasks[3U] ;
1180   struct rcu_head rcu ;
1181   struct upid numbers[1U] ;
1182};
1183#line 68 "include/linux/pid.h"
1184struct pid_link {
1185   struct hlist_node node ;
1186   struct pid *pid ;
1187};
1188#line 93 "include/linux/capability.h"
1189struct kernel_cap_struct {
1190   __u32 cap[2U] ;
1191};
1192#line 96 "include/linux/capability.h"
1193typedef struct kernel_cap_struct kernel_cap_t;
1194#line 104
1195struct user_namespace;
1196#line 104
1197struct user_namespace;
1198#line 45 "include/linux/semaphore.h"
1199struct fiemap_extent {
1200   __u64 fe_logical ;
1201   __u64 fe_physical ;
1202   __u64 fe_length ;
1203   __u64 fe_reserved64[2U] ;
1204   __u32 fe_flags ;
1205   __u32 fe_reserved[3U] ;
1206};
1207#line 38 "include/linux/fiemap.h"
1208struct shrink_control {
1209   gfp_t gfp_mask ;
1210   unsigned long nr_to_scan ;
1211};
1212#line 14 "include/linux/shrinker.h"
1213struct shrinker {
1214   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1215   int seeks ;
1216   long batch ;
1217   struct list_head list ;
1218   atomic_long_t nr_in_batch ;
1219};
1220#line 43
1221enum migrate_mode {
1222    MIGRATE_ASYNC = 0,
1223    MIGRATE_SYNC_LIGHT = 1,
1224    MIGRATE_SYNC = 2
1225} ;
1226#line 49
1227struct export_operations;
1228#line 49
1229struct export_operations;
1230#line 51
1231struct iovec;
1232#line 51
1233struct iovec;
1234#line 52
1235struct kiocb;
1236#line 52
1237struct kiocb;
1238#line 53
1239struct pipe_inode_info;
1240#line 53
1241struct pipe_inode_info;
1242#line 54
1243struct poll_table_struct;
1244#line 54
1245struct poll_table_struct;
1246#line 55
1247struct kstatfs;
1248#line 55
1249struct kstatfs;
1250#line 435 "include/linux/fs.h"
1251struct iattr {
1252   unsigned int ia_valid ;
1253   umode_t ia_mode ;
1254   uid_t ia_uid ;
1255   gid_t ia_gid ;
1256   loff_t ia_size ;
1257   struct timespec ia_atime ;
1258   struct timespec ia_mtime ;
1259   struct timespec ia_ctime ;
1260   struct file *ia_file ;
1261};
1262#line 119 "include/linux/quota.h"
1263struct if_dqinfo {
1264   __u64 dqi_bgrace ;
1265   __u64 dqi_igrace ;
1266   __u32 dqi_flags ;
1267   __u32 dqi_valid ;
1268};
1269#line 176 "include/linux/percpu_counter.h"
1270struct fs_disk_quota {
1271   __s8 d_version ;
1272   __s8 d_flags ;
1273   __u16 d_fieldmask ;
1274   __u32 d_id ;
1275   __u64 d_blk_hardlimit ;
1276   __u64 d_blk_softlimit ;
1277   __u64 d_ino_hardlimit ;
1278   __u64 d_ino_softlimit ;
1279   __u64 d_bcount ;
1280   __u64 d_icount ;
1281   __s32 d_itimer ;
1282   __s32 d_btimer ;
1283   __u16 d_iwarns ;
1284   __u16 d_bwarns ;
1285   __s32 d_padding2 ;
1286   __u64 d_rtb_hardlimit ;
1287   __u64 d_rtb_softlimit ;
1288   __u64 d_rtbcount ;
1289   __s32 d_rtbtimer ;
1290   __u16 d_rtbwarns ;
1291   __s16 d_padding3 ;
1292   char d_padding4[8U] ;
1293};
1294#line 75 "include/linux/dqblk_xfs.h"
1295struct fs_qfilestat {
1296   __u64 qfs_ino ;
1297   __u64 qfs_nblks ;
1298   __u32 qfs_nextents ;
1299};
1300#line 150 "include/linux/dqblk_xfs.h"
1301typedef struct fs_qfilestat fs_qfilestat_t;
1302#line 151 "include/linux/dqblk_xfs.h"
1303struct fs_quota_stat {
1304   __s8 qs_version ;
1305   __u16 qs_flags ;
1306   __s8 qs_pad ;
1307   fs_qfilestat_t qs_uquota ;
1308   fs_qfilestat_t qs_gquota ;
1309   __u32 qs_incoredqs ;
1310   __s32 qs_btimelimit ;
1311   __s32 qs_itimelimit ;
1312   __s32 qs_rtbtimelimit ;
1313   __u16 qs_bwarnlimit ;
1314   __u16 qs_iwarnlimit ;
1315};
1316#line 165
1317struct dquot;
1318#line 165
1319struct dquot;
1320#line 185 "include/linux/quota.h"
1321typedef __kernel_uid32_t qid_t;
1322#line 186 "include/linux/quota.h"
1323typedef long long qsize_t;
1324#line 189 "include/linux/quota.h"
1325struct mem_dqblk {
1326   qsize_t dqb_bhardlimit ;
1327   qsize_t dqb_bsoftlimit ;
1328   qsize_t dqb_curspace ;
1329   qsize_t dqb_rsvspace ;
1330   qsize_t dqb_ihardlimit ;
1331   qsize_t dqb_isoftlimit ;
1332   qsize_t dqb_curinodes ;
1333   time_t dqb_btime ;
1334   time_t dqb_itime ;
1335};
1336#line 211
1337struct quota_format_type;
1338#line 211
1339struct quota_format_type;
1340#line 212 "include/linux/quota.h"
1341struct mem_dqinfo {
1342   struct quota_format_type *dqi_format ;
1343   int dqi_fmt_id ;
1344   struct list_head dqi_dirty_list ;
1345   unsigned long dqi_flags ;
1346   unsigned int dqi_bgrace ;
1347   unsigned int dqi_igrace ;
1348   qsize_t dqi_maxblimit ;
1349   qsize_t dqi_maxilimit ;
1350   void *dqi_priv ;
1351};
1352#line 275 "include/linux/quota.h"
1353struct dquot {
1354   struct hlist_node dq_hash ;
1355   struct list_head dq_inuse ;
1356   struct list_head dq_free ;
1357   struct list_head dq_dirty ;
1358   struct mutex dq_lock ;
1359   atomic_t dq_count ;
1360   wait_queue_head_t dq_wait_unused ;
1361   struct super_block *dq_sb ;
1362   unsigned int dq_id ;
1363   loff_t dq_off ;
1364   unsigned long dq_flags ;
1365   short dq_type ;
1366   struct mem_dqblk dq_dqb ;
1367};
1368#line 303 "include/linux/quota.h"
1369struct quota_format_ops {
1370   int (*check_quota_file)(struct super_block * , int  ) ;
1371   int (*read_file_info)(struct super_block * , int  ) ;
1372   int (*write_file_info)(struct super_block * , int  ) ;
1373   int (*free_file_info)(struct super_block * , int  ) ;
1374   int (*read_dqblk)(struct dquot * ) ;
1375   int (*commit_dqblk)(struct dquot * ) ;
1376   int (*release_dqblk)(struct dquot * ) ;
1377};
1378#line 314 "include/linux/quota.h"
1379struct dquot_operations {
1380   int (*write_dquot)(struct dquot * ) ;
1381   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1382   void (*destroy_dquot)(struct dquot * ) ;
1383   int (*acquire_dquot)(struct dquot * ) ;
1384   int (*release_dquot)(struct dquot * ) ;
1385   int (*mark_dirty)(struct dquot * ) ;
1386   int (*write_info)(struct super_block * , int  ) ;
1387   qsize_t *(*get_reserved_space)(struct inode * ) ;
1388};
1389#line 328 "include/linux/quota.h"
1390struct quotactl_ops {
1391   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1392   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1393   int (*quota_off)(struct super_block * , int  ) ;
1394   int (*quota_sync)(struct super_block * , int  , int  ) ;
1395   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1396   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1397   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1398   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1399   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1400   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1401};
1402#line 344 "include/linux/quota.h"
1403struct quota_format_type {
1404   int qf_fmt_id ;
1405   struct quota_format_ops  const  *qf_ops ;
1406   struct module *qf_owner ;
1407   struct quota_format_type *qf_next ;
1408};
1409#line 390 "include/linux/quota.h"
1410struct quota_info {
1411   unsigned int flags ;
1412   struct mutex dqio_mutex ;
1413   struct mutex dqonoff_mutex ;
1414   struct rw_semaphore dqptr_sem ;
1415   struct inode *files[2U] ;
1416   struct mem_dqinfo info[2U] ;
1417   struct quota_format_ops  const  *ops[2U] ;
1418};
1419#line 421
1420struct address_space;
1421#line 421
1422struct address_space;
1423#line 422
1424struct writeback_control;
1425#line 422
1426struct writeback_control;
1427#line 585 "include/linux/fs.h"
1428union __anonunion_arg_138 {
1429   char *buf ;
1430   void *data ;
1431};
1432#line 585 "include/linux/fs.h"
1433struct __anonstruct_read_descriptor_t_137 {
1434   size_t written ;
1435   size_t count ;
1436   union __anonunion_arg_138 arg ;
1437   int error ;
1438};
1439#line 585 "include/linux/fs.h"
1440typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1441#line 588 "include/linux/fs.h"
1442struct address_space_operations {
1443   int (*writepage)(struct page * , struct writeback_control * ) ;
1444   int (*readpage)(struct file * , struct page * ) ;
1445   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1446   int (*set_page_dirty)(struct page * ) ;
1447   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1448                    unsigned int  ) ;
1449   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1450                      unsigned int  , struct page ** , void ** ) ;
1451   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1452                    unsigned int  , struct page * , void * ) ;
1453   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1454   void (*invalidatepage)(struct page * , unsigned long  ) ;
1455   int (*releasepage)(struct page * , gfp_t  ) ;
1456   void (*freepage)(struct page * ) ;
1457   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1458                        unsigned long  ) ;
1459   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1460   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1461   int (*launder_page)(struct page * ) ;
1462   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1463   int (*error_remove_page)(struct address_space * , struct page * ) ;
1464};
1465#line 642
1466struct backing_dev_info;
1467#line 642
1468struct backing_dev_info;
1469#line 643 "include/linux/fs.h"
1470struct address_space {
1471   struct inode *host ;
1472   struct radix_tree_root page_tree ;
1473   spinlock_t tree_lock ;
1474   unsigned int i_mmap_writable ;
1475   struct prio_tree_root i_mmap ;
1476   struct list_head i_mmap_nonlinear ;
1477   struct mutex i_mmap_mutex ;
1478   unsigned long nrpages ;
1479   unsigned long writeback_index ;
1480   struct address_space_operations  const  *a_ops ;
1481   unsigned long flags ;
1482   struct backing_dev_info *backing_dev_info ;
1483   spinlock_t private_lock ;
1484   struct list_head private_list ;
1485   struct address_space *assoc_mapping ;
1486};
1487#line 664
1488struct request_queue;
1489#line 664
1490struct request_queue;
1491#line 665
1492struct hd_struct;
1493#line 665
1494struct gendisk;
1495#line 665 "include/linux/fs.h"
1496struct block_device {
1497   dev_t bd_dev ;
1498   int bd_openers ;
1499   struct inode *bd_inode ;
1500   struct super_block *bd_super ;
1501   struct mutex bd_mutex ;
1502   struct list_head bd_inodes ;
1503   void *bd_claiming ;
1504   void *bd_holder ;
1505   int bd_holders ;
1506   bool bd_write_holder ;
1507   struct list_head bd_holder_disks ;
1508   struct block_device *bd_contains ;
1509   unsigned int bd_block_size ;
1510   struct hd_struct *bd_part ;
1511   unsigned int bd_part_count ;
1512   int bd_invalidated ;
1513   struct gendisk *bd_disk ;
1514   struct request_queue *bd_queue ;
1515   struct list_head bd_list ;
1516   unsigned long bd_private ;
1517   int bd_fsfreeze_count ;
1518   struct mutex bd_fsfreeze_mutex ;
1519};
1520#line 737
1521struct posix_acl;
1522#line 737
1523struct posix_acl;
1524#line 738
1525struct inode_operations;
1526#line 738 "include/linux/fs.h"
1527union __anonunion_ldv_15786_139 {
1528   unsigned int const   i_nlink ;
1529   unsigned int __i_nlink ;
1530};
1531#line 738 "include/linux/fs.h"
1532union __anonunion_ldv_15805_140 {
1533   struct list_head i_dentry ;
1534   struct rcu_head i_rcu ;
1535};
1536#line 738
1537struct file_operations;
1538#line 738
1539struct file_lock;
1540#line 738
1541struct cdev;
1542#line 738 "include/linux/fs.h"
1543union __anonunion_ldv_15823_141 {
1544   struct pipe_inode_info *i_pipe ;
1545   struct block_device *i_bdev ;
1546   struct cdev *i_cdev ;
1547};
1548#line 738 "include/linux/fs.h"
1549struct inode {
1550   umode_t i_mode ;
1551   unsigned short i_opflags ;
1552   uid_t i_uid ;
1553   gid_t i_gid ;
1554   unsigned int i_flags ;
1555   struct posix_acl *i_acl ;
1556   struct posix_acl *i_default_acl ;
1557   struct inode_operations  const  *i_op ;
1558   struct super_block *i_sb ;
1559   struct address_space *i_mapping ;
1560   void *i_security ;
1561   unsigned long i_ino ;
1562   union __anonunion_ldv_15786_139 ldv_15786 ;
1563   dev_t i_rdev ;
1564   struct timespec i_atime ;
1565   struct timespec i_mtime ;
1566   struct timespec i_ctime ;
1567   spinlock_t i_lock ;
1568   unsigned short i_bytes ;
1569   blkcnt_t i_blocks ;
1570   loff_t i_size ;
1571   unsigned long i_state ;
1572   struct mutex i_mutex ;
1573   unsigned long dirtied_when ;
1574   struct hlist_node i_hash ;
1575   struct list_head i_wb_list ;
1576   struct list_head i_lru ;
1577   struct list_head i_sb_list ;
1578   union __anonunion_ldv_15805_140 ldv_15805 ;
1579   atomic_t i_count ;
1580   unsigned int i_blkbits ;
1581   u64 i_version ;
1582   atomic_t i_dio_count ;
1583   atomic_t i_writecount ;
1584   struct file_operations  const  *i_fop ;
1585   struct file_lock *i_flock ;
1586   struct address_space i_data ;
1587   struct dquot *i_dquot[2U] ;
1588   struct list_head i_devices ;
1589   union __anonunion_ldv_15823_141 ldv_15823 ;
1590   __u32 i_generation ;
1591   __u32 i_fsnotify_mask ;
1592   struct hlist_head i_fsnotify_marks ;
1593   atomic_t i_readcount ;
1594   void *i_private ;
1595};
1596#line 941 "include/linux/fs.h"
1597struct fown_struct {
1598   rwlock_t lock ;
1599   struct pid *pid ;
1600   enum pid_type pid_type ;
1601   uid_t uid ;
1602   uid_t euid ;
1603   int signum ;
1604};
1605#line 949 "include/linux/fs.h"
1606struct file_ra_state {
1607   unsigned long start ;
1608   unsigned int size ;
1609   unsigned int async_size ;
1610   unsigned int ra_pages ;
1611   unsigned int mmap_miss ;
1612   loff_t prev_pos ;
1613};
1614#line 972 "include/linux/fs.h"
1615union __anonunion_f_u_142 {
1616   struct list_head fu_list ;
1617   struct rcu_head fu_rcuhead ;
1618};
1619#line 972 "include/linux/fs.h"
1620struct file {
1621   union __anonunion_f_u_142 f_u ;
1622   struct path f_path ;
1623   struct file_operations  const  *f_op ;
1624   spinlock_t f_lock ;
1625   int f_sb_list_cpu ;
1626   atomic_long_t f_count ;
1627   unsigned int f_flags ;
1628   fmode_t f_mode ;
1629   loff_t f_pos ;
1630   struct fown_struct f_owner ;
1631   struct cred  const  *f_cred ;
1632   struct file_ra_state f_ra ;
1633   u64 f_version ;
1634   void *f_security ;
1635   void *private_data ;
1636   struct list_head f_ep_links ;
1637   struct list_head f_tfile_llink ;
1638   struct address_space *f_mapping ;
1639   unsigned long f_mnt_write_state ;
1640};
1641#line 1111
1642struct files_struct;
1643#line 1111 "include/linux/fs.h"
1644typedef struct files_struct *fl_owner_t;
1645#line 1112 "include/linux/fs.h"
1646struct file_lock_operations {
1647   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1648   void (*fl_release_private)(struct file_lock * ) ;
1649};
1650#line 1117 "include/linux/fs.h"
1651struct lock_manager_operations {
1652   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1653   void (*lm_notify)(struct file_lock * ) ;
1654   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1655   void (*lm_release_private)(struct file_lock * ) ;
1656   void (*lm_break)(struct file_lock * ) ;
1657   int (*lm_change)(struct file_lock ** , int  ) ;
1658};
1659#line 1134
1660struct nlm_lockowner;
1661#line 1134
1662struct nlm_lockowner;
1663#line 1135 "include/linux/fs.h"
1664struct nfs_lock_info {
1665   u32 state ;
1666   struct nlm_lockowner *owner ;
1667   struct list_head list ;
1668};
1669#line 14 "include/linux/nfs_fs_i.h"
1670struct nfs4_lock_state;
1671#line 14
1672struct nfs4_lock_state;
1673#line 15 "include/linux/nfs_fs_i.h"
1674struct nfs4_lock_info {
1675   struct nfs4_lock_state *owner ;
1676};
1677#line 19
1678struct fasync_struct;
1679#line 19 "include/linux/nfs_fs_i.h"
1680struct __anonstruct_afs_144 {
1681   struct list_head link ;
1682   int state ;
1683};
1684#line 19 "include/linux/nfs_fs_i.h"
1685union __anonunion_fl_u_143 {
1686   struct nfs_lock_info nfs_fl ;
1687   struct nfs4_lock_info nfs4_fl ;
1688   struct __anonstruct_afs_144 afs ;
1689};
1690#line 19 "include/linux/nfs_fs_i.h"
1691struct file_lock {
1692   struct file_lock *fl_next ;
1693   struct list_head fl_link ;
1694   struct list_head fl_block ;
1695   fl_owner_t fl_owner ;
1696   unsigned int fl_flags ;
1697   unsigned char fl_type ;
1698   unsigned int fl_pid ;
1699   struct pid *fl_nspid ;
1700   wait_queue_head_t fl_wait ;
1701   struct file *fl_file ;
1702   loff_t fl_start ;
1703   loff_t fl_end ;
1704   struct fasync_struct *fl_fasync ;
1705   unsigned long fl_break_time ;
1706   unsigned long fl_downgrade_time ;
1707   struct file_lock_operations  const  *fl_ops ;
1708   struct lock_manager_operations  const  *fl_lmops ;
1709   union __anonunion_fl_u_143 fl_u ;
1710};
1711#line 1221 "include/linux/fs.h"
1712struct fasync_struct {
1713   spinlock_t fa_lock ;
1714   int magic ;
1715   int fa_fd ;
1716   struct fasync_struct *fa_next ;
1717   struct file *fa_file ;
1718   struct rcu_head fa_rcu ;
1719};
1720#line 1417
1721struct file_system_type;
1722#line 1417
1723struct super_operations;
1724#line 1417
1725struct xattr_handler;
1726#line 1417
1727struct mtd_info;
1728#line 1417 "include/linux/fs.h"
1729struct super_block {
1730   struct list_head s_list ;
1731   dev_t s_dev ;
1732   unsigned char s_dirt ;
1733   unsigned char s_blocksize_bits ;
1734   unsigned long s_blocksize ;
1735   loff_t s_maxbytes ;
1736   struct file_system_type *s_type ;
1737   struct super_operations  const  *s_op ;
1738   struct dquot_operations  const  *dq_op ;
1739   struct quotactl_ops  const  *s_qcop ;
1740   struct export_operations  const  *s_export_op ;
1741   unsigned long s_flags ;
1742   unsigned long s_magic ;
1743   struct dentry *s_root ;
1744   struct rw_semaphore s_umount ;
1745   struct mutex s_lock ;
1746   int s_count ;
1747   atomic_t s_active ;
1748   void *s_security ;
1749   struct xattr_handler  const  **s_xattr ;
1750   struct list_head s_inodes ;
1751   struct hlist_bl_head s_anon ;
1752   struct list_head *s_files ;
1753   struct list_head s_mounts ;
1754   struct list_head s_dentry_lru ;
1755   int s_nr_dentry_unused ;
1756   spinlock_t s_inode_lru_lock ;
1757   struct list_head s_inode_lru ;
1758   int s_nr_inodes_unused ;
1759   struct block_device *s_bdev ;
1760   struct backing_dev_info *s_bdi ;
1761   struct mtd_info *s_mtd ;
1762   struct hlist_node s_instances ;
1763   struct quota_info s_dquot ;
1764   int s_frozen ;
1765   wait_queue_head_t s_wait_unfrozen ;
1766   char s_id[32U] ;
1767   u8 s_uuid[16U] ;
1768   void *s_fs_info ;
1769   unsigned int s_max_links ;
1770   fmode_t s_mode ;
1771   u32 s_time_gran ;
1772   struct mutex s_vfs_rename_mutex ;
1773   char *s_subtype ;
1774   char *s_options ;
1775   struct dentry_operations  const  *s_d_op ;
1776   int cleancache_poolid ;
1777   struct shrinker s_shrink ;
1778   atomic_long_t s_remove_count ;
1779   int s_readonly_remount ;
1780};
1781#line 1563 "include/linux/fs.h"
1782struct fiemap_extent_info {
1783   unsigned int fi_flags ;
1784   unsigned int fi_extents_mapped ;
1785   unsigned int fi_extents_max ;
1786   struct fiemap_extent *fi_extents_start ;
1787};
1788#line 1602 "include/linux/fs.h"
1789struct file_operations {
1790   struct module *owner ;
1791   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1792   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1793   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1794   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1795                       loff_t  ) ;
1796   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1797                        loff_t  ) ;
1798   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1799                                                   loff_t  , u64  , unsigned int  ) ) ;
1800   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1801   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1802   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1803   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1804   int (*open)(struct inode * , struct file * ) ;
1805   int (*flush)(struct file * , fl_owner_t  ) ;
1806   int (*release)(struct inode * , struct file * ) ;
1807   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1808   int (*aio_fsync)(struct kiocb * , int  ) ;
1809   int (*fasync)(int  , struct file * , int  ) ;
1810   int (*lock)(struct file * , int  , struct file_lock * ) ;
1811   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1812                       int  ) ;
1813   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1814                                      unsigned long  , unsigned long  ) ;
1815   int (*check_flags)(int  ) ;
1816   int (*flock)(struct file * , int  , struct file_lock * ) ;
1817   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1818                           unsigned int  ) ;
1819   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1820                          unsigned int  ) ;
1821   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1822   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1823};
1824#line 1637 "include/linux/fs.h"
1825struct inode_operations {
1826   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1827   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1828   int (*permission)(struct inode * , int  ) ;
1829   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1830   int (*readlink)(struct dentry * , char * , int  ) ;
1831   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1832   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1833   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1834   int (*unlink)(struct inode * , struct dentry * ) ;
1835   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1836   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1837   int (*rmdir)(struct inode * , struct dentry * ) ;
1838   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1839   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1840   void (*truncate)(struct inode * ) ;
1841   int (*setattr)(struct dentry * , struct iattr * ) ;
1842   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1843   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1844   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1845   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1846   int (*removexattr)(struct dentry * , char const   * ) ;
1847   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1848   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
1849};
1850#line 1682 "include/linux/fs.h"
1851struct super_operations {
1852   struct inode *(*alloc_inode)(struct super_block * ) ;
1853   void (*destroy_inode)(struct inode * ) ;
1854   void (*dirty_inode)(struct inode * , int  ) ;
1855   int (*write_inode)(struct inode * , struct writeback_control * ) ;
1856   int (*drop_inode)(struct inode * ) ;
1857   void (*evict_inode)(struct inode * ) ;
1858   void (*put_super)(struct super_block * ) ;
1859   void (*write_super)(struct super_block * ) ;
1860   int (*sync_fs)(struct super_block * , int  ) ;
1861   int (*freeze_fs)(struct super_block * ) ;
1862   int (*unfreeze_fs)(struct super_block * ) ;
1863   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1864   int (*remount_fs)(struct super_block * , int * , char * ) ;
1865   void (*umount_begin)(struct super_block * ) ;
1866   int (*show_options)(struct seq_file * , struct dentry * ) ;
1867   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1868   int (*show_path)(struct seq_file * , struct dentry * ) ;
1869   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1870   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1871   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1872                          loff_t  ) ;
1873   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
1874   int (*nr_cached_objects)(struct super_block * ) ;
1875   void (*free_cached_objects)(struct super_block * , int  ) ;
1876};
1877#line 1834 "include/linux/fs.h"
1878struct file_system_type {
1879   char const   *name ;
1880   int fs_flags ;
1881   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
1882   void (*kill_sb)(struct super_block * ) ;
1883   struct module *owner ;
1884   struct file_system_type *next ;
1885   struct hlist_head fs_supers ;
1886   struct lock_class_key s_lock_key ;
1887   struct lock_class_key s_umount_key ;
1888   struct lock_class_key s_vfs_rename_key ;
1889   struct lock_class_key i_lock_key ;
1890   struct lock_class_key i_mutex_key ;
1891   struct lock_class_key i_mutex_dir_key ;
1892};
1893#line 2674 "include/linux/fs.h"
1894struct seq_file {
1895   char *buf ;
1896   size_t size ;
1897   size_t from ;
1898   size_t count ;
1899   loff_t index ;
1900   loff_t read_pos ;
1901   u64 version ;
1902   struct mutex lock ;
1903   struct seq_operations  const  *op ;
1904   int poll_event ;
1905   void *private ;
1906};
1907#line 30 "include/linux/seq_file.h"
1908struct seq_operations {
1909   void *(*start)(struct seq_file * , loff_t * ) ;
1910   void (*stop)(struct seq_file * , void * ) ;
1911   void *(*next)(struct seq_file * , void * , loff_t * ) ;
1912   int (*show)(struct seq_file * , void * ) ;
1913};
1914#line 158 "include/linux/seq_file.h"
1915struct debugfs_blob_wrapper {
1916   void *data ;
1917   unsigned long size ;
1918};
1919#line 55 "include/linux/sched.h"
1920union __anonunion_ldv_17990_146 {
1921   unsigned long index ;
1922   void *freelist ;
1923};
1924#line 55 "include/linux/sched.h"
1925struct __anonstruct_ldv_18000_150 {
1926   unsigned short inuse ;
1927   unsigned short objects : 15 ;
1928   unsigned char frozen : 1 ;
1929};
1930#line 55 "include/linux/sched.h"
1931union __anonunion_ldv_18001_149 {
1932   atomic_t _mapcount ;
1933   struct __anonstruct_ldv_18000_150 ldv_18000 ;
1934};
1935#line 55 "include/linux/sched.h"
1936struct __anonstruct_ldv_18003_148 {
1937   union __anonunion_ldv_18001_149 ldv_18001 ;
1938   atomic_t _count ;
1939};
1940#line 55 "include/linux/sched.h"
1941union __anonunion_ldv_18004_147 {
1942   unsigned long counters ;
1943   struct __anonstruct_ldv_18003_148 ldv_18003 ;
1944};
1945#line 55 "include/linux/sched.h"
1946struct __anonstruct_ldv_18005_145 {
1947   union __anonunion_ldv_17990_146 ldv_17990 ;
1948   union __anonunion_ldv_18004_147 ldv_18004 ;
1949};
1950#line 55 "include/linux/sched.h"
1951struct __anonstruct_ldv_18012_152 {
1952   struct page *next ;
1953   int pages ;
1954   int pobjects ;
1955};
1956#line 55 "include/linux/sched.h"
1957union __anonunion_ldv_18013_151 {
1958   struct list_head lru ;
1959   struct __anonstruct_ldv_18012_152 ldv_18012 ;
1960};
1961#line 55 "include/linux/sched.h"
1962union __anonunion_ldv_18018_153 {
1963   unsigned long private ;
1964   struct kmem_cache *slab ;
1965   struct page *first_page ;
1966};
1967#line 55 "include/linux/sched.h"
1968struct page {
1969   unsigned long flags ;
1970   struct address_space *mapping ;
1971   struct __anonstruct_ldv_18005_145 ldv_18005 ;
1972   union __anonunion_ldv_18013_151 ldv_18013 ;
1973   union __anonunion_ldv_18018_153 ldv_18018 ;
1974   unsigned long debug_flags ;
1975};
1976#line 192 "include/linux/mm_types.h"
1977struct __anonstruct_vm_set_155 {
1978   struct list_head list ;
1979   void *parent ;
1980   struct vm_area_struct *head ;
1981};
1982#line 192 "include/linux/mm_types.h"
1983union __anonunion_shared_154 {
1984   struct __anonstruct_vm_set_155 vm_set ;
1985   struct raw_prio_tree_node prio_tree_node ;
1986};
1987#line 192
1988struct anon_vma;
1989#line 192
1990struct vm_operations_struct;
1991#line 192
1992struct mempolicy;
1993#line 192 "include/linux/mm_types.h"
1994struct vm_area_struct {
1995   struct mm_struct *vm_mm ;
1996   unsigned long vm_start ;
1997   unsigned long vm_end ;
1998   struct vm_area_struct *vm_next ;
1999   struct vm_area_struct *vm_prev ;
2000   pgprot_t vm_page_prot ;
2001   unsigned long vm_flags ;
2002   struct rb_node vm_rb ;
2003   union __anonunion_shared_154 shared ;
2004   struct list_head anon_vma_chain ;
2005   struct anon_vma *anon_vma ;
2006   struct vm_operations_struct  const  *vm_ops ;
2007   unsigned long vm_pgoff ;
2008   struct file *vm_file ;
2009   void *vm_private_data ;
2010   struct mempolicy *vm_policy ;
2011};
2012#line 255 "include/linux/mm_types.h"
2013struct core_thread {
2014   struct task_struct *task ;
2015   struct core_thread *next ;
2016};
2017#line 261 "include/linux/mm_types.h"
2018struct core_state {
2019   atomic_t nr_threads ;
2020   struct core_thread dumper ;
2021   struct completion startup ;
2022};
2023#line 274 "include/linux/mm_types.h"
2024struct mm_rss_stat {
2025   atomic_long_t count[3U] ;
2026};
2027#line 287
2028struct linux_binfmt;
2029#line 287
2030struct mmu_notifier_mm;
2031#line 287 "include/linux/mm_types.h"
2032struct mm_struct {
2033   struct vm_area_struct *mmap ;
2034   struct rb_root mm_rb ;
2035   struct vm_area_struct *mmap_cache ;
2036   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
2037                                      unsigned long  , unsigned long  ) ;
2038   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
2039   unsigned long mmap_base ;
2040   unsigned long task_size ;
2041   unsigned long cached_hole_size ;
2042   unsigned long free_area_cache ;
2043   pgd_t *pgd ;
2044   atomic_t mm_users ;
2045   atomic_t mm_count ;
2046   int map_count ;
2047   spinlock_t page_table_lock ;
2048   struct rw_semaphore mmap_sem ;
2049   struct list_head mmlist ;
2050   unsigned long hiwater_rss ;
2051   unsigned long hiwater_vm ;
2052   unsigned long total_vm ;
2053   unsigned long locked_vm ;
2054   unsigned long pinned_vm ;
2055   unsigned long shared_vm ;
2056   unsigned long exec_vm ;
2057   unsigned long stack_vm ;
2058   unsigned long reserved_vm ;
2059   unsigned long def_flags ;
2060   unsigned long nr_ptes ;
2061   unsigned long start_code ;
2062   unsigned long end_code ;
2063   unsigned long start_data ;
2064   unsigned long end_data ;
2065   unsigned long start_brk ;
2066   unsigned long brk ;
2067   unsigned long start_stack ;
2068   unsigned long arg_start ;
2069   unsigned long arg_end ;
2070   unsigned long env_start ;
2071   unsigned long env_end ;
2072   unsigned long saved_auxv[44U] ;
2073   struct mm_rss_stat rss_stat ;
2074   struct linux_binfmt *binfmt ;
2075   cpumask_var_t cpu_vm_mask_var ;
2076   mm_context_t context ;
2077   unsigned int faultstamp ;
2078   unsigned int token_priority ;
2079   unsigned int last_interval ;
2080   unsigned long flags ;
2081   struct core_state *core_state ;
2082   spinlock_t ioctx_lock ;
2083   struct hlist_head ioctx_list ;
2084   struct task_struct *owner ;
2085   struct file *exe_file ;
2086   unsigned long num_exe_file_vmas ;
2087   struct mmu_notifier_mm *mmu_notifier_mm ;
2088   pgtable_t pmd_huge_pte ;
2089   struct cpumask cpumask_allocation ;
2090};
2091#line 7 "include/asm-generic/cputime.h"
2092typedef unsigned long cputime_t;
2093#line 98 "include/linux/sem.h"
2094struct sem_undo_list;
2095#line 98 "include/linux/sem.h"
2096struct sysv_sem {
2097   struct sem_undo_list *undo_list ;
2098};
2099#line 107
2100struct siginfo;
2101#line 107
2102struct siginfo;
2103#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2104struct __anonstruct_sigset_t_156 {
2105   unsigned long sig[1U] ;
2106};
2107#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2108typedef struct __anonstruct_sigset_t_156 sigset_t;
2109#line 17 "include/asm-generic/signal-defs.h"
2110typedef void __signalfn_t(int  );
2111#line 18 "include/asm-generic/signal-defs.h"
2112typedef __signalfn_t *__sighandler_t;
2113#line 20 "include/asm-generic/signal-defs.h"
2114typedef void __restorefn_t(void);
2115#line 21 "include/asm-generic/signal-defs.h"
2116typedef __restorefn_t *__sigrestore_t;
2117#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2118struct sigaction {
2119   __sighandler_t sa_handler ;
2120   unsigned long sa_flags ;
2121   __sigrestore_t sa_restorer ;
2122   sigset_t sa_mask ;
2123};
2124#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2125struct k_sigaction {
2126   struct sigaction sa ;
2127};
2128#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2129union sigval {
2130   int sival_int ;
2131   void *sival_ptr ;
2132};
2133#line 10 "include/asm-generic/siginfo.h"
2134typedef union sigval sigval_t;
2135#line 11 "include/asm-generic/siginfo.h"
2136struct __anonstruct__kill_158 {
2137   __kernel_pid_t _pid ;
2138   __kernel_uid32_t _uid ;
2139};
2140#line 11 "include/asm-generic/siginfo.h"
2141struct __anonstruct__timer_159 {
2142   __kernel_timer_t _tid ;
2143   int _overrun ;
2144   char _pad[0U] ;
2145   sigval_t _sigval ;
2146   int _sys_private ;
2147};
2148#line 11 "include/asm-generic/siginfo.h"
2149struct __anonstruct__rt_160 {
2150   __kernel_pid_t _pid ;
2151   __kernel_uid32_t _uid ;
2152   sigval_t _sigval ;
2153};
2154#line 11 "include/asm-generic/siginfo.h"
2155struct __anonstruct__sigchld_161 {
2156   __kernel_pid_t _pid ;
2157   __kernel_uid32_t _uid ;
2158   int _status ;
2159   __kernel_clock_t _utime ;
2160   __kernel_clock_t _stime ;
2161};
2162#line 11 "include/asm-generic/siginfo.h"
2163struct __anonstruct__sigfault_162 {
2164   void *_addr ;
2165   short _addr_lsb ;
2166};
2167#line 11 "include/asm-generic/siginfo.h"
2168struct __anonstruct__sigpoll_163 {
2169   long _band ;
2170   int _fd ;
2171};
2172#line 11 "include/asm-generic/siginfo.h"
2173union __anonunion__sifields_157 {
2174   int _pad[28U] ;
2175   struct __anonstruct__kill_158 _kill ;
2176   struct __anonstruct__timer_159 _timer ;
2177   struct __anonstruct__rt_160 _rt ;
2178   struct __anonstruct__sigchld_161 _sigchld ;
2179   struct __anonstruct__sigfault_162 _sigfault ;
2180   struct __anonstruct__sigpoll_163 _sigpoll ;
2181};
2182#line 11 "include/asm-generic/siginfo.h"
2183struct siginfo {
2184   int si_signo ;
2185   int si_errno ;
2186   int si_code ;
2187   union __anonunion__sifields_157 _sifields ;
2188};
2189#line 102 "include/asm-generic/siginfo.h"
2190typedef struct siginfo siginfo_t;
2191#line 14 "include/linux/signal.h"
2192struct user_struct;
2193#line 24 "include/linux/signal.h"
2194struct sigpending {
2195   struct list_head list ;
2196   sigset_t signal ;
2197};
2198#line 10 "include/linux/seccomp.h"
2199struct __anonstruct_seccomp_t_166 {
2200   int mode ;
2201};
2202#line 10 "include/linux/seccomp.h"
2203typedef struct __anonstruct_seccomp_t_166 seccomp_t;
2204#line 26 "include/linux/seccomp.h"
2205struct plist_head {
2206   struct list_head node_list ;
2207};
2208#line 84 "include/linux/plist.h"
2209struct plist_node {
2210   int prio ;
2211   struct list_head prio_list ;
2212   struct list_head node_list ;
2213};
2214#line 38 "include/linux/rtmutex.h"
2215struct rt_mutex_waiter;
2216#line 38
2217struct rt_mutex_waiter;
2218#line 41 "include/linux/resource.h"
2219struct rlimit {
2220   unsigned long rlim_cur ;
2221   unsigned long rlim_max ;
2222};
2223#line 85 "include/linux/resource.h"
2224struct timerqueue_node {
2225   struct rb_node node ;
2226   ktime_t expires ;
2227};
2228#line 12 "include/linux/timerqueue.h"
2229struct timerqueue_head {
2230   struct rb_root head ;
2231   struct timerqueue_node *next ;
2232};
2233#line 50
2234struct hrtimer_clock_base;
2235#line 50
2236struct hrtimer_clock_base;
2237#line 51
2238struct hrtimer_cpu_base;
2239#line 51
2240struct hrtimer_cpu_base;
2241#line 60
2242enum hrtimer_restart {
2243    HRTIMER_NORESTART = 0,
2244    HRTIMER_RESTART = 1
2245} ;
2246#line 65 "include/linux/timerqueue.h"
2247struct hrtimer {
2248   struct timerqueue_node node ;
2249   ktime_t _softexpires ;
2250   enum hrtimer_restart (*function)(struct hrtimer * ) ;
2251   struct hrtimer_clock_base *base ;
2252   unsigned long state ;
2253   int start_pid ;
2254   void *start_site ;
2255   char start_comm[16U] ;
2256};
2257#line 132 "include/linux/hrtimer.h"
2258struct hrtimer_clock_base {
2259   struct hrtimer_cpu_base *cpu_base ;
2260   int index ;
2261   clockid_t clockid ;
2262   struct timerqueue_head active ;
2263   ktime_t resolution ;
2264   ktime_t (*get_time)(void) ;
2265   ktime_t softirq_time ;
2266   ktime_t offset ;
2267};
2268#line 162 "include/linux/hrtimer.h"
2269struct hrtimer_cpu_base {
2270   raw_spinlock_t lock ;
2271   unsigned long active_bases ;
2272   ktime_t expires_next ;
2273   int hres_active ;
2274   int hang_detected ;
2275   unsigned long nr_events ;
2276   unsigned long nr_retries ;
2277   unsigned long nr_hangs ;
2278   ktime_t max_hang_time ;
2279   struct hrtimer_clock_base clock_base[3U] ;
2280};
2281#line 452 "include/linux/hrtimer.h"
2282struct task_io_accounting {
2283   u64 rchar ;
2284   u64 wchar ;
2285   u64 syscr ;
2286   u64 syscw ;
2287   u64 read_bytes ;
2288   u64 write_bytes ;
2289   u64 cancelled_write_bytes ;
2290};
2291#line 45 "include/linux/task_io_accounting.h"
2292struct latency_record {
2293   unsigned long backtrace[12U] ;
2294   unsigned int count ;
2295   unsigned long time ;
2296   unsigned long max ;
2297};
2298#line 29 "include/linux/key.h"
2299typedef int32_t key_serial_t;
2300#line 32 "include/linux/key.h"
2301typedef uint32_t key_perm_t;
2302#line 33
2303struct key;
2304#line 33
2305struct key;
2306#line 34
2307struct signal_struct;
2308#line 34
2309struct signal_struct;
2310#line 35
2311struct key_type;
2312#line 35
2313struct key_type;
2314#line 37
2315struct keyring_list;
2316#line 37
2317struct keyring_list;
2318#line 115
2319struct key_user;
2320#line 115 "include/linux/key.h"
2321union __anonunion_ldv_19057_167 {
2322   time_t expiry ;
2323   time_t revoked_at ;
2324};
2325#line 115 "include/linux/key.h"
2326union __anonunion_type_data_168 {
2327   struct list_head link ;
2328   unsigned long x[2U] ;
2329   void *p[2U] ;
2330   int reject_error ;
2331};
2332#line 115 "include/linux/key.h"
2333union __anonunion_payload_169 {
2334   unsigned long value ;
2335   void *rcudata ;
2336   void *data ;
2337   struct keyring_list *subscriptions ;
2338};
2339#line 115 "include/linux/key.h"
2340struct key {
2341   atomic_t usage ;
2342   key_serial_t serial ;
2343   struct rb_node serial_node ;
2344   struct key_type *type ;
2345   struct rw_semaphore sem ;
2346   struct key_user *user ;
2347   void *security ;
2348   union __anonunion_ldv_19057_167 ldv_19057 ;
2349   uid_t uid ;
2350   gid_t gid ;
2351   key_perm_t perm ;
2352   unsigned short quotalen ;
2353   unsigned short datalen ;
2354   unsigned long flags ;
2355   char *description ;
2356   union __anonunion_type_data_168 type_data ;
2357   union __anonunion_payload_169 payload ;
2358};
2359#line 316
2360struct audit_context;
2361#line 316
2362struct audit_context;
2363#line 27 "include/linux/selinux.h"
2364struct group_info {
2365   atomic_t usage ;
2366   int ngroups ;
2367   int nblocks ;
2368   gid_t small_block[32U] ;
2369   gid_t *blocks[0U] ;
2370};
2371#line 77 "include/linux/cred.h"
2372struct thread_group_cred {
2373   atomic_t usage ;
2374   pid_t tgid ;
2375   spinlock_t lock ;
2376   struct key *session_keyring ;
2377   struct key *process_keyring ;
2378   struct rcu_head rcu ;
2379};
2380#line 91 "include/linux/cred.h"
2381struct cred {
2382   atomic_t usage ;
2383   atomic_t subscribers ;
2384   void *put_addr ;
2385   unsigned int magic ;
2386   uid_t uid ;
2387   gid_t gid ;
2388   uid_t suid ;
2389   gid_t sgid ;
2390   uid_t euid ;
2391   gid_t egid ;
2392   uid_t fsuid ;
2393   gid_t fsgid ;
2394   unsigned int securebits ;
2395   kernel_cap_t cap_inheritable ;
2396   kernel_cap_t cap_permitted ;
2397   kernel_cap_t cap_effective ;
2398   kernel_cap_t cap_bset ;
2399   unsigned char jit_keyring ;
2400   struct key *thread_keyring ;
2401   struct key *request_key_auth ;
2402   struct thread_group_cred *tgcred ;
2403   void *security ;
2404   struct user_struct *user ;
2405   struct user_namespace *user_ns ;
2406   struct group_info *group_info ;
2407   struct rcu_head rcu ;
2408};
2409#line 264
2410struct llist_node;
2411#line 64 "include/linux/llist.h"
2412struct llist_node {
2413   struct llist_node *next ;
2414};
2415#line 185
2416struct futex_pi_state;
2417#line 185
2418struct futex_pi_state;
2419#line 186
2420struct robust_list_head;
2421#line 186
2422struct robust_list_head;
2423#line 187
2424struct bio_list;
2425#line 187
2426struct bio_list;
2427#line 188
2428struct fs_struct;
2429#line 188
2430struct fs_struct;
2431#line 189
2432struct perf_event_context;
2433#line 189
2434struct perf_event_context;
2435#line 190
2436struct blk_plug;
2437#line 190
2438struct blk_plug;
2439#line 149 "include/linux/sched.h"
2440struct cfs_rq;
2441#line 149
2442struct cfs_rq;
2443#line 44 "include/linux/aio_abi.h"
2444struct io_event {
2445   __u64 data ;
2446   __u64 obj ;
2447   __s64 res ;
2448   __s64 res2 ;
2449};
2450#line 106 "include/linux/aio_abi.h"
2451struct iovec {
2452   void *iov_base ;
2453   __kernel_size_t iov_len ;
2454};
2455#line 54 "include/linux/uio.h"
2456struct kioctx;
2457#line 54
2458struct kioctx;
2459#line 55 "include/linux/uio.h"
2460union __anonunion_ki_obj_170 {
2461   void *user ;
2462   struct task_struct *tsk ;
2463};
2464#line 55
2465struct eventfd_ctx;
2466#line 55 "include/linux/uio.h"
2467struct kiocb {
2468   struct list_head ki_run_list ;
2469   unsigned long ki_flags ;
2470   int ki_users ;
2471   unsigned int ki_key ;
2472   struct file *ki_filp ;
2473   struct kioctx *ki_ctx ;
2474   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2475   ssize_t (*ki_retry)(struct kiocb * ) ;
2476   void (*ki_dtor)(struct kiocb * ) ;
2477   union __anonunion_ki_obj_170 ki_obj ;
2478   __u64 ki_user_data ;
2479   loff_t ki_pos ;
2480   void *private ;
2481   unsigned short ki_opcode ;
2482   size_t ki_nbytes ;
2483   char *ki_buf ;
2484   size_t ki_left ;
2485   struct iovec ki_inline_vec ;
2486   struct iovec *ki_iovec ;
2487   unsigned long ki_nr_segs ;
2488   unsigned long ki_cur_seg ;
2489   struct list_head ki_list ;
2490   struct list_head ki_batch ;
2491   struct eventfd_ctx *ki_eventfd ;
2492};
2493#line 162 "include/linux/aio.h"
2494struct aio_ring_info {
2495   unsigned long mmap_base ;
2496   unsigned long mmap_size ;
2497   struct page **ring_pages ;
2498   spinlock_t ring_lock ;
2499   long nr_pages ;
2500   unsigned int nr ;
2501   unsigned int tail ;
2502   struct page *internal_pages[8U] ;
2503};
2504#line 178 "include/linux/aio.h"
2505struct kioctx {
2506   atomic_t users ;
2507   int dead ;
2508   struct mm_struct *mm ;
2509   unsigned long user_id ;
2510   struct hlist_node list ;
2511   wait_queue_head_t wait ;
2512   spinlock_t ctx_lock ;
2513   int reqs_active ;
2514   struct list_head active_reqs ;
2515   struct list_head run_list ;
2516   unsigned int max_reqs ;
2517   struct aio_ring_info ring_info ;
2518   struct delayed_work wq ;
2519   struct rcu_head rcu_head ;
2520};
2521#line 406 "include/linux/sched.h"
2522struct sighand_struct {
2523   atomic_t count ;
2524   struct k_sigaction action[64U] ;
2525   spinlock_t siglock ;
2526   wait_queue_head_t signalfd_wqh ;
2527};
2528#line 449 "include/linux/sched.h"
2529struct pacct_struct {
2530   int ac_flag ;
2531   long ac_exitcode ;
2532   unsigned long ac_mem ;
2533   cputime_t ac_utime ;
2534   cputime_t ac_stime ;
2535   unsigned long ac_minflt ;
2536   unsigned long ac_majflt ;
2537};
2538#line 457 "include/linux/sched.h"
2539struct cpu_itimer {
2540   cputime_t expires ;
2541   cputime_t incr ;
2542   u32 error ;
2543   u32 incr_error ;
2544};
2545#line 464 "include/linux/sched.h"
2546struct task_cputime {
2547   cputime_t utime ;
2548   cputime_t stime ;
2549   unsigned long long sum_exec_runtime ;
2550};
2551#line 481 "include/linux/sched.h"
2552struct thread_group_cputimer {
2553   struct task_cputime cputime ;
2554   int running ;
2555   raw_spinlock_t lock ;
2556};
2557#line 517
2558struct autogroup;
2559#line 517
2560struct autogroup;
2561#line 518
2562struct tty_struct;
2563#line 518
2564struct taskstats;
2565#line 518
2566struct tty_audit_buf;
2567#line 518 "include/linux/sched.h"
2568struct signal_struct {
2569   atomic_t sigcnt ;
2570   atomic_t live ;
2571   int nr_threads ;
2572   wait_queue_head_t wait_chldexit ;
2573   struct task_struct *curr_target ;
2574   struct sigpending shared_pending ;
2575   int group_exit_code ;
2576   int notify_count ;
2577   struct task_struct *group_exit_task ;
2578   int group_stop_count ;
2579   unsigned int flags ;
2580   unsigned char is_child_subreaper : 1 ;
2581   unsigned char has_child_subreaper : 1 ;
2582   struct list_head posix_timers ;
2583   struct hrtimer real_timer ;
2584   struct pid *leader_pid ;
2585   ktime_t it_real_incr ;
2586   struct cpu_itimer it[2U] ;
2587   struct thread_group_cputimer cputimer ;
2588   struct task_cputime cputime_expires ;
2589   struct list_head cpu_timers[3U] ;
2590   struct pid *tty_old_pgrp ;
2591   int leader ;
2592   struct tty_struct *tty ;
2593   struct autogroup *autogroup ;
2594   cputime_t utime ;
2595   cputime_t stime ;
2596   cputime_t cutime ;
2597   cputime_t cstime ;
2598   cputime_t gtime ;
2599   cputime_t cgtime ;
2600   cputime_t prev_utime ;
2601   cputime_t prev_stime ;
2602   unsigned long nvcsw ;
2603   unsigned long nivcsw ;
2604   unsigned long cnvcsw ;
2605   unsigned long cnivcsw ;
2606   unsigned long min_flt ;
2607   unsigned long maj_flt ;
2608   unsigned long cmin_flt ;
2609   unsigned long cmaj_flt ;
2610   unsigned long inblock ;
2611   unsigned long oublock ;
2612   unsigned long cinblock ;
2613   unsigned long coublock ;
2614   unsigned long maxrss ;
2615   unsigned long cmaxrss ;
2616   struct task_io_accounting ioac ;
2617   unsigned long long sum_sched_runtime ;
2618   struct rlimit rlim[16U] ;
2619   struct pacct_struct pacct ;
2620   struct taskstats *stats ;
2621   unsigned int audit_tty ;
2622   struct tty_audit_buf *tty_audit_buf ;
2623   struct rw_semaphore group_rwsem ;
2624   int oom_adj ;
2625   int oom_score_adj ;
2626   int oom_score_adj_min ;
2627   struct mutex cred_guard_mutex ;
2628};
2629#line 699 "include/linux/sched.h"
2630struct user_struct {
2631   atomic_t __count ;
2632   atomic_t processes ;
2633   atomic_t files ;
2634   atomic_t sigpending ;
2635   atomic_t inotify_watches ;
2636   atomic_t inotify_devs ;
2637   atomic_t fanotify_listeners ;
2638   atomic_long_t epoll_watches ;
2639   unsigned long mq_bytes ;
2640   unsigned long locked_shm ;
2641   struct key *uid_keyring ;
2642   struct key *session_keyring ;
2643   struct hlist_node uidhash_node ;
2644   uid_t uid ;
2645   struct user_namespace *user_ns ;
2646   atomic_long_t locked_vm ;
2647};
2648#line 744
2649struct reclaim_state;
2650#line 744
2651struct reclaim_state;
2652#line 745 "include/linux/sched.h"
2653struct sched_info {
2654   unsigned long pcount ;
2655   unsigned long long run_delay ;
2656   unsigned long long last_arrival ;
2657   unsigned long long last_queued ;
2658};
2659#line 760 "include/linux/sched.h"
2660struct task_delay_info {
2661   spinlock_t lock ;
2662   unsigned int flags ;
2663   struct timespec blkio_start ;
2664   struct timespec blkio_end ;
2665   u64 blkio_delay ;
2666   u64 swapin_delay ;
2667   u32 blkio_count ;
2668   u32 swapin_count ;
2669   struct timespec freepages_start ;
2670   struct timespec freepages_end ;
2671   u64 freepages_delay ;
2672   u32 freepages_count ;
2673};
2674#line 1069
2675struct io_context;
2676#line 1069
2677struct io_context;
2678#line 1098
2679struct rq;
2680#line 1098
2681struct rq;
2682#line 1099 "include/linux/sched.h"
2683struct sched_class {
2684   struct sched_class  const  *next ;
2685   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2686   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2687   void (*yield_task)(struct rq * ) ;
2688   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2689   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2690   struct task_struct *(*pick_next_task)(struct rq * ) ;
2691   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2692   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2693   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2694   void (*post_schedule)(struct rq * ) ;
2695   void (*task_waking)(struct task_struct * ) ;
2696   void (*task_woken)(struct rq * , struct task_struct * ) ;
2697   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2698   void (*rq_online)(struct rq * ) ;
2699   void (*rq_offline)(struct rq * ) ;
2700   void (*set_curr_task)(struct rq * ) ;
2701   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2702   void (*task_fork)(struct task_struct * ) ;
2703   void (*switched_from)(struct rq * , struct task_struct * ) ;
2704   void (*switched_to)(struct rq * , struct task_struct * ) ;
2705   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2706   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2707   void (*task_move_group)(struct task_struct * , int  ) ;
2708};
2709#line 1165 "include/linux/sched.h"
2710struct load_weight {
2711   unsigned long weight ;
2712   unsigned long inv_weight ;
2713};
2714#line 1170 "include/linux/sched.h"
2715struct sched_statistics {
2716   u64 wait_start ;
2717   u64 wait_max ;
2718   u64 wait_count ;
2719   u64 wait_sum ;
2720   u64 iowait_count ;
2721   u64 iowait_sum ;
2722   u64 sleep_start ;
2723   u64 sleep_max ;
2724   s64 sum_sleep_runtime ;
2725   u64 block_start ;
2726   u64 block_max ;
2727   u64 exec_max ;
2728   u64 slice_max ;
2729   u64 nr_migrations_cold ;
2730   u64 nr_failed_migrations_affine ;
2731   u64 nr_failed_migrations_running ;
2732   u64 nr_failed_migrations_hot ;
2733   u64 nr_forced_migrations ;
2734   u64 nr_wakeups ;
2735   u64 nr_wakeups_sync ;
2736   u64 nr_wakeups_migrate ;
2737   u64 nr_wakeups_local ;
2738   u64 nr_wakeups_remote ;
2739   u64 nr_wakeups_affine ;
2740   u64 nr_wakeups_affine_attempts ;
2741   u64 nr_wakeups_passive ;
2742   u64 nr_wakeups_idle ;
2743};
2744#line 1205 "include/linux/sched.h"
2745struct sched_entity {
2746   struct load_weight load ;
2747   struct rb_node run_node ;
2748   struct list_head group_node ;
2749   unsigned int on_rq ;
2750   u64 exec_start ;
2751   u64 sum_exec_runtime ;
2752   u64 vruntime ;
2753   u64 prev_sum_exec_runtime ;
2754   u64 nr_migrations ;
2755   struct sched_statistics statistics ;
2756   struct sched_entity *parent ;
2757   struct cfs_rq *cfs_rq ;
2758   struct cfs_rq *my_q ;
2759};
2760#line 1231
2761struct rt_rq;
2762#line 1231 "include/linux/sched.h"
2763struct sched_rt_entity {
2764   struct list_head run_list ;
2765   unsigned long timeout ;
2766   unsigned int time_slice ;
2767   int nr_cpus_allowed ;
2768   struct sched_rt_entity *back ;
2769   struct sched_rt_entity *parent ;
2770   struct rt_rq *rt_rq ;
2771   struct rt_rq *my_q ;
2772};
2773#line 1255
2774struct mem_cgroup;
2775#line 1255 "include/linux/sched.h"
2776struct memcg_batch_info {
2777   int do_batch ;
2778   struct mem_cgroup *memcg ;
2779   unsigned long nr_pages ;
2780   unsigned long memsw_nr_pages ;
2781};
2782#line 1616
2783struct css_set;
2784#line 1616
2785struct compat_robust_list_head;
2786#line 1616 "include/linux/sched.h"
2787struct task_struct {
2788   long volatile   state ;
2789   void *stack ;
2790   atomic_t usage ;
2791   unsigned int flags ;
2792   unsigned int ptrace ;
2793   struct llist_node wake_entry ;
2794   int on_cpu ;
2795   int on_rq ;
2796   int prio ;
2797   int static_prio ;
2798   int normal_prio ;
2799   unsigned int rt_priority ;
2800   struct sched_class  const  *sched_class ;
2801   struct sched_entity se ;
2802   struct sched_rt_entity rt ;
2803   struct hlist_head preempt_notifiers ;
2804   unsigned char fpu_counter ;
2805   unsigned int policy ;
2806   cpumask_t cpus_allowed ;
2807   struct sched_info sched_info ;
2808   struct list_head tasks ;
2809   struct plist_node pushable_tasks ;
2810   struct mm_struct *mm ;
2811   struct mm_struct *active_mm ;
2812   unsigned char brk_randomized : 1 ;
2813   int exit_state ;
2814   int exit_code ;
2815   int exit_signal ;
2816   int pdeath_signal ;
2817   unsigned int jobctl ;
2818   unsigned int personality ;
2819   unsigned char did_exec : 1 ;
2820   unsigned char in_execve : 1 ;
2821   unsigned char in_iowait : 1 ;
2822   unsigned char sched_reset_on_fork : 1 ;
2823   unsigned char sched_contributes_to_load : 1 ;
2824   unsigned char irq_thread : 1 ;
2825   pid_t pid ;
2826   pid_t tgid ;
2827   unsigned long stack_canary ;
2828   struct task_struct *real_parent ;
2829   struct task_struct *parent ;
2830   struct list_head children ;
2831   struct list_head sibling ;
2832   struct task_struct *group_leader ;
2833   struct list_head ptraced ;
2834   struct list_head ptrace_entry ;
2835   struct pid_link pids[3U] ;
2836   struct list_head thread_group ;
2837   struct completion *vfork_done ;
2838   int *set_child_tid ;
2839   int *clear_child_tid ;
2840   cputime_t utime ;
2841   cputime_t stime ;
2842   cputime_t utimescaled ;
2843   cputime_t stimescaled ;
2844   cputime_t gtime ;
2845   cputime_t prev_utime ;
2846   cputime_t prev_stime ;
2847   unsigned long nvcsw ;
2848   unsigned long nivcsw ;
2849   struct timespec start_time ;
2850   struct timespec real_start_time ;
2851   unsigned long min_flt ;
2852   unsigned long maj_flt ;
2853   struct task_cputime cputime_expires ;
2854   struct list_head cpu_timers[3U] ;
2855   struct cred  const  *real_cred ;
2856   struct cred  const  *cred ;
2857   struct cred *replacement_session_keyring ;
2858   char comm[16U] ;
2859   int link_count ;
2860   int total_link_count ;
2861   struct sysv_sem sysvsem ;
2862   unsigned long last_switch_count ;
2863   struct thread_struct thread ;
2864   struct fs_struct *fs ;
2865   struct files_struct *files ;
2866   struct nsproxy *nsproxy ;
2867   struct signal_struct *signal ;
2868   struct sighand_struct *sighand ;
2869   sigset_t blocked ;
2870   sigset_t real_blocked ;
2871   sigset_t saved_sigmask ;
2872   struct sigpending pending ;
2873   unsigned long sas_ss_sp ;
2874   size_t sas_ss_size ;
2875   int (*notifier)(void * ) ;
2876   void *notifier_data ;
2877   sigset_t *notifier_mask ;
2878   struct audit_context *audit_context ;
2879   uid_t loginuid ;
2880   unsigned int sessionid ;
2881   seccomp_t seccomp ;
2882   u32 parent_exec_id ;
2883   u32 self_exec_id ;
2884   spinlock_t alloc_lock ;
2885   raw_spinlock_t pi_lock ;
2886   struct plist_head pi_waiters ;
2887   struct rt_mutex_waiter *pi_blocked_on ;
2888   struct mutex_waiter *blocked_on ;
2889   unsigned int irq_events ;
2890   unsigned long hardirq_enable_ip ;
2891   unsigned long hardirq_disable_ip ;
2892   unsigned int hardirq_enable_event ;
2893   unsigned int hardirq_disable_event ;
2894   int hardirqs_enabled ;
2895   int hardirq_context ;
2896   unsigned long softirq_disable_ip ;
2897   unsigned long softirq_enable_ip ;
2898   unsigned int softirq_disable_event ;
2899   unsigned int softirq_enable_event ;
2900   int softirqs_enabled ;
2901   int softirq_context ;
2902   u64 curr_chain_key ;
2903   int lockdep_depth ;
2904   unsigned int lockdep_recursion ;
2905   struct held_lock held_locks[48U] ;
2906   gfp_t lockdep_reclaim_gfp ;
2907   void *journal_info ;
2908   struct bio_list *bio_list ;
2909   struct blk_plug *plug ;
2910   struct reclaim_state *reclaim_state ;
2911   struct backing_dev_info *backing_dev_info ;
2912   struct io_context *io_context ;
2913   unsigned long ptrace_message ;
2914   siginfo_t *last_siginfo ;
2915   struct task_io_accounting ioac ;
2916   u64 acct_rss_mem1 ;
2917   u64 acct_vm_mem1 ;
2918   cputime_t acct_timexpd ;
2919   nodemask_t mems_allowed ;
2920   seqcount_t mems_allowed_seq ;
2921   int cpuset_mem_spread_rotor ;
2922   int cpuset_slab_spread_rotor ;
2923   struct css_set *cgroups ;
2924   struct list_head cg_list ;
2925   struct robust_list_head *robust_list ;
2926   struct compat_robust_list_head *compat_robust_list ;
2927   struct list_head pi_state_list ;
2928   struct futex_pi_state *pi_state_cache ;
2929   struct perf_event_context *perf_event_ctxp[2U] ;
2930   struct mutex perf_event_mutex ;
2931   struct list_head perf_event_list ;
2932   struct mempolicy *mempolicy ;
2933   short il_next ;
2934   short pref_node_fork ;
2935   struct rcu_head rcu ;
2936   struct pipe_inode_info *splice_pipe ;
2937   struct task_delay_info *delays ;
2938   int make_it_fail ;
2939   int nr_dirtied ;
2940   int nr_dirtied_pause ;
2941   unsigned long dirty_paused_when ;
2942   int latency_record_count ;
2943   struct latency_record latency_record[32U] ;
2944   unsigned long timer_slack_ns ;
2945   unsigned long default_timer_slack_ns ;
2946   struct list_head *scm_work_list ;
2947   unsigned long trace ;
2948   unsigned long trace_recursion ;
2949   struct memcg_batch_info memcg_batch ;
2950   atomic_t ptrace_bp_refcnt ;
2951};
2952#line 161 "include/acpi/actypes.h"
2953typedef u64 acpi_size;
2954#line 163 "include/acpi/actypes.h"
2955typedef u64 acpi_physical_address;
2956#line 371 "include/acpi/actypes.h"
2957typedef u32 acpi_status;
2958#line 373 "include/acpi/actypes.h"
2959typedef char *acpi_string;
2960#line 143 "include/acpi/platform/aclinux.h"
2961struct acpi_table_header {
2962   char signature[4U] ;
2963   u32 length ;
2964   u8 revision ;
2965   u8 checksum ;
2966   char oem_id[6U] ;
2967   char oem_table_id[8U] ;
2968   u32 oem_revision ;
2969   char asl_compiler_id[4U] ;
2970   u32 asl_compiler_revision ;
2971};
2972#line 105 "include/acpi/actbl.h"
2973struct acpi_generic_address {
2974   u8 space_id ;
2975   u8 bit_width ;
2976   u8 bit_offset ;
2977   u8 access_width ;
2978   u64 address ;
2979};
2980#line 99 "include/acpi/actbl1.h"
2981struct acpi_whea_header {
2982   u8 action ;
2983   u8 instruction ;
2984   u8 flags ;
2985   u8 reserved ;
2986   struct acpi_generic_address register_region ;
2987   u64 value ;
2988   u64 mask ;
2989};
2990#line 194 "include/acpi/actbl1.h"
2991struct acpi_table_einj {
2992   struct acpi_table_header header ;
2993   u32 header_length ;
2994   u8 flags ;
2995   u8 reserved[3U] ;
2996   u32 entries ;
2997};
2998#line 266 "include/acpi/actbl1.h"
2999struct acpi_einj_trigger {
3000   u32 header_size ;
3001   u32 revision ;
3002   u32 table_size ;
3003   u32 entry_count ;
3004};
3005#line 392 "include/linux/cper.h"
3006struct apei_exec_context;
3007#line 392
3008struct apei_exec_context;
3009#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3010struct apei_exec_ins_type {
3011   u32 flags ;
3012   int (*run)(struct apei_exec_context * , struct acpi_whea_header * ) ;
3013};
3014#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3015struct apei_exec_context {
3016   u32 ip ;
3017   u64 value ;
3018   u64 var1 ;
3019   u64 var2 ;
3020   u64 src_base ;
3021   u64 dst_base ;
3022   struct apei_exec_ins_type *ins_table ;
3023   u32 instructions ;
3024   struct acpi_whea_header *action_table ;
3025   u32 entries ;
3026};
3027#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3028struct apei_resources {
3029   struct list_head iomem ;
3030   struct list_head ioport ;
3031};
3032#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3033struct set_error_type_with_address {
3034   u32 type ;
3035   u32 vendor_extension ;
3036   u32 flags ;
3037   u32 apicid ;
3038   u64 memory_address ;
3039   u64 memory_address_range ;
3040   u32 pcie_sbdf ;
3041};
3042#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3043struct vendor_error_type_extension {
3044   u32 length ;
3045   u32 pcie_sbdf ;
3046   u16 vendor_id ;
3047   u16 device_id ;
3048   u8 rev_id ;
3049   u8 reserved[3U] ;
3050};
3051#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3052struct einj_parameter {
3053   u64 type ;
3054   u64 reserved1 ;
3055   u64 reserved2 ;
3056   u64 param1 ;
3057   u64 param2 ;
3058};
3059#line 1 "<compiler builtins>"
3060
3061#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3062void ldv_spin_lock(void) ;
3063#line 3
3064void ldv_spin_unlock(void) ;
3065#line 4
3066int ldv_spin_trylock(void) ;
3067#line 101 "include/linux/printk.h"
3068extern int printk(char const   *  , ...) ;
3069#line 320 "include/linux/kernel.h"
3070extern int sprintf(char * , char const   *  , ...) ;
3071#line 24 "include/linux/list.h"
3072__inline static void INIT_LIST_HEAD(struct list_head *list ) 
3073{ unsigned long __cil_tmp2 ;
3074  unsigned long __cil_tmp3 ;
3075
3076  {
3077#line 26
3078  *((struct list_head **)list) = list;
3079#line 27
3080  __cil_tmp2 = (unsigned long )list;
3081#line 27
3082  __cil_tmp3 = __cil_tmp2 + 8;
3083#line 27
3084  *((struct list_head **)__cil_tmp3) = list;
3085#line 28
3086  return;
3087}
3088}
3089#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3090extern void *__memcpy(void * , void const   * , size_t  ) ;
3091#line 61
3092extern size_t strlen(char const   * ) ;
3093#line 134 "include/linux/mutex.h"
3094extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
3095#line 169
3096extern void mutex_unlock(struct mutex * ) ;
3097#line 138 "include/linux/ioport.h"
3098extern struct resource iomem_resource ;
3099#line 181
3100extern struct resource *__request_region(struct resource * , resource_size_t  , resource_size_t  ,
3101                                         char const   * , int  ) ;
3102#line 192
3103extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
3104#line 175 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3105extern void *ioremap_cache(resource_size_t  , unsigned long  ) ;
3106#line 187
3107extern void iounmap(void volatile   * ) ;
3108#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/acpi.h"
3109extern int acpi_disabled ;
3110#line 26 "include/linux/export.h"
3111extern struct module __this_module ;
3112#line 220 "include/linux/slub_def.h"
3113extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
3114#line 223
3115void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3116#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3117void ldv_check_alloc_flags(gfp_t flags ) ;
3118#line 12
3119void ldv_check_alloc_nonatomic(void) ;
3120#line 14
3121struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
3122#line 2403 "include/linux/fs.h"
3123extern loff_t generic_file_llseek(struct file * , loff_t  , int  ) ;
3124#line 2634 "include/linux/fs.h"
3125__inline static void __simple_attr_check_format(char const   *fmt  , ...) 
3126{ 
3127
3128  {
3129#line 2636
3130  return;
3131}
3132}
3133#line 2639
3134extern int simple_attr_open(struct inode * , struct file * , int (*)(void * , u64 * ) ,
3135                            int (*)(void * , u64  ) , char const   * ) ;
3136#line 2642
3137extern int simple_attr_release(struct inode * , struct file * ) ;
3138#line 2643
3139extern ssize_t simple_attr_read(struct file * , char * , size_t  , loff_t * ) ;
3140#line 2645
3141extern ssize_t simple_attr_write(struct file * , char const   * , size_t  , loff_t * ) ;
3142#line 80 "include/linux/seq_file.h"
3143extern ssize_t seq_read(struct file * , char * , size_t  , loff_t * ) ;
3144#line 81
3145extern loff_t seq_lseek(struct file * , loff_t  , int  ) ;
3146#line 88
3147extern int seq_printf(struct seq_file * , char const   *  , ...) ;
3148#line 120
3149extern int single_open(struct file * , int (*)(struct seq_file * , void * ) , void * ) ;
3150#line 121
3151extern int single_release(struct inode * , struct file * ) ;
3152#line 49 "include/linux/debugfs.h"
3153extern struct dentry *debugfs_create_file(char const   * , umode_t  , struct dentry * ,
3154                                          void * , struct file_operations  const  * ) ;
3155#line 53
3156extern struct dentry *debugfs_create_dir(char const   * , struct dentry * ) ;
3157#line 59
3158extern void debugfs_remove_recursive(struct dentry * ) ;
3159#line 76
3160extern struct dentry *debugfs_create_x32(char const   * , umode_t  , struct dentry * ,
3161                                         u32 * ) ;
3162#line 78
3163extern struct dentry *debugfs_create_x64(char const   * , umode_t  , struct dentry * ,
3164                                         u64 * ) ;
3165#line 85
3166extern struct dentry *debugfs_create_blob(char const   * , umode_t  , struct dentry * ,
3167                                          struct debugfs_blob_wrapper * ) ;
3168#line 19 "include/linux/nmi.h"
3169extern void touch_nmi_watchdog(void) ;
3170#line 10 "include/asm-generic/delay.h"
3171extern void __const_udelay(unsigned long  ) ;
3172#line 152 "include/acpi/acpiosxf.h"
3173extern void *acpi_os_map_memory(acpi_physical_address  , acpi_size  ) ;
3174#line 155
3175extern void acpi_os_unmap_memory(void * , acpi_size  ) ;
3176#line 134 "include/acpi/acpixf.h"
3177extern char const   *acpi_format_exception(acpi_status  ) ;
3178#line 179
3179extern acpi_status acpi_get_table(acpi_string  , u32  , struct acpi_table_header ** ) ;
3180#line 36 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3181extern void apei_exec_ctx_init(struct apei_exec_context * , struct apei_exec_ins_type * ,
3182                               u32  , struct acpi_whea_header * , u32  ) ;
3183#line 42 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3184__inline static void apei_exec_ctx_set_input(struct apei_exec_context *ctx , u64 input ) 
3185{ unsigned long __cil_tmp3 ;
3186  unsigned long __cil_tmp4 ;
3187
3188  {
3189#line 45
3190  __cil_tmp3 = (unsigned long )ctx;
3191#line 45
3192  __cil_tmp4 = __cil_tmp3 + 8;
3193#line 45
3194  *((u64 *)__cil_tmp4) = input;
3195#line 46
3196  return;
3197}
3198}
3199#line 48 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3200__inline static u64 apei_exec_ctx_get_output(struct apei_exec_context *ctx ) 
3201{ unsigned long __cil_tmp2 ;
3202  unsigned long __cil_tmp3 ;
3203
3204  {
3205  {
3206#line 50
3207  __cil_tmp2 = (unsigned long )ctx;
3208#line 50
3209  __cil_tmp3 = __cil_tmp2 + 8;
3210#line 50
3211  return (*((u64 *)__cil_tmp3));
3212  }
3213}
3214}
3215#line 53
3216extern int __apei_exec_run(struct apei_exec_context * , u8  , bool  ) ;
3217#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3218__inline static int apei_exec_run(struct apei_exec_context *ctx , u8 action ) 
3219{ int tmp ;
3220  int __cil_tmp4 ;
3221  u8 __cil_tmp5 ;
3222  bool __cil_tmp6 ;
3223
3224  {
3225  {
3226#line 57
3227  __cil_tmp4 = (int )action;
3228#line 57
3229  __cil_tmp5 = (u8 )__cil_tmp4;
3230#line 57
3231  __cil_tmp6 = (bool )0;
3232#line 57
3233  tmp = __apei_exec_run(ctx, __cil_tmp5, __cil_tmp6);
3234  }
3235#line 57
3236  return (tmp);
3237}
3238}
3239#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3240__inline static int apei_exec_run_optional(struct apei_exec_context *ctx , u8 action ) 
3241{ int tmp ;
3242  int __cil_tmp4 ;
3243  u8 __cil_tmp5 ;
3244  bool __cil_tmp6 ;
3245
3246  {
3247  {
3248#line 63
3249  __cil_tmp4 = (int )action;
3250#line 63
3251  __cil_tmp5 = (u8 )__cil_tmp4;
3252#line 63
3253  __cil_tmp6 = (bool )1;
3254#line 63
3255  tmp = __apei_exec_run(ctx, __cil_tmp5, __cil_tmp6);
3256  }
3257#line 63
3258  return (tmp);
3259}
3260}
3261#line 76
3262extern int apei_exec_read_register(struct apei_exec_context * , struct acpi_whea_header * ) ;
3263#line 78
3264extern int apei_exec_read_register_value(struct apei_exec_context * , struct acpi_whea_header * ) ;
3265#line 80
3266extern int apei_exec_write_register(struct apei_exec_context * , struct acpi_whea_header * ) ;
3267#line 82
3268extern int apei_exec_write_register_value(struct apei_exec_context * , struct acpi_whea_header * ) ;
3269#line 84
3270extern int apei_exec_noop(struct apei_exec_context * , struct acpi_whea_header * ) ;
3271#line 86
3272extern int apei_exec_pre_map_gars(struct apei_exec_context * ) ;
3273#line 87
3274extern int apei_exec_post_unmap_gars(struct apei_exec_context * ) ;
3275#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/acpi/apei/apei-internal.h"
3276__inline static void apei_resources_init(struct apei_resources *resources ) 
3277{ struct list_head *__cil_tmp2 ;
3278  unsigned long __cil_tmp3 ;
3279  unsigned long __cil_tmp4 ;
3280  struct list_head *__cil_tmp5 ;
3281
3282  {
3283  {
3284#line 96
3285  __cil_tmp2 = (struct list_head *)resources;
3286#line 96
3287  INIT_LIST_HEAD(__cil_tmp2);
3288#line 97
3289  __cil_tmp3 = (unsigned long )resources;
3290#line 97
3291  __cil_tmp4 = __cil_tmp3 + 16;
3292#line 97
3293  __cil_tmp5 = (struct list_head *)__cil_tmp4;
3294#line 97
3295  INIT_LIST_HEAD(__cil_tmp5);
3296  }
3297#line 98
3298  return;
3299}
3300}
3301#line 100
3302extern void apei_resources_fini(struct apei_resources * ) ;
3303#line 101
3304extern int apei_resources_add(struct apei_resources * , unsigned long  , unsigned long  ,
3305                              bool  ) ;
3306#line 104
3307extern int apei_resources_sub(struct apei_resources * , struct apei_resources * ) ;
3308#line 106
3309extern int apei_resources_request(struct apei_resources * , char const   * ) ;
3310#line 108
3311extern void apei_resources_release(struct apei_resources * ) ;
3312#line 109
3313extern int apei_exec_collect_resources(struct apei_exec_context * , struct apei_resources * ) ;
3314#line 113
3315extern struct dentry *apei_get_debugfs_dir(void) ;
3316#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3317static int acpi5  ;
3318#line 92 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3319static u32 notrigger  ;
3320#line 94 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3321static u32 vendor_flags  ;
3322#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3323static struct debugfs_blob_wrapper vendor_blob  ;
3324#line 96 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3325static char vendor_dev[64U]  ;
3326#line 122 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3327static bool param_extension  ;
3328#line 125 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3329static struct acpi_table_einj *einj_tab  ;
3330#line 127 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3331static struct apei_resources einj_resources  ;
3332#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3333static struct apei_exec_ins_type einj_ins_type[5U]  = {      {1U, & apei_exec_read_register}, 
3334        {1U, & apei_exec_read_register_value}, 
3335        {1U, & apei_exec_write_register}, 
3336        {1U, & apei_exec_write_register_value}, 
3337        {0U, & apei_exec_noop}};
3338#line 157 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3339static struct mutex einj_mutex  =    {{1}, {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
3340                                                                             {(struct lock_class *)0,
3341                                                                              (struct lock_class *)0},
3342                                                                             "einj_mutex.wait_lock",
3343                                                                             0, 0UL}}}},
3344    {& einj_mutex.wait_list, & einj_mutex.wait_list}, (struct task_struct *)0, (char const   *)0,
3345    (void *)(& einj_mutex), {(struct lock_class_key *)0, {(struct lock_class *)0,
3346                                                          (struct lock_class *)0},
3347                             "einj_mutex", 0, 0UL}};
3348#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3349static void *einj_param  ;
3350#line 161 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3351static void einj_exec_ctx_init(struct apei_exec_context *ctx ) 
3352{ struct apei_exec_ins_type *__cil_tmp2 ;
3353  struct acpi_table_einj **__cil_tmp3 ;
3354  struct acpi_table_einj *__cil_tmp4 ;
3355  struct acpi_whea_header *__cil_tmp5 ;
3356  struct acpi_whea_header *__cil_tmp6 ;
3357  struct acpi_table_einj **__cil_tmp7 ;
3358  struct acpi_table_einj *__cil_tmp8 ;
3359  unsigned long __cil_tmp9 ;
3360  unsigned long __cil_tmp10 ;
3361  u32 __cil_tmp11 ;
3362
3363  {
3364  {
3365#line 163
3366  __cil_tmp2 = (struct apei_exec_ins_type *)(& einj_ins_type);
3367#line 163
3368  __cil_tmp3 = & einj_tab;
3369#line 163
3370  __cil_tmp4 = *__cil_tmp3;
3371#line 163
3372  __cil_tmp5 = (struct acpi_whea_header *)__cil_tmp4;
3373#line 163
3374  __cil_tmp6 = __cil_tmp5 + 48U;
3375#line 163
3376  __cil_tmp7 = & einj_tab;
3377#line 163
3378  __cil_tmp8 = *__cil_tmp7;
3379#line 163
3380  __cil_tmp9 = (unsigned long )__cil_tmp8;
3381#line 163
3382  __cil_tmp10 = __cil_tmp9 + 44;
3383#line 163
3384  __cil_tmp11 = *((u32 *)__cil_tmp10);
3385#line 163
3386  apei_exec_ctx_init(ctx, __cil_tmp2, 5U, __cil_tmp6, __cil_tmp11);
3387  }
3388#line 165
3389  return;
3390}
3391}
3392#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3393static int __einj_get_available_error_type(u32 *type ) 
3394{ struct apei_exec_context ctx ;
3395  int rc ;
3396  u64 tmp ;
3397  u8 __cil_tmp5 ;
3398
3399  {
3400  {
3401#line 172
3402  einj_exec_ctx_init(& ctx);
3403#line 173
3404  __cil_tmp5 = (u8 )3;
3405#line 173
3406  rc = apei_exec_run(& ctx, __cil_tmp5);
3407  }
3408#line 174
3409  if (rc != 0) {
3410#line 175
3411    return (rc);
3412  } else {
3413
3414  }
3415  {
3416#line 176
3417  tmp = apei_exec_ctx_get_output(& ctx);
3418#line 176
3419  *type = (u32 )tmp;
3420  }
3421#line 178
3422  return (0);
3423}
3424}
3425#line 182 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3426static int einj_get_available_error_type(u32 *type ) 
3427{ int rc ;
3428
3429  {
3430  {
3431#line 186
3432  mutex_lock_nested(& einj_mutex, 0U);
3433#line 187
3434  rc = __einj_get_available_error_type(type);
3435#line 188
3436  mutex_unlock(& einj_mutex);
3437  }
3438#line 190
3439  return (rc);
3440}
3441}
3442#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3443static int einj_timedout(u64 *t ) 
3444{ u64 __cil_tmp2 ;
3445  long long __cil_tmp3 ;
3446  u64 __cil_tmp4 ;
3447
3448  {
3449  {
3450#line 195
3451  __cil_tmp2 = *t;
3452#line 195
3453  __cil_tmp3 = (long long )__cil_tmp2;
3454#line 195
3455  if (__cil_tmp3 <= 99LL) {
3456    {
3457#line 196
3458    printk("<4>[Firmware Warn]: EINJ: Firmware does not respond in time\n");
3459    }
3460#line 198
3461    return (1);
3462  } else {
3463
3464  }
3465  }
3466  {
3467#line 200
3468  __cil_tmp4 = *t;
3469#line 200
3470  *t = __cil_tmp4 - 100ULL;
3471#line 201
3472  __const_udelay(500UL);
3473#line 202
3474  touch_nmi_watchdog();
3475  }
3476#line 203
3477  return (0);
3478}
3479}
3480#line 206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3481static void check_vendor_extension(u64 paddr , struct set_error_type_with_address *v5param ) 
3482{ int offset ;
3483  struct vendor_error_type_extension *v ;
3484  u32 sbdf ;
3485  void *tmp ;
3486  unsigned long __cil_tmp7 ;
3487  unsigned long __cil_tmp8 ;
3488  u32 __cil_tmp9 ;
3489  u64 __cil_tmp10 ;
3490  u64 __cil_tmp11 ;
3491  struct vendor_error_type_extension *__cil_tmp12 ;
3492  unsigned long __cil_tmp13 ;
3493  unsigned long __cil_tmp14 ;
3494  unsigned long __cil_tmp15 ;
3495  unsigned long __cil_tmp16 ;
3496  char *__cil_tmp17 ;
3497  u32 __cil_tmp18 ;
3498  u32 __cil_tmp19 ;
3499  unsigned int __cil_tmp20 ;
3500  u32 __cil_tmp21 ;
3501  unsigned int __cil_tmp22 ;
3502  u32 __cil_tmp23 ;
3503  unsigned int __cil_tmp24 ;
3504  unsigned long __cil_tmp25 ;
3505  unsigned long __cil_tmp26 ;
3506  u16 __cil_tmp27 ;
3507  int __cil_tmp28 ;
3508  unsigned long __cil_tmp29 ;
3509  unsigned long __cil_tmp30 ;
3510  u16 __cil_tmp31 ;
3511  int __cil_tmp32 ;
3512  unsigned long __cil_tmp33 ;
3513  unsigned long __cil_tmp34 ;
3514  u8 __cil_tmp35 ;
3515  int __cil_tmp36 ;
3516  void *__cil_tmp37 ;
3517
3518  {
3519#line 209
3520  __cil_tmp7 = (unsigned long )v5param;
3521#line 209
3522  __cil_tmp8 = __cil_tmp7 + 4;
3523#line 209
3524  __cil_tmp9 = *((u32 *)__cil_tmp8);
3525#line 209
3526  offset = (int )__cil_tmp9;
3527#line 213
3528  if (offset == 0) {
3529#line 214
3530    return;
3531  } else {
3532
3533  }
3534  {
3535#line 215
3536  __cil_tmp10 = (u64 )offset;
3537#line 215
3538  __cil_tmp11 = __cil_tmp10 + paddr;
3539#line 215
3540  tmp = acpi_os_map_memory(__cil_tmp11, 16ULL);
3541#line 215
3542  v = (struct vendor_error_type_extension *)tmp;
3543  }
3544  {
3545#line 216
3546  __cil_tmp12 = (struct vendor_error_type_extension *)0;
3547#line 216
3548  __cil_tmp13 = (unsigned long )__cil_tmp12;
3549#line 216
3550  __cil_tmp14 = (unsigned long )v;
3551#line 216
3552  if (__cil_tmp14 == __cil_tmp13) {
3553#line 217
3554    return;
3555  } else {
3556
3557  }
3558  }
3559  {
3560#line 218
3561  __cil_tmp15 = (unsigned long )v;
3562#line 218
3563  __cil_tmp16 = __cil_tmp15 + 4;
3564#line 218
3565  sbdf = *((u32 *)__cil_tmp16);
3566#line 219
3567  __cil_tmp17 = (char *)(& vendor_dev);
3568#line 219
3569  __cil_tmp18 = sbdf >> 24;
3570#line 219
3571  __cil_tmp19 = sbdf >> 16;
3572#line 219
3573  __cil_tmp20 = __cil_tmp19 & 255U;
3574#line 219
3575  __cil_tmp21 = sbdf >> 11;
3576#line 219
3577  __cil_tmp22 = __cil_tmp21 & 31U;
3578#line 219
3579  __cil_tmp23 = sbdf >> 8;
3580#line 219
3581  __cil_tmp24 = __cil_tmp23 & 7U;
3582#line 219
3583  __cil_tmp25 = (unsigned long )v;
3584#line 219
3585  __cil_tmp26 = __cil_tmp25 + 8;
3586#line 219
3587  __cil_tmp27 = *((u16 *)__cil_tmp26);
3588#line 219
3589  __cil_tmp28 = (int )__cil_tmp27;
3590#line 219
3591  __cil_tmp29 = (unsigned long )v;
3592#line 219
3593  __cil_tmp30 = __cil_tmp29 + 10;
3594#line 219
3595  __cil_tmp31 = *((u16 *)__cil_tmp30);
3596#line 219
3597  __cil_tmp32 = (int )__cil_tmp31;
3598#line 219
3599  __cil_tmp33 = (unsigned long )v;
3600#line 219
3601  __cil_tmp34 = __cil_tmp33 + 12;
3602#line 219
3603  __cil_tmp35 = *((u8 *)__cil_tmp34);
3604#line 219
3605  __cil_tmp36 = (int )__cil_tmp35;
3606#line 219
3607  sprintf(__cil_tmp17, "%x:%x:%x.%x vendor_id=%x device_id=%x rev_id=%x\n", __cil_tmp18,
3608          __cil_tmp20, __cil_tmp22, __cil_tmp24, __cil_tmp28, __cil_tmp32, __cil_tmp36);
3609#line 223
3610  __cil_tmp37 = (void *)v;
3611#line 223
3612  acpi_os_unmap_memory(__cil_tmp37, 16ULL);
3613  }
3614#line 224
3615  return;
3616}
3617}
3618#line 226 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
3619static void *einj_get_parameter_address(void) 
3620{ int i ;
3621  u64 paddrv4 ;
3622  u64 paddrv5 ;
3623  struct acpi_whea_header *entry ;
3624  size_t __len ;
3625  void *__ret ;
3626  size_t __len___0 ;
3627  void *__ret___0 ;
3628  struct set_error_type_with_address *v5param ;
3629  void *tmp ;
3630  struct einj_parameter *v4param ;
3631  void *tmp___0 ;
3632  u64 *__cil_tmp13 ;
3633  u64 *__cil_tmp14 ;
3634  struct acpi_table_einj **__cil_tmp15 ;
3635  struct acpi_table_einj *__cil_tmp16 ;
3636  struct acpi_whea_header *__cil_tmp17 ;
3637  u8 __cil_tmp18 ;
3638  unsigned int __cil_tmp19 ;
3639  unsigned long __cil_tmp20 ;
3640  unsigned long __cil_tmp21 ;
3641  u8 __cil_tmp22 ;
3642  unsigned int __cil_tmp23 ;
3643  unsigned long __cil_tmp24 ;
3644  unsigned long __cil_tmp25 ;
3645  u8 __cil_tmp26 ;
3646  unsigned int __cil_tmp27 ;
3647  void *__cil_tmp28 ;
3648  unsigned long __cil_tmp29 ;
3649  unsigned long __cil_tmp30 ;
3650  unsigned long __cil_tmp31 ;
3651  u64 *__cil_tmp32 ;
3652  void const   *__cil_tmp33 ;
3653  void *__cil_tmp34 ;
3654  unsigned long __cil_tmp35 ;
3655  unsigned long __cil_tmp36 ;
3656  unsigned long __cil_tmp37 ;
3657  u64 *__cil_tmp38 ;
3658  void const   *__cil_tmp39 ;
3659  u8 __cil_tmp40 ;
3660  unsigned int __cil_tmp41 ;
3661  unsigned long __cil_tmp42 ;
3662  unsigned long __cil_tmp43 ;
3663  u8 __cil_tmp44 ;
3664  unsigned int __cil_tmp45 ;
3665  unsigned long __cil_tmp46 ;
3666  unsigned long __cil_tmp47 ;
3667  u8 __cil_tmp48 ;
3668  unsigned int __cil_tmp49 ;
3669  void *__cil_tmp50 ;
3670  unsigned long __cil_tmp51 ;
3671  unsigned long __cil_tmp52 ;
3672  unsigned long __cil_tmp53 ;
3673  u64 *__cil_tmp54 ;
3674  void const   *__cil_tmp55 ;
3675  void *__cil_tmp56 ;
3676  unsigned long __cil_tmp57 ;
3677  unsigned long __cil_tmp58 ;
3678  unsigned long __cil_tmp59 ;
3679  u64 *__cil_tmp60 ;
3680  void const   *__cil_tmp61 ;
3681  struct acpi_table_einj **__cil_tmp62 ;
3682  struct acpi_table_einj *__cil_tmp63 ;
3683  unsigned long __cil_tmp64 ;
3684  unsigned long __cil_tmp65 ;
3685  u32 __cil_tmp66 ;
3686  u32 __cil_tmp67 ;
3687  u64 *__cil_tmp68 ;
3688  u64 __cil_tmp69 ;
3689  u64 *__cil_tmp70 ;
3690  u64 __cil_tmp71 ;
3691  struct set_error_type_with_address *__cil_tmp72 ;
3692  unsigned long __cil_tmp73 ;
3693  unsigned long __cil_tmp74 ;
3694  u64 *__cil_tmp75 ;
3695  u64 __cil_tmp76 ;
3696  bool *__cil_tmp77 ;
3697  bool __cil_tmp78 ;
3698  u64 *__cil_tmp79 ;
3699  u64 __cil_tmp80 ;
3700  u64 *__cil_tmp81 ;
3701  u64 __cil_tmp82 ;
3702  struct einj_parameter *__cil_tmp83 ;
3703  unsigned long __cil_tmp84 ;
3704  unsigned long __cil_tmp85 ;
3705  unsigned long __cil_tmp86 ;
3706  unsigned long __cil_tmp87 ;
3707  u64 __cil_tmp88 ;
3708  void *__cil_tmp89 ;
3709  unsigned long __cil_tmp90 ;
3710  unsigned long __cil_tmp91 ;
3711  u64 __cil_tmp92 ;
3712  void *__cil_tmp93 ;
3713
3714  {
3715#line 229
3716  __cil_tmp13 = & paddrv4;
3717#line 229
3718  *__cil_tmp13 = 0ULL;
3719#line 229
3720  __cil_tmp14 = & paddrv5;
3721#line 229
3722  *__cil_tmp14 = 0ULL;
3723#line 232
3724  __cil_tmp15 = & einj_tab;
3725#line 232
3726  __cil_tmp16 = *__cil_tmp15;
3727#line 232
3728  __cil_tmp17 = (struct acpi_whea_header *)__cil_tmp16;
3729#line 232
3730  entry = __cil_tmp17 + 48U;
3731#line 233
3732  i = 0;
3733#line 233
3734  goto ldv_23507;
3735  ldv_23506: ;
3736  {
3737#line 234
3738  __cil_tmp18 = *((u8 *)entry);
3739#line 234
3740  __cil_tmp19 = (unsigned int )__cil_tmp18;
3741#line 234
3742  if (__cil_tmp19 == 2U) {
3743    {
3744#line 234
3745    __cil_tmp20 = (unsigned long )entry;
3746#line 234
3747    __cil_tmp21 = __cil_tmp20 + 1;
3748#line 234
3749    __cil_tmp22 = *((u8 *)__cil_tmp21);
3750#line 234
3751    __cil_tmp23 = (unsigned int )__cil_tmp22;
3752#line 234
3753    if (__cil_tmp23 == 2U) {
3754      {
3755#line 234
3756      __cil_tmp24 = (unsigned long )entry;
3757#line 234
3758      __cil_tmp25 = __cil_tmp24 + 8;
3759#line 234
3760      __cil_tmp26 = *((u8 *)__cil_tmp25);
3761#line 234
3762      __cil_tmp27 = (unsigned int )__cil_tmp26;
3763#line 234
3764      if (__cil_tmp27 == 0U) {
3765#line 238
3766        __len = 8UL;
3767#line 238
3768        if (__len > 63UL) {
3769          {
3770#line 238
3771          __cil_tmp28 = (void *)(& paddrv4);
3772#line 238
3773          __cil_tmp29 = 8 + 8;
3774#line 238
3775          __cil_tmp30 = (unsigned long )entry;
3776#line 238
3777          __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
3778#line 238
3779          __cil_tmp32 = (u64 *)__cil_tmp31;
3780#line 238
3781          __cil_tmp33 = (void const   *)__cil_tmp32;
3782#line 238
3783          __ret = __memcpy(__cil_tmp28, __cil_tmp33, __len);
3784          }
3785        } else {
3786          {
3787#line 238
3788          __cil_tmp34 = (void *)(& paddrv4);
3789#line 238
3790          __cil_tmp35 = 8 + 8;
3791#line 238
3792          __cil_tmp36 = (unsigned long )entry;
3793#line 238
3794          __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
3795#line 238
3796          __cil_tmp38 = (u64 *)__cil_tmp37;
3797#line 238
3798          __cil_tmp39 = (void const   *)__cil_tmp38;
3799#line 238
3800          __ret = __builtin_memcpy(__cil_tmp34, __cil_tmp39, __len);
3801          }
3802        }
3803      } else {
3804
3805      }
3806      }
3807    } else {
3808
3809    }
3810    }
3811  } else {
3812
3813  }
3814  }
3815  {
3816#line 240
3817  __cil_tmp40 = *((u8 *)entry);
3818#line 240
3819  __cil_tmp41 = (unsigned int )__cil_tmp40;
3820#line 240
3821  if (__cil_tmp41 == 8U) {
3822    {
3823#line 240
3824    __cil_tmp42 = (unsigned long )entry;
3825#line 240
3826    __cil_tmp43 = __cil_tmp42 + 1;
3827#line 240
3828    __cil_tmp44 = *((u8 *)__cil_tmp43);
3829#line 240
3830    __cil_tmp45 = (unsigned int )__cil_tmp44;
3831#line 240
3832    if (__cil_tmp45 == 2U) {
3833      {
3834#line 240
3835      __cil_tmp46 = (unsigned long )entry;
3836#line 240
3837      __cil_tmp47 = __cil_tmp46 + 8;
3838#line 240
3839      __cil_tmp48 = *((u8 *)__cil_tmp47);
3840#line 240
3841      __cil_tmp49 = (unsigned int )__cil_tmp48;
3842#line 240
3843      if (__cil_tmp49 == 0U) {
3844#line 244
3845        __len___0 = 8UL;
3846#line 244
3847        if (__len___0 > 63UL) {
3848          {
3849#line 244
3850          __cil_tmp50 = (void *)(& paddrv5);
3851#line 244
3852          __cil_tmp51 = 8 + 8;
3853#line 244
3854          __cil_tmp52 = (unsigned long )entry;
3855#line 244
3856          __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
3857#line 244
3858          __cil_tmp54 = (u64 *)__cil_tmp53;
3859#line 244
3860          __cil_tmp55 = (void const   *)__cil_tmp54;
3861#line 244
3862          __ret___0 = __memcpy(__cil_tmp50, __cil_tmp55, __len___0);
3863          }
3864        } else {
3865          {
3866#line 244
3867          __cil_tmp56 = (void *)(& paddrv5);
3868#line 244
3869          __cil_tmp57 = 8 + 8;
3870#line 244
3871          __cil_tmp58 = (unsigned long )entry;
3872#line 244
3873          __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
3874#line 244
3875          __cil_tmp60 = (u64 *)__cil_tmp59;
3876#line 244
3877          __cil_tmp61 = (void const   *)__cil_tmp60;
3878#line 244
3879          __ret___0 = __builtin_memcpy(__cil_tmp56, __cil_tmp61, __len___0);
3880          }
3881        }
3882      } else {
3883
3884      }
3885      }
3886    } else {
3887
3888    }
3889    }
3890  } else {
3891
3892  }
3893  }
3894#line 246
3895  entry = entry + 1;
3896#line 233
3897  i = i + 1;
3898  ldv_23507: ;
3899  {
3900#line 233
3901  __cil_tmp62 = & einj_tab;
3902#line 233
3903  __cil_tmp63 = *__cil_tmp62;
3904#line 233
3905  __cil_tmp64 = (unsigned long )__cil_tmp63;
3906#line 233
3907  __cil_tmp65 = __cil_tmp64 + 44;
3908#line 233
3909  __cil_tmp66 = *((u32 *)__cil_tmp65);
3910#line 233
3911  __cil_tmp67 = (u32 )i;
3912#line 233
3913  if (__cil_tmp67 < __cil_tmp66) {
3914#line 234
3915    goto ldv_23506;
3916  } else {
3917#line 236
3918    goto ldv_23508;
3919  }
3920  }
3921  ldv_23508: ;
3922  {
3923#line 248
3924  __cil_tmp68 = & paddrv5;
3925#line 248
3926  __cil_tmp69 = *__cil_tmp68;
3927#line 248
3928  if (__cil_tmp69 != 0ULL) {
3929    {
3930#line 251
3931    __cil_tmp70 = & paddrv5;
3932#line 251
3933    __cil_tmp71 = *__cil_tmp70;
3934#line 251
3935    tmp = acpi_os_map_memory(__cil_tmp71, 40ULL);
3936#line 251
3937    v5param = (struct set_error_type_with_address *)tmp;
3938    }
3939    {
3940#line 252
3941    __cil_tmp72 = (struct set_error_type_with_address *)0;
3942#line 252
3943    __cil_tmp73 = (unsigned long )__cil_tmp72;
3944#line 252
3945    __cil_tmp74 = (unsigned long )v5param;
3946#line 252
3947    if (__cil_tmp74 != __cil_tmp73) {
3948      {
3949#line 253
3950      acpi5 = 1;
3951#line 254
3952      __cil_tmp75 = & paddrv5;
3953#line 254
3954      __cil_tmp76 = *__cil_tmp75;
3955#line 254
3956      check_vendor_extension(__cil_tmp76, v5param);
3957      }
3958#line 255
3959      return ((void *)v5param);
3960    } else {
3961
3962    }
3963    }
3964  } else {
3965
3966  }
3967  }
3968  {
3969#line 258
3970  __cil_tmp77 = & param_extension;
3971#line 258
3972  __cil_tmp78 = *__cil_tmp77;
3973#line 258
3974  if ((int )__cil_tmp78) {
3975    {
3976#line 258
3977    __cil_tmp79 = & paddrv4;
3978#line 258
3979    __cil_tmp80 = *__cil_tmp79;
3980#line 258
3981    if (__cil_tmp80 != 0ULL) {
3982      {
3983#line 261
3984      __cil_tmp81 = & paddrv4;
3985#line 261
3986      __cil_tmp82 = *__cil_tmp81;
3987#line 261
3988      tmp___0 = acpi_os_map_memory(__cil_tmp82, 40ULL);
3989#line 261
3990      v4param = (struct einj_parameter *)tmp___0;
3991      }
3992      {
3993#line 262
3994      __cil_tmp83 = (struct einj_parameter *)0;
3995#line 262
3996      __cil_tmp84 = (unsigned long )__cil_tmp83;
3997#line 262
3998      __cil_tmp85 = (unsigned long )v4param;
3999#line 262
4000      if (__cil_tmp85 == __cil_tmp84) {
4001#line 263
4002        return ((void *)0);
4003      } else {
4004
4005      }
4006      }
4007      {
4008#line 264
4009      __cil_tmp86 = (unsigned long )v4param;
4010#line 264
4011      __cil_tmp87 = __cil_tmp86 + 8;
4012#line 264
4013      __cil_tmp88 = *((u64 *)__cil_tmp87);
4014#line 264
4015      if (__cil_tmp88 != 0ULL) {
4016        {
4017#line 265
4018        __cil_tmp89 = (void *)v4param;
4019#line 265
4020        acpi_os_unmap_memory(__cil_tmp89, 40ULL);
4021        }
4022#line 266
4023        return ((void *)0);
4024      } else {
4025        {
4026#line 264
4027        __cil_tmp90 = (unsigned long )v4param;
4028#line 264
4029        __cil_tmp91 = __cil_tmp90 + 16;
4030#line 264
4031        __cil_tmp92 = *((u64 *)__cil_tmp91);
4032#line 264
4033        if (__cil_tmp92 != 0ULL) {
4034          {
4035#line 265
4036          __cil_tmp93 = (void *)v4param;
4037#line 265
4038          acpi_os_unmap_memory(__cil_tmp93, 40ULL);
4039          }
4040#line 266
4041          return ((void *)0);
4042        } else {
4043
4044        }
4045        }
4046      }
4047      }
4048#line 268
4049      return ((void *)v4param);
4050    } else {
4051
4052    }
4053    }
4054  } else {
4055
4056  }
4057  }
4058#line 271
4059  return ((void *)0);
4060}
4061}
4062#line 275 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
4063static int einj_check_trigger_header(struct acpi_einj_trigger *trigger_tab ) 
4064{ u32 __cil_tmp2 ;
4065  unsigned long __cil_tmp3 ;
4066  unsigned long __cil_tmp4 ;
4067  u32 __cil_tmp5 ;
4068  u32 __cil_tmp6 ;
4069  unsigned long __cil_tmp7 ;
4070  unsigned long __cil_tmp8 ;
4071  u32 __cil_tmp9 ;
4072  u32 __cil_tmp10 ;
4073  unsigned long __cil_tmp11 ;
4074  unsigned long __cil_tmp12 ;
4075  u32 __cil_tmp13 ;
4076  u32 __cil_tmp14 ;
4077  unsigned int __cil_tmp15 ;
4078  unsigned long __cil_tmp16 ;
4079  unsigned long __cil_tmp17 ;
4080  u32 __cil_tmp18 ;
4081
4082  {
4083  {
4084#line 277
4085  __cil_tmp2 = *((u32 *)trigger_tab);
4086#line 277
4087  if (__cil_tmp2 != 16U) {
4088#line 278
4089    return (-22);
4090  } else {
4091
4092  }
4093  }
4094  {
4095#line 279
4096  __cil_tmp3 = (unsigned long )trigger_tab;
4097#line 279
4098  __cil_tmp4 = __cil_tmp3 + 8;
4099#line 279
4100  __cil_tmp5 = *((u32 *)__cil_tmp4);
4101#line 279
4102  if (__cil_tmp5 > 4096U) {
4103#line 281
4104    return (-22);
4105  } else {
4106    {
4107#line 279
4108    __cil_tmp6 = *((u32 *)trigger_tab);
4109#line 279
4110    __cil_tmp7 = (unsigned long )trigger_tab;
4111#line 279
4112    __cil_tmp8 = __cil_tmp7 + 8;
4113#line 279
4114    __cil_tmp9 = *((u32 *)__cil_tmp8);
4115#line 279
4116    if (__cil_tmp9 < __cil_tmp6) {
4117#line 281
4118      return (-22);
4119    } else {
4120
4121    }
4122    }
4123  }
4124  }
4125  {
4126#line 282
4127  __cil_tmp10 = *((u32 *)trigger_tab);
4128#line 282
4129  __cil_tmp11 = (unsigned long )trigger_tab;
4130#line 282
4131  __cil_tmp12 = __cil_tmp11 + 8;
4132#line 282
4133  __cil_tmp13 = *((u32 *)__cil_tmp12);
4134#line 282
4135  __cil_tmp14 = __cil_tmp13 - __cil_tmp10;
4136#line 282
4137  __cil_tmp15 = __cil_tmp14 / 32U;
4138#line 282
4139  __cil_tmp16 = (unsigned long )trigger_tab;
4140#line 282
4141  __cil_tmp17 = __cil_tmp16 + 12;
4142#line 282
4143  __cil_tmp18 = *((u32 *)__cil_tmp17);
4144#line 282
4145  if (__cil_tmp18 != __cil_tmp15) {
4146#line 285
4147    return (-22);
4148  } else {
4149
4150  }
4151  }
4152#line 287
4153  return (0);
4154}
4155}
4156#line 290 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
4157static struct acpi_generic_address *einj_get_trigger_parameter_region(struct acpi_einj_trigger *trigger_tab ,
4158                                                                      u64 param1 ,
4159                                                                      u64 param2 ) 
4160{ int i ;
4161  struct acpi_whea_header *entry ;
4162  struct acpi_whea_header *__cil_tmp6 ;
4163  u8 __cil_tmp7 ;
4164  unsigned int __cil_tmp8 ;
4165  unsigned long __cil_tmp9 ;
4166  unsigned long __cil_tmp10 ;
4167  u8 __cil_tmp11 ;
4168  unsigned int __cil_tmp12 ;
4169  unsigned long __cil_tmp13 ;
4170  unsigned long __cil_tmp14 ;
4171  u8 __cil_tmp15 ;
4172  unsigned int __cil_tmp16 ;
4173  unsigned long __cil_tmp17 ;
4174  unsigned long __cil_tmp18 ;
4175  unsigned long __cil_tmp19 ;
4176  u64 __cil_tmp20 ;
4177  unsigned long long __cil_tmp21 ;
4178  unsigned long long __cil_tmp22 ;
4179  unsigned long __cil_tmp23 ;
4180  unsigned long __cil_tmp24 ;
4181  unsigned long __cil_tmp25 ;
4182  unsigned long __cil_tmp26 ;
4183  u32 __cil_tmp27 ;
4184  u32 __cil_tmp28 ;
4185
4186  {
4187#line 296
4188  __cil_tmp6 = (struct acpi_whea_header *)trigger_tab;
4189#line 296
4190  entry = __cil_tmp6 + 16U;
4191#line 298
4192  i = 0;
4193#line 298
4194  goto ldv_23522;
4195  ldv_23521: ;
4196  {
4197#line 299
4198  __cil_tmp7 = *((u8 *)entry);
4199#line 299
4200  __cil_tmp8 = (unsigned int )__cil_tmp7;
4201#line 299
4202  if (__cil_tmp8 == 255U) {
4203    {
4204#line 299
4205    __cil_tmp9 = (unsigned long )entry;
4206#line 299
4207    __cil_tmp10 = __cil_tmp9 + 1;
4208#line 299
4209    __cil_tmp11 = *((u8 *)__cil_tmp10);
4210#line 299
4211    __cil_tmp12 = (unsigned int )__cil_tmp11;
4212#line 299
4213    if (__cil_tmp12 == 3U) {
4214      {
4215#line 299
4216      __cil_tmp13 = (unsigned long )entry;
4217#line 299
4218      __cil_tmp14 = __cil_tmp13 + 8;
4219#line 299
4220      __cil_tmp15 = *((u8 *)__cil_tmp14);
4221#line 299
4222      __cil_tmp16 = (unsigned int )__cil_tmp15;
4223#line 299
4224      if (__cil_tmp16 == 0U) {
4225        {
4226#line 299
4227        __cil_tmp17 = 8 + 8;
4228#line 299
4229        __cil_tmp18 = (unsigned long )entry;
4230#line 299
4231        __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
4232#line 299
4233        __cil_tmp20 = *((u64 *)__cil_tmp19);
4234#line 299
4235        __cil_tmp21 = __cil_tmp20 ^ param1;
4236#line 299
4237        __cil_tmp22 = __cil_tmp21 & param2;
4238#line 299
4239        if (__cil_tmp22 == 0ULL) {
4240          {
4241#line 304
4242          __cil_tmp23 = (unsigned long )entry;
4243#line 304
4244          __cil_tmp24 = __cil_tmp23 + 8;
4245#line 304
4246          return ((struct acpi_generic_address *)__cil_tmp24);
4247          }
4248        } else {
4249
4250        }
4251        }
4252      } else {
4253
4254      }
4255      }
4256    } else {
4257
4258    }
4259    }
4260  } else {
4261
4262  }
4263  }
4264#line 305
4265  entry = entry + 1;
4266#line 298
4267  i = i + 1;
4268  ldv_23522: ;
4269  {
4270#line 298
4271  __cil_tmp25 = (unsigned long )trigger_tab;
4272#line 298
4273  __cil_tmp26 = __cil_tmp25 + 12;
4274#line 298
4275  __cil_tmp27 = *((u32 *)__cil_tmp26);
4276#line 298
4277  __cil_tmp28 = (u32 )i;
4278#line 298
4279  if (__cil_tmp28 < __cil_tmp27) {
4280#line 299
4281    goto ldv_23521;
4282  } else {
4283#line 301
4284    goto ldv_23523;
4285  }
4286  }
4287  ldv_23523: ;
4288#line 308
4289  return ((struct acpi_generic_address *)0);
4290}
4291}
4292#line 311 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
4293static int __einj_error_trigger(u64 trigger_paddr , u32 type , u64 param1 , u64 param2 ) 
4294{ struct acpi_einj_trigger *trigger_tab ;
4295  struct apei_exec_context trigger_ctx ;
4296  struct apei_resources trigger_resources ;
4297  struct acpi_whea_header *trigger_entry ;
4298  struct resource *r ;
4299  u32 table_size ;
4300  int rc ;
4301  struct acpi_generic_address *trigger_param_region ;
4302  void *tmp ;
4303  void *tmp___0 ;
4304  struct apei_resources addr_resources ;
4305  struct resource *__cil_tmp16 ;
4306  unsigned long __cil_tmp17 ;
4307  unsigned long __cil_tmp18 ;
4308  unsigned long long __cil_tmp19 ;
4309  struct acpi_einj_trigger *__cil_tmp20 ;
4310  unsigned long __cil_tmp21 ;
4311  unsigned long __cil_tmp22 ;
4312  unsigned long __cil_tmp23 ;
4313  unsigned long __cil_tmp24 ;
4314  u32 __cil_tmp25 ;
4315  unsigned long __cil_tmp26 ;
4316  unsigned long __cil_tmp27 ;
4317  unsigned long long __cil_tmp28 ;
4318  unsigned long __cil_tmp29 ;
4319  unsigned long __cil_tmp30 ;
4320  resource_size_t __cil_tmp31 ;
4321  struct resource *__cil_tmp32 ;
4322  unsigned long __cil_tmp33 ;
4323  unsigned long __cil_tmp34 ;
4324  unsigned long long __cil_tmp35 ;
4325  u64 __cil_tmp36 ;
4326  u64 __cil_tmp37 ;
4327  u64 __cil_tmp38 ;
4328  void volatile   *__cil_tmp39 ;
4329  unsigned long __cil_tmp40 ;
4330  struct acpi_einj_trigger *__cil_tmp41 ;
4331  unsigned long __cil_tmp42 ;
4332  unsigned long __cil_tmp43 ;
4333  struct acpi_whea_header *__cil_tmp44 ;
4334  struct apei_exec_ins_type *__cil_tmp45 ;
4335  unsigned long __cil_tmp46 ;
4336  unsigned long __cil_tmp47 ;
4337  u32 __cil_tmp48 ;
4338  bool *__cil_tmp49 ;
4339  bool __cil_tmp50 ;
4340  unsigned int __cil_tmp51 ;
4341  struct acpi_generic_address *__cil_tmp52 ;
4342  unsigned long __cil_tmp53 ;
4343  unsigned long __cil_tmp54 ;
4344  unsigned long __cil_tmp55 ;
4345  unsigned long __cil_tmp56 ;
4346  u64 __cil_tmp57 ;
4347  unsigned long __cil_tmp58 ;
4348  unsigned long __cil_tmp59 ;
4349  unsigned long __cil_tmp60 ;
4350  u8 __cil_tmp61 ;
4351  unsigned int __cil_tmp62 ;
4352  unsigned int __cil_tmp63 ;
4353  unsigned long __cil_tmp64 ;
4354  bool __cil_tmp65 ;
4355  u8 __cil_tmp66 ;
4356  unsigned long long __cil_tmp67 ;
4357  unsigned long __cil_tmp68 ;
4358  unsigned long __cil_tmp69 ;
4359  resource_size_t __cil_tmp70 ;
4360  struct acpi_einj_trigger *__cil_tmp71 ;
4361  unsigned long __cil_tmp72 ;
4362  unsigned long __cil_tmp73 ;
4363  void volatile   *__cil_tmp74 ;
4364
4365  {
4366  {
4367#line 314
4368  trigger_tab = (struct acpi_einj_trigger *)0;
4369#line 320
4370  rc = -5;
4371#line 321
4372  trigger_param_region = (struct acpi_generic_address *)0;
4373#line 323
4374  r = __request_region(& iomem_resource, trigger_paddr, 16ULL, "APEI EINJ Trigger Table",
4375                       0);
4376  }
4377  {
4378#line 325
4379  __cil_tmp16 = (struct resource *)0;
4380#line 325
4381  __cil_tmp17 = (unsigned long )__cil_tmp16;
4382#line 325
4383  __cil_tmp18 = (unsigned long )r;
4384#line 325
4385  if (__cil_tmp18 == __cil_tmp17) {
4386    {
4387#line 326
4388    __cil_tmp19 = trigger_paddr + 15ULL;
4389#line 326
4390    printk("<3>EINJ: Can not request [mem %#010llx-%#010llx] for Trigger table\n",
4391           trigger_paddr, __cil_tmp19);
4392    }
4393#line 331
4394    goto out;
4395  } else {
4396
4397  }
4398  }
4399  {
4400#line 333
4401  tmp = ioremap_cache(trigger_paddr, 16UL);
4402#line 333
4403  trigger_tab = (struct acpi_einj_trigger *)tmp;
4404  }
4405  {
4406#line 334
4407  __cil_tmp20 = (struct acpi_einj_trigger *)0;
4408#line 334
4409  __cil_tmp21 = (unsigned long )__cil_tmp20;
4410#line 334
4411  __cil_tmp22 = (unsigned long )trigger_tab;
4412#line 334
4413  if (__cil_tmp22 == __cil_tmp21) {
4414    {
4415#line 335
4416    printk("<3>EINJ: Failed to map trigger table!\n");
4417    }
4418#line 336
4419    goto out_rel_header;
4420  } else {
4421
4422  }
4423  }
4424  {
4425#line 338
4426  rc = einj_check_trigger_header(trigger_tab);
4427  }
4428#line 339
4429  if (rc != 0) {
4430    {
4431#line 340
4432    printk("<4>[Firmware Bug]: EINJ: The trigger error action table is invalid\n");
4433    }
4434#line 342
4435    goto out_rel_header;
4436  } else {
4437
4438  }
4439  {
4440#line 346
4441  __cil_tmp23 = (unsigned long )trigger_tab;
4442#line 346
4443  __cil_tmp24 = __cil_tmp23 + 12;
4444#line 346
4445  __cil_tmp25 = *((u32 *)__cil_tmp24);
4446#line 346
4447  if (__cil_tmp25 == 0U) {
4448#line 347
4449    goto out_rel_header;
4450  } else {
4451
4452  }
4453  }
4454  {
4455#line 349
4456  rc = -5;
4457#line 350
4458  __cil_tmp26 = (unsigned long )trigger_tab;
4459#line 350
4460  __cil_tmp27 = __cil_tmp26 + 8;
4461#line 350
4462  table_size = *((u32 *)__cil_tmp27);
4463#line 351
4464  __cil_tmp28 = trigger_paddr + 16ULL;
4465#line 351
4466  __cil_tmp29 = (unsigned long )table_size;
4467#line 351
4468  __cil_tmp30 = __cil_tmp29 - 16UL;
4469#line 351
4470  __cil_tmp31 = (resource_size_t )__cil_tmp30;
4471#line 351
4472  r = __request_region(& iomem_resource, __cil_tmp28, __cil_tmp31, "APEI EINJ Trigger Table",
4473                       0);
4474  }
4475  {
4476#line 354
4477  __cil_tmp32 = (struct resource *)0;
4478#line 354
4479  __cil_tmp33 = (unsigned long )__cil_tmp32;
4480#line 354
4481  __cil_tmp34 = (unsigned long )r;
4482#line 354
4483  if (__cil_tmp34 == __cil_tmp33) {
4484    {
4485#line 355
4486    __cil_tmp35 = trigger_paddr + 16ULL;
4487#line 355
4488    __cil_tmp36 = (u64 )table_size;
4489#line 355
4490    __cil_tmp37 = __cil_tmp36 + trigger_paddr;
4491#line 355
4492    __cil_tmp38 = __cil_tmp37 - 1ULL;
4493#line 355
4494    printk("<3>EINJ: Can not request [mem %#010llx-%#010llx] for Trigger Table Entry\n",
4495           __cil_tmp35, __cil_tmp38);
4496    }
4497#line 359
4498    goto out_rel_header;
4499  } else {
4500
4501  }
4502  }
4503  {
4504#line 361
4505  __cil_tmp39 = (void volatile   *)trigger_tab;
4506#line 361
4507  iounmap(__cil_tmp39);
4508#line 362
4509  __cil_tmp40 = (unsigned long )table_size;
4510#line 362
4511  tmp___0 = ioremap_cache(trigger_paddr, __cil_tmp40);
4512#line 362
4513  trigger_tab = (struct acpi_einj_trigger *)tmp___0;
4514  }
4515  {
4516#line 363
4517  __cil_tmp41 = (struct acpi_einj_trigger *)0;
4518#line 363
4519  __cil_tmp42 = (unsigned long )__cil_tmp41;
4520#line 363
4521  __cil_tmp43 = (unsigned long )trigger_tab;
4522#line 363
4523  if (__cil_tmp43 == __cil_tmp42) {
4524    {
4525#line 364
4526    printk("<3>EINJ: Failed to map trigger table!\n");
4527    }
4528#line 365
4529    goto out_rel_entry;
4530  } else {
4531
4532  }
4533  }
4534  {
4535#line 367
4536  __cil_tmp44 = (struct acpi_whea_header *)trigger_tab;
4537#line 367
4538  trigger_entry = __cil_tmp44 + 16U;
4539#line 369
4540  apei_resources_init(& trigger_resources);
4541#line 370
4542  __cil_tmp45 = (struct apei_exec_ins_type *)(& einj_ins_type);
4543#line 370
4544  __cil_tmp46 = (unsigned long )trigger_tab;
4545#line 370
4546  __cil_tmp47 = __cil_tmp46 + 12;
4547#line 370
4548  __cil_tmp48 = *((u32 *)__cil_tmp47);
4549#line 370
4550  apei_exec_ctx_init(& trigger_ctx, __cil_tmp45, 5U, trigger_entry, __cil_tmp48);
4551#line 373
4552  rc = apei_exec_collect_resources(& trigger_ctx, & trigger_resources);
4553  }
4554#line 374
4555  if (rc != 0) {
4556#line 375
4557    goto out_fini;
4558  } else {
4559
4560  }
4561  {
4562#line 376
4563  rc = apei_resources_sub(& trigger_resources, & einj_resources);
4564  }
4565#line 377
4566  if (rc != 0) {
4567#line 378
4568    goto out_fini;
4569  } else {
4570
4571  }
4572  {
4573#line 385
4574  __cil_tmp49 = & param_extension;
4575#line 385
4576  __cil_tmp50 = *__cil_tmp49;
4577#line 385
4578  if ((int )__cil_tmp50) {
4579    {
4580#line 385
4581    __cil_tmp51 = type & 56U;
4582#line 385
4583    if (__cil_tmp51 != 0U) {
4584#line 385
4585      if (param2 != 0ULL) {
4586        {
4587#line 387
4588        apei_resources_init(& addr_resources);
4589#line 388
4590        trigger_param_region = einj_get_trigger_parameter_region(trigger_tab, param1,
4591                                                                 param2);
4592        }
4593        {
4594#line 390
4595        __cil_tmp52 = (struct acpi_generic_address *)0;
4596#line 390
4597        __cil_tmp53 = (unsigned long )__cil_tmp52;
4598#line 390
4599        __cil_tmp54 = (unsigned long )trigger_param_region;
4600#line 390
4601        if (__cil_tmp54 != __cil_tmp53) {
4602          {
4603#line 391
4604          __cil_tmp55 = (unsigned long )trigger_param_region;
4605#line 391
4606          __cil_tmp56 = __cil_tmp55 + 8;
4607#line 391
4608          __cil_tmp57 = *((u64 *)__cil_tmp56);
4609#line 391
4610          __cil_tmp58 = (unsigned long )__cil_tmp57;
4611#line 391
4612          __cil_tmp59 = (unsigned long )trigger_param_region;
4613#line 391
4614          __cil_tmp60 = __cil_tmp59 + 1;
4615#line 391
4616          __cil_tmp61 = *((u8 *)__cil_tmp60);
4617#line 391
4618          __cil_tmp62 = (unsigned int )__cil_tmp61;
4619#line 391
4620          __cil_tmp63 = __cil_tmp62 / 8U;
4621#line 391
4622          __cil_tmp64 = (unsigned long )__cil_tmp63;
4623#line 391
4624          __cil_tmp65 = (bool )1;
4625#line 391
4626          rc = apei_resources_add(& addr_resources, __cil_tmp58, __cil_tmp64, __cil_tmp65);
4627          }
4628#line 394
4629          if (rc != 0) {
4630#line 395
4631            goto out_fini;
4632          } else {
4633
4634          }
4635          {
4636#line 396
4637          rc = apei_resources_sub(& trigger_resources, & addr_resources);
4638          }
4639        } else {
4640
4641        }
4642        }
4643        {
4644#line 399
4645        apei_resources_fini(& addr_resources);
4646        }
4647#line 400
4648        if (rc != 0) {
4649#line 401
4650          goto out_fini;
4651        } else {
4652
4653        }
4654      } else {
4655
4656      }
4657    } else {
4658
4659    }
4660    }
4661  } else {
4662
4663  }
4664  }
4665  {
4666#line 403
4667  rc = apei_resources_request(& trigger_resources, "APEI EINJ Trigger");
4668  }
4669#line 404
4670  if (rc != 0) {
4671#line 405
4672    goto out_fini;
4673  } else {
4674
4675  }
4676  {
4677#line 406
4678  rc = apei_exec_pre_map_gars(& trigger_ctx);
4679  }
4680#line 407
4681  if (rc != 0) {
4682#line 408
4683    goto out_release;
4684  } else {
4685
4686  }
4687  {
4688#line 410
4689  __cil_tmp66 = (u8 )255;
4690#line 410
4691  rc = apei_exec_run(& trigger_ctx, __cil_tmp66);
4692#line 412
4693  apei_exec_post_unmap_gars(& trigger_ctx);
4694  }
4695  out_release: 
4696  {
4697#line 414
4698  apei_resources_release(& trigger_resources);
4699  }
4700  out_fini: 
4701  {
4702#line 416
4703  apei_resources_fini(& trigger_resources);
4704  }
4705  out_rel_entry: 
4706  {
4707#line 418
4708  __cil_tmp67 = trigger_paddr + 16ULL;
4709#line 418
4710  __cil_tmp68 = (unsigned long )table_size;
4711#line 418
4712  __cil_tmp69 = __cil_tmp68 - 16UL;
4713#line 418
4714  __cil_tmp70 = (resource_size_t )__cil_tmp69;
4715#line 418
4716  __release_region(& iomem_resource, __cil_tmp67, __cil_tmp70);
4717  }
4718  out_rel_header: 
4719  {
4720#line 421
4721  __release_region(& iomem_resource, trigger_paddr, 16ULL);
4722  }
4723  out: ;
4724  {
4725#line 423
4726  __cil_tmp71 = (struct acpi_einj_trigger *)0;
4727#line 423
4728  __cil_tmp72 = (unsigned long )__cil_tmp71;
4729#line 423
4730  __cil_tmp73 = (unsigned long )trigger_tab;
4731#line 423
4732  if (__cil_tmp73 != __cil_tmp72) {
4733    {
4734#line 424
4735    __cil_tmp74 = (void volatile   *)trigger_tab;
4736#line 424
4737    iounmap(__cil_tmp74);
4738    }
4739  } else {
4740
4741  }
4742  }
4743#line 426
4744  return (rc);
4745}
4746}
4747#line 429 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
4748static int __einj_error_inject(u32 type , u64 param1 , u64 param2 ) 
4749{ struct apei_exec_context ctx ;
4750  u64 val ;
4751  u64 trigger_paddr ;
4752  u64 timeout ;
4753  int rc ;
4754  struct set_error_type_with_address *v5param ;
4755  struct einj_parameter *v4param ;
4756  int tmp ;
4757  u64 *__cil_tmp12 ;
4758  u8 __cil_tmp13 ;
4759  u64 __cil_tmp14 ;
4760  int __cil_tmp15 ;
4761  u32 *__cil_tmp16 ;
4762  u32 __cil_tmp17 ;
4763  unsigned long __cil_tmp18 ;
4764  unsigned long __cil_tmp19 ;
4765  unsigned long __cil_tmp20 ;
4766  unsigned long __cil_tmp21 ;
4767  unsigned long __cil_tmp22 ;
4768  unsigned long __cil_tmp23 ;
4769  unsigned long __cil_tmp24 ;
4770  unsigned long __cil_tmp25 ;
4771  unsigned long __cil_tmp26 ;
4772  unsigned long __cil_tmp27 ;
4773  u32 *__cil_tmp28 ;
4774  unsigned long __cil_tmp29 ;
4775  unsigned long __cil_tmp30 ;
4776  unsigned long __cil_tmp31 ;
4777  unsigned long __cil_tmp32 ;
4778  unsigned long __cil_tmp33 ;
4779  unsigned long __cil_tmp34 ;
4780  unsigned long __cil_tmp35 ;
4781  unsigned long __cil_tmp36 ;
4782  unsigned long __cil_tmp37 ;
4783  unsigned long __cil_tmp38 ;
4784  unsigned long __cil_tmp39 ;
4785  unsigned long __cil_tmp40 ;
4786  unsigned long __cil_tmp41 ;
4787  unsigned long __cil_tmp42 ;
4788  u8 __cil_tmp43 ;
4789  void *__cil_tmp44 ;
4790  unsigned long __cil_tmp45 ;
4791  unsigned long __cil_tmp46 ;
4792  unsigned long __cil_tmp47 ;
4793  unsigned long __cil_tmp48 ;
4794  unsigned long __cil_tmp49 ;
4795  unsigned long __cil_tmp50 ;
4796  u8 __cil_tmp51 ;
4797  u8 __cil_tmp52 ;
4798  unsigned long long __cil_tmp53 ;
4799  u8 __cil_tmp54 ;
4800  u8 __cil_tmp55 ;
4801  u32 *__cil_tmp56 ;
4802  u32 __cil_tmp57 ;
4803  u8 __cil_tmp58 ;
4804
4805  {
4806  {
4807#line 432
4808  __cil_tmp12 = & timeout;
4809#line 432
4810  *__cil_tmp12 = 1000000ULL;
4811#line 435
4812  einj_exec_ctx_init(& ctx);
4813#line 437
4814  __cil_tmp13 = (u8 )0;
4815#line 437
4816  rc = apei_exec_run_optional(& ctx, __cil_tmp13);
4817  }
4818#line 438
4819  if (rc != 0) {
4820#line 439
4821    return (rc);
4822  } else {
4823
4824  }
4825  {
4826#line 440
4827  __cil_tmp14 = (u64 )type;
4828#line 440
4829  apei_exec_ctx_set_input(& ctx, __cil_tmp14);
4830  }
4831#line 441
4832  if (acpi5 != 0) {
4833#line 442
4834    v5param = (struct set_error_type_with_address *)einj_param;
4835#line 444
4836    *((u32 *)v5param) = type;
4837    {
4838#line 445
4839    __cil_tmp15 = (int )type;
4840#line 445
4841    if (__cil_tmp15 < 0) {
4842      {
4843#line 446
4844      __cil_tmp16 = & vendor_flags;
4845#line 446
4846      __cil_tmp17 = *__cil_tmp16;
4847#line 447
4848      if ((int )__cil_tmp17 == 1) {
4849#line 447
4850        goto case_1;
4851      } else
4852#line 450
4853      if ((int )__cil_tmp17 == 2) {
4854#line 450
4855        goto case_2;
4856      } else
4857#line 454
4858      if ((int )__cil_tmp17 == 4) {
4859#line 454
4860        goto case_4;
4861      } else
4862#line 446
4863      if (0) {
4864        case_1: /* CIL Label */ 
4865#line 448
4866        __cil_tmp18 = (unsigned long )v5param;
4867#line 448
4868        __cil_tmp19 = __cil_tmp18 + 12;
4869#line 448
4870        *((u32 *)__cil_tmp19) = (u32 )param1;
4871#line 449
4872        goto ldv_23558;
4873        case_2: /* CIL Label */ 
4874#line 451
4875        __cil_tmp20 = (unsigned long )v5param;
4876#line 451
4877        __cil_tmp21 = __cil_tmp20 + 16;
4878#line 451
4879        *((u64 *)__cil_tmp21) = param1;
4880#line 452
4881        __cil_tmp22 = (unsigned long )v5param;
4882#line 452
4883        __cil_tmp23 = __cil_tmp22 + 24;
4884#line 452
4885        *((u64 *)__cil_tmp23) = param2;
4886#line 453
4887        goto ldv_23558;
4888        case_4: /* CIL Label */ 
4889#line 455
4890        __cil_tmp24 = (unsigned long )v5param;
4891#line 455
4892        __cil_tmp25 = __cil_tmp24 + 32;
4893#line 455
4894        *((u32 *)__cil_tmp25) = (u32 )param1;
4895#line 456
4896        goto ldv_23558;
4897      } else {
4898        switch_break: /* CIL Label */ ;
4899      }
4900      }
4901      ldv_23558: 
4902#line 458
4903      __cil_tmp26 = (unsigned long )v5param;
4904#line 458
4905      __cil_tmp27 = __cil_tmp26 + 8;
4906#line 458
4907      __cil_tmp28 = & vendor_flags;
4908#line 458
4909      *((u32 *)__cil_tmp27) = *__cil_tmp28;
4910    } else {
4911#line 461
4912      if ((int )type == 1) {
4913#line 461
4914        goto case_1___0;
4915      } else
4916#line 462
4917      if ((int )type == 2) {
4918#line 462
4919        goto case_2___0;
4920      } else
4921#line 463
4922      if ((int )type == 4) {
4923#line 463
4924        goto case_4___0;
4925      } else
4926#line 467
4927      if ((int )type == 8) {
4928#line 467
4929        goto case_8;
4930      } else
4931#line 468
4932      if ((int )type == 16) {
4933#line 468
4934        goto case_16;
4935      } else
4936#line 469
4937      if ((int )type == 32) {
4938#line 469
4939        goto case_32;
4940      } else
4941#line 474
4942      if ((int )type == 64) {
4943#line 474
4944        goto case_64;
4945      } else
4946#line 475
4947      if ((int )type == 128) {
4948#line 475
4949        goto case_128;
4950      } else
4951#line 476
4952      if ((int )type == 256) {
4953#line 476
4954        goto case_256;
4955      } else
4956#line 460
4957      if (0) {
4958        case_1___0: /* CIL Label */ ;
4959        case_2___0: /* CIL Label */ ;
4960        case_4___0: /* CIL Label */ 
4961#line 464
4962        __cil_tmp29 = (unsigned long )v5param;
4963#line 464
4964        __cil_tmp30 = __cil_tmp29 + 12;
4965#line 464
4966        *((u32 *)__cil_tmp30) = (u32 )param1;
4967#line 465
4968        __cil_tmp31 = (unsigned long )v5param;
4969#line 465
4970        __cil_tmp32 = __cil_tmp31 + 8;
4971#line 465
4972        *((u32 *)__cil_tmp32) = 1U;
4973#line 466
4974        goto ldv_23564;
4975        case_8: /* CIL Label */ ;
4976        case_16: /* CIL Label */ ;
4977        case_32: /* CIL Label */ 
4978#line 470
4979        __cil_tmp33 = (unsigned long )v5param;
4980#line 470
4981        __cil_tmp34 = __cil_tmp33 + 16;
4982#line 470
4983        *((u64 *)__cil_tmp34) = param1;
4984#line 471
4985        __cil_tmp35 = (unsigned long )v5param;
4986#line 471
4987        __cil_tmp36 = __cil_tmp35 + 24;
4988#line 471
4989        *((u64 *)__cil_tmp36) = param2;
4990#line 472
4991        __cil_tmp37 = (unsigned long )v5param;
4992#line 472
4993        __cil_tmp38 = __cil_tmp37 + 8;
4994#line 472
4995        *((u32 *)__cil_tmp38) = 2U;
4996#line 473
4997        goto ldv_23564;
4998        case_64: /* CIL Label */ ;
4999        case_128: /* CIL Label */ ;
5000        case_256: /* CIL Label */ 
5001#line 477
5002        __cil_tmp39 = (unsigned long )v5param;
5003#line 477
5004        __cil_tmp40 = __cil_tmp39 + 32;
5005#line 477
5006        *((u32 *)__cil_tmp40) = (u32 )param1;
5007#line 478
5008        __cil_tmp41 = (unsigned long )v5param;
5009#line 478
5010        __cil_tmp42 = __cil_tmp41 + 8;
5011#line 478
5012        *((u32 *)__cil_tmp42) = 4U;
5013#line 479
5014        goto ldv_23564;
5015      } else {
5016        switch_break___0: /* CIL Label */ ;
5017      }
5018      ldv_23564: ;
5019    }
5020    }
5021  } else {
5022    {
5023#line 483
5024    __cil_tmp43 = (u8 )2;
5025#line 483
5026    rc = apei_exec_run(& ctx, __cil_tmp43);
5027    }
5028#line 484
5029    if (rc != 0) {
5030#line 485
5031      return (rc);
5032    } else {
5033
5034    }
5035    {
5036#line 486
5037    __cil_tmp44 = (void *)0;
5038#line 486
5039    __cil_tmp45 = (unsigned long )__cil_tmp44;
5040#line 486
5041    __cil_tmp46 = (unsigned long )einj_param;
5042#line 486
5043    if (__cil_tmp46 != __cil_tmp45) {
5044#line 487
5045      v4param = (struct einj_parameter *)einj_param;
5046#line 488
5047      __cil_tmp47 = (unsigned long )v4param;
5048#line 488
5049      __cil_tmp48 = __cil_tmp47 + 24;
5050#line 488
5051      *((u64 *)__cil_tmp48) = param1;
5052#line 489
5053      __cil_tmp49 = (unsigned long )v4param;
5054#line 489
5055      __cil_tmp50 = __cil_tmp49 + 32;
5056#line 489
5057      *((u64 *)__cil_tmp50) = param2;
5058    } else {
5059
5060    }
5061    }
5062  }
5063  {
5064#line 492
5065  __cil_tmp51 = (u8 )5;
5066#line 492
5067  rc = apei_exec_run(& ctx, __cil_tmp51);
5068  }
5069#line 493
5070  if (rc != 0) {
5071#line 494
5072    return (rc);
5073  } else {
5074
5075  }
5076  ldv_23573: 
5077  {
5078#line 496
5079  __cil_tmp52 = (u8 )6;
5080#line 496
5081  rc = apei_exec_run(& ctx, __cil_tmp52);
5082  }
5083#line 497
5084  if (rc != 0) {
5085#line 498
5086    return (rc);
5087  } else {
5088
5089  }
5090  {
5091#line 499
5092  val = apei_exec_ctx_get_output(& ctx);
5093  }
5094  {
5095#line 500
5096  __cil_tmp53 = val & 1ULL;
5097#line 500
5098  if (__cil_tmp53 == 0ULL) {
5099#line 501
5100    goto ldv_23572;
5101  } else {
5102
5103  }
5104  }
5105  {
5106#line 502
5107  tmp = einj_timedout(& timeout);
5108  }
5109#line 502
5110  if (tmp != 0) {
5111#line 503
5112    return (-5);
5113  } else {
5114
5115  }
5116#line 504
5117  goto ldv_23573;
5118  ldv_23572: 
5119  {
5120#line 505
5121  __cil_tmp54 = (u8 )7;
5122#line 505
5123  rc = apei_exec_run(& ctx, __cil_tmp54);
5124  }
5125#line 506
5126  if (rc != 0) {
5127#line 507
5128    return (rc);
5129  } else {
5130
5131  }
5132  {
5133#line 508
5134  val = apei_exec_ctx_get_output(& ctx);
5135  }
5136#line 509
5137  if (val != 0ULL) {
5138#line 510
5139    return (-16);
5140  } else {
5141
5142  }
5143  {
5144#line 512
5145  __cil_tmp55 = (u8 )1;
5146#line 512
5147  rc = apei_exec_run(& ctx, __cil_tmp55);
5148  }
5149#line 513
5150  if (rc != 0) {
5151#line 514
5152    return (rc);
5153  } else {
5154
5155  }
5156  {
5157#line 515
5158  trigger_paddr = apei_exec_ctx_get_output(& ctx);
5159  }
5160  {
5161#line 516
5162  __cil_tmp56 = & notrigger;
5163#line 516
5164  __cil_tmp57 = *__cil_tmp56;
5165#line 516
5166  if (__cil_tmp57 == 0U) {
5167    {
5168#line 517
5169    rc = __einj_error_trigger(trigger_paddr, type, param1, param2);
5170    }
5171#line 518
5172    if (rc != 0) {
5173#line 519
5174      return (rc);
5175    } else {
5176
5177    }
5178  } else {
5179
5180  }
5181  }
5182  {
5183#line 521
5184  __cil_tmp58 = (u8 )4;
5185#line 521
5186  rc = apei_exec_run_optional(& ctx, __cil_tmp58);
5187  }
5188#line 523
5189  return (rc);
5190}
5191}
5192#line 527 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5193static int einj_error_inject(u32 type , u64 param1 , u64 param2 ) 
5194{ int rc ;
5195
5196  {
5197  {
5198#line 531
5199  mutex_lock_nested(& einj_mutex, 0U);
5200#line 532
5201  rc = __einj_error_inject(type, param1, param2);
5202#line 533
5203  mutex_unlock(& einj_mutex);
5204  }
5205#line 535
5206  return (rc);
5207}
5208}
5209#line 538 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5210static u32 error_type  ;
5211#line 539 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5212static u64 error_param1  ;
5213#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5214static u64 error_param2  ;
5215#line 541 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5216static struct dentry *einj_debug_dir  ;
5217#line 543 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5218static int available_error_type_show(struct seq_file *m , void *v ) 
5219{ int rc ;
5220  u32 available_error_type ;
5221  u32 *__cil_tmp5 ;
5222  u32 *__cil_tmp6 ;
5223  u32 __cil_tmp7 ;
5224  int __cil_tmp8 ;
5225  u32 *__cil_tmp9 ;
5226  u32 __cil_tmp10 ;
5227  unsigned int __cil_tmp11 ;
5228  u32 *__cil_tmp12 ;
5229  u32 __cil_tmp13 ;
5230  unsigned int __cil_tmp14 ;
5231  u32 *__cil_tmp15 ;
5232  u32 __cil_tmp16 ;
5233  unsigned int __cil_tmp17 ;
5234  u32 *__cil_tmp18 ;
5235  u32 __cil_tmp19 ;
5236  unsigned int __cil_tmp20 ;
5237  u32 *__cil_tmp21 ;
5238  u32 __cil_tmp22 ;
5239  unsigned int __cil_tmp23 ;
5240  u32 *__cil_tmp24 ;
5241  u32 __cil_tmp25 ;
5242  unsigned int __cil_tmp26 ;
5243  u32 *__cil_tmp27 ;
5244  u32 __cil_tmp28 ;
5245  unsigned int __cil_tmp29 ;
5246  u32 *__cil_tmp30 ;
5247  u32 __cil_tmp31 ;
5248  unsigned int __cil_tmp32 ;
5249  u32 *__cil_tmp33 ;
5250  u32 __cil_tmp34 ;
5251  unsigned int __cil_tmp35 ;
5252  u32 *__cil_tmp36 ;
5253  u32 __cil_tmp37 ;
5254  unsigned int __cil_tmp38 ;
5255  u32 *__cil_tmp39 ;
5256  u32 __cil_tmp40 ;
5257  unsigned int __cil_tmp41 ;
5258
5259  {
5260  {
5261#line 546
5262  __cil_tmp5 = & available_error_type;
5263#line 546
5264  *__cil_tmp5 = 0U;
5265#line 548
5266  rc = einj_get_available_error_type(& available_error_type);
5267  }
5268#line 549
5269  if (rc != 0) {
5270#line 550
5271    return (rc);
5272  } else {
5273
5274  }
5275  {
5276#line 551
5277  __cil_tmp6 = & available_error_type;
5278#line 551
5279  __cil_tmp7 = *__cil_tmp6;
5280#line 551
5281  __cil_tmp8 = (int )__cil_tmp7;
5282#line 551
5283  if (__cil_tmp8 & 1) {
5284    {
5285#line 552
5286    seq_printf(m, "0x00000001\tProcessor Correctable\n");
5287    }
5288  } else {
5289
5290  }
5291  }
5292  {
5293#line 553
5294  __cil_tmp9 = & available_error_type;
5295#line 553
5296  __cil_tmp10 = *__cil_tmp9;
5297#line 553
5298  __cil_tmp11 = __cil_tmp10 & 2U;
5299#line 553
5300  if (__cil_tmp11 != 0U) {
5301    {
5302#line 554
5303    seq_printf(m, "0x00000002\tProcessor Uncorrectable non-fatal\n");
5304    }
5305  } else {
5306
5307  }
5308  }
5309  {
5310#line 555
5311  __cil_tmp12 = & available_error_type;
5312#line 555
5313  __cil_tmp13 = *__cil_tmp12;
5314#line 555
5315  __cil_tmp14 = __cil_tmp13 & 4U;
5316#line 555
5317  if (__cil_tmp14 != 0U) {
5318    {
5319#line 556
5320    seq_printf(m, "0x00000004\tProcessor Uncorrectable fatal\n");
5321    }
5322  } else {
5323
5324  }
5325  }
5326  {
5327#line 557
5328  __cil_tmp15 = & available_error_type;
5329#line 557
5330  __cil_tmp16 = *__cil_tmp15;
5331#line 557
5332  __cil_tmp17 = __cil_tmp16 & 8U;
5333#line 557
5334  if (__cil_tmp17 != 0U) {
5335    {
5336#line 558
5337    seq_printf(m, "0x00000008\tMemory Correctable\n");
5338    }
5339  } else {
5340
5341  }
5342  }
5343  {
5344#line 559
5345  __cil_tmp18 = & available_error_type;
5346#line 559
5347  __cil_tmp19 = *__cil_tmp18;
5348#line 559
5349  __cil_tmp20 = __cil_tmp19 & 16U;
5350#line 559
5351  if (__cil_tmp20 != 0U) {
5352    {
5353#line 560
5354    seq_printf(m, "0x00000010\tMemory Uncorrectable non-fatal\n");
5355    }
5356  } else {
5357
5358  }
5359  }
5360  {
5361#line 561
5362  __cil_tmp21 = & available_error_type;
5363#line 561
5364  __cil_tmp22 = *__cil_tmp21;
5365#line 561
5366  __cil_tmp23 = __cil_tmp22 & 32U;
5367#line 561
5368  if (__cil_tmp23 != 0U) {
5369    {
5370#line 562
5371    seq_printf(m, "0x00000020\tMemory Uncorrectable fatal\n");
5372    }
5373  } else {
5374
5375  }
5376  }
5377  {
5378#line 563
5379  __cil_tmp24 = & available_error_type;
5380#line 563
5381  __cil_tmp25 = *__cil_tmp24;
5382#line 563
5383  __cil_tmp26 = __cil_tmp25 & 64U;
5384#line 563
5385  if (__cil_tmp26 != 0U) {
5386    {
5387#line 564
5388    seq_printf(m, "0x00000040\tPCI Express Correctable\n");
5389    }
5390  } else {
5391
5392  }
5393  }
5394  {
5395#line 565
5396  __cil_tmp27 = & available_error_type;
5397#line 565
5398  __cil_tmp28 = *__cil_tmp27;
5399#line 565
5400  __cil_tmp29 = __cil_tmp28 & 128U;
5401#line 565
5402  if (__cil_tmp29 != 0U) {
5403    {
5404#line 566
5405    seq_printf(m, "0x00000080\tPCI Express Uncorrectable non-fatal\n");
5406    }
5407  } else {
5408
5409  }
5410  }
5411  {
5412#line 567
5413  __cil_tmp30 = & available_error_type;
5414#line 567
5415  __cil_tmp31 = *__cil_tmp30;
5416#line 567
5417  __cil_tmp32 = __cil_tmp31 & 256U;
5418#line 567
5419  if (__cil_tmp32 != 0U) {
5420    {
5421#line 568
5422    seq_printf(m, "0x00000100\tPCI Express Uncorrectable fatal\n");
5423    }
5424  } else {
5425
5426  }
5427  }
5428  {
5429#line 569
5430  __cil_tmp33 = & available_error_type;
5431#line 569
5432  __cil_tmp34 = *__cil_tmp33;
5433#line 569
5434  __cil_tmp35 = __cil_tmp34 & 512U;
5435#line 569
5436  if (__cil_tmp35 != 0U) {
5437    {
5438#line 570
5439    seq_printf(m, "0x00000200\tPlatform Correctable\n");
5440    }
5441  } else {
5442
5443  }
5444  }
5445  {
5446#line 571
5447  __cil_tmp36 = & available_error_type;
5448#line 571
5449  __cil_tmp37 = *__cil_tmp36;
5450#line 571
5451  __cil_tmp38 = __cil_tmp37 & 1024U;
5452#line 571
5453  if (__cil_tmp38 != 0U) {
5454    {
5455#line 572
5456    seq_printf(m, "0x00000400\tPlatform Uncorrectable non-fatal\n");
5457    }
5458  } else {
5459
5460  }
5461  }
5462  {
5463#line 573
5464  __cil_tmp39 = & available_error_type;
5465#line 573
5466  __cil_tmp40 = *__cil_tmp39;
5467#line 573
5468  __cil_tmp41 = __cil_tmp40 & 2048U;
5469#line 573
5470  if (__cil_tmp41 != 0U) {
5471    {
5472#line 574
5473    seq_printf(m, "0x00000800\tPlatform Uncorrectable fatal\n");
5474    }
5475  } else {
5476
5477  }
5478  }
5479#line 576
5480  return (0);
5481}
5482}
5483#line 579 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5484static int available_error_type_open(struct inode *inode , struct file *file ) 
5485{ int tmp ;
5486  void *__cil_tmp4 ;
5487
5488  {
5489  {
5490#line 581
5491  __cil_tmp4 = (void *)0;
5492#line 581
5493  tmp = single_open(file, & available_error_type_show, __cil_tmp4);
5494  }
5495#line 581
5496  return (tmp);
5497}
5498}
5499#line 584 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5500static struct file_operations  const  available_error_type_fops  = 
5501#line 584
5502     {(struct module *)0, & seq_lseek, & seq_read, (ssize_t (*)(struct file * , char const   * ,
5503                                                              size_t  , loff_t * ))0,
5504    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
5505    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
5506    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
5507                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
5508                                                                                            struct poll_table_struct * ))0,
5509    (long (*)(struct file * , unsigned int  , unsigned long  ))0, (long (*)(struct file * ,
5510                                                                            unsigned int  ,
5511                                                                            unsigned long  ))0,
5512    (int (*)(struct file * , struct vm_area_struct * ))0, & available_error_type_open,
5513    (int (*)(struct file * , fl_owner_t  ))0, & single_release, (int (*)(struct file * ,
5514                                                                         loff_t  ,
5515                                                                         loff_t  ,
5516                                                                         int  ))0,
5517    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
5518    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
5519                                                                         struct page * ,
5520                                                                         int  , size_t  ,
5521                                                                         loff_t * ,
5522                                                                         int  ))0,
5523    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
5524                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
5525                                                                       int  , struct file_lock * ))0,
5526    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
5527    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
5528    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
5529                                                                        int  , loff_t  ,
5530                                                                        loff_t  ))0};
5531#line 591 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5532static int error_type_get(void *data , u64 *val ) 
5533{ 
5534
5535  {
5536#line 593
5537  *val = (u64 )error_type;
5538#line 595
5539  return (0);
5540}
5541}
5542#line 598 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5543static int error_type_set(void *data , u64 val ) 
5544{ int rc ;
5545  u32 available_error_type ;
5546  u32 tval ;
5547  u32 vendor ;
5548  u32 *__cil_tmp7 ;
5549  u32 __cil_tmp8 ;
5550  u32 __cil_tmp9 ;
5551  u32 __cil_tmp10 ;
5552  unsigned int __cil_tmp11 ;
5553  u32 *__cil_tmp12 ;
5554  u32 __cil_tmp13 ;
5555  u64 __cil_tmp14 ;
5556  unsigned long long __cil_tmp15 ;
5557
5558  {
5559#line 601
5560  __cil_tmp7 = & available_error_type;
5561#line 601
5562  *__cil_tmp7 = 0U;
5563#line 608
5564  __cil_tmp8 = (u32 )val;
5565#line 608
5566  vendor = __cil_tmp8 & 2147483648U;
5567#line 609
5568  __cil_tmp9 = (u32 )val;
5569#line 609
5570  tval = __cil_tmp9 & 2147483647U;
5571  {
5572#line 612
5573  __cil_tmp10 = tval - 1U;
5574#line 612
5575  __cil_tmp11 = __cil_tmp10 & tval;
5576#line 612
5577  if (__cil_tmp11 != 0U) {
5578#line 613
5579    return (-22);
5580  } else {
5581
5582  }
5583  }
5584#line 614
5585  if (vendor == 0U) {
5586    {
5587#line 615
5588    rc = einj_get_available_error_type(& available_error_type);
5589    }
5590#line 616
5591    if (rc != 0) {
5592#line 617
5593      return (rc);
5594    } else {
5595
5596    }
5597    {
5598#line 618
5599    __cil_tmp12 = & available_error_type;
5600#line 618
5601    __cil_tmp13 = *__cil_tmp12;
5602#line 618
5603    __cil_tmp14 = (u64 )__cil_tmp13;
5604#line 618
5605    __cil_tmp15 = __cil_tmp14 & val;
5606#line 618
5607    if (__cil_tmp15 == 0ULL) {
5608#line 619
5609      return (-22);
5610    } else {
5611
5612    }
5613    }
5614  } else {
5615
5616  }
5617#line 621
5618  error_type = (u32 )val;
5619#line 623
5620  return (0);
5621}
5622}
5623#line 627 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5624static int error_type_fops_open(struct inode *inode , struct file *file ) 
5625{ int tmp ;
5626
5627  {
5628  {
5629#line 626
5630  __simple_attr_check_format("0x%llx\n", 0ULL);
5631#line 626
5632  tmp = simple_attr_open(inode, file, & error_type_get, & error_type_set, "0x%llx\n");
5633  }
5634#line 626
5635  return (tmp);
5636}
5637}
5638#line 626 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5639static struct file_operations  const  error_type_fops  = 
5640#line 626
5641     {& __this_module, & generic_file_llseek, & simple_attr_read, & simple_attr_write,
5642    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
5643    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
5644    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
5645                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
5646                                                                                            struct poll_table_struct * ))0,
5647    (long (*)(struct file * , unsigned int  , unsigned long  ))0, (long (*)(struct file * ,
5648                                                                            unsigned int  ,
5649                                                                            unsigned long  ))0,
5650    (int (*)(struct file * , struct vm_area_struct * ))0, & error_type_fops_open,
5651    (int (*)(struct file * , fl_owner_t  ))0, & simple_attr_release, (int (*)(struct file * ,
5652                                                                              loff_t  ,
5653                                                                              loff_t  ,
5654                                                                              int  ))0,
5655    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
5656    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
5657                                                                         struct page * ,
5658                                                                         int  , size_t  ,
5659                                                                         loff_t * ,
5660                                                                         int  ))0,
5661    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
5662                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
5663                                                                       int  , struct file_lock * ))0,
5664    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
5665    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
5666    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
5667                                                                        int  , loff_t  ,
5668                                                                        loff_t  ))0};
5669#line 629 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5670static int error_inject_set(void *data , u64 val ) 
5671{ int tmp ;
5672  u64 *__cil_tmp4 ;
5673  u64 __cil_tmp5 ;
5674  u64 *__cil_tmp6 ;
5675  u64 __cil_tmp7 ;
5676
5677  {
5678#line 631
5679  if (error_type == 0U) {
5680#line 632
5681    return (-22);
5682  } else {
5683
5684  }
5685  {
5686#line 634
5687  __cil_tmp4 = & error_param1;
5688#line 634
5689  __cil_tmp5 = *__cil_tmp4;
5690#line 634
5691  __cil_tmp6 = & error_param2;
5692#line 634
5693  __cil_tmp7 = *__cil_tmp6;
5694#line 634
5695  tmp = einj_error_inject(error_type, __cil_tmp5, __cil_tmp7);
5696  }
5697#line 634
5698  return (tmp);
5699}
5700}
5701#line 638 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5702static int error_inject_fops_open(struct inode *inode , struct file *file ) 
5703{ int tmp ;
5704  int (*__cil_tmp4)(void * , u64 * ) ;
5705
5706  {
5707  {
5708#line 637
5709  __simple_attr_check_format("%llu\n", 0ULL);
5710#line 637
5711  __cil_tmp4 = (int (*)(void * , u64 * ))0;
5712#line 637
5713  tmp = simple_attr_open(inode, file, __cil_tmp4, & error_inject_set, "%llu\n");
5714  }
5715#line 637
5716  return (tmp);
5717}
5718}
5719#line 637 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5720static struct file_operations  const  error_inject_fops  = 
5721#line 637
5722     {& __this_module, & generic_file_llseek, & simple_attr_read, & simple_attr_write,
5723    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
5724    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
5725    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
5726                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
5727                                                                                            struct poll_table_struct * ))0,
5728    (long (*)(struct file * , unsigned int  , unsigned long  ))0, (long (*)(struct file * ,
5729                                                                            unsigned int  ,
5730                                                                            unsigned long  ))0,
5731    (int (*)(struct file * , struct vm_area_struct * ))0, & error_inject_fops_open,
5732    (int (*)(struct file * , fl_owner_t  ))0, & simple_attr_release, (int (*)(struct file * ,
5733                                                                              loff_t  ,
5734                                                                              loff_t  ,
5735                                                                              int  ))0,
5736    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
5737    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
5738                                                                         struct page * ,
5739                                                                         int  , size_t  ,
5740                                                                         loff_t * ,
5741                                                                         int  ))0,
5742    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
5743                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
5744                                                                       int  , struct file_lock * ))0,
5745    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
5746    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
5747    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
5748                                                                        int  , loff_t  ,
5749                                                                        loff_t  ))0};
5750#line 640 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5751static int einj_check_table(struct acpi_table_einj *einj_tab___0 ) 
5752{ unsigned long __cil_tmp2 ;
5753  unsigned long __cil_tmp3 ;
5754  u32 __cil_tmp4 ;
5755  unsigned long __cil_tmp5 ;
5756  unsigned long __cil_tmp6 ;
5757  u32 __cil_tmp7 ;
5758  unsigned long __cil_tmp8 ;
5759  unsigned long __cil_tmp9 ;
5760  unsigned long __cil_tmp10 ;
5761  u32 __cil_tmp11 ;
5762  unsigned long __cil_tmp12 ;
5763  unsigned long __cil_tmp13 ;
5764  unsigned long __cil_tmp14 ;
5765  u32 __cil_tmp15 ;
5766  unsigned long __cil_tmp16 ;
5767  unsigned long __cil_tmp17 ;
5768  unsigned long __cil_tmp18 ;
5769  unsigned long __cil_tmp19 ;
5770  unsigned long __cil_tmp20 ;
5771  u32 __cil_tmp21 ;
5772  unsigned long __cil_tmp22 ;
5773
5774  {
5775  {
5776#line 642
5777  __cil_tmp2 = (unsigned long )einj_tab___0;
5778#line 642
5779  __cil_tmp3 = __cil_tmp2 + 36;
5780#line 642
5781  __cil_tmp4 = *((u32 *)__cil_tmp3);
5782#line 642
5783  if (__cil_tmp4 != 12U) {
5784    {
5785#line 642
5786    __cil_tmp5 = (unsigned long )einj_tab___0;
5787#line 642
5788    __cil_tmp6 = __cil_tmp5 + 36;
5789#line 642
5790    __cil_tmp7 = *((u32 *)__cil_tmp6);
5791#line 642
5792    if (__cil_tmp7 != 48U) {
5793#line 645
5794      return (-22);
5795    } else {
5796
5797    }
5798    }
5799  } else {
5800
5801  }
5802  }
5803  {
5804#line 646
5805  __cil_tmp8 = 0 + 4;
5806#line 646
5807  __cil_tmp9 = (unsigned long )einj_tab___0;
5808#line 646
5809  __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
5810#line 646
5811  __cil_tmp11 = *((u32 *)__cil_tmp10);
5812#line 646
5813  if (__cil_tmp11 <= 47U) {
5814#line 647
5815    return (-22);
5816  } else {
5817
5818  }
5819  }
5820  {
5821#line 648
5822  __cil_tmp12 = 0 + 4;
5823#line 648
5824  __cil_tmp13 = (unsigned long )einj_tab___0;
5825#line 648
5826  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
5827#line 648
5828  __cil_tmp15 = *((u32 *)__cil_tmp14);
5829#line 648
5830  __cil_tmp16 = (unsigned long )__cil_tmp15;
5831#line 648
5832  __cil_tmp17 = __cil_tmp16 - 48UL;
5833#line 648
5834  __cil_tmp18 = __cil_tmp17 / 32UL;
5835#line 648
5836  __cil_tmp19 = (unsigned long )einj_tab___0;
5837#line 648
5838  __cil_tmp20 = __cil_tmp19 + 44;
5839#line 648
5840  __cil_tmp21 = *((u32 *)__cil_tmp20);
5841#line 648
5842  __cil_tmp22 = (unsigned long )__cil_tmp21;
5843#line 648
5844  if (__cil_tmp22 != __cil_tmp18) {
5845#line 651
5846    return (-22);
5847  } else {
5848
5849  }
5850  }
5851#line 653
5852  return (0);
5853}
5854}
5855#line 656 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
5856static int einj_init(void) 
5857{ int rc ;
5858  acpi_status status ;
5859  struct dentry *fentry ;
5860  struct apei_exec_context ctx ;
5861  char const   *msg ;
5862  char const   *tmp ;
5863  struct dentry *tmp___0 ;
5864  acpi_size size ;
5865  char *__cil_tmp9 ;
5866  struct acpi_table_header **__cil_tmp10 ;
5867  struct acpi_table_einj **__cil_tmp11 ;
5868  struct acpi_table_einj *__cil_tmp12 ;
5869  struct dentry *__cil_tmp13 ;
5870  unsigned long __cil_tmp14 ;
5871  unsigned long __cil_tmp15 ;
5872  umode_t __cil_tmp16 ;
5873  void *__cil_tmp17 ;
5874  struct dentry *__cil_tmp18 ;
5875  unsigned long __cil_tmp19 ;
5876  unsigned long __cil_tmp20 ;
5877  umode_t __cil_tmp21 ;
5878  void *__cil_tmp22 ;
5879  struct dentry *__cil_tmp23 ;
5880  unsigned long __cil_tmp24 ;
5881  unsigned long __cil_tmp25 ;
5882  umode_t __cil_tmp26 ;
5883  void *__cil_tmp27 ;
5884  struct dentry *__cil_tmp28 ;
5885  unsigned long __cil_tmp29 ;
5886  unsigned long __cil_tmp30 ;
5887  bool *__cil_tmp31 ;
5888  bool __cil_tmp32 ;
5889  void *__cil_tmp33 ;
5890  unsigned long __cil_tmp34 ;
5891  unsigned long __cil_tmp35 ;
5892  umode_t __cil_tmp36 ;
5893  struct dentry *__cil_tmp37 ;
5894  unsigned long __cil_tmp38 ;
5895  unsigned long __cil_tmp39 ;
5896  umode_t __cil_tmp40 ;
5897  struct dentry *__cil_tmp41 ;
5898  unsigned long __cil_tmp42 ;
5899  unsigned long __cil_tmp43 ;
5900  umode_t __cil_tmp44 ;
5901  struct dentry *__cil_tmp45 ;
5902  unsigned long __cil_tmp46 ;
5903  unsigned long __cil_tmp47 ;
5904  unsigned long __cil_tmp48 ;
5905  unsigned long __cil_tmp49 ;
5906  char __cil_tmp50 ;
5907  signed char __cil_tmp51 ;
5908  int __cil_tmp52 ;
5909  struct debugfs_blob_wrapper *__cil_tmp53 ;
5910  unsigned long __cil_tmp54 ;
5911  char const   *__cil_tmp55 ;
5912  umode_t __cil_tmp56 ;
5913  struct dentry *__cil_tmp57 ;
5914  unsigned long __cil_tmp58 ;
5915  unsigned long __cil_tmp59 ;
5916  umode_t __cil_tmp60 ;
5917  struct dentry *__cil_tmp61 ;
5918  unsigned long __cil_tmp62 ;
5919  unsigned long __cil_tmp63 ;
5920  void *__cil_tmp64 ;
5921  unsigned long __cil_tmp65 ;
5922  unsigned long __cil_tmp66 ;
5923
5924  {
5925#line 663
5926  if (acpi_disabled != 0) {
5927#line 664
5928    return (-19);
5929  } else {
5930
5931  }
5932  {
5933#line 666
5934  __cil_tmp9 = (char *)"EINJ";
5935#line 666
5936  __cil_tmp10 = (struct acpi_table_header **)(& einj_tab);
5937#line 666
5938  status = acpi_get_table(__cil_tmp9, 0U, __cil_tmp10);
5939  }
5940#line 668
5941  if (status == 5U) {
5942#line 669
5943    return (-19);
5944  } else
5945#line 670
5946  if (status != 0U) {
5947    {
5948#line 671
5949    tmp = acpi_format_exception(status);
5950#line 671
5951    msg = tmp;
5952#line 672
5953    printk("<3>EINJ: Failed to get table, %s\n", msg);
5954    }
5955#line 673
5956    return (-22);
5957  } else {
5958
5959  }
5960  {
5961#line 676
5962  __cil_tmp11 = & einj_tab;
5963#line 676
5964  __cil_tmp12 = *__cil_tmp11;
5965#line 676
5966  rc = einj_check_table(__cil_tmp12);
5967  }
5968#line 677
5969  if (rc != 0) {
5970    {
5971#line 678
5972    printk("<4>[Firmware Bug]: EINJ: EINJ table is invalid\n");
5973    }
5974#line 679
5975    return (-22);
5976  } else {
5977
5978  }
5979  {
5980#line 682
5981  rc = -12;
5982#line 683
5983  tmp___0 = apei_get_debugfs_dir();
5984#line 683
5985  einj_debug_dir = debugfs_create_dir("einj", tmp___0);
5986  }
5987  {
5988#line 684
5989  __cil_tmp13 = (struct dentry *)0;
5990#line 684
5991  __cil_tmp14 = (unsigned long )__cil_tmp13;
5992#line 684
5993  __cil_tmp15 = (unsigned long )einj_debug_dir;
5994#line 684
5995  if (__cil_tmp15 == __cil_tmp14) {
5996#line 685
5997    goto err_cleanup;
5998  } else {
5999
6000  }
6001  }
6002  {
6003#line 686
6004  __cil_tmp16 = (umode_t )256;
6005#line 686
6006  __cil_tmp17 = (void *)0;
6007#line 686
6008  fentry = debugfs_create_file("available_error_type", __cil_tmp16, einj_debug_dir,
6009                               __cil_tmp17, & available_error_type_fops);
6010  }
6011  {
6012#line 689
6013  __cil_tmp18 = (struct dentry *)0;
6014#line 689
6015  __cil_tmp19 = (unsigned long )__cil_tmp18;
6016#line 689
6017  __cil_tmp20 = (unsigned long )fentry;
6018#line 689
6019  if (__cil_tmp20 == __cil_tmp19) {
6020#line 690
6021    goto err_cleanup;
6022  } else {
6023
6024  }
6025  }
6026  {
6027#line 691
6028  __cil_tmp21 = (umode_t )384;
6029#line 691
6030  __cil_tmp22 = (void *)0;
6031#line 691
6032  fentry = debugfs_create_file("error_type", __cil_tmp21, einj_debug_dir, __cil_tmp22,
6033                               & error_type_fops);
6034  }
6035  {
6036#line 693
6037  __cil_tmp23 = (struct dentry *)0;
6038#line 693
6039  __cil_tmp24 = (unsigned long )__cil_tmp23;
6040#line 693
6041  __cil_tmp25 = (unsigned long )fentry;
6042#line 693
6043  if (__cil_tmp25 == __cil_tmp24) {
6044#line 694
6045    goto err_cleanup;
6046  } else {
6047
6048  }
6049  }
6050  {
6051#line 695
6052  __cil_tmp26 = (umode_t )128;
6053#line 695
6054  __cil_tmp27 = (void *)0;
6055#line 695
6056  fentry = debugfs_create_file("error_inject", __cil_tmp26, einj_debug_dir, __cil_tmp27,
6057                               & error_inject_fops);
6058  }
6059  {
6060#line 697
6061  __cil_tmp28 = (struct dentry *)0;
6062#line 697
6063  __cil_tmp29 = (unsigned long )__cil_tmp28;
6064#line 697
6065  __cil_tmp30 = (unsigned long )fentry;
6066#line 697
6067  if (__cil_tmp30 == __cil_tmp29) {
6068#line 698
6069    goto err_cleanup;
6070  } else {
6071
6072  }
6073  }
6074  {
6075#line 700
6076  apei_resources_init(& einj_resources);
6077#line 701
6078  einj_exec_ctx_init(& ctx);
6079#line 702
6080  rc = apei_exec_collect_resources(& ctx, & einj_resources);
6081  }
6082#line 703
6083  if (rc != 0) {
6084#line 704
6085    goto err_fini;
6086  } else {
6087
6088  }
6089  {
6090#line 705
6091  rc = apei_resources_request(& einj_resources, "APEI EINJ");
6092  }
6093#line 706
6094  if (rc != 0) {
6095#line 707
6096    goto err_fini;
6097  } else {
6098
6099  }
6100  {
6101#line 708
6102  rc = apei_exec_pre_map_gars(& ctx);
6103  }
6104#line 709
6105  if (rc != 0) {
6106#line 710
6107    goto err_release;
6108  } else {
6109
6110  }
6111  {
6112#line 712
6113  einj_param = einj_get_parameter_address();
6114  }
6115  {
6116#line 713
6117  __cil_tmp31 = & param_extension;
6118#line 713
6119  __cil_tmp32 = *__cil_tmp31;
6120#line 713
6121  if ((int )__cil_tmp32) {
6122#line 713
6123    goto _L;
6124  } else
6125#line 713
6126  if (acpi5 != 0) {
6127    _L: /* CIL Label */ 
6128    {
6129#line 713
6130    __cil_tmp33 = (void *)0;
6131#line 713
6132    __cil_tmp34 = (unsigned long )__cil_tmp33;
6133#line 713
6134    __cil_tmp35 = (unsigned long )einj_param;
6135#line 713
6136    if (__cil_tmp35 != __cil_tmp34) {
6137      {
6138#line 714
6139      __cil_tmp36 = (umode_t )384;
6140#line 714
6141      fentry = debugfs_create_x64("param1", __cil_tmp36, einj_debug_dir, & error_param1);
6142      }
6143      {
6144#line 716
6145      __cil_tmp37 = (struct dentry *)0;
6146#line 716
6147      __cil_tmp38 = (unsigned long )__cil_tmp37;
6148#line 716
6149      __cil_tmp39 = (unsigned long )fentry;
6150#line 716
6151      if (__cil_tmp39 == __cil_tmp38) {
6152#line 717
6153        goto err_unmap;
6154      } else {
6155
6156      }
6157      }
6158      {
6159#line 718
6160      __cil_tmp40 = (umode_t )384;
6161#line 718
6162      fentry = debugfs_create_x64("param2", __cil_tmp40, einj_debug_dir, & error_param2);
6163      }
6164      {
6165#line 720
6166      __cil_tmp41 = (struct dentry *)0;
6167#line 720
6168      __cil_tmp42 = (unsigned long )__cil_tmp41;
6169#line 720
6170      __cil_tmp43 = (unsigned long )fentry;
6171#line 720
6172      if (__cil_tmp43 == __cil_tmp42) {
6173#line 721
6174        goto err_unmap;
6175      } else {
6176
6177      }
6178      }
6179      {
6180#line 723
6181      __cil_tmp44 = (umode_t )384;
6182#line 723
6183      fentry = debugfs_create_x32("notrigger", __cil_tmp44, einj_debug_dir, & notrigger);
6184      }
6185      {
6186#line 725
6187      __cil_tmp45 = (struct dentry *)0;
6188#line 725
6189      __cil_tmp46 = (unsigned long )__cil_tmp45;
6190#line 725
6191      __cil_tmp47 = (unsigned long )fentry;
6192#line 725
6193      if (__cil_tmp47 == __cil_tmp46) {
6194#line 726
6195        goto err_unmap;
6196      } else {
6197
6198      }
6199      }
6200    } else {
6201
6202    }
6203    }
6204  } else {
6205
6206  }
6207  }
6208  {
6209#line 729
6210  __cil_tmp48 = 0 * 1UL;
6211#line 729
6212  __cil_tmp49 = (unsigned long )(vendor_dev) + __cil_tmp48;
6213#line 729
6214  __cil_tmp50 = *((char *)__cil_tmp49);
6215#line 729
6216  __cil_tmp51 = (signed char )__cil_tmp50;
6217#line 729
6218  __cil_tmp52 = (int )__cil_tmp51;
6219#line 729
6220  if (__cil_tmp52 != 0) {
6221    {
6222#line 730
6223    __cil_tmp53 = & vendor_blob;
6224#line 730
6225    *((void **)__cil_tmp53) = (void *)(& vendor_dev);
6226#line 731
6227    __cil_tmp54 = (unsigned long )(& vendor_blob) + 8;
6228#line 731
6229    __cil_tmp55 = (char const   *)(& vendor_dev);
6230#line 731
6231    *((unsigned long *)__cil_tmp54) = strlen(__cil_tmp55);
6232#line 732
6233    __cil_tmp56 = (umode_t )256;
6234#line 732
6235    fentry = debugfs_create_blob("vendor", __cil_tmp56, einj_debug_dir, & vendor_blob);
6236    }
6237    {
6238#line 734
6239    __cil_tmp57 = (struct dentry *)0;
6240#line 734
6241    __cil_tmp58 = (unsigned long )__cil_tmp57;
6242#line 734
6243    __cil_tmp59 = (unsigned long )fentry;
6244#line 734
6245    if (__cil_tmp59 == __cil_tmp58) {
6246#line 735
6247      goto err_unmap;
6248    } else {
6249
6250    }
6251    }
6252    {
6253#line 736
6254    __cil_tmp60 = (umode_t )384;
6255#line 736
6256    fentry = debugfs_create_x32("vendor_flags", __cil_tmp60, einj_debug_dir, & vendor_flags);
6257    }
6258    {
6259#line 738
6260    __cil_tmp61 = (struct dentry *)0;
6261#line 738
6262    __cil_tmp62 = (unsigned long )__cil_tmp61;
6263#line 738
6264    __cil_tmp63 = (unsigned long )fentry;
6265#line 738
6266    if (__cil_tmp63 == __cil_tmp62) {
6267#line 739
6268      goto err_unmap;
6269    } else {
6270
6271    }
6272    }
6273  } else {
6274
6275  }
6276  }
6277  {
6278#line 742
6279  printk("<6>EINJ: Error INJection is initialized.\n");
6280  }
6281#line 744
6282  return (0);
6283  err_unmap: ;
6284  {
6285#line 747
6286  __cil_tmp64 = (void *)0;
6287#line 747
6288  __cil_tmp65 = (unsigned long )__cil_tmp64;
6289#line 747
6290  __cil_tmp66 = (unsigned long )einj_param;
6291#line 747
6292  if (__cil_tmp66 != __cil_tmp65) {
6293    {
6294#line 748
6295    size = 40ULL;
6296#line 752
6297    acpi_os_unmap_memory(einj_param, size);
6298    }
6299  } else {
6300
6301  }
6302  }
6303  {
6304#line 754
6305  apei_exec_post_unmap_gars(& ctx);
6306  }
6307  err_release: 
6308  {
6309#line 756
6310  apei_resources_release(& einj_resources);
6311  }
6312  err_fini: 
6313  {
6314#line 758
6315  apei_resources_fini(& einj_resources);
6316  }
6317  err_cleanup: 
6318  {
6319#line 760
6320  debugfs_remove_recursive(einj_debug_dir);
6321  }
6322#line 762
6323  return (rc);
6324}
6325}
6326#line 765 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6327static void einj_exit(void) 
6328{ struct apei_exec_context ctx ;
6329  acpi_size size ;
6330  void *__cil_tmp3 ;
6331  unsigned long __cil_tmp4 ;
6332  unsigned long __cil_tmp5 ;
6333
6334  {
6335  {
6336#line 769
6337  __cil_tmp3 = (void *)0;
6338#line 769
6339  __cil_tmp4 = (unsigned long )__cil_tmp3;
6340#line 769
6341  __cil_tmp5 = (unsigned long )einj_param;
6342#line 769
6343  if (__cil_tmp5 != __cil_tmp4) {
6344    {
6345#line 770
6346    size = 40ULL;
6347#line 774
6348    acpi_os_unmap_memory(einj_param, size);
6349    }
6350  } else {
6351
6352  }
6353  }
6354  {
6355#line 776
6356  einj_exec_ctx_init(& ctx);
6357#line 777
6358  apei_exec_post_unmap_gars(& ctx);
6359#line 778
6360  apei_resources_release(& einj_resources);
6361#line 779
6362  apei_resources_fini(& einj_resources);
6363#line 780
6364  debugfs_remove_recursive(einj_debug_dir);
6365  }
6366#line 781
6367  return;
6368}
6369}
6370#line 806
6371extern void ldv_check_final_state(void) ;
6372#line 809
6373extern void ldv_check_return_value(int  ) ;
6374#line 812
6375extern void ldv_initialize(void) ;
6376#line 815
6377extern int __VERIFIER_nondet_int(void) ;
6378#line 818 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6379int LDV_IN_INTERRUPT  ;
6380#line 821 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6381void main(void) 
6382{ struct inode *var_group1 ;
6383  struct file *var_group2 ;
6384  int res_available_error_type_open_12 ;
6385  int ldv_s_available_error_type_fops_file_operations ;
6386  int tmp ;
6387  int tmp___0 ;
6388  int tmp___1 ;
6389
6390  {
6391  {
6392#line 882
6393  ldv_s_available_error_type_fops_file_operations = 0;
6394#line 854
6395  LDV_IN_INTERRUPT = 1;
6396#line 863
6397  ldv_initialize();
6398#line 880
6399  tmp = einj_init();
6400  }
6401#line 880
6402  if (tmp != 0) {
6403#line 881
6404    goto ldv_final;
6405  } else {
6406
6407  }
6408#line 885
6409  goto ldv_23677;
6410  ldv_23676: 
6411  {
6412#line 889
6413  tmp___0 = __VERIFIER_nondet_int();
6414  }
6415#line 891
6416  if (tmp___0 == 0) {
6417#line 891
6418    goto case_0;
6419  } else {
6420    {
6421#line 921
6422    goto switch_default;
6423#line 889
6424    if (0) {
6425      case_0: /* CIL Label */ ;
6426#line 894
6427      if (ldv_s_available_error_type_fops_file_operations == 0) {
6428        {
6429#line 910
6430        res_available_error_type_open_12 = available_error_type_open(var_group1, var_group2);
6431#line 911
6432        ldv_check_return_value(res_available_error_type_open_12);
6433        }
6434#line 912
6435        if (res_available_error_type_open_12 != 0) {
6436#line 913
6437          goto ldv_module_exit;
6438        } else {
6439
6440        }
6441#line 914
6442        ldv_s_available_error_type_fops_file_operations = 0;
6443      } else {
6444
6445      }
6446#line 920
6447      goto ldv_23674;
6448      switch_default: /* CIL Label */ ;
6449#line 921
6450      goto ldv_23674;
6451    } else {
6452      switch_break: /* CIL Label */ ;
6453    }
6454    }
6455  }
6456  ldv_23674: ;
6457  ldv_23677: 
6458  {
6459#line 885
6460  tmp___1 = __VERIFIER_nondet_int();
6461  }
6462#line 885
6463  if (tmp___1 != 0) {
6464#line 887
6465    goto ldv_23676;
6466  } else
6467#line 885
6468  if (ldv_s_available_error_type_fops_file_operations != 0) {
6469#line 887
6470    goto ldv_23676;
6471  } else {
6472#line 889
6473    goto ldv_23678;
6474  }
6475  ldv_23678: ;
6476  ldv_module_exit: 
6477  {
6478#line 944
6479  einj_exit();
6480  }
6481  ldv_final: 
6482  {
6483#line 947
6484  ldv_check_final_state();
6485  }
6486#line 950
6487  return;
6488}
6489}
6490#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
6491void ldv_blast_assert(void) 
6492{ 
6493
6494  {
6495  ERROR: ;
6496#line 6
6497  goto ERROR;
6498}
6499}
6500#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
6501extern int __VERIFIER_nondet_int(void) ;
6502#line 971 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6503int ldv_spin  =    0;
6504#line 975 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6505void ldv_check_alloc_flags(gfp_t flags ) 
6506{ 
6507
6508  {
6509#line 978
6510  if (ldv_spin != 0) {
6511#line 978
6512    if (flags != 32U) {
6513      {
6514#line 978
6515      ldv_blast_assert();
6516      }
6517    } else {
6518
6519    }
6520  } else {
6521
6522  }
6523#line 981
6524  return;
6525}
6526}
6527#line 981
6528extern struct page *ldv_some_page(void) ;
6529#line 984 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6530struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
6531{ struct page *tmp ;
6532
6533  {
6534#line 987
6535  if (ldv_spin != 0) {
6536#line 987
6537    if (flags != 32U) {
6538      {
6539#line 987
6540      ldv_blast_assert();
6541      }
6542    } else {
6543
6544    }
6545  } else {
6546
6547  }
6548  {
6549#line 989
6550  tmp = ldv_some_page();
6551  }
6552#line 989
6553  return (tmp);
6554}
6555}
6556#line 993 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6557void ldv_check_alloc_nonatomic(void) 
6558{ 
6559
6560  {
6561#line 996
6562  if (ldv_spin != 0) {
6563    {
6564#line 996
6565    ldv_blast_assert();
6566    }
6567  } else {
6568
6569  }
6570#line 999
6571  return;
6572}
6573}
6574#line 1000 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6575void ldv_spin_lock(void) 
6576{ 
6577
6578  {
6579#line 1003
6580  ldv_spin = 1;
6581#line 1004
6582  return;
6583}
6584}
6585#line 1007 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6586void ldv_spin_unlock(void) 
6587{ 
6588
6589  {
6590#line 1010
6591  ldv_spin = 0;
6592#line 1011
6593  return;
6594}
6595}
6596#line 1014 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6597int ldv_spin_trylock(void) 
6598{ int is_lock ;
6599
6600  {
6601  {
6602#line 1019
6603  is_lock = __VERIFIER_nondet_int();
6604  }
6605#line 1021
6606  if (is_lock != 0) {
6607#line 1024
6608    return (0);
6609  } else {
6610#line 1029
6611    ldv_spin = 1;
6612#line 1031
6613    return (1);
6614  }
6615}
6616}
6617#line 1198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4568/dscv_tempdir/dscv/ri/43_1a/drivers/acpi/apei/einj.c.p"
6618void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
6619{ 
6620
6621  {
6622  {
6623#line 1204
6624  ldv_check_alloc_flags(ldv_func_arg2);
6625#line 1206
6626  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
6627  }
6628#line 1207
6629  return ((void *)0);
6630}
6631}