Showing error 1101

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


Source:

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