Showing error 1108

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--tests--mtd_subpagetest.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 5277
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_15548_137 {
1482   unsigned long index ;
1483   void *freelist ;
1484};
1485#line 117 "include/linux/prio_tree.h"
1486struct __anonstruct_ldv_15558_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_15559_140 {
1493   atomic_t _mapcount ;
1494   struct __anonstruct_ldv_15558_141 ldv_15558 ;
1495};
1496#line 117 "include/linux/prio_tree.h"
1497struct __anonstruct_ldv_15561_139 {
1498   union __anonunion_ldv_15559_140 ldv_15559 ;
1499   atomic_t _count ;
1500};
1501#line 117 "include/linux/prio_tree.h"
1502union __anonunion_ldv_15562_138 {
1503   unsigned long counters ;
1504   struct __anonstruct_ldv_15561_139 ldv_15561 ;
1505};
1506#line 117 "include/linux/prio_tree.h"
1507struct __anonstruct_ldv_15563_136 {
1508   union __anonunion_ldv_15548_137 ldv_15548 ;
1509   union __anonunion_ldv_15562_138 ldv_15562 ;
1510};
1511#line 117 "include/linux/prio_tree.h"
1512struct __anonstruct_ldv_15570_143 {
1513   struct page *next ;
1514   int pages ;
1515   int pobjects ;
1516};
1517#line 117 "include/linux/prio_tree.h"
1518union __anonunion_ldv_15571_142 {
1519   struct list_head lru ;
1520   struct __anonstruct_ldv_15570_143 ldv_15570 ;
1521};
1522#line 117 "include/linux/prio_tree.h"
1523union __anonunion_ldv_15576_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_15563_136 ldv_15563 ;
1533   union __anonunion_ldv_15571_142 ldv_15571 ;
1534   union __anonunion_ldv_15576_144 ldv_15576 ;
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_16812_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_16812_158 ldv_16812 ;
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 1 "<compiler builtins>"
2463long __builtin_expect(long  , long  ) ;
2464#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2465void ldv_spin_lock(void) ;
2466#line 3
2467void ldv_spin_unlock(void) ;
2468#line 4
2469int ldv_spin_trylock(void) ;
2470#line 101 "include/linux/printk.h"
2471extern int printk(char const   *  , ...) ;
2472#line 147 "include/linux/kernel.h"
2473extern void __might_sleep(char const   * , int  , int  ) ;
2474#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2475extern void *memset(void * , int  , size_t  ) ;
2476#line 60
2477extern int memcmp(void const   * , void const   * , size_t  ) ;
2478#line 27 "include/linux/err.h"
2479__inline static long PTR_ERR(void const   *ptr ) 
2480{ 
2481
2482  {
2483#line 29
2484  return ((long )ptr);
2485}
2486}
2487#line 32 "include/linux/err.h"
2488__inline static long IS_ERR(void const   *ptr ) 
2489{ long tmp ;
2490  unsigned long __cil_tmp3 ;
2491  int __cil_tmp4 ;
2492  long __cil_tmp5 ;
2493
2494  {
2495  {
2496#line 34
2497  __cil_tmp3 = (unsigned long )ptr;
2498#line 34
2499  __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2500#line 34
2501  __cil_tmp5 = (long )__cil_tmp4;
2502#line 34
2503  tmp = __builtin_expect(__cil_tmp5, 0L);
2504  }
2505#line 34
2506  return (tmp);
2507}
2508}
2509#line 161 "include/linux/slab.h"
2510extern void kfree(void const   * ) ;
2511#line 220 "include/linux/slub_def.h"
2512extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2513#line 223
2514void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2515#line 225
2516extern void *__kmalloc(size_t  , gfp_t  ) ;
2517#line 268 "include/linux/slub_def.h"
2518__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags ) 
2519{ void *tmp___2 ;
2520
2521  {
2522  {
2523#line 283
2524  tmp___2 = __kmalloc(size, flags);
2525  }
2526#line 283
2527  return (tmp___2);
2528}
2529}
2530#line 268
2531__inline static void *kmalloc(size_t size , gfp_t flags ) ;
2532#line 353 "include/linux/slab.h"
2533__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2534#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2535extern void *__VERIFIER_nondet_pointer(void) ;
2536#line 11
2537void ldv_check_alloc_flags(gfp_t flags ) ;
2538#line 12
2539void ldv_check_alloc_nonatomic(void) ;
2540#line 14
2541struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2542#line 246 "include/linux/mtd/mtd.h"
2543extern int mtd_erase(struct mtd_info * , struct erase_info * ) ;
2544#line 252
2545extern int mtd_read(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
2546#line 254
2547extern int mtd_write(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
2548#line 303
2549extern int mtd_block_isbad(struct mtd_info * , loff_t  ) ;
2550#line 370
2551extern struct mtd_info *get_mtd_device(struct mtd_info * , int  ) ;
2552#line 374
2553extern void put_mtd_device(struct mtd_info * ) ;
2554#line 390 "include/linux/mtd/mtd.h"
2555__inline static int mtd_is_bitflip(int err ) 
2556{ 
2557
2558  {
2559#line 391
2560  return (err == -117);
2561}
2562}
2563#line 2626 "include/linux/sched.h"
2564extern int _cond_resched(void) ;
2565#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2566static int dev  =    -22;
2567#line 51 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2568static struct mtd_info *mtd  ;
2569#line 52 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2570static unsigned char *writebuf  ;
2571#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2572static unsigned char *readbuf  ;
2573#line 54 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2574static unsigned char *bbt  ;
2575#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2576static int subpgsize  ;
2577#line 57 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2578static int bufsize  ;
2579#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2580static int ebcnt  ;
2581#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2582static int pgcnt  ;
2583#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2584static int errcnt  ;
2585#line 61 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2586static unsigned long next  =    1UL;
2587#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2588__inline static unsigned int simple_rand(void) 
2589{ unsigned long __cil_tmp1 ;
2590  unsigned long __cil_tmp2 ;
2591  unsigned int __cil_tmp3 ;
2592
2593  {
2594#line 65
2595  __cil_tmp1 = next * 1103515245UL;
2596#line 65
2597  next = __cil_tmp1 + 12345UL;
2598  {
2599#line 66
2600  __cil_tmp2 = next / 65536UL;
2601#line 66
2602  __cil_tmp3 = (unsigned int )__cil_tmp2;
2603#line 66
2604  return (__cil_tmp3 & 32767U);
2605  }
2606}
2607}
2608#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2609__inline static void simple_srand(unsigned long seed ) 
2610{ 
2611
2612  {
2613#line 71
2614  next = seed;
2615#line 72
2616  return;
2617}
2618}
2619#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2620static void set_random_data(unsigned char *buf , size_t len ) 
2621{ size_t i ;
2622  unsigned int tmp ;
2623  unsigned char *__cil_tmp5 ;
2624
2625  {
2626#line 78
2627  i = 0UL;
2628#line 78
2629  goto ldv_18667;
2630  ldv_18666: 
2631  {
2632#line 79
2633  tmp = simple_rand();
2634#line 79
2635  __cil_tmp5 = buf + i;
2636#line 79
2637  *__cil_tmp5 = (unsigned char )tmp;
2638#line 78
2639  i = i + 1UL;
2640  }
2641  ldv_18667: ;
2642#line 78
2643  if (i < len) {
2644#line 79
2645    goto ldv_18666;
2646  } else {
2647#line 81
2648    goto ldv_18668;
2649  }
2650  ldv_18668: ;
2651#line 83
2652  return;
2653}
2654}
2655#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2656__inline static void clear_data(unsigned char *buf , size_t len ) 
2657{ void *__cil_tmp3 ;
2658
2659  {
2660  {
2661#line 84
2662  __cil_tmp3 = (void *)buf;
2663#line 84
2664  memset(__cil_tmp3, 0, len);
2665  }
2666#line 85
2667  return;
2668}
2669}
2670#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2671static int erase_eraseblock(int ebnum ) 
2672{ int err ;
2673  struct erase_info ei ;
2674  loff_t addr ;
2675  uint32_t __cil_tmp5 ;
2676  unsigned long __cil_tmp6 ;
2677  unsigned long __cil_tmp7 ;
2678  uint32_t __cil_tmp8 ;
2679  uint32_t __cil_tmp9 ;
2680  void *__cil_tmp10 ;
2681  struct erase_info *__cil_tmp11 ;
2682  unsigned long __cil_tmp12 ;
2683  unsigned long __cil_tmp13 ;
2684  unsigned long __cil_tmp14 ;
2685  unsigned long __cil_tmp15 ;
2686  uint32_t __cil_tmp16 ;
2687  unsigned long __cil_tmp17 ;
2688  u_char __cil_tmp18 ;
2689  unsigned int __cil_tmp19 ;
2690
2691  {
2692  {
2693#line 91
2694  __cil_tmp5 = (uint32_t )ebnum;
2695#line 91
2696  __cil_tmp6 = (unsigned long )mtd;
2697#line 91
2698  __cil_tmp7 = __cil_tmp6 + 16;
2699#line 91
2700  __cil_tmp8 = *((uint32_t *)__cil_tmp7);
2701#line 91
2702  __cil_tmp9 = __cil_tmp8 * __cil_tmp5;
2703#line 91
2704  addr = (loff_t )__cil_tmp9;
2705#line 93
2706  __cil_tmp10 = (void *)(& ei);
2707#line 93
2708  memset(__cil_tmp10, 0, 88UL);
2709#line 94
2710  __cil_tmp11 = & ei;
2711#line 94
2712  *((struct mtd_info **)__cil_tmp11) = mtd;
2713#line 95
2714  __cil_tmp12 = (unsigned long )(& ei) + 8;
2715#line 95
2716  *((uint64_t *)__cil_tmp12) = (uint64_t )addr;
2717#line 96
2718  __cil_tmp13 = (unsigned long )(& ei) + 16;
2719#line 96
2720  __cil_tmp14 = (unsigned long )mtd;
2721#line 96
2722  __cil_tmp15 = __cil_tmp14 + 16;
2723#line 96
2724  __cil_tmp16 = *((uint32_t *)__cil_tmp15);
2725#line 96
2726  *((uint64_t *)__cil_tmp13) = (uint64_t )__cil_tmp16;
2727#line 98
2728  err = mtd_erase(mtd, & ei);
2729  }
2730#line 99
2731  if (err != 0) {
2732    {
2733#line 100
2734    printk("<6>mtd_subpagetest: error %d while erasing EB %d\n", err, ebnum);
2735    }
2736#line 101
2737    return (err);
2738  } else {
2739
2740  }
2741  {
2742#line 104
2743  __cil_tmp17 = (unsigned long )(& ei) + 72;
2744#line 104
2745  __cil_tmp18 = *((u_char *)__cil_tmp17);
2746#line 104
2747  __cil_tmp19 = (unsigned int )__cil_tmp18;
2748#line 104
2749  if (__cil_tmp19 == 16U) {
2750    {
2751#line 105
2752    printk("<6>mtd_subpagetest: some erase error occurred at EB %d\n", ebnum);
2753    }
2754#line 107
2755    return (-5);
2756  } else {
2757
2758  }
2759  }
2760#line 110
2761  return (0);
2762}
2763}
2764#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2765static int erase_whole_device(void) 
2766{ int err ;
2767  unsigned int i ;
2768  unsigned long __cil_tmp3 ;
2769  unsigned char *__cil_tmp4 ;
2770  unsigned char __cil_tmp5 ;
2771  unsigned int __cil_tmp6 ;
2772  int __cil_tmp7 ;
2773  unsigned int __cil_tmp8 ;
2774
2775  {
2776  {
2777#line 118
2778  printk("<6>mtd_subpagetest: erasing whole device\n");
2779#line 119
2780  i = 0U;
2781  }
2782#line 119
2783  goto ldv_18687;
2784  ldv_18686: ;
2785  {
2786#line 120
2787  __cil_tmp3 = (unsigned long )i;
2788#line 120
2789  __cil_tmp4 = bbt + __cil_tmp3;
2790#line 120
2791  __cil_tmp5 = *__cil_tmp4;
2792#line 120
2793  __cil_tmp6 = (unsigned int )__cil_tmp5;
2794#line 120
2795  if (__cil_tmp6 != 0U) {
2796#line 121
2797    goto ldv_18684;
2798  } else {
2799
2800  }
2801  }
2802  {
2803#line 122
2804  __cil_tmp7 = (int )i;
2805#line 122
2806  err = erase_eraseblock(__cil_tmp7);
2807  }
2808#line 123
2809  if (err != 0) {
2810#line 124
2811    return (err);
2812  } else {
2813
2814  }
2815  {
2816#line 125
2817  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
2818                125, 0);
2819#line 125
2820  _cond_resched();
2821  }
2822  ldv_18684: 
2823#line 119
2824  i = i + 1U;
2825  ldv_18687: ;
2826  {
2827#line 119
2828  __cil_tmp8 = (unsigned int )ebcnt;
2829#line 119
2830  if (__cil_tmp8 > i) {
2831#line 120
2832    goto ldv_18686;
2833  } else {
2834#line 122
2835    goto ldv_18688;
2836  }
2837  }
2838  ldv_18688: 
2839  {
2840#line 127
2841  printk("<6>mtd_subpagetest: erased %u eraseblocks\n", i);
2842  }
2843#line 128
2844  return (0);
2845}
2846}
2847#line 131 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2848static int write_eraseblock(int ebnum ) 
2849{ size_t written ;
2850  int err ;
2851  loff_t addr ;
2852  int tmp ;
2853  long tmp___0 ;
2854  long tmp___1 ;
2855  int tmp___2 ;
2856  long tmp___3 ;
2857  long tmp___4 ;
2858  uint32_t __cil_tmp11 ;
2859  unsigned long __cil_tmp12 ;
2860  unsigned long __cil_tmp13 ;
2861  uint32_t __cil_tmp14 ;
2862  uint32_t __cil_tmp15 ;
2863  size_t __cil_tmp16 ;
2864  size_t __cil_tmp17 ;
2865  u_char const   *__cil_tmp18 ;
2866  int __cil_tmp19 ;
2867  long __cil_tmp20 ;
2868  size_t *__cil_tmp21 ;
2869  size_t __cil_tmp22 ;
2870  size_t __cil_tmp23 ;
2871  int __cil_tmp24 ;
2872  long __cil_tmp25 ;
2873  size_t *__cil_tmp26 ;
2874  size_t __cil_tmp27 ;
2875  size_t __cil_tmp28 ;
2876  size_t *__cil_tmp29 ;
2877  size_t __cil_tmp30 ;
2878  loff_t __cil_tmp31 ;
2879  size_t __cil_tmp32 ;
2880  size_t __cil_tmp33 ;
2881  u_char const   *__cil_tmp34 ;
2882  int __cil_tmp35 ;
2883  long __cil_tmp36 ;
2884  size_t *__cil_tmp37 ;
2885  size_t __cil_tmp38 ;
2886  size_t __cil_tmp39 ;
2887  int __cil_tmp40 ;
2888  long __cil_tmp41 ;
2889  size_t *__cil_tmp42 ;
2890  size_t __cil_tmp43 ;
2891  size_t __cil_tmp44 ;
2892  size_t *__cil_tmp45 ;
2893  size_t __cil_tmp46 ;
2894
2895  {
2896  {
2897#line 134
2898  err = 0;
2899#line 135
2900  __cil_tmp11 = (uint32_t )ebnum;
2901#line 135
2902  __cil_tmp12 = (unsigned long )mtd;
2903#line 135
2904  __cil_tmp13 = __cil_tmp12 + 16;
2905#line 135
2906  __cil_tmp14 = *((uint32_t *)__cil_tmp13);
2907#line 135
2908  __cil_tmp15 = __cil_tmp14 * __cil_tmp11;
2909#line 135
2910  addr = (loff_t )__cil_tmp15;
2911#line 137
2912  __cil_tmp16 = (size_t )subpgsize;
2913#line 137
2914  set_random_data(writebuf, __cil_tmp16);
2915#line 138
2916  __cil_tmp17 = (size_t )subpgsize;
2917#line 138
2918  __cil_tmp18 = (u_char const   *)writebuf;
2919#line 138
2920  err = mtd_write(mtd, addr, __cil_tmp17, & written, __cil_tmp18);
2921#line 139
2922  __cil_tmp19 = err != 0;
2923#line 139
2924  __cil_tmp20 = (long )__cil_tmp19;
2925#line 139
2926  tmp___0 = __builtin_expect(__cil_tmp20, 0L);
2927  }
2928#line 139
2929  if (tmp___0 != 0L) {
2930#line 139
2931    goto _L;
2932  } else {
2933    {
2934#line 139
2935    __cil_tmp21 = & written;
2936#line 139
2937    __cil_tmp22 = *__cil_tmp21;
2938#line 139
2939    __cil_tmp23 = (size_t )subpgsize;
2940#line 139
2941    __cil_tmp24 = __cil_tmp23 != __cil_tmp22;
2942#line 139
2943    __cil_tmp25 = (long )__cil_tmp24;
2944#line 139
2945    tmp___1 = __builtin_expect(__cil_tmp25, 0L);
2946    }
2947#line 139
2948    if (tmp___1 != 0L) {
2949      _L: /* CIL Label */ 
2950      {
2951#line 140
2952      printk("<6>mtd_subpagetest: error: write failed at %#llx\n", addr);
2953      }
2954      {
2955#line 142
2956      __cil_tmp26 = & written;
2957#line 142
2958      __cil_tmp27 = *__cil_tmp26;
2959#line 142
2960      __cil_tmp28 = (size_t )subpgsize;
2961#line 142
2962      if (__cil_tmp28 != __cil_tmp27) {
2963        {
2964#line 143
2965        printk("<6>mtd_subpagetest:   write size: %#x\n", subpgsize);
2966#line 144
2967        __cil_tmp29 = & written;
2968#line 144
2969        __cil_tmp30 = *__cil_tmp29;
2970#line 144
2971        printk("<6>mtd_subpagetest:   written: %#zx\n", __cil_tmp30);
2972        }
2973      } else {
2974
2975      }
2976      }
2977#line 146
2978      if (err != 0) {
2979#line 146
2980        tmp = err;
2981      } else {
2982#line 146
2983        tmp = -1;
2984      }
2985#line 146
2986      return (tmp);
2987    } else {
2988
2989    }
2990  }
2991  {
2992#line 149
2993  __cil_tmp31 = (loff_t )subpgsize;
2994#line 149
2995  addr = __cil_tmp31 + addr;
2996#line 151
2997  __cil_tmp32 = (size_t )subpgsize;
2998#line 151
2999  set_random_data(writebuf, __cil_tmp32);
3000#line 152
3001  __cil_tmp33 = (size_t )subpgsize;
3002#line 152
3003  __cil_tmp34 = (u_char const   *)writebuf;
3004#line 152
3005  err = mtd_write(mtd, addr, __cil_tmp33, & written, __cil_tmp34);
3006#line 153
3007  __cil_tmp35 = err != 0;
3008#line 153
3009  __cil_tmp36 = (long )__cil_tmp35;
3010#line 153
3011  tmp___3 = __builtin_expect(__cil_tmp36, 0L);
3012  }
3013#line 153
3014  if (tmp___3 != 0L) {
3015#line 153
3016    goto _L___0;
3017  } else {
3018    {
3019#line 153
3020    __cil_tmp37 = & written;
3021#line 153
3022    __cil_tmp38 = *__cil_tmp37;
3023#line 153
3024    __cil_tmp39 = (size_t )subpgsize;
3025#line 153
3026    __cil_tmp40 = __cil_tmp39 != __cil_tmp38;
3027#line 153
3028    __cil_tmp41 = (long )__cil_tmp40;
3029#line 153
3030    tmp___4 = __builtin_expect(__cil_tmp41, 0L);
3031    }
3032#line 153
3033    if (tmp___4 != 0L) {
3034      _L___0: /* CIL Label */ 
3035      {
3036#line 154
3037      printk("<6>mtd_subpagetest: error: write failed at %#llx\n", addr);
3038      }
3039      {
3040#line 156
3041      __cil_tmp42 = & written;
3042#line 156
3043      __cil_tmp43 = *__cil_tmp42;
3044#line 156
3045      __cil_tmp44 = (size_t )subpgsize;
3046#line 156
3047      if (__cil_tmp44 != __cil_tmp43) {
3048        {
3049#line 157
3050        printk("<6>mtd_subpagetest:   write size: %#x\n", subpgsize);
3051#line 158
3052        __cil_tmp45 = & written;
3053#line 158
3054        __cil_tmp46 = *__cil_tmp45;
3055#line 158
3056        printk("<6>mtd_subpagetest:   written: %#zx\n", __cil_tmp46);
3057        }
3058      } else {
3059
3060      }
3061      }
3062#line 160
3063      if (err != 0) {
3064#line 160
3065        tmp___2 = err;
3066      } else {
3067#line 160
3068        tmp___2 = -1;
3069      }
3070#line 160
3071      return (tmp___2);
3072    } else {
3073
3074    }
3075  }
3076#line 163
3077  return (err);
3078}
3079}
3080#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3081static int write_eraseblock2(int ebnum ) 
3082{ size_t written ;
3083  int err ;
3084  int k ;
3085  loff_t addr ;
3086  int tmp ;
3087  long tmp___0 ;
3088  long tmp___1 ;
3089  uint32_t __cil_tmp9 ;
3090  unsigned long __cil_tmp10 ;
3091  unsigned long __cil_tmp11 ;
3092  uint32_t __cil_tmp12 ;
3093  uint32_t __cil_tmp13 ;
3094  unsigned long __cil_tmp14 ;
3095  unsigned long __cil_tmp15 ;
3096  uint32_t __cil_tmp16 ;
3097  int __cil_tmp17 ;
3098  uint32_t __cil_tmp18 ;
3099  uint32_t __cil_tmp19 ;
3100  loff_t __cil_tmp20 ;
3101  int __cil_tmp21 ;
3102  loff_t __cil_tmp22 ;
3103  loff_t __cil_tmp23 ;
3104  int __cil_tmp24 ;
3105  size_t __cil_tmp25 ;
3106  int __cil_tmp26 ;
3107  size_t __cil_tmp27 ;
3108  u_char const   *__cil_tmp28 ;
3109  int __cil_tmp29 ;
3110  long __cil_tmp30 ;
3111  size_t *__cil_tmp31 ;
3112  size_t __cil_tmp32 ;
3113  int __cil_tmp33 ;
3114  size_t __cil_tmp34 ;
3115  int __cil_tmp35 ;
3116  long __cil_tmp36 ;
3117  size_t *__cil_tmp37 ;
3118  size_t __cil_tmp38 ;
3119  size_t __cil_tmp39 ;
3120  int __cil_tmp40 ;
3121  size_t *__cil_tmp41 ;
3122  size_t __cil_tmp42 ;
3123  int __cil_tmp43 ;
3124  loff_t __cil_tmp44 ;
3125
3126  {
3127#line 169
3128  err = 0;
3129#line 170
3130  __cil_tmp9 = (uint32_t )ebnum;
3131#line 170
3132  __cil_tmp10 = (unsigned long )mtd;
3133#line 170
3134  __cil_tmp11 = __cil_tmp10 + 16;
3135#line 170
3136  __cil_tmp12 = *((uint32_t *)__cil_tmp11);
3137#line 170
3138  __cil_tmp13 = __cil_tmp12 * __cil_tmp9;
3139#line 170
3140  addr = (loff_t )__cil_tmp13;
3141#line 172
3142  k = 1;
3143#line 172
3144  goto ldv_18704;
3145  ldv_18703: ;
3146  {
3147#line 173
3148  __cil_tmp14 = (unsigned long )mtd;
3149#line 173
3150  __cil_tmp15 = __cil_tmp14 + 16;
3151#line 173
3152  __cil_tmp16 = *((uint32_t *)__cil_tmp15);
3153#line 173
3154  __cil_tmp17 = ebnum + 1;
3155#line 173
3156  __cil_tmp18 = (uint32_t )__cil_tmp17;
3157#line 173
3158  __cil_tmp19 = __cil_tmp18 * __cil_tmp16;
3159#line 173
3160  __cil_tmp20 = (loff_t )__cil_tmp19;
3161#line 173
3162  __cil_tmp21 = subpgsize * k;
3163#line 173
3164  __cil_tmp22 = (loff_t )__cil_tmp21;
3165#line 173
3166  __cil_tmp23 = __cil_tmp22 + addr;
3167#line 173
3168  if (__cil_tmp23 > __cil_tmp20) {
3169#line 174
3170    goto ldv_18702;
3171  } else {
3172
3173  }
3174  }
3175  {
3176#line 175
3177  __cil_tmp24 = subpgsize * k;
3178#line 175
3179  __cil_tmp25 = (size_t )__cil_tmp24;
3180#line 175
3181  set_random_data(writebuf, __cil_tmp25);
3182#line 176
3183  __cil_tmp26 = subpgsize * k;
3184#line 176
3185  __cil_tmp27 = (size_t )__cil_tmp26;
3186#line 176
3187  __cil_tmp28 = (u_char const   *)writebuf;
3188#line 176
3189  err = mtd_write(mtd, addr, __cil_tmp27, & written, __cil_tmp28);
3190#line 177
3191  __cil_tmp29 = err != 0;
3192#line 177
3193  __cil_tmp30 = (long )__cil_tmp29;
3194#line 177
3195  tmp___0 = __builtin_expect(__cil_tmp30, 0L);
3196  }
3197#line 177
3198  if (tmp___0 != 0L) {
3199#line 177
3200    goto _L;
3201  } else {
3202    {
3203#line 177
3204    __cil_tmp31 = & written;
3205#line 177
3206    __cil_tmp32 = *__cil_tmp31;
3207#line 177
3208    __cil_tmp33 = subpgsize * k;
3209#line 177
3210    __cil_tmp34 = (size_t )__cil_tmp33;
3211#line 177
3212    __cil_tmp35 = __cil_tmp34 != __cil_tmp32;
3213#line 177
3214    __cil_tmp36 = (long )__cil_tmp35;
3215#line 177
3216    tmp___1 = __builtin_expect(__cil_tmp36, 0L);
3217    }
3218#line 177
3219    if (tmp___1 != 0L) {
3220      _L: /* CIL Label */ 
3221      {
3222#line 178
3223      printk("<6>mtd_subpagetest: error: write failed at %#llx\n", addr);
3224      }
3225      {
3226#line 180
3227      __cil_tmp37 = & written;
3228#line 180
3229      __cil_tmp38 = *__cil_tmp37;
3230#line 180
3231      __cil_tmp39 = (size_t )subpgsize;
3232#line 180
3233      if (__cil_tmp39 != __cil_tmp38) {
3234        {
3235#line 181
3236        __cil_tmp40 = subpgsize * k;
3237#line 181
3238        printk("<6>mtd_subpagetest:   write size: %#x\n", __cil_tmp40);
3239#line 183
3240        __cil_tmp41 = & written;
3241#line 183
3242        __cil_tmp42 = *__cil_tmp41;
3243#line 183
3244        printk("<6>mtd_subpagetest:   written: %#08zx\n", __cil_tmp42);
3245        }
3246      } else {
3247
3248      }
3249      }
3250#line 186
3251      if (err != 0) {
3252#line 186
3253        tmp = err;
3254      } else {
3255#line 186
3256        tmp = -1;
3257      }
3258#line 186
3259      return (tmp);
3260    } else {
3261
3262    }
3263  }
3264#line 188
3265  __cil_tmp43 = subpgsize * k;
3266#line 188
3267  __cil_tmp44 = (loff_t )__cil_tmp43;
3268#line 188
3269  addr = __cil_tmp44 + addr;
3270#line 172
3271  k = k + 1;
3272  ldv_18704: ;
3273#line 172
3274  if (k <= 32) {
3275#line 173
3276    goto ldv_18703;
3277  } else {
3278#line 175
3279    goto ldv_18702;
3280  }
3281  ldv_18702: ;
3282#line 191
3283  return (err);
3284}
3285}
3286#line 194 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3287static void print_subpage(unsigned char *p ) 
3288{ int i ;
3289  int j ;
3290  unsigned char *tmp ;
3291  unsigned char __cil_tmp5 ;
3292  int __cil_tmp6 ;
3293
3294  {
3295#line 198
3296  i = 0;
3297#line 198
3298  goto ldv_18714;
3299  ldv_18713: 
3300#line 199
3301  j = 0;
3302#line 199
3303  goto ldv_18711;
3304  ldv_18710: 
3305  {
3306#line 200
3307  tmp = p;
3308#line 200
3309  p = p + 1;
3310#line 200
3311  __cil_tmp5 = *tmp;
3312#line 200
3313  __cil_tmp6 = (int )__cil_tmp5;
3314#line 200
3315  printk("%02x", __cil_tmp6);
3316#line 199
3317  i = i + 1;
3318#line 199
3319  j = j + 1;
3320  }
3321  ldv_18711: ;
3322#line 199
3323  if (i < subpgsize) {
3324#line 199
3325    if (j <= 31) {
3326#line 200
3327      goto ldv_18710;
3328    } else {
3329#line 202
3330      goto ldv_18712;
3331    }
3332  } else {
3333#line 202
3334    goto ldv_18712;
3335  }
3336  ldv_18712: 
3337  {
3338#line 201
3339  printk("\n");
3340  }
3341  ldv_18714: ;
3342#line 198
3343  if (i < subpgsize) {
3344#line 199
3345    goto ldv_18713;
3346  } else {
3347#line 201
3348    goto ldv_18715;
3349  }
3350  ldv_18715: ;
3351#line 203
3352  return;
3353}
3354}
3355#line 205 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3356static int verify_eraseblock(int ebnum ) 
3357{ size_t read ;
3358  int err ;
3359  loff_t addr ;
3360  int tmp ;
3361  int tmp___0 ;
3362  long tmp___1 ;
3363  long tmp___2 ;
3364  int tmp___3 ;
3365  long tmp___4 ;
3366  int tmp___5 ;
3367  int tmp___6 ;
3368  long tmp___7 ;
3369  long tmp___8 ;
3370  int tmp___9 ;
3371  long tmp___10 ;
3372  uint32_t __cil_tmp17 ;
3373  unsigned long __cil_tmp18 ;
3374  unsigned long __cil_tmp19 ;
3375  uint32_t __cil_tmp20 ;
3376  uint32_t __cil_tmp21 ;
3377  size_t __cil_tmp22 ;
3378  size_t __cil_tmp23 ;
3379  size_t __cil_tmp24 ;
3380  int __cil_tmp25 ;
3381  long __cil_tmp26 ;
3382  size_t *__cil_tmp27 ;
3383  size_t __cil_tmp28 ;
3384  size_t __cil_tmp29 ;
3385  int __cil_tmp30 ;
3386  long __cil_tmp31 ;
3387  size_t *__cil_tmp32 ;
3388  size_t __cil_tmp33 ;
3389  size_t __cil_tmp34 ;
3390  void const   *__cil_tmp35 ;
3391  void const   *__cil_tmp36 ;
3392  size_t __cil_tmp37 ;
3393  int __cil_tmp38 ;
3394  long __cil_tmp39 ;
3395  loff_t __cil_tmp40 ;
3396  size_t __cil_tmp41 ;
3397  size_t __cil_tmp42 ;
3398  size_t __cil_tmp43 ;
3399  int __cil_tmp44 ;
3400  long __cil_tmp45 ;
3401  size_t *__cil_tmp46 ;
3402  size_t __cil_tmp47 ;
3403  size_t __cil_tmp48 ;
3404  int __cil_tmp49 ;
3405  long __cil_tmp50 ;
3406  size_t *__cil_tmp51 ;
3407  size_t __cil_tmp52 ;
3408  size_t __cil_tmp53 ;
3409  void const   *__cil_tmp54 ;
3410  void const   *__cil_tmp55 ;
3411  size_t __cil_tmp56 ;
3412  int __cil_tmp57 ;
3413  long __cil_tmp58 ;
3414
3415  {
3416  {
3417#line 208
3418  err = 0;
3419#line 209
3420  __cil_tmp17 = (uint32_t )ebnum;
3421#line 209
3422  __cil_tmp18 = (unsigned long )mtd;
3423#line 209
3424  __cil_tmp19 = __cil_tmp18 + 16;
3425#line 209
3426  __cil_tmp20 = *((uint32_t *)__cil_tmp19);
3427#line 209
3428  __cil_tmp21 = __cil_tmp20 * __cil_tmp17;
3429#line 209
3430  addr = (loff_t )__cil_tmp21;
3431#line 211
3432  __cil_tmp22 = (size_t )subpgsize;
3433#line 211
3434  set_random_data(writebuf, __cil_tmp22);
3435#line 212
3436  __cil_tmp23 = (size_t )subpgsize;
3437#line 212
3438  clear_data(readbuf, __cil_tmp23);
3439#line 213
3440  __cil_tmp24 = (size_t )subpgsize;
3441#line 213
3442  err = mtd_read(mtd, addr, __cil_tmp24, & read, readbuf);
3443#line 214
3444  __cil_tmp25 = err != 0;
3445#line 214
3446  __cil_tmp26 = (long )__cil_tmp25;
3447#line 214
3448  tmp___1 = __builtin_expect(__cil_tmp26, 0L);
3449  }
3450#line 214
3451  if (tmp___1 != 0L) {
3452#line 214
3453    goto _L___0;
3454  } else {
3455    {
3456#line 214
3457    __cil_tmp27 = & read;
3458#line 214
3459    __cil_tmp28 = *__cil_tmp27;
3460#line 214
3461    __cil_tmp29 = (size_t )subpgsize;
3462#line 214
3463    __cil_tmp30 = __cil_tmp29 != __cil_tmp28;
3464#line 214
3465    __cil_tmp31 = (long )__cil_tmp30;
3466#line 214
3467    tmp___2 = __builtin_expect(__cil_tmp31, 0L);
3468    }
3469#line 214
3470    if (tmp___2 != 0L) {
3471      _L___0: /* CIL Label */ 
3472      {
3473#line 215
3474      tmp___0 = mtd_is_bitflip(err);
3475      }
3476#line 215
3477      if (tmp___0 != 0) {
3478        {
3479#line 215
3480        __cil_tmp32 = & read;
3481#line 215
3482        __cil_tmp33 = *__cil_tmp32;
3483#line 215
3484        __cil_tmp34 = (size_t )subpgsize;
3485#line 215
3486        if (__cil_tmp34 == __cil_tmp33) {
3487          {
3488#line 216
3489          printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
3490#line 218
3491          err = 0;
3492          }
3493        } else {
3494#line 215
3495          goto _L;
3496        }
3497        }
3498      } else {
3499        _L: /* CIL Label */ 
3500        {
3501#line 220
3502        printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
3503        }
3504#line 222
3505        if (err != 0) {
3506#line 222
3507          tmp = err;
3508        } else {
3509#line 222
3510          tmp = -1;
3511        }
3512#line 222
3513        return (tmp);
3514      }
3515    } else {
3516
3517    }
3518  }
3519  {
3520#line 225
3521  __cil_tmp35 = (void const   *)readbuf;
3522#line 225
3523  __cil_tmp36 = (void const   *)writebuf;
3524#line 225
3525  __cil_tmp37 = (size_t )subpgsize;
3526#line 225
3527  tmp___3 = memcmp(__cil_tmp35, __cil_tmp36, __cil_tmp37);
3528#line 225
3529  __cil_tmp38 = tmp___3 != 0;
3530#line 225
3531  __cil_tmp39 = (long )__cil_tmp38;
3532#line 225
3533  tmp___4 = __builtin_expect(__cil_tmp39, 0L);
3534  }
3535#line 225
3536  if (tmp___4 != 0L) {
3537    {
3538#line 226
3539    printk("<6>mtd_subpagetest: error: verify failed at %#llx\n", addr);
3540#line 228
3541    printk("<6>mtd_subpagetest: ------------- written----------------\n");
3542#line 229
3543    print_subpage(writebuf);
3544#line 230
3545    printk("<6>mtd_subpagetest: ------------- read ------------------\n");
3546#line 231
3547    print_subpage(readbuf);
3548#line 232
3549    printk("<6>mtd_subpagetest: -------------------------------------\n");
3550#line 233
3551    errcnt = errcnt + 1;
3552    }
3553  } else {
3554
3555  }
3556  {
3557#line 236
3558  __cil_tmp40 = (loff_t )subpgsize;
3559#line 236
3560  addr = __cil_tmp40 + addr;
3561#line 238
3562  __cil_tmp41 = (size_t )subpgsize;
3563#line 238
3564  set_random_data(writebuf, __cil_tmp41);
3565#line 239
3566  __cil_tmp42 = (size_t )subpgsize;
3567#line 239
3568  clear_data(readbuf, __cil_tmp42);
3569#line 240
3570  __cil_tmp43 = (size_t )subpgsize;
3571#line 240
3572  err = mtd_read(mtd, addr, __cil_tmp43, & read, readbuf);
3573#line 241
3574  __cil_tmp44 = err != 0;
3575#line 241
3576  __cil_tmp45 = (long )__cil_tmp44;
3577#line 241
3578  tmp___7 = __builtin_expect(__cil_tmp45, 0L);
3579  }
3580#line 241
3581  if (tmp___7 != 0L) {
3582#line 241
3583    goto _L___2;
3584  } else {
3585    {
3586#line 241
3587    __cil_tmp46 = & read;
3588#line 241
3589    __cil_tmp47 = *__cil_tmp46;
3590#line 241
3591    __cil_tmp48 = (size_t )subpgsize;
3592#line 241
3593    __cil_tmp49 = __cil_tmp48 != __cil_tmp47;
3594#line 241
3595    __cil_tmp50 = (long )__cil_tmp49;
3596#line 241
3597    tmp___8 = __builtin_expect(__cil_tmp50, 0L);
3598    }
3599#line 241
3600    if (tmp___8 != 0L) {
3601      _L___2: /* CIL Label */ 
3602      {
3603#line 242
3604      tmp___6 = mtd_is_bitflip(err);
3605      }
3606#line 242
3607      if (tmp___6 != 0) {
3608        {
3609#line 242
3610        __cil_tmp51 = & read;
3611#line 242
3612        __cil_tmp52 = *__cil_tmp51;
3613#line 242
3614        __cil_tmp53 = (size_t )subpgsize;
3615#line 242
3616        if (__cil_tmp53 == __cil_tmp52) {
3617          {
3618#line 243
3619          printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
3620#line 245
3621          err = 0;
3622          }
3623        } else {
3624#line 242
3625          goto _L___1;
3626        }
3627        }
3628      } else {
3629        _L___1: /* CIL Label */ 
3630        {
3631#line 247
3632        printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
3633        }
3634#line 249
3635        if (err != 0) {
3636#line 249
3637          tmp___5 = err;
3638        } else {
3639#line 249
3640          tmp___5 = -1;
3641        }
3642#line 249
3643        return (tmp___5);
3644      }
3645    } else {
3646
3647    }
3648  }
3649  {
3650#line 252
3651  __cil_tmp54 = (void const   *)readbuf;
3652#line 252
3653  __cil_tmp55 = (void const   *)writebuf;
3654#line 252
3655  __cil_tmp56 = (size_t )subpgsize;
3656#line 252
3657  tmp___9 = memcmp(__cil_tmp54, __cil_tmp55, __cil_tmp56);
3658#line 252
3659  __cil_tmp57 = tmp___9 != 0;
3660#line 252
3661  __cil_tmp58 = (long )__cil_tmp57;
3662#line 252
3663  tmp___10 = __builtin_expect(__cil_tmp58, 0L);
3664  }
3665#line 252
3666  if (tmp___10 != 0L) {
3667    {
3668#line 253
3669    printk("<6>mtd_subpagetest: error: verify failed at %#llx\n", addr);
3670#line 255
3671    printk("<6>mtd_subpagetest: ------------- written----------------\n");
3672#line 256
3673    print_subpage(writebuf);
3674#line 257
3675    printk("<6>mtd_subpagetest: ------------- read ------------------\n");
3676#line 258
3677    print_subpage(readbuf);
3678#line 259
3679    printk("<6>mtd_subpagetest: -------------------------------------\n");
3680#line 260
3681    errcnt = errcnt + 1;
3682    }
3683  } else {
3684
3685  }
3686#line 263
3687  return (err);
3688}
3689}
3690#line 266 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3691static int verify_eraseblock2(int ebnum ) 
3692{ size_t read ;
3693  int err ;
3694  int k ;
3695  loff_t addr ;
3696  int tmp ;
3697  int tmp___0 ;
3698  long tmp___1 ;
3699  long tmp___2 ;
3700  int tmp___3 ;
3701  long tmp___4 ;
3702  uint32_t __cil_tmp12 ;
3703  unsigned long __cil_tmp13 ;
3704  unsigned long __cil_tmp14 ;
3705  uint32_t __cil_tmp15 ;
3706  uint32_t __cil_tmp16 ;
3707  unsigned long __cil_tmp17 ;
3708  unsigned long __cil_tmp18 ;
3709  uint32_t __cil_tmp19 ;
3710  int __cil_tmp20 ;
3711  uint32_t __cil_tmp21 ;
3712  uint32_t __cil_tmp22 ;
3713  loff_t __cil_tmp23 ;
3714  int __cil_tmp24 ;
3715  loff_t __cil_tmp25 ;
3716  loff_t __cil_tmp26 ;
3717  int __cil_tmp27 ;
3718  size_t __cil_tmp28 ;
3719  int __cil_tmp29 ;
3720  size_t __cil_tmp30 ;
3721  int __cil_tmp31 ;
3722  size_t __cil_tmp32 ;
3723  int __cil_tmp33 ;
3724  long __cil_tmp34 ;
3725  size_t *__cil_tmp35 ;
3726  size_t __cil_tmp36 ;
3727  int __cil_tmp37 ;
3728  size_t __cil_tmp38 ;
3729  int __cil_tmp39 ;
3730  long __cil_tmp40 ;
3731  size_t *__cil_tmp41 ;
3732  size_t __cil_tmp42 ;
3733  int __cil_tmp43 ;
3734  size_t __cil_tmp44 ;
3735  void const   *__cil_tmp45 ;
3736  void const   *__cil_tmp46 ;
3737  int __cil_tmp47 ;
3738  size_t __cil_tmp48 ;
3739  int __cil_tmp49 ;
3740  long __cil_tmp50 ;
3741  int __cil_tmp51 ;
3742  loff_t __cil_tmp52 ;
3743
3744  {
3745#line 269
3746  err = 0;
3747#line 270
3748  __cil_tmp12 = (uint32_t )ebnum;
3749#line 270
3750  __cil_tmp13 = (unsigned long )mtd;
3751#line 270
3752  __cil_tmp14 = __cil_tmp13 + 16;
3753#line 270
3754  __cil_tmp15 = *((uint32_t *)__cil_tmp14);
3755#line 270
3756  __cil_tmp16 = __cil_tmp15 * __cil_tmp12;
3757#line 270
3758  addr = (loff_t )__cil_tmp16;
3759#line 272
3760  k = 1;
3761#line 272
3762  goto ldv_18731;
3763  ldv_18730: ;
3764  {
3765#line 273
3766  __cil_tmp17 = (unsigned long )mtd;
3767#line 273
3768  __cil_tmp18 = __cil_tmp17 + 16;
3769#line 273
3770  __cil_tmp19 = *((uint32_t *)__cil_tmp18);
3771#line 273
3772  __cil_tmp20 = ebnum + 1;
3773#line 273
3774  __cil_tmp21 = (uint32_t )__cil_tmp20;
3775#line 273
3776  __cil_tmp22 = __cil_tmp21 * __cil_tmp19;
3777#line 273
3778  __cil_tmp23 = (loff_t )__cil_tmp22;
3779#line 273
3780  __cil_tmp24 = subpgsize * k;
3781#line 273
3782  __cil_tmp25 = (loff_t )__cil_tmp24;
3783#line 273
3784  __cil_tmp26 = __cil_tmp25 + addr;
3785#line 273
3786  if (__cil_tmp26 > __cil_tmp23) {
3787#line 274
3788    goto ldv_18729;
3789  } else {
3790
3791  }
3792  }
3793  {
3794#line 275
3795  __cil_tmp27 = subpgsize * k;
3796#line 275
3797  __cil_tmp28 = (size_t )__cil_tmp27;
3798#line 275
3799  set_random_data(writebuf, __cil_tmp28);
3800#line 276
3801  __cil_tmp29 = subpgsize * k;
3802#line 276
3803  __cil_tmp30 = (size_t )__cil_tmp29;
3804#line 276
3805  clear_data(readbuf, __cil_tmp30);
3806#line 277
3807  __cil_tmp31 = subpgsize * k;
3808#line 277
3809  __cil_tmp32 = (size_t )__cil_tmp31;
3810#line 277
3811  err = mtd_read(mtd, addr, __cil_tmp32, & read, readbuf);
3812#line 278
3813  __cil_tmp33 = err != 0;
3814#line 278
3815  __cil_tmp34 = (long )__cil_tmp33;
3816#line 278
3817  tmp___1 = __builtin_expect(__cil_tmp34, 0L);
3818  }
3819#line 278
3820  if (tmp___1 != 0L) {
3821#line 278
3822    goto _L___0;
3823  } else {
3824    {
3825#line 278
3826    __cil_tmp35 = & read;
3827#line 278
3828    __cil_tmp36 = *__cil_tmp35;
3829#line 278
3830    __cil_tmp37 = subpgsize * k;
3831#line 278
3832    __cil_tmp38 = (size_t )__cil_tmp37;
3833#line 278
3834    __cil_tmp39 = __cil_tmp38 != __cil_tmp36;
3835#line 278
3836    __cil_tmp40 = (long )__cil_tmp39;
3837#line 278
3838    tmp___2 = __builtin_expect(__cil_tmp40, 0L);
3839    }
3840#line 278
3841    if (tmp___2 != 0L) {
3842      _L___0: /* CIL Label */ 
3843      {
3844#line 279
3845      tmp___0 = mtd_is_bitflip(err);
3846      }
3847#line 279
3848      if (tmp___0 != 0) {
3849        {
3850#line 279
3851        __cil_tmp41 = & read;
3852#line 279
3853        __cil_tmp42 = *__cil_tmp41;
3854#line 279
3855        __cil_tmp43 = subpgsize * k;
3856#line 279
3857        __cil_tmp44 = (size_t )__cil_tmp43;
3858#line 279
3859        if (__cil_tmp44 == __cil_tmp42) {
3860          {
3861#line 280
3862          printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
3863#line 282
3864          err = 0;
3865          }
3866        } else {
3867#line 279
3868          goto _L;
3869        }
3870        }
3871      } else {
3872        _L: /* CIL Label */ 
3873        {
3874#line 284
3875        printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
3876        }
3877#line 286
3878        if (err != 0) {
3879#line 286
3880          tmp = err;
3881        } else {
3882#line 286
3883          tmp = -1;
3884        }
3885#line 286
3886        return (tmp);
3887      }
3888    } else {
3889
3890    }
3891  }
3892  {
3893#line 289
3894  __cil_tmp45 = (void const   *)readbuf;
3895#line 289
3896  __cil_tmp46 = (void const   *)writebuf;
3897#line 289
3898  __cil_tmp47 = subpgsize * k;
3899#line 289
3900  __cil_tmp48 = (size_t )__cil_tmp47;
3901#line 289
3902  tmp___3 = memcmp(__cil_tmp45, __cil_tmp46, __cil_tmp48);
3903#line 289
3904  __cil_tmp49 = tmp___3 != 0;
3905#line 289
3906  __cil_tmp50 = (long )__cil_tmp49;
3907#line 289
3908  tmp___4 = __builtin_expect(__cil_tmp50, 0L);
3909  }
3910#line 289
3911  if (tmp___4 != 0L) {
3912    {
3913#line 290
3914    printk("<6>mtd_subpagetest: error: verify failed at %#llx\n", addr);
3915#line 292
3916    errcnt = errcnt + 1;
3917    }
3918  } else {
3919
3920  }
3921#line 294
3922  __cil_tmp51 = subpgsize * k;
3923#line 294
3924  __cil_tmp52 = (loff_t )__cil_tmp51;
3925#line 294
3926  addr = __cil_tmp52 + addr;
3927#line 272
3928  k = k + 1;
3929  ldv_18731: ;
3930#line 272
3931  if (k <= 32) {
3932#line 273
3933    goto ldv_18730;
3934  } else {
3935#line 275
3936    goto ldv_18729;
3937  }
3938  ldv_18729: ;
3939#line 297
3940  return (err);
3941}
3942}
3943#line 300 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3944static int verify_eraseblock_ff(int ebnum ) 
3945{ uint32_t j ;
3946  size_t read ;
3947  int err ;
3948  loff_t addr ;
3949  int tmp ;
3950  int tmp___0 ;
3951  long tmp___1 ;
3952  long tmp___2 ;
3953  int tmp___3 ;
3954  long tmp___4 ;
3955  uint32_t __cil_tmp12 ;
3956  unsigned long __cil_tmp13 ;
3957  unsigned long __cil_tmp14 ;
3958  uint32_t __cil_tmp15 ;
3959  uint32_t __cil_tmp16 ;
3960  void *__cil_tmp17 ;
3961  size_t __cil_tmp18 ;
3962  size_t __cil_tmp19 ;
3963  size_t __cil_tmp20 ;
3964  int __cil_tmp21 ;
3965  long __cil_tmp22 ;
3966  size_t *__cil_tmp23 ;
3967  size_t __cil_tmp24 ;
3968  size_t __cil_tmp25 ;
3969  int __cil_tmp26 ;
3970  long __cil_tmp27 ;
3971  size_t *__cil_tmp28 ;
3972  size_t __cil_tmp29 ;
3973  size_t __cil_tmp30 ;
3974  void const   *__cil_tmp31 ;
3975  void const   *__cil_tmp32 ;
3976  size_t __cil_tmp33 ;
3977  int __cil_tmp34 ;
3978  long __cil_tmp35 ;
3979  loff_t __cil_tmp36 ;
3980  uint32_t __cil_tmp37 ;
3981  unsigned long __cil_tmp38 ;
3982  unsigned long __cil_tmp39 ;
3983  uint32_t __cil_tmp40 ;
3984  uint32_t __cil_tmp41 ;
3985
3986  {
3987  {
3988#line 304
3989  err = 0;
3990#line 305
3991  __cil_tmp12 = (uint32_t )ebnum;
3992#line 305
3993  __cil_tmp13 = (unsigned long )mtd;
3994#line 305
3995  __cil_tmp14 = __cil_tmp13 + 16;
3996#line 305
3997  __cil_tmp15 = *((uint32_t *)__cil_tmp14);
3998#line 305
3999  __cil_tmp16 = __cil_tmp15 * __cil_tmp12;
4000#line 305
4001  addr = (loff_t )__cil_tmp16;
4002#line 307
4003  __cil_tmp17 = (void *)writebuf;
4004#line 307
4005  __cil_tmp18 = (size_t )subpgsize;
4006#line 307
4007  memset(__cil_tmp17, 255, __cil_tmp18);
4008#line 308
4009  j = 0U;
4010  }
4011#line 308
4012  goto ldv_18740;
4013  ldv_18739: 
4014  {
4015#line 309
4016  __cil_tmp19 = (size_t )subpgsize;
4017#line 309
4018  clear_data(readbuf, __cil_tmp19);
4019#line 310
4020  __cil_tmp20 = (size_t )subpgsize;
4021#line 310
4022  err = mtd_read(mtd, addr, __cil_tmp20, & read, readbuf);
4023#line 311
4024  __cil_tmp21 = err != 0;
4025#line 311
4026  __cil_tmp22 = (long )__cil_tmp21;
4027#line 311
4028  tmp___1 = __builtin_expect(__cil_tmp22, 0L);
4029  }
4030#line 311
4031  if (tmp___1 != 0L) {
4032#line 311
4033    goto _L___0;
4034  } else {
4035    {
4036#line 311
4037    __cil_tmp23 = & read;
4038#line 311
4039    __cil_tmp24 = *__cil_tmp23;
4040#line 311
4041    __cil_tmp25 = (size_t )subpgsize;
4042#line 311
4043    __cil_tmp26 = __cil_tmp25 != __cil_tmp24;
4044#line 311
4045    __cil_tmp27 = (long )__cil_tmp26;
4046#line 311
4047    tmp___2 = __builtin_expect(__cil_tmp27, 0L);
4048    }
4049#line 311
4050    if (tmp___2 != 0L) {
4051      _L___0: /* CIL Label */ 
4052      {
4053#line 312
4054      tmp___0 = mtd_is_bitflip(err);
4055      }
4056#line 312
4057      if (tmp___0 != 0) {
4058        {
4059#line 312
4060        __cil_tmp28 = & read;
4061#line 312
4062        __cil_tmp29 = *__cil_tmp28;
4063#line 312
4064        __cil_tmp30 = (size_t )subpgsize;
4065#line 312
4066        if (__cil_tmp30 == __cil_tmp29) {
4067          {
4068#line 313
4069          printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
4070#line 315
4071          err = 0;
4072          }
4073        } else {
4074#line 312
4075          goto _L;
4076        }
4077        }
4078      } else {
4079        _L: /* CIL Label */ 
4080        {
4081#line 317
4082        printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
4083        }
4084#line 319
4085        if (err != 0) {
4086#line 319
4087          tmp = err;
4088        } else {
4089#line 319
4090          tmp = -1;
4091        }
4092#line 319
4093        return (tmp);
4094      }
4095    } else {
4096
4097    }
4098  }
4099  {
4100#line 322
4101  __cil_tmp31 = (void const   *)readbuf;
4102#line 322
4103  __cil_tmp32 = (void const   *)writebuf;
4104#line 322
4105  __cil_tmp33 = (size_t )subpgsize;
4106#line 322
4107  tmp___3 = memcmp(__cil_tmp31, __cil_tmp32, __cil_tmp33);
4108#line 322
4109  __cil_tmp34 = tmp___3 != 0;
4110#line 322
4111  __cil_tmp35 = (long )__cil_tmp34;
4112#line 322
4113  tmp___4 = __builtin_expect(__cil_tmp35, 0L);
4114  }
4115#line 322
4116  if (tmp___4 != 0L) {
4117    {
4118#line 323
4119    printk("<6>mtd_subpagetest: error: verify 0xff failed at %#llx\n", addr);
4120#line 325
4121    errcnt = errcnt + 1;
4122    }
4123  } else {
4124
4125  }
4126#line 327
4127  __cil_tmp36 = (loff_t )subpgsize;
4128#line 327
4129  addr = __cil_tmp36 + addr;
4130#line 308
4131  j = j + 1U;
4132  ldv_18740: ;
4133  {
4134#line 308
4135  __cil_tmp37 = (uint32_t )subpgsize;
4136#line 308
4137  __cil_tmp38 = (unsigned long )mtd;
4138#line 308
4139  __cil_tmp39 = __cil_tmp38 + 16;
4140#line 308
4141  __cil_tmp40 = *((uint32_t *)__cil_tmp39);
4142#line 308
4143  __cil_tmp41 = __cil_tmp40 / __cil_tmp37;
4144#line 308
4145  if (__cil_tmp41 > j) {
4146#line 309
4147    goto ldv_18739;
4148  } else {
4149#line 311
4150    goto ldv_18741;
4151  }
4152  }
4153  ldv_18741: ;
4154#line 330
4155  return (err);
4156}
4157}
4158#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4159static int verify_all_eraseblocks_ff(void) 
4160{ int err ;
4161  unsigned int i ;
4162  unsigned long __cil_tmp3 ;
4163  unsigned char *__cil_tmp4 ;
4164  unsigned char __cil_tmp5 ;
4165  unsigned int __cil_tmp6 ;
4166  int __cil_tmp7 ;
4167  unsigned int __cil_tmp8 ;
4168  unsigned int __cil_tmp9 ;
4169
4170  {
4171  {
4172#line 338
4173  printk("<6>mtd_subpagetest: verifying all eraseblocks for 0xff\n");
4174#line 339
4175  i = 0U;
4176  }
4177#line 339
4178  goto ldv_18750;
4179  ldv_18749: ;
4180  {
4181#line 340
4182  __cil_tmp3 = (unsigned long )i;
4183#line 340
4184  __cil_tmp4 = bbt + __cil_tmp3;
4185#line 340
4186  __cil_tmp5 = *__cil_tmp4;
4187#line 340
4188  __cil_tmp6 = (unsigned int )__cil_tmp5;
4189#line 340
4190  if (__cil_tmp6 != 0U) {
4191#line 341
4192    goto ldv_18747;
4193  } else {
4194
4195  }
4196  }
4197  {
4198#line 342
4199  __cil_tmp7 = (int )i;
4200#line 342
4201  err = verify_eraseblock_ff(__cil_tmp7);
4202  }
4203#line 343
4204  if (err != 0) {
4205#line 344
4206    return (err);
4207  } else {
4208
4209  }
4210  {
4211#line 345
4212  __cil_tmp8 = i & 255U;
4213#line 345
4214  if (__cil_tmp8 == 0U) {
4215    {
4216#line 346
4217    printk("<6>mtd_subpagetest: verified up to eraseblock %u\n", i);
4218    }
4219  } else {
4220
4221  }
4222  }
4223  {
4224#line 347
4225  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4226                347, 0);
4227#line 347
4228  _cond_resched();
4229  }
4230  ldv_18747: 
4231#line 339
4232  i = i + 1U;
4233  ldv_18750: ;
4234  {
4235#line 339
4236  __cil_tmp9 = (unsigned int )ebcnt;
4237#line 339
4238  if (__cil_tmp9 > i) {
4239#line 340
4240    goto ldv_18749;
4241  } else {
4242#line 342
4243    goto ldv_18751;
4244  }
4245  }
4246  ldv_18751: 
4247  {
4248#line 349
4249  printk("<6>mtd_subpagetest: verified %u eraseblocks\n", i);
4250  }
4251#line 350
4252  return (0);
4253}
4254}
4255#line 353 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4256static int is_block_bad(int ebnum ) 
4257{ loff_t addr ;
4258  int ret ;
4259  uint32_t __cil_tmp4 ;
4260  unsigned long __cil_tmp5 ;
4261  unsigned long __cil_tmp6 ;
4262  uint32_t __cil_tmp7 ;
4263  uint32_t __cil_tmp8 ;
4264
4265  {
4266  {
4267#line 355
4268  __cil_tmp4 = (uint32_t )ebnum;
4269#line 355
4270  __cil_tmp5 = (unsigned long )mtd;
4271#line 355
4272  __cil_tmp6 = __cil_tmp5 + 16;
4273#line 355
4274  __cil_tmp7 = *((uint32_t *)__cil_tmp6);
4275#line 355
4276  __cil_tmp8 = __cil_tmp7 * __cil_tmp4;
4277#line 355
4278  addr = (loff_t )__cil_tmp8;
4279#line 358
4280  ret = mtd_block_isbad(mtd, addr);
4281  }
4282#line 359
4283  if (ret != 0) {
4284    {
4285#line 360
4286    printk("<6>mtd_subpagetest: block %d is bad\n", ebnum);
4287    }
4288  } else {
4289
4290  }
4291#line 361
4292  return (ret);
4293}
4294}
4295#line 364 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4296static int scan_for_bad_eraseblocks(void) 
4297{ int i ;
4298  int bad ;
4299  void *tmp ;
4300  int tmp___0 ;
4301  size_t __cil_tmp5 ;
4302  unsigned char *__cil_tmp6 ;
4303  unsigned long __cil_tmp7 ;
4304  unsigned long __cil_tmp8 ;
4305  unsigned long __cil_tmp9 ;
4306  unsigned char *__cil_tmp10 ;
4307  int __cil_tmp11 ;
4308  unsigned long __cil_tmp12 ;
4309  unsigned char *__cil_tmp13 ;
4310  unsigned char __cil_tmp14 ;
4311  unsigned int __cil_tmp15 ;
4312
4313  {
4314  {
4315#line 366
4316  bad = 0;
4317#line 368
4318  __cil_tmp5 = (size_t )ebcnt;
4319#line 368
4320  tmp = kzalloc(__cil_tmp5, 208U);
4321#line 368
4322  bbt = (unsigned char *)tmp;
4323  }
4324  {
4325#line 369
4326  __cil_tmp6 = (unsigned char *)0;
4327#line 369
4328  __cil_tmp7 = (unsigned long )__cil_tmp6;
4329#line 369
4330  __cil_tmp8 = (unsigned long )bbt;
4331#line 369
4332  if (__cil_tmp8 == __cil_tmp7) {
4333    {
4334#line 370
4335    printk("<6>mtd_subpagetest: error: cannot allocate memory\n");
4336    }
4337#line 371
4338    return (-12);
4339  } else {
4340
4341  }
4342  }
4343  {
4344#line 374
4345  printk("<6>mtd_subpagetest: scanning for bad eraseblocks\n");
4346#line 375
4347  i = 0;
4348  }
4349#line 375
4350  goto ldv_18764;
4351  ldv_18763: 
4352  {
4353#line 376
4354  tmp___0 = is_block_bad(i);
4355#line 376
4356  __cil_tmp9 = (unsigned long )i;
4357#line 376
4358  __cil_tmp10 = bbt + __cil_tmp9;
4359#line 376
4360  __cil_tmp11 = tmp___0 != 0;
4361#line 376
4362  *__cil_tmp10 = (unsigned char )__cil_tmp11;
4363  }
4364  {
4365#line 377
4366  __cil_tmp12 = (unsigned long )i;
4367#line 377
4368  __cil_tmp13 = bbt + __cil_tmp12;
4369#line 377
4370  __cil_tmp14 = *__cil_tmp13;
4371#line 377
4372  __cil_tmp15 = (unsigned int )__cil_tmp14;
4373#line 377
4374  if (__cil_tmp15 != 0U) {
4375#line 378
4376    bad = bad + 1;
4377  } else {
4378
4379  }
4380  }
4381  {
4382#line 379
4383  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4384                379, 0);
4385#line 379
4386  _cond_resched();
4387#line 375
4388  i = i + 1;
4389  }
4390  ldv_18764: ;
4391#line 375
4392  if (i < ebcnt) {
4393#line 376
4394    goto ldv_18763;
4395  } else {
4396#line 378
4397    goto ldv_18765;
4398  }
4399  ldv_18765: 
4400  {
4401#line 381
4402  printk("<6>mtd_subpagetest: scanned %d eraseblocks, %d are bad\n", i, bad);
4403  }
4404#line 382
4405  return (0);
4406}
4407}
4408#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4409static int mtd_subpagetest_init(void) 
4410{ int err ;
4411  uint32_t i ;
4412  uint64_t tmp ;
4413  long tmp___0 ;
4414  long tmp___1 ;
4415  uint32_t __base ;
4416  uint32_t __rem ;
4417  void *tmp___2 ;
4418  void *tmp___3 ;
4419  long tmp___4 ;
4420  long tmp___5 ;
4421  long tmp___6 ;
4422  long tmp___7 ;
4423  int *__cil_tmp14 ;
4424  int __cil_tmp15 ;
4425  int *__cil_tmp16 ;
4426  int __cil_tmp17 ;
4427  struct mtd_info *__cil_tmp18 ;
4428  int *__cil_tmp19 ;
4429  int __cil_tmp20 ;
4430  void const   *__cil_tmp21 ;
4431  void const   *__cil_tmp22 ;
4432  u_char __cil_tmp23 ;
4433  unsigned int __cil_tmp24 ;
4434  unsigned long __cil_tmp25 ;
4435  unsigned long __cil_tmp26 ;
4436  int __cil_tmp27 ;
4437  unsigned long __cil_tmp28 ;
4438  unsigned long __cil_tmp29 ;
4439  uint32_t __cil_tmp30 ;
4440  uint32_t __cil_tmp31 ;
4441  unsigned long __cil_tmp32 ;
4442  unsigned long __cil_tmp33 ;
4443  unsigned long __cil_tmp34 ;
4444  unsigned long __cil_tmp35 ;
4445  uint64_t __cil_tmp36 ;
4446  unsigned long long __cil_tmp37 ;
4447  uint64_t __cil_tmp38 ;
4448  unsigned long __cil_tmp39 ;
4449  unsigned long __cil_tmp40 ;
4450  uint32_t __cil_tmp41 ;
4451  unsigned long __cil_tmp42 ;
4452  unsigned long __cil_tmp43 ;
4453  uint32_t __cil_tmp44 ;
4454  uint32_t __cil_tmp45 ;
4455  unsigned long __cil_tmp46 ;
4456  unsigned long __cil_tmp47 ;
4457  uint64_t __cil_tmp48 ;
4458  unsigned long __cil_tmp49 ;
4459  unsigned long __cil_tmp50 ;
4460  uint32_t __cil_tmp51 ;
4461  unsigned long __cil_tmp52 ;
4462  unsigned long __cil_tmp53 ;
4463  uint32_t __cil_tmp54 ;
4464  unsigned long __cil_tmp55 ;
4465  unsigned long __cil_tmp56 ;
4466  uint32_t __cil_tmp57 ;
4467  size_t __cil_tmp58 ;
4468  unsigned char *__cil_tmp59 ;
4469  unsigned long __cil_tmp60 ;
4470  unsigned long __cil_tmp61 ;
4471  size_t __cil_tmp62 ;
4472  unsigned char *__cil_tmp63 ;
4473  unsigned long __cil_tmp64 ;
4474  unsigned long __cil_tmp65 ;
4475  unsigned long __cil_tmp66 ;
4476  unsigned char *__cil_tmp67 ;
4477  unsigned char __cil_tmp68 ;
4478  unsigned int __cil_tmp69 ;
4479  int __cil_tmp70 ;
4480  int __cil_tmp71 ;
4481  long __cil_tmp72 ;
4482  unsigned int __cil_tmp73 ;
4483  uint32_t __cil_tmp74 ;
4484  unsigned long __cil_tmp75 ;
4485  unsigned char *__cil_tmp76 ;
4486  unsigned char __cil_tmp77 ;
4487  unsigned int __cil_tmp78 ;
4488  int __cil_tmp79 ;
4489  int __cil_tmp80 ;
4490  long __cil_tmp81 ;
4491  unsigned int __cil_tmp82 ;
4492  uint32_t __cil_tmp83 ;
4493  unsigned long __cil_tmp84 ;
4494  unsigned char *__cil_tmp85 ;
4495  unsigned char __cil_tmp86 ;
4496  unsigned int __cil_tmp87 ;
4497  int __cil_tmp88 ;
4498  int __cil_tmp89 ;
4499  long __cil_tmp90 ;
4500  unsigned int __cil_tmp91 ;
4501  uint32_t __cil_tmp92 ;
4502  unsigned long __cil_tmp93 ;
4503  unsigned char *__cil_tmp94 ;
4504  unsigned char __cil_tmp95 ;
4505  unsigned int __cil_tmp96 ;
4506  int __cil_tmp97 ;
4507  int __cil_tmp98 ;
4508  long __cil_tmp99 ;
4509  unsigned int __cil_tmp100 ;
4510  uint32_t __cil_tmp101 ;
4511  void const   *__cil_tmp102 ;
4512  void const   *__cil_tmp103 ;
4513  void const   *__cil_tmp104 ;
4514
4515  {
4516  {
4517#line 387
4518  err = 0;
4519#line 391
4520  printk("<6>\n");
4521#line 392
4522  printk("<6>=================================================\n");
4523  }
4524  {
4525#line 394
4526  __cil_tmp14 = & dev;
4527#line 394
4528  __cil_tmp15 = *__cil_tmp14;
4529#line 394
4530  if (__cil_tmp15 < 0) {
4531    {
4532#line 395
4533    printk("<6>mtd_subpagetest: Please specify a valid mtd-device via module paramter\n");
4534#line 396
4535    printk("<2>CAREFUL: This test wipes all data on the specified MTD device!\n");
4536    }
4537#line 397
4538    return (-22);
4539  } else {
4540
4541  }
4542  }
4543  {
4544#line 400
4545  __cil_tmp16 = & dev;
4546#line 400
4547  __cil_tmp17 = *__cil_tmp16;
4548#line 400
4549  printk("<6>mtd_subpagetest: MTD device: %d\n", __cil_tmp17);
4550#line 402
4551  __cil_tmp18 = (struct mtd_info *)0;
4552#line 402
4553  __cil_tmp19 = & dev;
4554#line 402
4555  __cil_tmp20 = *__cil_tmp19;
4556#line 402
4557  mtd = get_mtd_device(__cil_tmp18, __cil_tmp20);
4558#line 403
4559  __cil_tmp21 = (void const   *)mtd;
4560#line 403
4561  tmp___1 = IS_ERR(__cil_tmp21);
4562  }
4563#line 403
4564  if (tmp___1 != 0L) {
4565    {
4566#line 404
4567    __cil_tmp22 = (void const   *)mtd;
4568#line 404
4569    tmp___0 = PTR_ERR(__cil_tmp22);
4570#line 404
4571    err = (int )tmp___0;
4572#line 405
4573    printk("<6>mtd_subpagetest: error: cannot get MTD device\n");
4574    }
4575#line 406
4576    return (err);
4577  } else {
4578
4579  }
4580  {
4581#line 409
4582  __cil_tmp23 = *((u_char *)mtd);
4583#line 409
4584  __cil_tmp24 = (unsigned int )__cil_tmp23;
4585#line 409
4586  if (__cil_tmp24 != 4U) {
4587    {
4588#line 410
4589    printk("<6>mtd_subpagetest: this test requires NAND flash\n");
4590    }
4591#line 411
4592    goto out;
4593  } else {
4594
4595  }
4596  }
4597  {
4598#line 414
4599  __cil_tmp25 = (unsigned long )mtd;
4600#line 414
4601  __cil_tmp26 = __cil_tmp25 + 352;
4602#line 414
4603  __cil_tmp27 = *((int *)__cil_tmp26);
4604#line 414
4605  __cil_tmp28 = (unsigned long )mtd;
4606#line 414
4607  __cil_tmp29 = __cil_tmp28 + 20;
4608#line 414
4609  __cil_tmp30 = *((uint32_t *)__cil_tmp29);
4610#line 414
4611  __cil_tmp31 = __cil_tmp30 >> __cil_tmp27;
4612#line 414
4613  subpgsize = (int )__cil_tmp31;
4614#line 415
4615  __cil_tmp32 = (unsigned long )mtd;
4616#line 415
4617  __cil_tmp33 = __cil_tmp32 + 8;
4618#line 415
4619  tmp = *((uint64_t *)__cil_tmp33);
4620#line 416
4621  __cil_tmp34 = (unsigned long )mtd;
4622#line 416
4623  __cil_tmp35 = __cil_tmp34 + 16;
4624#line 416
4625  __base = *((uint32_t *)__cil_tmp35);
4626#line 416
4627  __cil_tmp36 = (uint64_t )__base;
4628#line 416
4629  __cil_tmp37 = tmp % __cil_tmp36;
4630#line 416
4631  __rem = (uint32_t )__cil_tmp37;
4632#line 416
4633  __cil_tmp38 = (uint64_t )__base;
4634#line 416
4635  tmp = tmp / __cil_tmp38;
4636#line 417
4637  ebcnt = (int )tmp;
4638#line 418
4639  __cil_tmp39 = (unsigned long )mtd;
4640#line 418
4641  __cil_tmp40 = __cil_tmp39 + 20;
4642#line 418
4643  __cil_tmp41 = *((uint32_t *)__cil_tmp40);
4644#line 418
4645  __cil_tmp42 = (unsigned long )mtd;
4646#line 418
4647  __cil_tmp43 = __cil_tmp42 + 16;
4648#line 418
4649  __cil_tmp44 = *((uint32_t *)__cil_tmp43);
4650#line 418
4651  __cil_tmp45 = __cil_tmp44 / __cil_tmp41;
4652#line 418
4653  pgcnt = (int )__cil_tmp45;
4654#line 420
4655  __cil_tmp46 = (unsigned long )mtd;
4656#line 420
4657  __cil_tmp47 = __cil_tmp46 + 8;
4658#line 420
4659  __cil_tmp48 = *((uint64_t *)__cil_tmp47);
4660#line 420
4661  __cil_tmp49 = (unsigned long )mtd;
4662#line 420
4663  __cil_tmp50 = __cil_tmp49 + 16;
4664#line 420
4665  __cil_tmp51 = *((uint32_t *)__cil_tmp50);
4666#line 420
4667  __cil_tmp52 = (unsigned long )mtd;
4668#line 420
4669  __cil_tmp53 = __cil_tmp52 + 20;
4670#line 420
4671  __cil_tmp54 = *((uint32_t *)__cil_tmp53);
4672#line 420
4673  __cil_tmp55 = (unsigned long )mtd;
4674#line 420
4675  __cil_tmp56 = __cil_tmp55 + 28;
4676#line 420
4677  __cil_tmp57 = *((uint32_t *)__cil_tmp56);
4678#line 420
4679  printk("<6>mtd_subpagetest: MTD device size %llu, eraseblock size %u, page size %u, subpage size %u, count of eraseblocks %u, pages per eraseblock %u, OOB size %u\n",
4680         __cil_tmp48, __cil_tmp51, __cil_tmp54, subpgsize, ebcnt, pgcnt, __cil_tmp57);
4681#line 426
4682  err = -12;
4683#line 427
4684  bufsize = subpgsize * 32;
4685#line 428
4686  __cil_tmp58 = (size_t )bufsize;
4687#line 428
4688  tmp___2 = kmalloc(__cil_tmp58, 208U);
4689#line 428
4690  writebuf = (unsigned char *)tmp___2;
4691  }
4692  {
4693#line 429
4694  __cil_tmp59 = (unsigned char *)0;
4695#line 429
4696  __cil_tmp60 = (unsigned long )__cil_tmp59;
4697#line 429
4698  __cil_tmp61 = (unsigned long )writebuf;
4699#line 429
4700  if (__cil_tmp61 == __cil_tmp60) {
4701    {
4702#line 430
4703    printk("<6>mtd_subpagetest: error: cannot allocate memory\n");
4704    }
4705#line 431
4706    goto out;
4707  } else {
4708
4709  }
4710  }
4711  {
4712#line 433
4713  __cil_tmp62 = (size_t )bufsize;
4714#line 433
4715  tmp___3 = kmalloc(__cil_tmp62, 208U);
4716#line 433
4717  readbuf = (unsigned char *)tmp___3;
4718  }
4719  {
4720#line 434
4721  __cil_tmp63 = (unsigned char *)0;
4722#line 434
4723  __cil_tmp64 = (unsigned long )__cil_tmp63;
4724#line 434
4725  __cil_tmp65 = (unsigned long )readbuf;
4726#line 434
4727  if (__cil_tmp65 == __cil_tmp64) {
4728    {
4729#line 435
4730    printk("<6>mtd_subpagetest: error: cannot allocate memory\n");
4731    }
4732#line 436
4733    goto out;
4734  } else {
4735
4736  }
4737  }
4738  {
4739#line 439
4740  err = scan_for_bad_eraseblocks();
4741  }
4742#line 440
4743  if (err != 0) {
4744#line 441
4745    goto out;
4746  } else {
4747
4748  }
4749  {
4750#line 443
4751  err = erase_whole_device();
4752  }
4753#line 444
4754  if (err != 0) {
4755#line 445
4756    goto out;
4757  } else {
4758
4759  }
4760  {
4761#line 447
4762  printk("<6>mtd_subpagetest: writing whole device\n");
4763#line 448
4764  simple_srand(1UL);
4765#line 449
4766  i = 0U;
4767  }
4768#line 449
4769  goto ldv_18779;
4770  ldv_18778: ;
4771  {
4772#line 450
4773  __cil_tmp66 = (unsigned long )i;
4774#line 450
4775  __cil_tmp67 = bbt + __cil_tmp66;
4776#line 450
4777  __cil_tmp68 = *__cil_tmp67;
4778#line 450
4779  __cil_tmp69 = (unsigned int )__cil_tmp68;
4780#line 450
4781  if (__cil_tmp69 != 0U) {
4782#line 451
4783    goto ldv_18776;
4784  } else {
4785
4786  }
4787  }
4788  {
4789#line 452
4790  __cil_tmp70 = (int )i;
4791#line 452
4792  err = write_eraseblock(__cil_tmp70);
4793#line 453
4794  __cil_tmp71 = err != 0;
4795#line 453
4796  __cil_tmp72 = (long )__cil_tmp71;
4797#line 453
4798  tmp___4 = __builtin_expect(__cil_tmp72, 0L);
4799  }
4800#line 453
4801  if (tmp___4 != 0L) {
4802#line 454
4803    goto out;
4804  } else {
4805
4806  }
4807  {
4808#line 455
4809  __cil_tmp73 = i & 255U;
4810#line 455
4811  if (__cil_tmp73 == 0U) {
4812    {
4813#line 456
4814    printk("<6>mtd_subpagetest: written up to eraseblock %u\n", i);
4815    }
4816  } else {
4817
4818  }
4819  }
4820  {
4821#line 457
4822  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4823                457, 0);
4824#line 457
4825  _cond_resched();
4826  }
4827  ldv_18776: 
4828#line 449
4829  i = i + 1U;
4830  ldv_18779: ;
4831  {
4832#line 449
4833  __cil_tmp74 = (uint32_t )ebcnt;
4834#line 449
4835  if (__cil_tmp74 > i) {
4836#line 450
4837    goto ldv_18778;
4838  } else {
4839#line 452
4840    goto ldv_18780;
4841  }
4842  }
4843  ldv_18780: 
4844  {
4845#line 459
4846  printk("<6>mtd_subpagetest: written %u eraseblocks\n", i);
4847#line 461
4848  simple_srand(1UL);
4849#line 462
4850  printk("<6>mtd_subpagetest: verifying all eraseblocks\n");
4851#line 463
4852  i = 0U;
4853  }
4854#line 463
4855  goto ldv_18784;
4856  ldv_18783: ;
4857  {
4858#line 464
4859  __cil_tmp75 = (unsigned long )i;
4860#line 464
4861  __cil_tmp76 = bbt + __cil_tmp75;
4862#line 464
4863  __cil_tmp77 = *__cil_tmp76;
4864#line 464
4865  __cil_tmp78 = (unsigned int )__cil_tmp77;
4866#line 464
4867  if (__cil_tmp78 != 0U) {
4868#line 465
4869    goto ldv_18781;
4870  } else {
4871
4872  }
4873  }
4874  {
4875#line 466
4876  __cil_tmp79 = (int )i;
4877#line 466
4878  err = verify_eraseblock(__cil_tmp79);
4879#line 467
4880  __cil_tmp80 = err != 0;
4881#line 467
4882  __cil_tmp81 = (long )__cil_tmp80;
4883#line 467
4884  tmp___5 = __builtin_expect(__cil_tmp81, 0L);
4885  }
4886#line 467
4887  if (tmp___5 != 0L) {
4888#line 468
4889    goto out;
4890  } else {
4891
4892  }
4893  {
4894#line 469
4895  __cil_tmp82 = i & 255U;
4896#line 469
4897  if (__cil_tmp82 == 0U) {
4898    {
4899#line 470
4900    printk("<6>mtd_subpagetest: verified up to eraseblock %u\n", i);
4901    }
4902  } else {
4903
4904  }
4905  }
4906  {
4907#line 471
4908  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4909                471, 0);
4910#line 471
4911  _cond_resched();
4912  }
4913  ldv_18781: 
4914#line 463
4915  i = i + 1U;
4916  ldv_18784: ;
4917  {
4918#line 463
4919  __cil_tmp83 = (uint32_t )ebcnt;
4920#line 463
4921  if (__cil_tmp83 > i) {
4922#line 464
4923    goto ldv_18783;
4924  } else {
4925#line 466
4926    goto ldv_18785;
4927  }
4928  }
4929  ldv_18785: 
4930  {
4931#line 473
4932  printk("<6>mtd_subpagetest: verified %u eraseblocks\n", i);
4933#line 475
4934  err = erase_whole_device();
4935  }
4936#line 476
4937  if (err != 0) {
4938#line 477
4939    goto out;
4940  } else {
4941
4942  }
4943  {
4944#line 479
4945  err = verify_all_eraseblocks_ff();
4946  }
4947#line 480
4948  if (err != 0) {
4949#line 481
4950    goto out;
4951  } else {
4952
4953  }
4954  {
4955#line 484
4956  simple_srand(3UL);
4957#line 485
4958  printk("<6>mtd_subpagetest: writing whole device\n");
4959#line 486
4960  i = 0U;
4961  }
4962#line 486
4963  goto ldv_18789;
4964  ldv_18788: ;
4965  {
4966#line 487
4967  __cil_tmp84 = (unsigned long )i;
4968#line 487
4969  __cil_tmp85 = bbt + __cil_tmp84;
4970#line 487
4971  __cil_tmp86 = *__cil_tmp85;
4972#line 487
4973  __cil_tmp87 = (unsigned int )__cil_tmp86;
4974#line 487
4975  if (__cil_tmp87 != 0U) {
4976#line 488
4977    goto ldv_18786;
4978  } else {
4979
4980  }
4981  }
4982  {
4983#line 489
4984  __cil_tmp88 = (int )i;
4985#line 489
4986  err = write_eraseblock2(__cil_tmp88);
4987#line 490
4988  __cil_tmp89 = err != 0;
4989#line 490
4990  __cil_tmp90 = (long )__cil_tmp89;
4991#line 490
4992  tmp___6 = __builtin_expect(__cil_tmp90, 0L);
4993  }
4994#line 490
4995  if (tmp___6 != 0L) {
4996#line 491
4997    goto out;
4998  } else {
4999
5000  }
5001  {
5002#line 492
5003  __cil_tmp91 = i & 255U;
5004#line 492
5005  if (__cil_tmp91 == 0U) {
5006    {
5007#line 493
5008    printk("<6>mtd_subpagetest: written up to eraseblock %u\n", i);
5009    }
5010  } else {
5011
5012  }
5013  }
5014  {
5015#line 494
5016  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
5017                494, 0);
5018#line 494
5019  _cond_resched();
5020  }
5021  ldv_18786: 
5022#line 486
5023  i = i + 1U;
5024  ldv_18789: ;
5025  {
5026#line 486
5027  __cil_tmp92 = (uint32_t )ebcnt;
5028#line 486
5029  if (__cil_tmp92 > i) {
5030#line 487
5031    goto ldv_18788;
5032  } else {
5033#line 489
5034    goto ldv_18790;
5035  }
5036  }
5037  ldv_18790: 
5038  {
5039#line 496
5040  printk("<6>mtd_subpagetest: written %u eraseblocks\n", i);
5041#line 499
5042  simple_srand(3UL);
5043#line 500
5044  printk("<6>mtd_subpagetest: verifying all eraseblocks\n");
5045#line 501
5046  i = 0U;
5047  }
5048#line 501
5049  goto ldv_18794;
5050  ldv_18793: ;
5051  {
5052#line 502
5053  __cil_tmp93 = (unsigned long )i;
5054#line 502
5055  __cil_tmp94 = bbt + __cil_tmp93;
5056#line 502
5057  __cil_tmp95 = *__cil_tmp94;
5058#line 502
5059  __cil_tmp96 = (unsigned int )__cil_tmp95;
5060#line 502
5061  if (__cil_tmp96 != 0U) {
5062#line 503
5063    goto ldv_18791;
5064  } else {
5065
5066  }
5067  }
5068  {
5069#line 504
5070  __cil_tmp97 = (int )i;
5071#line 504
5072  err = verify_eraseblock2(__cil_tmp97);
5073#line 505
5074  __cil_tmp98 = err != 0;
5075#line 505
5076  __cil_tmp99 = (long )__cil_tmp98;
5077#line 505
5078  tmp___7 = __builtin_expect(__cil_tmp99, 0L);
5079  }
5080#line 505
5081  if (tmp___7 != 0L) {
5082#line 506
5083    goto out;
5084  } else {
5085
5086  }
5087  {
5088#line 507
5089  __cil_tmp100 = i & 255U;
5090#line 507
5091  if (__cil_tmp100 == 0U) {
5092    {
5093#line 508
5094    printk("<6>mtd_subpagetest: verified up to eraseblock %u\n", i);
5095    }
5096  } else {
5097
5098  }
5099  }
5100  {
5101#line 509
5102  __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
5103                509, 0);
5104#line 509
5105  _cond_resched();
5106  }
5107  ldv_18791: 
5108#line 501
5109  i = i + 1U;
5110  ldv_18794: ;
5111  {
5112#line 501
5113  __cil_tmp101 = (uint32_t )ebcnt;
5114#line 501
5115  if (__cil_tmp101 > i) {
5116#line 502
5117    goto ldv_18793;
5118  } else {
5119#line 504
5120    goto ldv_18795;
5121  }
5122  }
5123  ldv_18795: 
5124  {
5125#line 511
5126  printk("<6>mtd_subpagetest: verified %u eraseblocks\n", i);
5127#line 513
5128  err = erase_whole_device();
5129  }
5130#line 514
5131  if (err != 0) {
5132#line 515
5133    goto out;
5134  } else {
5135
5136  }
5137  {
5138#line 517
5139  err = verify_all_eraseblocks_ff();
5140  }
5141#line 518
5142  if (err != 0) {
5143#line 519
5144    goto out;
5145  } else {
5146
5147  }
5148  {
5149#line 521
5150  printk("<6>mtd_subpagetest: finished with %d errors\n", errcnt);
5151  }
5152  out: 
5153  {
5154#line 524
5155  __cil_tmp102 = (void const   *)bbt;
5156#line 524
5157  kfree(__cil_tmp102);
5158#line 525
5159  __cil_tmp103 = (void const   *)readbuf;
5160#line 525
5161  kfree(__cil_tmp103);
5162#line 526
5163  __cil_tmp104 = (void const   *)writebuf;
5164#line 526
5165  kfree(__cil_tmp104);
5166#line 527
5167  put_mtd_device(mtd);
5168  }
5169#line 528
5170  if (err != 0) {
5171    {
5172#line 529
5173    printk("<6>mtd_subpagetest: error %d occurred\n", err);
5174    }
5175  } else {
5176
5177  }
5178  {
5179#line 530
5180  printk("<6>=================================================\n");
5181  }
5182#line 531
5183  return (err);
5184}
5185}
5186#line 535 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5187static void mtd_subpagetest_exit(void) 
5188{ 
5189
5190  {
5191#line 537
5192  return;
5193}
5194}
5195#line 561
5196extern void ldv_check_final_state(void) ;
5197#line 567
5198extern void ldv_initialize(void) ;
5199#line 570
5200extern int __VERIFIER_nondet_int(void) ;
5201#line 573 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5202int LDV_IN_INTERRUPT  ;
5203#line 576 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5204void main(void) 
5205{ int tmp ;
5206  int tmp___0 ;
5207  int tmp___1 ;
5208
5209  {
5210  {
5211#line 588
5212  LDV_IN_INTERRUPT = 1;
5213#line 597
5214  ldv_initialize();
5215#line 605
5216  tmp = mtd_subpagetest_init();
5217  }
5218#line 605
5219  if (tmp != 0) {
5220#line 606
5221    goto ldv_final;
5222  } else {
5223
5224  }
5225#line 608
5226  goto ldv_18828;
5227  ldv_18827: 
5228  {
5229#line 611
5230  tmp___0 = __VERIFIER_nondet_int();
5231  }
5232  {
5233#line 613
5234  goto switch_default;
5235#line 611
5236  if (0) {
5237    switch_default: /* CIL Label */ ;
5238#line 613
5239    goto ldv_18826;
5240  } else {
5241    switch_break: /* CIL Label */ ;
5242  }
5243  }
5244  ldv_18826: ;
5245  ldv_18828: 
5246  {
5247#line 608
5248  tmp___1 = __VERIFIER_nondet_int();
5249  }
5250#line 608
5251  if (tmp___1 != 0) {
5252#line 609
5253    goto ldv_18827;
5254  } else {
5255#line 611
5256    goto ldv_18829;
5257  }
5258  ldv_18829: ;
5259  {
5260#line 627
5261  mtd_subpagetest_exit();
5262  }
5263  ldv_final: 
5264  {
5265#line 630
5266  ldv_check_final_state();
5267  }
5268#line 633
5269  return;
5270}
5271}
5272#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
5273void ldv_blast_assert(void) 
5274{ 
5275
5276  {
5277  ERROR: ;
5278#line 6
5279  goto ERROR;
5280}
5281}
5282#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
5283extern int __VERIFIER_nondet_int(void) ;
5284#line 654 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5285int ldv_spin  =    0;
5286#line 658 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5287void ldv_check_alloc_flags(gfp_t flags ) 
5288{ 
5289
5290  {
5291#line 661
5292  if (ldv_spin != 0) {
5293#line 661
5294    if (flags != 32U) {
5295      {
5296#line 661
5297      ldv_blast_assert();
5298      }
5299    } else {
5300
5301    }
5302  } else {
5303
5304  }
5305#line 664
5306  return;
5307}
5308}
5309#line 664
5310extern struct page *ldv_some_page(void) ;
5311#line 667 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5312struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
5313{ struct page *tmp ;
5314
5315  {
5316#line 670
5317  if (ldv_spin != 0) {
5318#line 670
5319    if (flags != 32U) {
5320      {
5321#line 670
5322      ldv_blast_assert();
5323      }
5324    } else {
5325
5326    }
5327  } else {
5328
5329  }
5330  {
5331#line 672
5332  tmp = ldv_some_page();
5333  }
5334#line 672
5335  return (tmp);
5336}
5337}
5338#line 676 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5339void ldv_check_alloc_nonatomic(void) 
5340{ 
5341
5342  {
5343#line 679
5344  if (ldv_spin != 0) {
5345    {
5346#line 679
5347    ldv_blast_assert();
5348    }
5349  } else {
5350
5351  }
5352#line 682
5353  return;
5354}
5355}
5356#line 683 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5357void ldv_spin_lock(void) 
5358{ 
5359
5360  {
5361#line 686
5362  ldv_spin = 1;
5363#line 687
5364  return;
5365}
5366}
5367#line 690 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5368void ldv_spin_unlock(void) 
5369{ 
5370
5371  {
5372#line 693
5373  ldv_spin = 0;
5374#line 694
5375  return;
5376}
5377}
5378#line 697 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5379int ldv_spin_trylock(void) 
5380{ int is_lock ;
5381
5382  {
5383  {
5384#line 702
5385  is_lock = __VERIFIER_nondet_int();
5386  }
5387#line 704
5388  if (is_lock != 0) {
5389#line 707
5390    return (0);
5391  } else {
5392#line 712
5393    ldv_spin = 1;
5394#line 714
5395    return (1);
5396  }
5397}
5398}
5399#line 836 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5400__inline static void *kmalloc(size_t size , gfp_t flags ) 
5401{ 
5402
5403  {
5404  {
5405#line 842
5406  ldv_check_alloc_flags(flags);
5407#line 844
5408  ldv_kmalloc_12(size, flags);
5409  }
5410#line 845
5411  return ((void *)0);
5412}
5413}
5414#line 881 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5415void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
5416{ 
5417
5418  {
5419  {
5420#line 887
5421  ldv_check_alloc_flags(ldv_func_arg2);
5422#line 889
5423  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5424  }
5425#line 890
5426  return ((void *)0);
5427}
5428}
5429#line 892 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5430__inline static void *kzalloc(size_t size , gfp_t flags ) 
5431{ void *tmp ;
5432
5433  {
5434  {
5435#line 898
5436  ldv_check_alloc_flags(flags);
5437#line 899
5438  tmp = __VERIFIER_nondet_pointer();
5439  }
5440#line 899
5441  return (tmp);
5442}
5443}