Showing error 1093

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--mtd--devices--slram.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4998
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 19 "include/asm-generic/int-ll64.h"
   5typedef signed char __s8;
   6#line 20 "include/asm-generic/int-ll64.h"
   7typedef unsigned char __u8;
   8#line 22 "include/asm-generic/int-ll64.h"
   9typedef short __s16;
  10#line 23 "include/asm-generic/int-ll64.h"
  11typedef unsigned short __u16;
  12#line 25 "include/asm-generic/int-ll64.h"
  13typedef int __s32;
  14#line 26 "include/asm-generic/int-ll64.h"
  15typedef unsigned int __u32;
  16#line 29 "include/asm-generic/int-ll64.h"
  17typedef long long __s64;
  18#line 30 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long __u64;
  20#line 43 "include/asm-generic/int-ll64.h"
  21typedef unsigned char u8;
  22#line 45 "include/asm-generic/int-ll64.h"
  23typedef short s16;
  24#line 46 "include/asm-generic/int-ll64.h"
  25typedef unsigned short u16;
  26#line 48 "include/asm-generic/int-ll64.h"
  27typedef int s32;
  28#line 49 "include/asm-generic/int-ll64.h"
  29typedef unsigned int u32;
  30#line 51 "include/asm-generic/int-ll64.h"
  31typedef long long s64;
  32#line 52 "include/asm-generic/int-ll64.h"
  33typedef unsigned long long u64;
  34#line 14 "include/asm-generic/posix_types.h"
  35typedef long __kernel_long_t;
  36#line 15 "include/asm-generic/posix_types.h"
  37typedef unsigned long __kernel_ulong_t;
  38#line 31 "include/asm-generic/posix_types.h"
  39typedef int __kernel_pid_t;
  40#line 52 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_uid32_t;
  42#line 53 "include/asm-generic/posix_types.h"
  43typedef unsigned int __kernel_gid32_t;
  44#line 75 "include/asm-generic/posix_types.h"
  45typedef __kernel_ulong_t __kernel_size_t;
  46#line 76 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_ssize_t;
  48#line 91 "include/asm-generic/posix_types.h"
  49typedef long long __kernel_loff_t;
  50#line 92 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_time_t;
  52#line 93 "include/asm-generic/posix_types.h"
  53typedef __kernel_long_t __kernel_clock_t;
  54#line 94 "include/asm-generic/posix_types.h"
  55typedef int __kernel_timer_t;
  56#line 95 "include/asm-generic/posix_types.h"
  57typedef int __kernel_clockid_t;
  58#line 21 "include/linux/types.h"
  59typedef __u32 __kernel_dev_t;
  60#line 24 "include/linux/types.h"
  61typedef __kernel_dev_t dev_t;
  62#line 27 "include/linux/types.h"
  63typedef unsigned short umode_t;
  64#line 30 "include/linux/types.h"
  65typedef __kernel_pid_t pid_t;
  66#line 35 "include/linux/types.h"
  67typedef __kernel_clockid_t clockid_t;
  68#line 38 "include/linux/types.h"
  69typedef _Bool bool;
  70#line 40 "include/linux/types.h"
  71typedef __kernel_uid32_t uid_t;
  72#line 41 "include/linux/types.h"
  73typedef __kernel_gid32_t gid_t;
  74#line 54 "include/linux/types.h"
  75typedef __kernel_loff_t loff_t;
  76#line 63 "include/linux/types.h"
  77typedef __kernel_size_t size_t;
  78#line 68 "include/linux/types.h"
  79typedef __kernel_ssize_t ssize_t;
  80#line 78 "include/linux/types.h"
  81typedef __kernel_time_t time_t;
  82#line 92 "include/linux/types.h"
  83typedef unsigned char u_char;
  84#line 95 "include/linux/types.h"
  85typedef unsigned long u_long;
  86#line 111 "include/linux/types.h"
  87typedef __s32 int32_t;
  88#line 115 "include/linux/types.h"
  89typedef __u8 uint8_t;
  90#line 117 "include/linux/types.h"
  91typedef __u32 uint32_t;
  92#line 120 "include/linux/types.h"
  93typedef __u64 uint64_t;
  94#line 142 "include/linux/types.h"
  95typedef unsigned long sector_t;
  96#line 143 "include/linux/types.h"
  97typedef unsigned long blkcnt_t;
  98#line 202 "include/linux/types.h"
  99typedef unsigned int gfp_t;
 100#line 203 "include/linux/types.h"
 101typedef unsigned int fmode_t;
 102#line 206 "include/linux/types.h"
 103typedef u64 phys_addr_t;
 104#line 211 "include/linux/types.h"
 105typedef phys_addr_t resource_size_t;
 106#line 221 "include/linux/types.h"
 107struct __anonstruct_atomic_t_6 {
 108   int counter ;
 109};
 110#line 221 "include/linux/types.h"
 111typedef struct __anonstruct_atomic_t_6 atomic_t;
 112#line 226 "include/linux/types.h"
 113struct __anonstruct_atomic64_t_7 {
 114   long counter ;
 115};
 116#line 226 "include/linux/types.h"
 117typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 118#line 227 "include/linux/types.h"
 119struct list_head {
 120   struct list_head *next ;
 121   struct list_head *prev ;
 122};
 123#line 232
 124struct hlist_node;
 125#line 232 "include/linux/types.h"
 126struct hlist_head {
 127   struct hlist_node *first ;
 128};
 129#line 236 "include/linux/types.h"
 130struct hlist_node {
 131   struct hlist_node *next ;
 132   struct hlist_node **pprev ;
 133};
 134#line 247 "include/linux/types.h"
 135struct rcu_head {
 136   struct rcu_head *next ;
 137   void (*func)(struct rcu_head * ) ;
 138};
 139#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 140struct module;
 141#line 55
 142struct module;
 143#line 146 "include/linux/init.h"
 144typedef void (*ctor_fn_t)(void);
 145#line 46 "include/linux/dynamic_debug.h"
 146struct device;
 147#line 46
 148struct device;
 149#line 57
 150struct completion;
 151#line 57
 152struct completion;
 153#line 58
 154struct pt_regs;
 155#line 58
 156struct pt_regs;
 157#line 348 "include/linux/kernel.h"
 158struct pid;
 159#line 348
 160struct pid;
 161#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 162struct timespec;
 163#line 112
 164struct timespec;
 165#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 166struct page;
 167#line 58
 168struct page;
 169#line 26 "include/asm-generic/getorder.h"
 170struct task_struct;
 171#line 26
 172struct task_struct;
 173#line 28
 174struct mm_struct;
 175#line 28
 176struct mm_struct;
 177#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 178struct pt_regs {
 179   unsigned long r15 ;
 180   unsigned long r14 ;
 181   unsigned long r13 ;
 182   unsigned long r12 ;
 183   unsigned long bp ;
 184   unsigned long bx ;
 185   unsigned long r11 ;
 186   unsigned long r10 ;
 187   unsigned long r9 ;
 188   unsigned long r8 ;
 189   unsigned long ax ;
 190   unsigned long cx ;
 191   unsigned long dx ;
 192   unsigned long si ;
 193   unsigned long di ;
 194   unsigned long orig_ax ;
 195   unsigned long ip ;
 196   unsigned long cs ;
 197   unsigned long flags ;
 198   unsigned long sp ;
 199   unsigned long ss ;
 200};
 201#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 202struct __anonstruct_ldv_2180_13 {
 203   unsigned int a ;
 204   unsigned int b ;
 205};
 206#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 207struct __anonstruct_ldv_2195_14 {
 208   u16 limit0 ;
 209   u16 base0 ;
 210   unsigned char base1 ;
 211   unsigned char type : 4 ;
 212   unsigned char s : 1 ;
 213   unsigned char dpl : 2 ;
 214   unsigned char p : 1 ;
 215   unsigned char limit : 4 ;
 216   unsigned char avl : 1 ;
 217   unsigned char l : 1 ;
 218   unsigned char d : 1 ;
 219   unsigned char g : 1 ;
 220   unsigned char base2 ;
 221};
 222#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 223union __anonunion_ldv_2196_12 {
 224   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 225   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 226};
 227#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 228struct desc_struct {
 229   union __anonunion_ldv_2196_12 ldv_2196 ;
 230};
 231#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 232typedef unsigned long pgdval_t;
 233#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 234typedef unsigned long pgprotval_t;
 235#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 236struct pgprot {
 237   pgprotval_t pgprot ;
 238};
 239#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 240typedef struct pgprot pgprot_t;
 241#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 242struct __anonstruct_pgd_t_16 {
 243   pgdval_t pgd ;
 244};
 245#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 246typedef struct __anonstruct_pgd_t_16 pgd_t;
 247#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 248typedef struct page *pgtable_t;
 249#line 290
 250struct file;
 251#line 290
 252struct file;
 253#line 305
 254struct seq_file;
 255#line 305
 256struct seq_file;
 257#line 337
 258struct thread_struct;
 259#line 337
 260struct thread_struct;
 261#line 339
 262struct cpumask;
 263#line 339
 264struct cpumask;
 265#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 266struct arch_spinlock;
 267#line 327
 268struct arch_spinlock;
 269#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 270struct kernel_vm86_regs {
 271   struct pt_regs pt ;
 272   unsigned short es ;
 273   unsigned short __esh ;
 274   unsigned short ds ;
 275   unsigned short __dsh ;
 276   unsigned short fs ;
 277   unsigned short __fsh ;
 278   unsigned short gs ;
 279   unsigned short __gsh ;
 280};
 281#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 282union __anonunion_ldv_2824_19 {
 283   struct pt_regs *regs ;
 284   struct kernel_vm86_regs *vm86 ;
 285};
 286#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 287struct math_emu_info {
 288   long ___orig_eip ;
 289   union __anonunion_ldv_2824_19 ldv_2824 ;
 290};
 291#line 306 "include/linux/bitmap.h"
 292struct bug_entry {
 293   int bug_addr_disp ;
 294   int file_disp ;
 295   unsigned short line ;
 296   unsigned short flags ;
 297};
 298#line 89 "include/linux/bug.h"
 299struct cpumask {
 300   unsigned long bits[64U] ;
 301};
 302#line 14 "include/linux/cpumask.h"
 303typedef struct cpumask cpumask_t;
 304#line 637 "include/linux/cpumask.h"
 305typedef struct cpumask *cpumask_var_t;
 306#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 307struct static_key;
 308#line 234
 309struct static_key;
 310#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 311struct i387_fsave_struct {
 312   u32 cwd ;
 313   u32 swd ;
 314   u32 twd ;
 315   u32 fip ;
 316   u32 fcs ;
 317   u32 foo ;
 318   u32 fos ;
 319   u32 st_space[20U] ;
 320   u32 status ;
 321};
 322#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323struct __anonstruct_ldv_5180_24 {
 324   u64 rip ;
 325   u64 rdp ;
 326};
 327#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 328struct __anonstruct_ldv_5186_25 {
 329   u32 fip ;
 330   u32 fcs ;
 331   u32 foo ;
 332   u32 fos ;
 333};
 334#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335union __anonunion_ldv_5187_23 {
 336   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 337   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 338};
 339#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 340union __anonunion_ldv_5196_26 {
 341   u32 padding1[12U] ;
 342   u32 sw_reserved[12U] ;
 343};
 344#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 345struct i387_fxsave_struct {
 346   u16 cwd ;
 347   u16 swd ;
 348   u16 twd ;
 349   u16 fop ;
 350   union __anonunion_ldv_5187_23 ldv_5187 ;
 351   u32 mxcsr ;
 352   u32 mxcsr_mask ;
 353   u32 st_space[32U] ;
 354   u32 xmm_space[64U] ;
 355   u32 padding[12U] ;
 356   union __anonunion_ldv_5196_26 ldv_5196 ;
 357};
 358#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 359struct i387_soft_struct {
 360   u32 cwd ;
 361   u32 swd ;
 362   u32 twd ;
 363   u32 fip ;
 364   u32 fcs ;
 365   u32 foo ;
 366   u32 fos ;
 367   u32 st_space[20U] ;
 368   u8 ftop ;
 369   u8 changed ;
 370   u8 lookahead ;
 371   u8 no_update ;
 372   u8 rm ;
 373   u8 alimit ;
 374   struct math_emu_info *info ;
 375   u32 entry_eip ;
 376};
 377#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 378struct ymmh_struct {
 379   u32 ymmh_space[64U] ;
 380};
 381#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 382struct xsave_hdr_struct {
 383   u64 xstate_bv ;
 384   u64 reserved1[2U] ;
 385   u64 reserved2[5U] ;
 386};
 387#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 388struct xsave_struct {
 389   struct i387_fxsave_struct i387 ;
 390   struct xsave_hdr_struct xsave_hdr ;
 391   struct ymmh_struct ymmh ;
 392};
 393#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 394union thread_xstate {
 395   struct i387_fsave_struct fsave ;
 396   struct i387_fxsave_struct fxsave ;
 397   struct i387_soft_struct soft ;
 398   struct xsave_struct xsave ;
 399};
 400#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 401struct fpu {
 402   unsigned int last_cpu ;
 403   unsigned int has_fpu ;
 404   union thread_xstate *state ;
 405};
 406#line 433
 407struct kmem_cache;
 408#line 434
 409struct perf_event;
 410#line 434
 411struct perf_event;
 412#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 413struct thread_struct {
 414   struct desc_struct tls_array[3U] ;
 415   unsigned long sp0 ;
 416   unsigned long sp ;
 417   unsigned long usersp ;
 418   unsigned short es ;
 419   unsigned short ds ;
 420   unsigned short fsindex ;
 421   unsigned short gsindex ;
 422   unsigned long fs ;
 423   unsigned long gs ;
 424   struct perf_event *ptrace_bps[4U] ;
 425   unsigned long debugreg6 ;
 426   unsigned long ptrace_dr7 ;
 427   unsigned long cr2 ;
 428   unsigned long trap_nr ;
 429   unsigned long error_code ;
 430   struct fpu fpu ;
 431   unsigned long *io_bitmap_ptr ;
 432   unsigned long iopl ;
 433   unsigned int io_bitmap_max ;
 434};
 435#line 23 "include/asm-generic/atomic-long.h"
 436typedef atomic64_t atomic_long_t;
 437#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 438typedef u16 __ticket_t;
 439#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 440typedef u32 __ticketpair_t;
 441#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442struct __raw_tickets {
 443   __ticket_t head ;
 444   __ticket_t tail ;
 445};
 446#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 447union __anonunion_ldv_5907_29 {
 448   __ticketpair_t head_tail ;
 449   struct __raw_tickets tickets ;
 450};
 451#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 452struct arch_spinlock {
 453   union __anonunion_ldv_5907_29 ldv_5907 ;
 454};
 455#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 456typedef struct arch_spinlock arch_spinlock_t;
 457#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 458struct __anonstruct_ldv_5914_31 {
 459   u32 read ;
 460   s32 write ;
 461};
 462#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 463union __anonunion_arch_rwlock_t_30 {
 464   s64 lock ;
 465   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 466};
 467#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 468typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 469#line 34
 470struct lockdep_map;
 471#line 34
 472struct lockdep_map;
 473#line 55 "include/linux/debug_locks.h"
 474struct stack_trace {
 475   unsigned int nr_entries ;
 476   unsigned int max_entries ;
 477   unsigned long *entries ;
 478   int skip ;
 479};
 480#line 26 "include/linux/stacktrace.h"
 481struct lockdep_subclass_key {
 482   char __one_byte ;
 483};
 484#line 53 "include/linux/lockdep.h"
 485struct lock_class_key {
 486   struct lockdep_subclass_key subkeys[8U] ;
 487};
 488#line 59 "include/linux/lockdep.h"
 489struct lock_class {
 490   struct list_head hash_entry ;
 491   struct list_head lock_entry ;
 492   struct lockdep_subclass_key *key ;
 493   unsigned int subclass ;
 494   unsigned int dep_gen_id ;
 495   unsigned long usage_mask ;
 496   struct stack_trace usage_traces[13U] ;
 497   struct list_head locks_after ;
 498   struct list_head locks_before ;
 499   unsigned int version ;
 500   unsigned long ops ;
 501   char const   *name ;
 502   int name_version ;
 503   unsigned long contention_point[4U] ;
 504   unsigned long contending_point[4U] ;
 505};
 506#line 144 "include/linux/lockdep.h"
 507struct lockdep_map {
 508   struct lock_class_key *key ;
 509   struct lock_class *class_cache[2U] ;
 510   char const   *name ;
 511   int cpu ;
 512   unsigned long ip ;
 513};
 514#line 187 "include/linux/lockdep.h"
 515struct held_lock {
 516   u64 prev_chain_key ;
 517   unsigned long acquire_ip ;
 518   struct lockdep_map *instance ;
 519   struct lockdep_map *nest_lock ;
 520   u64 waittime_stamp ;
 521   u64 holdtime_stamp ;
 522   unsigned short class_idx : 13 ;
 523   unsigned char irq_context : 2 ;
 524   unsigned char trylock : 1 ;
 525   unsigned char read : 2 ;
 526   unsigned char check : 2 ;
 527   unsigned char hardirqs_off : 1 ;
 528   unsigned short references : 11 ;
 529};
 530#line 556 "include/linux/lockdep.h"
 531struct raw_spinlock {
 532   arch_spinlock_t raw_lock ;
 533   unsigned int magic ;
 534   unsigned int owner_cpu ;
 535   void *owner ;
 536   struct lockdep_map dep_map ;
 537};
 538#line 32 "include/linux/spinlock_types.h"
 539typedef struct raw_spinlock raw_spinlock_t;
 540#line 33 "include/linux/spinlock_types.h"
 541struct __anonstruct_ldv_6122_33 {
 542   u8 __padding[24U] ;
 543   struct lockdep_map dep_map ;
 544};
 545#line 33 "include/linux/spinlock_types.h"
 546union __anonunion_ldv_6123_32 {
 547   struct raw_spinlock rlock ;
 548   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 549};
 550#line 33 "include/linux/spinlock_types.h"
 551struct spinlock {
 552   union __anonunion_ldv_6123_32 ldv_6123 ;
 553};
 554#line 76 "include/linux/spinlock_types.h"
 555typedef struct spinlock spinlock_t;
 556#line 23 "include/linux/rwlock_types.h"
 557struct __anonstruct_rwlock_t_34 {
 558   arch_rwlock_t raw_lock ;
 559   unsigned int magic ;
 560   unsigned int owner_cpu ;
 561   void *owner ;
 562   struct lockdep_map dep_map ;
 563};
 564#line 23 "include/linux/rwlock_types.h"
 565typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 566#line 110 "include/linux/seqlock.h"
 567struct seqcount {
 568   unsigned int sequence ;
 569};
 570#line 121 "include/linux/seqlock.h"
 571typedef struct seqcount seqcount_t;
 572#line 254 "include/linux/seqlock.h"
 573struct timespec {
 574   __kernel_time_t tv_sec ;
 575   long tv_nsec ;
 576};
 577#line 286 "include/linux/time.h"
 578struct kstat {
 579   u64 ino ;
 580   dev_t dev ;
 581   umode_t mode ;
 582   unsigned int nlink ;
 583   uid_t uid ;
 584   gid_t gid ;
 585   dev_t rdev ;
 586   loff_t size ;
 587   struct timespec atime ;
 588   struct timespec mtime ;
 589   struct timespec ctime ;
 590   unsigned long blksize ;
 591   unsigned long long blocks ;
 592};
 593#line 48 "include/linux/wait.h"
 594struct __wait_queue_head {
 595   spinlock_t lock ;
 596   struct list_head task_list ;
 597};
 598#line 53 "include/linux/wait.h"
 599typedef struct __wait_queue_head wait_queue_head_t;
 600#line 98 "include/linux/nodemask.h"
 601struct __anonstruct_nodemask_t_36 {
 602   unsigned long bits[16U] ;
 603};
 604#line 98 "include/linux/nodemask.h"
 605typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 606#line 670 "include/linux/mmzone.h"
 607struct mutex {
 608   atomic_t count ;
 609   spinlock_t wait_lock ;
 610   struct list_head wait_list ;
 611   struct task_struct *owner ;
 612   char const   *name ;
 613   void *magic ;
 614   struct lockdep_map dep_map ;
 615};
 616#line 63 "include/linux/mutex.h"
 617struct mutex_waiter {
 618   struct list_head list ;
 619   struct task_struct *task ;
 620   void *magic ;
 621};
 622#line 171
 623struct rw_semaphore;
 624#line 171
 625struct rw_semaphore;
 626#line 172 "include/linux/mutex.h"
 627struct rw_semaphore {
 628   long count ;
 629   raw_spinlock_t wait_lock ;
 630   struct list_head wait_list ;
 631   struct lockdep_map dep_map ;
 632};
 633#line 128 "include/linux/rwsem.h"
 634struct completion {
 635   unsigned int done ;
 636   wait_queue_head_t wait ;
 637};
 638#line 188 "include/linux/rcupdate.h"
 639struct notifier_block;
 640#line 188
 641struct notifier_block;
 642#line 239 "include/linux/srcu.h"
 643struct notifier_block {
 644   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 645   struct notifier_block *next ;
 646   int priority ;
 647};
 648#line 312 "include/linux/jiffies.h"
 649union ktime {
 650   s64 tv64 ;
 651};
 652#line 59 "include/linux/ktime.h"
 653typedef union ktime ktime_t;
 654#line 341
 655struct tvec_base;
 656#line 341
 657struct tvec_base;
 658#line 342 "include/linux/ktime.h"
 659struct timer_list {
 660   struct list_head entry ;
 661   unsigned long expires ;
 662   struct tvec_base *base ;
 663   void (*function)(unsigned long  ) ;
 664   unsigned long data ;
 665   int slack ;
 666   int start_pid ;
 667   void *start_site ;
 668   char start_comm[16U] ;
 669   struct lockdep_map lockdep_map ;
 670};
 671#line 289 "include/linux/timer.h"
 672struct hrtimer;
 673#line 289
 674struct hrtimer;
 675#line 290
 676enum hrtimer_restart;
 677#line 302
 678struct work_struct;
 679#line 302
 680struct work_struct;
 681#line 45 "include/linux/workqueue.h"
 682struct work_struct {
 683   atomic_long_t data ;
 684   struct list_head entry ;
 685   void (*func)(struct work_struct * ) ;
 686   struct lockdep_map lockdep_map ;
 687};
 688#line 86 "include/linux/workqueue.h"
 689struct delayed_work {
 690   struct work_struct work ;
 691   struct timer_list timer ;
 692};
 693#line 46 "include/linux/pm.h"
 694struct pm_message {
 695   int event ;
 696};
 697#line 52 "include/linux/pm.h"
 698typedef struct pm_message pm_message_t;
 699#line 53 "include/linux/pm.h"
 700struct dev_pm_ops {
 701   int (*prepare)(struct device * ) ;
 702   void (*complete)(struct device * ) ;
 703   int (*suspend)(struct device * ) ;
 704   int (*resume)(struct device * ) ;
 705   int (*freeze)(struct device * ) ;
 706   int (*thaw)(struct device * ) ;
 707   int (*poweroff)(struct device * ) ;
 708   int (*restore)(struct device * ) ;
 709   int (*suspend_late)(struct device * ) ;
 710   int (*resume_early)(struct device * ) ;
 711   int (*freeze_late)(struct device * ) ;
 712   int (*thaw_early)(struct device * ) ;
 713   int (*poweroff_late)(struct device * ) ;
 714   int (*restore_early)(struct device * ) ;
 715   int (*suspend_noirq)(struct device * ) ;
 716   int (*resume_noirq)(struct device * ) ;
 717   int (*freeze_noirq)(struct device * ) ;
 718   int (*thaw_noirq)(struct device * ) ;
 719   int (*poweroff_noirq)(struct device * ) ;
 720   int (*restore_noirq)(struct device * ) ;
 721   int (*runtime_suspend)(struct device * ) ;
 722   int (*runtime_resume)(struct device * ) ;
 723   int (*runtime_idle)(struct device * ) ;
 724};
 725#line 289
 726enum rpm_status {
 727    RPM_ACTIVE = 0,
 728    RPM_RESUMING = 1,
 729    RPM_SUSPENDED = 2,
 730    RPM_SUSPENDING = 3
 731} ;
 732#line 296
 733enum rpm_request {
 734    RPM_REQ_NONE = 0,
 735    RPM_REQ_IDLE = 1,
 736    RPM_REQ_SUSPEND = 2,
 737    RPM_REQ_AUTOSUSPEND = 3,
 738    RPM_REQ_RESUME = 4
 739} ;
 740#line 304
 741struct wakeup_source;
 742#line 304
 743struct wakeup_source;
 744#line 494 "include/linux/pm.h"
 745struct pm_subsys_data {
 746   spinlock_t lock ;
 747   unsigned int refcount ;
 748};
 749#line 499
 750struct dev_pm_qos_request;
 751#line 499
 752struct pm_qos_constraints;
 753#line 499 "include/linux/pm.h"
 754struct dev_pm_info {
 755   pm_message_t power_state ;
 756   unsigned char can_wakeup : 1 ;
 757   unsigned char async_suspend : 1 ;
 758   bool is_prepared ;
 759   bool is_suspended ;
 760   bool ignore_children ;
 761   spinlock_t lock ;
 762   struct list_head entry ;
 763   struct completion completion ;
 764   struct wakeup_source *wakeup ;
 765   bool wakeup_path ;
 766   struct timer_list suspend_timer ;
 767   unsigned long timer_expires ;
 768   struct work_struct work ;
 769   wait_queue_head_t wait_queue ;
 770   atomic_t usage_count ;
 771   atomic_t child_count ;
 772   unsigned char disable_depth : 3 ;
 773   unsigned char idle_notification : 1 ;
 774   unsigned char request_pending : 1 ;
 775   unsigned char deferred_resume : 1 ;
 776   unsigned char run_wake : 1 ;
 777   unsigned char runtime_auto : 1 ;
 778   unsigned char no_callbacks : 1 ;
 779   unsigned char irq_safe : 1 ;
 780   unsigned char use_autosuspend : 1 ;
 781   unsigned char timer_autosuspends : 1 ;
 782   enum rpm_request request ;
 783   enum rpm_status runtime_status ;
 784   int runtime_error ;
 785   int autosuspend_delay ;
 786   unsigned long last_busy ;
 787   unsigned long active_jiffies ;
 788   unsigned long suspended_jiffies ;
 789   unsigned long accounting_timestamp ;
 790   ktime_t suspend_time ;
 791   s64 max_time_suspended_ns ;
 792   struct dev_pm_qos_request *pq_req ;
 793   struct pm_subsys_data *subsys_data ;
 794   struct pm_qos_constraints *constraints ;
 795};
 796#line 558 "include/linux/pm.h"
 797struct dev_pm_domain {
 798   struct dev_pm_ops ops ;
 799};
 800#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 801struct __anonstruct_mm_context_t_101 {
 802   void *ldt ;
 803   int size ;
 804   unsigned short ia32_compat ;
 805   struct mutex lock ;
 806   void *vdso ;
 807};
 808#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 809typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 810#line 18 "include/asm-generic/pci_iomap.h"
 811struct vm_area_struct;
 812#line 18
 813struct vm_area_struct;
 814#line 835 "include/linux/sysctl.h"
 815struct rb_node {
 816   unsigned long rb_parent_color ;
 817   struct rb_node *rb_right ;
 818   struct rb_node *rb_left ;
 819};
 820#line 108 "include/linux/rbtree.h"
 821struct rb_root {
 822   struct rb_node *rb_node ;
 823};
 824#line 176
 825struct nsproxy;
 826#line 176
 827struct nsproxy;
 828#line 37 "include/linux/kmod.h"
 829struct cred;
 830#line 37
 831struct cred;
 832#line 18 "include/linux/elf.h"
 833typedef __u64 Elf64_Addr;
 834#line 19 "include/linux/elf.h"
 835typedef __u16 Elf64_Half;
 836#line 23 "include/linux/elf.h"
 837typedef __u32 Elf64_Word;
 838#line 24 "include/linux/elf.h"
 839typedef __u64 Elf64_Xword;
 840#line 193 "include/linux/elf.h"
 841struct elf64_sym {
 842   Elf64_Word st_name ;
 843   unsigned char st_info ;
 844   unsigned char st_other ;
 845   Elf64_Half st_shndx ;
 846   Elf64_Addr st_value ;
 847   Elf64_Xword st_size ;
 848};
 849#line 201 "include/linux/elf.h"
 850typedef struct elf64_sym Elf64_Sym;
 851#line 445
 852struct sock;
 853#line 445
 854struct sock;
 855#line 446
 856struct kobject;
 857#line 446
 858struct kobject;
 859#line 447
 860enum kobj_ns_type {
 861    KOBJ_NS_TYPE_NONE = 0,
 862    KOBJ_NS_TYPE_NET = 1,
 863    KOBJ_NS_TYPES = 2
 864} ;
 865#line 453 "include/linux/elf.h"
 866struct kobj_ns_type_operations {
 867   enum kobj_ns_type type ;
 868   void *(*grab_current_ns)(void) ;
 869   void const   *(*netlink_ns)(struct sock * ) ;
 870   void const   *(*initial_ns)(void) ;
 871   void (*drop_ns)(void * ) ;
 872};
 873#line 57 "include/linux/kobject_ns.h"
 874struct attribute {
 875   char const   *name ;
 876   umode_t mode ;
 877   struct lock_class_key *key ;
 878   struct lock_class_key skey ;
 879};
 880#line 33 "include/linux/sysfs.h"
 881struct attribute_group {
 882   char const   *name ;
 883   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 884   struct attribute **attrs ;
 885};
 886#line 62 "include/linux/sysfs.h"
 887struct bin_attribute {
 888   struct attribute attr ;
 889   size_t size ;
 890   void *private ;
 891   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 892                   loff_t  , size_t  ) ;
 893   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 894                    loff_t  , size_t  ) ;
 895   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 896};
 897#line 98 "include/linux/sysfs.h"
 898struct sysfs_ops {
 899   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 900   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 901   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 902};
 903#line 117
 904struct sysfs_dirent;
 905#line 117
 906struct sysfs_dirent;
 907#line 182 "include/linux/sysfs.h"
 908struct kref {
 909   atomic_t refcount ;
 910};
 911#line 49 "include/linux/kobject.h"
 912struct kset;
 913#line 49
 914struct kobj_type;
 915#line 49 "include/linux/kobject.h"
 916struct kobject {
 917   char const   *name ;
 918   struct list_head entry ;
 919   struct kobject *parent ;
 920   struct kset *kset ;
 921   struct kobj_type *ktype ;
 922   struct sysfs_dirent *sd ;
 923   struct kref kref ;
 924   unsigned char state_initialized : 1 ;
 925   unsigned char state_in_sysfs : 1 ;
 926   unsigned char state_add_uevent_sent : 1 ;
 927   unsigned char state_remove_uevent_sent : 1 ;
 928   unsigned char uevent_suppress : 1 ;
 929};
 930#line 107 "include/linux/kobject.h"
 931struct kobj_type {
 932   void (*release)(struct kobject * ) ;
 933   struct sysfs_ops  const  *sysfs_ops ;
 934   struct attribute **default_attrs ;
 935   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 936   void const   *(*namespace)(struct kobject * ) ;
 937};
 938#line 115 "include/linux/kobject.h"
 939struct kobj_uevent_env {
 940   char *envp[32U] ;
 941   int envp_idx ;
 942   char buf[2048U] ;
 943   int buflen ;
 944};
 945#line 122 "include/linux/kobject.h"
 946struct kset_uevent_ops {
 947   int (* const  filter)(struct kset * , struct kobject * ) ;
 948   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 949   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 950};
 951#line 139 "include/linux/kobject.h"
 952struct kset {
 953   struct list_head list ;
 954   spinlock_t list_lock ;
 955   struct kobject kobj ;
 956   struct kset_uevent_ops  const  *uevent_ops ;
 957};
 958#line 215
 959struct kernel_param;
 960#line 215
 961struct kernel_param;
 962#line 216 "include/linux/kobject.h"
 963struct kernel_param_ops {
 964   int (*set)(char const   * , struct kernel_param  const  * ) ;
 965   int (*get)(char * , struct kernel_param  const  * ) ;
 966   void (*free)(void * ) ;
 967};
 968#line 49 "include/linux/moduleparam.h"
 969struct kparam_string;
 970#line 49
 971struct kparam_array;
 972#line 49 "include/linux/moduleparam.h"
 973union __anonunion_ldv_13363_134 {
 974   void *arg ;
 975   struct kparam_string  const  *str ;
 976   struct kparam_array  const  *arr ;
 977};
 978#line 49 "include/linux/moduleparam.h"
 979struct kernel_param {
 980   char const   *name ;
 981   struct kernel_param_ops  const  *ops ;
 982   u16 perm ;
 983   s16 level ;
 984   union __anonunion_ldv_13363_134 ldv_13363 ;
 985};
 986#line 61 "include/linux/moduleparam.h"
 987struct kparam_string {
 988   unsigned int maxlen ;
 989   char *string ;
 990};
 991#line 67 "include/linux/moduleparam.h"
 992struct kparam_array {
 993   unsigned int max ;
 994   unsigned int elemsize ;
 995   unsigned int *num ;
 996   struct kernel_param_ops  const  *ops ;
 997   void *elem ;
 998};
 999#line 458 "include/linux/moduleparam.h"
