Showing error 779

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