Showing error 157

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