1000struct static_key {
1001   atomic_t enabled ;
1002};
1003#line 225 "include/linux/jump_label.h"
1004struct tracepoint;
1005#line 225
1006struct tracepoint;
1007#line 226 "include/linux/jump_label.h"
1008struct tracepoint_func {
1009   void *func ;
1010   void *data ;
1011};
1012#line 29 "include/linux/tracepoint.h"
1013struct tracepoint {
1014   char const   *name ;
1015   struct static_key key ;
1016   void (*regfunc)(void) ;
1017   void (*unregfunc)(void) ;
1018   struct tracepoint_func *funcs ;
1019};
1020#line 86 "include/linux/tracepoint.h"
1021struct kernel_symbol {
1022   unsigned long value ;
1023   char const   *name ;
1024};
1025#line 27 "include/linux/export.h"
1026struct mod_arch_specific {
1027
1028};
1029#line 34 "include/linux/module.h"
1030struct module_param_attrs;
1031#line 34 "include/linux/module.h"
1032struct module_kobject {
1033   struct kobject kobj ;
1034   struct module *mod ;
1035   struct kobject *drivers_dir ;
1036   struct module_param_attrs *mp ;
1037};
1038#line 43 "include/linux/module.h"
1039struct module_attribute {
1040   struct attribute attr ;
1041   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1042   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1043                    size_t  ) ;
1044   void (*setup)(struct module * , char const   * ) ;
1045   int (*test)(struct module * ) ;
1046   void (*free)(struct module * ) ;
1047};
1048#line 69
1049struct exception_table_entry;
1050#line 69
1051struct exception_table_entry;
1052#line 198
1053enum module_state {
1054    MODULE_STATE_LIVE = 0,
1055    MODULE_STATE_COMING = 1,
1056    MODULE_STATE_GOING = 2
1057} ;
1058#line 204 "include/linux/module.h"
1059struct module_ref {
1060   unsigned long incs ;
1061   unsigned long decs ;
1062};
1063#line 219
1064struct module_sect_attrs;
1065#line 219
1066struct module_notes_attrs;
1067#line 219
1068struct ftrace_event_call;
1069#line 219 "include/linux/module.h"
1070struct module {
1071   enum module_state state ;
1072   struct list_head list ;
1073   char name[56U] ;
1074   struct module_kobject mkobj ;
1075   struct module_attribute *modinfo_attrs ;
1076   char const   *version ;
1077   char const   *srcversion ;
1078   struct kobject *holders_dir ;
1079   struct kernel_symbol  const  *syms ;
1080   unsigned long const   *crcs ;
1081   unsigned int num_syms ;
1082   struct kernel_param *kp ;
1083   unsigned int num_kp ;
1084   unsigned int num_gpl_syms ;
1085   struct kernel_symbol  const  *gpl_syms ;
1086   unsigned long const   *gpl_crcs ;
1087   struct kernel_symbol  const  *unused_syms ;
1088   unsigned long const   *unused_crcs ;
1089   unsigned int num_unused_syms ;
1090   unsigned int num_unused_gpl_syms ;
1091   struct kernel_symbol  const  *unused_gpl_syms ;
1092   unsigned long const   *unused_gpl_crcs ;
1093   struct kernel_symbol  const  *gpl_future_syms ;
1094   unsigned long const   *gpl_future_crcs ;
1095   unsigned int num_gpl_future_syms ;
1096   unsigned int num_exentries ;
1097   struct exception_table_entry *extable ;
1098   int (*init)(void) ;
1099   void *module_init ;
1100   void *module_core ;
1101   unsigned int init_size ;
1102   unsigned int core_size ;
1103   unsigned int init_text_size ;
1104   unsigned int core_text_size ;
1105   unsigned int init_ro_size ;
1106   unsigned int core_ro_size ;
1107   struct mod_arch_specific arch ;
1108   unsigned int taints ;
1109   unsigned int num_bugs ;
1110   struct list_head bug_list ;
1111   struct bug_entry *bug_table ;
1112   Elf64_Sym *symtab ;
1113   Elf64_Sym *core_symtab ;
1114   unsigned int num_symtab ;
1115   unsigned int core_num_syms ;
1116   char *strtab ;
1117   char *core_strtab ;
1118   struct module_sect_attrs *sect_attrs ;
1119   struct module_notes_attrs *notes_attrs ;
1120   char *args ;
1121   void *percpu ;
1122   unsigned int percpu_size ;
1123   unsigned int num_tracepoints ;
1124   struct tracepoint * const  *tracepoints_ptrs ;
1125   unsigned int num_trace_bprintk_fmt ;
1126   char const   **trace_bprintk_fmt_start ;
1127   struct ftrace_event_call **trace_events ;
1128   unsigned int num_trace_events ;
1129   struct list_head source_list ;
1130   struct list_head target_list ;
1131   struct task_struct *waiter ;
1132   void (*exit)(void) ;
1133   struct module_ref *refptr ;
1134   ctor_fn_t (**ctors)(void) ;
1135   unsigned int num_ctors ;
1136};
1137#line 88 "include/linux/kmemleak.h"
1138struct kmem_cache_cpu {
1139   void **freelist ;
1140   unsigned long tid ;
1141   struct page *page ;
1142   struct page *partial ;
1143   int node ;
1144   unsigned int stat[26U] ;
1145};
1146#line 55 "include/linux/slub_def.h"
1147struct kmem_cache_node {
1148   spinlock_t list_lock ;
1149   unsigned long nr_partial ;
1150   struct list_head partial ;
1151   atomic_long_t nr_slabs ;
1152   atomic_long_t total_objects ;
1153   struct list_head full ;
1154};
1155#line 66 "include/linux/slub_def.h"
1156struct kmem_cache_order_objects {
1157   unsigned long x ;
1158};
1159#line 76 "include/linux/slub_def.h"
1160struct kmem_cache {
1161   struct kmem_cache_cpu *cpu_slab ;
1162   unsigned long flags ;
1163   unsigned long min_partial ;
1164   int size ;
1165   int objsize ;
1166   int offset ;
1167   int cpu_partial ;
1168   struct kmem_cache_order_objects oo ;
1169   struct kmem_cache_order_objects max ;
1170   struct kmem_cache_order_objects min ;
1171   gfp_t allocflags ;
1172   int refcount ;
1173   void (*ctor)(void * ) ;
1174   int inuse ;
1175   int align ;
1176   int reserved ;
1177   char const   *name ;
1178   struct list_head list ;
1179   struct kobject kobj ;
1180   int remote_node_defrag_ratio ;
1181   struct kmem_cache_node *node[1024U] ;
1182};
1183#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
1184struct exception_table_entry {
1185   unsigned long insn ;
1186   unsigned long fixup ;
1187};
1188#line 93 "include/linux/capability.h"
1189struct kernel_cap_struct {
1190   __u32 cap[2U] ;
1191};
1192#line 96 "include/linux/capability.h"
1193typedef struct kernel_cap_struct kernel_cap_t;
1194#line 104
1195struct dentry;
1196#line 104
1197struct dentry;
1198#line 105
1199struct user_namespace;
1200#line 105
1201struct user_namespace;
1202#line 554
1203struct prio_tree_node;
1204#line 554 "include/linux/capability.h"
1205struct raw_prio_tree_node {
1206   struct prio_tree_node *left ;
1207   struct prio_tree_node *right ;
1208   struct prio_tree_node *parent ;
1209};
1210#line 19 "include/linux/prio_tree.h"
1211struct prio_tree_node {
1212   struct prio_tree_node *left ;
1213   struct prio_tree_node *right ;
1214   struct prio_tree_node *parent ;
1215   unsigned long start ;
1216   unsigned long last ;
1217};
1218#line 27 "include/linux/prio_tree.h"
1219struct prio_tree_root {
1220   struct prio_tree_node *prio_tree_node ;
1221   unsigned short index_bits ;
1222   unsigned short raw ;
1223};
1224#line 116
1225struct address_space;
1226#line 116
1227struct address_space;
1228#line 117 "include/linux/prio_tree.h"
1229union __anonunion_ldv_14503_137 {
1230   unsigned long index ;
1231   void *freelist ;
1232};
1233#line 117 "include/linux/prio_tree.h"
1234struct __anonstruct_ldv_14513_141 {
1235   unsigned short inuse ;
1236   unsigned short objects : 15 ;
1237   unsigned char frozen : 1 ;
1238};
1239#line 117 "include/linux/prio_tree.h"
1240union __anonunion_ldv_14514_140 {
1241   atomic_t _mapcount ;
1242   struct __anonstruct_ldv_14513_141 ldv_14513 ;
1243};
1244#line 117 "include/linux/prio_tree.h"
1245struct __anonstruct_ldv_14516_139 {
1246   union __anonunion_ldv_14514_140 ldv_14514 ;
1247   atomic_t _count ;
1248};
1249#line 117 "include/linux/prio_tree.h"
1250union __anonunion_ldv_14517_138 {
1251   unsigned long counters ;
1252   struct __anonstruct_ldv_14516_139 ldv_14516 ;
1253};
1254#line 117 "include/linux/prio_tree.h"
1255struct __anonstruct_ldv_14518_136 {
1256   union __anonunion_ldv_14503_137 ldv_14503 ;
1257   union __anonunion_ldv_14517_138 ldv_14517 ;
1258};
1259#line 117 "include/linux/prio_tree.h"
1260struct __anonstruct_ldv_14525_143 {
1261   struct page *next ;
1262   int pages ;
1263   int pobjects ;
1264};
1265#line 117 "include/linux/prio_tree.h"
1266union __anonunion_ldv_14526_142 {
1267   struct list_head lru ;
1268   struct __anonstruct_ldv_14525_143 ldv_14525 ;
1269};
1270#line 117 "include/linux/prio_tree.h"
1271union __anonunion_ldv_14531_144 {
1272   unsigned long private ;
1273   struct kmem_cache *slab ;
1274   struct page *first_page ;
1275};
1276#line 117 "include/linux/prio_tree.h"
1277struct page {
1278   unsigned long flags ;
1279   struct address_space *mapping ;
1280   struct __anonstruct_ldv_14518_136 ldv_14518 ;
1281   union __anonunion_ldv_14526_142 ldv_14526 ;
1282   union __anonunion_ldv_14531_144 ldv_14531 ;
1283   unsigned long debug_flags ;
1284};
1285#line 192 "include/linux/mm_types.h"
1286struct __anonstruct_vm_set_146 {
1287   struct list_head list ;
1288   void *parent ;
1289   struct vm_area_struct *head ;
1290};
1291#line 192 "include/linux/mm_types.h"
1292union __anonunion_shared_145 {
1293   struct __anonstruct_vm_set_146 vm_set ;
1294   struct raw_prio_tree_node prio_tree_node ;
1295};
1296#line 192
1297struct anon_vma;
1298#line 192
1299struct vm_operations_struct;
1300#line 192
1301struct mempolicy;
1302#line 192 "include/linux/mm_types.h"
1303struct vm_area_struct {
1304   struct mm_struct *vm_mm ;
1305   unsigned long vm_start ;
1306   unsigned long vm_end ;
1307   struct vm_area_struct *vm_next ;
1308   struct vm_area_struct *vm_prev ;
1309   pgprot_t vm_page_prot ;
1310   unsigned long vm_flags ;
1311   struct rb_node vm_rb ;
1312   union __anonunion_shared_145 shared ;
1313   struct list_head anon_vma_chain ;
1314   struct anon_vma *anon_vma ;
1315   struct vm_operations_struct  const  *vm_ops ;
1316   unsigned long vm_pgoff ;
1317   struct file *vm_file ;
1318   void *vm_private_data ;
1319   struct mempolicy *vm_policy ;
1320};
1321#line 255 "include/linux/mm_types.h"
1322struct core_thread {
1323   struct task_struct *task ;
1324   struct core_thread *next ;
1325};
1326#line 261 "include/linux/mm_types.h"
1327struct core_state {
1328   atomic_t nr_threads ;
1329   struct core_thread dumper ;
1330   struct completion startup ;
1331};
1332#line 274 "include/linux/mm_types.h"
1333struct mm_rss_stat {
1334   atomic_long_t count[3U] ;
1335};
1336#line 287
1337struct linux_binfmt;
1338#line 287
1339struct mmu_notifier_mm;
1340#line 287 "include/linux/mm_types.h"
1341struct mm_struct {
1342   struct vm_area_struct *mmap ;
1343   struct rb_root mm_rb ;
1344   struct vm_area_struct *mmap_cache ;
1345   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1346                                      unsigned long  , unsigned long  ) ;
1347   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1348   unsigned long mmap_base ;
1349   unsigned long task_size ;
1350   unsigned long cached_hole_size ;
1351   unsigned long free_area_cache ;
1352   pgd_t *pgd ;
1353   atomic_t mm_users ;
1354   atomic_t mm_count ;
1355   int map_count ;
1356   spinlock_t page_table_lock ;
1357   struct rw_semaphore mmap_sem ;
1358   struct list_head mmlist ;
1359   unsigned long hiwater_rss ;
1360   unsigned long hiwater_vm ;
1361   unsigned long total_vm ;
1362   unsigned long locked_vm ;
1363   unsigned long pinned_vm ;
1364   unsigned long shared_vm ;
1365   unsigned long exec_vm ;
1366   unsigned long stack_vm ;
1367   unsigned long reserved_vm ;
1368   unsigned long def_flags ;
1369   unsigned long nr_ptes ;
1370   unsigned long start_code ;
1371   unsigned long end_code ;
1372   unsigned long start_data ;
1373   unsigned long end_data ;
1374   unsigned long start_brk ;
1375   unsigned long brk ;
1376   unsigned long start_stack ;
1377   unsigned long arg_start ;
1378   unsigned long arg_end ;
1379   unsigned long env_start ;
1380   unsigned long env_end ;
1381   unsigned long saved_auxv[44U] ;
1382   struct mm_rss_stat rss_stat ;
1383   struct linux_binfmt *binfmt ;
1384   cpumask_var_t cpu_vm_mask_var ;
1385   mm_context_t context ;
1386   unsigned int faultstamp ;
1387   unsigned int token_priority ;
1388   unsigned int last_interval ;
1389   unsigned long flags ;
1390   struct core_state *core_state ;
1391   spinlock_t ioctx_lock ;
1392   struct hlist_head ioctx_list ;
1393   struct task_struct *owner ;
1394   struct file *exe_file ;
1395   unsigned long num_exe_file_vmas ;
1396   struct mmu_notifier_mm *mmu_notifier_mm ;
1397   pgtable_t pmd_huge_pte ;
1398   struct cpumask cpumask_allocation ;
1399};
1400#line 7 "include/asm-generic/cputime.h"
1401typedef unsigned long cputime_t;
1402#line 98 "include/linux/sem.h"
1403struct sem_undo_list;
1404#line 98 "include/linux/sem.h"
1405struct sysv_sem {
1406   struct sem_undo_list *undo_list ;
1407};
1408#line 107
1409struct siginfo;
1410#line 107
1411struct siginfo;
1412#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1413struct __anonstruct_sigset_t_147 {
1414   unsigned long sig[1U] ;
1415};
1416#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1417typedef struct __anonstruct_sigset_t_147 sigset_t;
1418#line 17 "include/asm-generic/signal-defs.h"
1419typedef void __signalfn_t(int  );
1420#line 18 "include/asm-generic/signal-defs.h"
1421typedef __signalfn_t *__sighandler_t;
1422#line 20 "include/asm-generic/signal-defs.h"
1423typedef void __restorefn_t(void);
1424#line 21 "include/asm-generic/signal-defs.h"
1425typedef __restorefn_t *__sigrestore_t;
1426#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1427struct sigaction {
1428   __sighandler_t sa_handler ;
1429   unsigned long sa_flags ;
1430   __sigrestore_t sa_restorer ;
1431   sigset_t sa_mask ;
1432};
1433#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1434struct k_sigaction {
1435   struct sigaction sa ;
1436};
1437#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1438union sigval {
1439   int sival_int ;
1440   void *sival_ptr ;
1441};
1442#line 10 "include/asm-generic/siginfo.h"
1443typedef union sigval sigval_t;
1444#line 11 "include/asm-generic/siginfo.h"
1445struct __anonstruct__kill_149 {
1446   __kernel_pid_t _pid ;
1447   __kernel_uid32_t _uid ;
1448};
1449#line 11 "include/asm-generic/siginfo.h"
1450struct __anonstruct__timer_150 {
1451   __kernel_timer_t _tid ;
1452   int _overrun ;
1453   char _pad[0U] ;
1454   sigval_t _sigval ;
1455   int _sys_private ;
1456};
1457#line 11 "include/asm-generic/siginfo.h"
1458struct __anonstruct__rt_151 {
1459   __kernel_pid_t _pid ;
1460   __kernel_uid32_t _uid ;
1461   sigval_t _sigval ;
1462};
1463#line 11 "include/asm-generic/siginfo.h"
1464struct __anonstruct__sigchld_152 {
1465   __kernel_pid_t _pid ;
1466   __kernel_uid32_t _uid ;
1467   int _status ;
1468   __kernel_clock_t _utime ;
1469   __kernel_clock_t _stime ;
1470};
1471#line 11 "include/asm-generic/siginfo.h"
1472struct __anonstruct__sigfault_153 {
1473   void *_addr ;
1474   short _addr_lsb ;
1475};
1476#line 11 "include/asm-generic/siginfo.h"
1477struct __anonstruct__sigpoll_154 {
1478   long _band ;
1479   int _fd ;
1480};
1481#line 11 "include/asm-generic/siginfo.h"
1482union __anonunion__sifields_148 {
1483   int _pad[28U] ;
1484   struct __anonstruct__kill_149 _kill ;
1485   struct __anonstruct__timer_150 _timer ;
1486   struct __anonstruct__rt_151 _rt ;
1487   struct __anonstruct__sigchld_152 _sigchld ;
1488   struct __anonstruct__sigfault_153 _sigfault ;
1489   struct __anonstruct__sigpoll_154 _sigpoll ;
1490};
1491#line 11 "include/asm-generic/siginfo.h"
1492struct siginfo {
1493   int si_signo ;
1494   int si_errno ;
1495   int si_code ;
1496   union __anonunion__sifields_148 _sifields ;
1497};
1498#line 102 "include/asm-generic/siginfo.h"
1499typedef struct siginfo siginfo_t;
1500#line 14 "include/linux/signal.h"
1501struct user_struct;
1502#line 24 "include/linux/signal.h"
1503struct sigpending {
1504   struct list_head list ;
1505   sigset_t signal ;
1506};
1507#line 388
1508enum pid_type {
1509    PIDTYPE_PID = 0,
1510    PIDTYPE_PGID = 1,
1511    PIDTYPE_SID = 2,
1512    PIDTYPE_MAX = 3
1513} ;
1514#line 395
1515struct pid_namespace;
1516#line 395 "include/linux/signal.h"
1517struct upid {
1518   int nr ;
1519   struct pid_namespace *ns ;
1520   struct hlist_node pid_chain ;
1521};
1522#line 56 "include/linux/pid.h"
1523struct pid {
1524   atomic_t count ;
1525   unsigned int level ;
1526   struct hlist_head tasks[3U] ;
1527   struct rcu_head rcu ;
1528   struct upid numbers[1U] ;
1529};
1530#line 68 "include/linux/pid.h"
1531struct pid_link {
1532   struct hlist_node node ;
1533   struct pid *pid ;
1534};
1535#line 10 "include/linux/seccomp.h"
1536struct __anonstruct_seccomp_t_157 {
1537   int mode ;
1538};
1539#line 10 "include/linux/seccomp.h"
1540typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1541#line 427 "include/linux/rculist.h"
1542struct plist_head {
1543   struct list_head node_list ;
1544};
1545#line 84 "include/linux/plist.h"
1546struct plist_node {
1547   int prio ;
1548   struct list_head prio_list ;
1549   struct list_head node_list ;
1550};
1551#line 38 "include/linux/rtmutex.h"
1552struct rt_mutex_waiter;
1553#line 38
1554struct rt_mutex_waiter;
1555#line 41 "include/linux/resource.h"
1556struct rlimit {
1557   unsigned long rlim_cur ;
1558   unsigned long rlim_max ;
1559};
1560#line 85 "include/linux/resource.h"
1561struct timerqueue_node {
1562   struct rb_node node ;
1563   ktime_t expires ;
1564};
1565#line 12 "include/linux/timerqueue.h"
1566struct timerqueue_head {
1567   struct rb_root head ;
1568   struct timerqueue_node *next ;
1569};
1570#line 50
1571struct hrtimer_clock_base;
1572#line 50
1573struct hrtimer_clock_base;
1574#line 51
1575struct hrtimer_cpu_base;
1576#line 51
1577struct hrtimer_cpu_base;
1578#line 60
1579enum hrtimer_restart {
1580    HRTIMER_NORESTART = 0,
1581    HRTIMER_RESTART = 1
1582} ;
1583#line 65 "include/linux/timerqueue.h"
1584struct hrtimer {
1585   struct timerqueue_node node ;
1586   ktime_t _softexpires ;
1587   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1588   struct hrtimer_clock_base *base ;
1589   unsigned long state ;
1590   int start_pid ;
1591   void *start_site ;
1592   char start_comm[16U] ;
1593};
1594#line 132 "include/linux/hrtimer.h"
1595struct hrtimer_clock_base {
1596   struct hrtimer_cpu_base *cpu_base ;
1597   int index ;
1598   clockid_t clockid ;
1599   struct timerqueue_head active ;
1600   ktime_t resolution ;
1601   ktime_t (*get_time)(void) ;
1602   ktime_t softirq_time ;
1603   ktime_t offset ;
1604};
1605#line 162 "include/linux/hrtimer.h"
1606struct hrtimer_cpu_base {
1607   raw_spinlock_t lock ;
1608   unsigned long active_bases ;
1609   ktime_t expires_next ;
1610   int hres_active ;
1611   int hang_detected ;
1612   unsigned long nr_events ;
1613   unsigned long nr_retries ;
1614   unsigned long nr_hangs ;
1615   ktime_t max_hang_time ;
1616   struct hrtimer_clock_base clock_base[3U] ;
1617};
1618#line 452 "include/linux/hrtimer.h"
1619struct task_io_accounting {
1620   u64 rchar ;
1621   u64 wchar ;
1622   u64 syscr ;
1623   u64 syscw ;
1624   u64 read_bytes ;
1625   u64 write_bytes ;
1626   u64 cancelled_write_bytes ;
1627};
1628#line 45 "include/linux/task_io_accounting.h"
1629struct latency_record {
1630   unsigned long backtrace[12U] ;
1631   unsigned int count ;
1632   unsigned long time ;
1633   unsigned long max ;
1634};
1635#line 29 "include/linux/key.h"
1636typedef int32_t key_serial_t;
1637#line 32 "include/linux/key.h"
1638typedef uint32_t key_perm_t;
1639#line 33
1640struct key;
1641#line 33
1642struct key;
1643#line 34
1644struct signal_struct;
1645#line 34
1646struct signal_struct;
1647#line 35
1648struct key_type;
1649#line 35
1650struct key_type;
1651#line 37
1652struct keyring_list;
1653#line 37
1654struct keyring_list;
1655#line 115
1656struct key_user;
1657#line 115 "include/linux/key.h"
1658union __anonunion_ldv_15767_158 {
1659   time_t expiry ;
1660   time_t revoked_at ;
1661};
1662#line 115 "include/linux/key.h"
1663union __anonunion_type_data_159 {
1664   struct list_head link ;
1665   unsigned long x[2U] ;
1666   void *p[2U] ;
1667   int reject_error ;
1668};
1669#line 115 "include/linux/key.h"
1670union __anonunion_payload_160 {
1671   unsigned long value ;
1672   void *rcudata ;
1673   void *data ;
1674   struct keyring_list *subscriptions ;
1675};
1676#line 115 "include/linux/key.h"
1677struct key {
1678   atomic_t usage ;
1679   key_serial_t serial ;
1680   struct rb_node serial_node ;
1681   struct key_type *type ;
1682   struct rw_semaphore sem ;
1683   struct key_user *user ;
1684   void *security ;
1685   union __anonunion_ldv_15767_158 ldv_15767 ;
1686   uid_t uid ;
1687   gid_t gid ;
1688   key_perm_t perm ;
1689   unsigned short quotalen ;
1690   unsigned short datalen ;
1691   unsigned long flags ;
1692   char *description ;
1693   union __anonunion_type_data_159 type_data ;
1694   union __anonunion_payload_160 payload ;
1695};
1696#line 316
1697struct audit_context;
1698#line 316
1699struct audit_context;
1700#line 27 "include/linux/selinux.h"
1701struct inode;
1702#line 27
1703struct inode;
1704#line 28 "include/linux/selinux.h"
1705struct group_info {
1706   atomic_t usage ;
1707   int ngroups ;
1708   int nblocks ;
1709   gid_t small_block[32U] ;
1710   gid_t *blocks[0U] ;
1711};
1712#line 77 "include/linux/cred.h"
1713struct thread_group_cred {
1714   atomic_t usage ;
1715   pid_t tgid ;
1716   spinlock_t lock ;
1717   struct key *session_keyring ;
1718   struct key *process_keyring ;
1719   struct rcu_head rcu ;
1720};
1721#line 91 "include/linux/cred.h"
1722struct cred {
1723   atomic_t usage ;
1724   atomic_t subscribers ;
1725   void *put_addr ;
1726   unsigned int magic ;
1727   uid_t uid ;
1728   gid_t gid ;
1729   uid_t suid ;
1730   gid_t sgid ;
1731   uid_t euid ;
1732   gid_t egid ;
1733   uid_t fsuid ;
1734   gid_t fsgid ;
1735   unsigned int securebits ;
1736   kernel_cap_t cap_inheritable ;
1737   kernel_cap_t cap_permitted ;
1738   kernel_cap_t cap_effective ;
1739   kernel_cap_t cap_bset ;
1740   unsigned char jit_keyring ;
1741   struct key *thread_keyring ;
1742   struct key *request_key_auth ;
1743   struct thread_group_cred *tgcred ;
1744   void *security ;
1745   struct user_struct *user ;
1746   struct user_namespace *user_ns ;
1747   struct group_info *group_info ;
1748   struct rcu_head rcu ;
1749};
1750#line 264
1751struct llist_node;
1752#line 64 "include/linux/llist.h"
1753struct llist_node {
1754   struct llist_node *next ;
1755};
1756#line 185
1757struct futex_pi_state;
1758#line 185
1759struct futex_pi_state;
1760#line 186
1761struct robust_list_head;
1762#line 186
1763struct robust_list_head;
1764#line 187
1765struct bio_list;
1766#line 187
1767struct bio_list;
1768#line 188
1769struct fs_struct;
1770#line 188
1771struct fs_struct;
1772#line 189
1773struct perf_event_context;
1774#line 189
1775struct perf_event_context;
1776#line 190
1777struct blk_plug;
1778#line 190
1779struct blk_plug;
1780#line 149 "include/linux/sched.h"
1781struct cfs_rq;
1782#line 149
1783struct cfs_rq;
1784#line 44 "include/linux/aio_abi.h"
1785struct io_event {
1786   __u64 data ;
1787   __u64 obj ;
1788   __s64 res ;
1789   __s64 res2 ;
1790};
1791#line 106 "include/linux/aio_abi.h"
1792struct iovec {
1793   void *iov_base ;
1794   __kernel_size_t iov_len ;
1795};
1796#line 21 "include/linux/uio.h"
1797struct kvec {
1798   void *iov_base ;
1799   size_t iov_len ;
1800};
1801#line 54
1802struct kioctx;
1803#line 54
1804struct kioctx;
1805#line 55 "include/linux/uio.h"
1806union __anonunion_ki_obj_161 {
1807   void *user ;
1808   struct task_struct *tsk ;
1809};
1810#line 55
1811struct eventfd_ctx;
1812#line 55 "include/linux/uio.h"
1813struct kiocb {
1814   struct list_head ki_run_list ;
1815   unsigned long ki_flags ;
1816   int ki_users ;
1817   unsigned int ki_key ;
1818   struct file *ki_filp ;
1819   struct kioctx *ki_ctx ;
1820   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
1821   ssize_t (*ki_retry)(struct kiocb * ) ;
1822   void (*ki_dtor)(struct kiocb * ) ;
1823   union __anonunion_ki_obj_161 ki_obj ;
1824   __u64 ki_user_data ;
1825   loff_t ki_pos ;
1826   void *private ;
1827   unsigned short ki_opcode ;
1828   size_t ki_nbytes ;
1829   char *ki_buf ;
1830   size_t ki_left ;
1831   struct iovec ki_inline_vec ;
1832   struct iovec *ki_iovec ;
1833   unsigned long ki_nr_segs ;
1834   unsigned long ki_cur_seg ;
1835   struct list_head ki_list ;
1836   struct list_head ki_batch ;
1837   struct eventfd_ctx *ki_eventfd ;
1838};
1839#line 162 "include/linux/aio.h"
1840struct aio_ring_info {
1841   unsigned long mmap_base ;
1842   unsigned long mmap_size ;
1843   struct page **ring_pages ;
1844   spinlock_t ring_lock ;
1845   long nr_pages ;
1846   unsigned int nr ;
1847   unsigned int tail ;
1848   struct page *internal_pages[8U] ;
1849};
1850#line 178 "include/linux/aio.h"
1851struct kioctx {
1852   atomic_t users ;
1853   int dead ;
1854   struct mm_struct *mm ;
1855   unsigned long user_id ;
1856   struct hlist_node list ;
1857   wait_queue_head_t wait ;
1858   spinlock_t ctx_lock ;
1859   int reqs_active ;
1860   struct list_head active_reqs ;
1861   struct list_head run_list ;
1862   unsigned int max_reqs ;
1863   struct aio_ring_info ring_info ;
1864   struct delayed_work wq ;
1865   struct rcu_head rcu_head ;
1866};
1867#line 406 "include/linux/sched.h"
1868struct sighand_struct {
1869   atomic_t count ;
1870   struct k_sigaction action[64U] ;
1871   spinlock_t siglock ;
1872   wait_queue_head_t signalfd_wqh ;
1873};
1874#line 449 "include/linux/sched.h"
1875struct pacct_struct {
1876   int ac_flag ;
1877   long ac_exitcode ;
1878   unsigned long ac_mem ;
1879   cputime_t ac_utime ;
1880   cputime_t ac_stime ;
1881   unsigned long ac_minflt ;
1882   unsigned long ac_majflt ;
1883};
1884#line 457 "include/linux/sched.h"
1885struct cpu_itimer {
1886   cputime_t expires ;
1887   cputime_t incr ;
1888   u32 error ;
1889   u32 incr_error ;
1890};
1891#line 464 "include/linux/sched.h"
1892struct task_cputime {
1893   cputime_t utime ;
1894   cputime_t stime ;
1895   unsigned long long sum_exec_runtime ;
1896};
1897#line 481 "include/linux/sched.h"
1898struct thread_group_cputimer {
1899   struct task_cputime cputime ;
1900   int running ;
1901   raw_spinlock_t lock ;
1902};
1903#line 517
1904struct autogroup;
1905#line 517
1906struct autogroup;
1907#line 518
1908struct tty_struct;
1909#line 518
1910struct taskstats;
1911#line 518
1912struct tty_audit_buf;
1913#line 518 "include/linux/sched.h"
1914struct signal_struct {
1915   atomic_t sigcnt ;
1916   atomic_t live ;
1917   int nr_threads ;
1918   wait_queue_head_t wait_chldexit ;
1919   struct task_struct *curr_target ;
1920   struct sigpending shared_pending ;
1921   int group_exit_code ;
1922   int notify_count ;
1923   struct task_struct *group_exit_task ;
1924   int group_stop_count ;
1925   unsigned int flags ;
1926   unsigned char is_child_subreaper : 1 ;
1927   unsigned char has_child_subreaper : 1 ;
1928   struct list_head posix_timers ;
1929   struct hrtimer real_timer ;
1930   struct pid *leader_pid ;
1931   ktime_t it_real_incr ;
1932   struct cpu_itimer it[2U] ;
1933   struct thread_group_cputimer cputimer ;
1934   struct task_cputime cputime_expires ;
1935   struct list_head cpu_timers[3U] ;
1936   struct pid *tty_old_pgrp ;
1937   int leader ;
1938   struct tty_struct *tty ;
1939   struct autogroup *autogroup ;
1940   cputime_t utime ;
1941   cputime_t stime ;
1942   cputime_t cutime ;
1943   cputime_t cstime ;
1944   cputime_t gtime ;
1945   cputime_t cgtime ;
1946   cputime_t prev_utime ;
1947   cputime_t prev_stime ;
1948   unsigned long nvcsw ;
1949   unsigned long nivcsw ;
1950   unsigned long cnvcsw ;
1951   unsigned long cnivcsw ;
1952   unsigned long min_flt ;
1953   unsigned long maj_flt ;
1954   unsigned long cmin_flt ;
1955   unsigned long cmaj_flt ;
1956   unsigned long inblock ;
1957   unsigned long oublock ;
1958   unsigned long cinblock ;
1959   unsigned long coublock ;
1960   unsigned long maxrss ;
1961   unsigned long cmaxrss ;
1962   struct task_io_accounting ioac ;
1963   unsigned long long sum_sched_runtime ;
1964   struct rlimit rlim[16U] ;
1965   struct pacct_struct pacct ;
1966   struct taskstats *stats ;
1967   unsigned int audit_tty ;
1968   struct tty_audit_buf *tty_audit_buf ;
1969   struct rw_semaphore group_rwsem ;
1970   int oom_adj ;
1971   int oom_score_adj ;
1972   int oom_score_adj_min ;
1973   struct mutex cred_guard_mutex ;
1974};
1975#line 699 "include/linux/sched.h"
1976struct user_struct {
1977   atomic_t __count ;
1978   atomic_t processes ;
1979   atomic_t files ;
1980   atomic_t sigpending ;
1981   atomic_t inotify_watches ;
1982   atomic_t inotify_devs ;
1983   atomic_t fanotify_listeners ;
1984   atomic_long_t epoll_watches ;
1985   unsigned long mq_bytes ;
1986   unsigned long locked_shm ;
1987   struct key *uid_keyring ;
1988   struct key *session_keyring ;
1989   struct hlist_node uidhash_node ;
1990   uid_t uid ;
1991   struct user_namespace *user_ns ;
1992   atomic_long_t locked_vm ;
1993};
1994#line 744
1995struct backing_dev_info;
1996#line 744
1997struct backing_dev_info;
1998#line 745
1999struct reclaim_state;
2000#line 745
2001struct reclaim_state;
2002#line 746 "include/linux/sched.h"
2003struct sched_info {
2004   unsigned long pcount ;
2005   unsigned long long run_delay ;
2006   unsigned long long last_arrival ;
2007   unsigned long long last_queued ;
2008};
2009#line 760 "include/linux/sched.h"
2010struct task_delay_info {
2011   spinlock_t lock ;
2012   unsigned int flags ;
2013   struct timespec blkio_start ;
2014   struct timespec blkio_end ;
2015   u64 blkio_delay ;
2016   u64 swapin_delay ;
2017   u32 blkio_count ;
2018   u32 swapin_count ;
2019   struct timespec freepages_start ;
2020   struct timespec freepages_end ;
2021   u64 freepages_delay ;
2022   u32 freepages_count ;
2023};
2024#line 1069
2025struct io_context;
2026#line 1069
2027struct io_context;
2028#line 1097
2029struct pipe_inode_info;
2030#line 1097
2031struct pipe_inode_info;
2032#line 1099
2033struct rq;
2034#line 1099
2035struct rq;
2036#line 1100 "include/linux/sched.h"
2037struct sched_class {
2038   struct sched_class  const  *next ;
2039   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2040   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2041   void (*yield_task)(struct rq * ) ;
2042   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2043   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2044   struct task_struct *(*pick_next_task)(struct rq * ) ;
2045   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2046   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2047   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2048   void (*post_schedule)(struct rq * ) ;
2049   void (*task_waking)(struct task_struct * ) ;
2050   void (*task_woken)(struct rq * , struct task_struct * ) ;
2051   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2052   void (*rq_online)(struct rq * ) ;
2053   void (*rq_offline)(struct rq * ) ;
2054   void (*set_curr_task)(struct rq * ) ;
2055   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2056   void (*task_fork)(struct task_struct * ) ;
2057   void (*switched_from)(struct rq * , struct task_struct * ) ;
2058   void (*switched_to)(struct rq * , struct task_struct * ) ;
2059   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2060   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2061   void (*task_move_group)(struct task_struct * , int  ) ;
2062};
2063#line 1165 "include/linux/sched.h"
2064struct load_weight {
2065   unsigned long weight ;
2066   unsigned long inv_weight ;
2067};
2068#line 1170 "include/linux/sched.h"
2069struct sched_statistics {
2070   u64 wait_start ;
2071   u64 wait_max ;
2072   u64 wait_count ;
2073   u64 wait_sum ;
2074   u64 iowait_count ;
2075   u64 iowait_sum ;
2076   u64 sleep_start ;
2077   u64 sleep_max ;
2078   s64 sum_sleep_runtime ;
2079   u64 block_start ;
2080   u64 block_max ;
2081   u64 exec_max ;
2082   u64 slice_max ;
2083   u64 nr_migrations_cold ;
2084   u64 nr_failed_migrations_affine ;
2085   u64 nr_failed_migrations_running ;
2086   u64 nr_failed_migrations_hot ;
2087   u64 nr_forced_migrations ;
2088   u64 nr_wakeups ;
2089   u64 nr_wakeups_sync ;
2090   u64 nr_wakeups_migrate ;
2091   u64 nr_wakeups_local ;
2092   u64 nr_wakeups_remote ;
2093   u64 nr_wakeups_affine ;
2094   u64 nr_wakeups_affine_attempts ;
2095   u64 nr_wakeups_passive ;
2096   u64 nr_wakeups_idle ;
2097};
2098#line 1205 "include/linux/sched.h"
2099struct sched_entity {
2100   struct load_weight load ;
2101   struct rb_node run_node ;
2102   struct list_head group_node ;
2103   unsigned int on_rq ;
2104   u64 exec_start ;
2105   u64 sum_exec_runtime ;
2106   u64 vruntime ;
2107   u64 prev_sum_exec_runtime ;
2108   u64 nr_migrations ;
2109   struct sched_statistics statistics ;
2110   struct sched_entity *parent ;
2111   struct cfs_rq *cfs_rq ;
2112   struct cfs_rq *my_q ;
2113};
2114#line 1231
2115struct rt_rq;
2116#line 1231 "include/linux/sched.h"
2117struct sched_rt_entity {
2118   struct list_head run_list ;
2119   unsigned long timeout ;
2120   unsigned int time_slice ;
2121   int nr_cpus_allowed ;
2122   struct sched_rt_entity *back ;
2123   struct sched_rt_entity *parent ;
2124   struct rt_rq *rt_rq ;
2125   struct rt_rq *my_q ;
2126};
2127#line 1255
2128struct mem_cgroup;
2129#line 1255 "include/linux/sched.h"
2130struct memcg_batch_info {
2131   int do_batch ;
2132   struct mem_cgroup *memcg ;
2133   unsigned long nr_pages ;
2134   unsigned long memsw_nr_pages ;
2135};
2136#line 1616
2137struct files_struct;
2138#line 1616
2139struct css_set;
2140#line 1616
2141struct compat_robust_list_head;
2142#line 1616 "include/linux/sched.h"
2143struct task_struct {
2144   long volatile   state ;
2145   void *stack ;
2146   atomic_t usage ;
2147   unsigned int flags ;
2148   unsigned int ptrace ;
2149   struct llist_node wake_entry ;
2150   int on_cpu ;
2151   int on_rq ;
2152   int prio ;
2153   int static_prio ;
2154   int normal_prio ;
2155   unsigned int rt_priority ;
2156   struct sched_class  const  *sched_class ;
2157   struct sched_entity se ;
2158   struct sched_rt_entity rt ;
2159   struct hlist_head preempt_notifiers ;
2160   unsigned char fpu_counter ;
2161   unsigned int policy ;
2162   cpumask_t cpus_allowed ;
2163   struct sched_info sched_info ;
2164   struct list_head tasks ;
2165   struct plist_node pushable_tasks ;
2166   struct mm_struct *mm ;
2167   struct mm_struct *active_mm ;
2168   unsigned char brk_randomized : 1 ;
2169   int exit_state ;
2170   int exit_code ;
2171   int exit_signal ;
2172   int pdeath_signal ;
2173   unsigned int jobctl ;
2174   unsigned int personality ;
2175   unsigned char did_exec : 1 ;
2176   unsigned char in_execve : 1 ;
2177   unsigned char in_iowait : 1 ;
2178   unsigned char sched_reset_on_fork : 1 ;
2179   unsigned char sched_contributes_to_load : 1 ;
2180   unsigned char irq_thread : 1 ;
2181   pid_t pid ;
2182   pid_t tgid ;
2183   unsigned long stack_canary ;
2184   struct task_struct *real_parent ;
2185   struct task_struct *parent ;
2186   struct list_head children ;
2187   struct list_head sibling ;
2188   struct task_struct *group_leader ;
2189   struct list_head ptraced ;
2190   struct list_head ptrace_entry ;
2191   struct pid_link pids[3U] ;
2192   struct list_head thread_group ;
2193   struct completion *vfork_done ;
2194   int *set_child_tid ;
2195   int *clear_child_tid ;
2196   cputime_t utime ;
2197   cputime_t stime ;
2198   cputime_t utimescaled ;
2199   cputime_t stimescaled ;
2200   cputime_t gtime ;
2201   cputime_t prev_utime ;
2202   cputime_t prev_stime ;
2203   unsigned long nvcsw ;
2204   unsigned long nivcsw ;
2205   struct timespec start_time ;
2206   struct timespec real_start_time ;
2207   unsigned long min_flt ;
2208   unsigned long maj_flt ;
2209   struct task_cputime cputime_expires ;
2210   struct list_head cpu_timers[3U] ;
2211   struct cred  const  *real_cred ;
2212   struct cred  const  *cred ;
2213   struct cred *replacement_session_keyring ;
2214   char comm[16U] ;
2215   int link_count ;
2216   int total_link_count ;
2217   struct sysv_sem sysvsem ;
2218   unsigned long last_switch_count ;
2219   struct thread_struct thread ;
2220   struct fs_struct *fs ;
2221   struct files_struct *files ;
2222   struct nsproxy *nsproxy ;
2223   struct signal_struct *signal ;
2224   struct sighand_struct *sighand ;
2225   sigset_t blocked ;
2226   sigset_t real_blocked ;
2227   sigset_t saved_sigmask ;
2228   struct sigpending pending ;
2229   unsigned long sas_ss_sp ;
2230   size_t sas_ss_size ;
2231   int (*notifier)(void * ) ;
2232   void *notifier_data ;
2233   sigset_t *notifier_mask ;
2234   struct audit_context *audit_context ;
2235   uid_t loginuid ;
2236   unsigned int sessionid ;
2237   seccomp_t seccomp ;
2238   u32 parent_exec_id ;
2239   u32 self_exec_id ;
2240   spinlock_t alloc_lock ;
2241   raw_spinlock_t pi_lock ;
2242   struct plist_head pi_waiters ;
2243   struct rt_mutex_waiter *pi_blocked_on ;
2244   struct mutex_waiter *blocked_on ;
2245   unsigned int irq_events ;
2246   unsigned long hardirq_enable_ip ;
2247   unsigned long hardirq_disable_ip ;
2248   unsigned int hardirq_enable_event ;
2249   unsigned int hardirq_disable_event ;
2250   int hardirqs_enabled ;
2251   int hardirq_context ;
2252   unsigned long softirq_disable_ip ;
2253   unsigned long softirq_enable_ip ;
2254   unsigned int softirq_disable_event ;
2255   unsigned int softirq_enable_event ;
2256   int softirqs_enabled ;
2257   int softirq_context ;
2258   u64 curr_chain_key ;
2259   int lockdep_depth ;
2260   unsigned int lockdep_recursion ;
2261   struct held_lock held_locks[48U] ;
2262   gfp_t lockdep_reclaim_gfp ;
2263   void *journal_info ;
2264   struct bio_list *bio_list ;
2265   struct blk_plug *plug ;
2266   struct reclaim_state *reclaim_state ;
2267   struct backing_dev_info *backing_dev_info ;
2268   struct io_context *io_context ;
2269   unsigned long ptrace_message ;
2270   siginfo_t *last_siginfo ;
2271   struct task_io_accounting ioac ;
2272   u64 acct_rss_mem1 ;
2273   u64 acct_vm_mem1 ;
2274   cputime_t acct_timexpd ;
2275   nodemask_t mems_allowed ;
2276   seqcount_t mems_allowed_seq ;
2277   int cpuset_mem_spread_rotor ;
2278   int cpuset_slab_spread_rotor ;
2279   struct css_set *cgroups ;
2280   struct list_head cg_list ;
2281   struct robust_list_head *robust_list ;
2282   struct compat_robust_list_head *compat_robust_list ;
2283   struct list_head pi_state_list ;
2284   struct futex_pi_state *pi_state_cache ;
2285   struct perf_event_context *perf_event_ctxp[2U] ;
2286   struct mutex perf_event_mutex ;
2287   struct list_head perf_event_list ;
2288   struct mempolicy *mempolicy ;
2289   short il_next ;
2290   short pref_node_fork ;
2291   struct rcu_head rcu ;
2292   struct pipe_inode_info *splice_pipe ;
2293   struct task_delay_info *delays ;
2294   int make_it_fail ;
2295   int nr_dirtied ;
2296   int nr_dirtied_pause ;
2297   unsigned long dirty_paused_when ;
2298   int latency_record_count ;
2299   struct latency_record latency_record[32U] ;
2300   unsigned long timer_slack_ns ;
2301   unsigned long default_timer_slack_ns ;
2302   struct list_head *scm_work_list ;
2303   unsigned long trace ;
2304   unsigned long trace_recursion ;
2305   struct memcg_batch_info memcg_batch ;
2306   atomic_t ptrace_bp_refcnt ;
2307};
2308#line 413 "include/linux/ptrace.h"
2309struct block_device;
2310#line 413
2311struct block_device;
2312#line 93 "include/linux/bit_spinlock.h"
2313struct hlist_bl_node;
2314#line 93 "include/linux/bit_spinlock.h"
2315struct hlist_bl_head {
2316   struct hlist_bl_node *first ;
2317};
2318#line 36 "include/linux/list_bl.h"
2319struct hlist_bl_node {
2320   struct hlist_bl_node *next ;
2321   struct hlist_bl_node **pprev ;
2322};
2323#line 114 "include/linux/rculist_bl.h"
2324struct nameidata;
2325#line 114
2326struct nameidata;
2327#line 115
2328struct path;
2329#line 115
2330struct path;
2331#line 116
2332struct vfsmount;
2333#line 116
2334struct vfsmount;
2335#line 117 "include/linux/rculist_bl.h"
2336struct qstr {
2337   unsigned int hash ;
2338   unsigned int len ;
2339   unsigned char const   *name ;
2340};
2341#line 72 "include/linux/dcache.h"
2342struct dentry_operations;
2343#line 72
2344struct super_block;
2345#line 72 "include/linux/dcache.h"
2346union __anonunion_d_u_163 {
2347   struct list_head d_child ;
2348   struct rcu_head d_rcu ;
2349};
2350#line 72 "include/linux/dcache.h"
2351struct dentry {
2352   unsigned int d_flags ;
2353   seqcount_t d_seq ;
2354   struct hlist_bl_node d_hash ;
2355   struct dentry *d_parent ;
2356   struct qstr d_name ;
2357   struct inode *d_inode ;
2358   unsigned char d_iname[32U] ;
2359   unsigned int d_count ;
2360   spinlock_t d_lock ;
2361   struct dentry_operations  const  *d_op ;
2362   struct super_block *d_sb ;
2363   unsigned long d_time ;
2364   void *d_fsdata ;
2365   struct list_head d_lru ;
2366   union __anonunion_d_u_163 d_u ;
2367   struct list_head d_subdirs ;
2368   struct list_head d_alias ;
2369};
2370#line 123 "include/linux/dcache.h"
2371struct dentry_operations {
2372   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2373   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
2374   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
2375                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
2376   int (*d_delete)(struct dentry  const  * ) ;
2377   void (*d_release)(struct dentry * ) ;
2378   void (*d_prune)(struct dentry * ) ;
2379   void (*d_iput)(struct dentry * , struct inode * ) ;
2380   char *(*d_dname)(struct dentry * , char * , int  ) ;
2381   struct vfsmount *(*d_automount)(struct path * ) ;
2382   int (*d_manage)(struct dentry * , bool  ) ;
2383};
2384#line 402 "include/linux/dcache.h"
2385struct path {
2386   struct vfsmount *mnt ;
2387   struct dentry *dentry ;
2388};
2389#line 58 "include/linux/radix-tree.h"
2390struct radix_tree_node;
2391#line 58 "include/linux/radix-tree.h"
2392struct radix_tree_root {
2393   unsigned int height ;
2394   gfp_t gfp_mask ;
2395   struct radix_tree_node *rnode ;
2396};
2397#line 45 "include/linux/semaphore.h"
2398struct fiemap_extent {
2399   __u64 fe_logical ;
2400   __u64 fe_physical ;
2401   __u64 fe_length ;
2402   __u64 fe_reserved64[2U] ;
2403   __u32 fe_flags ;
2404   __u32 fe_reserved[3U] ;
2405};
2406#line 38 "include/linux/fiemap.h"
2407struct shrink_control {
2408   gfp_t gfp_mask ;
2409   unsigned long nr_to_scan ;
2410};
2411#line 14 "include/linux/shrinker.h"
2412struct shrinker {
2413   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
2414   int seeks ;
2415   long batch ;
2416   struct list_head list ;
2417   atomic_long_t nr_in_batch ;
2418};
2419#line 43
2420enum migrate_mode {
2421    MIGRATE_ASYNC = 0,
2422    MIGRATE_SYNC_LIGHT = 1,
2423    MIGRATE_SYNC = 2
2424} ;
2425#line 49
2426struct export_operations;
2427#line 49
2428struct export_operations;
2429#line 51
2430struct poll_table_struct;
2431#line 51
2432struct poll_table_struct;
2433#line 52
2434struct kstatfs;
2435#line 52
2436struct kstatfs;
2437#line 435 "include/linux/fs.h"
2438struct iattr {
2439   unsigned int ia_valid ;
2440   umode_t ia_mode ;
2441   uid_t ia_uid ;
2442   gid_t ia_gid ;
2443   loff_t ia_size ;
2444   struct timespec ia_atime ;
2445   struct timespec ia_mtime ;
2446   struct timespec ia_ctime ;
2447   struct file *ia_file ;
2448};
2449#line 119 "include/linux/quota.h"
2450struct if_dqinfo {
2451   __u64 dqi_bgrace ;
2452   __u64 dqi_igrace ;
2453   __u32 dqi_flags ;
2454   __u32 dqi_valid ;
2455};
2456#line 152 "include/linux/quota.h"
2457struct fs_disk_quota {
2458   __s8 d_version ;
2459   __s8 d_flags ;
2460   __u16 d_fieldmask ;
2461   __u32 d_id ;
2462   __u64 d_blk_hardlimit ;
2463   __u64 d_blk_softlimit ;
2464   __u64 d_ino_hardlimit ;
2465   __u64 d_ino_softlimit ;
2466   __u64 d_bcount ;
2467   __u64 d_icount ;
2468   __s32 d_itimer ;
2469   __s32 d_btimer ;
2470   __u16 d_iwarns ;
2471   __u16 d_bwarns ;
2472   __s32 d_padding2 ;
2473   __u64 d_rtb_hardlimit ;
2474   __u64 d_rtb_softlimit ;
2475   __u64 d_rtbcount ;
2476   __s32 d_rtbtimer ;
2477   __u16 d_rtbwarns ;
2478   __s16 d_padding3 ;
2479   char d_padding4[8U] ;
2480};
2481#line 75 "include/linux/dqblk_xfs.h"
2482struct fs_qfilestat {
2483   __u64 qfs_ino ;
2484   __u64 qfs_nblks ;
2485   __u32 qfs_nextents ;
2486};
2487#line 150 "include/linux/dqblk_xfs.h"
2488typedef struct fs_qfilestat fs_qfilestat_t;
2489#line 151 "include/linux/dqblk_xfs.h"
2490struct fs_quota_stat {
2491   __s8 qs_version ;
2492   __u16 qs_flags ;
2493   __s8 qs_pad ;
2494   fs_qfilestat_t qs_uquota ;
2495   fs_qfilestat_t qs_gquota ;
2496   __u32 qs_incoredqs ;
2497   __s32 qs_btimelimit ;
2498   __s32 qs_itimelimit ;
2499   __s32 qs_rtbtimelimit ;
2500   __u16 qs_bwarnlimit ;
2501   __u16 qs_iwarnlimit ;
2502};
2503#line 165
2504struct dquot;
2505#line 165
2506struct dquot;
2507#line 185 "include/linux/quota.h"
2508typedef __kernel_uid32_t qid_t;
2509#line 186 "include/linux/quota.h"
2510typedef long long qsize_t;
2511#line 189 "include/linux/quota.h"
2512struct mem_dqblk {
2513   qsize_t dqb_bhardlimit ;
2514   qsize_t dqb_bsoftlimit ;
2515   qsize_t dqb_curspace ;
2516   qsize_t dqb_rsvspace ;
2517   qsize_t dqb_ihardlimit ;
2518   qsize_t dqb_isoftlimit ;
2519   qsize_t dqb_curinodes ;
2520   time_t dqb_btime ;
2521   time_t dqb_itime ;
2522};
2523#line 211
2524struct quota_format_type;
2525#line 211
2526struct quota_format_type;
2527#line 212 "include/linux/quota.h"
2528struct mem_dqinfo {
2529   struct quota_format_type *dqi_format ;
2530   int dqi_fmt_id ;
2531   struct list_head dqi_dirty_list ;
2532   unsigned long dqi_flags ;
2533   unsigned int dqi_bgrace ;
2534   unsigned int dqi_igrace ;
2535   qsize_t dqi_maxblimit ;
2536   qsize_t dqi_maxilimit ;
2537   void *dqi_priv ;
2538};
2539#line 275 "include/linux/quota.h"
2540struct dquot {
2541   struct hlist_node dq_hash ;
2542   struct list_head dq_inuse ;
2543   struct list_head dq_free ;
2544   struct list_head dq_dirty ;
2545   struct mutex dq_lock ;
2546   atomic_t dq_count ;
2547   wait_queue_head_t dq_wait_unused ;
2548   struct super_block *dq_sb ;
2549   unsigned int dq_id ;
2550   loff_t dq_off ;
2551   unsigned long dq_flags ;
2552   short dq_type ;
2553   struct mem_dqblk dq_dqb ;
2554};
2555#line 303 "include/linux/quota.h"
2556struct quota_format_ops {
2557   int (*check_quota_file)(struct super_block * , int  ) ;
2558   int (*read_file_info)(struct super_block * , int  ) ;
2559   int (*write_file_info)(struct super_block * , int  ) ;
2560   int (*free_file_info)(struct super_block * , int  ) ;
2561   int (*read_dqblk)(struct dquot * ) ;
2562   int (*commit_dqblk)(struct dquot * ) ;
2563   int (*release_dqblk)(struct dquot * ) ;
2564};
2565#line 314 "include/linux/quota.h"
2566struct dquot_operations {
2567   int (*write_dquot)(struct dquot * ) ;
2568   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2569   void (*destroy_dquot)(struct dquot * ) ;
2570   int (*acquire_dquot)(struct dquot * ) ;
2571   int (*release_dquot)(struct dquot * ) ;
2572   int (*mark_dirty)(struct dquot * ) ;
2573   int (*write_info)(struct super_block * , int  ) ;
2574   qsize_t *(*get_reserved_space)(struct inode * ) ;
2575};
2576#line 328 "include/linux/quota.h"
2577struct quotactl_ops {
2578   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2579   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2580   int (*quota_off)(struct super_block * , int  ) ;
2581   int (*quota_sync)(struct super_block * , int  , int  ) ;
2582   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2583   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2584   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2585   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2586   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2587   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2588};
2589#line 344 "include/linux/quota.h"
2590struct quota_format_type {
2591   int qf_fmt_id ;
2592   struct quota_format_ops  const  *qf_ops ;
2593   struct module *qf_owner ;
2594   struct quota_format_type *qf_next ;
2595};
2596#line 390 "include/linux/quota.h"
2597struct quota_info {
2598   unsigned int flags ;
2599   struct mutex dqio_mutex ;
2600   struct mutex dqonoff_mutex ;
2601   struct rw_semaphore dqptr_sem ;
2602   struct inode *files[2U] ;
2603   struct mem_dqinfo info[2U] ;
2604   struct quota_format_ops  const  *ops[2U] ;
2605};
2606#line 421
2607struct writeback_control;
2608#line 421
2609struct writeback_control;
2610#line 585 "include/linux/fs.h"
2611union __anonunion_arg_165 {
2612   char *buf ;
2613   void *data ;
2614};
2615#line 585 "include/linux/fs.h"
2616struct __anonstruct_read_descriptor_t_164 {
2617   size_t written ;
2618   size_t count ;
2619   union __anonunion_arg_165 arg ;
2620   int error ;
2621};
2622#line 585 "include/linux/fs.h"
2623typedef struct __anonstruct_read_descriptor_t_164 read_descriptor_t;
2624#line 588 "include/linux/fs.h"
2625struct address_space_operations {
2626   int (*writepage)(struct page * , struct writeback_control * ) ;
2627   int (*readpage)(struct file * , struct page * ) ;
2628   int (*writepages)(struct address_space * , struct writeback_control * ) ;
2629   int (*set_page_dirty)(struct page * ) ;
2630   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2631                    unsigned int  ) ;
2632   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
2633                      unsigned int  , struct page ** , void ** ) ;
2634   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
2635                    unsigned int  , struct page * , void * ) ;
2636   sector_t (*bmap)(struct address_space * , sector_t  ) ;
2637   void (*invalidatepage)(struct page * , unsigned long  ) ;
2638   int (*releasepage)(struct page * , gfp_t  ) ;
2639   void (*freepage)(struct page * ) ;
2640   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
2641                        unsigned long  ) ;
2642   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
2643   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
2644   int (*launder_page)(struct page * ) ;
2645   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
2646   int (*error_remove_page)(struct address_space * , struct page * ) ;
2647};
2648#line 642 "include/linux/fs.h"
2649struct address_space {
2650   struct inode *host ;
2651   struct radix_tree_root page_tree ;
2652   spinlock_t tree_lock ;
2653   unsigned int i_mmap_writable ;
2654   struct prio_tree_root i_mmap ;
2655   struct list_head i_mmap_nonlinear ;
2656   struct mutex i_mmap_mutex ;
2657   unsigned long nrpages ;
2658   unsigned long writeback_index ;
2659   struct address_space_operations  const  *a_ops ;
2660   unsigned long flags ;
2661   struct backing_dev_info *backing_dev_info ;
2662   spinlock_t private_lock ;
2663   struct list_head private_list ;
2664   struct address_space *assoc_mapping ;
2665};
2666#line 664
2667struct request_queue;
2668#line 664
2669struct request_queue;
2670#line 665
2671struct hd_struct;
2672#line 665
2673struct gendisk;
2674#line 665 "include/linux/fs.h"
2675struct block_device {
2676   dev_t bd_dev ;
2677   int bd_openers ;
2678   struct inode *bd_inode ;
2679   struct super_block *bd_super ;
2680   struct mutex bd_mutex ;
2681   struct list_head bd_inodes ;
2682   void *bd_claiming ;
2683   void *bd_holder ;
2684   int bd_holders ;
2685   bool bd_write_holder ;
2686   struct list_head bd_holder_disks ;
2687   struct block_device *bd_contains ;
2688   unsigned int bd_block_size ;
2689   struct hd_struct *bd_part ;
2690   unsigned int bd_part_count ;
2691   int bd_invalidated ;
2692   struct gendisk *bd_disk ;
2693   struct request_queue *bd_queue ;
2694   struct list_head bd_list ;
2695   unsigned long bd_private ;
2696   int bd_fsfreeze_count ;
2697   struct mutex bd_fsfreeze_mutex ;
2698};
2699#line 737
2700struct posix_acl;
2701#line 737
2702struct posix_acl;
2703#line 738
2704struct inode_operations;
2705#line 738 "include/linux/fs.h"
2706union __anonunion_ldv_18917_166 {
2707   unsigned int const   i_nlink ;
2708   unsigned int __i_nlink ;
2709};
2710#line 738 "include/linux/fs.h"
2711union __anonunion_ldv_18936_167 {
2712   struct list_head i_dentry ;
2713   struct rcu_head i_rcu ;
2714};
2715#line 738
2716struct file_operations;
2717#line 738
2718struct file_lock;
2719#line 738
2720struct cdev;
2721#line 738 "include/linux/fs.h"
2722union __anonunion_ldv_18954_168 {
2723   struct pipe_inode_info *i_pipe ;
2724   struct block_device *i_bdev ;
2725   struct cdev *i_cdev ;
2726};
2727#line 738 "include/linux/fs.h"
2728struct inode {
2729   umode_t i_mode ;
2730   unsigned short i_opflags ;
2731   uid_t i_uid ;
2732   gid_t i_gid ;
2733   unsigned int i_flags ;
2734   struct posix_acl *i_acl ;
2735   struct posix_acl *i_default_acl ;
2736   struct inode_operations  const  *i_op ;
2737   struct super_block *i_sb ;
2738   struct address_space *i_mapping ;
2739   void *i_security ;
2740   unsigned long i_ino ;
2741   union __anonunion_ldv_18917_166 ldv_18917 ;
2742   dev_t i_rdev ;
2743   struct timespec i_atime ;
2744   struct timespec i_mtime ;
2745   struct timespec i_ctime ;
2746   spinlock_t i_lock ;
2747   unsigned short i_bytes ;
2748   blkcnt_t i_blocks ;
2749   loff_t i_size ;
2750   unsigned long i_state ;
2751   struct mutex i_mutex ;
2752   unsigned long dirtied_when ;
2753   struct hlist_node i_hash ;
2754   struct list_head i_wb_list ;
2755   struct list_head i_lru ;
2756   struct list_head i_sb_list ;
2757   union __anonunion_ldv_18936_167 ldv_18936 ;
2758   atomic_t i_count ;
2759   unsigned int i_blkbits ;
2760   u64 i_version ;
2761   atomic_t i_dio_count ;
2762   atomic_t i_writecount ;
2763   struct file_operations  const  *i_fop ;
2764   struct file_lock *i_flock ;
2765   struct address_space i_data ;
2766   struct dquot *i_dquot[2U] ;
2767   struct list_head i_devices ;
2768   union __anonunion_ldv_18954_168 ldv_18954 ;
2769   __u32 i_generation ;
2770   __u32 i_fsnotify_mask ;
2771   struct hlist_head i_fsnotify_marks ;
2772   atomic_t i_readcount ;
2773   void *i_private ;
2774};
2775#line 941 "include/linux/fs.h"
2776struct fown_struct {
2777   rwlock_t lock ;
2778   struct pid *pid ;
2779   enum pid_type pid_type ;
2780   uid_t uid ;
2781   uid_t euid ;
2782   int signum ;
2783};
2784#line 949 "include/linux/fs.h"
2785struct file_ra_state {
2786   unsigned long start ;
2787   unsigned int size ;
2788   unsigned int async_size ;
2789   unsigned int ra_pages ;
2790   unsigned int mmap_miss ;
2791   loff_t prev_pos ;
2792};
2793#line 972 "include/linux/fs.h"
2794union __anonunion_f_u_169 {
2795   struct list_head fu_list ;
2796   struct rcu_head fu_rcuhead ;
2797};
2798#line 972 "include/linux/fs.h"
2799struct file {
2800   union __anonunion_f_u_169 f_u ;
2801   struct path f_path ;
2802   struct file_operations  const  *f_op ;
2803   spinlock_t f_lock ;
2804   int f_sb_list_cpu ;
2805   atomic_long_t f_count ;
2806   unsigned int f_flags ;
2807   fmode_t f_mode ;
2808   loff_t f_pos ;
2809   struct fown_struct f_owner ;
2810   struct cred  const  *f_cred ;
2811   struct file_ra_state f_ra ;
2812   u64 f_version ;
2813   void *f_security ;
2814   void *private_data ;
2815   struct list_head f_ep_links ;
2816   struct list_head f_tfile_llink ;
2817   struct address_space *f_mapping ;
2818   unsigned long f_mnt_write_state ;
2819};
2820#line 1111 "include/linux/fs.h"
2821typedef struct files_struct *fl_owner_t;
2822#line 1112 "include/linux/fs.h"
2823struct file_lock_operations {
2824   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
2825   void (*fl_release_private)(struct file_lock * ) ;
2826};
2827#line 1117 "include/linux/fs.h"
2828struct lock_manager_operations {
2829   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
2830   void (*lm_notify)(struct file_lock * ) ;
2831   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
2832   void (*lm_release_private)(struct file_lock * ) ;
2833   void (*lm_break)(struct file_lock * ) ;
2834   int (*lm_change)(struct file_lock ** , int  ) ;
2835};
2836#line 1134
2837struct nlm_lockowner;
2838#line 1134
2839struct nlm_lockowner;
2840#line 1135 "include/linux/fs.h"
2841struct nfs_lock_info {
2842   u32 state ;
2843   struct nlm_lockowner *owner ;
2844   struct list_head list ;
2845};
2846#line 14 "include/linux/nfs_fs_i.h"
2847struct nfs4_lock_state;
2848#line 14
2849struct nfs4_lock_state;
2850#line 15 "include/linux/nfs_fs_i.h"
2851struct nfs4_lock_info {
2852   struct nfs4_lock_state *owner ;
2853};
2854#line 19
2855struct fasync_struct;
2856#line 19 "include/linux/nfs_fs_i.h"
2857struct __anonstruct_afs_171 {
2858   struct list_head link ;
2859   int state ;
2860};
2861#line 19 "include/linux/nfs_fs_i.h"
2862union __anonunion_fl_u_170 {
2863   struct nfs_lock_info nfs_fl ;
2864   struct nfs4_lock_info nfs4_fl ;
2865   struct __anonstruct_afs_171 afs ;
2866};
2867#line 19 "include/linux/nfs_fs_i.h"
2868struct file_lock {
2869   struct file_lock *fl_next ;
2870   struct list_head fl_link ;
2871   struct list_head fl_block ;
2872   fl_owner_t fl_owner ;
2873   unsigned int fl_flags ;
2874   unsigned char fl_type ;
2875   unsigned int fl_pid ;
2876   struct pid *fl_nspid ;
2877   wait_queue_head_t fl_wait ;
2878   struct file *fl_file ;
2879   loff_t fl_start ;
2880   loff_t fl_end ;
2881   struct fasync_struct *fl_fasync ;
2882   unsigned long fl_break_time ;
2883   unsigned long fl_downgrade_time ;
2884   struct file_lock_operations  const  *fl_ops ;
2885   struct lock_manager_operations  const  *fl_lmops ;
2886   union __anonunion_fl_u_170 fl_u ;
2887};
2888#line 1221 "include/linux/fs.h"
2889struct fasync_struct {
2890   spinlock_t fa_lock ;
2891   int magic ;
2892   int fa_fd ;
2893   struct fasync_struct *fa_next ;
2894   struct file *fa_file ;
2895   struct rcu_head fa_rcu ;
2896};
2897#line 1417
2898struct file_system_type;
2899#line 1417
2900struct super_operations;
2901#line 1417
2902struct xattr_handler;
2903#line 1417
2904struct mtd_info;
2905#line 1417 "include/linux/fs.h"
2906struct super_block {
2907   struct list_head s_list ;
2908   dev_t s_dev ;
2909   unsigned char s_dirt ;
2910   unsigned char s_blocksize_bits ;
2911   unsigned long s_blocksize ;
2912   loff_t s_maxbytes ;
2913   struct file_system_type *s_type ;
2914   struct super_operations  const  *s_op ;
2915   struct dquot_operations  const  *dq_op ;
2916   struct quotactl_ops  const  *s_qcop ;
2917   struct export_operations  const  *s_export_op ;
2918   unsigned long s_flags ;
2919   unsigned long s_magic ;
2920   struct dentry *s_root ;
2921   struct rw_semaphore s_umount ;
2922   struct mutex s_lock ;
2923   int s_count ;
2924   atomic_t s_active ;
2925   void *s_security ;
2926   struct xattr_handler  const  **s_xattr ;
2927   struct list_head s_inodes ;
2928   struct hlist_bl_head s_anon ;
2929   struct list_head *s_files ;
2930   struct list_head s_mounts ;
2931   struct list_head s_dentry_lru ;
2932   int s_nr_dentry_unused ;
2933   spinlock_t s_inode_lru_lock ;
2934   struct list_head s_inode_lru ;
2935   int s_nr_inodes_unused ;
2936   struct block_device *s_bdev ;
2937   struct backing_dev_info *s_bdi ;
2938   struct mtd_info *s_mtd ;
2939   struct hlist_node s_instances ;
2940   struct quota_info s_dquot ;
2941   int s_frozen ;
2942   wait_queue_head_t s_wait_unfrozen ;
2943   char s_id[32U] ;
2944   u8 s_uuid[16U] ;
2945   void *s_fs_info ;
2946   unsigned int s_max_links ;
2947   fmode_t s_mode ;
2948   u32 s_time_gran ;
2949   struct mutex s_vfs_rename_mutex ;
2950   char *s_subtype ;
2951   char *s_options ;
2952   struct dentry_operations  const  *s_d_op ;
2953   int cleancache_poolid ;
2954   struct shrinker s_shrink ;
2955   atomic_long_t s_remove_count ;
2956   int s_readonly_remount ;
2957};
2958#line 1563 "include/linux/fs.h"
2959struct fiemap_extent_info {
2960   unsigned int fi_flags ;
2961   unsigned int fi_extents_mapped ;
2962   unsigned int fi_extents_max ;
2963   struct fiemap_extent *fi_extents_start ;
2964};
2965#line 1602 "include/linux/fs.h"
2966struct file_operations {
2967   struct module *owner ;
2968   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
2969   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
2970   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
2971   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
2972                       loff_t  ) ;
2973   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
2974                        loff_t  ) ;
2975   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
2976                                                   loff_t  , u64  , unsigned int  ) ) ;
2977   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2978   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
2979   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
2980   int (*mmap)(struct file * , struct vm_area_struct * ) ;
2981   int (*open)(struct inode * , struct file * ) ;
2982   int (*flush)(struct file * , fl_owner_t  ) ;
2983   int (*release)(struct inode * , struct file * ) ;
2984   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
2985   int (*aio_fsync)(struct kiocb * , int  ) ;
2986   int (*fasync)(int  , struct file * , int  ) ;
2987   int (*lock)(struct file * , int  , struct file_lock * ) ;
2988   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
2989                       int  ) ;
2990   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
2991                                      unsigned long  , unsigned long  ) ;
2992   int (*check_flags)(int  ) ;
2993   int (*flock)(struct file * , int  , struct file_lock * ) ;
2994   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
2995                           unsigned int  ) ;
2996   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
2997                          unsigned int  ) ;
2998   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
2999   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
3000};
3001#line 1637 "include/linux/fs.h"
3002struct inode_operations {
3003   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3004   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3005   int (*permission)(struct inode * , int  ) ;
3006   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3007   int (*readlink)(struct dentry * , char * , int  ) ;
3008   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3009   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3010   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3011   int (*unlink)(struct inode * , struct dentry * ) ;
3012   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
3013   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3014   int (*rmdir)(struct inode * , struct dentry * ) ;
3015   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3016   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3017   void (*truncate)(struct inode * ) ;
3018   int (*setattr)(struct dentry * , struct iattr * ) ;
3019   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3020   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
3021   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
3022   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3023   int (*removexattr)(struct dentry * , char const   * ) ;
3024   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3025   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
3026};
3027#line 1682 "include/linux/fs.h"
3028struct super_operations {
3029   struct inode *(*alloc_inode)(struct super_block * ) ;
3030   void (*destroy_inode)(struct inode * ) ;
3031   void (*dirty_inode)(struct inode * , int  ) ;
3032   int (*write_inode)(struct inode * , struct writeback_control * ) ;
3033   int (*drop_inode)(struct inode * ) ;
3034   void (*evict_inode)(struct inode * ) ;
3035   void (*put_super)(struct super_block * ) ;
3036   void (*write_super)(struct super_block * ) ;
3037   int (*sync_fs)(struct super_block * , int  ) ;
3038   int (*freeze_fs)(struct super_block * ) ;
3039   int (*unfreeze_fs)(struct super_block * ) ;
3040   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3041   int (*remount_fs)(struct super_block * , int * , char * ) ;
3042   void (*umount_begin)(struct super_block * ) ;
3043   int (*show_options)(struct seq_file * , struct dentry * ) ;
3044   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3045   int (*show_path)(struct seq_file * , struct dentry * ) ;
3046   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3047   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3048   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
3049                          loff_t  ) ;
3050   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3051   int (*nr_cached_objects)(struct super_block * ) ;
3052   void (*free_cached_objects)(struct super_block * , int  ) ;
3053};
3054#line 1834 "include/linux/fs.h"
3055struct file_system_type {
3056   char const   *name ;
3057   int fs_flags ;
3058   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
3059   void (*kill_sb)(struct super_block * ) ;
3060   struct module *owner ;
3061   struct file_system_type *next ;
3062   struct hlist_head fs_supers ;
3063   struct lock_class_key s_lock_key ;
3064   struct lock_class_key s_umount_key ;
3065   struct lock_class_key s_vfs_rename_key ;
3066   struct lock_class_key i_lock_key ;
3067   struct lock_class_key i_mutex_key ;
3068   struct lock_class_key i_mutex_dir_key ;
3069};
3070#line 2674
3071struct klist_node;
3072#line 2674
3073struct klist_node;
3074#line 37 "include/linux/klist.h"
3075struct klist_node {
3076   void *n_klist ;
3077   struct list_head n_node ;
3078   struct kref n_ref ;
3079};
3080#line 67
3081struct dma_map_ops;
3082#line 67 "include/linux/klist.h"
3083struct dev_archdata {
3084   void *acpi_handle ;
3085   struct dma_map_ops *dma_ops ;
3086   void *iommu ;
3087};
3088#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
3089struct device_private;
3090#line 17
3091struct device_private;
3092#line 18
3093struct device_driver;
3094#line 18
3095struct device_driver;
3096#line 19
3097struct driver_private;
3098#line 19
3099struct driver_private;
3100#line 20
3101struct class;
3102#line 20
3103struct class;
3104#line 21
3105struct subsys_private;
3106#line 21
3107struct subsys_private;
3108#line 22
3109struct bus_type;
3110#line 22
3111struct bus_type;
3112#line 23
3113struct device_node;
3114#line 23
3115struct device_node;
3116#line 24
3117struct iommu_ops;
3118#line 24
3119struct iommu_ops;
3120#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
3121struct bus_attribute {
3122   struct attribute attr ;
3123   ssize_t (*show)(struct bus_type * , char * ) ;
3124   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
3125};
3126#line 51 "include/linux/device.h"
3127struct device_attribute;
3128#line 51
3129struct driver_attribute;
3130#line 51 "include/linux/device.h"
3131struct bus_type {
3132   char const   *name ;
3133   char const   *dev_name ;
3134   struct device *dev_root ;
3135   struct bus_attribute *bus_attrs ;
3136   struct device_attribute *dev_attrs ;
3137   struct driver_attribute *drv_attrs ;
3138   int (*match)(struct device * , struct device_driver * ) ;
3139   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3140   int (*probe)(struct device * ) ;
3141   int (*remove)(struct device * ) ;
3142   void (*shutdown)(struct device * ) ;
3143   int (*suspend)(struct device * , pm_message_t  ) ;
3144   int (*resume)(struct device * ) ;
3145   struct dev_pm_ops  const  *pm ;
3146   struct iommu_ops *iommu_ops ;
3147   struct subsys_private *p ;
3148};
3149#line 125
3150struct device_type;
3151#line 182
3152struct of_device_id;
3153#line 182 "include/linux/device.h"
3154struct device_driver {
3155   char const   *name ;
3156   struct bus_type *bus ;
3157   struct module *owner ;
3158   char const   *mod_name ;
3159   bool suppress_bind_attrs ;
3160   struct of_device_id  const  *of_match_table ;
3161   int (*probe)(struct device * ) ;
3162   int (*remove)(struct device * ) ;
3163   void (*shutdown)(struct device * ) ;
3164   int (*suspend)(struct device * , pm_message_t  ) ;
3165   int (*resume)(struct device * ) ;
3166   struct attribute_group  const  **groups ;
3167   struct dev_pm_ops  const  *pm ;
3168   struct driver_private *p ;
3169};
3170#line 245 "include/linux/device.h"
3171struct driver_attribute {
3172   struct attribute attr ;
3173   ssize_t (*show)(struct device_driver * , char * ) ;
3174   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
3175};
3176#line 299
3177struct class_attribute;
3178#line 299 "include/linux/device.h"
3179struct class {
3180   char const   *name ;
3181   struct module *owner ;
3182   struct class_attribute *class_attrs ;
3183   struct device_attribute *dev_attrs ;
3184   struct bin_attribute *dev_bin_attrs ;
3185   struct kobject *dev_kobj ;
3186   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
3187   char *(*devnode)(struct device * , umode_t * ) ;
3188   void (*class_release)(struct class * ) ;
3189   void (*dev_release)(struct device * ) ;
3190   int (*suspend)(struct device * , pm_message_t  ) ;
3191   int (*resume)(struct device * ) ;
3192   struct kobj_ns_type_operations  const  *ns_type ;
3193   void const   *(*namespace)(struct device * ) ;
3194   struct dev_pm_ops  const  *pm ;
3195   struct subsys_private *p ;
3196};
3197#line 394 "include/linux/device.h"
3198struct class_attribute {
3199   struct attribute attr ;
3200   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
3201   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
3202   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
3203};
3204#line 447 "include/linux/device.h"
3205struct device_type {
3206   char const   *name ;
3207   struct attribute_group  const  **groups ;
3208   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3209   char *(*devnode)(struct device * , umode_t * ) ;
3210   void (*release)(struct device * ) ;
3211   struct dev_pm_ops  const  *pm ;
3212};
3213#line 474 "include/linux/device.h"
3214struct device_attribute {
3215   struct attribute attr ;
3216   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
3217   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
3218                    size_t  ) ;
3219};
3220#line 557 "include/linux/device.h"
3221struct device_dma_parameters {
3222   unsigned int max_segment_size ;
3223   unsigned long segment_boundary_mask ;
3224};
3225#line 567
3226struct dma_coherent_mem;
3227#line 567 "include/linux/device.h"
3228struct device {
3229   struct device *parent ;
3230   struct device_private *p ;
3231   struct kobject kobj ;
3232   char const   *init_name ;
3233   struct device_type  const  *type ;
3234   struct mutex mutex ;
3235   struct bus_type *bus ;
3236   struct device_driver *driver ;
3237   void *platform_data ;
3238   struct dev_pm_info power ;
3239   struct dev_pm_domain *pm_domain ;
3240   int numa_node ;
3241   u64 *dma_mask ;
3242   u64 coherent_dma_mask ;
3243   struct device_dma_parameters *dma_parms ;
3244   struct list_head dma_pools ;
3245   struct dma_coherent_mem *dma_mem ;
3246   struct dev_archdata archdata ;
3247   struct device_node *of_node ;
3248   dev_t devt ;
3249   u32 id ;
3250   spinlock_t devres_lock ;
3251   struct list_head devres_head ;
3252   struct klist_node knode_class ;
3253   struct class *class ;
3254   struct attribute_group  const  **groups ;
3255   void (*release)(struct device * ) ;
3256};
3257#line 681 "include/linux/device.h"
3258struct wakeup_source {
3259   char const   *name ;
3260   struct list_head entry ;
3261   spinlock_t lock ;
3262   struct timer_list timer ;
3263   unsigned long timer_expires ;
3264   ktime_t total_time ;
3265   ktime_t max_time ;
3266   ktime_t last_time ;
3267   unsigned long event_count ;
3268   unsigned long active_count ;
3269   unsigned long relax_count ;
3270   unsigned long hit_count ;
3271   unsigned char active : 1 ;
3272};
3273#line 142 "include/mtd/mtd-abi.h"
3274struct otp_info {
3275   __u32 start ;
3276   __u32 length ;
3277   __u32 locked ;
3278};
3279#line 216 "include/mtd/mtd-abi.h"
3280struct nand_oobfree {
3281   __u32 offset ;
3282   __u32 length ;
3283};
3284#line 238 "include/mtd/mtd-abi.h"
3285struct mtd_ecc_stats {
3286   __u32 corrected ;
3287   __u32 failed ;
3288   __u32 badblocks ;
3289   __u32 bbtblocks ;
3290};
3291#line 260 "include/mtd/mtd-abi.h"
3292struct erase_info {
3293   struct mtd_info *mtd ;
3294   uint64_t addr ;
3295   uint64_t len ;
3296   uint64_t fail_addr ;
3297   u_long time ;
3298   u_long retries ;
3299   unsigned int dev ;
3300   unsigned int cell ;
3301   void (*callback)(struct erase_info * ) ;
3302   u_long priv ;
3303   u_char state ;
3304   struct erase_info *next ;
3305};
3306#line 62 "include/linux/mtd/mtd.h"
3307struct mtd_erase_region_info {
3308   uint64_t offset ;
3309   uint32_t erasesize ;
3310   uint32_t numblocks ;
3311   unsigned long *lockmap ;
3312};
3313#line 69 "include/linux/mtd/mtd.h"
3314struct mtd_oob_ops {
3315   unsigned int mode ;
3316   size_t len ;
3317   size_t retlen ;
3318   size_t ooblen ;
3319   size_t oobretlen ;
3320   uint32_t ooboffs ;
3321   uint8_t *datbuf ;
3322   uint8_t *oobbuf ;
3323};
3324#line 99 "include/linux/mtd/mtd.h"
3325struct nand_ecclayout {
3326   __u32 eccbytes ;
3327   __u32 eccpos[448U] ;
3328   __u32 oobavail ;
3329   struct nand_oobfree oobfree[32U] ;
3330};
3331#line 114 "include/linux/mtd/mtd.h"
3332struct mtd_info {
3333   u_char type ;
3334   uint32_t flags ;
3335   uint64_t size ;
3336   uint32_t erasesize ;
3337   uint32_t writesize ;
3338   uint32_t writebufsize ;
3339   uint32_t oobsize ;
3340   uint32_t oobavail ;
3341   unsigned int erasesize_shift ;
3342   unsigned int writesize_shift ;
3343   unsigned int erasesize_mask ;
3344   unsigned int writesize_mask ;
3345   char const   *name ;
3346   int index ;
3347   struct nand_ecclayout *ecclayout ;
3348   unsigned int ecc_strength ;
3349   int numeraseregions ;
3350   struct mtd_erase_region_info *eraseregions ;
3351   int (*_erase)(struct mtd_info * , struct erase_info * ) ;
3352   int (*_point)(struct mtd_info * , loff_t  , size_t  , size_t * , void ** , resource_size_t * ) ;
3353   int (*_unpoint)(struct mtd_info * , loff_t  , size_t  ) ;
3354   unsigned long (*_get_unmapped_area)(struct mtd_info * , unsigned long  , unsigned long  ,
3355                                       unsigned long  ) ;
3356   int (*_read)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
3357   int (*_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
3358   int (*_panic_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
3359   int (*_read_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
3360   int (*_write_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
3361   int (*_get_fact_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
3362   int (*_read_fact_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
3363   int (*_get_user_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
3364   int (*_read_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
3365   int (*_write_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * ,
3366                               u_char * ) ;
3367   int (*_lock_user_prot_reg)(struct mtd_info * , loff_t  , size_t  ) ;
3368   int (*_writev)(struct mtd_info * , struct kvec  const  * , unsigned long  , loff_t  ,
3369                  size_t * ) ;
3370   void (*_sync)(struct mtd_info * ) ;
3371   int (*_lock)(struct mtd_info * , loff_t  , uint64_t  ) ;
3372   int (*_unlock)(struct mtd_info * , loff_t  , uint64_t  ) ;
3373   int (*_is_locked)(struct mtd_info * , loff_t  , uint64_t  ) ;
3374   int (*_block_isbad)(struct mtd_info * , loff_t  ) ;
3375   int (*_block_markbad)(struct mtd_info * , loff_t  ) ;
3376   int (*_suspend)(struct mtd_info * ) ;
3377   void (*_resume)(struct mtd_info * ) ;
3378   int (*_get_device)(struct mtd_info * ) ;
3379   void (*_put_device)(struct mtd_info * ) ;
3380   struct backing_dev_info *backing_dev_info ;
3381   struct notifier_block reboot_notifier ;
3382   struct mtd_ecc_stats ecc_stats ;
3383   int subpage_sft ;
3384   void *priv ;
3385   struct module *owner ;
3386   struct device dev ;
3387   int usecount ;
3388};
3389#line 356
3390struct mtd_partition;
3391#line 356
3392struct mtd_partition;
3393#line 357
3394struct mtd_part_parser_data;
3395#line 357
3396struct mtd_part_parser_data;
3397#line 401 "include/linux/mtd/mtd.h"
3398struct slram_priv {
3399   u_char *start ;
3400   u_char *end ;
3401};
3402#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3403typedef struct slram_priv slram_priv_t;
3404#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3405struct slram_mtd_list {
3406   struct mtd_info *mtdinfo ;
3407   struct slram_mtd_list *next ;
3408};
3409#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3410typedef struct slram_mtd_list slram_mtd_list_t;
3411#line 1 "<compiler builtins>"
3412
3413#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3414void ldv_spin_lock(void) ;
3415#line 3
3416void ldv_spin_unlock(void) ;
3417#line 4
3418int ldv_spin_trylock(void) ;
3419#line 101 "include/linux/printk.h"
3420extern int printk(char const   *  , ...) ;
3421#line 307 "include/linux/kernel.h"
3422extern unsigned long simple_strtoul(char const   * , char ** , unsigned int  ) ;
3423#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3424extern void *memset(void * , int  , size_t  ) ;
3425#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3426extern void *ioremap_nocache(resource_size_t  , unsigned long  ) ;
3427#line 182 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3428__inline static void *ioremap(resource_size_t offset , unsigned long size ) 
3429{ void *tmp ;
3430
3431  {
3432  {
3433#line 184
3434  tmp = ioremap_nocache(offset, size);
3435  }
3436#line 184
3437  return (tmp);
3438}
3439}
3440#line 187
3441extern void iounmap(void volatile   * ) ;
3442#line 26 "include/linux/export.h"
3443extern struct module __this_module ;
3444#line 161 "include/linux/slab.h"
3445extern void kfree(void const   * ) ;
3446#line 220 "include/linux/slub_def.h"
3447extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
3448#line 223
3449void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3450#line 225
3451extern void *__kmalloc(size_t  , gfp_t  ) ;
3452#line 268 "include/linux/slub_def.h"
3453__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags ) 
3454{ void *tmp___2 ;
3455
3456  {
3457  {
3458#line 283
3459  tmp___2 = __kmalloc(size, flags);
3460  }
3461#line 283
3462  return (tmp___2);
3463}
3464}
3465#line 268
3466__inline static void *kmalloc(size_t size , gfp_t flags ) ;
3467#line 353 "include/linux/slab.h"
3468__inline static void *kzalloc(size_t size , gfp_t flags ) ;
3469#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3470extern void *__VERIFIER_nondet_pointer(void) ;
3471#line 11
3472void ldv_check_alloc_flags(gfp_t flags ) ;
3473#line 12
3474void ldv_check_alloc_nonatomic(void) ;
3475#line 14
3476struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
3477#line 362 "include/linux/mtd/mtd.h"
3478extern int mtd_device_parse_register(struct mtd_info * , char const   ** , struct mtd_part_parser_data * ,
3479                                     struct mtd_partition  const  * , int  ) ;
3480#line 369
3481extern int mtd_device_unregister(struct mtd_info * ) ;
3482#line 388
3483extern void mtd_erase_callback(struct erase_info * ) ;
3484#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3485static char *map[6U]  ;
3486#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3487static slram_mtd_list_t *slram_mtdlist  =    (slram_mtd_list_t *)0;
3488#line 90
3489static int slram_erase(struct mtd_info *mtd , struct erase_info *instr ) ;
3490#line 91
3491static int slram_point(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
3492                       void **virt , resource_size_t *phys ) ;
3493#line 93
3494static int slram_unpoint(struct mtd_info *mtd , loff_t from , size_t len ) ;
3495#line 94
3496static int slram_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
3497                      u_char *buf ) ;
3498#line 95
3499static int slram_write(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
3500                       u_char const   *buf ) ;
3501#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3502static int slram_erase(struct mtd_info *mtd , struct erase_info *instr ) 
3503{ slram_priv_t *priv ;
3504  unsigned long __cil_tmp4 ;
3505  unsigned long __cil_tmp5 ;
3506  void *__cil_tmp6 ;
3507  unsigned long __cil_tmp7 ;
3508  unsigned long __cil_tmp8 ;
3509  uint64_t __cil_tmp9 ;
3510  u_char *__cil_tmp10 ;
3511  u_char *__cil_tmp11 ;
3512  void *__cil_tmp12 ;
3513  unsigned long __cil_tmp13 ;
3514  unsigned long __cil_tmp14 ;
3515  uint64_t __cil_tmp15 ;
3516  size_t __cil_tmp16 ;
3517  unsigned long __cil_tmp17 ;
3518  unsigned long __cil_tmp18 ;
3519
3520  {
3521  {
3522#line 99
3523  __cil_tmp4 = (unsigned long )mtd;
3524#line 99
3525  __cil_tmp5 = __cil_tmp4 + 360;
3526#line 99
3527  __cil_tmp6 = *((void **)__cil_tmp5);
3528#line 99
3529  priv = (slram_priv_t *)__cil_tmp6;
3530#line 101
3531  __cil_tmp7 = (unsigned long )instr;
3532#line 101
3533  __cil_tmp8 = __cil_tmp7 + 8;
3534#line 101
3535  __cil_tmp9 = *((uint64_t *)__cil_tmp8);
3536#line 101
3537  __cil_tmp10 = *((u_char **)priv);
3538#line 101
3539  __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
3540#line 101
3541  __cil_tmp12 = (void *)__cil_tmp11;
3542#line 101
3543  __cil_tmp13 = (unsigned long )instr;
3544#line 101
3545  __cil_tmp14 = __cil_tmp13 + 16;
3546#line 101
3547  __cil_tmp15 = *((uint64_t *)__cil_tmp14);
3548#line 101
3549  __cil_tmp16 = (size_t )__cil_tmp15;
3550#line 101
3551  memset(__cil_tmp12, 255, __cil_tmp16);
3552#line 106
3553  __cil_tmp17 = (unsigned long )instr;
3554#line 106
3555  __cil_tmp18 = __cil_tmp17 + 72;
3556#line 106
3557  *((u_char *)__cil_tmp18) = (u_char )8U;
3558#line 107
3559  mtd_erase_callback(instr);
3560  }
3561#line 108
3562  return (0);
3563}
3564}
3565#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3566static int slram_point(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
3567                       void **virt , resource_size_t *phys ) 
3568{ slram_priv_t *priv ;
3569  unsigned long __cil_tmp8 ;
3570  unsigned long __cil_tmp9 ;
3571  void *__cil_tmp10 ;
3572  unsigned long __cil_tmp11 ;
3573  u_char *__cil_tmp12 ;
3574  void *__cil_tmp13 ;
3575
3576  {
3577#line 114
3578  __cil_tmp8 = (unsigned long )mtd;
3579#line 114
3580  __cil_tmp9 = __cil_tmp8 + 360;
3581#line 114
3582  __cil_tmp10 = *((void **)__cil_tmp9);
3583#line 114
3584  priv = (slram_priv_t *)__cil_tmp10;
3585#line 116
3586  __cil_tmp11 = (unsigned long )from;
3587#line 116
3588  __cil_tmp12 = *((u_char **)priv);
3589#line 116
3590  __cil_tmp13 = (void *)__cil_tmp12;
3591#line 116
3592  *virt = __cil_tmp13 + __cil_tmp11;
3593#line 117
3594  *retlen = len;
3595#line 118
3596  return (0);
3597}
3598}
3599#line 121 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3600static int slram_unpoint(struct mtd_info *mtd , loff_t from , size_t len ) 
3601{ 
3602
3603  {
3604#line 123
3605  return (0);
3606}
3607}
3608#line 126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3609static int slram_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
3610                      u_char *buf ) 
3611{ slram_priv_t *priv ;
3612  size_t __len ;
3613  void *__ret ;
3614  unsigned long __cil_tmp9 ;
3615  unsigned long __cil_tmp10 ;
3616  void *__cil_tmp11 ;
3617  void *__cil_tmp12 ;
3618  unsigned long __cil_tmp13 ;
3619  u_char *__cil_tmp14 ;
3620  void const   *__cil_tmp15 ;
3621  void const   *__cil_tmp16 ;
3622
3623  {
3624  {
3625#line 129
3626  __cil_tmp9 = (unsigned long )mtd;
3627#line 129
3628  __cil_tmp10 = __cil_tmp9 + 360;
3629#line 129
3630  __cil_tmp11 = *((void **)__cil_tmp10);
3631#line 129
3632  priv = (slram_priv_t *)__cil_tmp11;
3633#line 131
3634  __len = len;
3635#line 131
3636  __cil_tmp12 = (void *)buf;
3637#line 131
3638  __cil_tmp13 = (unsigned long )from;
3639#line 131
3640  __cil_tmp14 = *((u_char **)priv);
3641#line 131
3642  __cil_tmp15 = (void const   *)__cil_tmp14;
3643#line 131
3644  __cil_tmp16 = __cil_tmp15 + __cil_tmp13;
3645#line 131
3646  __ret = __builtin_memcpy(__cil_tmp12, __cil_tmp16, __len);
3647#line 132
3648  *retlen = len;
3649  }
3650#line 133
3651  return (0);
3652}
3653}
3654#line 136 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3655static int slram_write(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
3656                       u_char const   *buf ) 
3657{ slram_priv_t *priv ;
3658  size_t __len ;
3659  void *__ret ;
3660  unsigned long __cil_tmp9 ;
3661  unsigned long __cil_tmp10 ;
3662  void *__cil_tmp11 ;
3663  unsigned long __cil_tmp12 ;
3664  u_char *__cil_tmp13 ;
3665  void *__cil_tmp14 ;
3666  void *__cil_tmp15 ;
3667  void const   *__cil_tmp16 ;
3668
3669  {
3670  {
3671#line 139
3672  __cil_tmp9 = (unsigned long )mtd;
3673#line 139
3674  __cil_tmp10 = __cil_tmp9 + 360;
3675#line 139
3676  __cil_tmp11 = *((void **)__cil_tmp10);
3677#line 139
3678  priv = (slram_priv_t *)__cil_tmp11;
3679#line 141
3680  __len = len;
3681#line 141
3682  __cil_tmp12 = (unsigned long )to;
3683#line 141
3684  __cil_tmp13 = *((u_char **)priv);
3685#line 141
3686  __cil_tmp14 = (void *)__cil_tmp13;
3687#line 141
3688  __cil_tmp15 = __cil_tmp14 + __cil_tmp12;
3689#line 141
3690  __cil_tmp16 = (void const   *)buf;
3691#line 141
3692  __ret = __builtin_memcpy(__cil_tmp15, __cil_tmp16, __len);
3693#line 142
3694  *retlen = len;
3695  }
3696#line 143
3697  return (0);
3698}
3699}
3700#line 148 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
3701static int register_device(char *name , unsigned long start , unsigned long length ) 
3702{ slram_mtd_list_t **curmtd ;
3703  void *tmp ;
3704  void *tmp___0 ;
3705  u_char *tmp___1 ;
3706  void *tmp___2 ;
3707  int tmp___3 ;
3708  slram_mtd_list_t *__cil_tmp10 ;
3709  unsigned long __cil_tmp11 ;
3710  unsigned long __cil_tmp12 ;
3711  slram_mtd_list_t *__cil_tmp13 ;
3712  unsigned long __cil_tmp14 ;
3713  slram_mtd_list_t *__cil_tmp15 ;
3714  unsigned long __cil_tmp16 ;
3715  slram_mtd_list_t *__cil_tmp17 ;
3716  unsigned long __cil_tmp18 ;
3717  slram_mtd_list_t *__cil_tmp19 ;
3718  unsigned long __cil_tmp20 ;
3719  slram_mtd_list_t *__cil_tmp21 ;
3720  slram_mtd_list_t *__cil_tmp22 ;
3721  unsigned long __cil_tmp23 ;
3722  unsigned long __cil_tmp24 ;
3723  struct mtd_info *__cil_tmp25 ;
3724  unsigned long __cil_tmp26 ;
3725  slram_mtd_list_t *__cil_tmp27 ;
3726  struct mtd_info *__cil_tmp28 ;
3727  unsigned long __cil_tmp29 ;
3728  slram_mtd_list_t *__cil_tmp30 ;
3729  struct mtd_info *__cil_tmp31 ;
3730  unsigned long __cil_tmp32 ;
3731  unsigned long __cil_tmp33 ;
3732  void *__cil_tmp34 ;
3733  unsigned long __cil_tmp35 ;
3734  slram_mtd_list_t *__cil_tmp36 ;
3735  struct mtd_info *__cil_tmp37 ;
3736  unsigned long __cil_tmp38 ;
3737  unsigned long __cil_tmp39 ;
3738  void *__cil_tmp40 ;
3739  unsigned long __cil_tmp41 ;
3740  slram_mtd_list_t *__cil_tmp42 ;
3741  struct mtd_info *__cil_tmp43 ;
3742  void const   *__cil_tmp44 ;
3743  slram_mtd_list_t *__cil_tmp45 ;
3744  struct mtd_info *__cil_tmp46 ;
3745  unsigned long __cil_tmp47 ;
3746  slram_mtd_list_t *__cil_tmp48 ;
3747  struct mtd_info *__cil_tmp49 ;
3748  unsigned long __cil_tmp50 ;
3749  resource_size_t __cil_tmp51 ;
3750  slram_mtd_list_t *__cil_tmp52 ;
3751  struct mtd_info *__cil_tmp53 ;
3752  unsigned long __cil_tmp54 ;
3753  unsigned long __cil_tmp55 ;
3754  void *__cil_tmp56 ;
3755  slram_priv_t *__cil_tmp57 ;
3756  u_char *__cil_tmp58 ;
3757  unsigned long __cil_tmp59 ;
3758  unsigned long __cil_tmp60 ;
3759  slram_mtd_list_t *__cil_tmp61 ;
3760  struct mtd_info *__cil_tmp62 ;
3761  unsigned long __cil_tmp63 ;
3762  unsigned long __cil_tmp64 ;
3763  void *__cil_tmp65 ;
3764  slram_priv_t *__cil_tmp66 ;
3765  unsigned long __cil_tmp67 ;
3766  unsigned long __cil_tmp68 ;
3767  slram_mtd_list_t *__cil_tmp69 ;
3768  struct mtd_info *__cil_tmp70 ;
3769  unsigned long __cil_tmp71 ;
3770  unsigned long __cil_tmp72 ;
3771  void *__cil_tmp73 ;
3772  slram_priv_t *__cil_tmp74 ;
3773  u_char *__cil_tmp75 ;
3774  slram_mtd_list_t *__cil_tmp76 ;
3775  struct mtd_info *__cil_tmp77 ;
3776  unsigned long __cil_tmp78 ;
3777  unsigned long __cil_tmp79 ;
3778  slram_mtd_list_t *__cil_tmp80 ;
3779  struct mtd_info *__cil_tmp81 ;
3780  unsigned long __cil_tmp82 ;
3781  unsigned long __cil_tmp83 ;
3782  slram_mtd_list_t *__cil_tmp84 ;
3783  struct mtd_info *__cil_tmp85 ;
3784  unsigned long __cil_tmp86 ;
3785  unsigned long __cil_tmp87 ;
3786  slram_mtd_list_t *__cil_tmp88 ;
3787  struct mtd_info *__cil_tmp89 ;
3788  unsigned long __cil_tmp90 ;
3789  unsigned long __cil_tmp91 ;
3790  slram_mtd_list_t *__cil_tmp92 ;
3791  struct mtd_info *__cil_tmp93 ;
3792  unsigned long __cil_tmp94 ;
3793  unsigned long __cil_tmp95 ;
3794  slram_mtd_list_t *__cil_tmp96 ;
3795  struct mtd_info *__cil_tmp97 ;
3796  unsigned long __cil_tmp98 ;
3797  unsigned long __cil_tmp99 ;
3798  slram_mtd_list_t *__cil_tmp100 ;
3799  struct mtd_info *__cil_tmp101 ;
3800  unsigned long __cil_tmp102 ;
3801  unsigned long __cil_tmp103 ;
3802  slram_mtd_list_t *__cil_tmp104 ;
3803  struct mtd_info *__cil_tmp105 ;
3804  unsigned long __cil_tmp106 ;
3805  unsigned long __cil_tmp107 ;
3806  slram_mtd_list_t *__cil_tmp108 ;
3807  struct mtd_info *__cil_tmp109 ;
3808  unsigned long __cil_tmp110 ;
3809  unsigned long __cil_tmp111 ;
3810  slram_mtd_list_t *__cil_tmp112 ;
3811  struct mtd_info *__cil_tmp113 ;
3812  slram_mtd_list_t *__cil_tmp114 ;
3813  struct mtd_info *__cil_tmp115 ;
3814  unsigned long __cil_tmp116 ;
3815  unsigned long __cil_tmp117 ;
3816  slram_mtd_list_t *__cil_tmp118 ;
3817  struct mtd_info *__cil_tmp119 ;
3818  unsigned long __cil_tmp120 ;
3819  unsigned long __cil_tmp121 ;
3820  slram_mtd_list_t *__cil_tmp122 ;
3821  struct mtd_info *__cil_tmp123 ;
3822  char const   **__cil_tmp124 ;
3823  struct mtd_part_parser_data *__cil_tmp125 ;
3824  struct mtd_partition  const  *__cil_tmp126 ;
3825  slram_mtd_list_t *__cil_tmp127 ;
3826  struct mtd_info *__cil_tmp128 ;
3827  unsigned long __cil_tmp129 ;
3828  unsigned long __cil_tmp130 ;
3829  void *__cil_tmp131 ;
3830  slram_priv_t *__cil_tmp132 ;
3831  u_char *__cil_tmp133 ;
3832  void volatile   *__cil_tmp134 ;
3833  slram_mtd_list_t *__cil_tmp135 ;
3834  struct mtd_info *__cil_tmp136 ;
3835  unsigned long __cil_tmp137 ;
3836  unsigned long __cil_tmp138 ;
3837  void *__cil_tmp139 ;
3838  void const   *__cil_tmp140 ;
3839  slram_mtd_list_t *__cil_tmp141 ;
3840  struct mtd_info *__cil_tmp142 ;
3841  void const   *__cil_tmp143 ;
3842  unsigned long __cil_tmp144 ;
3843  unsigned long __cil_tmp145 ;
3844  unsigned long __cil_tmp146 ;
3845  slram_mtd_list_t *__cil_tmp147 ;
3846  struct mtd_info *__cil_tmp148 ;
3847  unsigned long __cil_tmp149 ;
3848  unsigned long __cil_tmp150 ;
3849  void *__cil_tmp151 ;
3850  slram_priv_t *__cil_tmp152 ;
3851  u_char *__cil_tmp153 ;
3852  slram_mtd_list_t *__cil_tmp154 ;
3853  struct mtd_info *__cil_tmp155 ;
3854  unsigned long __cil_tmp156 ;
3855  unsigned long __cil_tmp157 ;
3856  void *__cil_tmp158 ;
3857  slram_priv_t *__cil_tmp159 ;
3858  unsigned long __cil_tmp160 ;
3859  unsigned long __cil_tmp161 ;
3860  u_char *__cil_tmp162 ;
3861
3862  {
3863#line 152
3864  curmtd = & slram_mtdlist;
3865#line 153
3866  goto ldv_22122;
3867  ldv_22121: 
3868#line 154
3869  __cil_tmp10 = *curmtd;
3870#line 154
3871  __cil_tmp11 = (unsigned long )__cil_tmp10;
3872#line 154
3873  __cil_tmp12 = __cil_tmp11 + 8;
3874#line 154
3875  curmtd = (struct slram_mtd_list **)__cil_tmp12;
3876  ldv_22122: ;
3877  {
3878#line 153
3879  __cil_tmp13 = (slram_mtd_list_t *)0;
3880#line 153
3881  __cil_tmp14 = (unsigned long )__cil_tmp13;
3882#line 153
3883  __cil_tmp15 = *curmtd;
3884#line 153
3885  __cil_tmp16 = (unsigned long )__cil_tmp15;
3886#line 153
3887  if (__cil_tmp16 != __cil_tmp14) {
3888#line 154
3889    goto ldv_22121;
3890  } else {
3891#line 156
3892    goto ldv_22123;
3893  }
3894  }
3895  ldv_22123: 
3896  {
3897#line 157
3898  tmp = kmalloc(16UL, 208U);
3899#line 157
3900  *curmtd = (slram_mtd_list_t *)tmp;
3901  }
3902  {
3903#line 158
3904  __cil_tmp17 = (slram_mtd_list_t *)0;
3905#line 158
3906  __cil_tmp18 = (unsigned long )__cil_tmp17;
3907#line 158
3908  __cil_tmp19 = *curmtd;
3909#line 158
3910  __cil_tmp20 = (unsigned long )__cil_tmp19;
3911#line 158
3912  if (__cil_tmp20 == __cil_tmp18) {
3913    {
3914#line 159
3915    printk("<5>slram: Cannot allocate new MTD device.\n");
3916    }
3917#line 160
3918    return (-12);
3919  } else {
3920
3921  }
3922  }
3923  {
3924#line 162
3925  tmp___0 = kzalloc(1536UL, 208U);
3926#line 162
3927  __cil_tmp21 = *curmtd;
3928#line 162
3929  *((struct mtd_info **)__cil_tmp21) = (struct mtd_info *)tmp___0;
3930#line 163
3931  __cil_tmp22 = *curmtd;
3932#line 163
3933  __cil_tmp23 = (unsigned long )__cil_tmp22;
3934#line 163
3935  __cil_tmp24 = __cil_tmp23 + 8;
3936#line 163
3937  *((struct slram_mtd_list **)__cil_tmp24) = (struct slram_mtd_list *)0;
3938  }
3939  {
3940#line 165
3941  __cil_tmp25 = (struct mtd_info *)0;
3942#line 165
3943  __cil_tmp26 = (unsigned long )__cil_tmp25;
3944#line 165
3945  __cil_tmp27 = *curmtd;
3946#line 165
3947  __cil_tmp28 = *((struct mtd_info **)__cil_tmp27);
3948#line 165
3949  __cil_tmp29 = (unsigned long )__cil_tmp28;
3950#line 165
3951  if (__cil_tmp29 != __cil_tmp26) {
3952    {
3953#line 166
3954    __cil_tmp30 = *curmtd;
3955#line 166
3956    __cil_tmp31 = *((struct mtd_info **)__cil_tmp30);
3957#line 166
3958    __cil_tmp32 = (unsigned long )__cil_tmp31;
3959#line 166
3960    __cil_tmp33 = __cil_tmp32 + 360;
3961#line 166
3962    *((void **)__cil_tmp33) = kzalloc(16UL, 208U);
3963    }
3964    {
3965#line 169
3966    __cil_tmp34 = (void *)0;
3967#line 169
3968    __cil_tmp35 = (unsigned long )__cil_tmp34;
3969#line 169
3970    __cil_tmp36 = *curmtd;
3971#line 169
3972    __cil_tmp37 = *((struct mtd_info **)__cil_tmp36);
3973#line 169
3974    __cil_tmp38 = (unsigned long )__cil_tmp37;
3975#line 169
3976    __cil_tmp39 = __cil_tmp38 + 360;
3977#line 169
3978    __cil_tmp40 = *((void **)__cil_tmp39);
3979#line 169
3980    __cil_tmp41 = (unsigned long )__cil_tmp40;
3981#line 169
3982    if (__cil_tmp41 == __cil_tmp35) {
3983      {
3984#line 170
3985      __cil_tmp42 = *curmtd;
3986#line 170
3987      __cil_tmp43 = *((struct mtd_info **)__cil_tmp42);
3988#line 170
3989      __cil_tmp44 = (void const   *)__cil_tmp43;
3990#line 170
3991      kfree(__cil_tmp44);
3992#line 171
3993      __cil_tmp45 = *curmtd;
3994#line 171
3995      *((struct mtd_info **)__cil_tmp45) = (struct mtd_info *)0;
3996      }
3997    } else {
3998
3999    }
4000    }
4001  } else {
4002
4003  }
4004  }
4005  {
4006#line 175
4007  __cil_tmp46 = (struct mtd_info *)0;
4008#line 175
4009  __cil_tmp47 = (unsigned long )__cil_tmp46;
4010#line 175
4011  __cil_tmp48 = *curmtd;
4012#line 175
4013  __cil_tmp49 = *((struct mtd_info **)__cil_tmp48);
4014#line 175
4015  __cil_tmp50 = (unsigned long )__cil_tmp49;
4016#line 175
4017  if (__cil_tmp50 == __cil_tmp47) {
4018    {
4019#line 176
4020    printk("<5>slram: Cannot allocate new MTD device.\n");
4021    }
4022#line 177
4023    return (-12);
4024  } else {
4025
4026  }
4027  }
4028  {
4029#line 180
4030  __cil_tmp51 = (resource_size_t )start;
4031#line 180
4032  tmp___2 = ioremap(__cil_tmp51, length);
4033#line 180
4034  tmp___1 = (u_char *)tmp___2;
4035#line 180
4036  __cil_tmp52 = *curmtd;
4037#line 180
4038  __cil_tmp53 = *((struct mtd_info **)__cil_tmp52);
4039#line 180
4040  __cil_tmp54 = (unsigned long )__cil_tmp53;
4041#line 180
4042  __cil_tmp55 = __cil_tmp54 + 360;
4043#line 180
4044  __cil_tmp56 = *((void **)__cil_tmp55);
4045#line 180
4046  __cil_tmp57 = (slram_priv_t *)__cil_tmp56;
4047#line 180
4048  *((u_char **)__cil_tmp57) = tmp___1;
4049  }
4050  {
4051#line 180
4052  __cil_tmp58 = (u_char *)0;
4053#line 180
4054  __cil_tmp59 = (unsigned long )__cil_tmp58;
4055#line 180
4056  __cil_tmp60 = (unsigned long )tmp___1;
4057#line 180
4058  if (__cil_tmp60 == __cil_tmp59) {
4059    {
4060#line 182
4061    printk("<5>slram: ioremap failed\n");
4062    }
4063#line 183
4064    return (-5);
4065  } else {
4066
4067  }
4068  }
4069  {
4070#line 185
4071  __cil_tmp61 = *curmtd;
4072#line 185
4073  __cil_tmp62 = *((struct mtd_info **)__cil_tmp61);
4074#line 185
4075  __cil_tmp63 = (unsigned long )__cil_tmp62;
4076#line 185
4077  __cil_tmp64 = __cil_tmp63 + 360;
4078#line 185
4079  __cil_tmp65 = *((void **)__cil_tmp64);
4080#line 185
4081  __cil_tmp66 = (slram_priv_t *)__cil_tmp65;
4082#line 185
4083  __cil_tmp67 = (unsigned long )__cil_tmp66;
4084#line 185
4085  __cil_tmp68 = __cil_tmp67 + 8;
4086#line 185
4087  __cil_tmp69 = *curmtd;
4088#line 185
4089  __cil_tmp70 = *((struct mtd_info **)__cil_tmp69);
4090#line 185
4091  __cil_tmp71 = (unsigned long )__cil_tmp70;
4092#line 185
4093  __cil_tmp72 = __cil_tmp71 + 360;
4094#line 185
4095  __cil_tmp73 = *((void **)__cil_tmp72);
4096#line 185
4097  __cil_tmp74 = (slram_priv_t *)__cil_tmp73;
4098#line 185
4099  __cil_tmp75 = *((u_char **)__cil_tmp74);
4100#line 185
4101  *((u_char **)__cil_tmp68) = __cil_tmp75 + length;
4102#line 189
4103  __cil_tmp76 = *curmtd;
4104#line 189
4105  __cil_tmp77 = *((struct mtd_info **)__cil_tmp76);
4106#line 189
4107  __cil_tmp78 = (unsigned long )__cil_tmp77;
4108#line 189
4109  __cil_tmp79 = __cil_tmp78 + 56;
4110#line 189
4111  *((char const   **)__cil_tmp79) = (char const   *)name;
4112#line 190
4113  __cil_tmp80 = *curmtd;
4114#line 190
4115  __cil_tmp81 = *((struct mtd_info **)__cil_tmp80);
4116#line 190
4117  __cil_tmp82 = (unsigned long )__cil_tmp81;
4118#line 190
4119  __cil_tmp83 = __cil_tmp82 + 8;
4120#line 190
4121  *((uint64_t *)__cil_tmp83) = (uint64_t )length;
4122#line 191
4123  __cil_tmp84 = *curmtd;
4124#line 191
4125  __cil_tmp85 = *((struct mtd_info **)__cil_tmp84);
4126#line 191
4127  __cil_tmp86 = (unsigned long )__cil_tmp85;
4128#line 191
4129  __cil_tmp87 = __cil_tmp86 + 4;
4130#line 191
4131  *((uint32_t *)__cil_tmp87) = 7168U;
4132#line 192
4133  __cil_tmp88 = *curmtd;
4134#line 192
4135  __cil_tmp89 = *((struct mtd_info **)__cil_tmp88);
4136#line 192
4137  __cil_tmp90 = (unsigned long )__cil_tmp89;
4138#line 192
4139  __cil_tmp91 = __cil_tmp90 + 96;
4140#line 192
4141  *((int (**)(struct mtd_info * , struct erase_info * ))__cil_tmp91) = & slram_erase;
4142#line 193
4143  __cil_tmp92 = *curmtd;
4144#line 193
4145  __cil_tmp93 = *((struct mtd_info **)__cil_tmp92);
4146#line 193
4147  __cil_tmp94 = (unsigned long )__cil_tmp93;
4148#line 193
4149  __cil_tmp95 = __cil_tmp94 + 104;
4150#line 193
4151  *((int (**)(struct mtd_info * , loff_t  , size_t  , size_t * , void ** , resource_size_t * ))__cil_tmp95) = & slram_point;
4152#line 194
4153  __cil_tmp96 = *curmtd;
4154#line 194
4155  __cil_tmp97 = *((struct mtd_info **)__cil_tmp96);
4156#line 194
4157  __cil_tmp98 = (unsigned long )__cil_tmp97;
4158#line 194
4159  __cil_tmp99 = __cil_tmp98 + 112;
4160#line 194
4161  *((int (**)(struct mtd_info * , loff_t  , size_t  ))__cil_tmp99) = & slram_unpoint;
4162#line 195
4163  __cil_tmp100 = *curmtd;
4164#line 195
4165  __cil_tmp101 = *((struct mtd_info **)__cil_tmp100);
4166#line 195
4167  __cil_tmp102 = (unsigned long )__cil_tmp101;
4168#line 195
4169  __cil_tmp103 = __cil_tmp102 + 128;
4170#line 195
4171  *((int (**)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ))__cil_tmp103) = & slram_read;
4172#line 196
4173  __cil_tmp104 = *curmtd;
4174#line 196
4175  __cil_tmp105 = *((struct mtd_info **)__cil_tmp104);
4176#line 196
4177  __cil_tmp106 = (unsigned long )__cil_tmp105;
4178#line 196
4179  __cil_tmp107 = __cil_tmp106 + 136;
4180#line 196
4181  *((int (**)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ))__cil_tmp107) = & slram_write;
4182#line 197
4183  __cil_tmp108 = *curmtd;
4184#line 197
4185  __cil_tmp109 = *((struct mtd_info **)__cil_tmp108);
4186#line 197
4187  __cil_tmp110 = (unsigned long )__cil_tmp109;
4188#line 197
4189  __cil_tmp111 = __cil_tmp110 + 368;
4190#line 197
4191  *((struct module **)__cil_tmp111) = & __this_module;
4192#line 198
4193  __cil_tmp112 = *curmtd;
4194#line 198
4195  __cil_tmp113 = *((struct mtd_info **)__cil_tmp112);
4196#line 198
4197  *((u_char *)__cil_tmp113) = (u_char )1U;
4198#line 199
4199  __cil_tmp114 = *curmtd;
4200#line 199
4201  __cil_tmp115 = *((struct mtd_info **)__cil_tmp114);
4202#line 199
4203  __cil_tmp116 = (unsigned long )__cil_tmp115;
4204#line 199
4205  __cil_tmp117 = __cil_tmp116 + 16;
4206#line 199
4207  *((uint32_t *)__cil_tmp117) = 16384U;
4208#line 200
4209  __cil_tmp118 = *curmtd;
4210#line 200
4211  __cil_tmp119 = *((struct mtd_info **)__cil_tmp118);
4212#line 200
4213  __cil_tmp120 = (unsigned long )__cil_tmp119;
4214#line 200
4215  __cil_tmp121 = __cil_tmp120 + 20;
4216#line 200
4217  *((uint32_t *)__cil_tmp121) = 1U;
4218#line 202
4219  __cil_tmp122 = *curmtd;
4220#line 202
4221  __cil_tmp123 = *((struct mtd_info **)__cil_tmp122);
4222#line 202
4223  __cil_tmp124 = (char const   **)0;
4224#line 202
4225  __cil_tmp125 = (struct mtd_part_parser_data *)0;
4226#line 202
4227  __cil_tmp126 = (struct mtd_partition  const  *)0;
4228#line 202
4229  tmp___3 = mtd_device_parse_register(__cil_tmp123, __cil_tmp124, __cil_tmp125, __cil_tmp126,
4230                                      0);
4231  }
4232#line 202
4233  if (tmp___3 != 0) {
4234    {
4235#line 203
4236    printk("<5>slram: Failed to register new device\n");
4237#line 204
4238    __cil_tmp127 = *curmtd;
4239#line 204
4240    __cil_tmp128 = *((struct mtd_info **)__cil_tmp127);
4241#line 204
4242    __cil_tmp129 = (unsigned long )__cil_tmp128;
4243#line 204
4244    __cil_tmp130 = __cil_tmp129 + 360;
4245#line 204
4246    __cil_tmp131 = *((void **)__cil_tmp130);
4247#line 204
4248    __cil_tmp132 = (slram_priv_t *)__cil_tmp131;
4249#line 204
4250    __cil_tmp133 = *((u_char **)__cil_tmp132);
4251#line 204
4252    __cil_tmp134 = (void volatile   *)__cil_tmp133;
4253#line 204
4254    iounmap(__cil_tmp134);
4255#line 205
4256    __cil_tmp135 = *curmtd;
4257#line 205
4258    __cil_tmp136 = *((struct mtd_info **)__cil_tmp135);
4259#line 205
4260    __cil_tmp137 = (unsigned long )__cil_tmp136;
4261#line 205
4262    __cil_tmp138 = __cil_tmp137 + 360;
4263#line 205
4264    __cil_tmp139 = *((void **)__cil_tmp138);
4265#line 205
4266    __cil_tmp140 = (void const   *)__cil_tmp139;
4267#line 205
4268    kfree(__cil_tmp140);
4269#line 206
4270    __cil_tmp141 = *curmtd;
4271#line 206
4272    __cil_tmp142 = *((struct mtd_info **)__cil_tmp141);
4273#line 206
4274    __cil_tmp143 = (void const   *)__cil_tmp142;
4275#line 206
4276    kfree(__cil_tmp143);
4277    }
4278#line 207
4279    return (-11);
4280  } else {
4281
4282  }
4283  {
4284#line 209
4285  __cil_tmp144 = start / 1024UL;
4286#line 209
4287  __cil_tmp145 = start + length;
4288#line 209
4289  __cil_tmp146 = __cil_tmp145 / 1024UL;
4290#line 209
4291  printk("<7>slram: Registered device %s from %luKiB to %luKiB\n", name, __cil_tmp144,
4292         __cil_tmp146);
4293#line 211
4294  __cil_tmp147 = *curmtd;
4295#line 211
4296  __cil_tmp148 = *((struct mtd_info **)__cil_tmp147);
4297#line 211
4298  __cil_tmp149 = (unsigned long )__cil_tmp148;
4299#line 211
4300  __cil_tmp150 = __cil_tmp149 + 360;
4301#line 211
4302  __cil_tmp151 = *((void **)__cil_tmp150);
4303#line 211
4304  __cil_tmp152 = (slram_priv_t *)__cil_tmp151;
4305#line 211
4306  __cil_tmp153 = *((u_char **)__cil_tmp152);
4307#line 211
4308  __cil_tmp154 = *curmtd;
4309#line 211
4310  __cil_tmp155 = *((struct mtd_info **)__cil_tmp154);
4311#line 211
4312  __cil_tmp156 = (unsigned long )__cil_tmp155;
4313#line 211
4314  __cil_tmp157 = __cil_tmp156 + 360;
4315#line 211
4316  __cil_tmp158 = *((void **)__cil_tmp157);
4317#line 211
4318  __cil_tmp159 = (slram_priv_t *)__cil_tmp158;
4319#line 211
4320  __cil_tmp160 = (unsigned long )__cil_tmp159;
4321#line 211
4322  __cil_tmp161 = __cil_tmp160 + 8;
4323#line 211
4324  __cil_tmp162 = *((u_char **)__cil_tmp161);
4325#line 211
4326  printk("<7>slram: Mapped from 0x%p to 0x%p\n", __cil_tmp153, __cil_tmp162);
4327  }
4328#line 214
4329  return (0);
4330}
4331}
4332#line 217 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4333static void unregister_devices(void) 
4334{ slram_mtd_list_t *nextitem ;
4335  slram_mtd_list_t **__cil_tmp2 ;
4336  slram_mtd_list_t *__cil_tmp3 ;
4337  unsigned long __cil_tmp4 ;
4338  unsigned long __cil_tmp5 ;
4339  slram_mtd_list_t **__cil_tmp6 ;
4340  slram_mtd_list_t *__cil_tmp7 ;
4341  struct mtd_info *__cil_tmp8 ;
4342  slram_mtd_list_t **__cil_tmp9 ;
4343  slram_mtd_list_t *__cil_tmp10 ;
4344  struct mtd_info *__cil_tmp11 ;
4345  unsigned long __cil_tmp12 ;
4346  unsigned long __cil_tmp13 ;
4347  void *__cil_tmp14 ;
4348  slram_priv_t *__cil_tmp15 ;
4349  u_char *__cil_tmp16 ;
4350  void volatile   *__cil_tmp17 ;
4351  slram_mtd_list_t **__cil_tmp18 ;
4352  slram_mtd_list_t *__cil_tmp19 ;
4353  struct mtd_info *__cil_tmp20 ;
4354  unsigned long __cil_tmp21 ;
4355  unsigned long __cil_tmp22 ;
4356  void *__cil_tmp23 ;
4357  void const   *__cil_tmp24 ;
4358  slram_mtd_list_t **__cil_tmp25 ;
4359  slram_mtd_list_t *__cil_tmp26 ;
4360  struct mtd_info *__cil_tmp27 ;
4361  void const   *__cil_tmp28 ;
4362  slram_mtd_list_t **__cil_tmp29 ;
4363  slram_mtd_list_t *__cil_tmp30 ;
4364  void const   *__cil_tmp31 ;
4365  slram_mtd_list_t **__cil_tmp32 ;
4366  slram_mtd_list_t *__cil_tmp33 ;
4367  unsigned long __cil_tmp34 ;
4368  slram_mtd_list_t **__cil_tmp35 ;
4369  slram_mtd_list_t *__cil_tmp36 ;
4370  unsigned long __cil_tmp37 ;
4371
4372  {
4373#line 221
4374  goto ldv_22129;
4375  ldv_22128: 
4376  {
4377#line 222
4378  __cil_tmp2 = & slram_mtdlist;
4379#line 222
4380  __cil_tmp3 = *__cil_tmp2;
4381#line 222
4382  __cil_tmp4 = (unsigned long )__cil_tmp3;
4383#line 222
4384  __cil_tmp5 = __cil_tmp4 + 8;
4385#line 222
4386  nextitem = *((struct slram_mtd_list **)__cil_tmp5);
4387#line 223
4388  __cil_tmp6 = & slram_mtdlist;
4389#line 223
4390  __cil_tmp7 = *__cil_tmp6;
4391#line 223
4392  __cil_tmp8 = *((struct mtd_info **)__cil_tmp7);
4393#line 223
4394  mtd_device_unregister(__cil_tmp8);
4395#line 224
4396  __cil_tmp9 = & slram_mtdlist;
4397#line 224
4398  __cil_tmp10 = *__cil_tmp9;
4399#line 224
4400  __cil_tmp11 = *((struct mtd_info **)__cil_tmp10);
4401#line 224
4402  __cil_tmp12 = (unsigned long )__cil_tmp11;
4403#line 224
4404  __cil_tmp13 = __cil_tmp12 + 360;
4405#line 224
4406  __cil_tmp14 = *((void **)__cil_tmp13);
4407#line 224
4408  __cil_tmp15 = (slram_priv_t *)__cil_tmp14;
4409#line 224
4410  __cil_tmp16 = *((u_char **)__cil_tmp15);
4411#line 224
4412  __cil_tmp17 = (void volatile   *)__cil_tmp16;
4413#line 224
4414  iounmap(__cil_tmp17);
4415#line 225
4416  __cil_tmp18 = & slram_mtdlist;
4417#line 225
4418  __cil_tmp19 = *__cil_tmp18;
4419#line 225
4420  __cil_tmp20 = *((struct mtd_info **)__cil_tmp19);
4421#line 225
4422  __cil_tmp21 = (unsigned long )__cil_tmp20;
4423#line 225
4424  __cil_tmp22 = __cil_tmp21 + 360;
4425#line 225
4426  __cil_tmp23 = *((void **)__cil_tmp22);
4427#line 225
4428  __cil_tmp24 = (void const   *)__cil_tmp23;
4429#line 225
4430  kfree(__cil_tmp24);
4431#line 226
4432  __cil_tmp25 = & slram_mtdlist;
4433#line 226
4434  __cil_tmp26 = *__cil_tmp25;
4435#line 226
4436  __cil_tmp27 = *((struct mtd_info **)__cil_tmp26);
4437#line 226
4438  __cil_tmp28 = (void const   *)__cil_tmp27;
4439#line 226
4440  kfree(__cil_tmp28);
4441#line 227
4442  __cil_tmp29 = & slram_mtdlist;
4443#line 227
4444  __cil_tmp30 = *__cil_tmp29;
4445#line 227
4446  __cil_tmp31 = (void const   *)__cil_tmp30;
4447#line 227
4448  kfree(__cil_tmp31);
4449#line 228
4450  __cil_tmp32 = & slram_mtdlist;
4451#line 228
4452  *__cil_tmp32 = nextitem;
4453  }
4454  ldv_22129: ;
4455  {
4456#line 221
4457  __cil_tmp33 = (slram_mtd_list_t *)0;
4458#line 221
4459  __cil_tmp34 = (unsigned long )__cil_tmp33;
4460#line 221
4461  __cil_tmp35 = & slram_mtdlist;
4462#line 221
4463  __cil_tmp36 = *__cil_tmp35;
4464#line 221
4465  __cil_tmp37 = (unsigned long )__cil_tmp36;
4466#line 221
4467  if (__cil_tmp37 != __cil_tmp34) {
4468#line 222
4469    goto ldv_22128;
4470  } else {
4471#line 224
4472    goto ldv_22130;
4473  }
4474  }
4475  ldv_22130: ;
4476#line 226
4477  return;
4478}
4479}
4480#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4481static unsigned long handle_unit(unsigned long value , char *unit ) 
4482{ char __cil_tmp3 ;
4483  signed char __cil_tmp4 ;
4484  int __cil_tmp5 ;
4485  char __cil_tmp6 ;
4486  signed char __cil_tmp7 ;
4487  int __cil_tmp8 ;
4488  char __cil_tmp9 ;
4489  signed char __cil_tmp10 ;
4490  int __cil_tmp11 ;
4491  char __cil_tmp12 ;
4492  signed char __cil_tmp13 ;
4493  int __cil_tmp14 ;
4494
4495  {
4496  {
4497#line 234
4498  __cil_tmp3 = *unit;
4499#line 234
4500  __cil_tmp4 = (signed char )__cil_tmp3;
4501#line 234
4502  __cil_tmp5 = (int )__cil_tmp4;
4503#line 234
4504  if (__cil_tmp5 == 77) {
4505#line 235
4506    return (value * 1048576UL);
4507  } else {
4508    {
4509#line 234
4510    __cil_tmp6 = *unit;
4511#line 234
4512    __cil_tmp7 = (signed char )__cil_tmp6;
4513#line 234
4514    __cil_tmp8 = (int )__cil_tmp7;
4515#line 234
4516    if (__cil_tmp8 == 109) {
4517#line 235
4518      return (value * 1048576UL);
4519    } else {
4520      {
4521#line 236
4522      __cil_tmp9 = *unit;
4523#line 236
4524      __cil_tmp10 = (signed char )__cil_tmp9;
4525#line 236
4526      __cil_tmp11 = (int )__cil_tmp10;
4527#line 236
4528      if (__cil_tmp11 == 75) {
4529#line 237
4530        return (value * 1024UL);
4531      } else {
4532        {
4533#line 236
4534        __cil_tmp12 = *unit;
4535#line 236
4536        __cil_tmp13 = (signed char )__cil_tmp12;
4537#line 236
4538        __cil_tmp14 = (int )__cil_tmp13;
4539#line 236
4540        if (__cil_tmp14 == 107) {
4541#line 237
4542          return (value * 1024UL);
4543        } else {
4544
4545        }
4546        }
4547      }
4548      }
4549    }
4550    }
4551  }
4552  }
4553#line 239
4554  return (value);
4555}
4556}
4557#line 242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4558static int parse_cmdline(char *devname , char *szstart , char *szlength ) 
4559{ char *buffer ;
4560  unsigned long devstart ;
4561  unsigned long devlength ;
4562  unsigned long tmp ;
4563  int tmp___0 ;
4564  char *__cil_tmp9 ;
4565  unsigned long __cil_tmp10 ;
4566  unsigned long __cil_tmp11 ;
4567  char *__cil_tmp12 ;
4568  unsigned long __cil_tmp13 ;
4569  unsigned long __cil_tmp14 ;
4570  char *__cil_tmp15 ;
4571  unsigned long __cil_tmp16 ;
4572  unsigned long __cil_tmp17 ;
4573  char const   *__cil_tmp18 ;
4574  char **__cil_tmp19 ;
4575  char *__cil_tmp20 ;
4576  char __cil_tmp21 ;
4577  signed char __cil_tmp22 ;
4578  int __cil_tmp23 ;
4579  char const   *__cil_tmp24 ;
4580  char **__cil_tmp25 ;
4581  char *__cil_tmp26 ;
4582  char const   *__cil_tmp27 ;
4583  char const   *__cil_tmp28 ;
4584  char **__cil_tmp29 ;
4585  char *__cil_tmp30 ;
4586  unsigned long __cil_tmp31 ;
4587
4588  {
4589  {
4590#line 248
4591  __cil_tmp9 = (char *)0;
4592#line 248
4593  __cil_tmp10 = (unsigned long )__cil_tmp9;
4594#line 248
4595  __cil_tmp11 = (unsigned long )devname;
4596#line 248
4597  if (__cil_tmp11 == __cil_tmp10) {
4598    {
4599#line 249
4600    unregister_devices();
4601    }
4602#line 250
4603    return (-22);
4604  } else {
4605    {
4606#line 248
4607    __cil_tmp12 = (char *)0;
4608#line 248
4609    __cil_tmp13 = (unsigned long )__cil_tmp12;
4610#line 248
4611    __cil_tmp14 = (unsigned long )szstart;
4612#line 248
4613    if (__cil_tmp14 == __cil_tmp13) {
4614      {
4615#line 249
4616      unregister_devices();
4617      }
4618#line 250
4619      return (-22);
4620    } else {
4621      {
4622#line 248
4623      __cil_tmp15 = (char *)0;
4624#line 248
4625      __cil_tmp16 = (unsigned long )__cil_tmp15;
4626#line 248
4627      __cil_tmp17 = (unsigned long )szlength;
4628#line 248
4629      if (__cil_tmp17 == __cil_tmp16) {
4630        {
4631#line 249
4632        unregister_devices();
4633        }
4634#line 250
4635        return (-22);
4636      } else {
4637
4638      }
4639      }
4640    }
4641    }
4642  }
4643  }
4644  {
4645#line 253
4646  __cil_tmp18 = (char const   *)szstart;
4647#line 253
4648  devstart = simple_strtoul(__cil_tmp18, & buffer, 0U);
4649#line 254
4650  __cil_tmp19 = & buffer;
4651#line 254
4652  __cil_tmp20 = *__cil_tmp19;
4653#line 254
4654  devstart = handle_unit(devstart, __cil_tmp20);
4655  }
4656  {
4657#line 256
4658  __cil_tmp21 = *szlength;
4659#line 256
4660  __cil_tmp22 = (signed char )__cil_tmp21;
4661#line 256
4662  __cil_tmp23 = (int )__cil_tmp22;
4663#line 256
4664  if (__cil_tmp23 != 43) {
4665    {
4666#line 257
4667    __cil_tmp24 = (char const   *)szlength;
4668#line 257
4669    devlength = simple_strtoul(__cil_tmp24, & buffer, 0U);
4670#line 258
4671    __cil_tmp25 = & buffer;
4672#line 258
4673    __cil_tmp26 = *__cil_tmp25;
4674#line 258
4675    tmp = handle_unit(devlength, __cil_tmp26);
4676#line 258
4677    devlength = tmp - devstart;
4678    }
4679#line 259
4680    if (devlength < devstart) {
4681#line 260
4682      goto err_out;
4683    } else {
4684
4685    }
4686#line 262
4687    devlength = devlength - devstart;
4688  } else {
4689    {
4690#line 264
4691    __cil_tmp27 = (char const   *)szlength;
4692#line 264
4693    __cil_tmp28 = __cil_tmp27 + 1U;
4694#line 264
4695    devlength = simple_strtoul(__cil_tmp28, & buffer, 0U);
4696#line 265
4697    __cil_tmp29 = & buffer;
4698#line 265
4699    __cil_tmp30 = *__cil_tmp29;
4700#line 265
4701    devlength = handle_unit(devlength, __cil_tmp30);
4702    }
4703  }
4704  }
4705  {
4706#line 267
4707  printk("<7>slram: devname=%s, devstart=0x%lx, devlength=0x%lx\n", devname, devstart,
4708         devlength);
4709  }
4710  {
4711#line 269
4712  __cil_tmp31 = devlength & 16383UL;
4713#line 269
4714  if (__cil_tmp31 != 0UL) {
4715#line 270
4716    goto err_out;
4717  } else {
4718
4719  }
4720  }
4721  {
4722#line 272
4723  tmp___0 = register_device(devname, devstart, devlength);
4724#line 272
4725  devstart = (unsigned long )tmp___0;
4726  }
4727#line 272
4728  if (devstart != 0UL) {
4729    {
4730#line 273
4731    unregister_devices();
4732    }
4733#line 274
4734    return ((int )devstart);
4735  } else {
4736
4737  }
4738#line 276
4739  return (0);
4740  err_out: 
4741  {
4742#line 279
4743  printk("<5>slram: Illegal length parameter.\n");
4744  }
4745#line 280
4746  return (-22);
4747}
4748}
4749#line 295 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4750static int init_slram(void) 
4751{ char *devname ;
4752  int i ;
4753  int count ;
4754  int tmp ;
4755  char *__cil_tmp5 ;
4756  unsigned long __cil_tmp6 ;
4757  unsigned long __cil_tmp7 ;
4758  unsigned long __cil_tmp8 ;
4759  char *__cil_tmp9 ;
4760  unsigned long __cil_tmp10 ;
4761  int __cil_tmp11 ;
4762  int __cil_tmp12 ;
4763  unsigned long __cil_tmp13 ;
4764  unsigned long __cil_tmp14 ;
4765  int __cil_tmp15 ;
4766  int __cil_tmp16 ;
4767  unsigned long __cil_tmp17 ;
4768  unsigned long __cil_tmp18 ;
4769  char *__cil_tmp19 ;
4770  int __cil_tmp20 ;
4771  int __cil_tmp21 ;
4772  unsigned long __cil_tmp22 ;
4773  unsigned long __cil_tmp23 ;
4774  char *__cil_tmp24 ;
4775  int __cil_tmp25 ;
4776
4777  {
4778#line 333
4779  count = 0;
4780#line 333
4781  goto ldv_22151;
4782  ldv_22150: 
4783#line 334
4784  count = count + 1;
4785  ldv_22151: ;
4786#line 333
4787  if (count <= 5) {
4788    {
4789#line 333
4790    __cil_tmp5 = (char *)0;
4791#line 333
4792    __cil_tmp6 = (unsigned long )__cil_tmp5;
4793#line 333
4794    __cil_tmp7 = count * 8UL;
4795#line 333
4796    __cil_tmp8 = (unsigned long )(map) + __cil_tmp7;
4797#line 333
4798    __cil_tmp9 = *((char **)__cil_tmp8);
4799#line 333
4800    __cil_tmp10 = (unsigned long )__cil_tmp9;
4801#line 333
4802    if (__cil_tmp10 != __cil_tmp6) {
4803#line 334
4804      goto ldv_22150;
4805    } else {
4806#line 336
4807      goto ldv_22152;
4808    }
4809    }
4810  } else {
4811#line 336
4812    goto ldv_22152;
4813  }
4814  ldv_22152: ;
4815  {
4816#line 337
4817  __cil_tmp11 = count % 3;
4818#line 337
4819  if (__cil_tmp11 != 0) {
4820    {
4821#line 338
4822    printk("<5>slram: not enough parameters.\n");
4823    }
4824#line 339
4825    return (-22);
4826  } else
4827#line 337
4828  if (count == 0) {
4829    {
4830#line 338
4831    printk("<5>slram: not enough parameters.\n");
4832    }
4833#line 339
4834    return (-22);
4835  } else {
4836
4837  }
4838  }
4839#line 341
4840  i = 0;
4841#line 341
4842  goto ldv_22154;
4843  ldv_22153: 
4844  {
4845#line 342
4846  __cil_tmp12 = i * 3;
4847#line 342
4848  __cil_tmp13 = __cil_tmp12 * 8UL;
4849#line 342
4850  __cil_tmp14 = (unsigned long )(map) + __cil_tmp13;
4851#line 342
4852  devname = *((char **)__cil_tmp14);
4853#line 344
4854  __cil_tmp15 = i * 3;
4855#line 344
4856  __cil_tmp16 = __cil_tmp15 + 1;
4857#line 344
4858  __cil_tmp17 = __cil_tmp16 * 8UL;
4859#line 344
4860  __cil_tmp18 = (unsigned long )(map) + __cil_tmp17;
4861#line 344
4862  __cil_tmp19 = *((char **)__cil_tmp18);
4863#line 344
4864  __cil_tmp20 = i * 3;
4865#line 344
4866  __cil_tmp21 = __cil_tmp20 + 2;
4867#line 344
4868  __cil_tmp22 = __cil_tmp21 * 8UL;
4869#line 344
4870  __cil_tmp23 = (unsigned long )(map) + __cil_tmp22;
4871#line 344
4872  __cil_tmp24 = *((char **)__cil_tmp23);
4873#line 344
4874  tmp = parse_cmdline(devname, __cil_tmp19, __cil_tmp24);
4875  }
4876#line 344
4877  if (tmp != 0) {
4878#line 345
4879    return (-22);
4880  } else {
4881
4882  }
4883#line 341
4884  i = i + 1;
4885  ldv_22154: ;
4886  {
4887#line 341
4888  __cil_tmp25 = count / 3;
4889#line 341
4890  if (__cil_tmp25 > i) {
4891#line 342
4892    goto ldv_22153;
4893  } else {
4894#line 344
4895    goto ldv_22155;
4896  }
4897  }
4898  ldv_22155: ;
4899#line 351
4900  return (0);
4901}
4902}
4903#line 354 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4904static void cleanup_slram(void) 
4905{ 
4906
4907  {
4908  {
4909#line 356
4910  unregister_devices();
4911  }
4912#line 357
4913  return;
4914}
4915}
4916#line 382
4917extern void ldv_check_final_state(void) ;
4918#line 388
4919extern void ldv_initialize(void) ;
4920#line 391
4921extern int __VERIFIER_nondet_int(void) ;
4922#line 394 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4923int LDV_IN_INTERRUPT  ;
4924#line 397 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
4925void main(void) 
4926{ int tmp ;
4927  int tmp___0 ;
4928  int tmp___1 ;
4929
4930  {
4931  {
4932#line 409
4933  LDV_IN_INTERRUPT = 1;
4934#line 418
4935  ldv_initialize();
4936#line 434
4937  tmp = init_slram();
4938  }
4939#line 434
4940  if (tmp != 0) {
4941#line 435
4942    goto ldv_final;
4943  } else {
4944
4945  }
4946#line 437
4947  goto ldv_22188;
4948  ldv_22187: 
4949  {
4950#line 440
4951  tmp___0 = __VERIFIER_nondet_int();
4952  }
4953  {
4954#line 442
4955  goto switch_default;
4956#line 440
4957  if (0) {
4958    switch_default: /* CIL Label */ ;
4959#line 442
4960    goto ldv_22186;
4961  } else {
4962    switch_break: /* CIL Label */ ;
4963  }
4964  }
4965  ldv_22186: ;
4966  ldv_22188: 
4967  {
4968#line 437
4969  tmp___1 = __VERIFIER_nondet_int();
4970  }
4971#line 437
4972  if (tmp___1 != 0) {
4973#line 438
4974    goto ldv_22187;
4975  } else {
4976#line 440
4977    goto ldv_22189;
4978  }
4979  ldv_22189: ;
4980  {
4981#line 467
4982  cleanup_slram();
4983  }
4984  ldv_final: 
4985  {
4986#line 470
4987  ldv_check_final_state();
4988  }
4989#line 473
4990  return;
4991}
4992}
4993#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4994void ldv_blast_assert(void) 
4995{ 
4996
4997  {
4998  ERROR: ;
4999#line 6
5000  goto ERROR;
5001}
5002}
5003#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
5004extern int __VERIFIER_nondet_int(void) ;
5005#line 494 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5006int ldv_spin  =    0;
5007#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5008void ldv_check_alloc_flags(gfp_t flags ) 
5009{ 
5010
5011  {
5012#line 501
5013  if (ldv_spin != 0) {
5014#line 501
5015    if (flags != 32U) {
5016      {
5017#line 501
5018      ldv_blast_assert();
5019      }
5020    } else {
5021
5022    }
5023  } else {
5024
5025  }
5026#line 504
5027  return;
5028}
5029}
5030#line 504
5031extern struct page *ldv_some_page(void) ;
5032#line 507 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5033struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
5034{ struct page *tmp ;
5035
5036  {
5037#line 510
5038  if (ldv_spin != 0) {
5039#line 510
5040    if (flags != 32U) {
5041      {
5042#line 510
5043      ldv_blast_assert();
5044      }
5045    } else {
5046
5047    }
5048  } else {
5049
5050  }
5051  {
5052#line 512
5053  tmp = ldv_some_page();
5054  }
5055#line 512
5056  return (tmp);
5057}
5058}
5059#line 516 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5060void ldv_check_alloc_nonatomic(void) 
5061{ 
5062
5063  {
5064#line 519
5065  if (ldv_spin != 0) {
5066    {
5067#line 519
5068    ldv_blast_assert();
5069    }
5070  } else {
5071
5072  }
5073#line 522
5074  return;
5075}
5076}
5077#line 523 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5078void ldv_spin_lock(void) 
5079{ 
5080
5081  {
5082#line 526
5083  ldv_spin = 1;
5084#line 527
5085  return;
5086}
5087}
5088#line 530 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5089void ldv_spin_unlock(void) 
5090{ 
5091
5092  {
5093#line 533
5094  ldv_spin = 0;
5095#line 534
5096  return;
5097}
5098}
5099#line 537 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5100int ldv_spin_trylock(void) 
5101{ int is_lock ;
5102
5103  {
5104  {
5105#line 542
5106  is_lock = __VERIFIER_nondet_int();
5107  }
5108#line 544
5109  if (is_lock != 0) {
5110#line 547
5111    return (0);
5112  } else {
5113#line 552
5114    ldv_spin = 1;
5115#line 554
5116    return (1);
5117  }
5118}
5119}
5120#line 676 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5121__inline static void *kmalloc(size_t size , gfp_t flags ) 
5122{ 
5123
5124  {
5125  {
5126#line 682
5127  ldv_check_alloc_flags(flags);
5128#line 684
5129  ldv_kmalloc_12(size, flags);
5130  }
5131#line 685
5132  return ((void *)0);
5133}
5134}
5135#line 721 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5136void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
5137{ 
5138
5139  {
5140  {
5141#line 727
5142  ldv_check_alloc_flags(ldv_func_arg2);
5143#line 729
5144  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5145  }
5146#line 730
5147  return ((void *)0);
5148}
5149}
5150#line 732 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11722/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/slram.c.p"
5151__inline static void *kzalloc(size_t size , gfp_t flags ) 
5152{ void *tmp ;
5153
5154  {
5155  {
5156#line 738
5157  ldv_check_alloc_flags(flags);
5158#line 739
5159  tmp = __VERIFIER_nondet_pointer();
5160  }
5161#line 739
5162  return (tmp);
5163}
5164}