Showing error 1089

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--docprobe.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3843
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 20 "include/asm-generic/int-ll64.h"
   5typedef unsigned char __u8;
   6#line 23 "include/asm-generic/int-ll64.h"
   7typedef unsigned short __u16;
   8#line 25 "include/asm-generic/int-ll64.h"
   9typedef int __s32;
  10#line 26 "include/asm-generic/int-ll64.h"
  11typedef unsigned int __u32;
  12#line 30 "include/asm-generic/int-ll64.h"
  13typedef unsigned long long __u64;
  14#line 43 "include/asm-generic/int-ll64.h"
  15typedef unsigned char u8;
  16#line 45 "include/asm-generic/int-ll64.h"
  17typedef short s16;
  18#line 46 "include/asm-generic/int-ll64.h"
  19typedef unsigned short u16;
  20#line 49 "include/asm-generic/int-ll64.h"
  21typedef unsigned int u32;
  22#line 51 "include/asm-generic/int-ll64.h"
  23typedef long long s64;
  24#line 52 "include/asm-generic/int-ll64.h"
  25typedef unsigned long long u64;
  26#line 14 "include/asm-generic/posix_types.h"
  27typedef long __kernel_long_t;
  28#line 15 "include/asm-generic/posix_types.h"
  29typedef unsigned long __kernel_ulong_t;
  30#line 31 "include/asm-generic/posix_types.h"
  31typedef int __kernel_pid_t;
  32#line 52 "include/asm-generic/posix_types.h"
  33typedef unsigned int __kernel_uid32_t;
  34#line 53 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_gid32_t;
  36#line 75 "include/asm-generic/posix_types.h"
  37typedef __kernel_ulong_t __kernel_size_t;
  38#line 76 "include/asm-generic/posix_types.h"
  39typedef __kernel_long_t __kernel_ssize_t;
  40#line 91 "include/asm-generic/posix_types.h"
  41typedef long long __kernel_loff_t;
  42#line 92 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_time_t;
  44#line 93 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_clock_t;
  46#line 94 "include/asm-generic/posix_types.h"
  47typedef int __kernel_timer_t;
  48#line 95 "include/asm-generic/posix_types.h"
  49typedef int __kernel_clockid_t;
  50#line 21 "include/linux/types.h"
  51typedef __u32 __kernel_dev_t;
  52#line 24 "include/linux/types.h"
  53typedef __kernel_dev_t dev_t;
  54#line 27 "include/linux/types.h"
  55typedef unsigned short umode_t;
  56#line 30 "include/linux/types.h"
  57typedef __kernel_pid_t pid_t;
  58#line 35 "include/linux/types.h"
  59typedef __kernel_clockid_t clockid_t;
  60#line 38 "include/linux/types.h"
  61typedef _Bool bool;
  62#line 40 "include/linux/types.h"
  63typedef __kernel_uid32_t uid_t;
  64#line 41 "include/linux/types.h"
  65typedef __kernel_gid32_t gid_t;
  66#line 54 "include/linux/types.h"
  67typedef __kernel_loff_t loff_t;
  68#line 63 "include/linux/types.h"
  69typedef __kernel_size_t size_t;
  70#line 68 "include/linux/types.h"
  71typedef __kernel_ssize_t ssize_t;
  72#line 78 "include/linux/types.h"
  73typedef __kernel_time_t time_t;
  74#line 92 "include/linux/types.h"
  75typedef unsigned char u_char;
  76#line 95 "include/linux/types.h"
  77typedef unsigned long u_long;
  78#line 111 "include/linux/types.h"
  79typedef __s32 int32_t;
  80#line 115 "include/linux/types.h"
  81typedef __u8 uint8_t;
  82#line 117 "include/linux/types.h"
  83typedef __u32 uint32_t;
  84#line 120 "include/linux/types.h"
  85typedef __u64 uint64_t;
  86#line 202 "include/linux/types.h"
  87typedef unsigned int gfp_t;
  88#line 206 "include/linux/types.h"
  89typedef u64 phys_addr_t;
  90#line 211 "include/linux/types.h"
  91typedef phys_addr_t resource_size_t;
  92#line 221 "include/linux/types.h"
  93struct __anonstruct_atomic_t_6 {
  94   int counter ;
  95};
  96#line 221 "include/linux/types.h"
  97typedef struct __anonstruct_atomic_t_6 atomic_t;
  98#line 226 "include/linux/types.h"
  99struct __anonstruct_atomic64_t_7 {
 100   long counter ;
 101};
 102#line 226 "include/linux/types.h"
 103typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 104#line 227 "include/linux/types.h"
 105struct list_head {
 106   struct list_head *next ;
 107   struct list_head *prev ;
 108};
 109#line 232
 110struct hlist_node;
 111#line 232 "include/linux/types.h"
 112struct hlist_head {
 113   struct hlist_node *first ;
 114};
 115#line 236 "include/linux/types.h"
 116struct hlist_node {
 117   struct hlist_node *next ;
 118   struct hlist_node **pprev ;
 119};
 120#line 247 "include/linux/types.h"
 121struct rcu_head {
 122   struct rcu_head *next ;
 123   void (*func)(struct rcu_head * ) ;
 124};
 125#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 126struct module;
 127#line 55
 128struct module;
 129#line 146 "include/linux/init.h"
 130typedef void (*ctor_fn_t)(void);
 131#line 46 "include/linux/dynamic_debug.h"
 132struct device;
 133#line 46
 134struct device;
 135#line 57
 136struct completion;
 137#line 57
 138struct completion;
 139#line 58
 140struct pt_regs;
 141#line 58
 142struct pt_regs;
 143#line 348 "include/linux/kernel.h"
 144struct pid;
 145#line 348
 146struct pid;
 147#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 148struct timespec;
 149#line 112
 150struct timespec;
 151#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 152struct page;
 153#line 58
 154struct page;
 155#line 26 "include/asm-generic/getorder.h"
 156struct task_struct;
 157#line 26
 158struct task_struct;
 159#line 28
 160struct mm_struct;
 161#line 28
 162struct mm_struct;
 163#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 164struct pt_regs {
 165   unsigned long r15 ;
 166   unsigned long r14 ;
 167   unsigned long r13 ;
 168   unsigned long r12 ;
 169   unsigned long bp ;
 170   unsigned long bx ;
 171   unsigned long r11 ;
 172   unsigned long r10 ;
 173   unsigned long r9 ;
 174   unsigned long r8 ;
 175   unsigned long ax ;
 176   unsigned long cx ;
 177   unsigned long dx ;
 178   unsigned long si ;
 179   unsigned long di ;
 180   unsigned long orig_ax ;
 181   unsigned long ip ;
 182   unsigned long cs ;
 183   unsigned long flags ;
 184   unsigned long sp ;
 185   unsigned long ss ;
 186};
 187#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 188struct __anonstruct_ldv_2180_13 {
 189   unsigned int a ;
 190   unsigned int b ;
 191};
 192#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 193struct __anonstruct_ldv_2195_14 {
 194   u16 limit0 ;
 195   u16 base0 ;
 196   unsigned char base1 ;
 197   unsigned char type : 4 ;
 198   unsigned char s : 1 ;
 199   unsigned char dpl : 2 ;
 200   unsigned char p : 1 ;
 201   unsigned char limit : 4 ;
 202   unsigned char avl : 1 ;
 203   unsigned char l : 1 ;
 204   unsigned char d : 1 ;
 205   unsigned char g : 1 ;
 206   unsigned char base2 ;
 207};
 208#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 209union __anonunion_ldv_2196_12 {
 210   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 211   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 212};
 213#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 214struct desc_struct {
 215   union __anonunion_ldv_2196_12 ldv_2196 ;
 216};
 217#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 218typedef unsigned long pgdval_t;
 219#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 220typedef unsigned long pgprotval_t;
 221#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 222struct pgprot {
 223   pgprotval_t pgprot ;
 224};
 225#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 226typedef struct pgprot pgprot_t;
 227#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 228struct __anonstruct_pgd_t_16 {
 229   pgdval_t pgd ;
 230};
 231#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 232typedef struct __anonstruct_pgd_t_16 pgd_t;
 233#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 234typedef struct page *pgtable_t;
 235#line 290
 236struct file;
 237#line 290
 238struct file;
 239#line 337
 240struct thread_struct;
 241#line 337
 242struct thread_struct;
 243#line 339
 244struct cpumask;
 245#line 339
 246struct cpumask;
 247#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 248struct arch_spinlock;
 249#line 327
 250struct arch_spinlock;
 251#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 252struct kernel_vm86_regs {
 253   struct pt_regs pt ;
 254   unsigned short es ;
 255   unsigned short __esh ;
 256   unsigned short ds ;
 257   unsigned short __dsh ;
 258   unsigned short fs ;
 259   unsigned short __fsh ;
 260   unsigned short gs ;
 261   unsigned short __gsh ;
 262};
 263#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 264union __anonunion_ldv_2824_19 {
 265   struct pt_regs *regs ;
 266   struct kernel_vm86_regs *vm86 ;
 267};
 268#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 269struct math_emu_info {
 270   long ___orig_eip ;
 271   union __anonunion_ldv_2824_19 ldv_2824 ;
 272};
 273#line 306 "include/linux/bitmap.h"
 274struct bug_entry {
 275   int bug_addr_disp ;
 276   int file_disp ;
 277   unsigned short line ;
 278   unsigned short flags ;
 279};
 280#line 89 "include/linux/bug.h"
 281struct cpumask {
 282   unsigned long bits[64U] ;
 283};
 284#line 14 "include/linux/cpumask.h"
 285typedef struct cpumask cpumask_t;
 286#line 637 "include/linux/cpumask.h"
 287typedef struct cpumask *cpumask_var_t;
 288#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 289struct static_key;
 290#line 234
 291struct static_key;
 292#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 293struct i387_fsave_struct {
 294   u32 cwd ;
 295   u32 swd ;
 296   u32 twd ;
 297   u32 fip ;
 298   u32 fcs ;
 299   u32 foo ;
 300   u32 fos ;
 301   u32 st_space[20U] ;
 302   u32 status ;
 303};
 304#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 305struct __anonstruct_ldv_5180_24 {
 306   u64 rip ;
 307   u64 rdp ;
 308};
 309#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 310struct __anonstruct_ldv_5186_25 {
 311   u32 fip ;
 312   u32 fcs ;
 313   u32 foo ;
 314   u32 fos ;
 315};
 316#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 317union __anonunion_ldv_5187_23 {
 318   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 319   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 320};
 321#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 322union __anonunion_ldv_5196_26 {
 323   u32 padding1[12U] ;
 324   u32 sw_reserved[12U] ;
 325};
 326#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 327struct i387_fxsave_struct {
 328   u16 cwd ;
 329   u16 swd ;
 330   u16 twd ;
 331   u16 fop ;
 332   union __anonunion_ldv_5187_23 ldv_5187 ;
 333   u32 mxcsr ;
 334   u32 mxcsr_mask ;
 335   u32 st_space[32U] ;
 336   u32 xmm_space[64U] ;
 337   u32 padding[12U] ;
 338   union __anonunion_ldv_5196_26 ldv_5196 ;
 339};
 340#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 341struct i387_soft_struct {
 342   u32 cwd ;
 343   u32 swd ;
 344   u32 twd ;
 345   u32 fip ;
 346   u32 fcs ;
 347   u32 foo ;
 348   u32 fos ;
 349   u32 st_space[20U] ;
 350   u8 ftop ;
 351   u8 changed ;
 352   u8 lookahead ;
 353   u8 no_update ;
 354   u8 rm ;
 355   u8 alimit ;
 356   struct math_emu_info *info ;
 357   u32 entry_eip ;
 358};
 359#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 360struct ymmh_struct {
 361   u32 ymmh_space[64U] ;
 362};
 363#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 364struct xsave_hdr_struct {
 365   u64 xstate_bv ;
 366   u64 reserved1[2U] ;
 367   u64 reserved2[5U] ;
 368};
 369#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 370struct xsave_struct {
 371   struct i387_fxsave_struct i387 ;
 372   struct xsave_hdr_struct xsave_hdr ;
 373   struct ymmh_struct ymmh ;
 374};
 375#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 376union thread_xstate {
 377   struct i387_fsave_struct fsave ;
 378   struct i387_fxsave_struct fxsave ;
 379   struct i387_soft_struct soft ;
 380   struct xsave_struct xsave ;
 381};
 382#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 383struct fpu {
 384   unsigned int last_cpu ;
 385   unsigned int has_fpu ;
 386   union thread_xstate *state ;
 387};
 388#line 433
 389struct kmem_cache;
 390#line 434
 391struct perf_event;
 392#line 434
 393struct perf_event;
 394#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 395struct thread_struct {
 396   struct desc_struct tls_array[3U] ;
 397   unsigned long sp0 ;
 398   unsigned long sp ;
 399   unsigned long usersp ;
 400   unsigned short es ;
 401   unsigned short ds ;
 402   unsigned short fsindex ;
 403   unsigned short gsindex ;
 404   unsigned long fs ;
 405   unsigned long gs ;
 406   struct perf_event *ptrace_bps[4U] ;
 407   unsigned long debugreg6 ;
 408   unsigned long ptrace_dr7 ;
 409   unsigned long cr2 ;
 410   unsigned long trap_nr ;
 411   unsigned long error_code ;
 412   struct fpu fpu ;
 413   unsigned long *io_bitmap_ptr ;
 414   unsigned long iopl ;
 415   unsigned int io_bitmap_max ;
 416};
 417#line 23 "include/asm-generic/atomic-long.h"
 418typedef atomic64_t atomic_long_t;
 419#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 420typedef u16 __ticket_t;
 421#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 422typedef u32 __ticketpair_t;
 423#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 424struct __raw_tickets {
 425   __ticket_t head ;
 426   __ticket_t tail ;
 427};
 428#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 429union __anonunion_ldv_5907_29 {
 430   __ticketpair_t head_tail ;
 431   struct __raw_tickets tickets ;
 432};
 433#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 434struct arch_spinlock {
 435   union __anonunion_ldv_5907_29 ldv_5907 ;
 436};
 437#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 438typedef struct arch_spinlock arch_spinlock_t;
 439#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 440struct lockdep_map;
 441#line 34
 442struct lockdep_map;
 443#line 55 "include/linux/debug_locks.h"
 444struct stack_trace {
 445   unsigned int nr_entries ;
 446   unsigned int max_entries ;
 447   unsigned long *entries ;
 448   int skip ;
 449};
 450#line 26 "include/linux/stacktrace.h"
 451struct lockdep_subclass_key {
 452   char __one_byte ;
 453};
 454#line 53 "include/linux/lockdep.h"
 455struct lock_class_key {
 456   struct lockdep_subclass_key subkeys[8U] ;
 457};
 458#line 59 "include/linux/lockdep.h"
 459struct lock_class {
 460   struct list_head hash_entry ;
 461   struct list_head lock_entry ;
 462   struct lockdep_subclass_key *key ;
 463   unsigned int subclass ;
 464   unsigned int dep_gen_id ;
 465   unsigned long usage_mask ;
 466   struct stack_trace usage_traces[13U] ;
 467   struct list_head locks_after ;
 468   struct list_head locks_before ;
 469   unsigned int version ;
 470   unsigned long ops ;
 471   char const   *name ;
 472   int name_version ;
 473   unsigned long contention_point[4U] ;
 474   unsigned long contending_point[4U] ;
 475};
 476#line 144 "include/linux/lockdep.h"
 477struct lockdep_map {
 478   struct lock_class_key *key ;
 479   struct lock_class *class_cache[2U] ;
 480   char const   *name ;
 481   int cpu ;
 482   unsigned long ip ;
 483};
 484#line 187 "include/linux/lockdep.h"
 485struct held_lock {
 486   u64 prev_chain_key ;
 487   unsigned long acquire_ip ;
 488   struct lockdep_map *instance ;
 489   struct lockdep_map *nest_lock ;
 490   u64 waittime_stamp ;
 491   u64 holdtime_stamp ;
 492   unsigned short class_idx : 13 ;
 493   unsigned char irq_context : 2 ;
 494   unsigned char trylock : 1 ;
 495   unsigned char read : 2 ;
 496   unsigned char check : 2 ;
 497   unsigned char hardirqs_off : 1 ;
 498   unsigned short references : 11 ;
 499};
 500#line 556 "include/linux/lockdep.h"
 501struct raw_spinlock {
 502   arch_spinlock_t raw_lock ;
 503   unsigned int magic ;
 504   unsigned int owner_cpu ;
 505   void *owner ;
 506   struct lockdep_map dep_map ;
 507};
 508#line 32 "include/linux/spinlock_types.h"
 509typedef struct raw_spinlock raw_spinlock_t;
 510#line 33 "include/linux/spinlock_types.h"
 511struct __anonstruct_ldv_6122_33 {
 512   u8 __padding[24U] ;
 513   struct lockdep_map dep_map ;
 514};
 515#line 33 "include/linux/spinlock_types.h"
 516union __anonunion_ldv_6123_32 {
 517   struct raw_spinlock rlock ;
 518   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 519};
 520#line 33 "include/linux/spinlock_types.h"
 521struct spinlock {
 522   union __anonunion_ldv_6123_32 ldv_6123 ;
 523};
 524#line 76 "include/linux/spinlock_types.h"
 525typedef struct spinlock spinlock_t;
 526#line 110 "include/linux/seqlock.h"
 527struct seqcount {
 528   unsigned int sequence ;
 529};
 530#line 121 "include/linux/seqlock.h"
 531typedef struct seqcount seqcount_t;
 532#line 254 "include/linux/seqlock.h"
 533struct timespec {
 534   __kernel_time_t tv_sec ;
 535   long tv_nsec ;
 536};
 537#line 48 "include/linux/wait.h"
 538struct __wait_queue_head {
 539   spinlock_t lock ;
 540   struct list_head task_list ;
 541};
 542#line 53 "include/linux/wait.h"
 543typedef struct __wait_queue_head wait_queue_head_t;
 544#line 98 "include/linux/nodemask.h"
 545struct __anonstruct_nodemask_t_36 {
 546   unsigned long bits[16U] ;
 547};
 548#line 98 "include/linux/nodemask.h"
 549typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 550#line 670 "include/linux/mmzone.h"
 551struct mutex {
 552   atomic_t count ;
 553   spinlock_t wait_lock ;
 554   struct list_head wait_list ;
 555   struct task_struct *owner ;
 556   char const   *name ;
 557   void *magic ;
 558   struct lockdep_map dep_map ;
 559};
 560#line 63 "include/linux/mutex.h"
 561struct mutex_waiter {
 562   struct list_head list ;
 563   struct task_struct *task ;
 564   void *magic ;
 565};
 566#line 171
 567struct rw_semaphore;
 568#line 171
 569struct rw_semaphore;
 570#line 172 "include/linux/mutex.h"
 571struct rw_semaphore {
 572   long count ;
 573   raw_spinlock_t wait_lock ;
 574   struct list_head wait_list ;
 575   struct lockdep_map dep_map ;
 576};
 577#line 128 "include/linux/rwsem.h"
 578struct completion {
 579   unsigned int done ;
 580   wait_queue_head_t wait ;
 581};
 582#line 188 "include/linux/rcupdate.h"
 583struct notifier_block;
 584#line 188
 585struct notifier_block;
 586#line 239 "include/linux/srcu.h"
 587struct notifier_block {
 588   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 589   struct notifier_block *next ;
 590   int priority ;
 591};
 592#line 312 "include/linux/jiffies.h"
 593union ktime {
 594   s64 tv64 ;
 595};
 596#line 59 "include/linux/ktime.h"
 597typedef union ktime ktime_t;
 598#line 341
 599struct tvec_base;
 600#line 341
 601struct tvec_base;
 602#line 342 "include/linux/ktime.h"
 603struct timer_list {
 604   struct list_head entry ;
 605   unsigned long expires ;
 606   struct tvec_base *base ;
 607   void (*function)(unsigned long  ) ;
 608   unsigned long data ;
 609   int slack ;
 610   int start_pid ;
 611   void *start_site ;
 612   char start_comm[16U] ;
 613   struct lockdep_map lockdep_map ;
 614};
 615#line 289 "include/linux/timer.h"
 616struct hrtimer;
 617#line 289
 618struct hrtimer;
 619#line 290
 620enum hrtimer_restart;
 621#line 302
 622struct work_struct;
 623#line 302
 624struct work_struct;
 625#line 45 "include/linux/workqueue.h"
 626struct work_struct {
 627   atomic_long_t data ;
 628   struct list_head entry ;
 629   void (*func)(struct work_struct * ) ;
 630   struct lockdep_map lockdep_map ;
 631};
 632#line 46 "include/linux/pm.h"
 633struct pm_message {
 634   int event ;
 635};
 636#line 52 "include/linux/pm.h"
 637typedef struct pm_message pm_message_t;
 638#line 53 "include/linux/pm.h"
 639struct dev_pm_ops {
 640   int (*prepare)(struct device * ) ;
 641   void (*complete)(struct device * ) ;
 642   int (*suspend)(struct device * ) ;
 643   int (*resume)(struct device * ) ;
 644   int (*freeze)(struct device * ) ;
 645   int (*thaw)(struct device * ) ;
 646   int (*poweroff)(struct device * ) ;
 647   int (*restore)(struct device * ) ;
 648   int (*suspend_late)(struct device * ) ;
 649   int (*resume_early)(struct device * ) ;
 650   int (*freeze_late)(struct device * ) ;
 651   int (*thaw_early)(struct device * ) ;
 652   int (*poweroff_late)(struct device * ) ;
 653   int (*restore_early)(struct device * ) ;
 654   int (*suspend_noirq)(struct device * ) ;
 655   int (*resume_noirq)(struct device * ) ;
 656   int (*freeze_noirq)(struct device * ) ;
 657   int (*thaw_noirq)(struct device * ) ;
 658   int (*poweroff_noirq)(struct device * ) ;
 659   int (*restore_noirq)(struct device * ) ;
 660   int (*runtime_suspend)(struct device * ) ;
 661   int (*runtime_resume)(struct device * ) ;
 662   int (*runtime_idle)(struct device * ) ;
 663};
 664#line 289
 665enum rpm_status {
 666    RPM_ACTIVE = 0,
 667    RPM_RESUMING = 1,
 668    RPM_SUSPENDED = 2,
 669    RPM_SUSPENDING = 3
 670} ;
 671#line 296
 672enum rpm_request {
 673    RPM_REQ_NONE = 0,
 674    RPM_REQ_IDLE = 1,
 675    RPM_REQ_SUSPEND = 2,
 676    RPM_REQ_AUTOSUSPEND = 3,
 677    RPM_REQ_RESUME = 4
 678} ;
 679#line 304
 680struct wakeup_source;
 681#line 304
 682struct wakeup_source;
 683#line 494 "include/linux/pm.h"
 684struct pm_subsys_data {
 685   spinlock_t lock ;
 686   unsigned int refcount ;
 687};
 688#line 499
 689struct dev_pm_qos_request;
 690#line 499
 691struct pm_qos_constraints;
 692#line 499 "include/linux/pm.h"
 693struct dev_pm_info {
 694   pm_message_t power_state ;
 695   unsigned char can_wakeup : 1 ;
 696   unsigned char async_suspend : 1 ;
 697   bool is_prepared ;
 698   bool is_suspended ;
 699   bool ignore_children ;
 700   spinlock_t lock ;
 701   struct list_head entry ;
 702   struct completion completion ;
 703   struct wakeup_source *wakeup ;
 704   bool wakeup_path ;
 705   struct timer_list suspend_timer ;
 706   unsigned long timer_expires ;
 707   struct work_struct work ;
 708   wait_queue_head_t wait_queue ;
 709   atomic_t usage_count ;
 710   atomic_t child_count ;
 711   unsigned char disable_depth : 3 ;
 712   unsigned char idle_notification : 1 ;
 713   unsigned char request_pending : 1 ;
 714   unsigned char deferred_resume : 1 ;
 715   unsigned char run_wake : 1 ;
 716   unsigned char runtime_auto : 1 ;
 717   unsigned char no_callbacks : 1 ;
 718   unsigned char irq_safe : 1 ;
 719   unsigned char use_autosuspend : 1 ;
 720   unsigned char timer_autosuspends : 1 ;
 721   enum rpm_request request ;
 722   enum rpm_status runtime_status ;
 723   int runtime_error ;
 724   int autosuspend_delay ;
 725   unsigned long last_busy ;
 726   unsigned long active_jiffies ;
 727   unsigned long suspended_jiffies ;
 728   unsigned long accounting_timestamp ;
 729   ktime_t suspend_time ;
 730   s64 max_time_suspended_ns ;
 731   struct dev_pm_qos_request *pq_req ;
 732   struct pm_subsys_data *subsys_data ;
 733   struct pm_qos_constraints *constraints ;
 734};
 735#line 558 "include/linux/pm.h"
 736struct dev_pm_domain {
 737   struct dev_pm_ops ops ;
 738};
 739#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 740struct __anonstruct_mm_context_t_101 {
 741   void *ldt ;
 742   int size ;
 743   unsigned short ia32_compat ;
 744   struct mutex lock ;
 745   void *vdso ;
 746};
 747#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 748typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 749#line 18 "include/asm-generic/pci_iomap.h"
 750struct vm_area_struct;
 751#line 18
 752struct vm_area_struct;
 753#line 835 "include/linux/sysctl.h"
 754struct rb_node {
 755   unsigned long rb_parent_color ;
 756   struct rb_node *rb_right ;
 757   struct rb_node *rb_left ;
 758};
 759#line 108 "include/linux/rbtree.h"
 760struct rb_root {
 761   struct rb_node *rb_node ;
 762};
 763#line 176
 764struct nsproxy;
 765#line 176
 766struct nsproxy;
 767#line 37 "include/linux/kmod.h"
 768struct cred;
 769#line 37
 770struct cred;
 771#line 18 "include/linux/elf.h"
 772typedef __u64 Elf64_Addr;
 773#line 19 "include/linux/elf.h"
 774typedef __u16 Elf64_Half;
 775#line 23 "include/linux/elf.h"
 776typedef __u32 Elf64_Word;
 777#line 24 "include/linux/elf.h"
 778typedef __u64 Elf64_Xword;
 779#line 193 "include/linux/elf.h"
 780struct elf64_sym {
 781   Elf64_Word st_name ;
 782   unsigned char st_info ;
 783   unsigned char st_other ;
 784   Elf64_Half st_shndx ;
 785   Elf64_Addr st_value ;
 786   Elf64_Xword st_size ;
 787};
 788#line 201 "include/linux/elf.h"
 789typedef struct elf64_sym Elf64_Sym;
 790#line 445
 791struct sock;
 792#line 445
 793struct sock;
 794#line 446
 795struct kobject;
 796#line 446
 797struct kobject;
 798#line 447
 799enum kobj_ns_type {
 800    KOBJ_NS_TYPE_NONE = 0,
 801    KOBJ_NS_TYPE_NET = 1,
 802    KOBJ_NS_TYPES = 2
 803} ;
 804#line 453 "include/linux/elf.h"
 805struct kobj_ns_type_operations {
 806   enum kobj_ns_type type ;
 807   void *(*grab_current_ns)(void) ;
 808   void const   *(*netlink_ns)(struct sock * ) ;
 809   void const   *(*initial_ns)(void) ;
 810   void (*drop_ns)(void * ) ;
 811};
 812#line 57 "include/linux/kobject_ns.h"
 813struct attribute {
 814   char const   *name ;
 815   umode_t mode ;
 816   struct lock_class_key *key ;
 817   struct lock_class_key skey ;
 818};
 819#line 33 "include/linux/sysfs.h"
 820struct attribute_group {
 821   char const   *name ;
 822   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 823   struct attribute **attrs ;
 824};
 825#line 62 "include/linux/sysfs.h"
 826struct bin_attribute {
 827   struct attribute attr ;
 828   size_t size ;
 829   void *private ;
 830   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 831                   loff_t  , size_t  ) ;
 832   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 833                    loff_t  , size_t  ) ;
 834   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 835};
 836#line 98 "include/linux/sysfs.h"
 837struct sysfs_ops {
 838   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 839   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 840   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 841};
 842#line 117
 843struct sysfs_dirent;
 844#line 117
 845struct sysfs_dirent;
 846#line 182 "include/linux/sysfs.h"
 847struct kref {
 848   atomic_t refcount ;
 849};
 850#line 49 "include/linux/kobject.h"
 851struct kset;
 852#line 49
 853struct kobj_type;
 854#line 49 "include/linux/kobject.h"
 855struct kobject {
 856   char const   *name ;
 857   struct list_head entry ;
 858   struct kobject *parent ;
 859   struct kset *kset ;
 860   struct kobj_type *ktype ;
 861   struct sysfs_dirent *sd ;
 862   struct kref kref ;
 863   unsigned char state_initialized : 1 ;
 864   unsigned char state_in_sysfs : 1 ;
 865   unsigned char state_add_uevent_sent : 1 ;
 866   unsigned char state_remove_uevent_sent : 1 ;
 867   unsigned char uevent_suppress : 1 ;
 868};
 869#line 107 "include/linux/kobject.h"
 870struct kobj_type {
 871   void (*release)(struct kobject * ) ;
 872   struct sysfs_ops  const  *sysfs_ops ;
 873   struct attribute **default_attrs ;
 874   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 875   void const   *(*namespace)(struct kobject * ) ;
 876};
 877#line 115 "include/linux/kobject.h"
 878struct kobj_uevent_env {
 879   char *envp[32U] ;
 880   int envp_idx ;
 881   char buf[2048U] ;
 882   int buflen ;
 883};
 884#line 122 "include/linux/kobject.h"
 885struct kset_uevent_ops {
 886   int (* const  filter)(struct kset * , struct kobject * ) ;
 887   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 888   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 889};
 890#line 139 "include/linux/kobject.h"
 891struct kset {
 892   struct list_head list ;
 893   spinlock_t list_lock ;
 894   struct kobject kobj ;
 895   struct kset_uevent_ops  const  *uevent_ops ;
 896};
 897#line 215
 898struct kernel_param;
 899#line 215
 900struct kernel_param;
 901#line 216 "include/linux/kobject.h"
 902struct kernel_param_ops {
 903   int (*set)(char const   * , struct kernel_param  const  * ) ;
 904   int (*get)(char * , struct kernel_param  const  * ) ;
 905   void (*free)(void * ) ;
 906};
 907#line 49 "include/linux/moduleparam.h"
 908struct kparam_string;
 909#line 49
 910struct kparam_array;
 911#line 49 "include/linux/moduleparam.h"
 912union __anonunion_ldv_13363_134 {
 913   void *arg ;
 914   struct kparam_string  const  *str ;
 915   struct kparam_array  const  *arr ;
 916};
 917#line 49 "include/linux/moduleparam.h"
 918struct kernel_param {
 919   char const   *name ;
 920   struct kernel_param_ops  const  *ops ;
 921   u16 perm ;
 922   s16 level ;
 923   union __anonunion_ldv_13363_134 ldv_13363 ;
 924};
 925#line 61 "include/linux/moduleparam.h"
 926struct kparam_string {
 927   unsigned int maxlen ;
 928   char *string ;
 929};
 930#line 67 "include/linux/moduleparam.h"
 931struct kparam_array {
 932   unsigned int max ;
 933   unsigned int elemsize ;
 934   unsigned int *num ;
 935   struct kernel_param_ops  const  *ops ;
 936   void *elem ;
 937};
 938#line 458 "include/linux/moduleparam.h"
 939struct static_key {
 940   atomic_t enabled ;
 941};
 942#line 225 "include/linux/jump_label.h"
 943struct tracepoint;
 944#line 225
 945struct tracepoint;
 946#line 226 "include/linux/jump_label.h"
 947struct tracepoint_func {
 948   void *func ;
 949   void *data ;
 950};
 951#line 29 "include/linux/tracepoint.h"
 952struct tracepoint {
 953   char const   *name ;
 954   struct static_key key ;
 955   void (*regfunc)(void) ;
 956   void (*unregfunc)(void) ;
 957   struct tracepoint_func *funcs ;
 958};
 959#line 86 "include/linux/tracepoint.h"
 960struct kernel_symbol {
 961   unsigned long value ;
 962   char const   *name ;
 963};
 964#line 27 "include/linux/export.h"
 965struct mod_arch_specific {
 966
 967};
 968#line 34 "include/linux/module.h"
 969struct module_param_attrs;
 970#line 34 "include/linux/module.h"
 971struct module_kobject {
 972   struct kobject kobj ;
 973   struct module *mod ;
 974   struct kobject *drivers_dir ;
 975   struct module_param_attrs *mp ;
 976};
 977#line 43 "include/linux/module.h"
 978struct module_attribute {
 979   struct attribute attr ;
 980   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 981   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 982                    size_t  ) ;
 983   void (*setup)(struct module * , char const   * ) ;
 984   int (*test)(struct module * ) ;
 985   void (*free)(struct module * ) ;
 986};
 987#line 69
 988struct exception_table_entry;
 989#line 69
 990struct exception_table_entry;
 991#line 198
 992enum module_state {
 993    MODULE_STATE_LIVE = 0,
 994    MODULE_STATE_COMING = 1,
 995    MODULE_STATE_GOING = 2
 996} ;
 997#line 204 "include/linux/module.h"
 998struct module_ref {
 999   unsigned long incs ;
1000   unsigned long decs ;
1001};
1002#line 219
1003struct module_sect_attrs;
1004#line 219
1005struct module_notes_attrs;
1006#line 219
1007struct ftrace_event_call;
1008#line 219 "include/linux/module.h"
1009struct module {
1010   enum module_state state ;
1011   struct list_head list ;
1012   char name[56U] ;
1013   struct module_kobject mkobj ;
1014   struct module_attribute *modinfo_attrs ;
1015   char const   *version ;
1016   char const   *srcversion ;
1017   struct kobject *holders_dir ;
1018   struct kernel_symbol  const  *syms ;
1019   unsigned long const   *crcs ;
1020   unsigned int num_syms ;
1021   struct kernel_param *kp ;
1022   unsigned int num_kp ;
1023   unsigned int num_gpl_syms ;
1024   struct kernel_symbol  const  *gpl_syms ;
1025   unsigned long const   *gpl_crcs ;
1026   struct kernel_symbol  const  *unused_syms ;
1027   unsigned long const   *unused_crcs ;
1028   unsigned int num_unused_syms ;
1029   unsigned int num_unused_gpl_syms ;
1030   struct kernel_symbol  const  *unused_gpl_syms ;
1031   unsigned long const   *unused_gpl_crcs ;
1032   struct kernel_symbol  const  *gpl_future_syms ;
1033   unsigned long const   *gpl_future_crcs ;
1034   unsigned int num_gpl_future_syms ;
1035   unsigned int num_exentries ;
1036   struct exception_table_entry *extable ;
1037   int (*init)(void) ;
1038   void *module_init ;
1039   void *module_core ;
1040   unsigned int init_size ;
1041   unsigned int core_size ;
1042   unsigned int init_text_size ;
1043   unsigned int core_text_size ;
1044   unsigned int init_ro_size ;
1045   unsigned int core_ro_size ;
1046   struct mod_arch_specific arch ;
1047   unsigned int taints ;
1048   unsigned int num_bugs ;
1049   struct list_head bug_list ;
1050   struct bug_entry *bug_table ;
1051   Elf64_Sym *symtab ;
1052   Elf64_Sym *core_symtab ;
1053   unsigned int num_symtab ;
1054   unsigned int core_num_syms ;
1055   char *strtab ;
1056   char *core_strtab ;
1057   struct module_sect_attrs *sect_attrs ;
1058   struct module_notes_attrs *notes_attrs ;
1059   char *args ;
1060   void *percpu ;
1061   unsigned int percpu_size ;
1062   unsigned int num_tracepoints ;
1063   struct tracepoint * const  *tracepoints_ptrs ;
1064   unsigned int num_trace_bprintk_fmt ;
1065   char const   **trace_bprintk_fmt_start ;
1066   struct ftrace_event_call **trace_events ;
1067   unsigned int num_trace_events ;
1068   struct list_head source_list ;
1069   struct list_head target_list ;
1070   struct task_struct *waiter ;
1071   void (*exit)(void) ;
1072   struct module_ref *refptr ;
1073   ctor_fn_t (**ctors)(void) ;
1074   unsigned int num_ctors ;
1075};
1076#line 88 "include/linux/kmemleak.h"
1077struct kmem_cache_cpu {
1078   void **freelist ;
1079   unsigned long tid ;
1080   struct page *page ;
1081   struct page *partial ;
1082   int node ;
1083   unsigned int stat[26U] ;
1084};
1085#line 55 "include/linux/slub_def.h"
1086struct kmem_cache_node {
1087   spinlock_t list_lock ;
1088   unsigned long nr_partial ;
1089   struct list_head partial ;
1090   atomic_long_t nr_slabs ;
1091   atomic_long_t total_objects ;
1092   struct list_head full ;
1093};
1094#line 66 "include/linux/slub_def.h"
1095struct kmem_cache_order_objects {
1096   unsigned long x ;
1097};
1098#line 76 "include/linux/slub_def.h"
1099struct kmem_cache {
1100   struct kmem_cache_cpu *cpu_slab ;
1101   unsigned long flags ;
1102   unsigned long min_partial ;
1103   int size ;
1104   int objsize ;
1105   int offset ;
1106   int cpu_partial ;
1107   struct kmem_cache_order_objects oo ;
1108   struct kmem_cache_order_objects max ;
1109   struct kmem_cache_order_objects min ;
1110   gfp_t allocflags ;
1111   int refcount ;
1112   void (*ctor)(void * ) ;
1113   int inuse ;
1114   int align ;
1115   int reserved ;
1116   char const   *name ;
1117   struct list_head list ;
1118   struct kobject kobj ;
1119   int remote_node_defrag_ratio ;
1120   struct kmem_cache_node *node[1024U] ;
1121};
1122#line 21 "include/linux/uio.h"
1123struct kvec {
1124   void *iov_base ;
1125   size_t iov_len ;
1126};
1127#line 54
1128struct klist_node;
1129#line 54
1130struct klist_node;
1131#line 37 "include/linux/klist.h"
1132struct klist_node {
1133   void *n_klist ;
1134   struct list_head n_node ;
1135   struct kref n_ref ;
1136};
1137#line 67
1138struct dma_map_ops;
1139#line 67 "include/linux/klist.h"
1140struct dev_archdata {
1141   void *acpi_handle ;
1142   struct dma_map_ops *dma_ops ;
1143   void *iommu ;
1144};
1145#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1146struct device_private;
1147#line 17
1148struct device_private;
1149#line 18
1150struct device_driver;
1151#line 18
1152struct device_driver;
1153#line 19
1154struct driver_private;
1155#line 19
1156struct driver_private;
1157#line 20
1158struct class;
1159#line 20
1160struct class;
1161#line 21
1162struct subsys_private;
1163#line 21
1164struct subsys_private;
1165#line 22
1166struct bus_type;
1167#line 22
1168struct bus_type;
1169#line 23
1170struct device_node;
1171#line 23
1172struct device_node;
1173#line 24
1174struct iommu_ops;
1175#line 24
1176struct iommu_ops;
1177#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1178struct bus_attribute {
1179   struct attribute attr ;
1180   ssize_t (*show)(struct bus_type * , char * ) ;
1181   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1182};
1183#line 51 "include/linux/device.h"
1184struct device_attribute;
1185#line 51
1186struct driver_attribute;
1187#line 51 "include/linux/device.h"
1188struct bus_type {
1189   char const   *name ;
1190   char const   *dev_name ;
1191   struct device *dev_root ;
1192   struct bus_attribute *bus_attrs ;
1193   struct device_attribute *dev_attrs ;
1194   struct driver_attribute *drv_attrs ;
1195   int (*match)(struct device * , struct device_driver * ) ;
1196   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1197   int (*probe)(struct device * ) ;
1198   int (*remove)(struct device * ) ;
1199   void (*shutdown)(struct device * ) ;
1200   int (*suspend)(struct device * , pm_message_t  ) ;
1201   int (*resume)(struct device * ) ;
1202   struct dev_pm_ops  const  *pm ;
1203   struct iommu_ops *iommu_ops ;
1204   struct subsys_private *p ;
1205};
1206#line 125
1207struct device_type;
1208#line 182
1209struct of_device_id;
1210#line 182 "include/linux/device.h"
1211struct device_driver {
1212   char const   *name ;
1213   struct bus_type *bus ;
1214   struct module *owner ;
1215   char const   *mod_name ;
1216   bool suppress_bind_attrs ;
1217   struct of_device_id  const  *of_match_table ;
1218   int (*probe)(struct device * ) ;
1219   int (*remove)(struct device * ) ;
1220   void (*shutdown)(struct device * ) ;
1221   int (*suspend)(struct device * , pm_message_t  ) ;
1222   int (*resume)(struct device * ) ;
1223   struct attribute_group  const  **groups ;
1224   struct dev_pm_ops  const  *pm ;
1225   struct driver_private *p ;
1226};
1227#line 245 "include/linux/device.h"
1228struct driver_attribute {
1229   struct attribute attr ;
1230   ssize_t (*show)(struct device_driver * , char * ) ;
1231   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1232};
1233#line 299
1234struct class_attribute;
1235#line 299 "include/linux/device.h"
1236struct class {
1237   char const   *name ;
1238   struct module *owner ;
1239   struct class_attribute *class_attrs ;
1240   struct device_attribute *dev_attrs ;
1241   struct bin_attribute *dev_bin_attrs ;
1242   struct kobject *dev_kobj ;
1243   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1244   char *(*devnode)(struct device * , umode_t * ) ;
1245   void (*class_release)(struct class * ) ;
1246   void (*dev_release)(struct device * ) ;
1247   int (*suspend)(struct device * , pm_message_t  ) ;
1248   int (*resume)(struct device * ) ;
1249   struct kobj_ns_type_operations  const  *ns_type ;
1250   void const   *(*namespace)(struct device * ) ;
1251   struct dev_pm_ops  const  *pm ;
1252   struct subsys_private *p ;
1253};
1254#line 394 "include/linux/device.h"
1255struct class_attribute {
1256   struct attribute attr ;
1257   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1258   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1259   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1260};
1261#line 447 "include/linux/device.h"
1262struct device_type {
1263   char const   *name ;
1264   struct attribute_group  const  **groups ;
1265   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1266   char *(*devnode)(struct device * , umode_t * ) ;
1267   void (*release)(struct device * ) ;
1268   struct dev_pm_ops  const  *pm ;
1269};
1270#line 474 "include/linux/device.h"
1271struct device_attribute {
1272   struct attribute attr ;
1273   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1274   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1275                    size_t  ) ;
1276};
1277#line 557 "include/linux/device.h"
1278struct device_dma_parameters {
1279   unsigned int max_segment_size ;
1280   unsigned long segment_boundary_mask ;
1281};
1282#line 567
1283struct dma_coherent_mem;
1284#line 567 "include/linux/device.h"
1285struct device {
1286   struct device *parent ;
1287   struct device_private *p ;
1288   struct kobject kobj ;
1289   char const   *init_name ;
1290   struct device_type  const  *type ;
1291   struct mutex mutex ;
1292   struct bus_type *bus ;
1293   struct device_driver *driver ;
1294   void *platform_data ;
1295   struct dev_pm_info power ;
1296   struct dev_pm_domain *pm_domain ;
1297   int numa_node ;
1298   u64 *dma_mask ;
1299   u64 coherent_dma_mask ;
1300   struct device_dma_parameters *dma_parms ;
1301   struct list_head dma_pools ;
1302   struct dma_coherent_mem *dma_mem ;
1303   struct dev_archdata archdata ;
1304   struct device_node *of_node ;
1305   dev_t devt ;
1306   u32 id ;
1307   spinlock_t devres_lock ;
1308   struct list_head devres_head ;
1309   struct klist_node knode_class ;
1310   struct class *class ;
1311   struct attribute_group  const  **groups ;
1312   void (*release)(struct device * ) ;
1313};
1314#line 681 "include/linux/device.h"
1315struct wakeup_source {
1316   char const   *name ;
1317   struct list_head entry ;
1318   spinlock_t lock ;
1319   struct timer_list timer ;
1320   unsigned long timer_expires ;
1321   ktime_t total_time ;
1322   ktime_t max_time ;
1323   ktime_t last_time ;
1324   unsigned long event_count ;
1325   unsigned long active_count ;
1326   unsigned long relax_count ;
1327   unsigned long hit_count ;
1328   unsigned char active : 1 ;
1329};
1330#line 142 "include/mtd/mtd-abi.h"
1331struct otp_info {
1332   __u32 start ;
1333   __u32 length ;
1334   __u32 locked ;
1335};
1336#line 216 "include/mtd/mtd-abi.h"
1337struct nand_oobfree {
1338   __u32 offset ;
1339   __u32 length ;
1340};
1341#line 238 "include/mtd/mtd-abi.h"
1342struct mtd_ecc_stats {
1343   __u32 corrected ;
1344   __u32 failed ;
1345   __u32 badblocks ;
1346   __u32 bbtblocks ;
1347};
1348#line 260
1349struct mtd_info;
1350#line 260 "include/mtd/mtd-abi.h"
1351struct erase_info {
1352   struct mtd_info *mtd ;
1353   uint64_t addr ;
1354   uint64_t len ;
1355   uint64_t fail_addr ;
1356   u_long time ;
1357   u_long retries ;
1358   unsigned int dev ;
1359   unsigned int cell ;
1360   void (*callback)(struct erase_info * ) ;
1361   u_long priv ;
1362   u_char state ;
1363   struct erase_info *next ;
1364};
1365#line 62 "include/linux/mtd/mtd.h"
1366struct mtd_erase_region_info {
1367   uint64_t offset ;
1368   uint32_t erasesize ;
1369   uint32_t numblocks ;
1370   unsigned long *lockmap ;
1371};
1372#line 69 "include/linux/mtd/mtd.h"
1373struct mtd_oob_ops {
1374   unsigned int mode ;
1375   size_t len ;
1376   size_t retlen ;
1377   size_t ooblen ;
1378   size_t oobretlen ;
1379   uint32_t ooboffs ;
1380   uint8_t *datbuf ;
1381   uint8_t *oobbuf ;
1382};
1383#line 99 "include/linux/mtd/mtd.h"
1384struct nand_ecclayout {
1385   __u32 eccbytes ;
1386   __u32 eccpos[448U] ;
1387   __u32 oobavail ;
1388   struct nand_oobfree oobfree[32U] ;
1389};
1390#line 114
1391struct backing_dev_info;
1392#line 114 "include/linux/mtd/mtd.h"
1393struct mtd_info {
1394   u_char type ;
1395   uint32_t flags ;
1396   uint64_t size ;
1397   uint32_t erasesize ;
1398   uint32_t writesize ;
1399   uint32_t writebufsize ;
1400   uint32_t oobsize ;
1401   uint32_t oobavail ;
1402   unsigned int erasesize_shift ;
1403   unsigned int writesize_shift ;
1404   unsigned int erasesize_mask ;
1405   unsigned int writesize_mask ;
1406   char const   *name ;
1407   int index ;
1408   struct nand_ecclayout *ecclayout ;
1409   unsigned int ecc_strength ;
1410   int numeraseregions ;
1411   struct mtd_erase_region_info *eraseregions ;
1412   int (*_erase)(struct mtd_info * , struct erase_info * ) ;
1413   int (*_point)(struct mtd_info * , loff_t  , size_t  , size_t * , void ** , resource_size_t * ) ;
1414   int (*_unpoint)(struct mtd_info * , loff_t  , size_t  ) ;
1415   unsigned long (*_get_unmapped_area)(struct mtd_info * , unsigned long  , unsigned long  ,
1416                                       unsigned long  ) ;
1417   int (*_read)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
1418   int (*_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
1419   int (*_panic_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
1420   int (*_read_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
1421   int (*_write_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
1422   int (*_get_fact_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
1423   int (*_read_fact_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
1424   int (*_get_user_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
1425   int (*_read_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
1426   int (*_write_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * ,
1427                               u_char * ) ;
1428   int (*_lock_user_prot_reg)(struct mtd_info * , loff_t  , size_t  ) ;
1429   int (*_writev)(struct mtd_info * , struct kvec  const  * , unsigned long  , loff_t  ,
1430                  size_t * ) ;
1431   void (*_sync)(struct mtd_info * ) ;
1432   int (*_lock)(struct mtd_info * , loff_t  , uint64_t  ) ;
1433   int (*_unlock)(struct mtd_info * , loff_t  , uint64_t  ) ;
1434   int (*_is_locked)(struct mtd_info * , loff_t  , uint64_t  ) ;
1435   int (*_block_isbad)(struct mtd_info * , loff_t  ) ;
1436   int (*_block_markbad)(struct mtd_info * , loff_t  ) ;
1437   int (*_suspend)(struct mtd_info * ) ;
1438   void (*_resume)(struct mtd_info * ) ;
1439   int (*_get_device)(struct mtd_info * ) ;
1440   void (*_put_device)(struct mtd_info * ) ;
1441   struct backing_dev_info *backing_dev_info ;
1442   struct notifier_block reboot_notifier ;
1443   struct mtd_ecc_stats ecc_stats ;
1444   int subpage_sft ;
1445   void *priv ;
1446   struct module *owner ;
1447   struct device dev ;
1448   int usecount ;
1449};
1450#line 93 "include/linux/capability.h"
1451struct kernel_cap_struct {
1452   __u32 cap[2U] ;
1453};
1454#line 96 "include/linux/capability.h"
1455typedef struct kernel_cap_struct kernel_cap_t;
1456#line 105
1457struct user_namespace;
1458#line 105
1459struct user_namespace;
1460#line 554
1461struct prio_tree_node;
1462#line 554 "include/linux/capability.h"
1463struct raw_prio_tree_node {
1464   struct prio_tree_node *left ;
1465   struct prio_tree_node *right ;
1466   struct prio_tree_node *parent ;
1467};
1468#line 19 "include/linux/prio_tree.h"
1469struct prio_tree_node {
1470   struct prio_tree_node *left ;
1471   struct prio_tree_node *right ;
1472   struct prio_tree_node *parent ;
1473   unsigned long start ;
1474   unsigned long last ;
1475};
1476#line 116
1477struct address_space;
1478#line 116
1479struct address_space;
1480#line 117 "include/linux/prio_tree.h"
1481union __anonunion_ldv_15576_137 {
1482   unsigned long index ;
1483   void *freelist ;
1484};
1485#line 117 "include/linux/prio_tree.h"
1486struct __anonstruct_ldv_15586_141 {
1487   unsigned short inuse ;
1488   unsigned short objects : 15 ;
1489   unsigned char frozen : 1 ;
1490};
1491#line 117 "include/linux/prio_tree.h"
1492union __anonunion_ldv_15587_140 {
1493   atomic_t _mapcount ;
1494   struct __anonstruct_ldv_15586_141 ldv_15586 ;
1495};
1496#line 117 "include/linux/prio_tree.h"
1497struct __anonstruct_ldv_15589_139 {
1498   union __anonunion_ldv_15587_140 ldv_15587 ;
1499   atomic_t _count ;
1500};
1501#line 117 "include/linux/prio_tree.h"
1502union __anonunion_ldv_15590_138 {
1503   unsigned long counters ;
1504   struct __anonstruct_ldv_15589_139 ldv_15589 ;
1505};
1506#line 117 "include/linux/prio_tree.h"
1507struct __anonstruct_ldv_15591_136 {
1508   union __anonunion_ldv_15576_137 ldv_15576 ;
1509   union __anonunion_ldv_15590_138 ldv_15590 ;
1510};
1511#line 117 "include/linux/prio_tree.h"
1512struct __anonstruct_ldv_15598_143 {
1513   struct page *next ;
1514   int pages ;
1515   int pobjects ;
1516};
1517#line 117 "include/linux/prio_tree.h"
1518union __anonunion_ldv_15599_142 {
1519   struct list_head lru ;
1520   struct __anonstruct_ldv_15598_143 ldv_15598 ;
1521};
1522#line 117 "include/linux/prio_tree.h"
1523union __anonunion_ldv_15604_144 {
1524   unsigned long private ;
1525   struct kmem_cache *slab ;
1526   struct page *first_page ;
1527};
1528#line 117 "include/linux/prio_tree.h"
1529struct page {
1530   unsigned long flags ;
1531   struct address_space *mapping ;
1532   struct __anonstruct_ldv_15591_136 ldv_15591 ;
1533   union __anonunion_ldv_15599_142 ldv_15599 ;
1534   union __anonunion_ldv_15604_144 ldv_15604 ;
1535   unsigned long debug_flags ;
1536};
1537#line 192 "include/linux/mm_types.h"
1538struct __anonstruct_vm_set_146 {
1539   struct list_head list ;
1540   void *parent ;
1541   struct vm_area_struct *head ;
1542};
1543#line 192 "include/linux/mm_types.h"
1544union __anonunion_shared_145 {
1545   struct __anonstruct_vm_set_146 vm_set ;
1546   struct raw_prio_tree_node prio_tree_node ;
1547};
1548#line 192
1549struct anon_vma;
1550#line 192
1551struct vm_operations_struct;
1552#line 192
1553struct mempolicy;
1554#line 192 "include/linux/mm_types.h"
1555struct vm_area_struct {
1556   struct mm_struct *vm_mm ;
1557   unsigned long vm_start ;
1558   unsigned long vm_end ;
1559   struct vm_area_struct *vm_next ;
1560   struct vm_area_struct *vm_prev ;
1561   pgprot_t vm_page_prot ;
1562   unsigned long vm_flags ;
1563   struct rb_node vm_rb ;
1564   union __anonunion_shared_145 shared ;
1565   struct list_head anon_vma_chain ;
1566   struct anon_vma *anon_vma ;
1567   struct vm_operations_struct  const  *vm_ops ;
1568   unsigned long vm_pgoff ;
1569   struct file *vm_file ;
1570   void *vm_private_data ;
1571   struct mempolicy *vm_policy ;
1572};
1573#line 255 "include/linux/mm_types.h"
1574struct core_thread {
1575   struct task_struct *task ;
1576   struct core_thread *next ;
1577};
1578#line 261 "include/linux/mm_types.h"
1579struct core_state {
1580   atomic_t nr_threads ;
1581   struct core_thread dumper ;
1582   struct completion startup ;
1583};
1584#line 274 "include/linux/mm_types.h"
1585struct mm_rss_stat {
1586   atomic_long_t count[3U] ;
1587};
1588#line 287
1589struct linux_binfmt;
1590#line 287
1591struct mmu_notifier_mm;
1592#line 287 "include/linux/mm_types.h"
1593struct mm_struct {
1594   struct vm_area_struct *mmap ;
1595   struct rb_root mm_rb ;
1596   struct vm_area_struct *mmap_cache ;
1597   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1598                                      unsigned long  , unsigned long  ) ;
1599   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1600   unsigned long mmap_base ;
1601   unsigned long task_size ;
1602   unsigned long cached_hole_size ;
1603   unsigned long free_area_cache ;
1604   pgd_t *pgd ;
1605   atomic_t mm_users ;
1606   atomic_t mm_count ;
1607   int map_count ;
1608   spinlock_t page_table_lock ;
1609   struct rw_semaphore mmap_sem ;
1610   struct list_head mmlist ;
1611   unsigned long hiwater_rss ;
1612   unsigned long hiwater_vm ;
1613   unsigned long total_vm ;
1614   unsigned long locked_vm ;
1615   unsigned long pinned_vm ;
1616   unsigned long shared_vm ;
1617   unsigned long exec_vm ;
1618   unsigned long stack_vm ;
1619   unsigned long reserved_vm ;
1620   unsigned long def_flags ;
1621   unsigned long nr_ptes ;
1622   unsigned long start_code ;
1623   unsigned long end_code ;
1624   unsigned long start_data ;
1625   unsigned long end_data ;
1626   unsigned long start_brk ;
1627   unsigned long brk ;
1628   unsigned long start_stack ;
1629   unsigned long arg_start ;
1630   unsigned long arg_end ;
1631   unsigned long env_start ;
1632   unsigned long env_end ;
1633   unsigned long saved_auxv[44U] ;
1634   struct mm_rss_stat rss_stat ;
1635   struct linux_binfmt *binfmt ;
1636   cpumask_var_t cpu_vm_mask_var ;
1637   mm_context_t context ;
1638   unsigned int faultstamp ;
1639   unsigned int token_priority ;
1640   unsigned int last_interval ;
1641   unsigned long flags ;
1642   struct core_state *core_state ;
1643   spinlock_t ioctx_lock ;
1644   struct hlist_head ioctx_list ;
1645   struct task_struct *owner ;
1646   struct file *exe_file ;
1647   unsigned long num_exe_file_vmas ;
1648   struct mmu_notifier_mm *mmu_notifier_mm ;
1649   pgtable_t pmd_huge_pte ;
1650   struct cpumask cpumask_allocation ;
1651};
1652#line 7 "include/asm-generic/cputime.h"
1653typedef unsigned long cputime_t;
1654#line 98 "include/linux/sem.h"
1655struct sem_undo_list;
1656#line 98 "include/linux/sem.h"
1657struct sysv_sem {
1658   struct sem_undo_list *undo_list ;
1659};
1660#line 107
1661struct siginfo;
1662#line 107
1663struct siginfo;
1664#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1665struct __anonstruct_sigset_t_147 {
1666   unsigned long sig[1U] ;
1667};
1668#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1669typedef struct __anonstruct_sigset_t_147 sigset_t;
1670#line 17 "include/asm-generic/signal-defs.h"
1671typedef void __signalfn_t(int  );
1672#line 18 "include/asm-generic/signal-defs.h"
1673typedef __signalfn_t *__sighandler_t;
1674#line 20 "include/asm-generic/signal-defs.h"
1675typedef void __restorefn_t(void);
1676#line 21 "include/asm-generic/signal-defs.h"
1677typedef __restorefn_t *__sigrestore_t;
1678#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1679struct sigaction {
1680   __sighandler_t sa_handler ;
1681   unsigned long sa_flags ;
1682   __sigrestore_t sa_restorer ;
1683   sigset_t sa_mask ;
1684};
1685#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1686struct k_sigaction {
1687   struct sigaction sa ;
1688};
1689#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1690union sigval {
1691   int sival_int ;
1692   void *sival_ptr ;
1693};
1694#line 10 "include/asm-generic/siginfo.h"
1695typedef union sigval sigval_t;
1696#line 11 "include/asm-generic/siginfo.h"
1697struct __anonstruct__kill_149 {
1698   __kernel_pid_t _pid ;
1699   __kernel_uid32_t _uid ;
1700};
1701#line 11 "include/asm-generic/siginfo.h"
1702struct __anonstruct__timer_150 {
1703   __kernel_timer_t _tid ;
1704   int _overrun ;
1705   char _pad[0U] ;
1706   sigval_t _sigval ;
1707   int _sys_private ;
1708};
1709#line 11 "include/asm-generic/siginfo.h"
1710struct __anonstruct__rt_151 {
1711   __kernel_pid_t _pid ;
1712   __kernel_uid32_t _uid ;
1713   sigval_t _sigval ;
1714};
1715#line 11 "include/asm-generic/siginfo.h"
1716struct __anonstruct__sigchld_152 {
1717   __kernel_pid_t _pid ;
1718   __kernel_uid32_t _uid ;
1719   int _status ;
1720   __kernel_clock_t _utime ;
1721   __kernel_clock_t _stime ;
1722};
1723#line 11 "include/asm-generic/siginfo.h"
1724struct __anonstruct__sigfault_153 {
1725   void *_addr ;
1726   short _addr_lsb ;
1727};
1728#line 11 "include/asm-generic/siginfo.h"
1729struct __anonstruct__sigpoll_154 {
1730   long _band ;
1731   int _fd ;
1732};
1733#line 11 "include/asm-generic/siginfo.h"
1734union __anonunion__sifields_148 {
1735   int _pad[28U] ;
1736   struct __anonstruct__kill_149 _kill ;
1737   struct __anonstruct__timer_150 _timer ;
1738   struct __anonstruct__rt_151 _rt ;
1739   struct __anonstruct__sigchld_152 _sigchld ;
1740   struct __anonstruct__sigfault_153 _sigfault ;
1741   struct __anonstruct__sigpoll_154 _sigpoll ;
1742};
1743#line 11 "include/asm-generic/siginfo.h"
1744struct siginfo {
1745   int si_signo ;
1746   int si_errno ;
1747   int si_code ;
1748   union __anonunion__sifields_148 _sifields ;
1749};
1750#line 102 "include/asm-generic/siginfo.h"
1751typedef struct siginfo siginfo_t;
1752#line 14 "include/linux/signal.h"
1753struct user_struct;
1754#line 24 "include/linux/signal.h"
1755struct sigpending {
1756   struct list_head list ;
1757   sigset_t signal ;
1758};
1759#line 395
1760struct pid_namespace;
1761#line 395 "include/linux/signal.h"
1762struct upid {
1763   int nr ;
1764   struct pid_namespace *ns ;
1765   struct hlist_node pid_chain ;
1766};
1767#line 56 "include/linux/pid.h"
1768struct pid {
1769   atomic_t count ;
1770   unsigned int level ;
1771   struct hlist_head tasks[3U] ;
1772   struct rcu_head rcu ;
1773   struct upid numbers[1U] ;
1774};
1775#line 68 "include/linux/pid.h"
1776struct pid_link {
1777   struct hlist_node node ;
1778   struct pid *pid ;
1779};
1780#line 10 "include/linux/seccomp.h"
1781struct __anonstruct_seccomp_t_157 {
1782   int mode ;
1783};
1784#line 10 "include/linux/seccomp.h"
1785typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1786#line 427 "include/linux/rculist.h"
1787struct plist_head {
1788   struct list_head node_list ;
1789};
1790#line 84 "include/linux/plist.h"
1791struct plist_node {
1792   int prio ;
1793   struct list_head prio_list ;
1794   struct list_head node_list ;
1795};
1796#line 38 "include/linux/rtmutex.h"
1797struct rt_mutex_waiter;
1798#line 38
1799struct rt_mutex_waiter;
1800#line 41 "include/linux/resource.h"
1801struct rlimit {
1802   unsigned long rlim_cur ;
1803   unsigned long rlim_max ;
1804};
1805#line 85 "include/linux/resource.h"
1806struct timerqueue_node {
1807   struct rb_node node ;
1808   ktime_t expires ;
1809};
1810#line 12 "include/linux/timerqueue.h"
1811struct timerqueue_head {
1812   struct rb_root head ;
1813   struct timerqueue_node *next ;
1814};
1815#line 50
1816struct hrtimer_clock_base;
1817#line 50
1818struct hrtimer_clock_base;
1819#line 51
1820struct hrtimer_cpu_base;
1821#line 51
1822struct hrtimer_cpu_base;
1823#line 60
1824enum hrtimer_restart {
1825    HRTIMER_NORESTART = 0,
1826    HRTIMER_RESTART = 1
1827} ;
1828#line 65 "include/linux/timerqueue.h"
1829struct hrtimer {
1830   struct timerqueue_node node ;
1831   ktime_t _softexpires ;
1832   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1833   struct hrtimer_clock_base *base ;
1834   unsigned long state ;
1835   int start_pid ;
1836   void *start_site ;
1837   char start_comm[16U] ;
1838};
1839#line 132 "include/linux/hrtimer.h"
1840struct hrtimer_clock_base {
1841   struct hrtimer_cpu_base *cpu_base ;
1842   int index ;
1843   clockid_t clockid ;
1844   struct timerqueue_head active ;
1845   ktime_t resolution ;
1846   ktime_t (*get_time)(void) ;
1847   ktime_t softirq_time ;
1848   ktime_t offset ;
1849};
1850#line 162 "include/linux/hrtimer.h"
1851struct hrtimer_cpu_base {
1852   raw_spinlock_t lock ;
1853   unsigned long active_bases ;
1854   ktime_t expires_next ;
1855   int hres_active ;
1856   int hang_detected ;
1857   unsigned long nr_events ;
1858   unsigned long nr_retries ;
1859   unsigned long nr_hangs ;
1860   ktime_t max_hang_time ;
1861   struct hrtimer_clock_base clock_base[3U] ;
1862};
1863#line 452 "include/linux/hrtimer.h"
1864struct task_io_accounting {
1865   u64 rchar ;
1866   u64 wchar ;
1867   u64 syscr ;
1868   u64 syscw ;
1869   u64 read_bytes ;
1870   u64 write_bytes ;
1871   u64 cancelled_write_bytes ;
1872};
1873#line 45 "include/linux/task_io_accounting.h"
1874struct latency_record {
1875   unsigned long backtrace[12U] ;
1876   unsigned int count ;
1877   unsigned long time ;
1878   unsigned long max ;
1879};
1880#line 29 "include/linux/key.h"
1881typedef int32_t key_serial_t;
1882#line 32 "include/linux/key.h"
1883typedef uint32_t key_perm_t;
1884#line 33
1885struct key;
1886#line 33
1887struct key;
1888#line 34
1889struct signal_struct;
1890#line 34
1891struct signal_struct;
1892#line 35
1893struct key_type;
1894#line 35
1895struct key_type;
1896#line 37
1897struct keyring_list;
1898#line 37
1899struct keyring_list;
1900#line 115
1901struct key_user;
1902#line 115 "include/linux/key.h"
1903union __anonunion_ldv_16840_158 {
1904   time_t expiry ;
1905   time_t revoked_at ;
1906};
1907#line 115 "include/linux/key.h"
1908union __anonunion_type_data_159 {
1909   struct list_head link ;
1910   unsigned long x[2U] ;
1911   void *p[2U] ;
1912   int reject_error ;
1913};
1914#line 115 "include/linux/key.h"
1915union __anonunion_payload_160 {
1916   unsigned long value ;
1917   void *rcudata ;
1918   void *data ;
1919   struct keyring_list *subscriptions ;
1920};
1921#line 115 "include/linux/key.h"
1922struct key {
1923   atomic_t usage ;
1924   key_serial_t serial ;
1925   struct rb_node serial_node ;
1926   struct key_type *type ;
1927   struct rw_semaphore sem ;
1928   struct key_user *user ;
1929   void *security ;
1930   union __anonunion_ldv_16840_158 ldv_16840 ;
1931   uid_t uid ;
1932   gid_t gid ;
1933   key_perm_t perm ;
1934   unsigned short quotalen ;
1935   unsigned short datalen ;
1936   unsigned long flags ;
1937   char *description ;
1938   union __anonunion_type_data_159 type_data ;
1939   union __anonunion_payload_160 payload ;
1940};
1941#line 316
1942struct audit_context;
1943#line 316
1944struct audit_context;
1945#line 28 "include/linux/selinux.h"
1946struct group_info {
1947   atomic_t usage ;
1948   int ngroups ;
1949   int nblocks ;
1950   gid_t small_block[32U] ;
1951   gid_t *blocks[0U] ;
1952};
1953#line 77 "include/linux/cred.h"
1954struct thread_group_cred {
1955   atomic_t usage ;
1956   pid_t tgid ;
1957   spinlock_t lock ;
1958   struct key *session_keyring ;
1959   struct key *process_keyring ;
1960   struct rcu_head rcu ;
1961};
1962#line 91 "include/linux/cred.h"
1963struct cred {
1964   atomic_t usage ;
1965   atomic_t subscribers ;
1966   void *put_addr ;
1967   unsigned int magic ;
1968   uid_t uid ;
1969   gid_t gid ;
1970   uid_t suid ;
1971   gid_t sgid ;
1972   uid_t euid ;
1973   gid_t egid ;
1974   uid_t fsuid ;
1975   gid_t fsgid ;
1976   unsigned int securebits ;
1977   kernel_cap_t cap_inheritable ;
1978   kernel_cap_t cap_permitted ;
1979   kernel_cap_t cap_effective ;
1980   kernel_cap_t cap_bset ;
1981   unsigned char jit_keyring ;
1982   struct key *thread_keyring ;
1983   struct key *request_key_auth ;
1984   struct thread_group_cred *tgcred ;
1985   void *security ;
1986   struct user_struct *user ;
1987   struct user_namespace *user_ns ;
1988   struct group_info *group_info ;
1989   struct rcu_head rcu ;
1990};
1991#line 264
1992struct llist_node;
1993#line 64 "include/linux/llist.h"
1994struct llist_node {
1995   struct llist_node *next ;
1996};
1997#line 185
1998struct futex_pi_state;
1999#line 185
2000struct futex_pi_state;
2001#line 186
2002struct robust_list_head;
2003#line 186
2004struct robust_list_head;
2005#line 187
2006struct bio_list;
2007#line 187
2008struct bio_list;
2009#line 188
2010struct fs_struct;
2011#line 188
2012struct fs_struct;
2013#line 189
2014struct perf_event_context;
2015#line 189
2016struct perf_event_context;
2017#line 190
2018struct blk_plug;
2019#line 190
2020struct blk_plug;
2021#line 149 "include/linux/sched.h"
2022struct cfs_rq;
2023#line 149
2024struct cfs_rq;
2025#line 406 "include/linux/sched.h"
2026struct sighand_struct {
2027   atomic_t count ;
2028   struct k_sigaction action[64U] ;
2029   spinlock_t siglock ;
2030   wait_queue_head_t signalfd_wqh ;
2031};
2032#line 449 "include/linux/sched.h"
2033struct pacct_struct {
2034   int ac_flag ;
2035   long ac_exitcode ;
2036   unsigned long ac_mem ;
2037   cputime_t ac_utime ;
2038   cputime_t ac_stime ;
2039   unsigned long ac_minflt ;
2040   unsigned long ac_majflt ;
2041};
2042#line 457 "include/linux/sched.h"
2043struct cpu_itimer {
2044   cputime_t expires ;
2045   cputime_t incr ;
2046   u32 error ;
2047   u32 incr_error ;
2048};
2049#line 464 "include/linux/sched.h"
2050struct task_cputime {
2051   cputime_t utime ;
2052   cputime_t stime ;
2053   unsigned long long sum_exec_runtime ;
2054};
2055#line 481 "include/linux/sched.h"
2056struct thread_group_cputimer {
2057   struct task_cputime cputime ;
2058   int running ;
2059   raw_spinlock_t lock ;
2060};
2061#line 517
2062struct autogroup;
2063#line 517
2064struct autogroup;
2065#line 518
2066struct tty_struct;
2067#line 518
2068struct taskstats;
2069#line 518
2070struct tty_audit_buf;
2071#line 518 "include/linux/sched.h"
2072struct signal_struct {
2073   atomic_t sigcnt ;
2074   atomic_t live ;
2075   int nr_threads ;
2076   wait_queue_head_t wait_chldexit ;
2077   struct task_struct *curr_target ;
2078   struct sigpending shared_pending ;
2079   int group_exit_code ;
2080   int notify_count ;
2081   struct task_struct *group_exit_task ;
2082   int group_stop_count ;
2083   unsigned int flags ;
2084   unsigned char is_child_subreaper : 1 ;
2085   unsigned char has_child_subreaper : 1 ;
2086   struct list_head posix_timers ;
2087   struct hrtimer real_timer ;
2088   struct pid *leader_pid ;
2089   ktime_t it_real_incr ;
2090   struct cpu_itimer it[2U] ;
2091   struct thread_group_cputimer cputimer ;
2092   struct task_cputime cputime_expires ;
2093   struct list_head cpu_timers[3U] ;
2094   struct pid *tty_old_pgrp ;
2095   int leader ;
2096   struct tty_struct *tty ;
2097   struct autogroup *autogroup ;
2098   cputime_t utime ;
2099   cputime_t stime ;
2100   cputime_t cutime ;
2101   cputime_t cstime ;
2102   cputime_t gtime ;
2103   cputime_t cgtime ;
2104   cputime_t prev_utime ;
2105   cputime_t prev_stime ;
2106   unsigned long nvcsw ;
2107   unsigned long nivcsw ;
2108   unsigned long cnvcsw ;
2109   unsigned long cnivcsw ;
2110   unsigned long min_flt ;
2111   unsigned long maj_flt ;
2112   unsigned long cmin_flt ;
2113   unsigned long cmaj_flt ;
2114   unsigned long inblock ;
2115   unsigned long oublock ;
2116   unsigned long cinblock ;
2117   unsigned long coublock ;
2118   unsigned long maxrss ;
2119   unsigned long cmaxrss ;
2120   struct task_io_accounting ioac ;
2121   unsigned long long sum_sched_runtime ;
2122   struct rlimit rlim[16U] ;
2123   struct pacct_struct pacct ;
2124   struct taskstats *stats ;
2125   unsigned int audit_tty ;
2126   struct tty_audit_buf *tty_audit_buf ;
2127   struct rw_semaphore group_rwsem ;
2128   int oom_adj ;
2129   int oom_score_adj ;
2130   int oom_score_adj_min ;
2131   struct mutex cred_guard_mutex ;
2132};
2133#line 699 "include/linux/sched.h"
2134struct user_struct {
2135   atomic_t __count ;
2136   atomic_t processes ;
2137   atomic_t files ;
2138   atomic_t sigpending ;
2139   atomic_t inotify_watches ;
2140   atomic_t inotify_devs ;
2141   atomic_t fanotify_listeners ;
2142   atomic_long_t epoll_watches ;
2143   unsigned long mq_bytes ;
2144   unsigned long locked_shm ;
2145   struct key *uid_keyring ;
2146   struct key *session_keyring ;
2147   struct hlist_node uidhash_node ;
2148   uid_t uid ;
2149   struct user_namespace *user_ns ;
2150   atomic_long_t locked_vm ;
2151};
2152#line 744
2153struct reclaim_state;
2154#line 744
2155struct reclaim_state;
2156#line 745 "include/linux/sched.h"
2157struct sched_info {
2158   unsigned long pcount ;
2159   unsigned long long run_delay ;
2160   unsigned long long last_arrival ;
2161   unsigned long long last_queued ;
2162};
2163#line 760 "include/linux/sched.h"
2164struct task_delay_info {
2165   spinlock_t lock ;
2166   unsigned int flags ;
2167   struct timespec blkio_start ;
2168   struct timespec blkio_end ;
2169   u64 blkio_delay ;
2170   u64 swapin_delay ;
2171   u32 blkio_count ;
2172   u32 swapin_count ;
2173   struct timespec freepages_start ;
2174   struct timespec freepages_end ;
2175   u64 freepages_delay ;
2176   u32 freepages_count ;
2177};
2178#line 1069
2179struct io_context;
2180#line 1069
2181struct io_context;
2182#line 1097
2183struct pipe_inode_info;
2184#line 1097
2185struct pipe_inode_info;
2186#line 1099
2187struct rq;
2188#line 1099
2189struct rq;
2190#line 1100 "include/linux/sched.h"
2191struct sched_class {
2192   struct sched_class  const  *next ;
2193   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2194   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2195   void (*yield_task)(struct rq * ) ;
2196   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2197   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2198   struct task_struct *(*pick_next_task)(struct rq * ) ;
2199   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2200   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2201   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2202   void (*post_schedule)(struct rq * ) ;
2203   void (*task_waking)(struct task_struct * ) ;
2204   void (*task_woken)(struct rq * , struct task_struct * ) ;
2205   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2206   void (*rq_online)(struct rq * ) ;
2207   void (*rq_offline)(struct rq * ) ;
2208   void (*set_curr_task)(struct rq * ) ;
2209   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2210   void (*task_fork)(struct task_struct * ) ;
2211   void (*switched_from)(struct rq * , struct task_struct * ) ;
2212   void (*switched_to)(struct rq * , struct task_struct * ) ;
2213   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2214   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2215   void (*task_move_group)(struct task_struct * , int  ) ;
2216};
2217#line 1165 "include/linux/sched.h"
2218struct load_weight {
2219   unsigned long weight ;
2220   unsigned long inv_weight ;
2221};
2222#line 1170 "include/linux/sched.h"
2223struct sched_statistics {
2224   u64 wait_start ;
2225   u64 wait_max ;
2226   u64 wait_count ;
2227   u64 wait_sum ;
2228   u64 iowait_count ;
2229   u64 iowait_sum ;
2230   u64 sleep_start ;
2231   u64 sleep_max ;
2232   s64 sum_sleep_runtime ;
2233   u64 block_start ;
2234   u64 block_max ;
2235   u64 exec_max ;
2236   u64 slice_max ;
2237   u64 nr_migrations_cold ;
2238   u64 nr_failed_migrations_affine ;
2239   u64 nr_failed_migrations_running ;
2240   u64 nr_failed_migrations_hot ;
2241   u64 nr_forced_migrations ;
2242   u64 nr_wakeups ;
2243   u64 nr_wakeups_sync ;
2244   u64 nr_wakeups_migrate ;
2245   u64 nr_wakeups_local ;
2246   u64 nr_wakeups_remote ;
2247   u64 nr_wakeups_affine ;
2248   u64 nr_wakeups_affine_attempts ;
2249   u64 nr_wakeups_passive ;
2250   u64 nr_wakeups_idle ;
2251};
2252#line 1205 "include/linux/sched.h"
2253struct sched_entity {
2254   struct load_weight load ;
2255   struct rb_node run_node ;
2256   struct list_head group_node ;
2257   unsigned int on_rq ;
2258   u64 exec_start ;
2259   u64 sum_exec_runtime ;
2260   u64 vruntime ;
2261   u64 prev_sum_exec_runtime ;
2262   u64 nr_migrations ;
2263   struct sched_statistics statistics ;
2264   struct sched_entity *parent ;
2265   struct cfs_rq *cfs_rq ;
2266   struct cfs_rq *my_q ;
2267};
2268#line 1231
2269struct rt_rq;
2270#line 1231 "include/linux/sched.h"
2271struct sched_rt_entity {
2272   struct list_head run_list ;
2273   unsigned long timeout ;
2274   unsigned int time_slice ;
2275   int nr_cpus_allowed ;
2276   struct sched_rt_entity *back ;
2277   struct sched_rt_entity *parent ;
2278   struct rt_rq *rt_rq ;
2279   struct rt_rq *my_q ;
2280};
2281#line 1255
2282struct mem_cgroup;
2283#line 1255 "include/linux/sched.h"
2284struct memcg_batch_info {
2285   int do_batch ;
2286   struct mem_cgroup *memcg ;
2287   unsigned long nr_pages ;
2288   unsigned long memsw_nr_pages ;
2289};
2290#line 1616
2291struct files_struct;
2292#line 1616
2293struct css_set;
2294#line 1616
2295struct compat_robust_list_head;
2296#line 1616 "include/linux/sched.h"
2297struct task_struct {
2298   long volatile   state ;
2299   void *stack ;
2300   atomic_t usage ;
2301   unsigned int flags ;
2302   unsigned int ptrace ;
2303   struct llist_node wake_entry ;
2304   int on_cpu ;
2305   int on_rq ;
2306   int prio ;
2307   int static_prio ;
2308   int normal_prio ;
2309   unsigned int rt_priority ;
2310   struct sched_class  const  *sched_class ;
2311   struct sched_entity se ;
2312   struct sched_rt_entity rt ;
2313   struct hlist_head preempt_notifiers ;
2314   unsigned char fpu_counter ;
2315   unsigned int policy ;
2316   cpumask_t cpus_allowed ;
2317   struct sched_info sched_info ;
2318   struct list_head tasks ;
2319   struct plist_node pushable_tasks ;
2320   struct mm_struct *mm ;
2321   struct mm_struct *active_mm ;
2322   unsigned char brk_randomized : 1 ;
2323   int exit_state ;
2324   int exit_code ;
2325   int exit_signal ;
2326   int pdeath_signal ;
2327   unsigned int jobctl ;
2328   unsigned int personality ;
2329   unsigned char did_exec : 1 ;
2330   unsigned char in_execve : 1 ;
2331   unsigned char in_iowait : 1 ;
2332   unsigned char sched_reset_on_fork : 1 ;
2333   unsigned char sched_contributes_to_load : 1 ;
2334   unsigned char irq_thread : 1 ;
2335   pid_t pid ;
2336   pid_t tgid ;
2337   unsigned long stack_canary ;
2338   struct task_struct *real_parent ;
2339   struct task_struct *parent ;
2340   struct list_head children ;
2341   struct list_head sibling ;
2342   struct task_struct *group_leader ;
2343   struct list_head ptraced ;
2344   struct list_head ptrace_entry ;
2345   struct pid_link pids[3U] ;
2346   struct list_head thread_group ;
2347   struct completion *vfork_done ;
2348   int *set_child_tid ;
2349   int *clear_child_tid ;
2350   cputime_t utime ;
2351   cputime_t stime ;
2352   cputime_t utimescaled ;
2353   cputime_t stimescaled ;
2354   cputime_t gtime ;
2355   cputime_t prev_utime ;
2356   cputime_t prev_stime ;
2357   unsigned long nvcsw ;
2358   unsigned long nivcsw ;
2359   struct timespec start_time ;
2360   struct timespec real_start_time ;
2361   unsigned long min_flt ;
2362   unsigned long maj_flt ;
2363   struct task_cputime cputime_expires ;
2364   struct list_head cpu_timers[3U] ;
2365   struct cred  const  *real_cred ;
2366   struct cred  const  *cred ;
2367   struct cred *replacement_session_keyring ;
2368   char comm[16U] ;
2369   int link_count ;
2370   int total_link_count ;
2371   struct sysv_sem sysvsem ;
2372   unsigned long last_switch_count ;
2373   struct thread_struct thread ;
2374   struct fs_struct *fs ;
2375   struct files_struct *files ;
2376   struct nsproxy *nsproxy ;
2377   struct signal_struct *signal ;
2378   struct sighand_struct *sighand ;
2379   sigset_t blocked ;
2380   sigset_t real_blocked ;
2381   sigset_t saved_sigmask ;
2382   struct sigpending pending ;
2383   unsigned long sas_ss_sp ;
2384   size_t sas_ss_size ;
2385   int (*notifier)(void * ) ;
2386   void *notifier_data ;
2387   sigset_t *notifier_mask ;
2388   struct audit_context *audit_context ;
2389   uid_t loginuid ;
2390   unsigned int sessionid ;
2391   seccomp_t seccomp ;
2392   u32 parent_exec_id ;
2393   u32 self_exec_id ;
2394   spinlock_t alloc_lock ;
2395   raw_spinlock_t pi_lock ;
2396   struct plist_head pi_waiters ;
2397   struct rt_mutex_waiter *pi_blocked_on ;
2398   struct mutex_waiter *blocked_on ;
2399   unsigned int irq_events ;
2400   unsigned long hardirq_enable_ip ;
2401   unsigned long hardirq_disable_ip ;
2402   unsigned int hardirq_enable_event ;
2403   unsigned int hardirq_disable_event ;
2404   int hardirqs_enabled ;
2405   int hardirq_context ;
2406   unsigned long softirq_disable_ip ;
2407   unsigned long softirq_enable_ip ;
2408   unsigned int softirq_disable_event ;
2409   unsigned int softirq_enable_event ;
2410   int softirqs_enabled ;
2411   int softirq_context ;
2412   u64 curr_chain_key ;
2413   int lockdep_depth ;
2414   unsigned int lockdep_recursion ;
2415   struct held_lock held_locks[48U] ;
2416   gfp_t lockdep_reclaim_gfp ;
2417   void *journal_info ;
2418   struct bio_list *bio_list ;
2419   struct blk_plug *plug ;
2420   struct reclaim_state *reclaim_state ;
2421   struct backing_dev_info *backing_dev_info ;
2422   struct io_context *io_context ;
2423   unsigned long ptrace_message ;
2424   siginfo_t *last_siginfo ;
2425   struct task_io_accounting ioac ;
2426   u64 acct_rss_mem1 ;
2427   u64 acct_vm_mem1 ;
2428   cputime_t acct_timexpd ;
2429   nodemask_t mems_allowed ;
2430   seqcount_t mems_allowed_seq ;
2431   int cpuset_mem_spread_rotor ;
2432   int cpuset_slab_spread_rotor ;
2433   struct css_set *cgroups ;
2434   struct list_head cg_list ;
2435   struct robust_list_head *robust_list ;
2436   struct compat_robust_list_head *compat_robust_list ;
2437   struct list_head pi_state_list ;
2438   struct futex_pi_state *pi_state_cache ;
2439   struct perf_event_context *perf_event_ctxp[2U] ;
2440   struct mutex perf_event_mutex ;
2441   struct list_head perf_event_list ;
2442   struct mempolicy *mempolicy ;
2443   short il_next ;
2444   short pref_node_fork ;
2445   struct rcu_head rcu ;
2446   struct pipe_inode_info *splice_pipe ;
2447   struct task_delay_info *delays ;
2448   int make_it_fail ;
2449   int nr_dirtied ;
2450   int nr_dirtied_pause ;
2451   unsigned long dirty_paused_when ;
2452   int latency_record_count ;
2453   struct latency_record latency_record[32U] ;
2454   unsigned long timer_slack_ns ;
2455   unsigned long default_timer_slack_ns ;
2456   struct list_head *scm_work_list ;
2457   unsigned long trace ;
2458   unsigned long trace_recursion ;
2459   struct memcg_batch_info memcg_batch ;
2460   atomic_t ptrace_bp_refcnt ;
2461};
2462#line 678 "include/linux/mtd/nand.h"
2463struct Nand {
2464   char floor ;
2465   char chip ;
2466   unsigned long curadr ;
2467   unsigned char curmode ;
2468};
2469#line 165 "include/linux/mtd/doc2000.h"
2470struct DiskOnChip {
2471   unsigned long physadr ;
2472   void *virtadr ;
2473   unsigned long totlen ;
2474   unsigned char ChipID ;
2475   int ioreg ;
2476   unsigned long mfr ;
2477   unsigned long id ;
2478   int chipshift ;
2479   char page256 ;
2480   char pageadrlen ;
2481   char interleave ;
2482   unsigned long erasesize ;
2483   int curfloor ;
2484   int curchip ;
2485   int numchips ;
2486   struct Nand *chips ;
2487   struct mtd_info *nextdoc ;
2488   struct mutex lock ;
2489};
2490#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
2491void ldv_spin_lock(void) ;
2492#line 3
2493void ldv_spin_unlock(void) ;
2494#line 4
2495int ldv_spin_trylock(void) ;
2496#line 101 "include/linux/printk.h"
2497extern int printk(char const   *  , ...) ;
2498#line 320 "include/linux/kernel.h"
2499extern int sprintf(char * , char const   *  , ...) ;
2500#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2501__inline static unsigned char readb(void const volatile   *addr ) 
2502{ unsigned char ret ;
2503  unsigned char volatile   *__cil_tmp3 ;
2504
2505  {
2506#line 53
2507  __cil_tmp3 = (unsigned char volatile   *)addr;
2508#line 53
2509  __asm__  volatile   ("movb %1,%0": "=q" (ret): "m" (*__cil_tmp3): "memory");
2510#line 53
2511  return (ret);
2512}
2513}
2514#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2515__inline static void writeb(unsigned char val , void volatile   *addr ) 
2516{ unsigned char volatile   *__cil_tmp3 ;
2517
2518  {
2519#line 61
2520  __cil_tmp3 = (unsigned char volatile   *)addr;
2521#line 61
2522  __asm__  volatile   ("movb %0,%1": : "q" (val), "m" (*__cil_tmp3): "memory");
2523#line 62
2524  return;
2525}
2526}
2527#line 174
2528extern void *ioremap_nocache(resource_size_t  , unsigned long  ) ;
2529#line 182 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2530__inline static void *ioremap(resource_size_t offset , unsigned long size ) 
2531{ void *tmp ;
2532
2533  {
2534  {
2535#line 184
2536  tmp = ioremap_nocache(offset, size);
2537  }
2538#line 184
2539  return (tmp);
2540}
2541}
2542#line 187
2543extern void iounmap(void volatile   * ) ;
2544#line 36 "include/linux/kmod.h"
2545extern int __request_module(bool  , char const   *  , ...) ;
2546#line 188 "include/linux/module.h"
2547extern void *__symbol_get(char const   * ) ;
2548#line 449
2549extern void symbol_put_addr(void * ) ;
2550#line 161 "include/linux/slab.h"
2551extern void kfree(void const   * ) ;
2552#line 220 "include/linux/slub_def.h"
2553extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2554#line 223
2555void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2556#line 353 "include/linux/slab.h"
2557__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2558#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
2559extern void *__VERIFIER_nondet_pointer(void) ;
2560#line 11
2561void ldv_check_alloc_flags(gfp_t flags ) ;
2562#line 12
2563void ldv_check_alloc_nonatomic(void) ;
2564#line 14
2565struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2566#line 10 "include/asm-generic/delay.h"
2567extern void __const_udelay(unsigned long  ) ;
2568#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
2569static unsigned long doc_config_location  =    0UL;
2570#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
2571static unsigned long doc_locations[21U]  = 
2572#line 73
2573  {      4294737920UL,      4294746112UL,      4294754304UL,      4294762496UL, 
2574        4294770688UL,      4294778880UL,      4294787072UL,      4294795264UL, 
2575        4294803456UL,      4294811648UL,      4294819840UL,      4294828032UL, 
2576        4294836224UL,      4294844416UL,      4294852608UL,      4294860800UL, 
2577        4294868992UL,      4294877184UL,      4294885376UL,      4294893568UL, 
2578        4294967295UL};
2579#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
2580__inline static int doccheck(void *potential , unsigned long physadr ) 
2581{ void *window ;
2582  unsigned char tmp ;
2583  unsigned char tmpb ;
2584  unsigned char tmpc ;
2585  unsigned char ChipID ;
2586  unsigned char tmp2 ;
2587  unsigned char tmp___0 ;
2588  unsigned char tmp___1 ;
2589  unsigned char tmp___2 ;
2590  unsigned char tmp___3 ;
2591  unsigned char tmp___4 ;
2592  unsigned char tmp___5 ;
2593  unsigned char tmp___6 ;
2594  unsigned char tmp___7 ;
2595  unsigned char tmp___8 ;
2596  unsigned long __ms ;
2597  unsigned long tmp___9 ;
2598  unsigned long __ms___0 ;
2599  unsigned long tmp___10 ;
2600  unsigned char tmp___11 ;
2601  unsigned char tmp___12 ;
2602  unsigned char tmp___13 ;
2603  void const volatile   *__cil_tmp25 ;
2604  unsigned int __cil_tmp26 ;
2605  void const volatile   *__cil_tmp27 ;
2606  void const volatile   *__cil_tmp28 ;
2607  unsigned int __cil_tmp29 ;
2608  void const volatile   *__cil_tmp30 ;
2609  void const volatile   *__cil_tmp31 ;
2610  void volatile   *__cil_tmp32 ;
2611  void volatile   *__cil_tmp33 ;
2612  void volatile   *__cil_tmp34 ;
2613  void volatile   *__cil_tmp35 ;
2614  void volatile   *__cil_tmp36 ;
2615  void volatile   *__cil_tmp37 ;
2616  void volatile   *__cil_tmp38 ;
2617  void volatile   *__cil_tmp39 ;
2618  void const volatile   *__cil_tmp40 ;
2619  void const volatile   *__cil_tmp41 ;
2620  void const volatile   *__cil_tmp42 ;
2621  void const volatile   *__cil_tmp43 ;
2622  unsigned int __cil_tmp44 ;
2623  unsigned int __cil_tmp45 ;
2624  void const volatile   *__cil_tmp46 ;
2625  void const volatile   *__cil_tmp47 ;
2626  unsigned int __cil_tmp48 ;
2627  unsigned int __cil_tmp49 ;
2628  void const volatile   *__cil_tmp50 ;
2629  void const volatile   *__cil_tmp51 ;
2630  unsigned int __cil_tmp52 ;
2631  unsigned int __cil_tmp53 ;
2632  int __cil_tmp54 ;
2633  int __cil_tmp55 ;
2634  int __cil_tmp56 ;
2635  int __cil_tmp57 ;
2636  void const volatile   *__cil_tmp58 ;
2637  void const volatile   *__cil_tmp59 ;
2638  void const volatile   *__cil_tmp60 ;
2639  void const volatile   *__cil_tmp61 ;
2640  void const volatile   *__cil_tmp62 ;
2641  void const volatile   *__cil_tmp63 ;
2642  unsigned int __cil_tmp64 ;
2643  void const volatile   *__cil_tmp65 ;
2644  void const volatile   *__cil_tmp66 ;
2645  unsigned int __cil_tmp67 ;
2646  unsigned int __cil_tmp68 ;
2647  void const volatile   *__cil_tmp69 ;
2648  void const volatile   *__cil_tmp70 ;
2649  unsigned int __cil_tmp71 ;
2650  unsigned int __cil_tmp72 ;
2651  void const volatile   *__cil_tmp73 ;
2652  void const volatile   *__cil_tmp74 ;
2653  unsigned int __cil_tmp75 ;
2654  unsigned int __cil_tmp76 ;
2655  int __cil_tmp77 ;
2656  int __cil_tmp78 ;
2657  int __cil_tmp79 ;
2658  int __cil_tmp80 ;
2659  void const volatile   *__cil_tmp81 ;
2660  void const volatile   *__cil_tmp82 ;
2661  int __cil_tmp83 ;
2662  int __cil_tmp84 ;
2663  unsigned int __cil_tmp85 ;
2664  int __cil_tmp86 ;
2665  unsigned char __cil_tmp87 ;
2666  void volatile   *__cil_tmp88 ;
2667  void volatile   *__cil_tmp89 ;
2668  int __cil_tmp90 ;
2669  int __cil_tmp91 ;
2670  unsigned char __cil_tmp92 ;
2671  void volatile   *__cil_tmp93 ;
2672  void volatile   *__cil_tmp94 ;
2673  int __cil_tmp95 ;
2674  unsigned char __cil_tmp96 ;
2675  void volatile   *__cil_tmp97 ;
2676  void volatile   *__cil_tmp98 ;
2677  int __cil_tmp99 ;
2678  int __cil_tmp100 ;
2679  unsigned char __cil_tmp101 ;
2680  void volatile   *__cil_tmp102 ;
2681  void volatile   *__cil_tmp103 ;
2682  void const volatile   *__cil_tmp104 ;
2683  void const volatile   *__cil_tmp105 ;
2684  void const volatile   *__cil_tmp106 ;
2685  void const volatile   *__cil_tmp107 ;
2686  unsigned int __cil_tmp108 ;
2687  unsigned int __cil_tmp109 ;
2688  void const volatile   *__cil_tmp110 ;
2689  void const volatile   *__cil_tmp111 ;
2690  unsigned int __cil_tmp112 ;
2691  unsigned int __cil_tmp113 ;
2692  void const volatile   *__cil_tmp114 ;
2693  void const volatile   *__cil_tmp115 ;
2694  unsigned int __cil_tmp116 ;
2695  unsigned int __cil_tmp117 ;
2696  int __cil_tmp118 ;
2697  int __cil_tmp119 ;
2698  int __cil_tmp120 ;
2699  int __cil_tmp121 ;
2700  int __cil_tmp122 ;
2701  int __cil_tmp123 ;
2702  unsigned char __cil_tmp124 ;
2703  void volatile   *__cil_tmp125 ;
2704  void volatile   *__cil_tmp126 ;
2705  int __cil_tmp127 ;
2706  unsigned char __cil_tmp128 ;
2707  void volatile   *__cil_tmp129 ;
2708  void volatile   *__cil_tmp130 ;
2709
2710  {
2711  {
2712#line 97
2713  window = potential;
2714#line 108
2715  __cil_tmp25 = (void const volatile   *)window;
2716#line 108
2717  tmp___0 = readb(__cil_tmp25);
2718  }
2719  {
2720#line 108
2721  __cil_tmp26 = (unsigned int )tmp___0;
2722#line 108
2723  if (__cil_tmp26 != 85U) {
2724#line 109
2725    return (0);
2726  } else {
2727    {
2728#line 108
2729    __cil_tmp27 = (void const volatile   *)window;
2730#line 108
2731    __cil_tmp28 = __cil_tmp27 + 1U;
2732#line 108
2733    tmp___1 = readb(__cil_tmp28);
2734    }
2735    {
2736#line 108
2737    __cil_tmp29 = (unsigned int )tmp___1;
2738#line 108
2739    if (__cil_tmp29 != 170U) {
2740#line 109
2741      return (0);
2742    } else {
2743
2744    }
2745    }
2746  }
2747  }
2748  {
2749#line 121
2750  __cil_tmp30 = (void const volatile   *)window;
2751#line 121
2752  __cil_tmp31 = __cil_tmp30 + 4098U;
2753#line 121
2754  tmp2 = readb(__cil_tmp31);
2755#line 124
2756  __cil_tmp32 = (void volatile   *)window;
2757#line 124
2758  __cil_tmp33 = __cil_tmp32 + 4098U;
2759#line 124
2760  writeb((unsigned char)132, __cil_tmp33);
2761#line 126
2762  __cil_tmp34 = (void volatile   *)window;
2763#line 126
2764  __cil_tmp35 = __cil_tmp34 + 4098U;
2765#line 126
2766  writeb((unsigned char)132, __cil_tmp35);
2767#line 130
2768  __cil_tmp36 = (void volatile   *)window;
2769#line 130
2770  __cil_tmp37 = __cil_tmp36 + 4098U;
2771#line 130
2772  writeb((unsigned char)133, __cil_tmp37);
2773#line 132
2774  __cil_tmp38 = (void volatile   *)window;
2775#line 132
2776  __cil_tmp39 = __cil_tmp38 + 4098U;
2777#line 132
2778  writeb((unsigned char)133, __cil_tmp39);
2779#line 139
2780  __cil_tmp40 = (void const volatile   *)window;
2781#line 139
2782  __cil_tmp41 = __cil_tmp40 + 4096U;
2783#line 139
2784  ChipID = readb(__cil_tmp41);
2785  }
2786#line 142
2787  if ((int )ChipID == 32) {
2788#line 142
2789    goto case_32;
2790  } else
2791#line 151
2792  if ((int )ChipID == 48) {
2793#line 151
2794    goto case_48;
2795  } else
2796#line 166
2797  if ((int )ChipID == 65) {
2798#line 166
2799    goto case_65;
2800  } else
2801#line 167
2802  if ((int )ChipID == 64) {
2803#line 167
2804    goto case_64;
2805  } else
2806#line 168
2807  if ((int )ChipID == 0) {
2808#line 168
2809    goto case_0;
2810  } else {
2811    {
2812#line 206
2813    goto switch_default___0;
2814#line 141
2815    if (0) {
2816      case_32: /* CIL Label */ 
2817      {
2818#line 144
2819      __cil_tmp42 = (void const volatile   *)window;
2820#line 144
2821      __cil_tmp43 = __cil_tmp42 + 4103U;
2822#line 144
2823      tmp___2 = readb(__cil_tmp43);
2824#line 144
2825      __cil_tmp44 = (unsigned int )tmp___2;
2826#line 144
2827      __cil_tmp45 = __cil_tmp44 & 4U;
2828#line 144
2829      tmp = (unsigned char )__cil_tmp45;
2830#line 145
2831      __cil_tmp46 = (void const volatile   *)window;
2832#line 145
2833      __cil_tmp47 = __cil_tmp46 + 4103U;
2834#line 145
2835      tmp___3 = readb(__cil_tmp47);
2836#line 145
2837      __cil_tmp48 = (unsigned int )tmp___3;
2838#line 145
2839      __cil_tmp49 = __cil_tmp48 & 4U;
2840#line 145
2841      tmpb = (unsigned char )__cil_tmp49;
2842#line 146
2843      __cil_tmp50 = (void const volatile   *)window;
2844#line 146
2845      __cil_tmp51 = __cil_tmp50 + 4103U;
2846#line 146
2847      tmp___4 = readb(__cil_tmp51);
2848#line 146
2849      __cil_tmp52 = (unsigned int )tmp___4;
2850#line 146
2851      __cil_tmp53 = __cil_tmp52 & 4U;
2852#line 146
2853      tmpc = (unsigned char )__cil_tmp53;
2854      }
2855      {
2856#line 147
2857      __cil_tmp54 = (int )tmpb;
2858#line 147
2859      __cil_tmp55 = (int )tmp;
2860#line 147
2861      if (__cil_tmp55 != __cil_tmp54) {
2862        {
2863#line 147
2864        __cil_tmp56 = (int )tmpc;
2865#line 147
2866        __cil_tmp57 = (int )tmp;
2867#line 147
2868        if (__cil_tmp57 == __cil_tmp56) {
2869#line 148
2870          return ((int )ChipID);
2871        } else {
2872
2873        }
2874        }
2875      } else {
2876
2877      }
2878      }
2879#line 149
2880      goto ldv_19112;
2881      case_48: /* CIL Label */ 
2882      {
2883#line 153
2884      __cil_tmp58 = (void const volatile   *)window;
2885#line 153
2886      __cil_tmp59 = __cil_tmp58 + 4096U;
2887#line 153
2888      readb(__cil_tmp59);
2889#line 154
2890      __cil_tmp60 = (void const volatile   *)window;
2891#line 154
2892      __cil_tmp61 = __cil_tmp60 + 4096U;
2893#line 154
2894      readb(__cil_tmp61);
2895#line 155
2896      __cil_tmp62 = (void const volatile   *)window;
2897#line 155
2898      __cil_tmp63 = __cil_tmp62 + 4096U;
2899#line 155
2900      tmp___5 = readb(__cil_tmp63);
2901      }
2902      {
2903#line 155
2904      __cil_tmp64 = (unsigned int )tmp___5;
2905#line 155
2906      if (__cil_tmp64 != 48U) {
2907#line 156
2908        ChipID = (unsigned char)33;
2909      } else {
2910
2911      }
2912      }
2913      {
2914#line 159
2915      __cil_tmp65 = (void const volatile   *)window;
2916#line 159
2917      __cil_tmp66 = __cil_tmp65 + 4102U;
2918#line 159
2919      tmp___6 = readb(__cil_tmp66);
2920#line 159
2921      __cil_tmp67 = (unsigned int )tmp___6;
2922#line 159
2923      __cil_tmp68 = __cil_tmp67 & 4U;
2924#line 159
2925      tmp = (unsigned char )__cil_tmp68;
2926#line 160
2927      __cil_tmp69 = (void const volatile   *)window;
2928#line 160
2929      __cil_tmp70 = __cil_tmp69 + 4102U;
2930#line 160
2931      tmp___7 = readb(__cil_tmp70);
2932#line 160
2933      __cil_tmp71 = (unsigned int )tmp___7;
2934#line 160
2935      __cil_tmp72 = __cil_tmp71 & 4U;
2936#line 160
2937      tmpb = (unsigned char )__cil_tmp72;
2938#line 161
2939      __cil_tmp73 = (void const volatile   *)window;
2940#line 161
2941      __cil_tmp74 = __cil_tmp73 + 4102U;
2942#line 161
2943      tmp___8 = readb(__cil_tmp74);
2944#line 161
2945      __cil_tmp75 = (unsigned int )tmp___8;
2946#line 161
2947      __cil_tmp76 = __cil_tmp75 & 4U;
2948#line 161
2949      tmpc = (unsigned char )__cil_tmp76;
2950      }
2951      {
2952#line 162
2953      __cil_tmp77 = (int )tmpb;
2954#line 162
2955      __cil_tmp78 = (int )tmp;
2956#line 162
2957      if (__cil_tmp78 != __cil_tmp77) {
2958        {
2959#line 162
2960        __cil_tmp79 = (int )tmpc;
2961#line 162
2962        __cil_tmp80 = (int )tmp;
2963#line 162
2964        if (__cil_tmp80 == __cil_tmp79) {
2965#line 163
2966          return ((int )ChipID);
2967        } else {
2968
2969        }
2970        }
2971      } else {
2972
2973      }
2974      }
2975#line 164
2976      goto ldv_19112;
2977      case_65: /* CIL Label */ ;
2978      case_64: /* CIL Label */ ;
2979      case_0: /* CIL Label */ 
2980#line 172
2981      tmp = (unsigned char)0;
2982#line 172
2983      goto ldv_19118;
2984      ldv_19117: 
2985      {
2986#line 173
2987      __cil_tmp81 = (void const volatile   *)window;
2988#line 173
2989      __cil_tmp82 = __cil_tmp81 + 8191U;
2990#line 173
2991      readb(__cil_tmp82);
2992#line 172
2993      __cil_tmp83 = (int )tmp;
2994#line 172
2995      __cil_tmp84 = __cil_tmp83 + 1;
2996#line 172
2997      tmp = (unsigned char )__cil_tmp84;
2998      }
2999      ldv_19118: ;
3000      {
3001#line 172
3002      __cil_tmp85 = (unsigned int )tmp;
3003#line 172
3004      if (__cil_tmp85 <= 3U) {
3005#line 173
3006        goto ldv_19117;
3007      } else {
3008#line 175
3009        goto ldv_19119;
3010      }
3011      }
3012      ldv_19119: 
3013      {
3014#line 176
3015      tmp = (unsigned char)28;
3016#line 178
3017      __cil_tmp86 = (int )tmp;
3018#line 178
3019      __cil_tmp87 = (unsigned char )__cil_tmp86;
3020#line 178
3021      __cil_tmp88 = (void volatile   *)window;
3022#line 178
3023      __cil_tmp89 = __cil_tmp88 + 4102U;
3024#line 178
3025      writeb(__cil_tmp87, __cil_tmp89);
3026#line 179
3027      __cil_tmp90 = (int )tmp;
3028#line 179
3029      __cil_tmp91 = ~ __cil_tmp90;
3030#line 179
3031      __cil_tmp92 = (unsigned char )__cil_tmp91;
3032#line 179
3033      __cil_tmp93 = (void volatile   *)window;
3034#line 179
3035      __cil_tmp94 = __cil_tmp93 + 4214U;
3036#line 179
3037      writeb(__cil_tmp92, __cil_tmp94);
3038      }
3039#line 181
3040      if (1) {
3041        {
3042#line 181
3043        __const_udelay(4295000UL);
3044        }
3045      } else {
3046#line 181
3047        __ms = 1UL;
3048#line 181
3049        goto ldv_19122;
3050        ldv_19121: 
3051        {
3052#line 181
3053        __const_udelay(4295000UL);
3054        }
3055        ldv_19122: 
3056#line 181
3057        tmp___9 = __ms;
3058#line 181
3059        __ms = __ms - 1UL;
3060#line 181
3061        if (tmp___9 != 0UL) {
3062#line 182
3063          goto ldv_19121;
3064        } else {
3065#line 184
3066          goto ldv_19123;
3067        }
3068        ldv_19123: ;
3069      }
3070      {
3071#line 183
3072      tmp = (unsigned char)29;
3073#line 185
3074      __cil_tmp95 = (int )tmp;
3075#line 185
3076      __cil_tmp96 = (unsigned char )__cil_tmp95;
3077#line 185
3078      __cil_tmp97 = (void volatile   *)window;
3079#line 185
3080      __cil_tmp98 = __cil_tmp97 + 4102U;
3081#line 185
3082      writeb(__cil_tmp96, __cil_tmp98);
3083#line 186
3084      __cil_tmp99 = (int )tmp;
3085#line 186
3086      __cil_tmp100 = ~ __cil_tmp99;
3087#line 186
3088      __cil_tmp101 = (unsigned char )__cil_tmp100;
3089#line 186
3090      __cil_tmp102 = (void volatile   *)window;
3091#line 186
3092      __cil_tmp103 = __cil_tmp102 + 4214U;
3093#line 186
3094      writeb(__cil_tmp101, __cil_tmp103);
3095      }
3096#line 187
3097      if (1) {
3098        {
3099#line 187
3100        __const_udelay(4295000UL);
3101        }
3102      } else {
3103#line 187
3104        __ms___0 = 1UL;
3105#line 187
3106        goto ldv_19126;
3107        ldv_19125: 
3108        {
3109#line 187
3110        __const_udelay(4295000UL);
3111        }
3112        ldv_19126: 
3113#line 187
3114        tmp___10 = __ms___0;
3115#line 187
3116        __ms___0 = __ms___0 - 1UL;
3117#line 187
3118        if (tmp___10 != 0UL) {
3119#line 188
3120          goto ldv_19125;
3121        } else {
3122#line 190
3123          goto ldv_19127;
3124        }
3125        ldv_19127: ;
3126      }
3127      {
3128#line 190
3129      __cil_tmp104 = (void const volatile   *)window;
3130#line 190
3131      __cil_tmp105 = __cil_tmp104 + 4096U;
3132#line 190
3133      ChipID = readb(__cil_tmp105);
3134      }
3135#line 193
3136      if ((int )ChipID == 65) {
3137#line 193
3138        goto case_65___0;
3139      } else
3140#line 194
3141      if ((int )ChipID == 64) {
3142#line 194
3143        goto case_64___0;
3144      } else {
3145        {
3146#line 201
3147        goto switch_default;
3148#line 192
3149        if (0) {
3150          case_65___0: /* CIL Label */ ;
3151          case_64___0: /* CIL Label */ 
3152          {
3153#line 196
3154          __cil_tmp106 = (void const volatile   *)window;
3155#line 196
3156          __cil_tmp107 = __cil_tmp106 + 4166U;
3157#line 196
3158          tmp___11 = readb(__cil_tmp107);
3159#line 196
3160          __cil_tmp108 = (unsigned int )tmp___11;
3161#line 196
3162          __cil_tmp109 = __cil_tmp108 & 4U;
3163#line 196
3164          tmp = (unsigned char )__cil_tmp109;
3165#line 197
3166          __cil_tmp110 = (void const volatile   *)window;
3167#line 197
3168          __cil_tmp111 = __cil_tmp110 + 4166U;
3169#line 197
3170          tmp___12 = readb(__cil_tmp111);
3171#line 197
3172          __cil_tmp112 = (unsigned int )tmp___12;
3173#line 197
3174          __cil_tmp113 = __cil_tmp112 & 4U;
3175#line 197
3176          tmpb = (unsigned char )__cil_tmp113;
3177#line 198
3178          __cil_tmp114 = (void const volatile   *)window;
3179#line 198
3180          __cil_tmp115 = __cil_tmp114 + 4166U;
3181#line 198
3182          tmp___13 = readb(__cil_tmp115);
3183#line 198
3184          __cil_tmp116 = (unsigned int )tmp___13;
3185#line 198
3186          __cil_tmp117 = __cil_tmp116 & 4U;
3187#line 198
3188          tmpc = (unsigned char )__cil_tmp117;
3189          }
3190          {
3191#line 199
3192          __cil_tmp118 = (int )tmpb;
3193#line 199
3194          __cil_tmp119 = (int )tmp;
3195#line 199
3196          if (__cil_tmp119 != __cil_tmp118) {
3197            {
3198#line 199
3199            __cil_tmp120 = (int )tmpc;
3200#line 199
3201            __cil_tmp121 = (int )tmp;
3202#line 199
3203            if (__cil_tmp121 == __cil_tmp120) {
3204#line 200
3205              return ((int )ChipID);
3206            } else {
3207
3208            }
3209            }
3210          } else {
3211
3212          }
3213          }
3214          switch_default: /* CIL Label */ ;
3215#line 202
3216          goto ldv_19131;
3217        } else {
3218          switch_break___0: /* CIL Label */ ;
3219        }
3220        }
3221      }
3222      ldv_19131: ;
3223      switch_default___0: /* CIL Label */ 
3224      {
3225#line 209
3226      __cil_tmp122 = (int )ChipID;
3227#line 209
3228      printk("<7>Possible DiskOnChip with unknown ChipID %2.2X found at 0x%lx\n",
3229             __cil_tmp122, physadr);
3230#line 216
3231      __cil_tmp123 = (int )tmp2;
3232#line 216
3233      __cil_tmp124 = (unsigned char )__cil_tmp123;
3234#line 216
3235      __cil_tmp125 = (void volatile   *)window;
3236#line 216
3237      __cil_tmp126 = __cil_tmp125 + 4098U;
3238#line 216
3239      writeb(__cil_tmp124, __cil_tmp126);
3240      }
3241#line 218
3242      return (0);
3243    } else {
3244      switch_break: /* CIL Label */ ;
3245    }
3246    }
3247  }
3248  ldv_19112: 
3249  {
3250#line 221
3251  printk("<4>DiskOnChip failed TOGGLE test, dropping.\n");
3252#line 225
3253  __cil_tmp127 = (int )tmp2;
3254#line 225
3255  __cil_tmp128 = (unsigned char )__cil_tmp127;
3256#line 225
3257  __cil_tmp129 = (void volatile   *)window;
3258#line 225
3259  __cil_tmp130 = __cil_tmp129 + 4098U;
3260#line 225
3261  writeb(__cil_tmp128, __cil_tmp130);
3262  }
3263#line 227
3264  return (0);
3265}
3266}
3267#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3268static int docfound  ;
3269#line 236 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3270static void DoC_Probe(unsigned long physadr ) 
3271{ void *docptr ;
3272  struct DiskOnChip *this ;
3273  struct mtd_info *mtd ;
3274  int ChipID ;
3275  char namebuf[15U] ;
3276  char *name ;
3277  void (*initroutine)(struct mtd_info * ) ;
3278  void *tmp ;
3279  void *tmp___1 ;
3280  void *tmp___2 ;
3281  void *tmp___3 ;
3282  void *tmp___5 ;
3283  void *tmp___6 ;
3284  void *tmp___7 ;
3285  void *tmp___9 ;
3286  void *tmp___10 ;
3287  void *tmp___11 ;
3288  void *tmp___13 ;
3289  void *tmp___14 ;
3290  void *tmp___15 ;
3291  resource_size_t __cil_tmp26 ;
3292  void *__cil_tmp27 ;
3293  unsigned long __cil_tmp28 ;
3294  unsigned long __cil_tmp29 ;
3295  void volatile   *__cil_tmp30 ;
3296  struct mtd_info *__cil_tmp31 ;
3297  unsigned long __cil_tmp32 ;
3298  unsigned long __cil_tmp33 ;
3299  void volatile   *__cil_tmp34 ;
3300  struct DiskOnChip *__cil_tmp35 ;
3301  unsigned long __cil_tmp36 ;
3302  unsigned long __cil_tmp37 ;
3303  unsigned long __cil_tmp38 ;
3304  unsigned long __cil_tmp39 ;
3305  unsigned long __cil_tmp40 ;
3306  unsigned long __cil_tmp41 ;
3307  char *__cil_tmp42 ;
3308  void (*__cil_tmp43)(struct mtd_info * ) ;
3309  unsigned long __cil_tmp44 ;
3310  void (*__cil_tmp45)(struct mtd_info * ) ;
3311  unsigned long __cil_tmp46 ;
3312  bool __cil_tmp47 ;
3313  void (*__cil_tmp48)(struct mtd_info * ) ;
3314  unsigned long __cil_tmp49 ;
3315  void (*__cil_tmp50)(struct mtd_info * ) ;
3316  unsigned long __cil_tmp51 ;
3317  bool __cil_tmp52 ;
3318  void (*__cil_tmp53)(struct mtd_info * ) ;
3319  unsigned long __cil_tmp54 ;
3320  void (*__cil_tmp55)(struct mtd_info * ) ;
3321  unsigned long __cil_tmp56 ;
3322  bool __cil_tmp57 ;
3323  void (*__cil_tmp58)(struct mtd_info * ) ;
3324  unsigned long __cil_tmp59 ;
3325  void (*__cil_tmp60)(struct mtd_info * ) ;
3326  unsigned long __cil_tmp61 ;
3327  bool __cil_tmp62 ;
3328  void (*__cil_tmp63)(struct mtd_info * ) ;
3329  unsigned long __cil_tmp64 ;
3330  unsigned long __cil_tmp65 ;
3331  void *__cil_tmp66 ;
3332  void const   *__cil_tmp67 ;
3333  void volatile   *__cil_tmp68 ;
3334
3335  {
3336  {
3337#line 243
3338  name = (char *)(& namebuf);
3339#line 244
3340  initroutine = (void (*)(struct mtd_info * ))0;
3341#line 246
3342  __cil_tmp26 = (resource_size_t )physadr;
3343#line 246
3344  docptr = ioremap(__cil_tmp26, 8192UL);
3345  }
3346  {
3347#line 248
3348  __cil_tmp27 = (void *)0;
3349#line 248
3350  __cil_tmp28 = (unsigned long )__cil_tmp27;
3351#line 248
3352  __cil_tmp29 = (unsigned long )docptr;
3353#line 248
3354  if (__cil_tmp29 == __cil_tmp28) {
3355#line 249
3356    return;
3357  } else {
3358
3359  }
3360  }
3361  {
3362#line 251
3363  ChipID = doccheck(docptr, physadr);
3364  }
3365#line 251
3366  if (ChipID != 0) {
3367#line 252
3368    if (ChipID == 33) {
3369      {
3370#line 254
3371      printk("<5>Refusing to drive DiskOnChip 2000 TSOP until Bad Block Table is correctly supported by INFTL\n");
3372#line 255
3373      __cil_tmp30 = (void volatile   *)docptr;
3374#line 255
3375      iounmap(__cil_tmp30);
3376      }
3377#line 256
3378      return;
3379    } else {
3380
3381    }
3382    {
3383#line 258
3384    docfound = 1;
3385#line 259
3386    tmp = kzalloc(1800UL, 208U);
3387#line 259
3388    mtd = (struct mtd_info *)tmp;
3389    }
3390    {
3391#line 260
3392    __cil_tmp31 = (struct mtd_info *)0;
3393#line 260
3394    __cil_tmp32 = (unsigned long )__cil_tmp31;
3395#line 260
3396    __cil_tmp33 = (unsigned long )mtd;
3397#line 260
3398    if (__cil_tmp33 == __cil_tmp32) {
3399      {
3400#line 261
3401      printk("<4>Cannot allocate memory for data structures. Dropping.\n");
3402#line 262
3403      __cil_tmp34 = (void volatile   *)docptr;
3404#line 262
3405      iounmap(__cil_tmp34);
3406      }
3407#line 263
3408      return;
3409    } else {
3410
3411    }
3412    }
3413    {
3414#line 266
3415    __cil_tmp35 = (struct DiskOnChip *)mtd;
3416#line 266
3417    this = __cil_tmp35 + 1U;
3418#line 267
3419    __cil_tmp36 = (unsigned long )mtd;
3420#line 267
3421    __cil_tmp37 = __cil_tmp36 + 360;
3422#line 267
3423    *((void **)__cil_tmp37) = (void *)this;
3424#line 268
3425    __cil_tmp38 = (unsigned long )this;
3426#line 268
3427    __cil_tmp39 = __cil_tmp38 + 8;
3428#line 268
3429    *((void **)__cil_tmp39) = docptr;
3430#line 269
3431    *((unsigned long *)this) = physadr;
3432#line 270
3433    __cil_tmp40 = (unsigned long )this;
3434#line 270
3435    __cil_tmp41 = __cil_tmp40 + 24;
3436#line 270
3437    *((unsigned char *)__cil_tmp41) = (unsigned char )ChipID;
3438#line 271
3439    __cil_tmp42 = (char *)(& namebuf);
3440#line 271
3441    sprintf(__cil_tmp42, "with ChipID %2.2X", ChipID);
3442    }
3443#line 274
3444    if (ChipID == 33) {
3445#line 274
3446      goto case_33;
3447    } else
3448#line 279
3449    if (ChipID == 32) {
3450#line 279
3451      goto case_32;
3452    } else
3453#line 284
3454    if (ChipID == 48) {
3455#line 284
3456      goto case_48;
3457    } else
3458#line 293
3459    if (ChipID == 65) {
3460#line 293
3461      goto case_65;
3462    } else
3463#line 294
3464    if (ChipID == 64) {
3465#line 294
3466      goto case_64;
3467    } else
3468#line 273
3469    if (0) {
3470      case_33: /* CIL Label */ 
3471      {
3472#line 275
3473      name = (char *)"2000 TSOP";
3474#line 276
3475      tmp___3 = __symbol_get("DoC2k_init");
3476      }
3477      {
3478#line 276
3479      __cil_tmp43 = (void (*)(struct mtd_info * ))0;
3480#line 276
3481      __cil_tmp44 = (unsigned long )__cil_tmp43;
3482#line 276
3483      __cil_tmp45 = (void (*)(struct mtd_info * ))tmp___3;
3484#line 276
3485      __cil_tmp46 = (unsigned long )__cil_tmp45;
3486#line 276
3487      if (__cil_tmp46 != __cil_tmp44) {
3488        {
3489#line 276
3490        tmp___1 = __symbol_get("DoC2k_init");
3491#line 276
3492        initroutine = (void (*)(struct mtd_info * ))tmp___1;
3493        }
3494      } else {
3495        {
3496#line 276
3497        __cil_tmp47 = (bool )1;
3498#line 276
3499        __request_module(__cil_tmp47, "symbol:DoC2k_init");
3500#line 276
3501        tmp___2 = __symbol_get("DoC2k_init");
3502#line 276
3503        initroutine = (void (*)(struct mtd_info * ))tmp___2;
3504        }
3505      }
3506      }
3507#line 277
3508      goto ldv_19152;
3509      case_32: /* CIL Label */ 
3510      {
3511#line 280
3512      name = (char *)"2000";
3513#line 281
3514      tmp___7 = __symbol_get("DoC2k_init");
3515      }
3516      {
3517#line 281
3518      __cil_tmp48 = (void (*)(struct mtd_info * ))0;
3519#line 281
3520      __cil_tmp49 = (unsigned long )__cil_tmp48;
3521#line 281
3522      __cil_tmp50 = (void (*)(struct mtd_info * ))tmp___7;
3523#line 281
3524      __cil_tmp51 = (unsigned long )__cil_tmp50;
3525#line 281
3526      if (__cil_tmp51 != __cil_tmp49) {
3527        {
3528#line 281
3529        tmp___5 = __symbol_get("DoC2k_init");
3530#line 281
3531        initroutine = (void (*)(struct mtd_info * ))tmp___5;
3532        }
3533      } else {
3534        {
3535#line 281
3536        __cil_tmp52 = (bool )1;
3537#line 281
3538        __request_module(__cil_tmp52, "symbol:DoC2k_init");
3539#line 281
3540        tmp___6 = __symbol_get("DoC2k_init");
3541#line 281
3542        initroutine = (void (*)(struct mtd_info * ))tmp___6;
3543        }
3544      }
3545      }
3546#line 282
3547      goto ldv_19152;
3548      case_48: /* CIL Label */ 
3549      {
3550#line 285
3551      name = (char *)"Millennium";
3552#line 287
3553      tmp___11 = __symbol_get("DoC2k_init");
3554      }
3555      {
3556#line 287
3557      __cil_tmp53 = (void (*)(struct mtd_info * ))0;
3558#line 287
3559      __cil_tmp54 = (unsigned long )__cil_tmp53;
3560#line 287
3561      __cil_tmp55 = (void (*)(struct mtd_info * ))tmp___11;
3562#line 287
3563      __cil_tmp56 = (unsigned long )__cil_tmp55;
3564#line 287
3565      if (__cil_tmp56 != __cil_tmp54) {
3566        {
3567#line 287
3568        tmp___9 = __symbol_get("DoC2k_init");
3569#line 287
3570        initroutine = (void (*)(struct mtd_info * ))tmp___9;
3571        }
3572      } else {
3573        {
3574#line 287
3575        __cil_tmp57 = (bool )1;
3576#line 287
3577        __request_module(__cil_tmp57, "symbol:DoC2k_init");
3578#line 287
3579        tmp___10 = __symbol_get("DoC2k_init");
3580#line 287
3581        initroutine = (void (*)(struct mtd_info * ))tmp___10;
3582        }
3583      }
3584      }
3585#line 291
3586      goto ldv_19152;
3587      case_65: /* CIL Label */ ;
3588      case_64: /* CIL Label */ 
3589      {
3590#line 295
3591      name = (char *)"MillenniumPlus";
3592#line 296
3593      tmp___15 = __symbol_get("DoCMilPlus_init");
3594      }
3595      {
3596#line 296
3597      __cil_tmp58 = (void (*)(struct mtd_info * ))0;
3598#line 296
3599      __cil_tmp59 = (unsigned long )__cil_tmp58;
3600#line 296
3601      __cil_tmp60 = (void (*)(struct mtd_info * ))tmp___15;
3602#line 296
3603      __cil_tmp61 = (unsigned long )__cil_tmp60;
3604#line 296
3605      if (__cil_tmp61 != __cil_tmp59) {
3606        {
3607#line 296
3608        tmp___13 = __symbol_get("DoCMilPlus_init");
3609#line 296
3610        initroutine = (void (*)(struct mtd_info * ))tmp___13;
3611        }
3612      } else {
3613        {
3614#line 296
3615        __cil_tmp62 = (bool )1;
3616#line 296
3617        __request_module(__cil_tmp62, "symbol:DoCMilPlus_init");
3618#line 296
3619        tmp___14 = __symbol_get("DoCMilPlus_init");
3620#line 296
3621        initroutine = (void (*)(struct mtd_info * ))tmp___14;
3622        }
3623      }
3624      }
3625#line 297
3626      goto ldv_19152;
3627    } else {
3628      switch_break: /* CIL Label */ ;
3629    }
3630    ldv_19152: ;
3631    {
3632#line 300
3633    __cil_tmp63 = (void (*)(struct mtd_info * ))0;
3634#line 300
3635    __cil_tmp64 = (unsigned long )__cil_tmp63;
3636#line 300
3637    __cil_tmp65 = (unsigned long )initroutine;
3638#line 300
3639    if (__cil_tmp65 != __cil_tmp64) {
3640      {
3641#line 301
3642      (*initroutine)(mtd);
3643#line 302
3644      __cil_tmp66 = (void *)initroutine;
3645#line 302
3646      symbol_put_addr(__cil_tmp66);
3647      }
3648#line 303
3649      return;
3650    } else {
3651
3652    }
3653    }
3654    {
3655#line 305
3656    printk("<5>Cannot find driver for DiskOnChip %s at 0x%lX\n", name, physadr);
3657#line 306
3658    __cil_tmp67 = (void const   *)mtd;
3659#line 306
3660    kfree(__cil_tmp67);
3661    }
3662  } else {
3663
3664  }
3665  {
3666#line 308
3667  __cil_tmp68 = (void volatile   *)docptr;
3668#line 308
3669  iounmap(__cil_tmp68);
3670  }
3671#line 309
3672  return;
3673}
3674}
3675#line 318 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3676static int init_doc(void) 
3677{ int i ;
3678  unsigned long *__cil_tmp2 ;
3679  unsigned long __cil_tmp3 ;
3680  unsigned long *__cil_tmp4 ;
3681  unsigned long __cil_tmp5 ;
3682  unsigned long *__cil_tmp6 ;
3683  unsigned long __cil_tmp7 ;
3684  unsigned long __cil_tmp8 ;
3685  unsigned long __cil_tmp9 ;
3686  unsigned long __cil_tmp10 ;
3687  unsigned long __cil_tmp11 ;
3688  unsigned long __cil_tmp12 ;
3689  unsigned long __cil_tmp13 ;
3690
3691  {
3692  {
3693#line 322
3694  __cil_tmp2 = & doc_config_location;
3695#line 322
3696  __cil_tmp3 = *__cil_tmp2;
3697#line 322
3698  if (__cil_tmp3 != 0UL) {
3699    {
3700#line 323
3701    __cil_tmp4 = & doc_config_location;
3702#line 323
3703    __cil_tmp5 = *__cil_tmp4;
3704#line 323
3705    printk("<6>Using configured DiskOnChip probe address 0x%lx\n", __cil_tmp5);
3706#line 324
3707    __cil_tmp6 = & doc_config_location;
3708#line 324
3709    __cil_tmp7 = *__cil_tmp6;
3710#line 324
3711    DoC_Probe(__cil_tmp7);
3712    }
3713  } else {
3714#line 326
3715    i = 0;
3716#line 326
3717    goto ldv_19162;
3718    ldv_19161: 
3719    {
3720#line 327
3721    __cil_tmp8 = i * 8UL;
3722#line 327
3723    __cil_tmp9 = (unsigned long )(doc_locations) + __cil_tmp8;
3724#line 327
3725    __cil_tmp10 = *((unsigned long *)__cil_tmp9);
3726#line 327
3727    DoC_Probe(__cil_tmp10);
3728#line 326
3729    i = i + 1;
3730    }
3731    ldv_19162: ;
3732    {
3733#line 326
3734    __cil_tmp11 = i * 8UL;
3735#line 326
3736    __cil_tmp12 = (unsigned long )(doc_locations) + __cil_tmp11;
3737#line 326
3738    __cil_tmp13 = *((unsigned long *)__cil_tmp12);
3739#line 326
3740    if (__cil_tmp13 != 4294967295UL) {
3741#line 327
3742      goto ldv_19161;
3743    } else {
3744#line 329
3745      goto ldv_19163;
3746    }
3747    }
3748    ldv_19163: ;
3749  }
3750  }
3751#line 332
3752  if (docfound == 0) {
3753    {
3754#line 333
3755    printk("<6>No recognised DiskOnChip devices found\n");
3756    }
3757  } else {
3758
3759  }
3760#line 334
3761  return (-11);
3762}
3763}
3764#line 360
3765extern void ldv_check_final_state(void) ;
3766#line 366
3767extern void ldv_initialize(void) ;
3768#line 369
3769extern int __VERIFIER_nondet_int(void) ;
3770#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3771int LDV_IN_INTERRUPT  ;
3772#line 375 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3773void main(void) 
3774{ int tmp ;
3775  int tmp___0 ;
3776  int tmp___1 ;
3777
3778  {
3779  {
3780#line 387
3781  LDV_IN_INTERRUPT = 1;
3782#line 396
3783  ldv_initialize();
3784#line 428
3785  tmp = init_doc();
3786  }
3787#line 428
3788  if (tmp != 0) {
3789#line 429
3790    goto ldv_final;
3791  } else {
3792
3793  }
3794#line 431
3795  goto ldv_19188;
3796  ldv_19187: 
3797  {
3798#line 434
3799  tmp___0 = __VERIFIER_nondet_int();
3800  }
3801  {
3802#line 436
3803  goto switch_default;
3804#line 434
3805  if (0) {
3806    switch_default: /* CIL Label */ ;
3807#line 436
3808    goto ldv_19186;
3809  } else {
3810    switch_break: /* CIL Label */ ;
3811  }
3812  }
3813  ldv_19186: ;
3814  ldv_19188: 
3815  {
3816#line 431
3817  tmp___1 = __VERIFIER_nondet_int();
3818  }
3819#line 431
3820  if (tmp___1 != 0) {
3821#line 432
3822    goto ldv_19187;
3823  } else {
3824#line 434
3825    goto ldv_19189;
3826  }
3827  ldv_19189: ;
3828
3829  ldv_final: 
3830  {
3831#line 445
3832  ldv_check_final_state();
3833  }
3834#line 448
3835  return;
3836}
3837}
3838#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3839void ldv_blast_assert(void) 
3840{ 
3841
3842  {
3843  ERROR: ;
3844#line 6
3845  goto ERROR;
3846}
3847}
3848#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3849extern int __VERIFIER_nondet_int(void) ;
3850#line 469 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3851int ldv_spin  =    0;
3852#line 473 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3853void ldv_check_alloc_flags(gfp_t flags ) 
3854{ 
3855
3856  {
3857#line 476
3858  if (ldv_spin != 0) {
3859#line 476
3860    if (flags != 32U) {
3861      {
3862#line 476
3863      ldv_blast_assert();
3864      }
3865    } else {
3866
3867    }
3868  } else {
3869
3870  }
3871#line 479
3872  return;
3873}
3874}
3875#line 479
3876extern struct page *ldv_some_page(void) ;
3877#line 482 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3878struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3879{ struct page *tmp ;
3880
3881  {
3882#line 485
3883  if (ldv_spin != 0) {
3884#line 485
3885    if (flags != 32U) {
3886      {
3887#line 485
3888      ldv_blast_assert();
3889      }
3890    } else {
3891
3892    }
3893  } else {
3894
3895  }
3896  {
3897#line 487
3898  tmp = ldv_some_page();
3899  }
3900#line 487
3901  return (tmp);
3902}
3903}
3904#line 491 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3905void ldv_check_alloc_nonatomic(void) 
3906{ 
3907
3908  {
3909#line 494
3910  if (ldv_spin != 0) {
3911    {
3912#line 494
3913    ldv_blast_assert();
3914    }
3915  } else {
3916
3917  }
3918#line 497
3919  return;
3920}
3921}
3922#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3923void ldv_spin_lock(void) 
3924{ 
3925
3926  {
3927#line 501
3928  ldv_spin = 1;
3929#line 502
3930  return;
3931}
3932}
3933#line 505 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3934void ldv_spin_unlock(void) 
3935{ 
3936
3937  {
3938#line 508
3939  ldv_spin = 0;
3940#line 509
3941  return;
3942}
3943}
3944#line 512 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3945int ldv_spin_trylock(void) 
3946{ int is_lock ;
3947
3948  {
3949  {
3950#line 517
3951  is_lock = __VERIFIER_nondet_int();
3952  }
3953#line 519
3954  if (is_lock != 0) {
3955#line 522
3956    return (0);
3957  } else {
3958#line 527
3959    ldv_spin = 1;
3960#line 529
3961    return (1);
3962  }
3963}
3964}
3965#line 696 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3966void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3967{ 
3968
3969  {
3970  {
3971#line 702
3972  ldv_check_alloc_flags(ldv_func_arg2);
3973#line 704
3974  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3975  }
3976#line 705
3977  return ((void *)0);
3978}
3979}
3980#line 707 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11716/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/devices/docprobe.c.p"
3981__inline static void *kzalloc(size_t size , gfp_t flags ) 
3982{ void *tmp ;
3983
3984  {
3985  {
3986#line 713
3987  ldv_check_alloc_flags(flags);
3988#line 714
3989  tmp = __VERIFIER_nondet_pointer();
3990  }
3991#line 714
3992  return (tmp);
3993}
3994}