Showing error 1104

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--nftl.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 8829
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 146 "include/linux/init.h"
  142typedef void (*ctor_fn_t)(void);
  143#line 305 "include/linux/printk.h"
  144struct _ddebug {
  145   char const   *modname ;
  146   char const   *function ;
  147   char const   *filename ;
  148   char const   *format ;
  149   unsigned int lineno : 18 ;
  150   unsigned char flags ;
  151};
  152#line 46 "include/linux/dynamic_debug.h"
  153struct device;
  154#line 57
  155struct completion;
  156#line 58
  157struct pt_regs;
  158#line 348 "include/linux/kernel.h"
  159struct pid;
  160#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
  161struct timespec;
  162#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
  163struct page;
  164#line 26 "include/asm-generic/getorder.h"
  165struct task_struct;
  166#line 28
  167struct mm_struct;
  168#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
  169struct pt_regs {
  170   unsigned long r15 ;
  171   unsigned long r14 ;
  172   unsigned long r13 ;
  173   unsigned long r12 ;
  174   unsigned long bp ;
  175   unsigned long bx ;
  176   unsigned long r11 ;
  177   unsigned long r10 ;
  178   unsigned long r9 ;
  179   unsigned long r8 ;
  180   unsigned long ax ;
  181   unsigned long cx ;
  182   unsigned long dx ;
  183   unsigned long si ;
  184   unsigned long di ;
  185   unsigned long orig_ax ;
  186   unsigned long ip ;
  187   unsigned long cs ;
  188   unsigned long flags ;
  189   unsigned long sp ;
  190   unsigned long ss ;
  191};
  192#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  193struct __anonstruct_ldv_2180_13 {
  194   unsigned int a ;
  195   unsigned int b ;
  196};
  197#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  198struct __anonstruct_ldv_2195_14 {
  199   u16 limit0 ;
  200   u16 base0 ;
  201   unsigned char base1 ;
  202   unsigned char type : 4 ;
  203   unsigned char s : 1 ;
  204   unsigned char dpl : 2 ;
  205   unsigned char p : 1 ;
  206   unsigned char limit : 4 ;
  207   unsigned char avl : 1 ;
  208   unsigned char l : 1 ;
  209   unsigned char d : 1 ;
  210   unsigned char g : 1 ;
  211   unsigned char base2 ;
  212};
  213#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  214union __anonunion_ldv_2196_12 {
  215   struct __anonstruct_ldv_2180_13 ldv_2180 ;
  216   struct __anonstruct_ldv_2195_14 ldv_2195 ;
  217};
  218#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  219struct desc_struct {
  220   union __anonunion_ldv_2196_12 ldv_2196 ;
  221};
  222#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
  223typedef unsigned long pgdval_t;
  224#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
  225typedef unsigned long pgprotval_t;
  226#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
  227struct pgprot {
  228   pgprotval_t pgprot ;
  229};
  230#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  231typedef struct pgprot pgprot_t;
  232#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  233struct __anonstruct_pgd_t_16 {
  234   pgdval_t pgd ;
  235};
  236#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  237typedef struct __anonstruct_pgd_t_16 pgd_t;
  238#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  239typedef struct page *pgtable_t;
  240#line 290
  241struct file;
  242#line 305
  243struct seq_file;
  244#line 337
  245struct thread_struct;
  246#line 339
  247struct cpumask;
  248#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
  249struct arch_spinlock;
  250#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  251struct kernel_vm86_regs {
  252   struct pt_regs pt ;
  253   unsigned short es ;
  254   unsigned short __esh ;
  255   unsigned short ds ;
  256   unsigned short __dsh ;
  257   unsigned short fs ;
  258   unsigned short __fsh ;
  259   unsigned short gs ;
  260   unsigned short __gsh ;
  261};
  262#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
  263union __anonunion_ldv_2824_19 {
  264   struct pt_regs *regs ;
  265   struct kernel_vm86_regs *vm86 ;
  266};
  267#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
  268struct math_emu_info {
  269   long ___orig_eip ;
  270   union __anonunion_ldv_2824_19 ldv_2824 ;
  271};
  272#line 306 "include/linux/bitmap.h"
  273struct bug_entry {
  274   int bug_addr_disp ;
  275   int file_disp ;
  276   unsigned short line ;
  277   unsigned short flags ;
  278};
  279#line 89 "include/linux/bug.h"
  280struct cpumask {
  281   unsigned long bits[64U] ;
  282};
  283#line 14 "include/linux/cpumask.h"
  284typedef struct cpumask cpumask_t;
  285#line 637 "include/linux/cpumask.h"
  286typedef struct cpumask *cpumask_var_t;
  287#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
  288struct static_key;
  289#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  290struct i387_fsave_struct {
  291   u32 cwd ;
  292   u32 swd ;
  293   u32 twd ;
  294   u32 fip ;
  295   u32 fcs ;
  296   u32 foo ;
  297   u32 fos ;
  298   u32 st_space[20U] ;
  299   u32 status ;
  300};
  301#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  302struct __anonstruct_ldv_5180_24 {
  303   u64 rip ;
  304   u64 rdp ;
  305};
  306#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  307struct __anonstruct_ldv_5186_25 {
  308   u32 fip ;
  309   u32 fcs ;
  310   u32 foo ;
  311   u32 fos ;
  312};
  313#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  314union __anonunion_ldv_5187_23 {
  315   struct __anonstruct_ldv_5180_24 ldv_5180 ;
  316   struct __anonstruct_ldv_5186_25 ldv_5186 ;
  317};
  318#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  319union __anonunion_ldv_5196_26 {
  320   u32 padding1[12U] ;
  321   u32 sw_reserved[12U] ;
  322};
  323#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  324struct i387_fxsave_struct {
  325   u16 cwd ;
  326   u16 swd ;
  327   u16 twd ;
  328   u16 fop ;
  329   union __anonunion_ldv_5187_23 ldv_5187 ;
  330   u32 mxcsr ;
  331   u32 mxcsr_mask ;
  332   u32 st_space[32U] ;
  333   u32 xmm_space[64U] ;
  334   u32 padding[12U] ;
  335   union __anonunion_ldv_5196_26 ldv_5196 ;
  336};
  337#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  338struct i387_soft_struct {
  339   u32 cwd ;
  340   u32 swd ;
  341   u32 twd ;
  342   u32 fip ;
  343   u32 fcs ;
  344   u32 foo ;
  345   u32 fos ;
  346   u32 st_space[20U] ;
  347   u8 ftop ;
  348   u8 changed ;
  349   u8 lookahead ;
  350   u8 no_update ;
  351   u8 rm ;
  352   u8 alimit ;
  353   struct math_emu_info *info ;
  354   u32 entry_eip ;
  355};
  356#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  357struct ymmh_struct {
  358   u32 ymmh_space[64U] ;
  359};
  360#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  361struct xsave_hdr_struct {
  362   u64 xstate_bv ;
  363   u64 reserved1[2U] ;
  364   u64 reserved2[5U] ;
  365};
  366#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  367struct xsave_struct {
  368   struct i387_fxsave_struct i387 ;
  369   struct xsave_hdr_struct xsave_hdr ;
  370   struct ymmh_struct ymmh ;
  371};
  372#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  373union thread_xstate {
  374   struct i387_fsave_struct fsave ;
  375   struct i387_fxsave_struct fxsave ;
  376   struct i387_soft_struct soft ;
  377   struct xsave_struct xsave ;
  378};
  379#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  380struct fpu {
  381   unsigned int last_cpu ;
  382   unsigned int has_fpu ;
  383   union thread_xstate *state ;
  384};
  385#line 433
  386struct kmem_cache;
  387#line 434
  388struct perf_event;
  389#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  390struct thread_struct {
  391   struct desc_struct tls_array[3U] ;
  392   unsigned long sp0 ;
  393   unsigned long sp ;
  394   unsigned long usersp ;
  395   unsigned short es ;
  396   unsigned short ds ;
  397   unsigned short fsindex ;
  398   unsigned short gsindex ;
  399   unsigned long fs ;
  400   unsigned long gs ;
  401   struct perf_event *ptrace_bps[4U] ;
  402   unsigned long debugreg6 ;
  403   unsigned long ptrace_dr7 ;
  404   unsigned long cr2 ;
  405   unsigned long trap_nr ;
  406   unsigned long error_code ;
  407   struct fpu fpu ;
  408   unsigned long *io_bitmap_ptr ;
  409   unsigned long iopl ;
  410   unsigned int io_bitmap_max ;
  411};
  412#line 23 "include/asm-generic/atomic-long.h"
  413typedef atomic64_t atomic_long_t;
  414#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  415typedef u16 __ticket_t;
  416#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  417typedef u32 __ticketpair_t;
  418#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  419struct __raw_tickets {
  420   __ticket_t head ;
  421   __ticket_t tail ;
  422};
  423#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  424union __anonunion_ldv_5907_29 {
  425   __ticketpair_t head_tail ;
  426   struct __raw_tickets tickets ;
  427};
  428#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  429struct arch_spinlock {
  430   union __anonunion_ldv_5907_29 ldv_5907 ;
  431};
  432#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  433typedef struct arch_spinlock arch_spinlock_t;
  434#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
  435struct __anonstruct_ldv_5914_31 {
  436   u32 read ;
  437   s32 write ;
  438};
  439#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
  440union __anonunion_arch_rwlock_t_30 {
  441   s64 lock ;
  442   struct __anonstruct_ldv_5914_31 ldv_5914 ;
  443};
  444#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
  445typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
  446#line 34
  447struct lockdep_map;
  448#line 55 "include/linux/debug_locks.h"
  449struct stack_trace {
  450   unsigned int nr_entries ;
  451   unsigned int max_entries ;
  452   unsigned long *entries ;
  453   int skip ;
  454};
  455#line 26 "include/linux/stacktrace.h"
  456struct lockdep_subclass_key {
  457   char __one_byte ;
  458};
  459#line 53 "include/linux/lockdep.h"
  460struct lock_class_key {
  461   struct lockdep_subclass_key subkeys[8U] ;
  462};
  463#line 59 "include/linux/lockdep.h"
  464struct lock_class {
  465   struct list_head hash_entry ;
  466   struct list_head lock_entry ;
  467   struct lockdep_subclass_key *key ;
  468   unsigned int subclass ;
  469   unsigned int dep_gen_id ;
  470   unsigned long usage_mask ;
  471   struct stack_trace usage_traces[13U] ;
  472   struct list_head locks_after ;
  473   struct list_head locks_before ;
  474   unsigned int version ;
  475   unsigned long ops ;
  476   char const   *name ;
  477   int name_version ;
  478   unsigned long contention_point[4U] ;
  479   unsigned long contending_point[4U] ;
  480};
  481#line 144 "include/linux/lockdep.h"
  482struct lockdep_map {
  483   struct lock_class_key *key ;
  484   struct lock_class *class_cache[2U] ;
  485   char const   *name ;
  486   int cpu ;
  487   unsigned long ip ;
  488};
  489#line 187 "include/linux/lockdep.h"
  490struct held_lock {
  491   u64 prev_chain_key ;
  492   unsigned long acquire_ip ;
  493   struct lockdep_map *instance ;
  494   struct lockdep_map *nest_lock ;
  495   u64 waittime_stamp ;
  496   u64 holdtime_stamp ;
  497   unsigned short class_idx : 13 ;
  498   unsigned char irq_context : 2 ;
  499   unsigned char trylock : 1 ;
  500   unsigned char read : 2 ;
  501   unsigned char check : 2 ;
  502   unsigned char hardirqs_off : 1 ;
  503   unsigned short references : 11 ;
  504};
  505#line 556 "include/linux/lockdep.h"
  506struct raw_spinlock {
  507   arch_spinlock_t raw_lock ;
  508   unsigned int magic ;
  509   unsigned int owner_cpu ;
  510   void *owner ;
  511   struct lockdep_map dep_map ;
  512};
  513#line 32 "include/linux/spinlock_types.h"
  514typedef struct raw_spinlock raw_spinlock_t;
  515#line 33 "include/linux/spinlock_types.h"
  516struct __anonstruct_ldv_6122_33 {
  517   u8 __padding[24U] ;
  518   struct lockdep_map dep_map ;
  519};
  520#line 33 "include/linux/spinlock_types.h"
  521union __anonunion_ldv_6123_32 {
  522   struct raw_spinlock rlock ;
  523   struct __anonstruct_ldv_6122_33 ldv_6122 ;
  524};
  525#line 33 "include/linux/spinlock_types.h"
  526struct spinlock {
  527   union __anonunion_ldv_6123_32 ldv_6123 ;
  528};
  529#line 76 "include/linux/spinlock_types.h"
  530typedef struct spinlock spinlock_t;
  531#line 23 "include/linux/rwlock_types.h"
  532struct __anonstruct_rwlock_t_34 {
  533   arch_rwlock_t raw_lock ;
  534   unsigned int magic ;
  535   unsigned int owner_cpu ;
  536   void *owner ;
  537   struct lockdep_map dep_map ;
  538};
  539#line 23 "include/linux/rwlock_types.h"
  540typedef struct __anonstruct_rwlock_t_34 rwlock_t;
  541#line 110 "include/linux/seqlock.h"
  542struct seqcount {
  543   unsigned int sequence ;
  544};
  545#line 121 "include/linux/seqlock.h"
  546typedef struct seqcount seqcount_t;
  547#line 254 "include/linux/seqlock.h"
  548struct timespec {
  549   __kernel_time_t tv_sec ;
  550   long tv_nsec ;
  551};
  552#line 286 "include/linux/time.h"
  553struct kstat {
  554   u64 ino ;
  555   dev_t dev ;
  556   umode_t mode ;
  557   unsigned int nlink ;
  558   uid_t uid ;
  559   gid_t gid ;
  560   dev_t rdev ;
  561   loff_t size ;
  562   struct timespec atime ;
  563   struct timespec mtime ;
  564   struct timespec ctime ;
  565   unsigned long blksize ;
  566   unsigned long long blocks ;
  567};
  568#line 48 "include/linux/wait.h"
  569struct __wait_queue_head {
  570   spinlock_t lock ;
  571   struct list_head task_list ;
  572};
  573#line 53 "include/linux/wait.h"
  574typedef struct __wait_queue_head wait_queue_head_t;
  575#line 98 "include/linux/nodemask.h"
  576struct __anonstruct_nodemask_t_36 {
  577   unsigned long bits[16U] ;
  578};
  579#line 98 "include/linux/nodemask.h"
  580typedef struct __anonstruct_nodemask_t_36 nodemask_t;
  581#line 670 "include/linux/mmzone.h"
  582struct mutex {
  583   atomic_t count ;
  584   spinlock_t wait_lock ;
  585   struct list_head wait_list ;
  586   struct task_struct *owner ;
  587   char const   *name ;
  588   void *magic ;
  589   struct lockdep_map dep_map ;
  590};
  591#line 63 "include/linux/mutex.h"
  592struct mutex_waiter {
  593   struct list_head list ;
  594   struct task_struct *task ;
  595   void *magic ;
  596};
  597#line 171
  598struct rw_semaphore;
  599#line 172 "include/linux/mutex.h"
  600struct rw_semaphore {
  601   long count ;
  602   raw_spinlock_t wait_lock ;
  603   struct list_head wait_list ;
  604   struct lockdep_map dep_map ;
  605};
  606#line 128 "include/linux/rwsem.h"
  607struct completion {
  608   unsigned int done ;
  609   wait_queue_head_t wait ;
  610};
  611#line 188 "include/linux/rcupdate.h"
  612struct notifier_block;
  613#line 239 "include/linux/srcu.h"
  614struct notifier_block {
  615   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
  616   struct notifier_block *next ;
  617   int priority ;
  618};
  619#line 312 "include/linux/jiffies.h"
  620union ktime {
  621   s64 tv64 ;
  622};
  623#line 59 "include/linux/ktime.h"
  624typedef union ktime ktime_t;
  625#line 341
  626struct tvec_base;
  627#line 342 "include/linux/ktime.h"
  628struct timer_list {
  629   struct list_head entry ;
  630   unsigned long expires ;
  631   struct tvec_base *base ;
  632   void (*function)(unsigned long  ) ;
  633   unsigned long data ;
  634   int slack ;
  635   int start_pid ;
  636   void *start_site ;
  637   char start_comm[16U] ;
  638   struct lockdep_map lockdep_map ;
  639};
  640#line 289 "include/linux/timer.h"
  641struct hrtimer;
  642#line 290
  643enum hrtimer_restart;
  644#line 302
  645struct work_struct;
  646#line 45 "include/linux/workqueue.h"
  647struct work_struct {
  648   atomic_long_t data ;
  649   struct list_head entry ;
  650   void (*func)(struct work_struct * ) ;
  651   struct lockdep_map lockdep_map ;
  652};
  653#line 86 "include/linux/workqueue.h"
  654struct delayed_work {
  655   struct work_struct work ;
  656   struct timer_list timer ;
  657};
  658#line 46 "include/linux/pm.h"
  659struct pm_message {
  660   int event ;
  661};
  662#line 52 "include/linux/pm.h"
  663typedef struct pm_message pm_message_t;
  664#line 53 "include/linux/pm.h"
  665struct dev_pm_ops {
  666   int (*prepare)(struct device * ) ;
  667   void (*complete)(struct device * ) ;
  668   int (*suspend)(struct device * ) ;
  669   int (*resume)(struct device * ) ;
  670   int (*freeze)(struct device * ) ;
  671   int (*thaw)(struct device * ) ;
  672   int (*poweroff)(struct device * ) ;
  673   int (*restore)(struct device * ) ;
  674   int (*suspend_late)(struct device * ) ;
  675   int (*resume_early)(struct device * ) ;
  676   int (*freeze_late)(struct device * ) ;
  677   int (*thaw_early)(struct device * ) ;
  678   int (*poweroff_late)(struct device * ) ;
  679   int (*restore_early)(struct device * ) ;
  680   int (*suspend_noirq)(struct device * ) ;
  681   int (*resume_noirq)(struct device * ) ;
  682   int (*freeze_noirq)(struct device * ) ;
  683   int (*thaw_noirq)(struct device * ) ;
  684   int (*poweroff_noirq)(struct device * ) ;
  685   int (*restore_noirq)(struct device * ) ;
  686   int (*runtime_suspend)(struct device * ) ;
  687   int (*runtime_resume)(struct device * ) ;
  688   int (*runtime_idle)(struct device * ) ;
  689};
  690#line 289
  691enum rpm_status {
  692    RPM_ACTIVE = 0,
  693    RPM_RESUMING = 1,
  694    RPM_SUSPENDED = 2,
  695    RPM_SUSPENDING = 3
  696} ;
  697#line 296
  698enum rpm_request {
  699    RPM_REQ_NONE = 0,
  700    RPM_REQ_IDLE = 1,
  701    RPM_REQ_SUSPEND = 2,
  702    RPM_REQ_AUTOSUSPEND = 3,
  703    RPM_REQ_RESUME = 4
  704} ;
  705#line 304
  706struct wakeup_source;
  707#line 494 "include/linux/pm.h"
  708struct pm_subsys_data {
  709   spinlock_t lock ;
  710   unsigned int refcount ;
  711};
  712#line 499
  713struct dev_pm_qos_request;
  714#line 499
  715struct pm_qos_constraints;
  716#line 499 "include/linux/pm.h"
  717struct dev_pm_info {
  718   pm_message_t power_state ;
  719   unsigned char can_wakeup : 1 ;
  720   unsigned char async_suspend : 1 ;
  721   bool is_prepared ;
  722   bool is_suspended ;
  723   bool ignore_children ;
  724   spinlock_t lock ;
  725   struct list_head entry ;
  726   struct completion completion ;
  727   struct wakeup_source *wakeup ;
  728   bool wakeup_path ;
  729   struct timer_list suspend_timer ;
  730   unsigned long timer_expires ;
  731   struct work_struct work ;
  732   wait_queue_head_t wait_queue ;
  733   atomic_t usage_count ;
  734   atomic_t child_count ;
  735   unsigned char disable_depth : 3 ;
  736   unsigned char idle_notification : 1 ;
  737   unsigned char request_pending : 1 ;
  738   unsigned char deferred_resume : 1 ;
  739   unsigned char run_wake : 1 ;
  740   unsigned char runtime_auto : 1 ;
  741   unsigned char no_callbacks : 1 ;
  742   unsigned char irq_safe : 1 ;
  743   unsigned char use_autosuspend : 1 ;
  744   unsigned char timer_autosuspends : 1 ;
  745   enum rpm_request request ;
  746   enum rpm_status runtime_status ;
  747   int runtime_error ;
  748   int autosuspend_delay ;
  749   unsigned long last_busy ;
  750   unsigned long active_jiffies ;
  751   unsigned long suspended_jiffies ;
  752   unsigned long accounting_timestamp ;
  753   ktime_t suspend_time ;
  754   s64 max_time_suspended_ns ;
  755   struct dev_pm_qos_request *pq_req ;
  756   struct pm_subsys_data *subsys_data ;
  757   struct pm_qos_constraints *constraints ;
  758};
  759#line 558 "include/linux/pm.h"
  760struct dev_pm_domain {
  761   struct dev_pm_ops ops ;
  762};
  763#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
  764struct __anonstruct_mm_context_t_101 {
  765   void *ldt ;
  766   int size ;
  767   unsigned short ia32_compat ;
  768   struct mutex lock ;
  769   void *vdso ;
  770};
  771#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
  772typedef struct __anonstruct_mm_context_t_101 mm_context_t;
  773#line 18 "include/asm-generic/pci_iomap.h"
  774struct vm_area_struct;
  775#line 68 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/hypervisor.h"
  776struct bio_vec;
  777#line 18 "include/linux/smp.h"
  778struct call_single_data {
  779   struct list_head list ;
  780   void (*func)(void * ) ;
  781   void *info ;
  782   u16 flags ;
  783   u16 priv ;
  784};
  785#line 835 "include/linux/sysctl.h"
  786struct rb_node {
  787   unsigned long rb_parent_color ;
  788   struct rb_node *rb_right ;
  789   struct rb_node *rb_left ;
  790};
  791#line 108 "include/linux/rbtree.h"
  792struct rb_root {
  793   struct rb_node *rb_node ;
  794};
  795#line 176
  796struct nsproxy;
  797#line 37 "include/linux/kmod.h"
  798struct cred;
  799#line 18 "include/linux/elf.h"
  800typedef __u64 Elf64_Addr;
  801#line 19 "include/linux/elf.h"
  802typedef __u16 Elf64_Half;
  803#line 23 "include/linux/elf.h"
  804typedef __u32 Elf64_Word;
  805#line 24 "include/linux/elf.h"
  806typedef __u64 Elf64_Xword;
  807#line 193 "include/linux/elf.h"
  808struct elf64_sym {
  809   Elf64_Word st_name ;
  810   unsigned char st_info ;
  811   unsigned char st_other ;
  812   Elf64_Half st_shndx ;
  813   Elf64_Addr st_value ;
  814   Elf64_Xword st_size ;
  815};
  816#line 201 "include/linux/elf.h"
  817typedef struct elf64_sym Elf64_Sym;
  818#line 445
  819struct sock;
  820#line 446
  821struct kobject;
  822#line 447
  823enum kobj_ns_type {
  824    KOBJ_NS_TYPE_NONE = 0,
  825    KOBJ_NS_TYPE_NET = 1,
  826    KOBJ_NS_TYPES = 2
  827} ;
  828#line 453 "include/linux/elf.h"
  829struct kobj_ns_type_operations {
  830   enum kobj_ns_type type ;
  831   void *(*grab_current_ns)(void) ;
  832   void const   *(*netlink_ns)(struct sock * ) ;
  833   void const   *(*initial_ns)(void) ;
  834   void (*drop_ns)(void * ) ;
  835};
  836#line 57 "include/linux/kobject_ns.h"
  837struct attribute {
  838   char const   *name ;
  839   umode_t mode ;
  840   struct lock_class_key *key ;
  841   struct lock_class_key skey ;
  842};
  843#line 33 "include/linux/sysfs.h"
  844struct attribute_group {
  845   char const   *name ;
  846   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
  847   struct attribute **attrs ;
  848};
  849#line 62 "include/linux/sysfs.h"
  850struct bin_attribute {
  851   struct attribute attr ;
  852   size_t size ;
  853   void *private ;
  854   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
  855                   loff_t  , size_t  ) ;
  856   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
  857                    loff_t  , size_t  ) ;
  858   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
  859};
  860#line 98 "include/linux/sysfs.h"
  861struct sysfs_ops {
  862   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
  863   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
  864   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
  865};
  866#line 117
  867struct sysfs_dirent;
  868#line 182 "include/linux/sysfs.h"
  869struct kref {
  870   atomic_t refcount ;
  871};
  872#line 49 "include/linux/kobject.h"
  873struct kset;
  874#line 49
  875struct kobj_type;
  876#line 49 "include/linux/kobject.h"
  877struct kobject {
  878   char const   *name ;
  879   struct list_head entry ;
  880   struct kobject *parent ;
  881   struct kset *kset ;
  882   struct kobj_type *ktype ;
  883   struct sysfs_dirent *sd ;
  884   struct kref kref ;
  885   unsigned char state_initialized : 1 ;
  886   unsigned char state_in_sysfs : 1 ;
  887   unsigned char state_add_uevent_sent : 1 ;
  888   unsigned char state_remove_uevent_sent : 1 ;
  889   unsigned char uevent_suppress : 1 ;
  890};
  891#line 107 "include/linux/kobject.h"
  892struct kobj_type {
  893   void (*release)(struct kobject * ) ;
  894   struct sysfs_ops  const  *sysfs_ops ;
  895   struct attribute **default_attrs ;
  896   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
  897   void const   *(*namespace)(struct kobject * ) ;
  898};
  899#line 115 "include/linux/kobject.h"
  900struct kobj_uevent_env {
  901   char *envp[32U] ;
  902   int envp_idx ;
  903   char buf[2048U] ;
  904   int buflen ;
  905};
  906#line 122 "include/linux/kobject.h"
  907struct kset_uevent_ops {
  908   int (* const  filter)(struct kset * , struct kobject * ) ;
  909   char const   *(* const  name)(struct kset * , struct kobject * ) ;
  910   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
  911};
  912#line 139 "include/linux/kobject.h"
  913struct kset {
  914   struct list_head list ;
  915   spinlock_t list_lock ;
  916   struct kobject kobj ;
  917   struct kset_uevent_ops  const  *uevent_ops ;
  918};
  919#line 215
  920struct kernel_param;
  921#line 216 "include/linux/kobject.h"
  922struct kernel_param_ops {
  923   int (*set)(char const   * , struct kernel_param  const  * ) ;
  924   int (*get)(char * , struct kernel_param  const  * ) ;
  925   void (*free)(void * ) ;
  926};
  927#line 49 "include/linux/moduleparam.h"
  928struct kparam_string;
  929#line 49
  930struct kparam_array;
  931#line 49 "include/linux/moduleparam.h"
  932union __anonunion_ldv_13363_134 {
  933   void *arg ;
  934   struct kparam_string  const  *str ;
  935   struct kparam_array  const  *arr ;
  936};
  937#line 49 "include/linux/moduleparam.h"
  938struct kernel_param {
  939   char const   *name ;
  940   struct kernel_param_ops  const  *ops ;
  941   u16 perm ;
  942   s16 level ;
  943   union __anonunion_ldv_13363_134 ldv_13363 ;
  944};
  945#line 61 "include/linux/moduleparam.h"
  946struct kparam_string {
  947   unsigned int maxlen ;
  948   char *string ;
  949};
  950#line 67 "include/linux/moduleparam.h"
  951struct kparam_array {
  952   unsigned int max ;
  953   unsigned int elemsize ;
  954   unsigned int *num ;
  955   struct kernel_param_ops  const  *ops ;
  956   void *elem ;
  957};
  958#line 458 "include/linux/moduleparam.h"
  959struct static_key {
  960   atomic_t enabled ;
  961};
  962#line 225 "include/linux/jump_label.h"
  963struct tracepoint;
  964#line 226 "include/linux/jump_label.h"
  965struct tracepoint_func {
  966   void *func ;
  967   void *data ;
  968};
  969#line 29 "include/linux/tracepoint.h"
  970struct tracepoint {
  971   char const   *name ;
  972   struct static_key key ;
  973   void (*regfunc)(void) ;
  974   void (*unregfunc)(void) ;
  975   struct tracepoint_func *funcs ;
  976};
  977#line 86 "include/linux/tracepoint.h"
  978struct kernel_symbol {
  979   unsigned long value ;
  980   char const   *name ;
  981};
  982#line 27 "include/linux/export.h"
  983struct mod_arch_specific {
  984
  985};
  986#line 34 "include/linux/module.h"
  987struct module_param_attrs;
  988#line 34 "include/linux/module.h"
  989struct module_kobject {
  990   struct kobject kobj ;
  991   struct module *mod ;
  992   struct kobject *drivers_dir ;
  993   struct module_param_attrs *mp ;
  994};
  995#line 43 "include/linux/module.h"
  996struct module_attribute {
  997   struct attribute attr ;
  998   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
  999   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 1000                    size_t  ) ;
 1001   void (*setup)(struct module * , char const   * ) ;
 1002   int (*test)(struct module * ) ;
 1003   void (*free)(struct module * ) ;
 1004};
 1005#line 69
 1006struct exception_table_entry;
 1007#line 198
 1008enum module_state {
 1009    MODULE_STATE_LIVE = 0,
 1010    MODULE_STATE_COMING = 1,
 1011    MODULE_STATE_GOING = 2
 1012} ;
 1013#line 204 "include/linux/module.h"
 1014struct module_ref {
 1015   unsigned long incs ;
 1016   unsigned long decs ;
 1017};
 1018#line 219
 1019struct module_sect_attrs;
 1020#line 219
 1021struct module_notes_attrs;
 1022#line 219
 1023struct ftrace_event_call;
 1024#line 219 "include/linux/module.h"
 1025struct module {
 1026   enum module_state state ;
 1027   struct list_head list ;
 1028   char name[56U] ;
 1029   struct module_kobject mkobj ;
 1030   struct module_attribute *modinfo_attrs ;
 1031   char const   *version ;
 1032   char const   *srcversion ;
 1033   struct kobject *holders_dir ;
 1034   struct kernel_symbol  const  *syms ;
 1035   unsigned long const   *crcs ;
 1036   unsigned int num_syms ;
 1037   struct kernel_param *kp ;
 1038   unsigned int num_kp ;
 1039   unsigned int num_gpl_syms ;
 1040   struct kernel_symbol  const  *gpl_syms ;
 1041   unsigned long const   *gpl_crcs ;
 1042   struct kernel_symbol  const  *unused_syms ;
 1043   unsigned long const   *unused_crcs ;
 1044   unsigned int num_unused_syms ;
 1045   unsigned int num_unused_gpl_syms ;
 1046   struct kernel_symbol  const  *unused_gpl_syms ;
 1047   unsigned long const   *unused_gpl_crcs ;
 1048   struct kernel_symbol  const  *gpl_future_syms ;
 1049   unsigned long const   *gpl_future_crcs ;
 1050   unsigned int num_gpl_future_syms ;
 1051   unsigned int num_exentries ;
 1052   struct exception_table_entry *extable ;
 1053   int (*init)(void) ;
 1054   void *module_init ;
 1055   void *module_core ;
 1056   unsigned int init_size ;
 1057   unsigned int core_size ;
 1058   unsigned int init_text_size ;
 1059   unsigned int core_text_size ;
 1060   unsigned int init_ro_size ;
 1061   unsigned int core_ro_size ;
 1062   struct mod_arch_specific arch ;
 1063   unsigned int taints ;
 1064   unsigned int num_bugs ;
 1065   struct list_head bug_list ;
 1066   struct bug_entry *bug_table ;
 1067   Elf64_Sym *symtab ;
 1068   Elf64_Sym *core_symtab ;
 1069   unsigned int num_symtab ;
 1070   unsigned int core_num_syms ;
 1071   char *strtab ;
 1072   char *core_strtab ;
 1073   struct module_sect_attrs *sect_attrs ;
 1074   struct module_notes_attrs *notes_attrs ;
 1075   char *args ;
 1076   void *percpu ;
 1077   unsigned int percpu_size ;
 1078   unsigned int num_tracepoints ;
 1079   struct tracepoint * const  *tracepoints_ptrs ;
 1080   unsigned int num_trace_bprintk_fmt ;
 1081   char const   **trace_bprintk_fmt_start ;
 1082   struct ftrace_event_call **trace_events ;
 1083   unsigned int num_trace_events ;
 1084   struct list_head source_list ;
 1085   struct list_head target_list ;
 1086   struct task_struct *waiter ;
 1087   void (*exit)(void) ;
 1088   struct module_ref *refptr ;
 1089   ctor_fn_t (**ctors)(void) ;
 1090   unsigned int num_ctors ;
 1091};
 1092#line 88 "include/linux/kmemleak.h"
 1093struct kmem_cache_cpu {
 1094   void **freelist ;
 1095   unsigned long tid ;
 1096   struct page *page ;
 1097   struct page *partial ;
 1098   int node ;
 1099   unsigned int stat[26U] ;
 1100};
 1101#line 55 "include/linux/slub_def.h"
 1102struct kmem_cache_node {
 1103   spinlock_t list_lock ;
 1104   unsigned long nr_partial ;
 1105   struct list_head partial ;
 1106   atomic_long_t nr_slabs ;
 1107   atomic_long_t total_objects ;
 1108   struct list_head full ;
 1109};
 1110#line 66 "include/linux/slub_def.h"
 1111struct kmem_cache_order_objects {
 1112   unsigned long x ;
 1113};
 1114#line 76 "include/linux/slub_def.h"
 1115struct kmem_cache {
 1116   struct kmem_cache_cpu *cpu_slab ;
 1117   unsigned long flags ;
 1118   unsigned long min_partial ;
 1119   int size ;
 1120   int objsize ;
 1121   int offset ;
 1122   int cpu_partial ;
 1123   struct kmem_cache_order_objects oo ;
 1124   struct kmem_cache_order_objects max ;
 1125   struct kmem_cache_order_objects min ;
 1126   gfp_t allocflags ;
 1127   int refcount ;
 1128   void (*ctor)(void * ) ;
 1129   int inuse ;
 1130   int align ;
 1131   int reserved ;
 1132   char const   *name ;
 1133   struct list_head list ;
 1134   struct kobject kobj ;
 1135   int remote_node_defrag_ratio ;
 1136   struct kmem_cache_node *node[1024U] ;
 1137};
 1138#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 1139struct exception_table_entry {
 1140   unsigned long insn ;
 1141   unsigned long fixup ;
 1142};
 1143#line 82 "include/linux/hdreg.h"
 1144struct hd_geometry {
 1145   unsigned char heads ;
 1146   unsigned char sectors ;
 1147   unsigned short cylinders ;
 1148   unsigned long start ;
 1149};
 1150#line 93 "include/linux/capability.h"
 1151struct kernel_cap_struct {
 1152   __u32 cap[2U] ;
 1153};
 1154#line 96 "include/linux/capability.h"
 1155typedef struct kernel_cap_struct kernel_cap_t;
 1156#line 104
 1157struct dentry;
 1158#line 105
 1159struct user_namespace;
 1160#line 554
 1161struct prio_tree_node;
 1162#line 554 "include/linux/capability.h"
 1163struct raw_prio_tree_node {
 1164   struct prio_tree_node *left ;
 1165   struct prio_tree_node *right ;
 1166   struct prio_tree_node *parent ;
 1167};
 1168#line 19 "include/linux/prio_tree.h"
 1169struct prio_tree_node {
 1170   struct prio_tree_node *left ;
 1171   struct prio_tree_node *right ;
 1172   struct prio_tree_node *parent ;
 1173   unsigned long start ;
 1174   unsigned long last ;
 1175};
 1176#line 27 "include/linux/prio_tree.h"
 1177struct prio_tree_root {
 1178   struct prio_tree_node *prio_tree_node ;
 1179   unsigned short index_bits ;
 1180   unsigned short raw ;
 1181};
 1182#line 116
 1183struct address_space;
 1184#line 117 "include/linux/prio_tree.h"
 1185union __anonunion_ldv_14581_138 {
 1186   unsigned long index ;
 1187   void *freelist ;
 1188};
 1189#line 117 "include/linux/prio_tree.h"
 1190struct __anonstruct_ldv_14591_142 {
 1191   unsigned short inuse ;
 1192   unsigned short objects : 15 ;
 1193   unsigned char frozen : 1 ;
 1194};
 1195#line 117 "include/linux/prio_tree.h"
 1196union __anonunion_ldv_14592_141 {
 1197   atomic_t _mapcount ;
 1198   struct __anonstruct_ldv_14591_142 ldv_14591 ;
 1199};
 1200#line 117 "include/linux/prio_tree.h"
 1201struct __anonstruct_ldv_14594_140 {
 1202   union __anonunion_ldv_14592_141 ldv_14592 ;
 1203   atomic_t _count ;
 1204};
 1205#line 117 "include/linux/prio_tree.h"
 1206union __anonunion_ldv_14595_139 {
 1207   unsigned long counters ;
 1208   struct __anonstruct_ldv_14594_140 ldv_14594 ;
 1209};
 1210#line 117 "include/linux/prio_tree.h"
 1211struct __anonstruct_ldv_14596_137 {
 1212   union __anonunion_ldv_14581_138 ldv_14581 ;
 1213   union __anonunion_ldv_14595_139 ldv_14595 ;
 1214};
 1215#line 117 "include/linux/prio_tree.h"
 1216struct __anonstruct_ldv_14603_144 {
 1217   struct page *next ;
 1218   int pages ;
 1219   int pobjects ;
 1220};
 1221#line 117 "include/linux/prio_tree.h"
 1222union __anonunion_ldv_14604_143 {
 1223   struct list_head lru ;
 1224   struct __anonstruct_ldv_14603_144 ldv_14603 ;
 1225};
 1226#line 117 "include/linux/prio_tree.h"
 1227union __anonunion_ldv_14609_145 {
 1228   unsigned long private ;
 1229   struct kmem_cache *slab ;
 1230   struct page *first_page ;
 1231};
 1232#line 117 "include/linux/prio_tree.h"
 1233struct page {
 1234   unsigned long flags ;
 1235   struct address_space *mapping ;
 1236   struct __anonstruct_ldv_14596_137 ldv_14596 ;
 1237   union __anonunion_ldv_14604_143 ldv_14604 ;
 1238   union __anonunion_ldv_14609_145 ldv_14609 ;
 1239   unsigned long debug_flags ;
 1240};
 1241#line 192 "include/linux/mm_types.h"
 1242struct __anonstruct_vm_set_147 {
 1243   struct list_head list ;
 1244   void *parent ;
 1245   struct vm_area_struct *head ;
 1246};
 1247#line 192 "include/linux/mm_types.h"
 1248union __anonunion_shared_146 {
 1249   struct __anonstruct_vm_set_147 vm_set ;
 1250   struct raw_prio_tree_node prio_tree_node ;
 1251};
 1252#line 192
 1253struct anon_vma;
 1254#line 192
 1255struct vm_operations_struct;
 1256#line 192
 1257struct mempolicy;
 1258#line 192 "include/linux/mm_types.h"
 1259struct vm_area_struct {
 1260   struct mm_struct *vm_mm ;
 1261   unsigned long vm_start ;
 1262   unsigned long vm_end ;
 1263   struct vm_area_struct *vm_next ;
 1264   struct vm_area_struct *vm_prev ;
 1265   pgprot_t vm_page_prot ;
 1266   unsigned long vm_flags ;
 1267   struct rb_node vm_rb ;
 1268   union __anonunion_shared_146 shared ;
 1269   struct list_head anon_vma_chain ;
 1270   struct anon_vma *anon_vma ;
 1271   struct vm_operations_struct  const  *vm_ops ;
 1272   unsigned long vm_pgoff ;
 1273   struct file *vm_file ;
 1274   void *vm_private_data ;
 1275   struct mempolicy *vm_policy ;
 1276};
 1277#line 255 "include/linux/mm_types.h"
 1278struct core_thread {
 1279   struct task_struct *task ;
 1280   struct core_thread *next ;
 1281};
 1282#line 261 "include/linux/mm_types.h"
 1283struct core_state {
 1284   atomic_t nr_threads ;
 1285   struct core_thread dumper ;
 1286   struct completion startup ;
 1287};
 1288#line 274 "include/linux/mm_types.h"
 1289struct mm_rss_stat {
 1290   atomic_long_t count[3U] ;
 1291};
 1292#line 287
 1293struct linux_binfmt;
 1294#line 287
 1295struct mmu_notifier_mm;
 1296#line 287 "include/linux/mm_types.h"
 1297struct mm_struct {
 1298   struct vm_area_struct *mmap ;
 1299   struct rb_root mm_rb ;
 1300   struct vm_area_struct *mmap_cache ;
 1301   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 1302                                      unsigned long  , unsigned long  ) ;
 1303   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
 1304   unsigned long mmap_base ;
 1305   unsigned long task_size ;
 1306   unsigned long cached_hole_size ;
 1307   unsigned long free_area_cache ;
 1308   pgd_t *pgd ;
 1309   atomic_t mm_users ;
 1310   atomic_t mm_count ;
 1311   int map_count ;
 1312   spinlock_t page_table_lock ;
 1313   struct rw_semaphore mmap_sem ;
 1314   struct list_head mmlist ;
 1315   unsigned long hiwater_rss ;
 1316   unsigned long hiwater_vm ;
 1317   unsigned long total_vm ;
 1318   unsigned long locked_vm ;
 1319   unsigned long pinned_vm ;
 1320   unsigned long shared_vm ;
 1321   unsigned long exec_vm ;
 1322   unsigned long stack_vm ;
 1323   unsigned long reserved_vm ;
 1324   unsigned long def_flags ;
 1325   unsigned long nr_ptes ;
 1326   unsigned long start_code ;
 1327   unsigned long end_code ;
 1328   unsigned long start_data ;
 1329   unsigned long end_data ;
 1330   unsigned long start_brk ;
 1331   unsigned long brk ;
 1332   unsigned long start_stack ;
 1333   unsigned long arg_start ;
 1334   unsigned long arg_end ;
 1335   unsigned long env_start ;
 1336   unsigned long env_end ;
 1337   unsigned long saved_auxv[44U] ;
 1338   struct mm_rss_stat rss_stat ;
 1339   struct linux_binfmt *binfmt ;
 1340   cpumask_var_t cpu_vm_mask_var ;
 1341   mm_context_t context ;
 1342   unsigned int faultstamp ;
 1343   unsigned int token_priority ;
 1344   unsigned int last_interval ;
 1345   unsigned long flags ;
 1346   struct core_state *core_state ;
 1347   spinlock_t ioctx_lock ;
 1348   struct hlist_head ioctx_list ;
 1349   struct task_struct *owner ;
 1350   struct file *exe_file ;
 1351   unsigned long num_exe_file_vmas ;
 1352   struct mmu_notifier_mm *mmu_notifier_mm ;
 1353   pgtable_t pmd_huge_pte ;
 1354   struct cpumask cpumask_allocation ;
 1355};
 1356#line 7 "include/asm-generic/cputime.h"
 1357typedef unsigned long cputime_t;
 1358#line 98 "include/linux/sem.h"
 1359struct sem_undo_list;
 1360#line 98 "include/linux/sem.h"
 1361struct sysv_sem {
 1362   struct sem_undo_list *undo_list ;
 1363};
 1364#line 107
 1365struct siginfo;
 1366#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1367struct __anonstruct_sigset_t_148 {
 1368   unsigned long sig[1U] ;
 1369};
 1370#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1371typedef struct __anonstruct_sigset_t_148 sigset_t;
 1372#line 17 "include/asm-generic/signal-defs.h"
 1373typedef void __signalfn_t(int  );
 1374#line 18 "include/asm-generic/signal-defs.h"
 1375typedef __signalfn_t *__sighandler_t;
 1376#line 20 "include/asm-generic/signal-defs.h"
 1377typedef void __restorefn_t(void);
 1378#line 21 "include/asm-generic/signal-defs.h"
 1379typedef __restorefn_t *__sigrestore_t;
 1380#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1381struct sigaction {
 1382   __sighandler_t sa_handler ;
 1383   unsigned long sa_flags ;
 1384   __sigrestore_t sa_restorer ;
 1385   sigset_t sa_mask ;
 1386};
 1387#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1388struct k_sigaction {
 1389   struct sigaction sa ;
 1390};
 1391#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1392union sigval {
 1393   int sival_int ;
 1394   void *sival_ptr ;
 1395};
 1396#line 10 "include/asm-generic/siginfo.h"
 1397typedef union sigval sigval_t;
 1398#line 11 "include/asm-generic/siginfo.h"
 1399struct __anonstruct__kill_150 {
 1400   __kernel_pid_t _pid ;
 1401   __kernel_uid32_t _uid ;
 1402};
 1403#line 11 "include/asm-generic/siginfo.h"
 1404struct __anonstruct__timer_151 {
 1405   __kernel_timer_t _tid ;
 1406   int _overrun ;
 1407   char _pad[0U] ;
 1408   sigval_t _sigval ;
 1409   int _sys_private ;
 1410};
 1411#line 11 "include/asm-generic/siginfo.h"
 1412struct __anonstruct__rt_152 {
 1413   __kernel_pid_t _pid ;
 1414   __kernel_uid32_t _uid ;
 1415   sigval_t _sigval ;
 1416};
 1417#line 11 "include/asm-generic/siginfo.h"
 1418struct __anonstruct__sigchld_153 {
 1419   __kernel_pid_t _pid ;
 1420   __kernel_uid32_t _uid ;
 1421   int _status ;
 1422   __kernel_clock_t _utime ;
 1423   __kernel_clock_t _stime ;
 1424};
 1425#line 11 "include/asm-generic/siginfo.h"
 1426struct __anonstruct__sigfault_154 {
 1427   void *_addr ;
 1428   short _addr_lsb ;
 1429};
 1430#line 11 "include/asm-generic/siginfo.h"
 1431struct __anonstruct__sigpoll_155 {
 1432   long _band ;
 1433   int _fd ;
 1434};
 1435#line 11 "include/asm-generic/siginfo.h"
 1436union __anonunion__sifields_149 {
 1437   int _pad[28U] ;
 1438   struct __anonstruct__kill_150 _kill ;
 1439   struct __anonstruct__timer_151 _timer ;
 1440   struct __anonstruct__rt_152 _rt ;
 1441   struct __anonstruct__sigchld_153 _sigchld ;
 1442   struct __anonstruct__sigfault_154 _sigfault ;
 1443   struct __anonstruct__sigpoll_155 _sigpoll ;
 1444};
 1445#line 11 "include/asm-generic/siginfo.h"
 1446struct siginfo {
 1447   int si_signo ;
 1448   int si_errno ;
 1449   int si_code ;
 1450   union __anonunion__sifields_149 _sifields ;
 1451};
 1452#line 102 "include/asm-generic/siginfo.h"
 1453typedef struct siginfo siginfo_t;
 1454#line 14 "include/linux/signal.h"
 1455struct user_struct;
 1456#line 24 "include/linux/signal.h"
 1457struct sigpending {
 1458   struct list_head list ;
 1459   sigset_t signal ;
 1460};
 1461#line 388
 1462enum pid_type {
 1463    PIDTYPE_PID = 0,
 1464    PIDTYPE_PGID = 1,
 1465    PIDTYPE_SID = 2,
 1466    PIDTYPE_MAX = 3
 1467} ;
 1468#line 395
 1469struct pid_namespace;
 1470#line 395 "include/linux/signal.h"
 1471struct upid {
 1472   int nr ;
 1473   struct pid_namespace *ns ;
 1474   struct hlist_node pid_chain ;
 1475};
 1476#line 56 "include/linux/pid.h"
 1477struct pid {
 1478   atomic_t count ;
 1479   unsigned int level ;
 1480   struct hlist_head tasks[3U] ;
 1481   struct rcu_head rcu ;
 1482   struct upid numbers[1U] ;
 1483};
 1484#line 68 "include/linux/pid.h"
 1485struct pid_link {
 1486   struct hlist_node node ;
 1487   struct pid *pid ;
 1488};
 1489#line 175 "include/linux/pid.h"
 1490struct percpu_counter {
 1491   raw_spinlock_t lock ;
 1492   s64 count ;
 1493   struct list_head list ;
 1494   s32 *counters ;
 1495};
 1496#line 45 "include/linux/proportions.h"
 1497struct prop_local_percpu {
 1498   struct percpu_counter events ;
 1499   int shift ;
 1500   unsigned long period ;
 1501   raw_spinlock_t lock ;
 1502};
 1503#line 10 "include/linux/seccomp.h"
 1504struct __anonstruct_seccomp_t_158 {
 1505   int mode ;
 1506};
 1507#line 10 "include/linux/seccomp.h"
 1508typedef struct __anonstruct_seccomp_t_158 seccomp_t;
 1509#line 427 "include/linux/rculist.h"
 1510struct plist_head {
 1511   struct list_head node_list ;
 1512};
 1513#line 84 "include/linux/plist.h"
 1514struct plist_node {
 1515   int prio ;
 1516   struct list_head prio_list ;
 1517   struct list_head node_list ;
 1518};
 1519#line 38 "include/linux/rtmutex.h"
 1520struct rt_mutex_waiter;
 1521#line 41 "include/linux/resource.h"
 1522struct rlimit {
 1523   unsigned long rlim_cur ;
 1524   unsigned long rlim_max ;
 1525};
 1526#line 85 "include/linux/resource.h"
 1527struct timerqueue_node {
 1528   struct rb_node node ;
 1529   ktime_t expires ;
 1530};
 1531#line 12 "include/linux/timerqueue.h"
 1532struct timerqueue_head {
 1533   struct rb_root head ;
 1534   struct timerqueue_node *next ;
 1535};
 1536#line 50
 1537struct hrtimer_clock_base;
 1538#line 51
 1539struct hrtimer_cpu_base;
 1540#line 60
 1541enum hrtimer_restart {
 1542    HRTIMER_NORESTART = 0,
 1543    HRTIMER_RESTART = 1
 1544} ;
 1545#line 65 "include/linux/timerqueue.h"
 1546struct hrtimer {
 1547   struct timerqueue_node node ;
 1548   ktime_t _softexpires ;
 1549   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 1550   struct hrtimer_clock_base *base ;
 1551   unsigned long state ;
 1552   int start_pid ;
 1553   void *start_site ;
 1554   char start_comm[16U] ;
 1555};
 1556#line 132 "include/linux/hrtimer.h"
 1557struct hrtimer_clock_base {
 1558   struct hrtimer_cpu_base *cpu_base ;
 1559   int index ;
 1560   clockid_t clockid ;
 1561   struct timerqueue_head active ;
 1562   ktime_t resolution ;
 1563   ktime_t (*get_time)(void) ;
 1564   ktime_t softirq_time ;
 1565   ktime_t offset ;
 1566};
 1567#line 162 "include/linux/hrtimer.h"
 1568struct hrtimer_cpu_base {
 1569   raw_spinlock_t lock ;
 1570   unsigned long active_bases ;
 1571   ktime_t expires_next ;
 1572   int hres_active ;
 1573   int hang_detected ;
 1574   unsigned long nr_events ;
 1575   unsigned long nr_retries ;
 1576   unsigned long nr_hangs ;
 1577   ktime_t max_hang_time ;
 1578   struct hrtimer_clock_base clock_base[3U] ;
 1579};
 1580#line 452 "include/linux/hrtimer.h"
 1581struct task_io_accounting {
 1582   u64 rchar ;
 1583   u64 wchar ;
 1584   u64 syscr ;
 1585   u64 syscw ;
 1586   u64 read_bytes ;
 1587   u64 write_bytes ;
 1588   u64 cancelled_write_bytes ;
 1589};
 1590#line 45 "include/linux/task_io_accounting.h"
 1591struct latency_record {
 1592   unsigned long backtrace[12U] ;
 1593   unsigned int count ;
 1594   unsigned long time ;
 1595   unsigned long max ;
 1596};
 1597#line 29 "include/linux/key.h"
 1598typedef int32_t key_serial_t;
 1599#line 32 "include/linux/key.h"
 1600typedef uint32_t key_perm_t;
 1601#line 33
 1602struct key;
 1603#line 34
 1604struct signal_struct;
 1605#line 35
 1606struct key_type;
 1607#line 37
 1608struct keyring_list;
 1609#line 115
 1610struct key_user;
 1611#line 115 "include/linux/key.h"
 1612union __anonunion_ldv_15845_159 {
 1613   time_t expiry ;
 1614   time_t revoked_at ;
 1615};
 1616#line 115 "include/linux/key.h"
 1617union __anonunion_type_data_160 {
 1618   struct list_head link ;
 1619   unsigned long x[2U] ;
 1620   void *p[2U] ;
 1621   int reject_error ;
 1622};
 1623#line 115 "include/linux/key.h"
 1624union __anonunion_payload_161 {
 1625   unsigned long value ;
 1626   void *rcudata ;
 1627   void *data ;
 1628   struct keyring_list *subscriptions ;
 1629};
 1630#line 115 "include/linux/key.h"
 1631struct key {
 1632   atomic_t usage ;
 1633   key_serial_t serial ;
 1634   struct rb_node serial_node ;
 1635   struct key_type *type ;
 1636   struct rw_semaphore sem ;
 1637   struct key_user *user ;
 1638   void *security ;
 1639   union __anonunion_ldv_15845_159 ldv_15845 ;
 1640   uid_t uid ;
 1641   gid_t gid ;
 1642   key_perm_t perm ;
 1643   unsigned short quotalen ;
 1644   unsigned short datalen ;
 1645   unsigned long flags ;
 1646   char *description ;
 1647   union __anonunion_type_data_160 type_data ;
 1648   union __anonunion_payload_161 payload ;
 1649};
 1650#line 316
 1651struct audit_context;
 1652#line 27 "include/linux/selinux.h"
 1653struct inode;
 1654#line 28 "include/linux/selinux.h"
 1655struct group_info {
 1656   atomic_t usage ;
 1657   int ngroups ;
 1658   int nblocks ;
 1659   gid_t small_block[32U] ;
 1660   gid_t *blocks[0U] ;
 1661};
 1662#line 77 "include/linux/cred.h"
 1663struct thread_group_cred {
 1664   atomic_t usage ;
 1665   pid_t tgid ;
 1666   spinlock_t lock ;
 1667   struct key *session_keyring ;
 1668   struct key *process_keyring ;
 1669   struct rcu_head rcu ;
 1670};
 1671#line 91 "include/linux/cred.h"
 1672struct cred {
 1673   atomic_t usage ;
 1674   atomic_t subscribers ;
 1675   void *put_addr ;
 1676   unsigned int magic ;
 1677   uid_t uid ;
 1678   gid_t gid ;
 1679   uid_t suid ;
 1680   gid_t sgid ;
 1681   uid_t euid ;
 1682   gid_t egid ;
 1683   uid_t fsuid ;
 1684   gid_t fsgid ;
 1685   unsigned int securebits ;
 1686   kernel_cap_t cap_inheritable ;
 1687   kernel_cap_t cap_permitted ;
 1688   kernel_cap_t cap_effective ;
 1689   kernel_cap_t cap_bset ;
 1690   unsigned char jit_keyring ;
 1691   struct key *thread_keyring ;
 1692   struct key *request_key_auth ;
 1693   struct thread_group_cred *tgcred ;
 1694   void *security ;
 1695   struct user_struct *user ;
 1696   struct user_namespace *user_ns ;
 1697   struct group_info *group_info ;
 1698   struct rcu_head rcu ;
 1699};
 1700#line 264
 1701struct llist_node;
 1702#line 64 "include/linux/llist.h"
 1703struct llist_node {
 1704   struct llist_node *next ;
 1705};
 1706#line 185
 1707struct futex_pi_state;
 1708#line 186
 1709struct robust_list_head;
 1710#line 187
 1711struct bio_list;
 1712#line 188
 1713struct fs_struct;
 1714#line 189
 1715struct perf_event_context;
 1716#line 190
 1717struct blk_plug;
 1718#line 149 "include/linux/sched.h"
 1719struct cfs_rq;
 1720#line 44 "include/linux/aio_abi.h"
 1721struct io_event {
 1722   __u64 data ;
 1723   __u64 obj ;
 1724   __s64 res ;
 1725   __s64 res2 ;
 1726};
 1727#line 106 "include/linux/aio_abi.h"
 1728struct iovec {
 1729   void *iov_base ;
 1730   __kernel_size_t iov_len ;
 1731};
 1732#line 21 "include/linux/uio.h"
 1733struct kvec {
 1734   void *iov_base ;
 1735   size_t iov_len ;
 1736};
 1737#line 54
 1738struct kioctx;
 1739#line 55 "include/linux/uio.h"
 1740union __anonunion_ki_obj_162 {
 1741   void *user ;
 1742   struct task_struct *tsk ;
 1743};
 1744#line 55
 1745struct eventfd_ctx;
 1746#line 55 "include/linux/uio.h"
 1747struct kiocb {
 1748   struct list_head ki_run_list ;
 1749   unsigned long ki_flags ;
 1750   int ki_users ;
 1751   unsigned int ki_key ;
 1752   struct file *ki_filp ;
 1753   struct kioctx *ki_ctx ;
 1754   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
 1755   ssize_t (*ki_retry)(struct kiocb * ) ;
 1756   void (*ki_dtor)(struct kiocb * ) ;
 1757   union __anonunion_ki_obj_162 ki_obj ;
 1758   __u64 ki_user_data ;
 1759   loff_t ki_pos ;
 1760   void *private ;
 1761   unsigned short ki_opcode ;
 1762   size_t ki_nbytes ;
 1763   char *ki_buf ;
 1764   size_t ki_left ;
 1765   struct iovec ki_inline_vec ;
 1766   struct iovec *ki_iovec ;
 1767   unsigned long ki_nr_segs ;
 1768   unsigned long ki_cur_seg ;
 1769   struct list_head ki_list ;
 1770   struct list_head ki_batch ;
 1771   struct eventfd_ctx *ki_eventfd ;
 1772};
 1773#line 162 "include/linux/aio.h"
 1774struct aio_ring_info {
 1775   unsigned long mmap_base ;
 1776   unsigned long mmap_size ;
 1777   struct page **ring_pages ;
 1778   spinlock_t ring_lock ;
 1779   long nr_pages ;
 1780   unsigned int nr ;
 1781   unsigned int tail ;
 1782   struct page *internal_pages[8U] ;
 1783};
 1784#line 178 "include/linux/aio.h"
 1785struct kioctx {
 1786   atomic_t users ;
 1787   int dead ;
 1788   struct mm_struct *mm ;
 1789   unsigned long user_id ;
 1790   struct hlist_node list ;
 1791   wait_queue_head_t wait ;
 1792   spinlock_t ctx_lock ;
 1793   int reqs_active ;
 1794   struct list_head active_reqs ;
 1795   struct list_head run_list ;
 1796   unsigned int max_reqs ;
 1797   struct aio_ring_info ring_info ;
 1798   struct delayed_work wq ;
 1799   struct rcu_head rcu_head ;
 1800};
 1801#line 406 "include/linux/sched.h"
 1802struct sighand_struct {
 1803   atomic_t count ;
 1804   struct k_sigaction action[64U] ;
 1805   spinlock_t siglock ;
 1806   wait_queue_head_t signalfd_wqh ;
 1807};
 1808#line 449 "include/linux/sched.h"
 1809struct pacct_struct {
 1810   int ac_flag ;
 1811   long ac_exitcode ;
 1812   unsigned long ac_mem ;
 1813   cputime_t ac_utime ;
 1814   cputime_t ac_stime ;
 1815   unsigned long ac_minflt ;
 1816   unsigned long ac_majflt ;
 1817};
 1818#line 457 "include/linux/sched.h"
 1819struct cpu_itimer {
 1820   cputime_t expires ;
 1821   cputime_t incr ;
 1822   u32 error ;
 1823   u32 incr_error ;
 1824};
 1825#line 464 "include/linux/sched.h"
 1826struct task_cputime {
 1827   cputime_t utime ;
 1828   cputime_t stime ;
 1829   unsigned long long sum_exec_runtime ;
 1830};
 1831#line 481 "include/linux/sched.h"
 1832struct thread_group_cputimer {
 1833   struct task_cputime cputime ;
 1834   int running ;
 1835   raw_spinlock_t lock ;
 1836};
 1837#line 517
 1838struct autogroup;
 1839#line 518
 1840struct tty_struct;
 1841#line 518
 1842struct taskstats;
 1843#line 518
 1844struct tty_audit_buf;
 1845#line 518 "include/linux/sched.h"
 1846struct signal_struct {
 1847   atomic_t sigcnt ;
 1848   atomic_t live ;
 1849   int nr_threads ;
 1850   wait_queue_head_t wait_chldexit ;
 1851   struct task_struct *curr_target ;
 1852   struct sigpending shared_pending ;
 1853   int group_exit_code ;
 1854   int notify_count ;
 1855   struct task_struct *group_exit_task ;
 1856   int group_stop_count ;
 1857   unsigned int flags ;
 1858   unsigned char is_child_subreaper : 1 ;
 1859   unsigned char has_child_subreaper : 1 ;
 1860   struct list_head posix_timers ;
 1861   struct hrtimer real_timer ;
 1862   struct pid *leader_pid ;
 1863   ktime_t it_real_incr ;
 1864   struct cpu_itimer it[2U] ;
 1865   struct thread_group_cputimer cputimer ;
 1866   struct task_cputime cputime_expires ;
 1867   struct list_head cpu_timers[3U] ;
 1868   struct pid *tty_old_pgrp ;
 1869   int leader ;
 1870   struct tty_struct *tty ;
 1871   struct autogroup *autogroup ;
 1872   cputime_t utime ;
 1873   cputime_t stime ;
 1874   cputime_t cutime ;
 1875   cputime_t cstime ;
 1876   cputime_t gtime ;
 1877   cputime_t cgtime ;
 1878   cputime_t prev_utime ;
 1879   cputime_t prev_stime ;
 1880   unsigned long nvcsw ;
 1881   unsigned long nivcsw ;
 1882   unsigned long cnvcsw ;
 1883   unsigned long cnivcsw ;
 1884   unsigned long min_flt ;
 1885   unsigned long maj_flt ;
 1886   unsigned long cmin_flt ;
 1887   unsigned long cmaj_flt ;
 1888   unsigned long inblock ;
 1889   unsigned long oublock ;
 1890   unsigned long cinblock ;
 1891   unsigned long coublock ;
 1892   unsigned long maxrss ;
 1893   unsigned long cmaxrss ;
 1894   struct task_io_accounting ioac ;
 1895   unsigned long long sum_sched_runtime ;
 1896   struct rlimit rlim[16U] ;
 1897   struct pacct_struct pacct ;
 1898   struct taskstats *stats ;
 1899   unsigned int audit_tty ;
 1900   struct tty_audit_buf *tty_audit_buf ;
 1901   struct rw_semaphore group_rwsem ;
 1902   int oom_adj ;
 1903   int oom_score_adj ;
 1904   int oom_score_adj_min ;
 1905   struct mutex cred_guard_mutex ;
 1906};
 1907#line 699 "include/linux/sched.h"
 1908struct user_struct {
 1909   atomic_t __count ;
 1910   atomic_t processes ;
 1911   atomic_t files ;
 1912   atomic_t sigpending ;
 1913   atomic_t inotify_watches ;
 1914   atomic_t inotify_devs ;
 1915   atomic_t fanotify_listeners ;
 1916   atomic_long_t epoll_watches ;
 1917   unsigned long mq_bytes ;
 1918   unsigned long locked_shm ;
 1919   struct key *uid_keyring ;
 1920   struct key *session_keyring ;
 1921   struct hlist_node uidhash_node ;
 1922   uid_t uid ;
 1923   struct user_namespace *user_ns ;
 1924   atomic_long_t locked_vm ;
 1925};
 1926#line 744
 1927struct backing_dev_info;
 1928#line 745
 1929struct reclaim_state;
 1930#line 746 "include/linux/sched.h"
 1931struct sched_info {
 1932   unsigned long pcount ;
 1933   unsigned long long run_delay ;
 1934   unsigned long long last_arrival ;
 1935   unsigned long long last_queued ;
 1936};
 1937#line 760 "include/linux/sched.h"
 1938struct task_delay_info {
 1939   spinlock_t lock ;
 1940   unsigned int flags ;
 1941   struct timespec blkio_start ;
 1942   struct timespec blkio_end ;
 1943   u64 blkio_delay ;
 1944   u64 swapin_delay ;
 1945   u32 blkio_count ;
 1946   u32 swapin_count ;
 1947   struct timespec freepages_start ;
 1948   struct timespec freepages_end ;
 1949   u64 freepages_delay ;
 1950   u32 freepages_count ;
 1951};
 1952#line 1069
 1953struct io_context;
 1954#line 1097
 1955struct pipe_inode_info;
 1956#line 1099
 1957struct rq;
 1958#line 1100 "include/linux/sched.h"
 1959struct sched_class {
 1960   struct sched_class  const  *next ;
 1961   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
 1962   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
 1963   void (*yield_task)(struct rq * ) ;
 1964   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
 1965   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
 1966   struct task_struct *(*pick_next_task)(struct rq * ) ;
 1967   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
 1968   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
 1969   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
 1970   void (*post_schedule)(struct rq * ) ;
 1971   void (*task_waking)(struct task_struct * ) ;
 1972   void (*task_woken)(struct rq * , struct task_struct * ) ;
 1973   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
 1974   void (*rq_online)(struct rq * ) ;
 1975   void (*rq_offline)(struct rq * ) ;
 1976   void (*set_curr_task)(struct rq * ) ;
 1977   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
 1978   void (*task_fork)(struct task_struct * ) ;
 1979   void (*switched_from)(struct rq * , struct task_struct * ) ;
 1980   void (*switched_to)(struct rq * , struct task_struct * ) ;
 1981   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
 1982   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
 1983   void (*task_move_group)(struct task_struct * , int  ) ;
 1984};
 1985#line 1165 "include/linux/sched.h"
 1986struct load_weight {
 1987   unsigned long weight ;
 1988   unsigned long inv_weight ;
 1989};
 1990#line 1170 "include/linux/sched.h"
 1991struct sched_statistics {
 1992   u64 wait_start ;
 1993   u64 wait_max ;
 1994   u64 wait_count ;
 1995   u64 wait_sum ;
 1996   u64 iowait_count ;
 1997   u64 iowait_sum ;
 1998   u64 sleep_start ;
 1999   u64 sleep_max ;
 2000   s64 sum_sleep_runtime ;
 2001   u64 block_start ;
 2002   u64 block_max ;
 2003   u64 exec_max ;
 2004   u64 slice_max ;
 2005   u64 nr_migrations_cold ;
 2006   u64 nr_failed_migrations_affine ;
 2007   u64 nr_failed_migrations_running ;
 2008   u64 nr_failed_migrations_hot ;
 2009   u64 nr_forced_migrations ;
 2010   u64 nr_wakeups ;
 2011   u64 nr_wakeups_sync ;
 2012   u64 nr_wakeups_migrate ;
 2013   u64 nr_wakeups_local ;
 2014   u64 nr_wakeups_remote ;
 2015   u64 nr_wakeups_affine ;
 2016   u64 nr_wakeups_affine_attempts ;
 2017   u64 nr_wakeups_passive ;
 2018   u64 nr_wakeups_idle ;
 2019};
 2020#line 1205 "include/linux/sched.h"
 2021struct sched_entity {
 2022   struct load_weight load ;
 2023   struct rb_node run_node ;
 2024   struct list_head group_node ;
 2025   unsigned int on_rq ;
 2026   u64 exec_start ;
 2027   u64 sum_exec_runtime ;
 2028   u64 vruntime ;
 2029   u64 prev_sum_exec_runtime ;
 2030   u64 nr_migrations ;
 2031   struct sched_statistics statistics ;
 2032   struct sched_entity *parent ;
 2033   struct cfs_rq *cfs_rq ;
 2034   struct cfs_rq *my_q ;
 2035};
 2036#line 1231
 2037struct rt_rq;
 2038#line 1231 "include/linux/sched.h"
 2039struct sched_rt_entity {
 2040   struct list_head run_list ;
 2041   unsigned long timeout ;
 2042   unsigned int time_slice ;
 2043   int nr_cpus_allowed ;
 2044   struct sched_rt_entity *back ;
 2045   struct sched_rt_entity *parent ;
 2046   struct rt_rq *rt_rq ;
 2047   struct rt_rq *my_q ;
 2048};
 2049#line 1255
 2050struct mem_cgroup;
 2051#line 1255 "include/linux/sched.h"
 2052struct memcg_batch_info {
 2053   int do_batch ;
 2054   struct mem_cgroup *memcg ;
 2055   unsigned long nr_pages ;
 2056   unsigned long memsw_nr_pages ;
 2057};
 2058#line 1616
 2059struct files_struct;
 2060#line 1616
 2061struct css_set;
 2062#line 1616
 2063struct compat_robust_list_head;
 2064#line 1616 "include/linux/sched.h"
 2065struct task_struct {
 2066   long volatile   state ;
 2067   void *stack ;
 2068   atomic_t usage ;
 2069   unsigned int flags ;
 2070   unsigned int ptrace ;
 2071   struct llist_node wake_entry ;
 2072   int on_cpu ;
 2073   int on_rq ;
 2074   int prio ;
 2075   int static_prio ;
 2076   int normal_prio ;
 2077   unsigned int rt_priority ;
 2078   struct sched_class  const  *sched_class ;
 2079   struct sched_entity se ;
 2080   struct sched_rt_entity rt ;
 2081   struct hlist_head preempt_notifiers ;
 2082   unsigned char fpu_counter ;
 2083   unsigned int policy ;
 2084   cpumask_t cpus_allowed ;
 2085   struct sched_info sched_info ;
 2086   struct list_head tasks ;
 2087   struct plist_node pushable_tasks ;
 2088   struct mm_struct *mm ;
 2089   struct mm_struct *active_mm ;
 2090   unsigned char brk_randomized : 1 ;
 2091   int exit_state ;
 2092   int exit_code ;
 2093   int exit_signal ;
 2094   int pdeath_signal ;
 2095   unsigned int jobctl ;
 2096   unsigned int personality ;
 2097   unsigned char did_exec : 1 ;
 2098   unsigned char in_execve : 1 ;
 2099   unsigned char in_iowait : 1 ;
 2100   unsigned char sched_reset_on_fork : 1 ;
 2101   unsigned char sched_contributes_to_load : 1 ;
 2102   unsigned char irq_thread : 1 ;
 2103   pid_t pid ;
 2104   pid_t tgid ;
 2105   unsigned long stack_canary ;
 2106   struct task_struct *real_parent ;
 2107   struct task_struct *parent ;
 2108   struct list_head children ;
 2109   struct list_head sibling ;
 2110   struct task_struct *group_leader ;
 2111   struct list_head ptraced ;
 2112   struct list_head ptrace_entry ;
 2113   struct pid_link pids[3U] ;
 2114   struct list_head thread_group ;
 2115   struct completion *vfork_done ;
 2116   int *set_child_tid ;
 2117   int *clear_child_tid ;
 2118   cputime_t utime ;
 2119   cputime_t stime ;
 2120   cputime_t utimescaled ;
 2121   cputime_t stimescaled ;
 2122   cputime_t gtime ;
 2123   cputime_t prev_utime ;
 2124   cputime_t prev_stime ;
 2125   unsigned long nvcsw ;
 2126   unsigned long nivcsw ;
 2127   struct timespec start_time ;
 2128   struct timespec real_start_time ;
 2129   unsigned long min_flt ;
 2130   unsigned long maj_flt ;
 2131   struct task_cputime cputime_expires ;
 2132   struct list_head cpu_timers[3U] ;
 2133   struct cred  const  *real_cred ;
 2134   struct cred  const  *cred ;
 2135   struct cred *replacement_session_keyring ;
 2136   char comm[16U] ;
 2137   int link_count ;
 2138   int total_link_count ;
 2139   struct sysv_sem sysvsem ;
 2140   unsigned long last_switch_count ;
 2141   struct thread_struct thread ;
 2142   struct fs_struct *fs ;
 2143   struct files_struct *files ;
 2144   struct nsproxy *nsproxy ;
 2145   struct signal_struct *signal ;
 2146   struct sighand_struct *sighand ;
 2147   sigset_t blocked ;
 2148   sigset_t real_blocked ;
 2149   sigset_t saved_sigmask ;
 2150   struct sigpending pending ;
 2151   unsigned long sas_ss_sp ;
 2152   size_t sas_ss_size ;
 2153   int (*notifier)(void * ) ;
 2154   void *notifier_data ;
 2155   sigset_t *notifier_mask ;
 2156   struct audit_context *audit_context ;
 2157   uid_t loginuid ;
 2158   unsigned int sessionid ;
 2159   seccomp_t seccomp ;
 2160   u32 parent_exec_id ;
 2161   u32 self_exec_id ;
 2162   spinlock_t alloc_lock ;
 2163   raw_spinlock_t pi_lock ;
 2164   struct plist_head pi_waiters ;
 2165   struct rt_mutex_waiter *pi_blocked_on ;
 2166   struct mutex_waiter *blocked_on ;
 2167   unsigned int irq_events ;
 2168   unsigned long hardirq_enable_ip ;
 2169   unsigned long hardirq_disable_ip ;
 2170   unsigned int hardirq_enable_event ;
 2171   unsigned int hardirq_disable_event ;
 2172   int hardirqs_enabled ;
 2173   int hardirq_context ;
 2174   unsigned long softirq_disable_ip ;
 2175   unsigned long softirq_enable_ip ;
 2176   unsigned int softirq_disable_event ;
 2177   unsigned int softirq_enable_event ;
 2178   int softirqs_enabled ;
 2179   int softirq_context ;
 2180   u64 curr_chain_key ;
 2181   int lockdep_depth ;
 2182   unsigned int lockdep_recursion ;
 2183   struct held_lock held_locks[48U] ;
 2184   gfp_t lockdep_reclaim_gfp ;
 2185   void *journal_info ;
 2186   struct bio_list *bio_list ;
 2187   struct blk_plug *plug ;
 2188   struct reclaim_state *reclaim_state ;
 2189   struct backing_dev_info *backing_dev_info ;
 2190   struct io_context *io_context ;
 2191   unsigned long ptrace_message ;
 2192   siginfo_t *last_siginfo ;
 2193   struct task_io_accounting ioac ;
 2194   u64 acct_rss_mem1 ;
 2195   u64 acct_vm_mem1 ;
 2196   cputime_t acct_timexpd ;
 2197   nodemask_t mems_allowed ;
 2198   seqcount_t mems_allowed_seq ;
 2199   int cpuset_mem_spread_rotor ;
 2200   int cpuset_slab_spread_rotor ;
 2201   struct css_set *cgroups ;
 2202   struct list_head cg_list ;
 2203   struct robust_list_head *robust_list ;
 2204   struct compat_robust_list_head *compat_robust_list ;
 2205   struct list_head pi_state_list ;
 2206   struct futex_pi_state *pi_state_cache ;
 2207   struct perf_event_context *perf_event_ctxp[2U] ;
 2208   struct mutex perf_event_mutex ;
 2209   struct list_head perf_event_list ;
 2210   struct mempolicy *mempolicy ;
 2211   short il_next ;
 2212   short pref_node_fork ;
 2213   struct rcu_head rcu ;
 2214   struct pipe_inode_info *splice_pipe ;
 2215   struct task_delay_info *delays ;
 2216   int make_it_fail ;
 2217   int nr_dirtied ;
 2218   int nr_dirtied_pause ;
 2219   unsigned long dirty_paused_when ;
 2220   int latency_record_count ;
 2221   struct latency_record latency_record[32U] ;
 2222   unsigned long timer_slack_ns ;
 2223   unsigned long default_timer_slack_ns ;
 2224   struct list_head *scm_work_list ;
 2225   unsigned long trace ;
 2226   unsigned long trace_recursion ;
 2227   struct memcg_batch_info memcg_batch ;
 2228   atomic_t ptrace_bp_refcnt ;
 2229};
 2230#line 25 "include/linux/genhd.h"
 2231struct device_type;
 2232#line 27
 2233struct class;
 2234#line 51
 2235struct klist_node;
 2236#line 37 "include/linux/klist.h"
 2237struct klist_node {
 2238   void *n_klist ;
 2239   struct list_head n_node ;
 2240   struct kref n_ref ;
 2241};
 2242#line 67
 2243struct dma_map_ops;
 2244#line 67 "include/linux/klist.h"
 2245struct dev_archdata {
 2246   void *acpi_handle ;
 2247   struct dma_map_ops *dma_ops ;
 2248   void *iommu ;
 2249};
 2250#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 2251struct device_private;
 2252#line 18
 2253struct device_driver;
 2254#line 19
 2255struct driver_private;
 2256#line 20
 2257struct subsys_private;
 2258#line 21
 2259struct bus_type;
 2260#line 22
 2261struct device_node;
 2262#line 23
 2263struct iommu_ops;
 2264#line 24 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 2265struct bus_attribute {
 2266   struct attribute attr ;
 2267   ssize_t (*show)(struct bus_type * , char * ) ;
 2268   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 2269};
 2270#line 51 "include/linux/device.h"
 2271struct device_attribute;
 2272#line 51
 2273struct driver_attribute;
 2274#line 51 "include/linux/device.h"
 2275struct bus_type {
 2276   char const   *name ;
 2277   char const   *dev_name ;
 2278   struct device *dev_root ;
 2279   struct bus_attribute *bus_attrs ;
 2280   struct device_attribute *dev_attrs ;
 2281   struct driver_attribute *drv_attrs ;
 2282   int (*match)(struct device * , struct device_driver * ) ;
 2283   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 2284   int (*probe)(struct device * ) ;
 2285   int (*remove)(struct device * ) ;
 2286   void (*shutdown)(struct device * ) ;
 2287   int (*suspend)(struct device * , pm_message_t  ) ;
 2288   int (*resume)(struct device * ) ;
 2289   struct dev_pm_ops  const  *pm ;
 2290   struct iommu_ops *iommu_ops ;
 2291   struct subsys_private *p ;
 2292};
 2293#line 182
 2294struct of_device_id;
 2295#line 182 "include/linux/device.h"
 2296struct device_driver {
 2297   char const   *name ;
 2298   struct bus_type *bus ;
 2299   struct module *owner ;
 2300   char const   *mod_name ;
 2301   bool suppress_bind_attrs ;
 2302   struct of_device_id  const  *of_match_table ;
 2303   int (*probe)(struct device * ) ;
 2304   int (*remove)(struct device * ) ;
 2305   void (*shutdown)(struct device * ) ;
 2306   int (*suspend)(struct device * , pm_message_t  ) ;
 2307   int (*resume)(struct device * ) ;
 2308   struct attribute_group  const  **groups ;
 2309   struct dev_pm_ops  const  *pm ;
 2310   struct driver_private *p ;
 2311};
 2312#line 245 "include/linux/device.h"
 2313struct driver_attribute {
 2314   struct attribute attr ;
 2315   ssize_t (*show)(struct device_driver * , char * ) ;
 2316   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 2317};
 2318#line 299
 2319struct class_attribute;
 2320#line 299 "include/linux/device.h"
 2321struct class {
 2322   char const   *name ;
 2323   struct module *owner ;
 2324   struct class_attribute *class_attrs ;
 2325   struct device_attribute *dev_attrs ;
 2326   struct bin_attribute *dev_bin_attrs ;
 2327   struct kobject *dev_kobj ;
 2328   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 2329   char *(*devnode)(struct device * , umode_t * ) ;
 2330   void (*class_release)(struct class * ) ;
 2331   void (*dev_release)(struct device * ) ;
 2332   int (*suspend)(struct device * , pm_message_t  ) ;
 2333   int (*resume)(struct device * ) ;
 2334   struct kobj_ns_type_operations  const  *ns_type ;
 2335   void const   *(*namespace)(struct device * ) ;
 2336   struct dev_pm_ops  const  *pm ;
 2337   struct subsys_private *p ;
 2338};
 2339#line 394 "include/linux/device.h"
 2340struct class_attribute {
 2341   struct attribute attr ;
 2342   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 2343   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 2344   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
 2345};
 2346#line 447 "include/linux/device.h"
 2347struct device_type {
 2348   char const   *name ;
 2349   struct attribute_group  const  **groups ;
 2350   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 2351   char *(*devnode)(struct device * , umode_t * ) ;
 2352   void (*release)(struct device * ) ;
 2353   struct dev_pm_ops  const  *pm ;
 2354};
 2355#line 474 "include/linux/device.h"
 2356struct device_attribute {
 2357   struct attribute attr ;
 2358   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 2359   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 2360                    size_t  ) ;
 2361};
 2362#line 557 "include/linux/device.h"
 2363struct device_dma_parameters {
 2364   unsigned int max_segment_size ;
 2365   unsigned long segment_boundary_mask ;
 2366};
 2367#line 567
 2368struct dma_coherent_mem;
 2369#line 567 "include/linux/device.h"
 2370struct device {
 2371   struct device *parent ;
 2372   struct device_private *p ;
 2373   struct kobject kobj ;
 2374   char const   *init_name ;
 2375   struct device_type  const  *type ;
 2376   struct mutex mutex ;
 2377   struct bus_type *bus ;
 2378   struct device_driver *driver ;
 2379   void *platform_data ;
 2380   struct dev_pm_info power ;
 2381   struct dev_pm_domain *pm_domain ;
 2382   int numa_node ;
 2383   u64 *dma_mask ;
 2384   u64 coherent_dma_mask ;
 2385   struct device_dma_parameters *dma_parms ;
 2386   struct list_head dma_pools ;
 2387   struct dma_coherent_mem *dma_mem ;
 2388   struct dev_archdata archdata ;
 2389   struct device_node *of_node ;
 2390   dev_t devt ;
 2391   u32 id ;
 2392   spinlock_t devres_lock ;
 2393   struct list_head devres_head ;
 2394   struct klist_node knode_class ;
 2395   struct class *class ;
 2396   struct attribute_group  const  **groups ;
 2397   void (*release)(struct device * ) ;
 2398};
 2399#line 681 "include/linux/device.h"
 2400struct wakeup_source {
 2401   char const   *name ;
 2402   struct list_head entry ;
 2403   spinlock_t lock ;
 2404   struct timer_list timer ;
 2405   unsigned long timer_expires ;
 2406   ktime_t total_time ;
 2407   ktime_t max_time ;
 2408   ktime_t last_time ;
 2409   unsigned long event_count ;
 2410   unsigned long active_count ;
 2411   unsigned long relax_count ;
 2412   unsigned long hit_count ;
 2413   unsigned char active : 1 ;
 2414};
 2415#line 992
 2416struct bio;
 2417#line 993
 2418struct bio_integrity_payload;
 2419#line 994
 2420struct block_device;
 2421#line 17 "include/linux/blk_types.h"
 2422typedef void bio_end_io_t(struct bio * , int  );
 2423#line 18 "include/linux/blk_types.h"
 2424typedef void bio_destructor_t(struct bio * );
 2425#line 19 "include/linux/blk_types.h"
 2426struct bio_vec {
 2427   struct page *bv_page ;
 2428   unsigned int bv_len ;
 2429   unsigned int bv_offset ;
 2430};
 2431#line 28 "include/linux/blk_types.h"
 2432struct bio {
 2433   sector_t bi_sector ;
 2434   struct bio *bi_next ;
 2435   struct block_device *bi_bdev ;
 2436   unsigned long bi_flags ;
 2437   unsigned long bi_rw ;
 2438   unsigned short bi_vcnt ;
 2439   unsigned short bi_idx ;
 2440   unsigned int bi_phys_segments ;
 2441   unsigned int bi_size ;
 2442   unsigned int bi_seg_front_size ;
 2443   unsigned int bi_seg_back_size ;
 2444   unsigned int bi_max_vecs ;
 2445   atomic_t bi_cnt ;
 2446   struct bio_vec *bi_io_vec ;
 2447   bio_end_io_t *bi_end_io ;
 2448   void *bi_private ;
 2449   struct bio_integrity_payload *bi_integrity ;
 2450   bio_destructor_t *bi_destructor ;
 2451   struct bio_vec bi_inline_vecs[0U] ;
 2452};
 2453#line 93 "include/linux/bit_spinlock.h"
 2454struct hlist_bl_node;
 2455#line 93 "include/linux/bit_spinlock.h"
 2456struct hlist_bl_head {
 2457   struct hlist_bl_node *first ;
 2458};
 2459#line 36 "include/linux/list_bl.h"
 2460struct hlist_bl_node {
 2461   struct hlist_bl_node *next ;
 2462   struct hlist_bl_node **pprev ;
 2463};
 2464#line 114 "include/linux/rculist_bl.h"
 2465struct nameidata;
 2466#line 115
 2467struct path;
 2468#line 116
 2469struct vfsmount;
 2470#line 117 "include/linux/rculist_bl.h"
 2471struct qstr {
 2472   unsigned int hash ;
 2473   unsigned int len ;
 2474   unsigned char const   *name ;
 2475};
 2476#line 72 "include/linux/dcache.h"
 2477struct dentry_operations;
 2478#line 72
 2479struct super_block;
 2480#line 72 "include/linux/dcache.h"
 2481union __anonunion_d_u_164 {
 2482   struct list_head d_child ;
 2483   struct rcu_head d_rcu ;
 2484};
 2485#line 72 "include/linux/dcache.h"
 2486struct dentry {
 2487   unsigned int d_flags ;
 2488   seqcount_t d_seq ;
 2489   struct hlist_bl_node d_hash ;
 2490   struct dentry *d_parent ;
 2491   struct qstr d_name ;
 2492   struct inode *d_inode ;
 2493   unsigned char d_iname[32U] ;
 2494   unsigned int d_count ;
 2495   spinlock_t d_lock ;
 2496   struct dentry_operations  const  *d_op ;
 2497   struct super_block *d_sb ;
 2498   unsigned long d_time ;
 2499   void *d_fsdata ;
 2500   struct list_head d_lru ;
 2501   union __anonunion_d_u_164 d_u ;
 2502   struct list_head d_subdirs ;
 2503   struct list_head d_alias ;
 2504};
 2505#line 123 "include/linux/dcache.h"
 2506struct dentry_operations {
 2507   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 2508   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 2509   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 2510                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 2511   int (*d_delete)(struct dentry  const  * ) ;
 2512   void (*d_release)(struct dentry * ) ;
 2513   void (*d_prune)(struct dentry * ) ;
 2514   void (*d_iput)(struct dentry * , struct inode * ) ;
 2515   char *(*d_dname)(struct dentry * , char * , int  ) ;
 2516   struct vfsmount *(*d_automount)(struct path * ) ;
 2517   int (*d_manage)(struct dentry * , bool  ) ;
 2518};
 2519#line 402 "include/linux/dcache.h"
 2520struct path {
 2521   struct vfsmount *mnt ;
 2522   struct dentry *dentry ;
 2523};
 2524#line 58 "include/linux/radix-tree.h"
 2525struct radix_tree_node;
 2526#line 58 "include/linux/radix-tree.h"
 2527struct radix_tree_root {
 2528   unsigned int height ;
 2529   gfp_t gfp_mask ;
 2530   struct radix_tree_node *rnode ;
 2531};
 2532#line 45 "include/linux/semaphore.h"
 2533struct fiemap_extent {
 2534   __u64 fe_logical ;
 2535   __u64 fe_physical ;
 2536   __u64 fe_length ;
 2537   __u64 fe_reserved64[2U] ;
 2538   __u32 fe_flags ;
 2539   __u32 fe_reserved[3U] ;
 2540};
 2541#line 38 "include/linux/fiemap.h"
 2542struct shrink_control {
 2543   gfp_t gfp_mask ;
 2544   unsigned long nr_to_scan ;
 2545};
 2546#line 14 "include/linux/shrinker.h"
 2547struct shrinker {
 2548   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
 2549   int seeks ;
 2550   long batch ;
 2551   struct list_head list ;
 2552   atomic_long_t nr_in_batch ;
 2553};
 2554#line 43
 2555enum migrate_mode {
 2556    MIGRATE_ASYNC = 0,
 2557    MIGRATE_SYNC_LIGHT = 1,
 2558    MIGRATE_SYNC = 2
 2559} ;
 2560#line 49
 2561struct export_operations;
 2562#line 50
 2563struct poll_table_struct;
 2564#line 51
 2565struct kstatfs;
 2566#line 435 "include/linux/fs.h"
 2567struct iattr {
 2568   unsigned int ia_valid ;
 2569   umode_t ia_mode ;
 2570   uid_t ia_uid ;
 2571   gid_t ia_gid ;
 2572   loff_t ia_size ;
 2573   struct timespec ia_atime ;
 2574   struct timespec ia_mtime ;
 2575   struct timespec ia_ctime ;
 2576   struct file *ia_file ;
 2577};
 2578#line 119 "include/linux/quota.h"
 2579struct if_dqinfo {
 2580   __u64 dqi_bgrace ;
 2581   __u64 dqi_igrace ;
 2582   __u32 dqi_flags ;
 2583   __u32 dqi_valid ;
 2584};
 2585#line 152 "include/linux/quota.h"
 2586struct fs_disk_quota {
 2587   __s8 d_version ;
 2588   __s8 d_flags ;
 2589   __u16 d_fieldmask ;
 2590   __u32 d_id ;
 2591   __u64 d_blk_hardlimit ;
 2592   __u64 d_blk_softlimit ;
 2593   __u64 d_ino_hardlimit ;
 2594   __u64 d_ino_softlimit ;
 2595   __u64 d_bcount ;
 2596   __u64 d_icount ;
 2597   __s32 d_itimer ;
 2598   __s32 d_btimer ;
 2599   __u16 d_iwarns ;
 2600   __u16 d_bwarns ;
 2601   __s32 d_padding2 ;
 2602   __u64 d_rtb_hardlimit ;
 2603   __u64 d_rtb_softlimit ;
 2604   __u64 d_rtbcount ;
 2605   __s32 d_rtbtimer ;
 2606   __u16 d_rtbwarns ;
 2607   __s16 d_padding3 ;
 2608   char d_padding4[8U] ;
 2609};
 2610#line 75 "include/linux/dqblk_xfs.h"
 2611struct fs_qfilestat {
 2612   __u64 qfs_ino ;
 2613   __u64 qfs_nblks ;
 2614   __u32 qfs_nextents ;
 2615};
 2616#line 150 "include/linux/dqblk_xfs.h"
 2617typedef struct fs_qfilestat fs_qfilestat_t;
 2618#line 151 "include/linux/dqblk_xfs.h"
 2619struct fs_quota_stat {
 2620   __s8 qs_version ;
 2621   __u16 qs_flags ;
 2622   __s8 qs_pad ;
 2623   fs_qfilestat_t qs_uquota ;
 2624   fs_qfilestat_t qs_gquota ;
 2625   __u32 qs_incoredqs ;
 2626   __s32 qs_btimelimit ;
 2627   __s32 qs_itimelimit ;
 2628   __s32 qs_rtbtimelimit ;
 2629   __u16 qs_bwarnlimit ;
 2630   __u16 qs_iwarnlimit ;
 2631};
 2632#line 165
 2633struct dquot;
 2634#line 185 "include/linux/quota.h"
 2635typedef __kernel_uid32_t qid_t;
 2636#line 186 "include/linux/quota.h"
 2637typedef long long qsize_t;
 2638#line 189 "include/linux/quota.h"
 2639struct mem_dqblk {
 2640   qsize_t dqb_bhardlimit ;
 2641   qsize_t dqb_bsoftlimit ;
 2642   qsize_t dqb_curspace ;
 2643   qsize_t dqb_rsvspace ;
 2644   qsize_t dqb_ihardlimit ;
 2645   qsize_t dqb_isoftlimit ;
 2646   qsize_t dqb_curinodes ;
 2647   time_t dqb_btime ;
 2648   time_t dqb_itime ;
 2649};
 2650#line 211
 2651struct quota_format_type;
 2652#line 212 "include/linux/quota.h"
 2653struct mem_dqinfo {
 2654   struct quota_format_type *dqi_format ;
 2655   int dqi_fmt_id ;
 2656   struct list_head dqi_dirty_list ;
 2657   unsigned long dqi_flags ;
 2658   unsigned int dqi_bgrace ;
 2659   unsigned int dqi_igrace ;
 2660   qsize_t dqi_maxblimit ;
 2661   qsize_t dqi_maxilimit ;
 2662   void *dqi_priv ;
 2663};
 2664#line 275 "include/linux/quota.h"
 2665struct dquot {
 2666   struct hlist_node dq_hash ;
 2667   struct list_head dq_inuse ;
 2668   struct list_head dq_free ;
 2669   struct list_head dq_dirty ;
 2670   struct mutex dq_lock ;
 2671   atomic_t dq_count ;
 2672   wait_queue_head_t dq_wait_unused ;
 2673   struct super_block *dq_sb ;
 2674   unsigned int dq_id ;
 2675   loff_t dq_off ;
 2676   unsigned long dq_flags ;
 2677   short dq_type ;
 2678   struct mem_dqblk dq_dqb ;
 2679};
 2680#line 303 "include/linux/quota.h"
 2681struct quota_format_ops {
 2682   int (*check_quota_file)(struct super_block * , int  ) ;
 2683   int (*read_file_info)(struct super_block * , int  ) ;
 2684   int (*write_file_info)(struct super_block * , int  ) ;
 2685   int (*free_file_info)(struct super_block * , int  ) ;
 2686   int (*read_dqblk)(struct dquot * ) ;
 2687   int (*commit_dqblk)(struct dquot * ) ;
 2688   int (*release_dqblk)(struct dquot * ) ;
 2689};
 2690#line 314 "include/linux/quota.h"
 2691struct dquot_operations {
 2692   int (*write_dquot)(struct dquot * ) ;
 2693   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
 2694   void (*destroy_dquot)(struct dquot * ) ;
 2695   int (*acquire_dquot)(struct dquot * ) ;
 2696   int (*release_dquot)(struct dquot * ) ;
 2697   int (*mark_dirty)(struct dquot * ) ;
 2698   int (*write_info)(struct super_block * , int  ) ;
 2699   qsize_t *(*get_reserved_space)(struct inode * ) ;
 2700};
 2701#line 328 "include/linux/quota.h"
 2702struct quotactl_ops {
 2703   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
 2704   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
 2705   int (*quota_off)(struct super_block * , int  ) ;
 2706   int (*quota_sync)(struct super_block * , int  , int  ) ;
 2707   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 2708   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 2709   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 2710   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 2711   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
 2712   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
 2713};
 2714#line 344 "include/linux/quota.h"
 2715struct quota_format_type {
 2716   int qf_fmt_id ;
 2717   struct quota_format_ops  const  *qf_ops ;
 2718   struct module *qf_owner ;
 2719   struct quota_format_type *qf_next ;
 2720};
 2721#line 390 "include/linux/quota.h"
 2722struct quota_info {
 2723   unsigned int flags ;
 2724   struct mutex dqio_mutex ;
 2725   struct mutex dqonoff_mutex ;
 2726   struct rw_semaphore dqptr_sem ;
 2727   struct inode *files[2U] ;
 2728   struct mem_dqinfo info[2U] ;
 2729   struct quota_format_ops  const  *ops[2U] ;
 2730};
 2731#line 421
 2732struct writeback_control;
 2733#line 585 "include/linux/fs.h"
 2734union __anonunion_arg_166 {
 2735   char *buf ;
 2736   void *data ;
 2737};
 2738#line 585 "include/linux/fs.h"
 2739struct __anonstruct_read_descriptor_t_165 {
 2740   size_t written ;
 2741   size_t count ;
 2742   union __anonunion_arg_166 arg ;
 2743   int error ;
 2744};
 2745#line 585 "include/linux/fs.h"
 2746typedef struct __anonstruct_read_descriptor_t_165 read_descriptor_t;
 2747#line 588 "include/linux/fs.h"
 2748struct address_space_operations {
 2749   int (*writepage)(struct page * , struct writeback_control * ) ;
 2750   int (*readpage)(struct file * , struct page * ) ;
 2751   int (*writepages)(struct address_space * , struct writeback_control * ) ;
 2752   int (*set_page_dirty)(struct page * ) ;
 2753   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
 2754                    unsigned int  ) ;
 2755   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 2756                      unsigned int  , struct page ** , void ** ) ;
 2757   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 2758                    unsigned int  , struct page * , void * ) ;
 2759   sector_t (*bmap)(struct address_space * , sector_t  ) ;
 2760   void (*invalidatepage)(struct page * , unsigned long  ) ;
 2761   int (*releasepage)(struct page * , gfp_t  ) ;
 2762   void (*freepage)(struct page * ) ;
 2763   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
 2764                        unsigned long  ) ;
 2765   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
 2766   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
 2767   int (*launder_page)(struct page * ) ;
 2768   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
 2769   int (*error_remove_page)(struct address_space * , struct page * ) ;
 2770};
 2771#line 642 "include/linux/fs.h"
 2772struct address_space {
 2773   struct inode *host ;
 2774   struct radix_tree_root page_tree ;
 2775   spinlock_t tree_lock ;
 2776   unsigned int i_mmap_writable ;
 2777   struct prio_tree_root i_mmap ;
 2778   struct list_head i_mmap_nonlinear ;
 2779   struct mutex i_mmap_mutex ;
 2780   unsigned long nrpages ;
 2781   unsigned long writeback_index ;
 2782   struct address_space_operations  const  *a_ops ;
 2783   unsigned long flags ;
 2784   struct backing_dev_info *backing_dev_info ;
 2785   spinlock_t private_lock ;
 2786   struct list_head private_list ;
 2787   struct address_space *assoc_mapping ;
 2788};
 2789#line 664
 2790struct request_queue;
 2791#line 665
 2792struct hd_struct;
 2793#line 665
 2794struct gendisk;
 2795#line 665 "include/linux/fs.h"
 2796struct block_device {
 2797   dev_t bd_dev ;
 2798   int bd_openers ;
 2799   struct inode *bd_inode ;
 2800   struct super_block *bd_super ;
 2801   struct mutex bd_mutex ;
 2802   struct list_head bd_inodes ;
 2803   void *bd_claiming ;
 2804   void *bd_holder ;
 2805   int bd_holders ;
 2806   bool bd_write_holder ;
 2807   struct list_head bd_holder_disks ;
 2808   struct block_device *bd_contains ;
 2809   unsigned int bd_block_size ;
 2810   struct hd_struct *bd_part ;
 2811   unsigned int bd_part_count ;
 2812   int bd_invalidated ;
 2813   struct gendisk *bd_disk ;
 2814   struct request_queue *bd_queue ;
 2815   struct list_head bd_list ;
 2816   unsigned long bd_private ;
 2817   int bd_fsfreeze_count ;
 2818   struct mutex bd_fsfreeze_mutex ;
 2819};
 2820#line 737
 2821struct posix_acl;
 2822#line 738
 2823struct inode_operations;
 2824#line 738 "include/linux/fs.h"
 2825union __anonunion_ldv_19678_167 {
 2826   unsigned int const   i_nlink ;
 2827   unsigned int __i_nlink ;
 2828};
 2829#line 738 "include/linux/fs.h"
 2830union __anonunion_ldv_19697_168 {
 2831   struct list_head i_dentry ;
 2832   struct rcu_head i_rcu ;
 2833};
 2834#line 738
 2835struct file_operations;
 2836#line 738
 2837struct file_lock;
 2838#line 738
 2839struct cdev;
 2840#line 738 "include/linux/fs.h"
 2841union __anonunion_ldv_19715_169 {
 2842   struct pipe_inode_info *i_pipe ;
 2843   struct block_device *i_bdev ;
 2844   struct cdev *i_cdev ;
 2845};
 2846#line 738 "include/linux/fs.h"
 2847struct inode {
 2848   umode_t i_mode ;
 2849   unsigned short i_opflags ;
 2850   uid_t i_uid ;
 2851   gid_t i_gid ;
 2852   unsigned int i_flags ;
 2853   struct posix_acl *i_acl ;
 2854   struct posix_acl *i_default_acl ;
 2855   struct inode_operations  const  *i_op ;
 2856   struct super_block *i_sb ;
 2857   struct address_space *i_mapping ;
 2858   void *i_security ;
 2859   unsigned long i_ino ;
 2860   union __anonunion_ldv_19678_167 ldv_19678 ;
 2861   dev_t i_rdev ;
 2862   struct timespec i_atime ;
 2863   struct timespec i_mtime ;
 2864   struct timespec i_ctime ;
 2865   spinlock_t i_lock ;
 2866   unsigned short i_bytes ;
 2867   blkcnt_t i_blocks ;
 2868   loff_t i_size ;
 2869   unsigned long i_state ;
 2870   struct mutex i_mutex ;
 2871   unsigned long dirtied_when ;
 2872   struct hlist_node i_hash ;
 2873   struct list_head i_wb_list ;
 2874   struct list_head i_lru ;
 2875   struct list_head i_sb_list ;
 2876   union __anonunion_ldv_19697_168 ldv_19697 ;
 2877   atomic_t i_count ;
 2878   unsigned int i_blkbits ;
 2879   u64 i_version ;
 2880   atomic_t i_dio_count ;
 2881   atomic_t i_writecount ;
 2882   struct file_operations  const  *i_fop ;
 2883   struct file_lock *i_flock ;
 2884   struct address_space i_data ;
 2885   struct dquot *i_dquot[2U] ;
 2886   struct list_head i_devices ;
 2887   union __anonunion_ldv_19715_169 ldv_19715 ;
 2888   __u32 i_generation ;
 2889   __u32 i_fsnotify_mask ;
 2890   struct hlist_head i_fsnotify_marks ;
 2891   atomic_t i_readcount ;
 2892   void *i_private ;
 2893};
 2894#line 941 "include/linux/fs.h"
 2895struct fown_struct {
 2896   rwlock_t lock ;
 2897   struct pid *pid ;
 2898   enum pid_type pid_type ;
 2899   uid_t uid ;
 2900   uid_t euid ;
 2901   int signum ;
 2902};
 2903#line 949 "include/linux/fs.h"
 2904struct file_ra_state {
 2905   unsigned long start ;
 2906   unsigned int size ;
 2907   unsigned int async_size ;
 2908   unsigned int ra_pages ;
 2909   unsigned int mmap_miss ;
 2910   loff_t prev_pos ;
 2911};
 2912#line 972 "include/linux/fs.h"
 2913union __anonunion_f_u_170 {
 2914   struct list_head fu_list ;
 2915   struct rcu_head fu_rcuhead ;
 2916};
 2917#line 972 "include/linux/fs.h"
 2918struct file {
 2919   union __anonunion_f_u_170 f_u ;
 2920   struct path f_path ;
 2921   struct file_operations  const  *f_op ;
 2922   spinlock_t f_lock ;
 2923   int f_sb_list_cpu ;
 2924   atomic_long_t f_count ;
 2925   unsigned int f_flags ;
 2926   fmode_t f_mode ;
 2927   loff_t f_pos ;
 2928   struct fown_struct f_owner ;
 2929   struct cred  const  *f_cred ;
 2930   struct file_ra_state f_ra ;
 2931   u64 f_version ;
 2932   void *f_security ;
 2933   void *private_data ;
 2934   struct list_head f_ep_links ;
 2935   struct list_head f_tfile_llink ;
 2936   struct address_space *f_mapping ;
 2937   unsigned long f_mnt_write_state ;
 2938};
 2939#line 1111 "include/linux/fs.h"
 2940typedef struct files_struct *fl_owner_t;
 2941#line 1112 "include/linux/fs.h"
 2942struct file_lock_operations {
 2943   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
 2944   void (*fl_release_private)(struct file_lock * ) ;
 2945};
 2946#line 1117 "include/linux/fs.h"
 2947struct lock_manager_operations {
 2948   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
 2949   void (*lm_notify)(struct file_lock * ) ;
 2950   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
 2951   void (*lm_release_private)(struct file_lock * ) ;
 2952   void (*lm_break)(struct file_lock * ) ;
 2953   int (*lm_change)(struct file_lock ** , int  ) ;
 2954};
 2955#line 1134
 2956struct nlm_lockowner;
 2957#line 1135 "include/linux/fs.h"
 2958struct nfs_lock_info {
 2959   u32 state ;
 2960   struct nlm_lockowner *owner ;
 2961   struct list_head list ;
 2962};
 2963#line 14 "include/linux/nfs_fs_i.h"
 2964struct nfs4_lock_state;
 2965#line 15 "include/linux/nfs_fs_i.h"
 2966struct nfs4_lock_info {
 2967   struct nfs4_lock_state *owner ;
 2968};
 2969#line 19
 2970struct fasync_struct;
 2971#line 19 "include/linux/nfs_fs_i.h"
 2972struct __anonstruct_afs_172 {
 2973   struct list_head link ;
 2974   int state ;
 2975};
 2976#line 19 "include/linux/nfs_fs_i.h"
 2977union __anonunion_fl_u_171 {
 2978   struct nfs_lock_info nfs_fl ;
 2979   struct nfs4_lock_info nfs4_fl ;
 2980   struct __anonstruct_afs_172 afs ;
 2981};
 2982#line 19 "include/linux/nfs_fs_i.h"
 2983struct file_lock {
 2984   struct file_lock *fl_next ;
 2985   struct list_head fl_link ;
 2986   struct list_head fl_block ;
 2987   fl_owner_t fl_owner ;
 2988   unsigned int fl_flags ;
 2989   unsigned char fl_type ;
 2990   unsigned int fl_pid ;
 2991   struct pid *fl_nspid ;
 2992   wait_queue_head_t fl_wait ;
 2993   struct file *fl_file ;
 2994   loff_t fl_start ;
 2995   loff_t fl_end ;
 2996   struct fasync_struct *fl_fasync ;
 2997   unsigned long fl_break_time ;
 2998   unsigned long fl_downgrade_time ;
 2999   struct file_lock_operations  const  *fl_ops ;
 3000   struct lock_manager_operations  const  *fl_lmops ;
 3001   union __anonunion_fl_u_171 fl_u ;
 3002};
 3003#line 1221 "include/linux/fs.h"
 3004struct fasync_struct {
 3005   spinlock_t fa_lock ;
 3006   int magic ;
 3007   int fa_fd ;
 3008   struct fasync_struct *fa_next ;
 3009   struct file *fa_file ;
 3010   struct rcu_head fa_rcu ;
 3011};
 3012#line 1417
 3013struct file_system_type;
 3014#line 1417
 3015struct super_operations;
 3016#line 1417
 3017struct xattr_handler;
 3018#line 1417
 3019struct mtd_info;
 3020#line 1417 "include/linux/fs.h"
 3021struct super_block {
 3022   struct list_head s_list ;
 3023   dev_t s_dev ;
 3024   unsigned char s_dirt ;
 3025   unsigned char s_blocksize_bits ;
 3026   unsigned long s_blocksize ;
 3027   loff_t s_maxbytes ;
 3028   struct file_system_type *s_type ;
 3029   struct super_operations  const  *s_op ;
 3030   struct dquot_operations  const  *dq_op ;
 3031   struct quotactl_ops  const  *s_qcop ;
 3032   struct export_operations  const  *s_export_op ;
 3033   unsigned long s_flags ;
 3034   unsigned long s_magic ;
 3035   struct dentry *s_root ;
 3036   struct rw_semaphore s_umount ;
 3037   struct mutex s_lock ;
 3038   int s_count ;
 3039   atomic_t s_active ;
 3040   void *s_security ;
 3041   struct xattr_handler  const  **s_xattr ;
 3042   struct list_head s_inodes ;
 3043   struct hlist_bl_head s_anon ;
 3044   struct list_head *s_files ;
 3045   struct list_head s_mounts ;
 3046   struct list_head s_dentry_lru ;
 3047   int s_nr_dentry_unused ;
 3048   spinlock_t s_inode_lru_lock ;
 3049   struct list_head s_inode_lru ;
 3050   int s_nr_inodes_unused ;
 3051   struct block_device *s_bdev ;
 3052   struct backing_dev_info *s_bdi ;
 3053   struct mtd_info *s_mtd ;
 3054   struct hlist_node s_instances ;
 3055   struct quota_info s_dquot ;
 3056   int s_frozen ;
 3057   wait_queue_head_t s_wait_unfrozen ;
 3058   char s_id[32U] ;
 3059   u8 s_uuid[16U] ;
 3060   void *s_fs_info ;
 3061   unsigned int s_max_links ;
 3062   fmode_t s_mode ;
 3063   u32 s_time_gran ;
 3064   struct mutex s_vfs_rename_mutex ;
 3065   char *s_subtype ;
 3066   char *s_options ;
 3067   struct dentry_operations  const  *s_d_op ;
 3068   int cleancache_poolid ;
 3069   struct shrinker s_shrink ;
 3070   atomic_long_t s_remove_count ;
 3071   int s_readonly_remount ;
 3072};
 3073#line 1563 "include/linux/fs.h"
 3074struct fiemap_extent_info {
 3075   unsigned int fi_flags ;
 3076   unsigned int fi_extents_mapped ;
 3077   unsigned int fi_extents_max ;
 3078   struct fiemap_extent *fi_extents_start ;
 3079};
 3080#line 1601
 3081struct block_device_operations;
 3082#line 1602 "include/linux/fs.h"
 3083struct file_operations {
 3084   struct module *owner ;
 3085   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
 3086   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
 3087   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
 3088   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 3089                       loff_t  ) ;
 3090   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 3091                        loff_t  ) ;
 3092   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
 3093                                                   loff_t  , u64  , unsigned int  ) ) ;
 3094   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
 3095   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 3096   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 3097   int (*mmap)(struct file * , struct vm_area_struct * ) ;
 3098   int (*open)(struct inode * , struct file * ) ;
 3099   int (*flush)(struct file * , fl_owner_t  ) ;
 3100   int (*release)(struct inode * , struct file * ) ;
 3101   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
 3102   int (*aio_fsync)(struct kiocb * , int  ) ;
 3103   int (*fasync)(int  , struct file * , int  ) ;
 3104   int (*lock)(struct file * , int  , struct file_lock * ) ;
 3105   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
 3106                       int  ) ;
 3107   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 3108                                      unsigned long  , unsigned long  ) ;
 3109   int (*check_flags)(int  ) ;
 3110   int (*flock)(struct file * , int  , struct file_lock * ) ;
 3111   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
 3112                           unsigned int  ) ;
 3113   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
 3114                          unsigned int  ) ;
 3115   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
 3116   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
 3117};
 3118#line 1637 "include/linux/fs.h"
 3119struct inode_operations {
 3120   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
 3121   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
 3122   int (*permission)(struct inode * , int  ) ;
 3123   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
 3124   int (*readlink)(struct dentry * , char * , int  ) ;
 3125   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
 3126   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
 3127   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
 3128   int (*unlink)(struct inode * , struct dentry * ) ;
 3129   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
 3130   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
 3131   int (*rmdir)(struct inode * , struct dentry * ) ;
 3132   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
 3133   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
 3134   void (*truncate)(struct inode * ) ;
 3135   int (*setattr)(struct dentry * , struct iattr * ) ;
 3136   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
 3137   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
 3138   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
 3139   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
 3140   int (*removexattr)(struct dentry * , char const   * ) ;
 3141   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
 3142   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
 3143};
 3144#line 1682 "include/linux/fs.h"
 3145struct super_operations {
 3146   struct inode *(*alloc_inode)(struct super_block * ) ;
 3147   void (*destroy_inode)(struct inode * ) ;
 3148   void (*dirty_inode)(struct inode * , int  ) ;
 3149   int (*write_inode)(struct inode * , struct writeback_control * ) ;
 3150   int (*drop_inode)(struct inode * ) ;
 3151   void (*evict_inode)(struct inode * ) ;
 3152   void (*put_super)(struct super_block * ) ;
 3153   void (*write_super)(struct super_block * ) ;
 3154   int (*sync_fs)(struct super_block * , int  ) ;
 3155   int (*freeze_fs)(struct super_block * ) ;
 3156   int (*unfreeze_fs)(struct super_block * ) ;
 3157   int (*statfs)(struct dentry * , struct kstatfs * ) ;
 3158   int (*remount_fs)(struct super_block * , int * , char * ) ;
 3159   void (*umount_begin)(struct super_block * ) ;
 3160   int (*show_options)(struct seq_file * , struct dentry * ) ;
 3161   int (*show_devname)(struct seq_file * , struct dentry * ) ;
 3162   int (*show_path)(struct seq_file * , struct dentry * ) ;
 3163   int (*show_stats)(struct seq_file * , struct dentry * ) ;
 3164   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
 3165   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
 3166                          loff_t  ) ;
 3167   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
 3168   int (*nr_cached_objects)(struct super_block * ) ;
 3169   void (*free_cached_objects)(struct super_block * , int  ) ;
 3170};
 3171#line 1834 "include/linux/fs.h"
 3172struct file_system_type {
 3173   char const   *name ;
 3174   int fs_flags ;
 3175   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
 3176   void (*kill_sb)(struct super_block * ) ;
 3177   struct module *owner ;
 3178   struct file_system_type *next ;
 3179   struct hlist_head fs_supers ;
 3180   struct lock_class_key s_lock_key ;
 3181   struct lock_class_key s_umount_key ;
 3182   struct lock_class_key s_vfs_rename_key ;
 3183   struct lock_class_key i_lock_key ;
 3184   struct lock_class_key i_mutex_key ;
 3185   struct lock_class_key i_mutex_dir_key ;
 3186};
 3187#line 81 "include/linux/genhd.h"
 3188struct disk_stats {
 3189   unsigned long sectors[2U] ;
 3190   unsigned long ios[2U] ;
 3191   unsigned long merges[2U] ;
 3192   unsigned long ticks[2U] ;
 3193   unsigned long io_ticks ;
 3194   unsigned long time_in_queue ;
 3195};
 3196#line 90 "include/linux/genhd.h"
 3197struct partition_meta_info {
 3198   u8 uuid[16U] ;
 3199   u8 volname[64U] ;
 3200};
 3201#line 98 "include/linux/genhd.h"
 3202struct hd_struct {
 3203   sector_t start_sect ;
 3204   sector_t nr_sects ;
 3205   sector_t alignment_offset ;
 3206   unsigned int discard_alignment ;
 3207   struct device __dev ;
 3208   struct kobject *holder_dir ;
 3209   int policy ;
 3210   int partno ;
 3211   struct partition_meta_info *info ;
 3212   int make_it_fail ;
 3213   unsigned long stamp ;
 3214   atomic_t in_flight[2U] ;
 3215   struct disk_stats *dkstats ;
 3216   atomic_t ref ;
 3217   struct rcu_head rcu_head ;
 3218};
 3219#line 146 "include/linux/genhd.h"
 3220struct disk_part_tbl {
 3221   struct rcu_head rcu_head ;
 3222   int len ;
 3223   struct hd_struct *last_lookup ;
 3224   struct hd_struct *part[0U] ;
 3225};
 3226#line 153
 3227struct disk_events;
 3228#line 154
 3229struct timer_rand_state;
 3230#line 154
 3231struct blk_integrity;
 3232#line 154 "include/linux/genhd.h"
 3233struct gendisk {
 3234   int major ;
 3235   int first_minor ;
 3236   int minors ;
 3237   char disk_name[32U] ;
 3238   char *(*devnode)(struct gendisk * , umode_t * ) ;
 3239   unsigned int events ;
 3240   unsigned int async_events ;
 3241   struct disk_part_tbl *part_tbl ;
 3242   struct hd_struct part0 ;
 3243   struct block_device_operations  const  *fops ;
 3244   struct request_queue *queue ;
 3245   void *private_data ;
 3246   int flags ;
 3247   struct device *driverfs_dev ;
 3248   struct kobject *slave_dir ;
 3249   struct timer_rand_state *random ;
 3250   atomic_t sync_io ;
 3251   struct disk_events *ev ;
 3252   struct blk_integrity *integrity ;
 3253   int node_id ;
 3254};
 3255#line 178 "include/linux/mm.h"
 3256struct vm_fault {
 3257   unsigned int flags ;
 3258   unsigned long pgoff ;
 3259   void *virtual_address ;
 3260   struct page *page ;
 3261};
 3262#line 195 "include/linux/mm.h"
 3263struct vm_operations_struct {
 3264   void (*open)(struct vm_area_struct * ) ;
 3265   void (*close)(struct vm_area_struct * ) ;
 3266   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
 3267   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
 3268   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
 3269   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
 3270   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
 3271   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
 3272                  unsigned long  ) ;
 3273};
 3274#line 11 "include/linux/writeback.h"
 3275enum writeback_sync_modes {
 3276    WB_SYNC_NONE = 0,
 3277    WB_SYNC_ALL = 1
 3278} ;
 3279#line 54 "include/linux/writeback.h"
 3280struct writeback_control {
 3281   enum writeback_sync_modes sync_mode ;
 3282   long nr_to_write ;
 3283   long pages_skipped ;
 3284   loff_t range_start ;
 3285   loff_t range_end ;
 3286   unsigned char for_kupdate : 1 ;
 3287   unsigned char for_background : 1 ;
 3288   unsigned char tagged_writepages : 1 ;
 3289   unsigned char for_reclaim : 1 ;
 3290   unsigned char range_cyclic : 1 ;
 3291};
 3292#line 80
 3293struct bdi_writeback;
 3294#line 38 "include/linux/backing-dev.h"
 3295typedef int congested_fn(void * , int  );
 3296#line 47 "include/linux/backing-dev.h"
 3297struct bdi_writeback {
 3298   struct backing_dev_info *bdi ;
 3299   unsigned int nr ;
 3300   unsigned long last_old_flush ;
 3301   unsigned long last_active ;
 3302   struct task_struct *task ;
 3303   struct timer_list wakeup_timer ;
 3304   struct list_head b_dirty ;
 3305   struct list_head b_io ;
 3306   struct list_head b_more_io ;
 3307   spinlock_t list_lock ;
 3308};
 3309#line 64 "include/linux/backing-dev.h"
 3310struct backing_dev_info {
 3311   struct list_head bdi_list ;
 3312   unsigned long ra_pages ;
 3313   unsigned long state ;
 3314   unsigned int capabilities ;
 3315   congested_fn *congested_fn ;
 3316   void *congested_data ;
 3317   char *name ;
 3318   struct percpu_counter bdi_stat[4U] ;
 3319   unsigned long bw_time_stamp ;
 3320   unsigned long dirtied_stamp ;
 3321   unsigned long written_stamp ;
 3322   unsigned long write_bandwidth ;
 3323   unsigned long avg_write_bandwidth ;
 3324   unsigned long dirty_ratelimit ;
 3325   unsigned long balanced_dirty_ratelimit ;
 3326   struct prop_local_percpu completions ;
 3327   int dirty_exceeded ;
 3328   unsigned int min_ratio ;
 3329   unsigned int max_ratio ;
 3330   unsigned int max_prop_frac ;
 3331   struct bdi_writeback wb ;
 3332   spinlock_t wb_lock ;
 3333   struct list_head work_list ;
 3334   struct device *dev ;
 3335   struct timer_list laptop_mode_wb_timer ;
 3336   struct dentry *debug_dir ;
 3337   struct dentry *debug_stats ;
 3338};
 3339#line 11 "include/linux/mempool.h"
 3340typedef void *mempool_alloc_t(gfp_t  , void * );
 3341#line 12 "include/linux/mempool.h"
 3342typedef void mempool_free_t(void * , void * );
 3343#line 13 "include/linux/mempool.h"
 3344struct mempool_s {
 3345   spinlock_t lock ;
 3346   int min_nr ;
 3347   int curr_nr ;
 3348   void **elements ;
 3349   void *pool_data ;
 3350   mempool_alloc_t *alloc ;
 3351   mempool_free_t *free ;
 3352   wait_queue_head_t wait ;
 3353};
 3354#line 24 "include/linux/mempool.h"
 3355typedef struct mempool_s mempool_t;
 3356#line 79 "include/linux/mempool.h"
 3357union __anonunion_ldv_26193_174 {
 3358   struct list_head q_node ;
 3359   struct kmem_cache *__rcu_icq_cache ;
 3360};
 3361#line 79 "include/linux/mempool.h"
 3362union __anonunion_ldv_26197_175 {
 3363   struct hlist_node ioc_node ;
 3364   struct rcu_head __rcu_head ;
 3365};
 3366#line 79 "include/linux/mempool.h"
 3367struct io_cq {
 3368   struct request_queue *q ;
 3369   struct io_context *ioc ;
 3370   union __anonunion_ldv_26193_174 ldv_26193 ;
 3371   union __anonunion_ldv_26197_175 ldv_26197 ;
 3372   unsigned int flags ;
 3373};
 3374#line 96 "include/linux/iocontext.h"
 3375struct io_context {
 3376   atomic_long_t refcount ;
 3377   atomic_t nr_tasks ;
 3378   spinlock_t lock ;
 3379   unsigned short ioprio ;
 3380   int nr_batch_requests ;
 3381   unsigned long last_waited ;
 3382   struct radix_tree_root icq_tree ;
 3383   struct io_cq *icq_hint ;
 3384   struct hlist_head icq_list ;
 3385   struct work_struct release_work ;
 3386};
 3387#line 91 "include/linux/bio.h"
 3388struct bio_integrity_payload {
 3389   struct bio *bip_bio ;
 3390   sector_t bip_sector ;
 3391   void *bip_buf ;
 3392   bio_end_io_t *bip_end_io ;
 3393   unsigned int bip_size ;
 3394   unsigned short bip_slab ;
 3395   unsigned short bip_vcnt ;
 3396   unsigned short bip_idx ;
 3397   struct work_struct bip_work ;
 3398   struct bio_vec bip_vec[0U] ;
 3399};
 3400#line 366 "include/linux/bio.h"
 3401struct bio_list {
 3402   struct bio *head ;
 3403   struct bio *tail ;
 3404};
 3405#line 63 "include/linux/bsg.h"
 3406struct bsg_class_device {
 3407   struct device *class_dev ;
 3408   struct device *parent ;
 3409   int minor ;
 3410   struct request_queue *queue ;
 3411   struct kref ref ;
 3412   void (*release)(struct device * ) ;
 3413};
 3414#line 18 "include/asm-generic/scatterlist.h"
 3415struct elevator_queue;
 3416#line 21
 3417struct request;
 3418#line 23
 3419struct bsg_job;
 3420#line 40 "include/linux/blkdev.h"
 3421typedef void rq_end_io_fn(struct request * , int  );
 3422#line 41 "include/linux/blkdev.h"
 3423struct request_list {
 3424   int count[2U] ;
 3425   int starved[2U] ;
 3426   int elvpriv ;
 3427   mempool_t *rq_pool ;
 3428   wait_queue_head_t wait[2U] ;
 3429};
 3430#line 53
 3431enum rq_cmd_type_bits {
 3432    REQ_TYPE_FS = 1,
 3433    REQ_TYPE_BLOCK_PC = 2,
 3434    REQ_TYPE_SENSE = 3,
 3435    REQ_TYPE_PM_SUSPEND = 4,
 3436    REQ_TYPE_PM_RESUME = 5,
 3437    REQ_TYPE_PM_SHUTDOWN = 6,
 3438    REQ_TYPE_SPECIAL = 7,
 3439    REQ_TYPE_ATA_TASKFILE = 8,
 3440    REQ_TYPE_ATA_PC = 9
 3441} ;
 3442#line 65 "include/linux/blkdev.h"
 3443union __anonunion_ldv_26627_176 {
 3444   struct rb_node rb_node ;
 3445   void *completion_data ;
 3446};
 3447#line 65 "include/linux/blkdev.h"
 3448struct __anonstruct_elv_178 {
 3449   struct io_cq *icq ;
 3450   void *priv[2U] ;
 3451};
 3452#line 65 "include/linux/blkdev.h"
 3453struct __anonstruct_flush_179 {
 3454   unsigned int seq ;
 3455   struct list_head list ;
 3456   rq_end_io_fn *saved_end_io ;
 3457};
 3458#line 65 "include/linux/blkdev.h"
 3459union __anonunion_ldv_26638_177 {
 3460   struct __anonstruct_elv_178 elv ;
 3461   struct __anonstruct_flush_179 flush ;
 3462};
 3463#line 65 "include/linux/blkdev.h"
 3464struct request {
 3465   struct list_head queuelist ;
 3466   struct call_single_data csd ;
 3467   struct request_queue *q ;
 3468   unsigned int cmd_flags ;
 3469   enum rq_cmd_type_bits cmd_type ;
 3470   unsigned long atomic_flags ;
 3471   int cpu ;
 3472   unsigned int __data_len ;
 3473   sector_t __sector ;
 3474   struct bio *bio ;
 3475   struct bio *biotail ;
 3476   struct hlist_node hash ;
 3477   union __anonunion_ldv_26627_176 ldv_26627 ;
 3478   union __anonunion_ldv_26638_177 ldv_26638 ;
 3479   struct gendisk *rq_disk ;
 3480   struct hd_struct *part ;
 3481   unsigned long start_time ;
 3482   unsigned short nr_phys_segments ;
 3483   unsigned short nr_integrity_segments ;
 3484   unsigned short ioprio ;
 3485   int ref_count ;
 3486   void *special ;
 3487   char *buffer ;
 3488   int tag ;
 3489   int errors ;
 3490   unsigned char __cmd[16U] ;
 3491   unsigned char *cmd ;
 3492   unsigned short cmd_len ;
 3493   unsigned int extra_len ;
 3494   unsigned int sense_len ;
 3495   unsigned int resid_len ;
 3496   void *sense ;
 3497   unsigned long deadline ;
 3498   struct list_head timeout_list ;
 3499   unsigned int timeout ;
 3500   int retries ;
 3501   rq_end_io_fn *end_io ;
 3502   void *end_io_data ;
 3503   struct request *next_rq ;
 3504};
 3505#line 10 "include/linux/elevator.h"
 3506typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
 3507#line 13 "include/linux/elevator.h"
 3508typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
 3509#line 15 "include/linux/elevator.h"
 3510typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
 3511#line 17 "include/linux/elevator.h"
 3512typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
 3513#line 19 "include/linux/elevator.h"
 3514typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
 3515#line 22 "include/linux/elevator.h"
 3516typedef int elevator_dispatch_fn(struct request_queue * , int  );
 3517#line 24 "include/linux/elevator.h"
 3518typedef void elevator_add_req_fn(struct request_queue * , struct request * );
 3519#line 25 "include/linux/elevator.h"
 3520typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
 3521#line 26 "include/linux/elevator.h"
 3522typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
 3523#line 27 "include/linux/elevator.h"
 3524typedef int elevator_may_queue_fn(struct request_queue * , int  );
 3525#line 29 "include/linux/elevator.h"
 3526typedef void elevator_init_icq_fn(struct io_cq * );
 3527#line 30 "include/linux/elevator.h"
 3528typedef void elevator_exit_icq_fn(struct io_cq * );
 3529#line 31 "include/linux/elevator.h"
 3530typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
 3531#line 32 "include/linux/elevator.h"
 3532typedef void elevator_put_req_fn(struct request * );
 3533#line 33 "include/linux/elevator.h"
 3534typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
 3535#line 34 "include/linux/elevator.h"
 3536typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
 3537#line 36 "include/linux/elevator.h"
 3538typedef void *elevator_init_fn(struct request_queue * );
 3539#line 37 "include/linux/elevator.h"
 3540typedef void elevator_exit_fn(struct elevator_queue * );
 3541#line 38 "include/linux/elevator.h"
 3542struct elevator_ops {
 3543   elevator_merge_fn *elevator_merge_fn ;
 3544   elevator_merged_fn *elevator_merged_fn ;
 3545   elevator_merge_req_fn *elevator_merge_req_fn ;
 3546   elevator_allow_merge_fn *elevator_allow_merge_fn ;
 3547   elevator_bio_merged_fn *elevator_bio_merged_fn ;
 3548   elevator_dispatch_fn *elevator_dispatch_fn ;
 3549   elevator_add_req_fn *elevator_add_req_fn ;
 3550   elevator_activate_req_fn *elevator_activate_req_fn ;
 3551   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
 3552   elevator_completed_req_fn *elevator_completed_req_fn ;
 3553   elevator_request_list_fn *elevator_former_req_fn ;
 3554   elevator_request_list_fn *elevator_latter_req_fn ;
 3555   elevator_init_icq_fn *elevator_init_icq_fn ;
 3556   elevator_exit_icq_fn *elevator_exit_icq_fn ;
 3557   elevator_set_req_fn *elevator_set_req_fn ;
 3558   elevator_put_req_fn *elevator_put_req_fn ;
 3559   elevator_may_queue_fn *elevator_may_queue_fn ;
 3560   elevator_init_fn *elevator_init_fn ;
 3561   elevator_exit_fn *elevator_exit_fn ;
 3562};
 3563#line 68 "include/linux/elevator.h"
 3564struct elv_fs_entry {
 3565   struct attribute attr ;
 3566   ssize_t (*show)(struct elevator_queue * , char * ) ;
 3567   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
 3568};
 3569#line 76 "include/linux/elevator.h"
 3570struct elevator_type {
 3571   struct kmem_cache *icq_cache ;
 3572   struct elevator_ops ops ;
 3573   size_t icq_size ;
 3574   size_t icq_align ;
 3575   struct elv_fs_entry *elevator_attrs ;
 3576   char elevator_name[16U] ;
 3577   struct module *elevator_owner ;
 3578   char icq_cache_name[21U] ;
 3579   struct list_head list ;
 3580};
 3581#line 97 "include/linux/elevator.h"
 3582struct elevator_queue {
 3583   struct elevator_type *type ;
 3584   void *elevator_data ;
 3585   struct kobject kobj ;
 3586   struct mutex sysfs_lock ;
 3587   struct hlist_head *hash ;
 3588   unsigned char registered : 1 ;
 3589};
 3590#line 202 "include/linux/blkdev.h"
 3591typedef void request_fn_proc(struct request_queue * );
 3592#line 203 "include/linux/blkdev.h"
 3593typedef void make_request_fn(struct request_queue * , struct bio * );
 3594#line 204 "include/linux/blkdev.h"
 3595typedef int prep_rq_fn(struct request_queue * , struct request * );
 3596#line 205 "include/linux/blkdev.h"
 3597typedef void unprep_rq_fn(struct request_queue * , struct request * );
 3598#line 206 "include/linux/blkdev.h"
 3599struct bvec_merge_data {
 3600   struct block_device *bi_bdev ;
 3601   sector_t bi_sector ;
 3602   unsigned int bi_size ;
 3603   unsigned long bi_rw ;
 3604};
 3605#line 214 "include/linux/blkdev.h"
 3606typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
 3607#line 216 "include/linux/blkdev.h"
 3608typedef void softirq_done_fn(struct request * );
 3609#line 217 "include/linux/blkdev.h"
 3610typedef int dma_drain_needed_fn(struct request * );
 3611#line 218 "include/linux/blkdev.h"
 3612typedef int lld_busy_fn(struct request_queue * );
 3613#line 219 "include/linux/blkdev.h"
 3614typedef int bsg_job_fn(struct bsg_job * );
 3615#line 220
 3616enum blk_eh_timer_return {
 3617    BLK_EH_NOT_HANDLED = 0,
 3618    BLK_EH_HANDLED = 1,
 3619    BLK_EH_RESET_TIMER = 2
 3620} ;
 3621#line 227 "include/linux/blkdev.h"
 3622typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
 3623#line 233 "include/linux/blkdev.h"
 3624struct blk_queue_tag {
 3625   struct request **tag_index ;
 3626   unsigned long *tag_map ;
 3627   int busy ;
 3628   int max_depth ;
 3629   int real_max_depth ;
 3630   atomic_t refcnt ;
 3631};
 3632#line 242 "include/linux/blkdev.h"
 3633struct queue_limits {
 3634   unsigned long bounce_pfn ;
 3635   unsigned long seg_boundary_mask ;
 3636   unsigned int max_hw_sectors ;
 3637   unsigned int max_sectors ;
 3638   unsigned int max_segment_size ;
 3639   unsigned int physical_block_size ;
 3640   unsigned int alignment_offset ;
 3641   unsigned int io_min ;
 3642   unsigned int io_opt ;
 3643   unsigned int max_discard_sectors ;
 3644   unsigned int discard_granularity ;
 3645   unsigned int discard_alignment ;
 3646   unsigned short logical_block_size ;
 3647   unsigned short max_segments ;
 3648   unsigned short max_integrity_segments ;
 3649   unsigned char misaligned ;
 3650   unsigned char discard_misaligned ;
 3651   unsigned char cluster ;
 3652   unsigned char discard_zeroes_data ;
 3653};
 3654#line 270 "include/linux/blkdev.h"
 3655struct request_queue {
 3656   struct list_head queue_head ;
 3657   struct request *last_merge ;
 3658   struct elevator_queue *elevator ;
 3659   struct request_list rq ;
 3660   request_fn_proc *request_fn ;
 3661   make_request_fn *make_request_fn ;
 3662   prep_rq_fn *prep_rq_fn ;
 3663   unprep_rq_fn *unprep_rq_fn ;
 3664   merge_bvec_fn *merge_bvec_fn ;
 3665   softirq_done_fn *softirq_done_fn ;
 3666   rq_timed_out_fn *rq_timed_out_fn ;
 3667   dma_drain_needed_fn *dma_drain_needed ;
 3668   lld_busy_fn *lld_busy_fn ;
 3669   sector_t end_sector ;
 3670   struct request *boundary_rq ;
 3671   struct delayed_work delay_work ;
 3672   struct backing_dev_info backing_dev_info ;
 3673   void *queuedata ;
 3674   unsigned long queue_flags ;
 3675   int id ;
 3676   gfp_t bounce_gfp ;
 3677   spinlock_t __queue_lock ;
 3678   spinlock_t *queue_lock ;
 3679   struct kobject kobj ;
 3680   unsigned long nr_requests ;
 3681   unsigned int nr_congestion_on ;
 3682   unsigned int nr_congestion_off ;
 3683   unsigned int nr_batching ;
 3684   unsigned int dma_drain_size ;
 3685   void *dma_drain_buffer ;
 3686   unsigned int dma_pad_mask ;
 3687   unsigned int dma_alignment ;
 3688   struct blk_queue_tag *queue_tags ;
 3689   struct list_head tag_busy_list ;
 3690   unsigned int nr_sorted ;
 3691   unsigned int in_flight[2U] ;
 3692   unsigned int rq_timeout ;
 3693   struct timer_list timeout ;
 3694   struct list_head timeout_list ;
 3695   struct list_head icq_list ;
 3696   struct queue_limits limits ;
 3697   unsigned int sg_timeout ;
 3698   unsigned int sg_reserved_size ;
 3699   int node ;
 3700   unsigned int flush_flags ;
 3701   unsigned char flush_not_queueable : 1 ;
 3702   unsigned char flush_queue_delayed : 1 ;
 3703   unsigned char flush_pending_idx : 1 ;
 3704   unsigned char flush_running_idx : 1 ;
 3705   unsigned long flush_pending_since ;
 3706   struct list_head flush_queue[2U] ;
 3707   struct list_head flush_data_in_flight ;
 3708   struct request flush_rq ;
 3709   struct mutex sysfs_lock ;
 3710   bsg_job_fn *bsg_job_fn ;
 3711   int bsg_job_size ;
 3712   struct bsg_class_device bsg_dev ;
 3713};
 3714#line 876 "include/linux/blkdev.h"
 3715struct blk_plug {
 3716   unsigned long magic ;
 3717   struct list_head list ;
 3718   struct list_head cb_list ;
 3719   unsigned int should_sort ;
 3720};
 3721#line 1208 "include/linux/blkdev.h"
 3722struct blk_integrity_exchg {
 3723   void *prot_buf ;
 3724   void *data_buf ;
 3725   sector_t sector ;
 3726   unsigned int data_size ;
 3727   unsigned short sector_size ;
 3728   char const   *disk_name ;
 3729};
 3730#line 1229 "include/linux/blkdev.h"
 3731typedef void integrity_gen_fn(struct blk_integrity_exchg * );
 3732#line 1230 "include/linux/blkdev.h"
 3733typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
 3734#line 1231 "include/linux/blkdev.h"
 3735typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
 3736#line 1232 "include/linux/blkdev.h"
 3737typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
 3738#line 1233 "include/linux/blkdev.h"
 3739struct blk_integrity {
 3740   integrity_gen_fn *generate_fn ;
 3741   integrity_vrfy_fn *verify_fn ;
 3742   integrity_set_tag_fn *set_tag_fn ;
 3743   integrity_get_tag_fn *get_tag_fn ;
 3744   unsigned short flags ;
 3745   unsigned short tuple_size ;
 3746   unsigned short sector_size ;
 3747   unsigned short tag_size ;
 3748   char const   *name ;
 3749   struct kobject kobj ;
 3750};
 3751#line 1292 "include/linux/blkdev.h"
 3752struct block_device_operations {
 3753   int (*open)(struct block_device * , fmode_t  ) ;
 3754   int (*release)(struct gendisk * , fmode_t  ) ;
 3755   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 3756   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 3757   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
 3758   unsigned int (*check_events)(struct gendisk * , unsigned int  ) ;
 3759   int (*media_changed)(struct gendisk * ) ;
 3760   void (*unlock_native_capacity)(struct gendisk * ) ;
 3761   int (*revalidate_disk)(struct gendisk * ) ;
 3762   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
 3763   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
 3764   struct module *owner ;
 3765};
 3766#line 142 "include/mtd/mtd-abi.h"
 3767struct otp_info {
 3768   __u32 start ;
 3769   __u32 length ;
 3770   __u32 locked ;
 3771};
 3772#line 216 "include/mtd/mtd-abi.h"
 3773struct nand_oobfree {
 3774   __u32 offset ;
 3775   __u32 length ;
 3776};
 3777#line 238 "include/mtd/mtd-abi.h"
 3778struct mtd_ecc_stats {
 3779   __u32 corrected ;
 3780   __u32 failed ;
 3781   __u32 badblocks ;
 3782   __u32 bbtblocks ;
 3783};
 3784#line 260 "include/mtd/mtd-abi.h"
 3785struct erase_info {
 3786   struct mtd_info *mtd ;
 3787   uint64_t addr ;
 3788   uint64_t len ;
 3789   uint64_t fail_addr ;
 3790   u_long time ;
 3791   u_long retries ;
 3792   unsigned int dev ;
 3793   unsigned int cell ;
 3794   void (*callback)(struct erase_info * ) ;
 3795   u_long priv ;
 3796   u_char state ;
 3797   struct erase_info *next ;
 3798};
 3799#line 62 "include/linux/mtd/mtd.h"
 3800struct mtd_erase_region_info {
 3801   uint64_t offset ;
 3802   uint32_t erasesize ;
 3803   uint32_t numblocks ;
 3804   unsigned long *lockmap ;
 3805};
 3806#line 69 "include/linux/mtd/mtd.h"
 3807struct mtd_oob_ops {
 3808   unsigned int mode ;
 3809   size_t len ;
 3810   size_t retlen ;
 3811   size_t ooblen ;
 3812   size_t oobretlen ;
 3813   uint32_t ooboffs ;
 3814   uint8_t *datbuf ;
 3815   uint8_t *oobbuf ;
 3816};
 3817#line 99 "include/linux/mtd/mtd.h"
 3818struct nand_ecclayout {
 3819   __u32 eccbytes ;
 3820   __u32 eccpos[448U] ;
 3821   __u32 oobavail ;
 3822   struct nand_oobfree oobfree[32U] ;
 3823};
 3824#line 114 "include/linux/mtd/mtd.h"
 3825struct mtd_info {
 3826   u_char type ;
 3827   uint32_t flags ;
 3828   uint64_t size ;
 3829   uint32_t erasesize ;
 3830   uint32_t writesize ;
 3831   uint32_t writebufsize ;
 3832   uint32_t oobsize ;
 3833   uint32_t oobavail ;
 3834   unsigned int erasesize_shift ;
 3835   unsigned int writesize_shift ;
 3836   unsigned int erasesize_mask ;
 3837   unsigned int writesize_mask ;
 3838   char const   *name ;
 3839   int index ;
 3840   struct nand_ecclayout *ecclayout ;
 3841   unsigned int ecc_strength ;
 3842   int numeraseregions ;
 3843   struct mtd_erase_region_info *eraseregions ;
 3844   int (*_erase)(struct mtd_info * , struct erase_info * ) ;
 3845   int (*_point)(struct mtd_info * , loff_t  , size_t  , size_t * , void ** , resource_size_t * ) ;
 3846   int (*_unpoint)(struct mtd_info * , loff_t  , size_t  ) ;
 3847   unsigned long (*_get_unmapped_area)(struct mtd_info * , unsigned long  , unsigned long  ,
 3848                                       unsigned long  ) ;
 3849   int (*_read)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
 3850   int (*_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
 3851   int (*_panic_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
 3852   int (*_read_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 3853   int (*_write_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 3854   int (*_get_fact_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
 3855   int (*_read_fact_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
 3856   int (*_get_user_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
 3857   int (*_read_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
 3858   int (*_write_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * ,
 3859                               u_char * ) ;
 3860   int (*_lock_user_prot_reg)(struct mtd_info * , loff_t  , size_t  ) ;
 3861   int (*_writev)(struct mtd_info * , struct kvec  const  * , unsigned long  , loff_t  ,
 3862                  size_t * ) ;
 3863   void (*_sync)(struct mtd_info * ) ;
 3864   int (*_lock)(struct mtd_info * , loff_t  , uint64_t  ) ;
 3865   int (*_unlock)(struct mtd_info * , loff_t  , uint64_t  ) ;
 3866   int (*_is_locked)(struct mtd_info * , loff_t  , uint64_t  ) ;
 3867   int (*_block_isbad)(struct mtd_info * , loff_t  ) ;
 3868   int (*_block_markbad)(struct mtd_info * , loff_t  ) ;
 3869   int (*_suspend)(struct mtd_info * ) ;
 3870   void (*_resume)(struct mtd_info * ) ;
 3871   int (*_get_device)(struct mtd_info * ) ;
 3872   void (*_put_device)(struct mtd_info * ) ;
 3873   struct backing_dev_info *backing_dev_info ;
 3874   struct notifier_block reboot_notifier ;
 3875   struct mtd_ecc_stats ecc_stats ;
 3876   int subpage_sft ;
 3877   void *priv ;
 3878   struct module *owner ;
 3879   struct device dev ;
 3880   int usecount ;
 3881};
 3882#line 678 "include/linux/mtd/nand.h"
 3883struct mtd_blktrans_ops;
 3884#line 679 "include/linux/mtd/nand.h"
 3885struct mtd_blktrans_dev {
 3886   struct mtd_blktrans_ops *tr ;
 3887   struct list_head list ;
 3888   struct mtd_info *mtd ;
 3889   struct mutex lock ;
 3890   int devnum ;
 3891   bool bg_stop ;
 3892   unsigned long size ;
 3893   int readonly ;
 3894   int open ;
 3895   struct kref ref ;
 3896   struct gendisk *disk ;
 3897   struct attribute_group *disk_attributes ;
 3898   struct task_struct *thread ;
 3899   struct request_queue *rq ;
 3900   spinlock_t queue_lock ;
 3901   void *priv ;
 3902   fmode_t file_mode ;
 3903};
 3904#line 52 "include/linux/mtd/blktrans.h"
 3905struct mtd_blktrans_ops {
 3906   char *name ;
 3907   int major ;
 3908   int part_bits ;
 3909   int blksize ;
 3910   int blkshift ;
 3911   int (*readsect)(struct mtd_blktrans_dev * , unsigned long  , char * ) ;
 3912   int (*writesect)(struct mtd_blktrans_dev * , unsigned long  , char * ) ;
 3913   int (*discard)(struct mtd_blktrans_dev * , unsigned long  , unsigned int  ) ;
 3914   void (*background)(struct mtd_blktrans_dev * ) ;
 3915   int (*getgeo)(struct mtd_blktrans_dev * , struct hd_geometry * ) ;
 3916   int (*flush)(struct mtd_blktrans_dev * ) ;
 3917   int (*open)(struct mtd_blktrans_dev * ) ;
 3918   int (*release)(struct mtd_blktrans_dev * ) ;
 3919   void (*add_mtd)(struct mtd_blktrans_ops * , struct mtd_info * ) ;
 3920   void (*remove_dev)(struct mtd_blktrans_dev * ) ;
 3921   struct list_head devs ;
 3922   struct list_head list ;
 3923   struct module *owner ;
 3924};
 3925#line 92 "include/linux/mtd/blktrans.h"
 3926struct nftl_bci {
 3927   unsigned char ECCSig[6U] ;
 3928   __u8 Status ;
 3929   __u8 Status1 ;
 3930};
 3931#line 32 "include/mtd/nftl-user.h"
 3932struct nftl_uci0 {
 3933   __u16 VirtUnitNum ;
 3934   __u16 ReplUnitNum ;
 3935   __u16 SpareVirtUnitNum ;
 3936   __u16 SpareReplUnitNum ;
 3937};
 3938#line 41 "include/mtd/nftl-user.h"
 3939struct nftl_uci1 {
 3940   __u32 WearInfo ;
 3941   __u16 EraseMark ;
 3942   __u16 EraseMark1 ;
 3943};
 3944#line 47 "include/mtd/nftl-user.h"
 3945struct nftl_uci2 {
 3946   __u16 FoldMark ;
 3947   __u16 FoldMark1 ;
 3948   __u32 unused ;
 3949};
 3950#line 53 "include/mtd/nftl-user.h"
 3951union nftl_uci {
 3952   struct nftl_uci0 a ;
 3953   struct nftl_uci1 b ;
 3954   struct nftl_uci2 c ;
 3955};
 3956#line 59 "include/mtd/nftl-user.h"
 3957struct nftl_oob {
 3958   struct nftl_bci b ;
 3959   union nftl_uci u ;
 3960};
 3961#line 64 "include/mtd/nftl-user.h"
 3962struct NFTLMediaHeader {
 3963   char DataOrgID[6U] ;
 3964   __u16 NumEraseUnits ;
 3965   __u16 FirstPhysicalEUN ;
 3966   __u32 FormattedSize ;
 3967   unsigned char UnitSizeFactor ;
 3968};
 3969#line 74 "include/mtd/nftl-user.h"
 3970struct NFTLrecord {
 3971   struct mtd_blktrans_dev mbd ;
 3972   __u16 MediaUnit ;
 3973   __u16 SpareMediaUnit ;
 3974   __u32 EraseSize ;
 3975   struct NFTLMediaHeader MediaHdr ;
 3976   int usecount ;
 3977   unsigned char heads ;
 3978   unsigned char sectors ;
 3979   unsigned short cylinders ;
 3980   __u16 numvunits ;
 3981   __u16 lastEUN ;
 3982   __u16 numfreeEUNs ;
 3983   __u16 LastFreeEUN ;
 3984   int head ;
 3985   int sect ;
 3986   int cyl ;
 3987   __u16 *EUNtable ;
 3988   __u16 *ReplUnitTable ;
 3989   unsigned int nb_blocks ;
 3990   unsigned int nb_boot_blocks ;
 3991   struct erase_info instr ;
 3992   struct nand_ecclayout oobinfo ;
 3993};
 3994#line 290 "include/linux/timer.h"
 3995enum hrtimer_restart;
 3996#line 1 "<compiler builtins>"
 3997long __builtin_expect(long  , long  ) ;
 3998#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 3999void ldv_spin_lock(void) ;
 4000#line 3
 4001void ldv_spin_unlock(void) ;
 4002#line 4
 4003int ldv_spin_trylock(void) ;
 4004#line 101 "include/linux/printk.h"
 4005extern int printk(char const   *  , ...) ;
 4006#line 45 "include/linux/dynamic_debug.h"
 4007extern int __dynamic_pr_debug(struct _ddebug * , char const   *  , ...) ;
 4008#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
 4009extern void *memset(void * , int  , size_t  ) ;
 4010#line 60
 4011extern int memcmp(void const   * , void const   * , size_t  ) ;
 4012#line 26 "include/linux/export.h"
 4013extern struct module __this_module ;
 4014#line 161 "include/linux/slab.h"
 4015extern void kfree(void const   * ) ;
 4016#line 220 "include/linux/slub_def.h"
 4017extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
 4018#line 223
 4019void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
 4020#line 353 "include/linux/slab.h"
 4021__inline static void *kzalloc(size_t size , gfp_t flags ) ;
 4022#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 4023extern void *__VERIFIER_nondet_pointer(void) ;
 4024#line 11
 4025void ldv_check_alloc_flags(gfp_t flags ) ;
 4026#line 12
 4027void ldv_check_alloc_nonatomic(void) ;
 4028#line 14
 4029struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
 4030#line 252 "include/linux/mtd/mtd.h"
 4031extern int mtd_read(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
 4032#line 259 "include/linux/mtd/mtd.h"
 4033__inline static int mtd_read_oob(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) 
 4034{ size_t tmp ;
 4035  int tmp___0 ;
 4036  unsigned long __cil_tmp6 ;
 4037  unsigned long __cil_tmp7 ;
 4038  unsigned long __cil_tmp8 ;
 4039  unsigned long __cil_tmp9 ;
 4040  int (*__cil_tmp10)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 4041  unsigned long __cil_tmp11 ;
 4042  unsigned long __cil_tmp12 ;
 4043  unsigned long __cil_tmp13 ;
 4044  int (*__cil_tmp14)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 4045  unsigned long __cil_tmp15 ;
 4046  unsigned long __cil_tmp16 ;
 4047  unsigned long __cil_tmp17 ;
 4048  int (*__cil_tmp18)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 4049
 4050  {
 4051#line 262
 4052  tmp = 0UL;
 4053#line 262
 4054  __cil_tmp6 = (unsigned long )ops;
 4055#line 262
 4056  __cil_tmp7 = __cil_tmp6 + 32;
 4057#line 262
 4058  *((size_t *)__cil_tmp7) = tmp;
 4059#line 262
 4060  __cil_tmp8 = (unsigned long )ops;
 4061#line 262
 4062  __cil_tmp9 = __cil_tmp8 + 16;
 4063#line 262
 4064  *((size_t *)__cil_tmp9) = tmp;
 4065  {
 4066#line 263
 4067  __cil_tmp10 = (int (*)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ))0;
 4068#line 263
 4069  __cil_tmp11 = (unsigned long )__cil_tmp10;
 4070#line 263
 4071  __cil_tmp12 = (unsigned long )mtd;
 4072#line 263
 4073  __cil_tmp13 = __cil_tmp12 + 152;
 4074#line 263
 4075  __cil_tmp14 = *((int (**)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ))__cil_tmp13);
 4076#line 263
 4077  __cil_tmp15 = (unsigned long )__cil_tmp14;
 4078#line 263
 4079  if (__cil_tmp15 == __cil_tmp11) {
 4080#line 264
 4081    return (-95);
 4082  } else {
 4083
 4084  }
 4085  }
 4086  {
 4087#line 265
 4088  __cil_tmp16 = (unsigned long )mtd;
 4089#line 265
 4090  __cil_tmp17 = __cil_tmp16 + 152;
 4091#line 265
 4092  __cil_tmp18 = *((int (**)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ))__cil_tmp17);
 4093#line 265
 4094  tmp___0 = (*__cil_tmp18)(mtd, from, ops);
 4095  }
 4096#line 265
 4097  return (tmp___0);
 4098}
 4099}
 4100#line 268 "include/linux/mtd/mtd.h"
 4101__inline static int mtd_write_oob(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) 
 4102{ size_t tmp ;
 4103  int tmp___0 ;
 4104  unsigned long __cil_tmp6 ;
 4105  unsigned long __cil_tmp7 ;
 4106  unsigned long __cil_tmp8 ;
 4107  unsigned long __cil_tmp9 ;
 4108  int (*__cil_tmp10)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 4109  unsigned long __cil_tmp11 ;
 4110  unsigned long __cil_tmp12 ;
 4111  unsigned long __cil_tmp13 ;
 4112  int (*__cil_tmp14)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 4113  unsigned long __cil_tmp15 ;
 4114  unsigned long __cil_tmp16 ;
 4115  unsigned long __cil_tmp17 ;
 4116  uint32_t __cil_tmp18 ;
 4117  unsigned int __cil_tmp19 ;
 4118  unsigned long __cil_tmp20 ;
 4119  unsigned long __cil_tmp21 ;
 4120  int (*__cil_tmp22)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
 4121
 4122  {
 4123#line 271
 4124  tmp = 0UL;
 4125#line 271
 4126  __cil_tmp6 = (unsigned long )ops;
 4127#line 271
 4128  __cil_tmp7 = __cil_tmp6 + 32;
 4129#line 271
 4130  *((size_t *)__cil_tmp7) = tmp;
 4131#line 271
 4132  __cil_tmp8 = (unsigned long )ops;
 4133#line 271
 4134  __cil_tmp9 = __cil_tmp8 + 16;
 4135#line 271
 4136  *((size_t *)__cil_tmp9) = tmp;
 4137  {
 4138#line 272
 4139  __cil_tmp10 = (int (*)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ))0;
 4140#line 272
 4141  __cil_tmp11 = (unsigned long )__cil_tmp10;
 4142#line 272
 4143  __cil_tmp12 = (unsigned long )mtd;
 4144#line 272
 4145  __cil_tmp13 = __cil_tmp12 + 160;
 4146#line 272
 4147  __cil_tmp14 = *((int (**)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ))__cil_tmp13);
 4148#line 272
 4149  __cil_tmp15 = (unsigned long )__cil_tmp14;
 4150#line 272
 4151  if (__cil_tmp15 == __cil_tmp11) {
 4152#line 273
 4153    return (-95);
 4154  } else {
 4155
 4156  }
 4157  }
 4158  {
 4159#line 274
 4160  __cil_tmp16 = (unsigned long )mtd;
 4161#line 274
 4162  __cil_tmp17 = __cil_tmp16 + 4;
 4163#line 274
 4164  __cil_tmp18 = *((uint32_t *)__cil_tmp17);
 4165#line 274
 4166  __cil_tmp19 = __cil_tmp18 & 1024U;
 4167#line 274
 4168  if (__cil_tmp19 == 0U) {
 4169#line 275
 4170    return (-30);
 4171  } else {
 4172
 4173  }
 4174  }
 4175  {
 4176#line 276
 4177  __cil_tmp20 = (unsigned long )mtd;
 4178#line 276
 4179  __cil_tmp21 = __cil_tmp20 + 160;
 4180#line 276
 4181  __cil_tmp22 = *((int (**)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ))__cil_tmp21);
 4182#line 276
 4183  tmp___0 = (*__cil_tmp22)(mtd, to, ops);
 4184  }
 4185#line 276
 4186  return (tmp___0);
 4187}
 4188}
 4189#line 390 "include/linux/mtd/mtd.h"
 4190__inline static int mtd_is_bitflip(int err ) 
 4191{ 
 4192
 4193  {
 4194#line 391
 4195  return (err == -117);
 4196}
 4197}
 4198#line 87 "include/linux/mtd/blktrans.h"
 4199extern int register_mtd_blktrans(struct mtd_blktrans_ops * ) ;
 4200#line 88
 4201extern int deregister_mtd_blktrans(struct mtd_blktrans_ops * ) ;
 4202#line 89
 4203extern int add_mtd_blktrans_dev(struct mtd_blktrans_dev * ) ;
 4204#line 90
 4205extern int del_mtd_blktrans_dev(struct mtd_blktrans_dev * ) ;
 4206#line 56 "include/linux/mtd/nftl.h"
 4207int NFTL_mount(struct NFTLrecord *s ) ;
 4208#line 57
 4209int NFTL_formatblock(struct NFTLrecord *nftl , int block ) ;
 4210#line 59
 4211int nftl_read_oob(struct mtd_info *mtd , loff_t offs , size_t len , size_t *retlen ,
 4212                  uint8_t *buf ) ;
 4213#line 61
 4214int nftl_write_oob(struct mtd_info *mtd , loff_t offs , size_t len , size_t *retlen ,
 4215                   uint8_t *buf ) ;
 4216#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 4217static void nftl_add_mtd(struct mtd_blktrans_ops *tr , struct mtd_info *mtd ) 
 4218{ struct NFTLrecord *nftl ;
 4219  unsigned long temp ;
 4220  int tmp ;
 4221  struct _ddebug descriptor ;
 4222  long tmp___0 ;
 4223  void *tmp___1 ;
 4224  int tmp___2 ;
 4225  int tmp___3 ;
 4226  u_char __cil_tmp11 ;
 4227  unsigned int __cil_tmp12 ;
 4228  unsigned long __cil_tmp13 ;
 4229  unsigned long __cil_tmp14 ;
 4230  uint64_t __cil_tmp15 ;
 4231  unsigned long __cil_tmp16 ;
 4232  unsigned long __cil_tmp17 ;
 4233  char const   *__cil_tmp18 ;
 4234  void const   *__cil_tmp19 ;
 4235  void const   *__cil_tmp20 ;
 4236  struct _ddebug *__cil_tmp21 ;
 4237  unsigned long __cil_tmp22 ;
 4238  unsigned long __cil_tmp23 ;
 4239  unsigned long __cil_tmp24 ;
 4240  unsigned long __cil_tmp25 ;
 4241  unsigned long __cil_tmp26 ;
 4242  unsigned long __cil_tmp27 ;
 4243  unsigned char __cil_tmp28 ;
 4244  long __cil_tmp29 ;
 4245  long __cil_tmp30 ;
 4246  unsigned long __cil_tmp31 ;
 4247  unsigned long __cil_tmp32 ;
 4248  char const   *__cil_tmp33 ;
 4249  struct NFTLrecord *__cil_tmp34 ;
 4250  unsigned long __cil_tmp35 ;
 4251  unsigned long __cil_tmp36 ;
 4252  unsigned long __cil_tmp37 ;
 4253  unsigned long __cil_tmp38 ;
 4254  unsigned long __cil_tmp39 ;
 4255  unsigned long __cil_tmp40 ;
 4256  unsigned long __cil_tmp41 ;
 4257  unsigned long __cil_tmp42 ;
 4258  void const   *__cil_tmp43 ;
 4259  unsigned long __cil_tmp44 ;
 4260  unsigned long __cil_tmp45 ;
 4261  unsigned long __cil_tmp46 ;
 4262  unsigned long __cil_tmp47 ;
 4263  unsigned long __cil_tmp48 ;
 4264  unsigned long __cil_tmp49 ;
 4265  unsigned char __cil_tmp50 ;
 4266  int __cil_tmp51 ;
 4267  unsigned long __cil_tmp52 ;
 4268  unsigned long __cil_tmp53 ;
 4269  unsigned short __cil_tmp54 ;
 4270  int __cil_tmp55 ;
 4271  int __cil_tmp56 ;
 4272  unsigned long __cil_tmp57 ;
 4273  unsigned long __cil_tmp58 ;
 4274  unsigned long __cil_tmp59 ;
 4275  unsigned long __cil_tmp60 ;
 4276  unsigned long __cil_tmp61 ;
 4277  unsigned long __cil_tmp62 ;
 4278  unsigned long __cil_tmp63 ;
 4279  unsigned long __cil_tmp64 ;
 4280  unsigned long __cil_tmp65 ;
 4281  unsigned long __cil_tmp66 ;
 4282  unsigned long __cil_tmp67 ;
 4283  unsigned long __cil_tmp68 ;
 4284  unsigned long __cil_tmp69 ;
 4285  unsigned long __cil_tmp70 ;
 4286  unsigned long __cil_tmp71 ;
 4287  unsigned long __cil_tmp72 ;
 4288  unsigned char __cil_tmp73 ;
 4289  int __cil_tmp74 ;
 4290  int __cil_tmp75 ;
 4291  unsigned long __cil_tmp76 ;
 4292  unsigned long __cil_tmp77 ;
 4293  unsigned char __cil_tmp78 ;
 4294  int __cil_tmp79 ;
 4295  unsigned long __cil_tmp80 ;
 4296  unsigned long __cil_tmp81 ;
 4297  unsigned short __cil_tmp82 ;
 4298  int __cil_tmp83 ;
 4299  int __cil_tmp84 ;
 4300  unsigned long __cil_tmp85 ;
 4301  unsigned long __cil_tmp86 ;
 4302  unsigned long __cil_tmp87 ;
 4303  unsigned long __cil_tmp88 ;
 4304  unsigned long __cil_tmp89 ;
 4305  unsigned long __cil_tmp90 ;
 4306  unsigned long __cil_tmp91 ;
 4307  unsigned long __cil_tmp92 ;
 4308  unsigned long __cil_tmp93 ;
 4309  unsigned long __cil_tmp94 ;
 4310  unsigned long __cil_tmp95 ;
 4311  unsigned long __cil_tmp96 ;
 4312  unsigned long __cil_tmp97 ;
 4313  unsigned long __cil_tmp98 ;
 4314  unsigned long __cil_tmp99 ;
 4315  unsigned long __cil_tmp100 ;
 4316  unsigned char __cil_tmp101 ;
 4317  int __cil_tmp102 ;
 4318  int __cil_tmp103 ;
 4319  unsigned long __cil_tmp104 ;
 4320  unsigned long __cil_tmp105 ;
 4321  unsigned char __cil_tmp106 ;
 4322  int __cil_tmp107 ;
 4323  unsigned long __cil_tmp108 ;
 4324  unsigned long __cil_tmp109 ;
 4325  unsigned char __cil_tmp110 ;
 4326  int __cil_tmp111 ;
 4327  int __cil_tmp112 ;
 4328  unsigned long __cil_tmp113 ;
 4329  unsigned long __cil_tmp114 ;
 4330  unsigned long __cil_tmp115 ;
 4331  unsigned long __cil_tmp116 ;
 4332  unsigned long __cil_tmp117 ;
 4333  unsigned long __cil_tmp118 ;
 4334  unsigned long __cil_tmp119 ;
 4335  unsigned long __cil_tmp120 ;
 4336  unsigned long __cil_tmp121 ;
 4337  unsigned char __cil_tmp122 ;
 4338  int __cil_tmp123 ;
 4339  unsigned long __cil_tmp124 ;
 4340  unsigned long __cil_tmp125 ;
 4341  unsigned short __cil_tmp126 ;
 4342  int __cil_tmp127 ;
 4343  unsigned long __cil_tmp128 ;
 4344  unsigned long __cil_tmp129 ;
 4345  unsigned char __cil_tmp130 ;
 4346  int __cil_tmp131 ;
 4347  int __cil_tmp132 ;
 4348  int __cil_tmp133 ;
 4349  unsigned long __cil_tmp134 ;
 4350  unsigned long __cil_tmp135 ;
 4351  unsigned long __cil_tmp136 ;
 4352  unsigned long __cil_tmp137 ;
 4353  unsigned long __cil_tmp138 ;
 4354  unsigned long __cil_tmp139 ;
 4355  unsigned long __cil_tmp140 ;
 4356  unsigned long __cil_tmp141 ;
 4357  unsigned long __cil_tmp142 ;
 4358  unsigned long __cil_tmp143 ;
 4359  unsigned long __cil_tmp144 ;
 4360  unsigned short __cil_tmp145 ;
 4361  int __cil_tmp146 ;
 4362  unsigned long __cil_tmp147 ;
 4363  unsigned long __cil_tmp148 ;
 4364  unsigned char __cil_tmp149 ;
 4365  int __cil_tmp150 ;
 4366  unsigned long __cil_tmp151 ;
 4367  unsigned long __cil_tmp152 ;
 4368  unsigned char __cil_tmp153 ;
 4369  int __cil_tmp154 ;
 4370  unsigned long __cil_tmp155 ;
 4371  unsigned long __cil_tmp156 ;
 4372  unsigned char __cil_tmp157 ;
 4373  long __cil_tmp158 ;
 4374  unsigned long __cil_tmp159 ;
 4375  unsigned long __cil_tmp160 ;
 4376  unsigned char __cil_tmp161 ;
 4377  long __cil_tmp162 ;
 4378  unsigned long __cil_tmp163 ;
 4379  unsigned long __cil_tmp164 ;
 4380  unsigned short __cil_tmp165 ;
 4381  long __cil_tmp166 ;
 4382  long __cil_tmp167 ;
 4383  long __cil_tmp168 ;
 4384  struct mtd_blktrans_dev *__cil_tmp169 ;
 4385  unsigned long __cil_tmp170 ;
 4386  unsigned long __cil_tmp171 ;
 4387  __u16 *__cil_tmp172 ;
 4388  void const   *__cil_tmp173 ;
 4389  unsigned long __cil_tmp174 ;
 4390  unsigned long __cil_tmp175 ;
 4391  __u16 *__cil_tmp176 ;
 4392  void const   *__cil_tmp177 ;
 4393  void const   *__cil_tmp178 ;
 4394
 4395  {
 4396  {
 4397#line 68
 4398  __cil_tmp11 = *((u_char *)mtd);
 4399#line 68
 4400  __cil_tmp12 = (unsigned int )__cil_tmp11;
 4401#line 68
 4402  if (__cil_tmp12 != 4U) {
 4403#line 69
 4404    return;
 4405  } else {
 4406    {
 4407#line 68
 4408    __cil_tmp13 = (unsigned long )mtd;
 4409#line 68
 4410    __cil_tmp14 = __cil_tmp13 + 8;
 4411#line 68
 4412    __cil_tmp15 = *((uint64_t *)__cil_tmp14);
 4413#line 68
 4414    if (__cil_tmp15 > 4294967295ULL) {
 4415#line 69
 4416      return;
 4417    } else {
 4418
 4419    }
 4420    }
 4421  }
 4422  }
 4423  {
 4424#line 71
 4425  __cil_tmp16 = (unsigned long )mtd;
 4426#line 71
 4427  __cil_tmp17 = __cil_tmp16 + 56;
 4428#line 71
 4429  __cil_tmp18 = *((char const   **)__cil_tmp17);
 4430#line 71
 4431  __cil_tmp19 = (void const   *)__cil_tmp18;
 4432#line 71
 4433  __cil_tmp20 = (void const   *)"DiskOnChip";
 4434#line 71
 4435  tmp = memcmp(__cil_tmp19, __cil_tmp20, 10UL);
 4436  }
 4437#line 71
 4438  if (tmp != 0) {
 4439#line 72
 4440    return;
 4441  } else {
 4442
 4443  }
 4444  {
 4445#line 74
 4446  __cil_tmp21 = & descriptor;
 4447#line 74
 4448  *((char const   **)__cil_tmp21) = "nftl";
 4449#line 74
 4450  __cil_tmp22 = (unsigned long )(& descriptor) + 8;
 4451#line 74
 4452  *((char const   **)__cil_tmp22) = "nftl_add_mtd";
 4453#line 74
 4454  __cil_tmp23 = (unsigned long )(& descriptor) + 16;
 4455#line 74
 4456  *((char const   **)__cil_tmp23) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 4457#line 74
 4458  __cil_tmp24 = (unsigned long )(& descriptor) + 24;
 4459#line 74
 4460  *((char const   **)__cil_tmp24) = "NFTL: add_mtd for %s\n";
 4461#line 74
 4462  __cil_tmp25 = (unsigned long )(& descriptor) + 32;
 4463#line 74
 4464  *((unsigned int *)__cil_tmp25) = 74U;
 4465#line 74
 4466  __cil_tmp26 = (unsigned long )(& descriptor) + 35;
 4467#line 74
 4468  *((unsigned char *)__cil_tmp26) = (unsigned char)0;
 4469#line 74
 4470  __cil_tmp27 = (unsigned long )(& descriptor) + 35;
 4471#line 74
 4472  __cil_tmp28 = *((unsigned char *)__cil_tmp27);
 4473#line 74
 4474  __cil_tmp29 = (long )__cil_tmp28;
 4475#line 74
 4476  __cil_tmp30 = __cil_tmp29 & 1L;
 4477#line 74
 4478  tmp___0 = __builtin_expect(__cil_tmp30, 0L);
 4479  }
 4480#line 74
 4481  if (tmp___0 != 0L) {
 4482    {
 4483#line 74
 4484    __cil_tmp31 = (unsigned long )mtd;
 4485#line 74
 4486    __cil_tmp32 = __cil_tmp31 + 56;
 4487#line 74
 4488    __cil_tmp33 = *((char const   **)__cil_tmp32);
 4489#line 74
 4490    __dynamic_pr_debug(& descriptor, "NFTL: add_mtd for %s\n", __cil_tmp33);
 4491    }
 4492  } else {
 4493
 4494  }
 4495  {
 4496#line 76
 4497  tmp___1 = kzalloc(2576UL, 208U);
 4498#line 76
 4499  nftl = (struct NFTLrecord *)tmp___1;
 4500  }
 4501  {
 4502#line 78
 4503  __cil_tmp34 = (struct NFTLrecord *)0;
 4504#line 78
 4505  __cil_tmp35 = (unsigned long )__cil_tmp34;
 4506#line 78
 4507  __cil_tmp36 = (unsigned long )nftl;
 4508#line 78
 4509  if (__cil_tmp36 == __cil_tmp35) {
 4510#line 79
 4511    return;
 4512  } else {
 4513
 4514  }
 4515  }
 4516  {
 4517#line 81
 4518  __cil_tmp37 = 0 + 24;
 4519#line 81
 4520  __cil_tmp38 = (unsigned long )nftl;
 4521#line 81
 4522  __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
 4523#line 81
 4524  *((struct mtd_info **)__cil_tmp39) = mtd;
 4525#line 82
 4526  __cil_tmp40 = 0 + 200;
 4527#line 82
 4528  __cil_tmp41 = (unsigned long )nftl;
 4529#line 82
 4530  __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
 4531#line 82
 4532  *((int *)__cil_tmp42) = -1;
 4533#line 84
 4534  *((struct mtd_blktrans_ops **)nftl) = tr;
 4535#line 86
 4536  tmp___2 = NFTL_mount(nftl);
 4537  }
 4538#line 86
 4539  if (tmp___2 < 0) {
 4540    {
 4541#line 87
 4542    printk("<4>NFTL: could not mount device\n");
 4543#line 88
 4544    __cil_tmp43 = (void const   *)nftl;
 4545#line 88
 4546    kfree(__cil_tmp43);
 4547    }
 4548#line 89
 4549    return;
 4550  } else {
 4551
 4552  }
 4553#line 95
 4554  __cil_tmp44 = (unsigned long )nftl;
 4555#line 95
 4556  __cil_tmp45 = __cil_tmp44 + 386;
 4557#line 95
 4558  *((unsigned short *)__cil_tmp45) = (unsigned short)1024;
 4559#line 96
 4560  __cil_tmp46 = (unsigned long )nftl;
 4561#line 96
 4562  __cil_tmp47 = __cil_tmp46 + 384;
 4563#line 96
 4564  *((unsigned char *)__cil_tmp47) = (unsigned char)16;
 4565#line 98
 4566  __cil_tmp48 = (unsigned long )nftl;
 4567#line 98
 4568  __cil_tmp49 = __cil_tmp48 + 384;
 4569#line 98
 4570  __cil_tmp50 = *((unsigned char *)__cil_tmp49);
 4571#line 98
 4572  __cil_tmp51 = (int )__cil_tmp50;
 4573#line 98
 4574  __cil_tmp52 = (unsigned long )nftl;
 4575#line 98
 4576  __cil_tmp53 = __cil_tmp52 + 386;
 4577#line 98
 4578  __cil_tmp54 = *((unsigned short *)__cil_tmp53);
 4579#line 98
 4580  __cil_tmp55 = (int )__cil_tmp54;
 4581#line 98
 4582  __cil_tmp56 = __cil_tmp55 * __cil_tmp51;
 4583#line 98
 4584  temp = (unsigned long )__cil_tmp56;
 4585#line 99
 4586  __cil_tmp57 = (unsigned long )nftl;
 4587#line 99
 4588  __cil_tmp58 = __cil_tmp57 + 385;
 4589#line 99
 4590  __cil_tmp59 = 0 + 208;
 4591#line 99
 4592  __cil_tmp60 = (unsigned long )nftl;
 4593#line 99
 4594  __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
 4595#line 99
 4596  __cil_tmp62 = *((unsigned long *)__cil_tmp61);
 4597#line 99
 4598  __cil_tmp63 = __cil_tmp62 / temp;
 4599#line 99
 4600  *((unsigned char *)__cil_tmp58) = (unsigned char )__cil_tmp63;
 4601  {
 4602#line 100
 4603  __cil_tmp64 = 0 + 208;
 4604#line 100
 4605  __cil_tmp65 = (unsigned long )nftl;
 4606#line 100
 4607  __cil_tmp66 = __cil_tmp65 + __cil_tmp64;
 4608#line 100
 4609  __cil_tmp67 = *((unsigned long *)__cil_tmp66);
 4610#line 100
 4611  __cil_tmp68 = __cil_tmp67 % temp;
 4612#line 100
 4613  if (__cil_tmp68 != 0UL) {
 4614#line 101
 4615    __cil_tmp69 = (unsigned long )nftl;
 4616#line 101
 4617    __cil_tmp70 = __cil_tmp69 + 385;
 4618#line 101
 4619    __cil_tmp71 = (unsigned long )nftl;
 4620#line 101
 4621    __cil_tmp72 = __cil_tmp71 + 385;
 4622#line 101
 4623    __cil_tmp73 = *((unsigned char *)__cil_tmp72);
 4624#line 101
 4625    __cil_tmp74 = (int )__cil_tmp73;
 4626#line 101
 4627    __cil_tmp75 = __cil_tmp74 + 1;
 4628#line 101
 4629    *((unsigned char *)__cil_tmp70) = (unsigned char )__cil_tmp75;
 4630#line 102
 4631    __cil_tmp76 = (unsigned long )nftl;
 4632#line 102
 4633    __cil_tmp77 = __cil_tmp76 + 385;
 4634#line 102
 4635    __cil_tmp78 = *((unsigned char *)__cil_tmp77);
 4636#line 102
 4637    __cil_tmp79 = (int )__cil_tmp78;
 4638#line 102
 4639    __cil_tmp80 = (unsigned long )nftl;
 4640#line 102
 4641    __cil_tmp81 = __cil_tmp80 + 386;
 4642#line 102
 4643    __cil_tmp82 = *((unsigned short *)__cil_tmp81);
 4644#line 102
 4645    __cil_tmp83 = (int )__cil_tmp82;
 4646#line 102
 4647    __cil_tmp84 = __cil_tmp83 * __cil_tmp79;
 4648#line 102
 4649    temp = (unsigned long )__cil_tmp84;
 4650#line 103
 4651    __cil_tmp85 = (unsigned long )nftl;
 4652#line 103
 4653    __cil_tmp86 = __cil_tmp85 + 384;
 4654#line 103
 4655    __cil_tmp87 = 0 + 208;
 4656#line 103
 4657    __cil_tmp88 = (unsigned long )nftl;
 4658#line 103
 4659    __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
 4660#line 103
 4661    __cil_tmp90 = *((unsigned long *)__cil_tmp89);
 4662#line 103
 4663    __cil_tmp91 = __cil_tmp90 / temp;
 4664#line 103
 4665    *((unsigned char *)__cil_tmp86) = (unsigned char )__cil_tmp91;
 4666    {
 4667#line 105
 4668    __cil_tmp92 = 0 + 208;
 4669#line 105
 4670    __cil_tmp93 = (unsigned long )nftl;
 4671#line 105
 4672    __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
 4673#line 105
 4674    __cil_tmp95 = *((unsigned long *)__cil_tmp94);
 4675#line 105
 4676    __cil_tmp96 = __cil_tmp95 % temp;
 4677#line 105
 4678    if (__cil_tmp96 != 0UL) {
 4679#line 106
 4680      __cil_tmp97 = (unsigned long )nftl;
 4681#line 106
 4682      __cil_tmp98 = __cil_tmp97 + 384;
 4683#line 106
 4684      __cil_tmp99 = (unsigned long )nftl;
 4685#line 106
 4686      __cil_tmp100 = __cil_tmp99 + 384;
 4687#line 106
 4688      __cil_tmp101 = *((unsigned char *)__cil_tmp100);
 4689#line 106
 4690      __cil_tmp102 = (int )__cil_tmp101;
 4691#line 106
 4692      __cil_tmp103 = __cil_tmp102 + 1;
 4693#line 106
 4694      *((unsigned char *)__cil_tmp98) = (unsigned char )__cil_tmp103;
 4695#line 107
 4696      __cil_tmp104 = (unsigned long )nftl;
 4697#line 107
 4698      __cil_tmp105 = __cil_tmp104 + 385;
 4699#line 107
 4700      __cil_tmp106 = *((unsigned char *)__cil_tmp105);
 4701#line 107
 4702      __cil_tmp107 = (int )__cil_tmp106;
 4703#line 107
 4704      __cil_tmp108 = (unsigned long )nftl;
 4705#line 107
 4706      __cil_tmp109 = __cil_tmp108 + 384;
 4707#line 107
 4708      __cil_tmp110 = *((unsigned char *)__cil_tmp109);
 4709#line 107
 4710      __cil_tmp111 = (int )__cil_tmp110;
 4711#line 107
 4712      __cil_tmp112 = __cil_tmp111 * __cil_tmp107;
 4713#line 107
 4714      temp = (unsigned long )__cil_tmp112;
 4715#line 108
 4716      __cil_tmp113 = (unsigned long )nftl;
 4717#line 108
 4718      __cil_tmp114 = __cil_tmp113 + 386;
 4719#line 108
 4720      __cil_tmp115 = 0 + 208;
 4721#line 108
 4722      __cil_tmp116 = (unsigned long )nftl;
 4723#line 108
 4724      __cil_tmp117 = __cil_tmp116 + __cil_tmp115;
 4725#line 108
 4726      __cil_tmp118 = *((unsigned long *)__cil_tmp117);
 4727#line 108
 4728      __cil_tmp119 = __cil_tmp118 / temp;
 4729#line 108
 4730      *((unsigned short *)__cil_tmp114) = (unsigned short )__cil_tmp119;
 4731    } else {
 4732
 4733    }
 4734    }
 4735  } else {
 4736
 4737  }
 4738  }
 4739  {
 4740#line 112
 4741  __cil_tmp120 = (unsigned long )nftl;
 4742#line 112
 4743  __cil_tmp121 = __cil_tmp120 + 385;
 4744#line 112
 4745  __cil_tmp122 = *((unsigned char *)__cil_tmp121);
 4746#line 112
 4747  __cil_tmp123 = (int )__cil_tmp122;
 4748#line 112
 4749  __cil_tmp124 = (unsigned long )nftl;
 4750#line 112
 4751  __cil_tmp125 = __cil_tmp124 + 386;
 4752#line 112
 4753  __cil_tmp126 = *((unsigned short *)__cil_tmp125);
 4754#line 112
 4755  __cil_tmp127 = (int )__cil_tmp126;
 4756#line 112
 4757  __cil_tmp128 = (unsigned long )nftl;
 4758#line 112
 4759  __cil_tmp129 = __cil_tmp128 + 384;
 4760#line 112
 4761  __cil_tmp130 = *((unsigned char *)__cil_tmp129);
 4762#line 112
 4763  __cil_tmp131 = (int )__cil_tmp130;
 4764#line 112
 4765  __cil_tmp132 = __cil_tmp131 * __cil_tmp127;
 4766#line 112
 4767  __cil_tmp133 = __cil_tmp132 * __cil_tmp123;
 4768#line 112
 4769  __cil_tmp134 = (unsigned long )__cil_tmp133;
 4770#line 112
 4771  __cil_tmp135 = 0 + 208;
 4772#line 112
 4773  __cil_tmp136 = (unsigned long )nftl;
 4774#line 112
 4775  __cil_tmp137 = __cil_tmp136 + __cil_tmp135;
 4776#line 112
 4777  __cil_tmp138 = *((unsigned long *)__cil_tmp137);
 4778#line 112
 4779  if (__cil_tmp138 != __cil_tmp134) {
 4780    {
 4781#line 117
 4782    __cil_tmp139 = 0 + 208;
 4783#line 117
 4784    __cil_tmp140 = (unsigned long )nftl;
 4785#line 117
 4786    __cil_tmp141 = __cil_tmp140 + __cil_tmp139;
 4787#line 117
 4788    __cil_tmp142 = *((unsigned long *)__cil_tmp141);
 4789#line 117
 4790    printk("<4>NFTL: cannot calculate a geometry to match size of 0x%lx.\n", __cil_tmp142);
 4791#line 119
 4792    __cil_tmp143 = (unsigned long )nftl;
 4793#line 119
 4794    __cil_tmp144 = __cil_tmp143 + 386;
 4795#line 119
 4796    __cil_tmp145 = *((unsigned short *)__cil_tmp144);
 4797#line 119
 4798    __cil_tmp146 = (int )__cil_tmp145;
 4799#line 119
 4800    __cil_tmp147 = (unsigned long )nftl;
 4801#line 119
 4802    __cil_tmp148 = __cil_tmp147 + 384;
 4803#line 119
 4804    __cil_tmp149 = *((unsigned char *)__cil_tmp148);
 4805#line 119
 4806    __cil_tmp150 = (int )__cil_tmp149;
 4807#line 119
 4808    __cil_tmp151 = (unsigned long )nftl;
 4809#line 119
 4810    __cil_tmp152 = __cil_tmp151 + 385;
 4811#line 119
 4812    __cil_tmp153 = *((unsigned char *)__cil_tmp152);
 4813#line 119
 4814    __cil_tmp154 = (int )__cil_tmp153;
 4815#line 119
 4816    __cil_tmp155 = (unsigned long )nftl;
 4817#line 119
 4818    __cil_tmp156 = __cil_tmp155 + 385;
 4819#line 119
 4820    __cil_tmp157 = *((unsigned char *)__cil_tmp156);
 4821#line 119
 4822    __cil_tmp158 = (long )__cil_tmp157;
 4823#line 119
 4824    __cil_tmp159 = (unsigned long )nftl;
 4825#line 119
 4826    __cil_tmp160 = __cil_tmp159 + 384;
 4827#line 119
 4828    __cil_tmp161 = *((unsigned char *)__cil_tmp160);
 4829#line 119
 4830    __cil_tmp162 = (long )__cil_tmp161;
 4831#line 119
 4832    __cil_tmp163 = (unsigned long )nftl;
 4833#line 119
 4834    __cil_tmp164 = __cil_tmp163 + 386;
 4835#line 119
 4836    __cil_tmp165 = *((unsigned short *)__cil_tmp164);
 4837#line 119
 4838    __cil_tmp166 = (long )__cil_tmp165;
 4839#line 119
 4840    __cil_tmp167 = __cil_tmp166 * __cil_tmp162;
 4841#line 119
 4842    __cil_tmp168 = __cil_tmp167 * __cil_tmp158;
 4843#line 119
 4844    printk("<4>NFTL: using C:%d H:%d S:%d (== 0x%lx sects)\n", __cil_tmp146, __cil_tmp150,
 4845           __cil_tmp154, __cil_tmp168);
 4846    }
 4847  } else {
 4848
 4849  }
 4850  }
 4851  {
 4852#line 126
 4853  __cil_tmp169 = (struct mtd_blktrans_dev *)nftl;
 4854#line 126
 4855  tmp___3 = add_mtd_blktrans_dev(__cil_tmp169);
 4856  }
 4857#line 126
 4858  if (tmp___3 != 0) {
 4859    {
 4860#line 127
 4861    __cil_tmp170 = (unsigned long )nftl;
 4862#line 127
 4863    __cil_tmp171 = __cil_tmp170 + 416;
 4864#line 127
 4865    __cil_tmp172 = *((__u16 **)__cil_tmp171);
 4866#line 127
 4867    __cil_tmp173 = (void const   *)__cil_tmp172;
 4868#line 127
 4869    kfree(__cil_tmp173);
 4870#line 128
 4871    __cil_tmp174 = (unsigned long )nftl;
 4872#line 128
 4873    __cil_tmp175 = __cil_tmp174 + 408;
 4874#line 128
 4875    __cil_tmp176 = *((__u16 **)__cil_tmp175);
 4876#line 128
 4877    __cil_tmp177 = (void const   *)__cil_tmp176;
 4878#line 128
 4879    kfree(__cil_tmp177);
 4880#line 129
 4881    __cil_tmp178 = (void const   *)nftl;
 4882#line 129
 4883    kfree(__cil_tmp178);
 4884    }
 4885#line 130
 4886    return;
 4887  } else {
 4888
 4889  }
 4890#line 132
 4891  return;
 4892}
 4893}
 4894#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 4895static void nftl_remove_dev(struct mtd_blktrans_dev *dev ) 
 4896{ struct NFTLrecord *nftl ;
 4897  struct _ddebug descriptor ;
 4898  long tmp ;
 4899  struct _ddebug *__cil_tmp5 ;
 4900  unsigned long __cil_tmp6 ;
 4901  unsigned long __cil_tmp7 ;
 4902  unsigned long __cil_tmp8 ;
 4903  unsigned long __cil_tmp9 ;
 4904  unsigned long __cil_tmp10 ;
 4905  unsigned long __cil_tmp11 ;
 4906  unsigned char __cil_tmp12 ;
 4907  long __cil_tmp13 ;
 4908  long __cil_tmp14 ;
 4909  unsigned long __cil_tmp15 ;
 4910  unsigned long __cil_tmp16 ;
 4911  int __cil_tmp17 ;
 4912  unsigned long __cil_tmp18 ;
 4913  unsigned long __cil_tmp19 ;
 4914  __u16 *__cil_tmp20 ;
 4915  void const   *__cil_tmp21 ;
 4916  unsigned long __cil_tmp22 ;
 4917  unsigned long __cil_tmp23 ;
 4918  __u16 *__cil_tmp24 ;
 4919  void const   *__cil_tmp25 ;
 4920
 4921  {
 4922  {
 4923#line 139
 4924  nftl = (struct NFTLrecord *)dev;
 4925#line 141
 4926  __cil_tmp5 = & descriptor;
 4927#line 141
 4928  *((char const   **)__cil_tmp5) = "nftl";
 4929#line 141
 4930  __cil_tmp6 = (unsigned long )(& descriptor) + 8;
 4931#line 141
 4932  *((char const   **)__cil_tmp6) = "nftl_remove_dev";
 4933#line 141
 4934  __cil_tmp7 = (unsigned long )(& descriptor) + 16;
 4935#line 141
 4936  *((char const   **)__cil_tmp7) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 4937#line 141
 4938  __cil_tmp8 = (unsigned long )(& descriptor) + 24;
 4939#line 141
 4940  *((char const   **)__cil_tmp8) = "NFTL: remove_dev (i=%d)\n";
 4941#line 141
 4942  __cil_tmp9 = (unsigned long )(& descriptor) + 32;
 4943#line 141
 4944  *((unsigned int *)__cil_tmp9) = 141U;
 4945#line 141
 4946  __cil_tmp10 = (unsigned long )(& descriptor) + 35;
 4947#line 141
 4948  *((unsigned char *)__cil_tmp10) = (unsigned char)0;
 4949#line 141
 4950  __cil_tmp11 = (unsigned long )(& descriptor) + 35;
 4951#line 141
 4952  __cil_tmp12 = *((unsigned char *)__cil_tmp11);
 4953#line 141
 4954  __cil_tmp13 = (long )__cil_tmp12;
 4955#line 141
 4956  __cil_tmp14 = __cil_tmp13 & 1L;
 4957#line 141
 4958  tmp = __builtin_expect(__cil_tmp14, 0L);
 4959  }
 4960#line 141
 4961  if (tmp != 0L) {
 4962    {
 4963#line 141
 4964    __cil_tmp15 = (unsigned long )dev;
 4965#line 141
 4966    __cil_tmp16 = __cil_tmp15 + 200;
 4967#line 141
 4968    __cil_tmp17 = *((int *)__cil_tmp16);
 4969#line 141
 4970    __dynamic_pr_debug(& descriptor, "NFTL: remove_dev (i=%d)\n", __cil_tmp17);
 4971    }
 4972  } else {
 4973
 4974  }
 4975  {
 4976#line 143
 4977  del_mtd_blktrans_dev(dev);
 4978#line 144
 4979  __cil_tmp18 = (unsigned long )nftl;
 4980#line 144
 4981  __cil_tmp19 = __cil_tmp18 + 416;
 4982#line 144
 4983  __cil_tmp20 = *((__u16 **)__cil_tmp19);
 4984#line 144
 4985  __cil_tmp21 = (void const   *)__cil_tmp20;
 4986#line 144
 4987  kfree(__cil_tmp21);
 4988#line 145
 4989  __cil_tmp22 = (unsigned long )nftl;
 4990#line 145
 4991  __cil_tmp23 = __cil_tmp22 + 408;
 4992#line 145
 4993  __cil_tmp24 = *((__u16 **)__cil_tmp23);
 4994#line 145
 4995  __cil_tmp25 = (void const   *)__cil_tmp24;
 4996#line 145
 4997  kfree(__cil_tmp25);
 4998  }
 4999#line 146
 5000  return;
 5001}
 5002}
 5003#line 151 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 5004int nftl_read_oob(struct mtd_info *mtd , loff_t offs , size_t len , size_t *retlen ,
 5005                  uint8_t *buf ) 
 5006{ loff_t mask ;
 5007  struct mtd_oob_ops ops ;
 5008  int res ;
 5009  unsigned long __cil_tmp9 ;
 5010  unsigned long __cil_tmp10 ;
 5011  uint32_t __cil_tmp11 ;
 5012  uint32_t __cil_tmp12 ;
 5013  struct mtd_oob_ops *__cil_tmp13 ;
 5014  unsigned long __cil_tmp14 ;
 5015  int __cil_tmp15 ;
 5016  int __cil_tmp16 ;
 5017  int __cil_tmp17 ;
 5018  unsigned long __cil_tmp18 ;
 5019  unsigned long __cil_tmp19 ;
 5020  unsigned long __cil_tmp20 ;
 5021  loff_t __cil_tmp21 ;
 5022  long long __cil_tmp22 ;
 5023  unsigned long __cil_tmp23 ;
 5024
 5025  {
 5026  {
 5027#line 154
 5028  __cil_tmp9 = (unsigned long )mtd;
 5029#line 154
 5030  __cil_tmp10 = __cil_tmp9 + 20;
 5031#line 154
 5032  __cil_tmp11 = *((uint32_t *)__cil_tmp10);
 5033#line 154
 5034  __cil_tmp12 = __cil_tmp11 - 1U;
 5035#line 154
 5036  mask = (loff_t )__cil_tmp12;
 5037#line 158
 5038  __cil_tmp13 = & ops;
 5039#line 158
 5040  *((unsigned int *)__cil_tmp13) = 0U;
 5041#line 159
 5042  __cil_tmp14 = (unsigned long )(& ops) + 40;
 5043#line 159
 5044  __cil_tmp15 = (int )mask;
 5045#line 159
 5046  __cil_tmp16 = (int )offs;
 5047#line 159
 5048  __cil_tmp17 = __cil_tmp16 & __cil_tmp15;
 5049#line 159
 5050  *((uint32_t *)__cil_tmp14) = (uint32_t )__cil_tmp17;
 5051#line 160
 5052  __cil_tmp18 = (unsigned long )(& ops) + 24;
 5053#line 160
 5054  *((size_t *)__cil_tmp18) = len;
 5055#line 161
 5056  __cil_tmp19 = (unsigned long )(& ops) + 56;
 5057#line 161
 5058  *((uint8_t **)__cil_tmp19) = buf;
 5059#line 162
 5060  __cil_tmp20 = (unsigned long )(& ops) + 48;
 5061#line 162
 5062  *((uint8_t **)__cil_tmp20) = (uint8_t *)0;
 5063#line 164
 5064  __cil_tmp21 = ~ mask;
 5065#line 164
 5066  __cil_tmp22 = __cil_tmp21 & offs;
 5067#line 164
 5068  res = mtd_read_oob(mtd, __cil_tmp22, & ops);
 5069#line 165
 5070  __cil_tmp23 = (unsigned long )(& ops) + 32;
 5071#line 165
 5072  *retlen = *((size_t *)__cil_tmp23);
 5073  }
 5074#line 166
 5075  return (res);
 5076}
 5077}
 5078#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 5079int nftl_write_oob(struct mtd_info *mtd , loff_t offs , size_t len , size_t *retlen ,
 5080                   uint8_t *buf ) 
 5081{ loff_t mask ;
 5082  struct mtd_oob_ops ops ;
 5083  int res ;
 5084  unsigned long __cil_tmp9 ;
 5085  unsigned long __cil_tmp10 ;
 5086  uint32_t __cil_tmp11 ;
 5087  uint32_t __cil_tmp12 ;
 5088  struct mtd_oob_ops *__cil_tmp13 ;
 5089  unsigned long __cil_tmp14 ;
 5090  int __cil_tmp15 ;
 5091  int __cil_tmp16 ;
 5092  int __cil_tmp17 ;
 5093  unsigned long __cil_tmp18 ;
 5094  unsigned long __cil_tmp19 ;
 5095  unsigned long __cil_tmp20 ;
 5096  loff_t __cil_tmp21 ;
 5097  long long __cil_tmp22 ;
 5098  unsigned long __cil_tmp23 ;
 5099
 5100  {
 5101  {
 5102#line 175
 5103  __cil_tmp9 = (unsigned long )mtd;
 5104#line 175
 5105  __cil_tmp10 = __cil_tmp9 + 20;
 5106#line 175
 5107  __cil_tmp11 = *((uint32_t *)__cil_tmp10);
 5108#line 175
 5109  __cil_tmp12 = __cil_tmp11 - 1U;
 5110#line 175
 5111  mask = (loff_t )__cil_tmp12;
 5112#line 179
 5113  __cil_tmp13 = & ops;
 5114#line 179
 5115  *((unsigned int *)__cil_tmp13) = 0U;
 5116#line 180
 5117  __cil_tmp14 = (unsigned long )(& ops) + 40;
 5118#line 180
 5119  __cil_tmp15 = (int )mask;
 5120#line 180
 5121  __cil_tmp16 = (int )offs;
 5122#line 180
 5123  __cil_tmp17 = __cil_tmp16 & __cil_tmp15;
 5124#line 180
 5125  *((uint32_t *)__cil_tmp14) = (uint32_t )__cil_tmp17;
 5126#line 181
 5127  __cil_tmp18 = (unsigned long )(& ops) + 24;
 5128#line 181
 5129  *((size_t *)__cil_tmp18) = len;
 5130#line 182
 5131  __cil_tmp19 = (unsigned long )(& ops) + 56;
 5132#line 182
 5133  *((uint8_t **)__cil_tmp19) = buf;
 5134#line 183
 5135  __cil_tmp20 = (unsigned long )(& ops) + 48;
 5136#line 183
 5137  *((uint8_t **)__cil_tmp20) = (uint8_t *)0;
 5138#line 185
 5139  __cil_tmp21 = ~ mask;
 5140#line 185
 5141  __cil_tmp22 = __cil_tmp21 & offs;
 5142#line 185
 5143  res = mtd_write_oob(mtd, __cil_tmp22, & ops);
 5144#line 186
 5145  __cil_tmp23 = (unsigned long )(& ops) + 32;
 5146#line 186
 5147  *retlen = *((size_t *)__cil_tmp23);
 5148  }
 5149#line 187
 5150  return (res);
 5151}
 5152}
 5153#line 195 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 5154static int nftl_write(struct mtd_info *mtd , loff_t offs , size_t len , size_t *retlen ,
 5155                      uint8_t *buf , uint8_t *oob ) 
 5156{ loff_t mask ;
 5157  struct mtd_oob_ops ops ;
 5158  int res ;
 5159  unsigned long __cil_tmp10 ;
 5160  unsigned long __cil_tmp11 ;
 5161  uint32_t __cil_tmp12 ;
 5162  uint32_t __cil_tmp13 ;
 5163  struct mtd_oob_ops *__cil_tmp14 ;
 5164  unsigned long __cil_tmp15 ;
 5165  int __cil_tmp16 ;
 5166  int __cil_tmp17 ;
 5167  int __cil_tmp18 ;
 5168  unsigned long __cil_tmp19 ;
 5169  unsigned long __cil_tmp20 ;
 5170  unsigned long __cil_tmp21 ;
 5171  uint32_t __cil_tmp22 ;
 5172  unsigned long __cil_tmp23 ;
 5173  unsigned long __cil_tmp24 ;
 5174  unsigned long __cil_tmp25 ;
 5175  loff_t __cil_tmp26 ;
 5176  long long __cil_tmp27 ;
 5177  unsigned long __cil_tmp28 ;
 5178
 5179  {
 5180  {
 5181#line 198
 5182  __cil_tmp10 = (unsigned long )mtd;
 5183#line 198
 5184  __cil_tmp11 = __cil_tmp10 + 20;
 5185#line 198
 5186  __cil_tmp12 = *((uint32_t *)__cil_tmp11);
 5187#line 198
 5188  __cil_tmp13 = __cil_tmp12 - 1U;
 5189#line 198
 5190  mask = (loff_t )__cil_tmp13;
 5191#line 202
 5192  __cil_tmp14 = & ops;
 5193#line 202
 5194  *((unsigned int *)__cil_tmp14) = 0U;
 5195#line 203
 5196  __cil_tmp15 = (unsigned long )(& ops) + 40;
 5197#line 203
 5198  __cil_tmp16 = (int )mask;
 5199#line 203
 5200  __cil_tmp17 = (int )offs;
 5201#line 203
 5202  __cil_tmp18 = __cil_tmp17 & __cil_tmp16;
 5203#line 203
 5204  *((uint32_t *)__cil_tmp15) = (uint32_t )__cil_tmp18;
 5205#line 204
 5206  __cil_tmp19 = (unsigned long )(& ops) + 24;
 5207#line 204
 5208  __cil_tmp20 = (unsigned long )mtd;
 5209#line 204
 5210  __cil_tmp21 = __cil_tmp20 + 28;
 5211#line 204
 5212  __cil_tmp22 = *((uint32_t *)__cil_tmp21);
 5213#line 204
 5214  *((size_t *)__cil_tmp19) = (size_t )__cil_tmp22;
 5215#line 205
 5216  __cil_tmp23 = (unsigned long )(& ops) + 56;
 5217#line 205
 5218  *((uint8_t **)__cil_tmp23) = oob;
 5219#line 206
 5220  __cil_tmp24 = (unsigned long )(& ops) + 48;
 5221#line 206
 5222  *((uint8_t **)__cil_tmp24) = buf;
 5223#line 207
 5224  __cil_tmp25 = (unsigned long )(& ops) + 8;
 5225#line 207
 5226  *((size_t *)__cil_tmp25) = len;
 5227#line 209
 5228  __cil_tmp26 = ~ mask;
 5229#line 209
 5230  __cil_tmp27 = __cil_tmp26 & offs;
 5231#line 209
 5232  res = mtd_write_oob(mtd, __cil_tmp27, & ops);
 5233#line 210
 5234  __cil_tmp28 = (unsigned long )(& ops) + 16;
 5235#line 210
 5236  *retlen = *((size_t *)__cil_tmp28);
 5237  }
 5238#line 211
 5239  return (res);
 5240}
 5241}
 5242#line 218 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 5243static u16 NFTL_findfreeblock(struct NFTLrecord *nftl , int desperate ) 
 5244{ u16 pot ;
 5245  int silly ;
 5246  struct _ddebug descriptor ;
 5247  long tmp ;
 5248  int tmp___0 ;
 5249  unsigned long __cil_tmp8 ;
 5250  unsigned long __cil_tmp9 ;
 5251  unsigned long __cil_tmp10 ;
 5252  unsigned long __cil_tmp11 ;
 5253  unsigned int __cil_tmp12 ;
 5254  unsigned long __cil_tmp13 ;
 5255  unsigned long __cil_tmp14 ;
 5256  __u16 __cil_tmp15 ;
 5257  unsigned int __cil_tmp16 ;
 5258  struct _ddebug *__cil_tmp17 ;
 5259  unsigned long __cil_tmp18 ;
 5260  unsigned long __cil_tmp19 ;
 5261  unsigned long __cil_tmp20 ;
 5262  unsigned long __cil_tmp21 ;
 5263  unsigned long __cil_tmp22 ;
 5264  unsigned long __cil_tmp23 ;
 5265  unsigned char __cil_tmp24 ;
 5266  long __cil_tmp25 ;
 5267  long __cil_tmp26 ;
 5268  unsigned long __cil_tmp27 ;
 5269  unsigned long __cil_tmp28 ;
 5270  unsigned long __cil_tmp29 ;
 5271  __u16 *__cil_tmp30 ;
 5272  __u16 *__cil_tmp31 ;
 5273  __u16 __cil_tmp32 ;
 5274  unsigned int __cil_tmp33 ;
 5275  unsigned long __cil_tmp34 ;
 5276  unsigned long __cil_tmp35 ;
 5277  unsigned long __cil_tmp36 ;
 5278  unsigned long __cil_tmp37 ;
 5279  unsigned long __cil_tmp38 ;
 5280  unsigned long __cil_tmp39 ;
 5281  __u16 __cil_tmp40 ;
 5282  int __cil_tmp41 ;
 5283  int __cil_tmp42 ;
 5284  int __cil_tmp43 ;
 5285  int __cil_tmp44 ;
 5286  unsigned long __cil_tmp45 ;
 5287  unsigned long __cil_tmp46 ;
 5288  __u16 __cil_tmp47 ;
 5289  int __cil_tmp48 ;
 5290  unsigned short __cil_tmp49 ;
 5291  int __cil_tmp50 ;
 5292  unsigned long __cil_tmp51 ;
 5293  unsigned long __cil_tmp52 ;
 5294  unsigned long __cil_tmp53 ;
 5295  unsigned long __cil_tmp54 ;
 5296  unsigned long __cil_tmp55 ;
 5297  __u16 __cil_tmp56 ;
 5298  int __cil_tmp57 ;
 5299  unsigned long __cil_tmp58 ;
 5300  unsigned long __cil_tmp59 ;
 5301  unsigned long __cil_tmp60 ;
 5302  __u16 __cil_tmp61 ;
 5303  int __cil_tmp62 ;
 5304  int __cil_tmp63 ;
 5305  unsigned long __cil_tmp64 ;
 5306  unsigned long __cil_tmp65 ;
 5307  __u16 __cil_tmp66 ;
 5308  int __cil_tmp67 ;
 5309
 5310  {
 5311#line 224
 5312  __cil_tmp8 = (unsigned long )nftl;
 5313#line 224
 5314  __cil_tmp9 = __cil_tmp8 + 394;
 5315#line 224
 5316  pot = *((__u16 *)__cil_tmp9);
 5317#line 225
 5318  __cil_tmp10 = (unsigned long )nftl;
 5319#line 225
 5320  __cil_tmp11 = __cil_tmp10 + 424;
 5321#line 225
 5322  __cil_tmp12 = *((unsigned int *)__cil_tmp11);
 5323#line 225
 5324  silly = (int )__cil_tmp12;
 5325#line 228
 5326  if (desperate == 0) {
 5327    {
 5328#line 228
 5329    __cil_tmp13 = (unsigned long )nftl;
 5330#line 228
 5331    __cil_tmp14 = __cil_tmp13 + 392;
 5332#line 228
 5333    __cil_tmp15 = *((__u16 *)__cil_tmp14);
 5334#line 228
 5335    __cil_tmp16 = (unsigned int )__cil_tmp15;
 5336#line 228
 5337    if (__cil_tmp16 <= 1U) {
 5338      {
 5339#line 229
 5340      __cil_tmp17 = & descriptor;
 5341#line 229
 5342      *((char const   **)__cil_tmp17) = "nftl";
 5343#line 229
 5344      __cil_tmp18 = (unsigned long )(& descriptor) + 8;
 5345#line 229
 5346      *((char const   **)__cil_tmp18) = "NFTL_findfreeblock";
 5347#line 229
 5348      __cil_tmp19 = (unsigned long )(& descriptor) + 16;
 5349#line 229
 5350      *((char const   **)__cil_tmp19) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 5351#line 229
 5352      __cil_tmp20 = (unsigned long )(& descriptor) + 24;
 5353#line 229
 5354      *((char const   **)__cil_tmp20) = "NFTL_findfreeblock: there are too few free EUNs\n";
 5355#line 229
 5356      __cil_tmp21 = (unsigned long )(& descriptor) + 32;
 5357#line 229
 5358      *((unsigned int *)__cil_tmp21) = 229U;
 5359#line 229
 5360      __cil_tmp22 = (unsigned long )(& descriptor) + 35;
 5361#line 229
 5362      *((unsigned char *)__cil_tmp22) = (unsigned char)0;
 5363#line 229
 5364      __cil_tmp23 = (unsigned long )(& descriptor) + 35;
 5365#line 229
 5366      __cil_tmp24 = *((unsigned char *)__cil_tmp23);
 5367#line 229
 5368      __cil_tmp25 = (long )__cil_tmp24;
 5369#line 229
 5370      __cil_tmp26 = __cil_tmp25 & 1L;
 5371#line 229
 5372      tmp = __builtin_expect(__cil_tmp26, 0L);
 5373      }
 5374#line 229
 5375      if (tmp != 0L) {
 5376        {
 5377#line 229
 5378        __dynamic_pr_debug(& descriptor, "NFTL_findfreeblock: there are too few free EUNs\n");
 5379        }
 5380      } else {
 5381
 5382      }
 5383#line 230
 5384      return ((u16 )65535U);
 5385    } else {
 5386
 5387    }
 5388    }
 5389  } else {
 5390
 5391  }
 5392  ldv_28739: ;
 5393  {
 5394#line 235
 5395  __cil_tmp27 = (unsigned long )pot;
 5396#line 235
 5397  __cil_tmp28 = (unsigned long )nftl;
 5398#line 235
 5399  __cil_tmp29 = __cil_tmp28 + 416;
 5400#line 235
 5401  __cil_tmp30 = *((__u16 **)__cil_tmp29);
 5402#line 235
 5403  __cil_tmp31 = __cil_tmp30 + __cil_tmp27;
 5404#line 235
 5405  __cil_tmp32 = *__cil_tmp31;
 5406#line 235
 5407  __cil_tmp33 = (unsigned int )__cil_tmp32;
 5408#line 235
 5409  if (__cil_tmp33 == 65534U) {
 5410#line 236
 5411    __cil_tmp34 = (unsigned long )nftl;
 5412#line 236
 5413    __cil_tmp35 = __cil_tmp34 + 394;
 5414#line 236
 5415    *((__u16 *)__cil_tmp35) = pot;
 5416#line 237
 5417    __cil_tmp36 = (unsigned long )nftl;
 5418#line 237
 5419    __cil_tmp37 = __cil_tmp36 + 392;
 5420#line 237
 5421    __cil_tmp38 = (unsigned long )nftl;
 5422#line 237
 5423    __cil_tmp39 = __cil_tmp38 + 392;
 5424#line 237
 5425    __cil_tmp40 = *((__u16 *)__cil_tmp39);
 5426#line 237
 5427    __cil_tmp41 = (int )__cil_tmp40;
 5428#line 237
 5429    __cil_tmp42 = __cil_tmp41 - 1;
 5430#line 237
 5431    *((__u16 *)__cil_tmp37) = (__u16 )__cil_tmp42;
 5432#line 238
 5433    return (pot);
 5434  } else {
 5435
 5436  }
 5437  }
 5438#line 245
 5439  __cil_tmp43 = (int )pot;
 5440#line 245
 5441  __cil_tmp44 = __cil_tmp43 + 1;
 5442#line 245
 5443  pot = (u16 )__cil_tmp44;
 5444  {
 5445#line 245
 5446  __cil_tmp45 = (unsigned long )nftl;
 5447#line 245
 5448  __cil_tmp46 = __cil_tmp45 + 390;
 5449#line 245
 5450  __cil_tmp47 = *((__u16 *)__cil_tmp46);
 5451#line 245
 5452  __cil_tmp48 = (int )__cil_tmp47;
 5453#line 245
 5454  __cil_tmp49 = (unsigned short )pot;
 5455#line 245
 5456  __cil_tmp50 = (int )__cil_tmp49;
 5457#line 245
 5458  if (__cil_tmp50 > __cil_tmp48) {
 5459#line 246
 5460    __cil_tmp51 = 360 + 8;
 5461#line 246
 5462    __cil_tmp52 = (unsigned long )nftl;
 5463#line 246
 5464    __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
 5465#line 246
 5466    pot = *((__u16 *)__cil_tmp53);
 5467  } else {
 5468
 5469  }
 5470  }
 5471#line 248
 5472  tmp___0 = silly;
 5473#line 248
 5474  silly = silly - 1;
 5475#line 248
 5476  if (tmp___0 == 0) {
 5477    {
 5478#line 249
 5479    __cil_tmp54 = (unsigned long )nftl;
 5480#line 249
 5481    __cil_tmp55 = __cil_tmp54 + 394;
 5482#line 249
 5483    __cil_tmp56 = *((__u16 *)__cil_tmp55);
 5484#line 249
 5485    __cil_tmp57 = (int )__cil_tmp56;
 5486#line 249
 5487    __cil_tmp58 = 360 + 8;
 5488#line 249
 5489    __cil_tmp59 = (unsigned long )nftl;
 5490#line 249
 5491    __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
 5492#line 249
 5493    __cil_tmp61 = *((__u16 *)__cil_tmp60);
 5494#line 249
 5495    __cil_tmp62 = (int )__cil_tmp61;
 5496#line 249
 5497    printk("Argh! No free blocks found! LastFreeEUN = %d, FirstEUN = %d\n", __cil_tmp57,
 5498           __cil_tmp62);
 5499    }
 5500#line 252
 5501    return ((u16 )65535U);
 5502  } else {
 5503
 5504  }
 5505  {
 5506#line 254
 5507  __cil_tmp63 = (int )pot;
 5508#line 254
 5509  __cil_tmp64 = (unsigned long )nftl;
 5510#line 254
 5511  __cil_tmp65 = __cil_tmp64 + 394;
 5512#line 254
 5513  __cil_tmp66 = *((__u16 *)__cil_tmp65);
 5514#line 254
 5515  __cil_tmp67 = (int )__cil_tmp66;
 5516#line 254
 5517  if (__cil_tmp67 != __cil_tmp63) {
 5518#line 255
 5519    goto ldv_28739;
 5520  } else {
 5521#line 257
 5522    goto ldv_28740;
 5523  }
 5524  }
 5525  ldv_28740: ;
 5526#line 256
 5527  return ((u16 )65535U);
 5528}
 5529}
 5530#line 259 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 5531static u16 NFTL_foldchain(struct NFTLrecord *nftl , unsigned int thisVUC , unsigned int pendingblock ) 
 5532{ struct mtd_info *mtd ;
 5533  u16 BlockMap[64U] ;
 5534  unsigned char BlockLastState[64U] ;
 5535  unsigned char BlockFreeFound[64U] ;
 5536  unsigned int thisEUN ;
 5537  int block ;
 5538  int silly ;
 5539  unsigned int targetEUN ;
 5540  struct nftl_oob oob ;
 5541  int inplace ;
 5542  size_t retlen ;
 5543  unsigned int status ;
 5544  unsigned int foldmark ;
 5545  struct _ddebug descriptor ;
 5546  long tmp ;
 5547  int tmp___0 ;
 5548  struct _ddebug descriptor___0 ;
 5549  char *tmp___1 ;
 5550  long tmp___2 ;
 5551  struct _ddebug descriptor___1 ;
 5552  long tmp___3 ;
 5553  struct _ddebug descriptor___2 ;
 5554  long tmp___4 ;
 5555  u16 tmp___5 ;
 5556  struct _ddebug descriptor___3 ;
 5557  long tmp___6 ;
 5558  unsigned char movebuf[512U] ;
 5559  int ret ;
 5560  int tmp___7 ;
 5561  struct _ddebug descriptor___4 ;
 5562  long tmp___8 ;
 5563  unsigned int EUNtmp ;
 5564  int tmp___9 ;
 5565  unsigned long __cil_tmp37 ;
 5566  unsigned long __cil_tmp38 ;
 5567  unsigned long __cil_tmp39 ;
 5568  void *__cil_tmp40 ;
 5569  void *__cil_tmp41 ;
 5570  unsigned long __cil_tmp42 ;
 5571  unsigned long __cil_tmp43 ;
 5572  unsigned long __cil_tmp44 ;
 5573  __u16 *__cil_tmp45 ;
 5574  __u16 *__cil_tmp46 ;
 5575  __u16 __cil_tmp47 ;
 5576  int __cil_tmp48 ;
 5577  unsigned int __cil_tmp49 ;
 5578  unsigned long __cil_tmp50 ;
 5579  unsigned long __cil_tmp51 ;
 5580  __u32 __cil_tmp52 ;
 5581  unsigned int __cil_tmp53 ;
 5582  unsigned int __cil_tmp54 ;
 5583  loff_t __cil_tmp55 ;
 5584  uint8_t *__cil_tmp56 ;
 5585  unsigned long __cil_tmp57 ;
 5586  unsigned long __cil_tmp58 ;
 5587  unsigned long __cil_tmp59 ;
 5588  __u16 __cil_tmp60 ;
 5589  int __cil_tmp61 ;
 5590  unsigned long __cil_tmp62 ;
 5591  __u16 __cil_tmp63 ;
 5592  int __cil_tmp64 ;
 5593  int __cil_tmp65 ;
 5594  struct _ddebug *__cil_tmp66 ;
 5595  unsigned long __cil_tmp67 ;
 5596  unsigned long __cil_tmp68 ;
 5597  unsigned long __cil_tmp69 ;
 5598  unsigned long __cil_tmp70 ;
 5599  unsigned long __cil_tmp71 ;
 5600  unsigned long __cil_tmp72 ;
 5601  unsigned char __cil_tmp73 ;
 5602  long __cil_tmp74 ;
 5603  long __cil_tmp75 ;
 5604  unsigned long __cil_tmp76 ;
 5605  unsigned long __cil_tmp77 ;
 5606  __u8 __cil_tmp78 ;
 5607  int __cil_tmp79 ;
 5608  unsigned long __cil_tmp80 ;
 5609  unsigned long __cil_tmp81 ;
 5610  __u8 __cil_tmp82 ;
 5611  int __cil_tmp83 ;
 5612  int __cil_tmp84 ;
 5613  unsigned long __cil_tmp85 ;
 5614  unsigned long __cil_tmp86 ;
 5615  unsigned long __cil_tmp87 ;
 5616  unsigned long __cil_tmp88 ;
 5617  unsigned long __cil_tmp89 ;
 5618  unsigned long __cil_tmp90 ;
 5619  unsigned char __cil_tmp91 ;
 5620  unsigned int __cil_tmp92 ;
 5621  unsigned long __cil_tmp93 ;
 5622  unsigned long __cil_tmp94 ;
 5623  unsigned long __cil_tmp95 ;
 5624  unsigned long __cil_tmp96 ;
 5625  unsigned char __cil_tmp97 ;
 5626  unsigned int __cil_tmp98 ;
 5627  unsigned long __cil_tmp99 ;
 5628  unsigned long __cil_tmp100 ;
 5629  unsigned long __cil_tmp101 ;
 5630  unsigned long __cil_tmp102 ;
 5631  __u32 __cil_tmp103 ;
 5632  __u32 __cil_tmp104 ;
 5633  __u32 __cil_tmp105 ;
 5634  unsigned long __cil_tmp106 ;
 5635  unsigned long __cil_tmp107 ;
 5636  unsigned long __cil_tmp108 ;
 5637  __u16 *__cil_tmp109 ;
 5638  __u16 *__cil_tmp110 ;
 5639  __u16 __cil_tmp111 ;
 5640  unsigned long __cil_tmp112 ;
 5641  unsigned long __cil_tmp113 ;
 5642  __u16 __cil_tmp114 ;
 5643  unsigned int __cil_tmp115 ;
 5644  unsigned long __cil_tmp116 ;
 5645  unsigned long __cil_tmp117 ;
 5646  unsigned char __cil_tmp118 ;
 5647  unsigned int __cil_tmp119 ;
 5648  unsigned long __cil_tmp120 ;
 5649  unsigned long __cil_tmp121 ;
 5650  u16 __cil_tmp122 ;
 5651  unsigned int __cil_tmp123 ;
 5652  unsigned long __cil_tmp124 ;
 5653  unsigned long __cil_tmp125 ;
 5654  u16 __cil_tmp126 ;
 5655  unsigned int __cil_tmp127 ;
 5656  struct _ddebug *__cil_tmp128 ;
 5657  unsigned long __cil_tmp129 ;
 5658  unsigned long __cil_tmp130 ;
 5659  unsigned long __cil_tmp131 ;
 5660  unsigned long __cil_tmp132 ;
 5661  unsigned long __cil_tmp133 ;
 5662  unsigned long __cil_tmp134 ;
 5663  unsigned char __cil_tmp135 ;
 5664  long __cil_tmp136 ;
 5665  long __cil_tmp137 ;
 5666  unsigned long __cil_tmp138 ;
 5667  unsigned long __cil_tmp139 ;
 5668  u16 __cil_tmp140 ;
 5669  unsigned int __cil_tmp141 ;
 5670  unsigned long __cil_tmp142 ;
 5671  unsigned long __cil_tmp143 ;
 5672  unsigned char __cil_tmp144 ;
 5673  int __cil_tmp145 ;
 5674  unsigned long __cil_tmp146 ;
 5675  unsigned long __cil_tmp147 ;
 5676  u16 __cil_tmp148 ;
 5677  int __cil_tmp149 ;
 5678  unsigned long __cil_tmp150 ;
 5679  unsigned long __cil_tmp151 ;
 5680  __u32 __cil_tmp152 ;
 5681  __u32 __cil_tmp153 ;
 5682  __u32 __cil_tmp154 ;
 5683  unsigned long __cil_tmp155 ;
 5684  unsigned long __cil_tmp156 ;
 5685  __u32 __cil_tmp157 ;
 5686  __u32 __cil_tmp158 ;
 5687  unsigned int __cil_tmp159 ;
 5688  unsigned long __cil_tmp160 ;
 5689  unsigned long __cil_tmp161 ;
 5690  __u32 __cil_tmp162 ;
 5691  __u32 __cil_tmp163 ;
 5692  unsigned int __cil_tmp164 ;
 5693  unsigned int __cil_tmp165 ;
 5694  unsigned long __cil_tmp166 ;
 5695  unsigned long __cil_tmp167 ;
 5696  __u32 __cil_tmp168 ;
 5697  __u32 __cil_tmp169 ;
 5698  unsigned int __cil_tmp170 ;
 5699  unsigned int __cil_tmp171 ;
 5700  unsigned long __cil_tmp172 ;
 5701  unsigned long __cil_tmp173 ;
 5702  unsigned char __cil_tmp174 ;
 5703  unsigned int __cil_tmp175 ;
 5704  struct _ddebug *__cil_tmp176 ;
 5705  unsigned long __cil_tmp177 ;
 5706  unsigned long __cil_tmp178 ;
 5707  unsigned long __cil_tmp179 ;
 5708  unsigned long __cil_tmp180 ;
 5709  unsigned long __cil_tmp181 ;
 5710  unsigned long __cil_tmp182 ;
 5711  unsigned char __cil_tmp183 ;
 5712  long __cil_tmp184 ;
 5713  long __cil_tmp185 ;
 5714  struct _ddebug *__cil_tmp186 ;
 5715  unsigned long __cil_tmp187 ;
 5716  unsigned long __cil_tmp188 ;
 5717  unsigned long __cil_tmp189 ;
 5718  unsigned long __cil_tmp190 ;
 5719  unsigned long __cil_tmp191 ;
 5720  unsigned long __cil_tmp192 ;
 5721  unsigned char __cil_tmp193 ;
 5722  long __cil_tmp194 ;
 5723  long __cil_tmp195 ;
 5724  unsigned long __cil_tmp196 ;
 5725  unsigned long __cil_tmp197 ;
 5726  unsigned long __cil_tmp198 ;
 5727  unsigned long __cil_tmp199 ;
 5728  unsigned long __cil_tmp200 ;
 5729  unsigned long __cil_tmp201 ;
 5730  unsigned long __cil_tmp202 ;
 5731  unsigned long __cil_tmp203 ;
 5732  unsigned long __cil_tmp204 ;
 5733  unsigned long __cil_tmp205 ;
 5734  unsigned long __cil_tmp206 ;
 5735  unsigned long __cil_tmp207 ;
 5736  __u32 __cil_tmp208 ;
 5737  __u32 __cil_tmp209 ;
 5738  __u32 __cil_tmp210 ;
 5739  loff_t __cil_tmp211 ;
 5740  unsigned long __cil_tmp212 ;
 5741  union nftl_uci *__cil_tmp213 ;
 5742  uint8_t *__cil_tmp214 ;
 5743  struct _ddebug *__cil_tmp215 ;
 5744  unsigned long __cil_tmp216 ;
 5745  unsigned long __cil_tmp217 ;
 5746  unsigned long __cil_tmp218 ;
 5747  unsigned long __cil_tmp219 ;
 5748  unsigned long __cil_tmp220 ;
 5749  unsigned long __cil_tmp221 ;
 5750  unsigned char __cil_tmp222 ;
 5751  long __cil_tmp223 ;
 5752  long __cil_tmp224 ;
 5753  unsigned long __cil_tmp225 ;
 5754  unsigned long __cil_tmp226 ;
 5755  u16 __cil_tmp227 ;
 5756  unsigned int __cil_tmp228 ;
 5757  unsigned int __cil_tmp229 ;
 5758  unsigned long __cil_tmp230 ;
 5759  unsigned long __cil_tmp231 ;
 5760  __u32 __cil_tmp232 ;
 5761  __u32 __cil_tmp233 ;
 5762  unsigned int __cil_tmp234 ;
 5763  unsigned int __cil_tmp235 ;
 5764  unsigned long __cil_tmp236 ;
 5765  unsigned long __cil_tmp237 ;
 5766  u16 __cil_tmp238 ;
 5767  unsigned int __cil_tmp239 ;
 5768  int __cil_tmp240 ;
 5769  __u32 __cil_tmp241 ;
 5770  unsigned long __cil_tmp242 ;
 5771  unsigned long __cil_tmp243 ;
 5772  u16 __cil_tmp244 ;
 5773  __u32 __cil_tmp245 ;
 5774  unsigned long __cil_tmp246 ;
 5775  unsigned long __cil_tmp247 ;
 5776  __u32 __cil_tmp248 ;
 5777  __u32 __cil_tmp249 ;
 5778  __u32 __cil_tmp250 ;
 5779  loff_t __cil_tmp251 ;
 5780  u_char *__cil_tmp252 ;
 5781  int __cil_tmp253 ;
 5782  __u32 __cil_tmp254 ;
 5783  unsigned long __cil_tmp255 ;
 5784  unsigned long __cil_tmp256 ;
 5785  u16 __cil_tmp257 ;
 5786  __u32 __cil_tmp258 ;
 5787  unsigned long __cil_tmp259 ;
 5788  unsigned long __cil_tmp260 ;
 5789  __u32 __cil_tmp261 ;
 5790  __u32 __cil_tmp262 ;
 5791  __u32 __cil_tmp263 ;
 5792  loff_t __cil_tmp264 ;
 5793  u_char *__cil_tmp265 ;
 5794  void *__cil_tmp266 ;
 5795  unsigned long __cil_tmp267 ;
 5796  unsigned long __cil_tmp268 ;
 5797  unsigned long __cil_tmp269 ;
 5798  unsigned long __cil_tmp270 ;
 5799  unsigned long __cil_tmp271 ;
 5800  unsigned long __cil_tmp272 ;
 5801  unsigned long __cil_tmp273 ;
 5802  unsigned long __cil_tmp274 ;
 5803  unsigned long __cil_tmp275 ;
 5804  struct mtd_info *__cil_tmp276 ;
 5805  int __cil_tmp277 ;
 5806  __u32 __cil_tmp278 ;
 5807  unsigned long __cil_tmp279 ;
 5808  unsigned long __cil_tmp280 ;
 5809  __u32 __cil_tmp281 ;
 5810  __u32 __cil_tmp282 ;
 5811  __u32 __cil_tmp283 ;
 5812  loff_t __cil_tmp284 ;
 5813  uint8_t *__cil_tmp285 ;
 5814  uint8_t *__cil_tmp286 ;
 5815  unsigned long __cil_tmp287 ;
 5816  unsigned long __cil_tmp288 ;
 5817  __u32 __cil_tmp289 ;
 5818  __u32 __cil_tmp290 ;
 5819  __u32 __cil_tmp291 ;
 5820  unsigned long __cil_tmp292 ;
 5821  unsigned long __cil_tmp293 ;
 5822  unsigned long __cil_tmp294 ;
 5823  unsigned long __cil_tmp295 ;
 5824  unsigned long __cil_tmp296 ;
 5825  unsigned long __cil_tmp297 ;
 5826  unsigned long __cil_tmp298 ;
 5827  unsigned long __cil_tmp299 ;
 5828  unsigned long __cil_tmp300 ;
 5829  unsigned long __cil_tmp301 ;
 5830  unsigned long __cil_tmp302 ;
 5831  unsigned long __cil_tmp303 ;
 5832  unsigned long __cil_tmp304 ;
 5833  unsigned long __cil_tmp305 ;
 5834  unsigned long __cil_tmp306 ;
 5835  unsigned long __cil_tmp307 ;
 5836  unsigned long __cil_tmp308 ;
 5837  unsigned long __cil_tmp309 ;
 5838  __u32 __cil_tmp310 ;
 5839  __u32 __cil_tmp311 ;
 5840  __u32 __cil_tmp312 ;
 5841  loff_t __cil_tmp313 ;
 5842  unsigned long __cil_tmp314 ;
 5843  union nftl_uci *__cil_tmp315 ;
 5844  uint8_t *__cil_tmp316 ;
 5845  unsigned long __cil_tmp317 ;
 5846  unsigned long __cil_tmp318 ;
 5847  unsigned long __cil_tmp319 ;
 5848  __u16 *__cil_tmp320 ;
 5849  __u16 *__cil_tmp321 ;
 5850  __u16 __cil_tmp322 ;
 5851  struct _ddebug *__cil_tmp323 ;
 5852  unsigned long __cil_tmp324 ;
 5853  unsigned long __cil_tmp325 ;
 5854  unsigned long __cil_tmp326 ;
 5855  unsigned long __cil_tmp327 ;
 5856  unsigned long __cil_tmp328 ;
 5857  unsigned long __cil_tmp329 ;
 5858  unsigned char __cil_tmp330 ;
 5859  long __cil_tmp331 ;
 5860  long __cil_tmp332 ;
 5861  unsigned long __cil_tmp333 ;
 5862  unsigned long __cil_tmp334 ;
 5863  unsigned long __cil_tmp335 ;
 5864  __u16 *__cil_tmp336 ;
 5865  __u16 *__cil_tmp337 ;
 5866  __u16 __cil_tmp338 ;
 5867  int __cil_tmp339 ;
 5868  unsigned long __cil_tmp340 ;
 5869  unsigned long __cil_tmp341 ;
 5870  unsigned long __cil_tmp342 ;
 5871  __u16 *__cil_tmp343 ;
 5872  __u16 *__cil_tmp344 ;
 5873  unsigned long __cil_tmp345 ;
 5874  unsigned long __cil_tmp346 ;
 5875  unsigned long __cil_tmp347 ;
 5876  __u16 *__cil_tmp348 ;
 5877  __u16 *__cil_tmp349 ;
 5878  unsigned long __cil_tmp350 ;
 5879  unsigned long __cil_tmp351 ;
 5880  unsigned long __cil_tmp352 ;
 5881  unsigned long __cil_tmp353 ;
 5882  __u16 __cil_tmp354 ;
 5883  int __cil_tmp355 ;
 5884  int __cil_tmp356 ;
 5885  unsigned long __cil_tmp357 ;
 5886  unsigned long __cil_tmp358 ;
 5887  __u16 __cil_tmp359 ;
 5888  unsigned int __cil_tmp360 ;
 5889  unsigned long __cil_tmp361 ;
 5890  unsigned long __cil_tmp362 ;
 5891  unsigned long __cil_tmp363 ;
 5892  __u16 *__cil_tmp364 ;
 5893  __u16 *__cil_tmp365 ;
 5894  unsigned long __cil_tmp366 ;
 5895  unsigned long __cil_tmp367 ;
 5896  unsigned long __cil_tmp368 ;
 5897  __u16 *__cil_tmp369 ;
 5898  __u16 *__cil_tmp370 ;
 5899
 5900  {
 5901  {
 5902#line 261
 5903  __cil_tmp37 = 0 + 24;
 5904#line 261
 5905  __cil_tmp38 = (unsigned long )nftl;
 5906#line 261
 5907  __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
 5908#line 261
 5909  mtd = *((struct mtd_info **)__cil_tmp39);
 5910#line 270
 5911  inplace = 1;
 5912#line 273
 5913  __cil_tmp40 = (void *)(& BlockMap);
 5914#line 273
 5915  memset(__cil_tmp40, 255, 128UL);
 5916#line 274
 5917  __cil_tmp41 = (void *)(& BlockFreeFound);
 5918#line 274
 5919  memset(__cil_tmp41, 0, 64UL);
 5920#line 276
 5921  __cil_tmp42 = (unsigned long )thisVUC;
 5922#line 276
 5923  __cil_tmp43 = (unsigned long )nftl;
 5924#line 276
 5925  __cil_tmp44 = __cil_tmp43 + 408;
 5926#line 276
 5927  __cil_tmp45 = *((__u16 **)__cil_tmp44);
 5928#line 276
 5929  __cil_tmp46 = __cil_tmp45 + __cil_tmp42;
 5930#line 276
 5931  __cil_tmp47 = *__cil_tmp46;
 5932#line 276
 5933  thisEUN = (unsigned int )__cil_tmp47;
 5934  }
 5935#line 278
 5936  if (thisEUN == 65535U) {
 5937    {
 5938#line 279
 5939    printk("<4>Trying to fold non-existent Virtual Unit Chain %d!\n", thisVUC);
 5940    }
 5941#line 281
 5942    return ((u16 )65535U);
 5943  } else {
 5944
 5945  }
 5946#line 287
 5947  silly = 10000;
 5948#line 288
 5949  targetEUN = 65535U;
 5950#line 289
 5951  goto ldv_28771;
 5952  ldv_28770: 
 5953#line 292
 5954  targetEUN = thisEUN;
 5955#line 293
 5956  block = 0;
 5957#line 293
 5958  goto ldv_28768;
 5959  ldv_28767: 
 5960  {
 5961#line 294
 5962  __cil_tmp48 = block * 512;
 5963#line 294
 5964  __cil_tmp49 = (unsigned int )__cil_tmp48;
 5965#line 294
 5966  __cil_tmp50 = (unsigned long )nftl;
 5967#line 294
 5968  __cil_tmp51 = __cil_tmp50 + 356;
 5969#line 294
 5970  __cil_tmp52 = *((__u32 *)__cil_tmp51);
 5971#line 294
 5972  __cil_tmp53 = __cil_tmp52 * thisEUN;
 5973#line 294
 5974  __cil_tmp54 = __cil_tmp53 + __cil_tmp49;
 5975#line 294
 5976  __cil_tmp55 = (loff_t )__cil_tmp54;
 5977#line 294
 5978  __cil_tmp56 = (uint8_t *)(& oob);
 5979#line 294
 5980  nftl_read_oob(mtd, __cil_tmp55, 16UL, & retlen, __cil_tmp56);
 5981  }
 5982#line 297
 5983  if (block == 2) {
 5984#line 298
 5985    __cil_tmp57 = 0 + 2;
 5986#line 298
 5987    __cil_tmp58 = 8 + __cil_tmp57;
 5988#line 298
 5989    __cil_tmp59 = (unsigned long )(& oob) + __cil_tmp58;
 5990#line 298
 5991    __cil_tmp60 = *((__u16 *)__cil_tmp59);
 5992#line 298
 5993    __cil_tmp61 = (int )__cil_tmp60;
 5994#line 298
 5995    __cil_tmp62 = (unsigned long )(& oob) + 8;
 5996#line 298
 5997    __cil_tmp63 = *((__u16 *)__cil_tmp62);
 5998#line 298
 5999    __cil_tmp64 = (int )__cil_tmp63;
 6000#line 298
 6001    __cil_tmp65 = __cil_tmp64 | __cil_tmp61;
 6002#line 298
 6003    foldmark = (unsigned int )__cil_tmp65;
 6004#line 299
 6005    if (foldmark == 21845U) {
 6006      {
 6007#line 300
 6008      __cil_tmp66 = & descriptor;
 6009#line 300
 6010      *((char const   **)__cil_tmp66) = "nftl";
 6011#line 300
 6012      __cil_tmp67 = (unsigned long )(& descriptor) + 8;
 6013#line 300
 6014      *((char const   **)__cil_tmp67) = "NFTL_foldchain";
 6015#line 300
 6016      __cil_tmp68 = (unsigned long )(& descriptor) + 16;
 6017#line 300
 6018      *((char const   **)__cil_tmp68) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 6019#line 300
 6020      __cil_tmp69 = (unsigned long )(& descriptor) + 24;
 6021#line 300
 6022      *((char const   **)__cil_tmp69) = "Write Inhibited on EUN %d\n";
 6023#line 300
 6024      __cil_tmp70 = (unsigned long )(& descriptor) + 32;
 6025#line 300
 6026      *((unsigned int *)__cil_tmp70) = 300U;
 6027#line 300
 6028      __cil_tmp71 = (unsigned long )(& descriptor) + 35;
 6029#line 300
 6030      *((unsigned char *)__cil_tmp71) = (unsigned char)0;
 6031#line 300
 6032      __cil_tmp72 = (unsigned long )(& descriptor) + 35;
 6033#line 300
 6034      __cil_tmp73 = *((unsigned char *)__cil_tmp72);
 6035#line 300
 6036      __cil_tmp74 = (long )__cil_tmp73;
 6037#line 300
 6038      __cil_tmp75 = __cil_tmp74 & 1L;
 6039#line 300
 6040      tmp = __builtin_expect(__cil_tmp75, 0L);
 6041      }
 6042#line 300
 6043      if (tmp != 0L) {
 6044        {
 6045#line 300
 6046        __dynamic_pr_debug(& descriptor, "Write Inhibited on EUN %d\n", thisEUN);
 6047        }
 6048      } else {
 6049
 6050      }
 6051#line 301
 6052      inplace = 0;
 6053    } else {
 6054#line 306
 6055      inplace = 1;
 6056    }
 6057  } else {
 6058
 6059  }
 6060#line 309
 6061  __cil_tmp76 = 0 + 7;
 6062#line 309
 6063  __cil_tmp77 = (unsigned long )(& oob) + __cil_tmp76;
 6064#line 309
 6065  __cil_tmp78 = *((__u8 *)__cil_tmp77);
 6066#line 309
 6067  __cil_tmp79 = (int )__cil_tmp78;
 6068#line 309
 6069  __cil_tmp80 = 0 + 6;
 6070#line 309
 6071  __cil_tmp81 = (unsigned long )(& oob) + __cil_tmp80;
 6072#line 309
 6073  __cil_tmp82 = *((__u8 *)__cil_tmp81);
 6074#line 309
 6075  __cil_tmp83 = (int )__cil_tmp82;
 6076#line 309
 6077  __cil_tmp84 = __cil_tmp83 | __cil_tmp79;
 6078#line 309
 6079  status = (unsigned int )__cil_tmp84;
 6080#line 310
 6081  __cil_tmp85 = block * 1UL;
 6082#line 310
 6083  __cil_tmp86 = (unsigned long )(BlockLastState) + __cil_tmp85;
 6084#line 310
 6085  *((unsigned char *)__cil_tmp86) = (unsigned char )status;
 6086#line 313
 6087  if ((int )status == 255) {
 6088#line 313
 6089    goto case_255;
 6090  } else
 6091#line 317
 6092  if ((int )status == 85) {
 6093#line 317
 6094    goto case_85;
 6095  } else
 6096#line 326
 6097  if ((int )status == 0) {
 6098#line 326
 6099    goto case_0;
 6100  } else
 6101#line 336
 6102  if ((int )status == 17) {
 6103#line 336
 6104    goto case_17;
 6105  } else {
 6106    {
 6107#line 338
 6108    goto switch_default;
 6109#line 312
 6110    if (0) {
 6111      case_255: /* CIL Label */ 
 6112#line 314
 6113      __cil_tmp87 = block * 1UL;
 6114#line 314
 6115      __cil_tmp88 = (unsigned long )(BlockFreeFound) + __cil_tmp87;
 6116#line 314
 6117      *((unsigned char *)__cil_tmp88) = (unsigned char)1;
 6118#line 315
 6119      goto ldv_28762;
 6120      case_85: /* CIL Label */ ;
 6121      {
 6122#line 318
 6123      __cil_tmp89 = block * 1UL;
 6124#line 318
 6125      __cil_tmp90 = (unsigned long )(BlockFreeFound) + __cil_tmp89;
 6126#line 318
 6127      __cil_tmp91 = *((unsigned char *)__cil_tmp90);
 6128#line 318
 6129      __cil_tmp92 = (unsigned int )__cil_tmp91;
 6130#line 318
 6131      if (__cil_tmp92 == 0U) {
 6132#line 319
 6133        __cil_tmp93 = block * 2UL;
 6134#line 319
 6135        __cil_tmp94 = (unsigned long )(BlockMap) + __cil_tmp93;
 6136#line 319
 6137        *((u16 *)__cil_tmp94) = (u16 )thisEUN;
 6138      } else {
 6139        {
 6140#line 321
 6141        printk("<4>SECTOR_USED found after SECTOR_FREE in Virtual Unit Chain %d for block %d\n",
 6142               thisVUC, block);
 6143        }
 6144      }
 6145      }
 6146#line 325
 6147      goto ldv_28762;
 6148      case_0: /* CIL Label */ ;
 6149      {
 6150#line 327
 6151      __cil_tmp95 = block * 1UL;
 6152#line 327
 6153      __cil_tmp96 = (unsigned long )(BlockFreeFound) + __cil_tmp95;
 6154#line 327
 6155      __cil_tmp97 = *((unsigned char *)__cil_tmp96);
 6156#line 327
 6157      __cil_tmp98 = (unsigned int )__cil_tmp97;
 6158#line 327
 6159      if (__cil_tmp98 == 0U) {
 6160#line 328
 6161        __cil_tmp99 = block * 2UL;
 6162#line 328
 6163        __cil_tmp100 = (unsigned long )(BlockMap) + __cil_tmp99;
 6164#line 328
 6165        *((u16 *)__cil_tmp100) = (u16 )65535U;
 6166      } else {
 6167        {
 6168#line 330
 6169        printk("<4>SECTOR_DELETED found after SECTOR_FREE in Virtual Unit Chain %d for block %d\n",
 6170               thisVUC, block);
 6171        }
 6172      }
 6173      }
 6174#line 334
 6175      goto ldv_28762;
 6176      case_17: /* CIL Label */ ;
 6177#line 337
 6178      goto ldv_28762;
 6179      switch_default: /* CIL Label */ 
 6180      {
 6181#line 339
 6182      printk("Unknown status for block %d in EUN %d: %x\n", block, thisEUN, status);
 6183      }
 6184    } else {
 6185      switch_break: /* CIL Label */ ;
 6186    }
 6187    }
 6188  }
 6189  ldv_28762: 
 6190#line 293
 6191  block = block + 1;
 6192  ldv_28768: ;
 6193  {
 6194#line 293
 6195  __cil_tmp101 = (unsigned long )nftl;
 6196#line 293
 6197  __cil_tmp102 = __cil_tmp101 + 356;
 6198#line 293
 6199  __cil_tmp103 = *((__u32 *)__cil_tmp102);
 6200#line 293
 6201  __cil_tmp104 = __cil_tmp103 / 512U;
 6202#line 293
 6203  __cil_tmp105 = (__u32 )block;
 6204#line 293
 6205  if (__cil_tmp105 < __cil_tmp104) {
 6206#line 294
 6207    goto ldv_28767;
 6208  } else {
 6209#line 296
 6210    goto ldv_28769;
 6211  }
 6212  }
 6213  ldv_28769: 
 6214#line 344
 6215  tmp___0 = silly;
 6216#line 344
 6217  silly = silly - 1;
 6218#line 344
 6219  if (tmp___0 == 0) {
 6220    {
 6221#line 345
 6222    printk("<4>Infinite loop in Virtual Unit Chain 0x%x\n", thisVUC);
 6223    }
 6224#line 347
 6225    return ((u16 )65535U);
 6226  } else {
 6227
 6228  }
 6229#line 350
 6230  __cil_tmp106 = (unsigned long )thisEUN;
 6231#line 350
 6232  __cil_tmp107 = (unsigned long )nftl;
 6233#line 350
 6234  __cil_tmp108 = __cil_tmp107 + 416;
 6235#line 350
 6236  __cil_tmp109 = *((__u16 **)__cil_tmp108);
 6237#line 350
 6238  __cil_tmp110 = __cil_tmp109 + __cil_tmp106;
 6239#line 350
 6240  __cil_tmp111 = *__cil_tmp110;
 6241#line 350
 6242  thisEUN = (unsigned int )__cil_tmp111;
 6243  ldv_28771: ;
 6244  {
 6245#line 289
 6246  __cil_tmp112 = (unsigned long )nftl;
 6247#line 289
 6248  __cil_tmp113 = __cil_tmp112 + 390;
 6249#line 289
 6250  __cil_tmp114 = *((__u16 *)__cil_tmp113);
 6251#line 289
 6252  __cil_tmp115 = (unsigned int )__cil_tmp114;
 6253#line 289
 6254  if (__cil_tmp115 >= thisEUN) {
 6255#line 290
 6256    goto ldv_28770;
 6257  } else {
 6258#line 292
 6259    goto ldv_28772;
 6260  }
 6261  }
 6262  ldv_28772: ;
 6263#line 353
 6264  if (inplace != 0) {
 6265#line 361
 6266    block = 0;
 6267#line 361
 6268    goto ldv_28776;
 6269    ldv_28775: ;
 6270    {
 6271#line 362
 6272    __cil_tmp116 = block * 1UL;
 6273#line 362
 6274    __cil_tmp117 = (unsigned long )(BlockLastState) + __cil_tmp116;
 6275#line 362
 6276    __cil_tmp118 = *((unsigned char *)__cil_tmp117);
 6277#line 362
 6278    __cil_tmp119 = (unsigned int )__cil_tmp118;
 6279#line 362
 6280    if (__cil_tmp119 != 255U) {
 6281      {
 6282#line 362
 6283      __cil_tmp120 = block * 2UL;
 6284#line 362
 6285      __cil_tmp121 = (unsigned long )(BlockMap) + __cil_tmp120;
 6286#line 362
 6287      __cil_tmp122 = *((u16 *)__cil_tmp121);
 6288#line 362
 6289      __cil_tmp123 = (unsigned int )__cil_tmp122;
 6290#line 362
 6291      if (__cil_tmp123 != 65535U) {
 6292        {
 6293#line 362
 6294        __cil_tmp124 = block * 2UL;
 6295#line 362
 6296        __cil_tmp125 = (unsigned long )(BlockMap) + __cil_tmp124;
 6297#line 362
 6298        __cil_tmp126 = *((u16 *)__cil_tmp125);
 6299#line 362
 6300        __cil_tmp127 = (unsigned int )__cil_tmp126;
 6301#line 362
 6302        if (__cil_tmp127 != targetEUN) {
 6303          {
 6304#line 365
 6305          __cil_tmp128 = & descriptor___0;
 6306#line 365
 6307          *((char const   **)__cil_tmp128) = "nftl";
 6308#line 365
 6309          __cil_tmp129 = (unsigned long )(& descriptor___0) + 8;
 6310#line 365
 6311          *((char const   **)__cil_tmp129) = "NFTL_foldchain";
 6312#line 365
 6313          __cil_tmp130 = (unsigned long )(& descriptor___0) + 16;
 6314#line 365
 6315          *((char const   **)__cil_tmp130) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 6316#line 365
 6317          __cil_tmp131 = (unsigned long )(& descriptor___0) + 24;
 6318#line 365
 6319          *((char const   **)__cil_tmp131) = "Setting inplace to 0. VUC %d, block %d was %x lastEUN, and is in EUN %d (%s) %d\n";
 6320#line 365
 6321          __cil_tmp132 = (unsigned long )(& descriptor___0) + 32;
 6322#line 365
 6323          *((unsigned int *)__cil_tmp132) = 371U;
 6324#line 365
 6325          __cil_tmp133 = (unsigned long )(& descriptor___0) + 35;
 6326#line 365
 6327          *((unsigned char *)__cil_tmp133) = (unsigned char)0;
 6328#line 365
 6329          __cil_tmp134 = (unsigned long )(& descriptor___0) + 35;
 6330#line 365
 6331          __cil_tmp135 = *((unsigned char *)__cil_tmp134);
 6332#line 365
 6333          __cil_tmp136 = (long )__cil_tmp135;
 6334#line 365
 6335          __cil_tmp137 = __cil_tmp136 & 1L;
 6336#line 365
 6337          tmp___2 = __builtin_expect(__cil_tmp137, 0L);
 6338          }
 6339#line 365
 6340          if (tmp___2 != 0L) {
 6341            {
 6342#line 365
 6343            __cil_tmp138 = block * 2UL;
 6344#line 365
 6345            __cil_tmp139 = (unsigned long )(BlockMap) + __cil_tmp138;
 6346#line 365
 6347            __cil_tmp140 = *((u16 *)__cil_tmp139);
 6348#line 365
 6349            __cil_tmp141 = (unsigned int )__cil_tmp140;
 6350#line 365
 6351            if (__cil_tmp141 == targetEUN) {
 6352#line 365
 6353              tmp___1 = (char *)"==";
 6354            } else {
 6355#line 365
 6356              tmp___1 = (char *)"!=";
 6357            }
 6358            }
 6359            {
 6360#line 365
 6361            __cil_tmp142 = block * 1UL;
 6362#line 365
 6363            __cil_tmp143 = (unsigned long )(BlockLastState) + __cil_tmp142;
 6364#line 365
 6365            __cil_tmp144 = *((unsigned char *)__cil_tmp143);
 6366#line 365
 6367            __cil_tmp145 = (int )__cil_tmp144;
 6368#line 365
 6369            __cil_tmp146 = block * 2UL;
 6370#line 365
 6371            __cil_tmp147 = (unsigned long )(BlockMap) + __cil_tmp146;
 6372#line 365
 6373            __cil_tmp148 = *((u16 *)__cil_tmp147);
 6374#line 365
 6375            __cil_tmp149 = (int )__cil_tmp148;
 6376#line 365
 6377            __dynamic_pr_debug(& descriptor___0, "Setting inplace to 0. VUC %d, block %d was %x lastEUN, and is in EUN %d (%s) %d\n",
 6378                               thisVUC, block, __cil_tmp145, __cil_tmp149, tmp___1,
 6379                               targetEUN);
 6380            }
 6381          } else {
 6382
 6383          }
 6384#line 372
 6385          inplace = 0;
 6386#line 373
 6387          goto ldv_28774;
 6388        } else {
 6389
 6390        }
 6391        }
 6392      } else {
 6393
 6394      }
 6395      }
 6396    } else {
 6397
 6398    }
 6399    }
 6400#line 361
 6401    block = block + 1;
 6402    ldv_28776: ;
 6403    {
 6404#line 361
 6405    __cil_tmp150 = (unsigned long )nftl;
 6406#line 361
 6407    __cil_tmp151 = __cil_tmp150 + 356;
 6408#line 361
 6409    __cil_tmp152 = *((__u32 *)__cil_tmp151);
 6410#line 361
 6411    __cil_tmp153 = __cil_tmp152 / 512U;
 6412#line 361
 6413    __cil_tmp154 = (__u32 )block;
 6414#line 361
 6415    if (__cil_tmp154 < __cil_tmp153) {
 6416#line 362
 6417      goto ldv_28775;
 6418    } else {
 6419#line 364
 6420      goto ldv_28774;
 6421    }
 6422    }
 6423    ldv_28774: ;
 6424    {
 6425#line 377
 6426    __cil_tmp155 = (unsigned long )nftl;
 6427#line 377
 6428    __cil_tmp156 = __cil_tmp155 + 356;
 6429#line 377
 6430    __cil_tmp157 = *((__u32 *)__cil_tmp156);
 6431#line 377
 6432    __cil_tmp158 = __cil_tmp157 / 512U;
 6433#line 377
 6434    __cil_tmp159 = __cil_tmp158 * thisVUC;
 6435#line 377
 6436    if (__cil_tmp159 <= pendingblock) {
 6437      {
 6438#line 377
 6439      __cil_tmp160 = (unsigned long )nftl;
 6440#line 377
 6441      __cil_tmp161 = __cil_tmp160 + 356;
 6442#line 377
 6443      __cil_tmp162 = *((__u32 *)__cil_tmp161);
 6444#line 377
 6445      __cil_tmp163 = __cil_tmp162 / 512U;
 6446#line 377
 6447      __cil_tmp164 = thisVUC + 1U;
 6448#line 377
 6449      __cil_tmp165 = __cil_tmp164 * __cil_tmp163;
 6450#line 377
 6451      if (__cil_tmp165 > pendingblock) {
 6452        {
 6453#line 377
 6454        __cil_tmp166 = (unsigned long )nftl;
 6455#line 377
 6456        __cil_tmp167 = __cil_tmp166 + 356;
 6457#line 377
 6458        __cil_tmp168 = *((__u32 *)__cil_tmp167);
 6459#line 377
 6460        __cil_tmp169 = __cil_tmp168 / 512U;
 6461#line 377
 6462        __cil_tmp170 = __cil_tmp169 * thisVUC;
 6463#line 377
 6464        __cil_tmp171 = pendingblock - __cil_tmp170;
 6465#line 377
 6466        __cil_tmp172 = __cil_tmp171 * 1UL;
 6467#line 377
 6468        __cil_tmp173 = (unsigned long )(BlockLastState) + __cil_tmp172;
 6469#line 377
 6470        __cil_tmp174 = *((unsigned char *)__cil_tmp173);
 6471#line 377
 6472        __cil_tmp175 = (unsigned int )__cil_tmp174;
 6473#line 377
 6474        if (__cil_tmp175 != 255U) {
 6475          {
 6476#line 381
 6477          __cil_tmp176 = & descriptor___1;
 6478#line 381
 6479          *((char const   **)__cil_tmp176) = "nftl";
 6480#line 381
 6481          __cil_tmp177 = (unsigned long )(& descriptor___1) + 8;
 6482#line 381
 6483          *((char const   **)__cil_tmp177) = "NFTL_foldchain";
 6484#line 381
 6485          __cil_tmp178 = (unsigned long )(& descriptor___1) + 16;
 6486#line 381
 6487          *((char const   **)__cil_tmp178) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 6488#line 381
 6489          __cil_tmp179 = (unsigned long )(& descriptor___1) + 24;
 6490#line 381
 6491          *((char const   **)__cil_tmp179) = "Pending write not free in EUN %d. Folding out of place.\n";
 6492#line 381
 6493          __cil_tmp180 = (unsigned long )(& descriptor___1) + 32;
 6494#line 381
 6495          *((unsigned int *)__cil_tmp180) = 382U;
 6496#line 381
 6497          __cil_tmp181 = (unsigned long )(& descriptor___1) + 35;
 6498#line 381
 6499          *((unsigned char *)__cil_tmp181) = (unsigned char)0;
 6500#line 381
 6501          __cil_tmp182 = (unsigned long )(& descriptor___1) + 35;
 6502#line 381
 6503          __cil_tmp183 = *((unsigned char *)__cil_tmp182);
 6504#line 381
 6505          __cil_tmp184 = (long )__cil_tmp183;
 6506#line 381
 6507          __cil_tmp185 = __cil_tmp184 & 1L;
 6508#line 381
 6509          tmp___3 = __builtin_expect(__cil_tmp185, 0L);
 6510          }
 6511#line 381
 6512          if (tmp___3 != 0L) {
 6513            {
 6514#line 381
 6515            __dynamic_pr_debug(& descriptor___1, "Pending write not free in EUN %d. Folding out of place.\n",
 6516                               targetEUN);
 6517            }
 6518          } else {
 6519
 6520          }
 6521#line 383
 6522          inplace = 0;
 6523        } else {
 6524
 6525        }
 6526        }
 6527      } else {
 6528
 6529      }
 6530      }
 6531    } else {
 6532
 6533    }
 6534    }
 6535  } else {
 6536
 6537  }
 6538#line 387
 6539  if (inplace == 0) {
 6540    {
 6541#line 388
 6542    __cil_tmp186 = & descriptor___2;
 6543#line 388
 6544    *((char const   **)__cil_tmp186) = "nftl";
 6545#line 388
 6546    __cil_tmp187 = (unsigned long )(& descriptor___2) + 8;
 6547#line 388
 6548    *((char const   **)__cil_tmp187) = "NFTL_foldchain";
 6549#line 388
 6550    __cil_tmp188 = (unsigned long )(& descriptor___2) + 16;
 6551#line 388
 6552    *((char const   **)__cil_tmp188) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 6553#line 388
 6554    __cil_tmp189 = (unsigned long )(& descriptor___2) + 24;
 6555#line 388
 6556    *((char const   **)__cil_tmp189) = "Cannot fold Virtual Unit Chain %d in place. Trying out-of-place\n";
 6557#line 388
 6558    __cil_tmp190 = (unsigned long )(& descriptor___2) + 32;
 6559#line 388
 6560    *((unsigned int *)__cil_tmp190) = 389U;
 6561#line 388
 6562    __cil_tmp191 = (unsigned long )(& descriptor___2) + 35;
 6563#line 388
 6564    *((unsigned char *)__cil_tmp191) = (unsigned char)0;
 6565#line 388
 6566    __cil_tmp192 = (unsigned long )(& descriptor___2) + 35;
 6567#line 388
 6568    __cil_tmp193 = *((unsigned char *)__cil_tmp192);
 6569#line 388
 6570    __cil_tmp194 = (long )__cil_tmp193;
 6571#line 388
 6572    __cil_tmp195 = __cil_tmp194 & 1L;
 6573#line 388
 6574    tmp___4 = __builtin_expect(__cil_tmp195, 0L);
 6575    }
 6576#line 388
 6577    if (tmp___4 != 0L) {
 6578      {
 6579#line 388
 6580      __dynamic_pr_debug(& descriptor___2, "Cannot fold Virtual Unit Chain %d in place. Trying out-of-place\n",
 6581                         thisVUC);
 6582      }
 6583    } else {
 6584
 6585    }
 6586    {
 6587#line 391
 6588    tmp___5 = NFTL_findfreeblock(nftl, 1);
 6589#line 391
 6590    targetEUN = (unsigned int )tmp___5;
 6591    }
 6592#line 392
 6593    if (targetEUN == 65535U) {
 6594      {
 6595#line 399
 6596      printk("<4>NFTL_findfreeblock(desperate) returns 0xffff.\n");
 6597      }
 6598#line 401
 6599      return ((u16 )65535U);
 6600    } else {
 6601
 6602    }
 6603  } else {
 6604    {
 6605#line 408
 6606    __cil_tmp196 = 0 + 2;
 6607#line 408
 6608    __cil_tmp197 = 8 + __cil_tmp196;
 6609#line 408
 6610    __cil_tmp198 = (unsigned long )(& oob) + __cil_tmp197;
 6611#line 408
 6612    *((__u16 *)__cil_tmp198) = (__u16 )21845U;
 6613#line 408
 6614    __cil_tmp199 = (unsigned long )(& oob) + 8;
 6615#line 408
 6616    __cil_tmp200 = 0 + 2;
 6617#line 408
 6618    __cil_tmp201 = 8 + __cil_tmp200;
 6619#line 408
 6620    __cil_tmp202 = (unsigned long )(& oob) + __cil_tmp201;
 6621#line 408
 6622    *((__u16 *)__cil_tmp199) = *((__u16 *)__cil_tmp202);
 6623#line 409
 6624    __cil_tmp203 = 0 + 4;
 6625#line 409
 6626    __cil_tmp204 = 8 + __cil_tmp203;
 6627#line 409
 6628    __cil_tmp205 = (unsigned long )(& oob) + __cil_tmp204;
 6629#line 409
 6630    *((__u32 *)__cil_tmp205) = 4294967295U;
 6631#line 410
 6632    __cil_tmp206 = (unsigned long )nftl;
 6633#line 410
 6634    __cil_tmp207 = __cil_tmp206 + 356;
 6635#line 410
 6636    __cil_tmp208 = *((__u32 *)__cil_tmp207);
 6637#line 410
 6638    __cil_tmp209 = __cil_tmp208 * targetEUN;
 6639#line 410
 6640    __cil_tmp210 = __cil_tmp209 + 1032U;
 6641#line 410
 6642    __cil_tmp211 = (loff_t )__cil_tmp210;
 6643#line 410
 6644    __cil_tmp212 = (unsigned long )(& oob) + 8;
 6645#line 410
 6646    __cil_tmp213 = (union nftl_uci *)__cil_tmp212;
 6647#line 410
 6648    __cil_tmp214 = (uint8_t *)__cil_tmp213;
 6649#line 410
 6650    nftl_write_oob(mtd, __cil_tmp211, 8UL, & retlen, __cil_tmp214);
 6651    }
 6652  }
 6653  {
 6654#line 418
 6655  __cil_tmp215 = & descriptor___3;
 6656#line 418
 6657  *((char const   **)__cil_tmp215) = "nftl";
 6658#line 418
 6659  __cil_tmp216 = (unsigned long )(& descriptor___3) + 8;
 6660#line 418
 6661  *((char const   **)__cil_tmp216) = "NFTL_foldchain";
 6662#line 418
 6663  __cil_tmp217 = (unsigned long )(& descriptor___3) + 16;
 6664#line 418
 6665  *((char const   **)__cil_tmp217) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 6666#line 418
 6667  __cil_tmp218 = (unsigned long )(& descriptor___3) + 24;
 6668#line 418
 6669  *((char const   **)__cil_tmp218) = "Folding chain %d into unit %d\n";
 6670#line 418
 6671  __cil_tmp219 = (unsigned long )(& descriptor___3) + 32;
 6672#line 418
 6673  *((unsigned int *)__cil_tmp219) = 418U;
 6674#line 418
 6675  __cil_tmp220 = (unsigned long )(& descriptor___3) + 35;
 6676#line 418
 6677  *((unsigned char *)__cil_tmp220) = (unsigned char)0;
 6678#line 418
 6679  __cil_tmp221 = (unsigned long )(& descriptor___3) + 35;
 6680#line 418
 6681  __cil_tmp222 = *((unsigned char *)__cil_tmp221);
 6682#line 418
 6683  __cil_tmp223 = (long )__cil_tmp222;
 6684#line 418
 6685  __cil_tmp224 = __cil_tmp223 & 1L;
 6686#line 418
 6687  tmp___6 = __builtin_expect(__cil_tmp224, 0L);
 6688  }
 6689#line 418
 6690  if (tmp___6 != 0L) {
 6691    {
 6692#line 418
 6693    __dynamic_pr_debug(& descriptor___3, "Folding chain %d into unit %d\n", thisVUC,
 6694                       targetEUN);
 6695    }
 6696  } else {
 6697
 6698  }
 6699#line 419
 6700  block = 0;
 6701#line 419
 6702  goto ldv_28784;
 6703  ldv_28783: ;
 6704  {
 6705#line 424
 6706  __cil_tmp225 = block * 2UL;
 6707#line 424
 6708  __cil_tmp226 = (unsigned long )(BlockMap) + __cil_tmp225;
 6709#line 424
 6710  __cil_tmp227 = *((u16 *)__cil_tmp226);
 6711#line 424
 6712  __cil_tmp228 = (unsigned int )__cil_tmp227;
 6713#line 424
 6714  if (__cil_tmp228 == targetEUN) {
 6715#line 426
 6716    goto ldv_28782;
 6717  } else {
 6718    {
 6719#line 424
 6720    __cil_tmp229 = (unsigned int )block;
 6721#line 424
 6722    __cil_tmp230 = (unsigned long )nftl;
 6723#line 424
 6724    __cil_tmp231 = __cil_tmp230 + 356;
 6725#line 424
 6726    __cil_tmp232 = *((__u32 *)__cil_tmp231);
 6727#line 424
 6728    __cil_tmp233 = __cil_tmp232 / 512U;
 6729#line 424
 6730    __cil_tmp234 = __cil_tmp233 * thisVUC;
 6731#line 424
 6732    __cil_tmp235 = __cil_tmp234 + __cil_tmp229;
 6733#line 424
 6734    if (__cil_tmp235 == pendingblock) {
 6735#line 426
 6736      goto ldv_28782;
 6737    } else {
 6738
 6739    }
 6740    }
 6741  }
 6742  }
 6743  {
 6744#line 431
 6745  __cil_tmp236 = block * 2UL;
 6746#line 431
 6747  __cil_tmp237 = (unsigned long )(BlockMap) + __cil_tmp236;
 6748#line 431
 6749  __cil_tmp238 = *((u16 *)__cil_tmp237);
 6750#line 431
 6751  __cil_tmp239 = (unsigned int )__cil_tmp238;
 6752#line 431
 6753  if (__cil_tmp239 == 65535U) {
 6754#line 432
 6755    goto ldv_28782;
 6756  } else {
 6757
 6758  }
 6759  }
 6760  {
 6761#line 434
 6762  __cil_tmp240 = block * 512;
 6763#line 434
 6764  __cil_tmp241 = (__u32 )__cil_tmp240;
 6765#line 434
 6766  __cil_tmp242 = block * 2UL;
 6767#line 434
 6768  __cil_tmp243 = (unsigned long )(BlockMap) + __cil_tmp242;
 6769#line 434
 6770  __cil_tmp244 = *((u16 *)__cil_tmp243);
 6771#line 434
 6772  __cil_tmp245 = (__u32 )__cil_tmp244;
 6773#line 434
 6774  __cil_tmp246 = (unsigned long )nftl;
 6775#line 434
 6776  __cil_tmp247 = __cil_tmp246 + 356;
 6777#line 434
 6778  __cil_tmp248 = *((__u32 *)__cil_tmp247);
 6779#line 434
 6780  __cil_tmp249 = __cil_tmp248 * __cil_tmp245;
 6781#line 434
 6782  __cil_tmp250 = __cil_tmp249 + __cil_tmp241;
 6783#line 434
 6784  __cil_tmp251 = (loff_t )__cil_tmp250;
 6785#line 434
 6786  __cil_tmp252 = (u_char *)(& movebuf);
 6787#line 434
 6788  ret = mtd_read(mtd, __cil_tmp251, 512UL, & retlen, __cil_tmp252);
 6789  }
 6790#line 439
 6791  if (ret < 0) {
 6792    {
 6793#line 439
 6794    tmp___7 = mtd_is_bitflip(ret);
 6795    }
 6796#line 439
 6797    if (tmp___7 == 0) {
 6798      {
 6799#line 440
 6800      __cil_tmp253 = block * 512;
 6801#line 440
 6802      __cil_tmp254 = (__u32 )__cil_tmp253;
 6803#line 440
 6804      __cil_tmp255 = block * 2UL;
 6805#line 440
 6806      __cil_tmp256 = (unsigned long )(BlockMap) + __cil_tmp255;
 6807#line 440
 6808      __cil_tmp257 = *((u16 *)__cil_tmp256);
 6809#line 440
 6810      __cil_tmp258 = (__u32 )__cil_tmp257;
 6811#line 440
 6812      __cil_tmp259 = (unsigned long )nftl;
 6813#line 440
 6814      __cil_tmp260 = __cil_tmp259 + 356;
 6815#line 440
 6816      __cil_tmp261 = *((__u32 *)__cil_tmp260);
 6817#line 440
 6818      __cil_tmp262 = __cil_tmp261 * __cil_tmp258;
 6819#line 440
 6820      __cil_tmp263 = __cil_tmp262 + __cil_tmp254;
 6821#line 440
 6822      __cil_tmp264 = (loff_t )__cil_tmp263;
 6823#line 440
 6824      __cil_tmp265 = (u_char *)(& movebuf);
 6825#line 440
 6826      ret = mtd_read(mtd, __cil_tmp264, 512UL, & retlen, __cil_tmp265);
 6827      }
 6828#line 445
 6829      if (ret != -5) {
 6830        {
 6831#line 446
 6832        printk("Error went away on retry.\n");
 6833        }
 6834      } else {
 6835
 6836      }
 6837    } else {
 6838
 6839    }
 6840  } else {
 6841
 6842  }
 6843  {
 6844#line 448
 6845  __cil_tmp266 = (void *)(& oob);
 6846#line 448
 6847  memset(__cil_tmp266, 255, 16UL);
 6848#line 449
 6849  __cil_tmp267 = 0 + 7;
 6850#line 449
 6851  __cil_tmp268 = (unsigned long )(& oob) + __cil_tmp267;
 6852#line 449
 6853  *((__u8 *)__cil_tmp268) = (__u8 )85U;
 6854#line 449
 6855  __cil_tmp269 = 0 + 6;
 6856#line 449
 6857  __cil_tmp270 = (unsigned long )(& oob) + __cil_tmp269;
 6858#line 449
 6859  __cil_tmp271 = 0 + 7;
 6860#line 449
 6861  __cil_tmp272 = (unsigned long )(& oob) + __cil_tmp271;
 6862#line 449
 6863  *((__u8 *)__cil_tmp270) = *((__u8 *)__cil_tmp272);
 6864#line 451
 6865  __cil_tmp273 = 0 + 24;
 6866#line 451
 6867  __cil_tmp274 = (unsigned long )nftl;
 6868#line 451
 6869  __cil_tmp275 = __cil_tmp274 + __cil_tmp273;
 6870#line 451
 6871  __cil_tmp276 = *((struct mtd_info **)__cil_tmp275);
 6872#line 451
 6873  __cil_tmp277 = block * 512;
 6874#line 451
 6875  __cil_tmp278 = (__u32 )__cil_tmp277;
 6876#line 451
 6877  __cil_tmp279 = (unsigned long )nftl;
 6878#line 451
 6879  __cil_tmp280 = __cil_tmp279 + 356;
 6880#line 451
 6881  __cil_tmp281 = *((__u32 *)__cil_tmp280);
 6882#line 451
 6883  __cil_tmp282 = __cil_tmp281 * targetEUN;
 6884#line 451
 6885  __cil_tmp283 = __cil_tmp282 + __cil_tmp278;
 6886#line 451
 6887  __cil_tmp284 = (loff_t )__cil_tmp283;
 6888#line 451
 6889  __cil_tmp285 = (uint8_t *)(& movebuf);
 6890#line 451
 6891  __cil_tmp286 = (uint8_t *)(& oob);
 6892#line 451
 6893  nftl_write(__cil_tmp276, __cil_tmp284, 512UL, & retlen, __cil_tmp285, __cil_tmp286);
 6894  }
 6895  ldv_28782: 
 6896#line 419
 6897  block = block + 1;
 6898  ldv_28784: ;
 6899  {
 6900#line 419
 6901  __cil_tmp287 = (unsigned long )nftl;
 6902#line 419
 6903  __cil_tmp288 = __cil_tmp287 + 356;
 6904#line 419
 6905  __cil_tmp289 = *((__u32 *)__cil_tmp288);
 6906#line 419
 6907  __cil_tmp290 = __cil_tmp289 / 512U;
 6908#line 419
 6909  __cil_tmp291 = (__u32 )block;
 6910#line 419
 6911  if (__cil_tmp291 < __cil_tmp290) {
 6912#line 420
 6913    goto ldv_28783;
 6914  } else {
 6915#line 422
 6916    goto ldv_28785;
 6917  }
 6918  }
 6919  ldv_28785: 
 6920  {
 6921#line 456
 6922  __cil_tmp292 = 0 + 4;
 6923#line 456
 6924  __cil_tmp293 = 8 + __cil_tmp292;
 6925#line 456
 6926  __cil_tmp294 = (unsigned long )(& oob) + __cil_tmp293;
 6927#line 456
 6928  *((__u16 *)__cil_tmp294) = (unsigned short )thisVUC;
 6929#line 456
 6930  __cil_tmp295 = (unsigned long )(& oob) + 8;
 6931#line 456
 6932  __cil_tmp296 = 0 + 4;
 6933#line 456
 6934  __cil_tmp297 = 8 + __cil_tmp296;
 6935#line 456
 6936  __cil_tmp298 = (unsigned long )(& oob) + __cil_tmp297;
 6937#line 456
 6938  *((__u16 *)__cil_tmp295) = *((__u16 *)__cil_tmp298);
 6939#line 457
 6940  __cil_tmp299 = 0 + 6;
 6941#line 457
 6942  __cil_tmp300 = 8 + __cil_tmp299;
 6943#line 457
 6944  __cil_tmp301 = (unsigned long )(& oob) + __cil_tmp300;
 6945#line 457
 6946  *((__u16 *)__cil_tmp301) = (__u16 )65535U;
 6947#line 457
 6948  __cil_tmp302 = 0 + 2;
 6949#line 457
 6950  __cil_tmp303 = 8 + __cil_tmp302;
 6951#line 457
 6952  __cil_tmp304 = (unsigned long )(& oob) + __cil_tmp303;
 6953#line 457
 6954  __cil_tmp305 = 0 + 6;
 6955#line 457
 6956  __cil_tmp306 = 8 + __cil_tmp305;
 6957#line 457
 6958  __cil_tmp307 = (unsigned long )(& oob) + __cil_tmp306;
 6959#line 457
 6960  *((__u16 *)__cil_tmp304) = *((__u16 *)__cil_tmp307);
 6961#line 459
 6962  __cil_tmp308 = (unsigned long )nftl;
 6963#line 459
 6964  __cil_tmp309 = __cil_tmp308 + 356;
 6965#line 459
 6966  __cil_tmp310 = *((__u32 *)__cil_tmp309);
 6967#line 459
 6968  __cil_tmp311 = __cil_tmp310 * targetEUN;
 6969#line 459
 6970  __cil_tmp312 = __cil_tmp311 + 8U;
 6971#line 459
 6972  __cil_tmp313 = (loff_t )__cil_tmp312;
 6973#line 459
 6974  __cil_tmp314 = (unsigned long )(& oob) + 8;
 6975#line 459
 6976  __cil_tmp315 = (union nftl_uci *)__cil_tmp314;
 6977#line 459
 6978  __cil_tmp316 = (uint8_t *)__cil_tmp315;
 6979#line 459
 6980  nftl_write_oob(mtd, __cil_tmp313, 8UL, & retlen, __cil_tmp316);
 6981#line 469
 6982  __cil_tmp317 = (unsigned long )thisVUC;
 6983#line 469
 6984  __cil_tmp318 = (unsigned long )nftl;
 6985#line 469
 6986  __cil_tmp319 = __cil_tmp318 + 408;
 6987#line 469
 6988  __cil_tmp320 = *((__u16 **)__cil_tmp319);
 6989#line 469
 6990  __cil_tmp321 = __cil_tmp320 + __cil_tmp317;
 6991#line 469
 6992  __cil_tmp322 = *__cil_tmp321;
 6993#line 469
 6994  thisEUN = (unsigned int )__cil_tmp322;
 6995#line 470
 6996  __cil_tmp323 = & descriptor___4;
 6997#line 470
 6998  *((char const   **)__cil_tmp323) = "nftl";
 6999#line 470
 7000  __cil_tmp324 = (unsigned long )(& descriptor___4) + 8;
 7001#line 470
 7002  *((char const   **)__cil_tmp324) = "NFTL_foldchain";
 7003#line 470
 7004  __cil_tmp325 = (unsigned long )(& descriptor___4) + 16;
 7005#line 470
 7006  *((char const   **)__cil_tmp325) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 7007#line 470
 7008  __cil_tmp326 = (unsigned long )(& descriptor___4) + 24;
 7009#line 470
 7010  *((char const   **)__cil_tmp326) = "Want to erase\n";
 7011#line 470
 7012  __cil_tmp327 = (unsigned long )(& descriptor___4) + 32;
 7013#line 470
 7014  *((unsigned int *)__cil_tmp327) = 470U;
 7015#line 470
 7016  __cil_tmp328 = (unsigned long )(& descriptor___4) + 35;
 7017#line 470
 7018  *((unsigned char *)__cil_tmp328) = (unsigned char)0;
 7019#line 470
 7020  __cil_tmp329 = (unsigned long )(& descriptor___4) + 35;
 7021#line 470
 7022  __cil_tmp330 = *((unsigned char *)__cil_tmp329);
 7023#line 470
 7024  __cil_tmp331 = (long )__cil_tmp330;
 7025#line 470
 7026  __cil_tmp332 = __cil_tmp331 & 1L;
 7027#line 470
 7028  tmp___8 = __builtin_expect(__cil_tmp332, 0L);
 7029  }
 7030#line 470
 7031  if (tmp___8 != 0L) {
 7032    {
 7033#line 470
 7034    __dynamic_pr_debug(& descriptor___4, "Want to erase\n");
 7035    }
 7036  } else {
 7037
 7038  }
 7039#line 474
 7040  goto ldv_28789;
 7041  ldv_28788: 
 7042  {
 7043#line 477
 7044  __cil_tmp333 = (unsigned long )thisEUN;
 7045#line 477
 7046  __cil_tmp334 = (unsigned long )nftl;
 7047#line 477
 7048  __cil_tmp335 = __cil_tmp334 + 416;
 7049#line 477
 7050  __cil_tmp336 = *((__u16 **)__cil_tmp335);
 7051#line 477
 7052  __cil_tmp337 = __cil_tmp336 + __cil_tmp333;
 7053#line 477
 7054  __cil_tmp338 = *__cil_tmp337;
 7055#line 477
 7056  EUNtmp = (unsigned int )__cil_tmp338;
 7057#line 479
 7058  __cil_tmp339 = (int )thisEUN;
 7059#line 479
 7060  tmp___9 = NFTL_formatblock(nftl, __cil_tmp339);
 7061  }
 7062#line 479
 7063  if (tmp___9 < 0) {
 7064#line 482
 7065    __cil_tmp340 = (unsigned long )thisEUN;
 7066#line 482
 7067    __cil_tmp341 = (unsigned long )nftl;
 7068#line 482
 7069    __cil_tmp342 = __cil_tmp341 + 416;
 7070#line 482
 7071    __cil_tmp343 = *((__u16 **)__cil_tmp342);
 7072#line 482
 7073    __cil_tmp344 = __cil_tmp343 + __cil_tmp340;
 7074#line 482
 7075    *__cil_tmp344 = (__u16 )65532U;
 7076  } else {
 7077#line 485
 7078    __cil_tmp345 = (unsigned long )thisEUN;
 7079#line 485
 7080    __cil_tmp346 = (unsigned long )nftl;
 7081#line 485
 7082    __cil_tmp347 = __cil_tmp346 + 416;
 7083#line 485
 7084    __cil_tmp348 = *((__u16 **)__cil_tmp347);
 7085#line 485
 7086    __cil_tmp349 = __cil_tmp348 + __cil_tmp345;
 7087#line 485
 7088    *__cil_tmp349 = (__u16 )65534U;
 7089#line 486
 7090    __cil_tmp350 = (unsigned long )nftl;
 7091#line 486
 7092    __cil_tmp351 = __cil_tmp350 + 392;
 7093#line 486
 7094    __cil_tmp352 = (unsigned long )nftl;
 7095#line 486
 7096    __cil_tmp353 = __cil_tmp352 + 392;
 7097#line 486
 7098    __cil_tmp354 = *((__u16 *)__cil_tmp353);
 7099#line 486
 7100    __cil_tmp355 = (int )__cil_tmp354;
 7101#line 486
 7102    __cil_tmp356 = __cil_tmp355 + 1;
 7103#line 486
 7104    *((__u16 *)__cil_tmp351) = (__u16 )__cil_tmp356;
 7105  }
 7106#line 488
 7107  thisEUN = EUNtmp;
 7108  ldv_28789: ;
 7109  {
 7110#line 474
 7111  __cil_tmp357 = (unsigned long )nftl;
 7112#line 474
 7113  __cil_tmp358 = __cil_tmp357 + 390;
 7114#line 474
 7115  __cil_tmp359 = *((__u16 *)__cil_tmp358);
 7116#line 474
 7117  __cil_tmp360 = (unsigned int )__cil_tmp359;
 7118#line 474
 7119  if (__cil_tmp360 >= thisEUN) {
 7120#line 474
 7121    if (thisEUN != targetEUN) {
 7122#line 475
 7123      goto ldv_28788;
 7124    } else {
 7125#line 477
 7126      goto ldv_28790;
 7127    }
 7128  } else {
 7129#line 477
 7130    goto ldv_28790;
 7131  }
 7132  }
 7133  ldv_28790: 
 7134#line 492
 7135  __cil_tmp361 = (unsigned long )targetEUN;
 7136#line 492
 7137  __cil_tmp362 = (unsigned long )nftl;
 7138#line 492
 7139  __cil_tmp363 = __cil_tmp362 + 416;
 7140#line 492
 7141  __cil_tmp364 = *((__u16 **)__cil_tmp363);
 7142#line 492
 7143  __cil_tmp365 = __cil_tmp364 + __cil_tmp361;
 7144#line 492
 7145  *__cil_tmp365 = (__u16 )65535U;
 7146#line 493
 7147  __cil_tmp366 = (unsigned long )thisVUC;
 7148#line 493
 7149  __cil_tmp367 = (unsigned long )nftl;
 7150#line 493
 7151  __cil_tmp368 = __cil_tmp367 + 408;
 7152#line 493
 7153  __cil_tmp369 = *((__u16 **)__cil_tmp368);
 7154#line 493
 7155  __cil_tmp370 = __cil_tmp369 + __cil_tmp366;
 7156#line 493
 7157  *__cil_tmp370 = (__u16 )targetEUN;
 7158#line 495
 7159  return ((u16 )targetEUN);
 7160}
 7161}
 7162#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 7163static u16 NFTL_makefreeblock(struct NFTLrecord *nftl , unsigned int pendingblock ) 
 7164{ u16 LongestChain ;
 7165  u16 ChainLength ;
 7166  u16 thislen ;
 7167  u16 chain ;
 7168  u16 EUN ;
 7169  u16 tmp ;
 7170  unsigned long __cil_tmp9 ;
 7171  unsigned long __cil_tmp10 ;
 7172  unsigned long __cil_tmp11 ;
 7173  __u16 *__cil_tmp12 ;
 7174  __u16 *__cil_tmp13 ;
 7175  int __cil_tmp14 ;
 7176  int __cil_tmp15 ;
 7177  unsigned long __cil_tmp16 ;
 7178  unsigned long __cil_tmp17 ;
 7179  unsigned long __cil_tmp18 ;
 7180  __u16 *__cil_tmp19 ;
 7181  __u16 *__cil_tmp20 ;
 7182  __u16 __cil_tmp21 ;
 7183  unsigned int __cil_tmp22 ;
 7184  unsigned int __cil_tmp23 ;
 7185  unsigned int __cil_tmp24 ;
 7186  int __cil_tmp25 ;
 7187  int __cil_tmp26 ;
 7188  unsigned int __cil_tmp27 ;
 7189  int __cil_tmp28 ;
 7190  unsigned long __cil_tmp29 ;
 7191  unsigned long __cil_tmp30 ;
 7192  __u16 __cil_tmp31 ;
 7193  int __cil_tmp32 ;
 7194  int __cil_tmp33 ;
 7195  int __cil_tmp34 ;
 7196  int __cil_tmp35 ;
 7197  int __cil_tmp36 ;
 7198  unsigned long __cil_tmp37 ;
 7199  unsigned long __cil_tmp38 ;
 7200  __u32 __cil_tmp39 ;
 7201  unsigned long __cil_tmp40 ;
 7202  unsigned long __cil_tmp41 ;
 7203  unsigned long __cil_tmp42 ;
 7204  __u32 __cil_tmp43 ;
 7205  __u32 __cil_tmp44 ;
 7206  __u32 __cil_tmp45 ;
 7207  unsigned int __cil_tmp46 ;
 7208  unsigned int __cil_tmp47 ;
 7209
 7210  {
 7211#line 507
 7212  LongestChain = (u16 )0U;
 7213#line 508
 7214  ChainLength = (u16 )0U;
 7215#line 511
 7216  chain = (u16 )0U;
 7217#line 511
 7218  goto ldv_28804;
 7219  ldv_28803: 
 7220#line 512
 7221  __cil_tmp9 = (unsigned long )chain;
 7222#line 512
 7223  __cil_tmp10 = (unsigned long )nftl;
 7224#line 512
 7225  __cil_tmp11 = __cil_tmp10 + 408;
 7226#line 512
 7227  __cil_tmp12 = *((__u16 **)__cil_tmp11);
 7228#line 512
 7229  __cil_tmp13 = __cil_tmp12 + __cil_tmp9;
 7230#line 512
 7231  EUN = *__cil_tmp13;
 7232#line 513
 7233  thislen = (u16 )0U;
 7234#line 515
 7235  goto ldv_28802;
 7236  ldv_28801: 
 7237#line 516
 7238  __cil_tmp14 = (int )thislen;
 7239#line 516
 7240  __cil_tmp15 = __cil_tmp14 + 1;
 7241#line 516
 7242  thislen = (u16 )__cil_tmp15;
 7243#line 518
 7244  __cil_tmp16 = (unsigned long )EUN;
 7245#line 518
 7246  __cil_tmp17 = (unsigned long )nftl;
 7247#line 518
 7248  __cil_tmp18 = __cil_tmp17 + 416;
 7249#line 518
 7250  __cil_tmp19 = *((__u16 **)__cil_tmp18);
 7251#line 518
 7252  __cil_tmp20 = __cil_tmp19 + __cil_tmp16;
 7253#line 518
 7254  __cil_tmp21 = *__cil_tmp20;
 7255#line 518
 7256  __cil_tmp22 = (unsigned int )__cil_tmp21;
 7257#line 518
 7258  __cil_tmp23 = __cil_tmp22 & 32767U;
 7259#line 518
 7260  EUN = (u16 )__cil_tmp23;
 7261  {
 7262#line 519
 7263  __cil_tmp24 = (unsigned int )thislen;
 7264#line 519
 7265  if (__cil_tmp24 > 65280U) {
 7266    {
 7267#line 520
 7268    __cil_tmp25 = (int )chain;
 7269#line 520
 7270    __cil_tmp26 = (int )EUN;
 7271#line 520
 7272    printk("Endless loop in Virtual Chain %d: Unit %x\n", __cil_tmp25, __cil_tmp26);
 7273    }
 7274  } else {
 7275
 7276  }
 7277  }
 7278  {
 7279#line 523
 7280  __cil_tmp27 = (unsigned int )thislen;
 7281#line 523
 7282  if (__cil_tmp27 > 65296U) {
 7283#line 526
 7284    thislen = (u16 )0U;
 7285#line 527
 7286    goto ldv_28800;
 7287  } else {
 7288
 7289  }
 7290  }
 7291  ldv_28802: ;
 7292  {
 7293#line 515
 7294  __cil_tmp28 = (int )EUN;
 7295#line 515
 7296  __cil_tmp29 = (unsigned long )nftl;
 7297#line 515
 7298  __cil_tmp30 = __cil_tmp29 + 390;
 7299#line 515
 7300  __cil_tmp31 = *((__u16 *)__cil_tmp30);
 7301#line 515
 7302  __cil_tmp32 = (int )__cil_tmp31;
 7303#line 515
 7304  if (__cil_tmp32 >= __cil_tmp28) {
 7305#line 516
 7306    goto ldv_28801;
 7307  } else {
 7308#line 518
 7309    goto ldv_28800;
 7310  }
 7311  }
 7312  ldv_28800: ;
 7313  {
 7314#line 531
 7315  __cil_tmp33 = (int )ChainLength;
 7316#line 531
 7317  __cil_tmp34 = (int )thislen;
 7318#line 531
 7319  if (__cil_tmp34 > __cil_tmp33) {
 7320#line 533
 7321    ChainLength = thislen;
 7322#line 534
 7323    LongestChain = chain;
 7324  } else {
 7325
 7326  }
 7327  }
 7328#line 511
 7329  __cil_tmp35 = (int )chain;
 7330#line 511
 7331  __cil_tmp36 = __cil_tmp35 + 1;
 7332#line 511
 7333  chain = (u16 )__cil_tmp36;
 7334  ldv_28804: ;
 7335  {
 7336#line 511
 7337  __cil_tmp37 = (unsigned long )nftl;
 7338#line 511
 7339  __cil_tmp38 = __cil_tmp37 + 356;
 7340#line 511
 7341  __cil_tmp39 = *((__u32 *)__cil_tmp38);
 7342#line 511
 7343  __cil_tmp40 = 360 + 12;
 7344#line 511
 7345  __cil_tmp41 = (unsigned long )nftl;
 7346#line 511
 7347  __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
 7348#line 511
 7349  __cil_tmp43 = *((__u32 *)__cil_tmp42);
 7350#line 511
 7351  __cil_tmp44 = __cil_tmp43 / __cil_tmp39;
 7352#line 511
 7353  __cil_tmp45 = (__u32 )chain;
 7354#line 511
 7355  if (__cil_tmp45 < __cil_tmp44) {
 7356#line 512
 7357    goto ldv_28803;
 7358  } else {
 7359#line 514
 7360    goto ldv_28805;
 7361  }
 7362  }
 7363  ldv_28805: ;
 7364  {
 7365#line 538
 7366  __cil_tmp46 = (unsigned int )ChainLength;
 7367#line 538
 7368  if (__cil_tmp46 <= 1U) {
 7369    {
 7370#line 539
 7371    printk("<4>No Virtual Unit Chains available for folding. Failing request\n");
 7372    }
 7373#line 541
 7374    return ((u16 )65535U);
 7375  } else {
 7376
 7377  }
 7378  }
 7379  {
 7380#line 544
 7381  __cil_tmp47 = (unsigned int )LongestChain;
 7382#line 544
 7383  tmp = NFTL_foldchain(nftl, __cil_tmp47, pendingblock);
 7384  }
 7385#line 544
 7386  return (tmp);
 7387}
 7388}
 7389#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 7390__inline static u16 NFTL_findwriteunit(struct NFTLrecord *nftl , unsigned int block ) 
 7391{ u16 lastEUN ;
 7392  u16 thisVUC ;
 7393  struct mtd_info *mtd ;
 7394  unsigned int writeEUN ;
 7395  unsigned long blockofs ;
 7396  size_t retlen ;
 7397  int silly ;
 7398  int silly2 ;
 7399  struct nftl_oob oob ;
 7400  struct nftl_bci bci ;
 7401  size_t retlen___0 ;
 7402  unsigned int status ;
 7403  struct _ddebug descriptor ;
 7404  long tmp ;
 7405  int tmp___0 ;
 7406  u16 tmp___1 ;
 7407  u16 tmp___2 ;
 7408  struct _ddebug descriptor___0 ;
 7409  long tmp___3 ;
 7410  u16 tmp___4 ;
 7411  int tmp___5 ;
 7412  unsigned long __cil_tmp24 ;
 7413  unsigned long __cil_tmp25 ;
 7414  __u32 __cil_tmp26 ;
 7415  __u32 __cil_tmp27 ;
 7416  unsigned int __cil_tmp28 ;
 7417  unsigned long __cil_tmp29 ;
 7418  unsigned long __cil_tmp30 ;
 7419  unsigned long __cil_tmp31 ;
 7420  unsigned long __cil_tmp32 ;
 7421  unsigned long __cil_tmp33 ;
 7422  __u32 __cil_tmp34 ;
 7423  __u32 __cil_tmp35 ;
 7424  unsigned int __cil_tmp36 ;
 7425  unsigned int __cil_tmp37 ;
 7426  unsigned long __cil_tmp38 ;
 7427  unsigned long __cil_tmp39 ;
 7428  unsigned long __cil_tmp40 ;
 7429  __u16 *__cil_tmp41 ;
 7430  __u16 *__cil_tmp42 ;
 7431  __u16 __cil_tmp43 ;
 7432  unsigned long __cil_tmp44 ;
 7433  unsigned long __cil_tmp45 ;
 7434  __u32 __cil_tmp46 ;
 7435  unsigned int __cil_tmp47 ;
 7436  unsigned long __cil_tmp48 ;
 7437  unsigned long __cil_tmp49 ;
 7438  loff_t __cil_tmp50 ;
 7439  uint8_t *__cil_tmp51 ;
 7440  struct _ddebug *__cil_tmp52 ;
 7441  unsigned long __cil_tmp53 ;
 7442  unsigned long __cil_tmp54 ;
 7443  unsigned long __cil_tmp55 ;
 7444  unsigned long __cil_tmp56 ;
 7445  unsigned long __cil_tmp57 ;
 7446  unsigned long __cil_tmp58 ;
 7447  unsigned char __cil_tmp59 ;
 7448  long __cil_tmp60 ;
 7449  long __cil_tmp61 ;
 7450  unsigned long __cil_tmp62 ;
 7451  __u8 __cil_tmp63 ;
 7452  int __cil_tmp64 ;
 7453  unsigned long __cil_tmp65 ;
 7454  __u8 __cil_tmp66 ;
 7455  int __cil_tmp67 ;
 7456  unsigned long __cil_tmp68 ;
 7457  __u8 __cil_tmp69 ;
 7458  int __cil_tmp70 ;
 7459  int __cil_tmp71 ;
 7460  int __cil_tmp72 ;
 7461  unsigned long __cil_tmp73 ;
 7462  unsigned long __cil_tmp74 ;
 7463  unsigned long __cil_tmp75 ;
 7464  __u16 *__cil_tmp76 ;
 7465  __u16 *__cil_tmp77 ;
 7466  __u16 __cil_tmp78 ;
 7467  unsigned long __cil_tmp79 ;
 7468  unsigned long __cil_tmp80 ;
 7469  __u16 __cil_tmp81 ;
 7470  unsigned int __cil_tmp82 ;
 7471  struct _ddebug *__cil_tmp83 ;
 7472  unsigned long __cil_tmp84 ;
 7473  unsigned long __cil_tmp85 ;
 7474  unsigned long __cil_tmp86 ;
 7475  unsigned long __cil_tmp87 ;
 7476  unsigned long __cil_tmp88 ;
 7477  unsigned long __cil_tmp89 ;
 7478  unsigned char __cil_tmp90 ;
 7479  long __cil_tmp91 ;
 7480  long __cil_tmp92 ;
 7481  int __cil_tmp93 ;
 7482  unsigned int __cil_tmp94 ;
 7483  unsigned int __cil_tmp95 ;
 7484  unsigned int __cil_tmp96 ;
 7485  unsigned long __cil_tmp97 ;
 7486  unsigned long __cil_tmp98 ;
 7487  unsigned long __cil_tmp99 ;
 7488  __u16 *__cil_tmp100 ;
 7489  __u16 *__cil_tmp101 ;
 7490  unsigned long __cil_tmp102 ;
 7491  unsigned long __cil_tmp103 ;
 7492  unsigned long __cil_tmp104 ;
 7493  __u16 *__cil_tmp105 ;
 7494  __u16 *__cil_tmp106 ;
 7495  unsigned long __cil_tmp107 ;
 7496  unsigned long __cil_tmp108 ;
 7497  __u32 __cil_tmp109 ;
 7498  unsigned int __cil_tmp110 ;
 7499  unsigned int __cil_tmp111 ;
 7500  loff_t __cil_tmp112 ;
 7501  unsigned long __cil_tmp113 ;
 7502  union nftl_uci *__cil_tmp114 ;
 7503  uint8_t *__cil_tmp115 ;
 7504  unsigned long __cil_tmp116 ;
 7505  unsigned long __cil_tmp117 ;
 7506  unsigned long __cil_tmp118 ;
 7507  unsigned long __cil_tmp119 ;
 7508  unsigned long __cil_tmp120 ;
 7509  unsigned long __cil_tmp121 ;
 7510  unsigned long __cil_tmp122 ;
 7511  unsigned long __cil_tmp123 ;
 7512  unsigned long __cil_tmp124 ;
 7513  __u32 __cil_tmp125 ;
 7514  unsigned int __cil_tmp126 ;
 7515  unsigned int __cil_tmp127 ;
 7516  loff_t __cil_tmp128 ;
 7517  unsigned long __cil_tmp129 ;
 7518  union nftl_uci *__cil_tmp130 ;
 7519  uint8_t *__cil_tmp131 ;
 7520  unsigned int __cil_tmp132 ;
 7521  unsigned long __cil_tmp133 ;
 7522  unsigned long __cil_tmp134 ;
 7523  unsigned long __cil_tmp135 ;
 7524  __u16 *__cil_tmp136 ;
 7525  __u16 *__cil_tmp137 ;
 7526  unsigned long __cil_tmp138 ;
 7527  unsigned long __cil_tmp139 ;
 7528  __u32 __cil_tmp140 ;
 7529  __u32 __cil_tmp141 ;
 7530  __u32 __cil_tmp142 ;
 7531  __u32 __cil_tmp143 ;
 7532  loff_t __cil_tmp144 ;
 7533  unsigned long __cil_tmp145 ;
 7534  union nftl_uci *__cil_tmp146 ;
 7535  uint8_t *__cil_tmp147 ;
 7536  unsigned long __cil_tmp148 ;
 7537  unsigned long __cil_tmp149 ;
 7538  unsigned long __cil_tmp150 ;
 7539  unsigned long __cil_tmp151 ;
 7540  unsigned long __cil_tmp152 ;
 7541  unsigned long __cil_tmp153 ;
 7542  unsigned long __cil_tmp154 ;
 7543  unsigned long __cil_tmp155 ;
 7544  unsigned long __cil_tmp156 ;
 7545  unsigned long __cil_tmp157 ;
 7546  unsigned long __cil_tmp158 ;
 7547  __u32 __cil_tmp159 ;
 7548  __u32 __cil_tmp160 ;
 7549  __u32 __cil_tmp161 ;
 7550  __u32 __cil_tmp162 ;
 7551  loff_t __cil_tmp163 ;
 7552  unsigned long __cil_tmp164 ;
 7553  union nftl_uci *__cil_tmp165 ;
 7554  uint8_t *__cil_tmp166 ;
 7555  int __cil_tmp167 ;
 7556
 7557  {
 7558#line 553
 7559  __cil_tmp24 = (unsigned long )nftl;
 7560#line 553
 7561  __cil_tmp25 = __cil_tmp24 + 356;
 7562#line 553
 7563  __cil_tmp26 = *((__u32 *)__cil_tmp25);
 7564#line 553
 7565  __cil_tmp27 = __cil_tmp26 / 512U;
 7566#line 553
 7567  __cil_tmp28 = block / __cil_tmp27;
 7568#line 553
 7569  thisVUC = (u16 )__cil_tmp28;
 7570#line 554
 7571  __cil_tmp29 = 0 + 24;
 7572#line 554
 7573  __cil_tmp30 = (unsigned long )nftl;
 7574#line 554
 7575  __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
 7576#line 554
 7577  mtd = *((struct mtd_info **)__cil_tmp31);
 7578#line 556
 7579  __cil_tmp32 = (unsigned long )nftl;
 7580#line 556
 7581  __cil_tmp33 = __cil_tmp32 + 356;
 7582#line 556
 7583  __cil_tmp34 = *((__u32 *)__cil_tmp33);
 7584#line 556
 7585  __cil_tmp35 = __cil_tmp34 - 1U;
 7586#line 556
 7587  __cil_tmp36 = block * 512U;
 7588#line 556
 7589  __cil_tmp37 = __cil_tmp36 & __cil_tmp35;
 7590#line 556
 7591  blockofs = (unsigned long )__cil_tmp37;
 7592#line 558
 7593  silly2 = 3;
 7594  ldv_28835: 
 7595#line 569
 7596  lastEUN = (u16 )65535U;
 7597#line 570
 7598  __cil_tmp38 = (unsigned long )thisVUC;
 7599#line 570
 7600  __cil_tmp39 = (unsigned long )nftl;
 7601#line 570
 7602  __cil_tmp40 = __cil_tmp39 + 408;
 7603#line 570
 7604  __cil_tmp41 = *((__u16 **)__cil_tmp40);
 7605#line 570
 7606  __cil_tmp42 = __cil_tmp41 + __cil_tmp38;
 7607#line 570
 7608  __cil_tmp43 = *__cil_tmp42;
 7609#line 570
 7610  writeEUN = (unsigned int )__cil_tmp43;
 7611#line 571
 7612  silly = 10000;
 7613#line 572
 7614  goto ldv_28831;
 7615  ldv_28830: 
 7616  {
 7617#line 577
 7618  lastEUN = (u16 )writeEUN;
 7619#line 579
 7620  __cil_tmp44 = (unsigned long )nftl;
 7621#line 579
 7622  __cil_tmp45 = __cil_tmp44 + 356;
 7623#line 579
 7624  __cil_tmp46 = *((__u32 *)__cil_tmp45);
 7625#line 579
 7626  __cil_tmp47 = __cil_tmp46 * writeEUN;
 7627#line 579
 7628  __cil_tmp48 = (unsigned long )__cil_tmp47;
 7629#line 579
 7630  __cil_tmp49 = __cil_tmp48 + blockofs;
 7631#line 579
 7632  __cil_tmp50 = (loff_t )__cil_tmp49;
 7633#line 579
 7634  __cil_tmp51 = (uint8_t *)(& bci);
 7635#line 579
 7636  nftl_read_oob(mtd, __cil_tmp50, 8UL, & retlen___0, __cil_tmp51);
 7637#line 583
 7638  __cil_tmp52 = & descriptor;
 7639#line 583
 7640  *((char const   **)__cil_tmp52) = "nftl";
 7641#line 583
 7642  __cil_tmp53 = (unsigned long )(& descriptor) + 8;
 7643#line 583
 7644  *((char const   **)__cil_tmp53) = "NFTL_findwriteunit";
 7645#line 583
 7646  __cil_tmp54 = (unsigned long )(& descriptor) + 16;
 7647#line 583
 7648  *((char const   **)__cil_tmp54) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 7649#line 583
 7650  __cil_tmp55 = (unsigned long )(& descriptor) + 24;
 7651#line 583
 7652  *((char const   **)__cil_tmp55) = "Status of block %d in EUN %d is %x\n";
 7653#line 583
 7654  __cil_tmp56 = (unsigned long )(& descriptor) + 32;
 7655#line 583
 7656  *((unsigned int *)__cil_tmp56) = 584U;
 7657#line 583
 7658  __cil_tmp57 = (unsigned long )(& descriptor) + 35;
 7659#line 583
 7660  *((unsigned char *)__cil_tmp57) = (unsigned char)0;
 7661#line 583
 7662  __cil_tmp58 = (unsigned long )(& descriptor) + 35;
 7663#line 583
 7664  __cil_tmp59 = *((unsigned char *)__cil_tmp58);
 7665#line 583
 7666  __cil_tmp60 = (long )__cil_tmp59;
 7667#line 583
 7668  __cil_tmp61 = __cil_tmp60 & 1L;
 7669#line 583
 7670  tmp = __builtin_expect(__cil_tmp61, 0L);
 7671  }
 7672#line 583
 7673  if (tmp != 0L) {
 7674    {
 7675#line 583
 7676    __cil_tmp62 = (unsigned long )(& bci) + 6;
 7677#line 583
 7678    __cil_tmp63 = *((__u8 *)__cil_tmp62);
 7679#line 583
 7680    __cil_tmp64 = (int )__cil_tmp63;
 7681#line 583
 7682    __dynamic_pr_debug(& descriptor, "Status of block %d in EUN %d is %x\n", block,
 7683                       writeEUN, __cil_tmp64);
 7684    }
 7685  } else {
 7686
 7687  }
 7688#line 586
 7689  __cil_tmp65 = (unsigned long )(& bci) + 7;
 7690#line 586
 7691  __cil_tmp66 = *((__u8 *)__cil_tmp65);
 7692#line 586
 7693  __cil_tmp67 = (int )__cil_tmp66;
 7694#line 586
 7695  __cil_tmp68 = (unsigned long )(& bci) + 6;
 7696#line 586
 7697  __cil_tmp69 = *((__u8 *)__cil_tmp68);
 7698#line 586
 7699  __cil_tmp70 = (int )__cil_tmp69;
 7700#line 586
 7701  __cil_tmp71 = __cil_tmp70 | __cil_tmp67;
 7702#line 586
 7703  status = (unsigned int )__cil_tmp71;
 7704#line 588
 7705  if ((int )status == 255) {
 7706#line 588
 7707    goto case_255;
 7708  } else
 7709#line 591
 7710  if ((int )status == 0) {
 7711#line 591
 7712    goto case_0;
 7713  } else
 7714#line 592
 7715  if ((int )status == 85) {
 7716#line 592
 7717    goto case_85;
 7718  } else
 7719#line 593
 7720  if ((int )status == 17) {
 7721#line 593
 7722    goto case_17;
 7723  } else {
 7724    {
 7725#line 595
 7726    goto switch_default;
 7727#line 587
 7728    if (0) {
 7729      case_255: /* CIL Label */ ;
 7730#line 589
 7731      return ((u16 )writeEUN);
 7732      case_0: /* CIL Label */ ;
 7733      case_85: /* CIL Label */ ;
 7734      case_17: /* CIL Label */ ;
 7735#line 594
 7736      goto ldv_28828;
 7737      switch_default: /* CIL Label */ ;
 7738#line 597
 7739      goto ldv_28828;
 7740    } else {
 7741      switch_break: /* CIL Label */ ;
 7742    }
 7743    }
 7744  }
 7745  ldv_28828: 
 7746#line 600
 7747  tmp___0 = silly;
 7748#line 600
 7749  silly = silly - 1;
 7750#line 600
 7751  if (tmp___0 == 0) {
 7752    {
 7753#line 601
 7754    __cil_tmp72 = (int )thisVUC;
 7755#line 601
 7756    printk("<4>Infinite loop in Virtual Unit Chain 0x%x\n", __cil_tmp72);
 7757    }
 7758#line 604
 7759    return ((u16 )65535U);
 7760  } else {
 7761
 7762  }
 7763#line 608
 7764  __cil_tmp73 = (unsigned long )writeEUN;
 7765#line 608
 7766  __cil_tmp74 = (unsigned long )nftl;
 7767#line 608
 7768  __cil_tmp75 = __cil_tmp74 + 416;
 7769#line 608
 7770  __cil_tmp76 = *((__u16 **)__cil_tmp75);
 7771#line 608
 7772  __cil_tmp77 = __cil_tmp76 + __cil_tmp73;
 7773#line 608
 7774  __cil_tmp78 = *__cil_tmp77;
 7775#line 608
 7776  writeEUN = (unsigned int )__cil_tmp78;
 7777  ldv_28831: ;
 7778  {
 7779#line 572
 7780  __cil_tmp79 = (unsigned long )nftl;
 7781#line 572
 7782  __cil_tmp80 = __cil_tmp79 + 390;
 7783#line 572
 7784  __cil_tmp81 = *((__u16 *)__cil_tmp80);
 7785#line 572
 7786  __cil_tmp82 = (unsigned int )__cil_tmp81;
 7787#line 572
 7788  if (__cil_tmp82 >= writeEUN) {
 7789#line 573
 7790    goto ldv_28830;
 7791  } else {
 7792#line 575
 7793    goto ldv_28832;
 7794  }
 7795  }
 7796  ldv_28832: 
 7797  {
 7798#line 615
 7799  tmp___1 = NFTL_findfreeblock(nftl, 0);
 7800#line 615
 7801  writeEUN = (unsigned int )tmp___1;
 7802  }
 7803#line 617
 7804  if (writeEUN == 65535U) {
 7805    {
 7806#line 627
 7807    tmp___2 = NFTL_makefreeblock(nftl, 65535U);
 7808#line 627
 7809    writeEUN = (unsigned int )tmp___2;
 7810    }
 7811#line 629
 7812    if (writeEUN == 65535U) {
 7813      {
 7814#line 636
 7815      __cil_tmp83 = & descriptor___0;
 7816#line 636
 7817      *((char const   **)__cil_tmp83) = "nftl";
 7818#line 636
 7819      __cil_tmp84 = (unsigned long )(& descriptor___0) + 8;
 7820#line 636
 7821      *((char const   **)__cil_tmp84) = "NFTL_findwriteunit";
 7822#line 636
 7823      __cil_tmp85 = (unsigned long )(& descriptor___0) + 16;
 7824#line 636
 7825      *((char const   **)__cil_tmp85) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p";
 7826#line 636
 7827      __cil_tmp86 = (unsigned long )(& descriptor___0) + 24;
 7828#line 636
 7829      *((char const   **)__cil_tmp86) = "Using desperate==1 to find free EUN to accommodate write to VUC %d\n";
 7830#line 636
 7831      __cil_tmp87 = (unsigned long )(& descriptor___0) + 32;
 7832#line 636
 7833      *((unsigned int *)__cil_tmp87) = 636U;
 7834#line 636
 7835      __cil_tmp88 = (unsigned long )(& descriptor___0) + 35;
 7836#line 636
 7837      *((unsigned char *)__cil_tmp88) = (unsigned char)0;
 7838#line 636
 7839      __cil_tmp89 = (unsigned long )(& descriptor___0) + 35;
 7840#line 636
 7841      __cil_tmp90 = *((unsigned char *)__cil_tmp89);
 7842#line 636
 7843      __cil_tmp91 = (long )__cil_tmp90;
 7844#line 636
 7845      __cil_tmp92 = __cil_tmp91 & 1L;
 7846#line 636
 7847      tmp___3 = __builtin_expect(__cil_tmp92, 0L);
 7848      }
 7849#line 636
 7850      if (tmp___3 != 0L) {
 7851        {
 7852#line 636
 7853        __cil_tmp93 = (int )thisVUC;
 7854#line 636
 7855        __dynamic_pr_debug(& descriptor___0, "Using desperate==1 to find free EUN to accommodate write to VUC %d\n",
 7856                           __cil_tmp93);
 7857        }
 7858      } else {
 7859
 7860      }
 7861      {
 7862#line 637
 7863      tmp___4 = NFTL_findfreeblock(nftl, 1);
 7864#line 637
 7865      writeEUN = (unsigned int )tmp___4;
 7866      }
 7867    } else {
 7868
 7869    }
 7870#line 639
 7871    if (writeEUN == 65535U) {
 7872      {
 7873#line 646
 7874      printk("<4>Cannot make free space.\n");
 7875      }
 7876#line 647
 7877      return ((u16 )65535U);
 7878    } else {
 7879
 7880    }
 7881#line 650
 7882    lastEUN = (u16 )65535U;
 7883#line 651
 7884    goto ldv_28834;
 7885  } else {
 7886
 7887  }
 7888  {
 7889#line 656
 7890  __cil_tmp94 = (unsigned int )lastEUN;
 7891#line 656
 7892  if (__cil_tmp94 != 65535U) {
 7893#line 657
 7894    __cil_tmp95 = (unsigned int )thisVUC;
 7895#line 657
 7896    __cil_tmp96 = __cil_tmp95 | 32768U;
 7897#line 657
 7898    thisVUC = (u16 )__cil_tmp96;
 7899  } else {
 7900#line 660
 7901    __cil_tmp97 = (unsigned long )thisVUC;
 7902#line 660
 7903    __cil_tmp98 = (unsigned long )nftl;
 7904#line 660
 7905    __cil_tmp99 = __cil_tmp98 + 408;
 7906#line 660
 7907    __cil_tmp100 = *((__u16 **)__cil_tmp99);
 7908#line 660
 7909    __cil_tmp101 = __cil_tmp100 + __cil_tmp97;
 7910#line 660
 7911    *__cil_tmp101 = (__u16 )writeEUN;
 7912  }
 7913  }
 7914  {
 7915#line 665
 7916  __cil_tmp102 = (unsigned long )writeEUN;
 7917#line 665
 7918  __cil_tmp103 = (unsigned long )nftl;
 7919#line 665
 7920  __cil_tmp104 = __cil_tmp103 + 416;
 7921#line 665
 7922  __cil_tmp105 = *((__u16 **)__cil_tmp104);
 7923#line 665
 7924  __cil_tmp106 = __cil_tmp105 + __cil_tmp102;
 7925#line 665
 7926  *__cil_tmp106 = (__u16 )65535U;
 7927#line 668
 7928  __cil_tmp107 = (unsigned long )nftl;
 7929#line 668
 7930  __cil_tmp108 = __cil_tmp107 + 356;
 7931#line 668
 7932  __cil_tmp109 = *((__u32 *)__cil_tmp108);
 7933#line 668
 7934  __cil_tmp110 = __cil_tmp109 * writeEUN;
 7935#line 668
 7936  __cil_tmp111 = __cil_tmp110 + 8U;
 7937#line 668
 7938  __cil_tmp112 = (loff_t )__cil_tmp111;
 7939#line 668
 7940  __cil_tmp113 = (unsigned long )(& oob) + 8;
 7941#line 668
 7942  __cil_tmp114 = (union nftl_uci *)__cil_tmp113;
 7943#line 668
 7944  __cil_tmp115 = (uint8_t *)__cil_tmp114;
 7945#line 668
 7946  nftl_read_oob(mtd, __cil_tmp112, 8UL, & retlen, __cil_tmp115);
 7947#line 671
 7948  __cil_tmp116 = 0 + 4;
 7949#line 671
 7950  __cil_tmp117 = 8 + __cil_tmp116;
 7951#line 671
 7952  __cil_tmp118 = (unsigned long )(& oob) + __cil_tmp117;
 7953#line 671
 7954  *((__u16 *)__cil_tmp118) = thisVUC;
 7955#line 671
 7956  __cil_tmp119 = (unsigned long )(& oob) + 8;
 7957#line 671
 7958  __cil_tmp120 = 0 + 4;
 7959#line 671
 7960  __cil_tmp121 = 8 + __cil_tmp120;
 7961#line 671
 7962  __cil_tmp122 = (unsigned long )(& oob) + __cil_tmp121;
 7963#line 671
 7964  *((__u16 *)__cil_tmp119) = *((__u16 *)__cil_tmp122);
 7965#line 673
 7966  __cil_tmp123 = (unsigned long )nftl;
 7967#line 673
 7968  __cil_tmp124 = __cil_tmp123 + 356;
 7969#line 673
 7970  __cil_tmp125 = *((__u32 *)__cil_tmp124);
 7971#line 673
 7972  __cil_tmp126 = __cil_tmp125 * writeEUN;
 7973#line 673
 7974  __cil_tmp127 = __cil_tmp126 + 8U;
 7975#line 673
 7976  __cil_tmp128 = (loff_t )__cil_tmp127;
 7977#line 673
 7978  __cil_tmp129 = (unsigned long )(& oob) + 8;
 7979#line 673
 7980  __cil_tmp130 = (union nftl_uci *)__cil_tmp129;
 7981#line 673
 7982  __cil_tmp131 = (uint8_t *)__cil_tmp130;
 7983#line 673
 7984  nftl_write_oob(mtd, __cil_tmp128, 8UL, & retlen, __cil_tmp131);
 7985  }
 7986  {
 7987#line 679
 7988  __cil_tmp132 = (unsigned int )lastEUN;
 7989#line 679
 7990  if (__cil_tmp132 != 65535U) {
 7991    {
 7992#line 681
 7993    __cil_tmp133 = (unsigned long )lastEUN;
 7994#line 681
 7995    __cil_tmp134 = (unsigned long )nftl;
 7996#line 681
 7997    __cil_tmp135 = __cil_tmp134 + 416;
 7998#line 681
 7999    __cil_tmp136 = *((__u16 **)__cil_tmp135);
 8000#line 681
 8001    __cil_tmp137 = __cil_tmp136 + __cil_tmp133;
 8002#line 681
 8003    *__cil_tmp137 = (__u16 )writeEUN;
 8004#line 683
 8005    __cil_tmp138 = (unsigned long )nftl;
 8006#line 683
 8007    __cil_tmp139 = __cil_tmp138 + 356;
 8008#line 683
 8009    __cil_tmp140 = *((__u32 *)__cil_tmp139);
 8010#line 683
 8011    __cil_tmp141 = (__u32 )lastEUN;
 8012#line 683
 8013    __cil_tmp142 = __cil_tmp141 * __cil_tmp140;
 8014#line 683
 8015    __cil_tmp143 = __cil_tmp142 + 8U;
 8016#line 683
 8017    __cil_tmp144 = (loff_t )__cil_tmp143;
 8018#line 683
 8019    __cil_tmp145 = (unsigned long )(& oob) + 8;
 8020#line 683
 8021    __cil_tmp146 = (union nftl_uci *)__cil_tmp145;
 8022#line 683
 8023    __cil_tmp147 = (uint8_t *)__cil_tmp146;
 8024#line 683
 8025    nftl_read_oob(mtd, __cil_tmp144, 8UL, & retlen, __cil_tmp147);
 8026#line 686
 8027    __cil_tmp148 = 0 + 6;
 8028#line 686
 8029    __cil_tmp149 = 8 + __cil_tmp148;
 8030#line 686
 8031    __cil_tmp150 = (unsigned long )(& oob) + __cil_tmp149;
 8032#line 686
 8033    *((__u16 *)__cil_tmp150) = (unsigned short )writeEUN;
 8034#line 686
 8035    __cil_tmp151 = 0 + 2;
 8036#line 686
 8037    __cil_tmp152 = 8 + __cil_tmp151;
 8038#line 686
 8039    __cil_tmp153 = (unsigned long )(& oob) + __cil_tmp152;
 8040#line 686
 8041    __cil_tmp154 = 0 + 6;
 8042#line 686
 8043    __cil_tmp155 = 8 + __cil_tmp154;
 8044#line 686
 8045    __cil_tmp156 = (unsigned long )(& oob) + __cil_tmp155;
 8046#line 686
 8047    *((__u16 *)__cil_tmp153) = *((__u16 *)__cil_tmp156);
 8048#line 689
 8049    __cil_tmp157 = (unsigned long )nftl;
 8050#line 689
 8051    __cil_tmp158 = __cil_tmp157 + 356;
 8052#line 689
 8053    __cil_tmp159 = *((__u32 *)__cil_tmp158);
 8054#line 689
 8055    __cil_tmp160 = (__u32 )lastEUN;
 8056#line 689
 8057    __cil_tmp161 = __cil_tmp160 * __cil_tmp159;
 8058#line 689
 8059    __cil_tmp162 = __cil_tmp161 + 8U;
 8060#line 689
 8061    __cil_tmp163 = (loff_t )__cil_tmp162;
 8062#line 689
 8063    __cil_tmp164 = (unsigned long )(& oob) + 8;
 8064#line 689
 8065    __cil_tmp165 = (union nftl_uci *)__cil_tmp164;
 8066#line 689
 8067    __cil_tmp166 = (uint8_t *)__cil_tmp165;
 8068#line 689
 8069    nftl_write_oob(mtd, __cil_tmp163, 8UL, & retlen, __cil_tmp166);
 8070    }
 8071  } else {
 8072
 8073  }
 8074  }
 8075#line 693
 8076  return ((u16 )writeEUN);
 8077  ldv_28834: 
 8078#line 695
 8079  tmp___5 = silly2;
 8080#line 695
 8081  silly2 = silly2 - 1;
 8082#line 695
 8083  if (tmp___5 != 0) {
 8084#line 696
 8085    goto ldv_28835;
 8086  } else {
 8087#line 698
 8088    goto ldv_28836;
 8089  }
 8090  ldv_28836: 
 8091  {
 8092#line 697
 8093  __cil_tmp167 = (int )thisVUC;
 8094#line 697
 8095  printk("<4>Error folding to make room for Virtual Unit Chain 0x%x\n", __cil_tmp167);
 8096  }
 8097#line 699
 8098  return ((u16 )65535U);
 8099}
 8100}
 8101#line 702 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8102static int nftl_writeblock(struct mtd_blktrans_dev *mbd , unsigned long block , char *buffer ) 
 8103{ struct NFTLrecord *nftl ;
 8104  u16 writeEUN ;
 8105  unsigned long blockofs ;
 8106  size_t retlen ;
 8107  struct nftl_oob oob ;
 8108  unsigned long __cil_tmp9 ;
 8109  unsigned long __cil_tmp10 ;
 8110  __u32 __cil_tmp11 ;
 8111  __u32 __cil_tmp12 ;
 8112  unsigned long __cil_tmp13 ;
 8113  unsigned long __cil_tmp14 ;
 8114  unsigned int __cil_tmp15 ;
 8115  unsigned int __cil_tmp16 ;
 8116  void *__cil_tmp17 ;
 8117  unsigned long __cil_tmp18 ;
 8118  unsigned long __cil_tmp19 ;
 8119  unsigned long __cil_tmp20 ;
 8120  unsigned long __cil_tmp21 ;
 8121  unsigned long __cil_tmp22 ;
 8122  unsigned long __cil_tmp23 ;
 8123  unsigned long __cil_tmp24 ;
 8124  unsigned long __cil_tmp25 ;
 8125  unsigned long __cil_tmp26 ;
 8126  struct mtd_info *__cil_tmp27 ;
 8127  unsigned long __cil_tmp28 ;
 8128  unsigned long __cil_tmp29 ;
 8129  __u32 __cil_tmp30 ;
 8130  __u32 __cil_tmp31 ;
 8131  __u32 __cil_tmp32 ;
 8132  unsigned long __cil_tmp33 ;
 8133  unsigned long __cil_tmp34 ;
 8134  loff_t __cil_tmp35 ;
 8135  uint8_t *__cil_tmp36 ;
 8136  uint8_t *__cil_tmp37 ;
 8137
 8138  {
 8139  {
 8140#line 705
 8141  nftl = (struct NFTLrecord *)mbd;
 8142#line 707
 8143  __cil_tmp9 = (unsigned long )nftl;
 8144#line 707
 8145  __cil_tmp10 = __cil_tmp9 + 356;
 8146#line 707
 8147  __cil_tmp11 = *((__u32 *)__cil_tmp10);
 8148#line 707
 8149  __cil_tmp12 = __cil_tmp11 - 1U;
 8150#line 707
 8151  __cil_tmp13 = (unsigned long )__cil_tmp12;
 8152#line 707
 8153  __cil_tmp14 = block * 512UL;
 8154#line 707
 8155  blockofs = __cil_tmp14 & __cil_tmp13;
 8156#line 711
 8157  __cil_tmp15 = (unsigned int )block;
 8158#line 711
 8159  writeEUN = NFTL_findwriteunit(nftl, __cil_tmp15);
 8160  }
 8161  {
 8162#line 713
 8163  __cil_tmp16 = (unsigned int )writeEUN;
 8164#line 713
 8165  if (__cil_tmp16 == 65535U) {
 8166    {
 8167#line 714
 8168    printk("<4>NFTL_writeblock(): Cannot find block to write to\n");
 8169    }
 8170#line 717
 8171    return (1);
 8172  } else {
 8173
 8174  }
 8175  }
 8176  {
 8177#line 720
 8178  __cil_tmp17 = (void *)(& oob);
 8179#line 720
 8180  memset(__cil_tmp17, 255, 16UL);
 8181#line 721
 8182  __cil_tmp18 = 0 + 7;
 8183#line 721
 8184  __cil_tmp19 = (unsigned long )(& oob) + __cil_tmp18;
 8185#line 721
 8186  *((__u8 *)__cil_tmp19) = (__u8 )85U;
 8187#line 721
 8188  __cil_tmp20 = 0 + 6;
 8189#line 721
 8190  __cil_tmp21 = (unsigned long )(& oob) + __cil_tmp20;
 8191#line 721
 8192  __cil_tmp22 = 0 + 7;
 8193#line 721
 8194  __cil_tmp23 = (unsigned long )(& oob) + __cil_tmp22;
 8195#line 721
 8196  *((__u8 *)__cil_tmp21) = *((__u8 *)__cil_tmp23);
 8197#line 723
 8198  __cil_tmp24 = 0 + 24;
 8199#line 723
 8200  __cil_tmp25 = (unsigned long )nftl;
 8201#line 723
 8202  __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
 8203#line 723
 8204  __cil_tmp27 = *((struct mtd_info **)__cil_tmp26);
 8205#line 723
 8206  __cil_tmp28 = (unsigned long )nftl;
 8207#line 723
 8208  __cil_tmp29 = __cil_tmp28 + 356;
 8209#line 723
 8210  __cil_tmp30 = *((__u32 *)__cil_tmp29);
 8211#line 723
 8212  __cil_tmp31 = (__u32 )writeEUN;
 8213#line 723
 8214  __cil_tmp32 = __cil_tmp31 * __cil_tmp30;
 8215#line 723
 8216  __cil_tmp33 = (unsigned long )__cil_tmp32;
 8217#line 723
 8218  __cil_tmp34 = __cil_tmp33 + blockofs;
 8219#line 723
 8220  __cil_tmp35 = (loff_t )__cil_tmp34;
 8221#line 723
 8222  __cil_tmp36 = (uint8_t *)buffer;
 8223#line 723
 8224  __cil_tmp37 = (uint8_t *)(& oob);
 8225#line 723
 8226  nftl_write(__cil_tmp27, __cil_tmp35, 512UL, & retlen, __cil_tmp36, __cil_tmp37);
 8227  }
 8228#line 725
 8229  return (0);
 8230}
 8231}
 8232#line 729 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8233static int nftl_readblock(struct mtd_blktrans_dev *mbd , unsigned long block , char *buffer ) 
 8234{ struct NFTLrecord *nftl ;
 8235  struct mtd_info *mtd ;
 8236  u16 lastgoodEUN ;
 8237  u16 thisEUN ;
 8238  unsigned long blockofs ;
 8239  unsigned int status ;
 8240  int silly ;
 8241  size_t retlen ;
 8242  struct nftl_bci bci ;
 8243  int tmp ;
 8244  int tmp___0 ;
 8245  loff_t ptr ;
 8246  size_t retlen___0 ;
 8247  int res ;
 8248  int tmp___1 ;
 8249  int tmp___2 ;
 8250  unsigned long __cil_tmp20 ;
 8251  unsigned long __cil_tmp21 ;
 8252  unsigned long __cil_tmp22 ;
 8253  unsigned long __cil_tmp23 ;
 8254  unsigned long __cil_tmp24 ;
 8255  __u32 __cil_tmp25 ;
 8256  __u32 __cil_tmp26 ;
 8257  unsigned long __cil_tmp27 ;
 8258  unsigned long __cil_tmp28 ;
 8259  unsigned long __cil_tmp29 ;
 8260  unsigned long __cil_tmp30 ;
 8261  __u16 *__cil_tmp31 ;
 8262  __u16 *__cil_tmp32 ;
 8263  unsigned long __cil_tmp33 ;
 8264  unsigned long __cil_tmp34 ;
 8265  __u32 __cil_tmp35 ;
 8266  __u32 __cil_tmp36 ;
 8267  unsigned long __cil_tmp37 ;
 8268  unsigned long __cil_tmp38 ;
 8269  unsigned int __cil_tmp39 ;
 8270  unsigned long __cil_tmp40 ;
 8271  unsigned long __cil_tmp41 ;
 8272  __u32 __cil_tmp42 ;
 8273  __u32 __cil_tmp43 ;
 8274  __u32 __cil_tmp44 ;
 8275  unsigned long __cil_tmp45 ;
 8276  unsigned long __cil_tmp46 ;
 8277  loff_t __cil_tmp47 ;
 8278  uint8_t *__cil_tmp48 ;
 8279  unsigned long __cil_tmp49 ;
 8280  __u8 __cil_tmp50 ;
 8281  int __cil_tmp51 ;
 8282  unsigned long __cil_tmp52 ;
 8283  __u8 __cil_tmp53 ;
 8284  int __cil_tmp54 ;
 8285  int __cil_tmp55 ;
 8286  int __cil_tmp56 ;
 8287  unsigned long __cil_tmp57 ;
 8288  unsigned long __cil_tmp58 ;
 8289  __u32 __cil_tmp59 ;
 8290  __u32 __cil_tmp60 ;
 8291  unsigned long __cil_tmp61 ;
 8292  unsigned long __cil_tmp62 ;
 8293  unsigned long __cil_tmp63 ;
 8294  unsigned long __cil_tmp64 ;
 8295  unsigned long __cil_tmp65 ;
 8296  __u16 *__cil_tmp66 ;
 8297  __u16 *__cil_tmp67 ;
 8298  unsigned long __cil_tmp68 ;
 8299  unsigned long __cil_tmp69 ;
 8300  unsigned int __cil_tmp70 ;
 8301  unsigned int __cil_tmp71 ;
 8302  unsigned int __cil_tmp72 ;
 8303  void *__cil_tmp73 ;
 8304  unsigned long __cil_tmp74 ;
 8305  unsigned long __cil_tmp75 ;
 8306  __u32 __cil_tmp76 ;
 8307  __u32 __cil_tmp77 ;
 8308  __u32 __cil_tmp78 ;
 8309  unsigned long __cil_tmp79 ;
 8310  unsigned long __cil_tmp80 ;
 8311  u_char *__cil_tmp81 ;
 8312
 8313  {
 8314#line 732
 8315  nftl = (struct NFTLrecord *)mbd;
 8316#line 733
 8317  __cil_tmp20 = 0 + 24;
 8318#line 733
 8319  __cil_tmp21 = (unsigned long )nftl;
 8320#line 733
 8321  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
 8322#line 733
 8323  mtd = *((struct mtd_info **)__cil_tmp22);
 8324#line 735
 8325  __cil_tmp23 = (unsigned long )nftl;
 8326#line 735
 8327  __cil_tmp24 = __cil_tmp23 + 356;
 8328#line 735
 8329  __cil_tmp25 = *((__u32 *)__cil_tmp24);
 8330#line 735
 8331  __cil_tmp26 = __cil_tmp25 / 512U;
 8332#line 735
 8333  __cil_tmp27 = (unsigned long )__cil_tmp26;
 8334#line 735
 8335  __cil_tmp28 = block / __cil_tmp27;
 8336#line 735
 8337  __cil_tmp29 = (unsigned long )nftl;
 8338#line 735
 8339  __cil_tmp30 = __cil_tmp29 + 408;
 8340#line 735
 8341  __cil_tmp31 = *((__u16 **)__cil_tmp30);
 8342#line 735
 8343  __cil_tmp32 = __cil_tmp31 + __cil_tmp28;
 8344#line 735
 8345  thisEUN = *__cil_tmp32;
 8346#line 736
 8347  __cil_tmp33 = (unsigned long )nftl;
 8348#line 736
 8349  __cil_tmp34 = __cil_tmp33 + 356;
 8350#line 736
 8351  __cil_tmp35 = *((__u32 *)__cil_tmp34);
 8352#line 736
 8353  __cil_tmp36 = __cil_tmp35 - 1U;
 8354#line 736
 8355  __cil_tmp37 = (unsigned long )__cil_tmp36;
 8356#line 736
 8357  __cil_tmp38 = block * 512UL;
 8358#line 736
 8359  blockofs = __cil_tmp38 & __cil_tmp37;
 8360#line 738
 8361  silly = 10000;
 8362#line 742
 8363  lastgoodEUN = (u16 )65535U;
 8364  {
 8365#line 744
 8366  __cil_tmp39 = (unsigned int )thisEUN;
 8367#line 744
 8368  if (__cil_tmp39 != 65535U) {
 8369#line 745
 8370    goto ldv_28869;
 8371    ldv_28868: 
 8372    {
 8373#line 746
 8374    __cil_tmp40 = (unsigned long )nftl;
 8375#line 746
 8376    __cil_tmp41 = __cil_tmp40 + 356;
 8377#line 746
 8378    __cil_tmp42 = *((__u32 *)__cil_tmp41);
 8379#line 746
 8380    __cil_tmp43 = (__u32 )thisEUN;
 8381#line 746
 8382    __cil_tmp44 = __cil_tmp43 * __cil_tmp42;
 8383#line 746
 8384    __cil_tmp45 = (unsigned long )__cil_tmp44;
 8385#line 746
 8386    __cil_tmp46 = __cil_tmp45 + blockofs;
 8387#line 746
 8388    __cil_tmp47 = (loff_t )__cil_tmp46;
 8389#line 746
 8390    __cil_tmp48 = (uint8_t *)(& bci);
 8391#line 746
 8392    tmp = nftl_read_oob(mtd, __cil_tmp47, 8UL, & retlen, __cil_tmp48);
 8393    }
 8394#line 746
 8395    if (tmp < 0) {
 8396#line 749
 8397      status = 17U;
 8398    } else {
 8399#line 751
 8400      __cil_tmp49 = (unsigned long )(& bci) + 7;
 8401#line 751
 8402      __cil_tmp50 = *((__u8 *)__cil_tmp49);
 8403#line 751
 8404      __cil_tmp51 = (int )__cil_tmp50;
 8405#line 751
 8406      __cil_tmp52 = (unsigned long )(& bci) + 6;
 8407#line 751
 8408      __cil_tmp53 = *((__u8 *)__cil_tmp52);
 8409#line 751
 8410      __cil_tmp54 = (int )__cil_tmp53;
 8411#line 751
 8412      __cil_tmp55 = __cil_tmp54 | __cil_tmp51;
 8413#line 751
 8414      status = (unsigned int )__cil_tmp55;
 8415    }
 8416#line 754
 8417    if ((int )status == 255) {
 8418#line 754
 8419      goto case_255;
 8420    } else
 8421#line 757
 8422    if ((int )status == 0) {
 8423#line 757
 8424      goto case_0;
 8425    } else
 8426#line 760
 8427    if ((int )status == 85) {
 8428#line 760
 8429      goto case_85;
 8430    } else
 8431#line 763
 8432    if ((int )status == 17) {
 8433#line 763
 8434      goto case_17;
 8435    } else {
 8436      {
 8437#line 765
 8438      goto switch_default;
 8439#line 753
 8440      if (0) {
 8441        case_255: /* CIL Label */ ;
 8442#line 756
 8443        goto the_end;
 8444        case_0: /* CIL Label */ 
 8445#line 758
 8446        lastgoodEUN = (u16 )65535U;
 8447#line 759
 8448        goto ldv_28864;
 8449        case_85: /* CIL Label */ 
 8450#line 761
 8451        lastgoodEUN = thisEUN;
 8452#line 762
 8453        goto ldv_28864;
 8454        case_17: /* CIL Label */ ;
 8455#line 764
 8456        goto ldv_28864;
 8457        switch_default: /* CIL Label */ 
 8458        {
 8459#line 766
 8460        __cil_tmp56 = (int )thisEUN;
 8461#line 766
 8462        printk("Unknown status for block %ld in EUN %d: %x\n", block, __cil_tmp56,
 8463               status);
 8464        }
 8465#line 768
 8466        goto ldv_28864;
 8467      } else {
 8468        switch_break: /* CIL Label */ ;
 8469      }
 8470      }
 8471    }
 8472    ldv_28864: 
 8473#line 771
 8474    tmp___0 = silly;
 8475#line 771
 8476    silly = silly - 1;
 8477#line 771
 8478    if (tmp___0 == 0) {
 8479      {
 8480#line 772
 8481      __cil_tmp57 = (unsigned long )nftl;
 8482#line 772
 8483      __cil_tmp58 = __cil_tmp57 + 356;
 8484#line 772
 8485      __cil_tmp59 = *((__u32 *)__cil_tmp58);
 8486#line 772
 8487      __cil_tmp60 = __cil_tmp59 / 512U;
 8488#line 772
 8489      __cil_tmp61 = (unsigned long )__cil_tmp60;
 8490#line 772
 8491      __cil_tmp62 = block / __cil_tmp61;
 8492#line 772
 8493      printk("<4>Infinite loop in Virtual Unit Chain 0x%lx\n", __cil_tmp62);
 8494      }
 8495#line 774
 8496      return (1);
 8497    } else {
 8498
 8499    }
 8500#line 776
 8501    __cil_tmp63 = (unsigned long )thisEUN;
 8502#line 776
 8503    __cil_tmp64 = (unsigned long )nftl;
 8504#line 776
 8505    __cil_tmp65 = __cil_tmp64 + 416;
 8506#line 776
 8507    __cil_tmp66 = *((__u16 **)__cil_tmp65);
 8508#line 776
 8509    __cil_tmp67 = __cil_tmp66 + __cil_tmp63;
 8510#line 776
 8511    thisEUN = *__cil_tmp67;
 8512    ldv_28869: ;
 8513    {
 8514#line 745
 8515    __cil_tmp68 = (unsigned long )nftl;
 8516#line 745
 8517    __cil_tmp69 = __cil_tmp68 + 424;
 8518#line 745
 8519    __cil_tmp70 = *((unsigned int *)__cil_tmp69);
 8520#line 745
 8521    __cil_tmp71 = (unsigned int )thisEUN;
 8522#line 745
 8523    if (__cil_tmp71 < __cil_tmp70) {
 8524#line 746
 8525      goto ldv_28868;
 8526    } else {
 8527#line 748
 8528      goto ldv_28870;
 8529    }
 8530    }
 8531    ldv_28870: ;
 8532  } else {
 8533
 8534  }
 8535  }
 8536  the_end: ;
 8537  {
 8538#line 781
 8539  __cil_tmp72 = (unsigned int )lastgoodEUN;
 8540#line 781
 8541  if (__cil_tmp72 == 65535U) {
 8542    {
 8543#line 783
 8544    __cil_tmp73 = (void *)buffer;
 8545#line 783
 8546    memset(__cil_tmp73, 0, 512UL);
 8547    }
 8548  } else {
 8549    {
 8550#line 785
 8551    __cil_tmp74 = (unsigned long )nftl;
 8552#line 785
 8553    __cil_tmp75 = __cil_tmp74 + 356;
 8554#line 785
 8555    __cil_tmp76 = *((__u32 *)__cil_tmp75);
 8556#line 785
 8557    __cil_tmp77 = (__u32 )lastgoodEUN;
 8558#line 785
 8559    __cil_tmp78 = __cil_tmp77 * __cil_tmp76;
 8560#line 785
 8561    __cil_tmp79 = (unsigned long )__cil_tmp78;
 8562#line 785
 8563    __cil_tmp80 = __cil_tmp79 + blockofs;
 8564#line 785
 8565    ptr = (loff_t )__cil_tmp80;
 8566#line 787
 8567    __cil_tmp81 = (u_char *)buffer;
 8568#line 787
 8569    tmp___1 = mtd_read(mtd, ptr, 512UL, & retlen___0, __cil_tmp81);
 8570#line 787
 8571    res = tmp___1;
 8572    }
 8573#line 789
 8574    if (res < 0) {
 8575      {
 8576#line 789
 8577      tmp___2 = mtd_is_bitflip(res);
 8578      }
 8579#line 789
 8580      if (tmp___2 == 0) {
 8581#line 790
 8582        return (-5);
 8583      } else {
 8584
 8585      }
 8586    } else {
 8587
 8588    }
 8589  }
 8590  }
 8591#line 792
 8592  return (0);
 8593}
 8594}
 8595#line 795 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8596static int nftl_getgeo(struct mtd_blktrans_dev *dev , struct hd_geometry *geo ) 
 8597{ struct NFTLrecord *nftl ;
 8598  unsigned long __cil_tmp4 ;
 8599  unsigned long __cil_tmp5 ;
 8600  unsigned long __cil_tmp6 ;
 8601  unsigned long __cil_tmp7 ;
 8602  unsigned long __cil_tmp8 ;
 8603  unsigned long __cil_tmp9 ;
 8604  unsigned long __cil_tmp10 ;
 8605  unsigned long __cil_tmp11 ;
 8606  unsigned long __cil_tmp12 ;
 8607  unsigned long __cil_tmp13 ;
 8608
 8609  {
 8610#line 797
 8611  nftl = (struct NFTLrecord *)dev;
 8612#line 799
 8613  __cil_tmp4 = (unsigned long )nftl;
 8614#line 799
 8615  __cil_tmp5 = __cil_tmp4 + 384;
 8616#line 799
 8617  *((unsigned char *)geo) = *((unsigned char *)__cil_tmp5);
 8618#line 800
 8619  __cil_tmp6 = (unsigned long )geo;
 8620#line 800
 8621  __cil_tmp7 = __cil_tmp6 + 1;
 8622#line 800
 8623  __cil_tmp8 = (unsigned long )nftl;
 8624#line 800
 8625  __cil_tmp9 = __cil_tmp8 + 385;
 8626#line 800
 8627  *((unsigned char *)__cil_tmp7) = *((unsigned char *)__cil_tmp9);
 8628#line 801
 8629  __cil_tmp10 = (unsigned long )geo;
 8630#line 801
 8631  __cil_tmp11 = __cil_tmp10 + 2;
 8632#line 801
 8633  __cil_tmp12 = (unsigned long )nftl;
 8634#line 801
 8635  __cil_tmp13 = __cil_tmp12 + 386;
 8636#line 801
 8637  *((unsigned short *)__cil_tmp11) = *((unsigned short *)__cil_tmp13);
 8638#line 803
 8639  return (0);
 8640}
 8641}
 8642#line 813 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8643static struct mtd_blktrans_ops nftl_tr  = 
 8644#line 813
 8645     {(char *)"nftl", 93, 4, 512, 0, & nftl_readblock, & nftl_writeblock, (int (*)(struct mtd_blktrans_dev * ,
 8646                                                                                 unsigned long  ,
 8647                                                                                 unsigned int  ))0,
 8648    (void (*)(struct mtd_blktrans_dev * ))0, & nftl_getgeo, (int (*)(struct mtd_blktrans_dev * ))0,
 8649    (int (*)(struct mtd_blktrans_dev * ))0, (int (*)(struct mtd_blktrans_dev * ))0,
 8650    & nftl_add_mtd, & nftl_remove_dev, {(struct list_head *)0, (struct list_head *)0},
 8651    {(struct list_head *)0, (struct list_head *)0}, & __this_module};
 8652#line 828 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8653static int init_nftl(void) 
 8654{ int tmp ;
 8655
 8656  {
 8657  {
 8658#line 830
 8659  tmp = register_mtd_blktrans(& nftl_tr);
 8660  }
 8661#line 830
 8662  return (tmp);
 8663}
 8664}
 8665#line 833 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8666static void cleanup_nftl(void) 
 8667{ 
 8668
 8669  {
 8670  {
 8671#line 835
 8672  deregister_mtd_blktrans(& nftl_tr);
 8673  }
 8674#line 836
 8675  return;
 8676}
 8677}
 8678#line 862
 8679extern void ldv_check_final_state(void) ;
 8680#line 868
 8681extern void ldv_initialize(void) ;
 8682#line 871
 8683extern int __VERIFIER_nondet_int(void) ;
 8684#line 874 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8685int LDV_IN_INTERRUPT  ;
 8686#line 877 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8687void main(void) 
 8688{ struct mtd_blktrans_dev *var_group1 ;
 8689  struct hd_geometry *var_group2 ;
 8690  unsigned long var_nftl_readblock_10_p1 ;
 8691  char *var_nftl_readblock_10_p2 ;
 8692  unsigned long var_nftl_writeblock_9_p1 ;
 8693  char *var_nftl_writeblock_9_p2 ;
 8694  struct mtd_blktrans_ops *var_group3 ;
 8695  struct mtd_info *var_group4 ;
 8696  int tmp ;
 8697  int tmp___0 ;
 8698  int tmp___1 ;
 8699
 8700  {
 8701  {
 8702#line 970
 8703  LDV_IN_INTERRUPT = 1;
 8704#line 979
 8705  ldv_initialize();
 8706#line 994
 8707  tmp = init_nftl();
 8708  }
 8709#line 994
 8710  if (tmp != 0) {
 8711#line 995
 8712    goto ldv_final;
 8713  } else {
 8714
 8715  }
 8716#line 999
 8717  goto ldv_28929;
 8718  ldv_28928: 
 8719  {
 8720#line 1002
 8721  tmp___0 = __VERIFIER_nondet_int();
 8722  }
 8723#line 1004
 8724  if (tmp___0 == 0) {
 8725#line 1004
 8726    goto case_0;
 8727  } else
 8728#line 1031
 8729  if (tmp___0 == 1) {
 8730#line 1031
 8731    goto case_1;
 8732  } else
 8733#line 1058
 8734  if (tmp___0 == 2) {
 8735#line 1058
 8736    goto case_2;
 8737  } else
 8738#line 1085
 8739  if (tmp___0 == 3) {
 8740#line 1085
 8741    goto case_3;
 8742  } else
 8743#line 1110
 8744  if (tmp___0 == 4) {
 8745#line 1110
 8746    goto case_4;
 8747  } else {
 8748    {
 8749#line 1137
 8750    goto switch_default;
 8751#line 1002
 8752    if (0) {
 8753      case_0: /* CIL Label */ 
 8754      {
 8755#line 1019
 8756      nftl_getgeo(var_group1, var_group2);
 8757      }
 8758#line 1030
 8759      goto ldv_28922;
 8760      case_1: /* CIL Label */ 
 8761      {
 8762#line 1046
 8763      nftl_readblock(var_group1, var_nftl_readblock_10_p1, var_nftl_readblock_10_p2);
 8764      }
 8765#line 1057
 8766      goto ldv_28922;
 8767      case_2: /* CIL Label */ 
 8768      {
 8769#line 1072
 8770      nftl_writeblock(var_group1, var_nftl_writeblock_9_p1, var_nftl_writeblock_9_p2);
 8771      }
 8772#line 1084
 8773      goto ldv_28922;
 8774      case_3: /* CIL Label */ 
 8775      {
 8776#line 1096
 8777      nftl_add_mtd(var_group3, var_group4);
 8778      }
 8779#line 1109
 8780      goto ldv_28922;
 8781      case_4: /* CIL Label */ 
 8782      {
 8783#line 1123
 8784      nftl_remove_dev(var_group1);
 8785      }
 8786#line 1136
 8787      goto ldv_28922;
 8788      switch_default: /* CIL Label */ ;
 8789#line 1137
 8790      goto ldv_28922;
 8791    } else {
 8792      switch_break: /* CIL Label */ ;
 8793    }
 8794    }
 8795  }
 8796  ldv_28922: ;
 8797  ldv_28929: 
 8798  {
 8799#line 999
 8800  tmp___1 = __VERIFIER_nondet_int();
 8801  }
 8802#line 999
 8803  if (tmp___1 != 0) {
 8804#line 1000
 8805    goto ldv_28928;
 8806  } else {
 8807#line 1002
 8808    goto ldv_28930;
 8809  }
 8810  ldv_28930: ;
 8811  {
 8812#line 1158
 8813  cleanup_nftl();
 8814  }
 8815  ldv_final: 
 8816  {
 8817#line 1161
 8818  ldv_check_final_state();
 8819  }
 8820#line 1164
 8821  return;
 8822}
 8823}
 8824#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
 8825void ldv_blast_assert(void) 
 8826{ 
 8827
 8828  {
 8829  ERROR: ;
 8830#line 6
 8831  goto ERROR;
 8832}
 8833}
 8834#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
 8835extern int __VERIFIER_nondet_int(void) ;
 8836#line 1185 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8837int ldv_spin  =    0;
 8838#line 1189 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8839void ldv_check_alloc_flags(gfp_t flags ) 
 8840{ 
 8841
 8842  {
 8843#line 1192
 8844  if (ldv_spin != 0) {
 8845#line 1192
 8846    if (flags != 32U) {
 8847      {
 8848#line 1192
 8849      ldv_blast_assert();
 8850      }
 8851    } else {
 8852
 8853    }
 8854  } else {
 8855
 8856  }
 8857#line 1195
 8858  return;
 8859}
 8860}
 8861#line 1195
 8862extern struct page *ldv_some_page(void) ;
 8863#line 1198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8864struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
 8865{ struct page *tmp ;
 8866
 8867  {
 8868#line 1201
 8869  if (ldv_spin != 0) {
 8870#line 1201
 8871    if (flags != 32U) {
 8872      {
 8873#line 1201
 8874      ldv_blast_assert();
 8875      }
 8876    } else {
 8877
 8878    }
 8879  } else {
 8880
 8881  }
 8882  {
 8883#line 1203
 8884  tmp = ldv_some_page();
 8885  }
 8886#line 1203
 8887  return (tmp);
 8888}
 8889}
 8890#line 1207 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8891void ldv_check_alloc_nonatomic(void) 
 8892{ 
 8893
 8894  {
 8895#line 1210
 8896  if (ldv_spin != 0) {
 8897    {
 8898#line 1210
 8899    ldv_blast_assert();
 8900    }
 8901  } else {
 8902
 8903  }
 8904#line 1213
 8905  return;
 8906}
 8907}
 8908#line 1214 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8909void ldv_spin_lock(void) 
 8910{ 
 8911
 8912  {
 8913#line 1217
 8914  ldv_spin = 1;
 8915#line 1218
 8916  return;
 8917}
 8918}
 8919#line 1221 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8920void ldv_spin_unlock(void) 
 8921{ 
 8922
 8923  {
 8924#line 1224
 8925  ldv_spin = 0;
 8926#line 1225
 8927  return;
 8928}
 8929}
 8930#line 1228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8931int ldv_spin_trylock(void) 
 8932{ int is_lock ;
 8933
 8934  {
 8935  {
 8936#line 1233
 8937  is_lock = __VERIFIER_nondet_int();
 8938  }
 8939#line 1235
 8940  if (is_lock != 0) {
 8941#line 1238
 8942    return (0);
 8943  } else {
 8944#line 1243
 8945    ldv_spin = 1;
 8946#line 1245
 8947    return (1);
 8948  }
 8949}
 8950}
 8951#line 1412 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8952void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
 8953{ 
 8954
 8955  {
 8956  {
 8957#line 1418
 8958  ldv_check_alloc_flags(ldv_func_arg2);
 8959#line 1420
 8960  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
 8961  }
 8962#line 1421
 8963  return ((void *)0);
 8964}
 8965}
 8966#line 1423 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlcore.c.p"
 8967__inline static void *kzalloc(size_t size , gfp_t flags ) 
 8968{ void *tmp ;
 8969
 8970  {
 8971  {
 8972#line 1429
 8973  ldv_check_alloc_flags(flags);
 8974#line 1430
 8975  tmp = __VERIFIER_nondet_pointer();
 8976  }
 8977#line 1430
 8978  return (tmp);
 8979}
 8980}
 8981#line 1 "<compiler builtins>"
 8982
 8983#line 1
 8984
 8985#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
 8986extern void *__memcpy(void * , void const   * , size_t  ) ;
 8987#line 225 "include/linux/slub_def.h"
 8988extern void *__kmalloc(size_t  , gfp_t  ) ;
 8989#line 268 "include/linux/slub_def.h"
 8990__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags ) 
 8991{ void *tmp___2 ;
 8992
 8993  {
 8994  {
 8995#line 283
 8996  tmp___2 = __kmalloc(size, flags);
 8997  }
 8998#line 283
 8999  return (tmp___2);
 9000}
 9001}
 9002#line 268
 9003__inline static void *kmalloc(size_t size , gfp_t flags ) ;
 9004#line 246 "include/linux/mtd/mtd.h"
 9005extern int mtd_erase(struct mtd_info * , struct erase_info * ) ;
 9006#line 303
 9007extern int mtd_block_isbad(struct mtd_info * , loff_t  ) ;
 9008#line 304
 9009extern int mtd_block_markbad(struct mtd_info * , loff_t  ) ;
 9010#line 52 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
 9011static int find_boot_record(struct NFTLrecord *nftl ) 
 9012{ struct nftl_uci1 h1 ;
 9013  unsigned int block ;
 9014  unsigned int boot_record_count ;
 9015  size_t retlen ;
 9016  u8 buf[512U] ;
 9017  struct NFTLMediaHeader *mh ;
 9018  struct mtd_info *mtd ;
 9019  unsigned int i ;
 9020  int ret ;
 9021  int warncount ;
 9022  int tmp ;
 9023  int tmp___0 ;
 9024  int tmp___1 ;
 9025  size_t __len ;
 9026  void *__ret ;
 9027  void *tmp___2 ;
 9028  void *tmp___3 ;
 9029  int tmp___4 ;
 9030  int tmp___5 ;
 9031  unsigned long __cil_tmp21 ;
 9032  unsigned long __cil_tmp22 ;
 9033  unsigned long __cil_tmp23 ;
 9034  unsigned long __cil_tmp24 ;
 9035  unsigned long __cil_tmp25 ;
 9036  unsigned long __cil_tmp26 ;
 9037  unsigned long __cil_tmp27 ;
 9038  unsigned long __cil_tmp28 ;
 9039  unsigned long __cil_tmp29 ;
 9040  unsigned long __cil_tmp30 ;
 9041  struct mtd_info *__cil_tmp31 ;
 9042  unsigned long __cil_tmp32 ;
 9043  unsigned long __cil_tmp33 ;
 9044  unsigned long __cil_tmp34 ;
 9045  unsigned long __cil_tmp35 ;
 9046  unsigned long __cil_tmp36 ;
 9047  unsigned long __cil_tmp37 ;
 9048  __u32 __cil_tmp38 ;
 9049  unsigned long __cil_tmp39 ;
 9050  unsigned long __cil_tmp40 ;
 9051  unsigned long __cil_tmp41 ;
 9052  struct mtd_info *__cil_tmp42 ;
 9053  unsigned long __cil_tmp43 ;
 9054  unsigned long __cil_tmp44 ;
 9055  uint64_t __cil_tmp45 ;
 9056  unsigned int __cil_tmp46 ;
 9057  unsigned long __cil_tmp47 ;
 9058  unsigned long __cil_tmp48 ;
 9059  unsigned long __cil_tmp49 ;
 9060  unsigned long __cil_tmp50 ;
 9061  unsigned long __cil_tmp51 ;
 9062  unsigned long __cil_tmp52 ;
 9063  __u32 __cil_tmp53 ;
 9064  unsigned int __cil_tmp54 ;
 9065  loff_t __cil_tmp55 ;
 9066  u_char *__cil_tmp56 ;
 9067  size_t *__cil_tmp57 ;
 9068  size_t __cil_tmp58 ;
 9069  unsigned long __cil_tmp59 ;
 9070  unsigned long __cil_tmp60 ;
 9071  __u32 __cil_tmp61 ;
 9072  unsigned int __cil_tmp62 ;
 9073  unsigned long __cil_tmp63 ;
 9074  unsigned long __cil_tmp64 ;
 9075  unsigned long __cil_tmp65 ;
 9076  struct mtd_info *__cil_tmp66 ;
 9077  unsigned long __cil_tmp67 ;
 9078  unsigned long __cil_tmp68 ;
 9079  int __cil_tmp69 ;
 9080  size_t *__cil_tmp70 ;
 9081  size_t __cil_tmp71 ;
 9082  void const   *__cil_tmp72 ;
 9083  void const   *__cil_tmp73 ;
 9084  unsigned long __cil_tmp74 ;
 9085  unsigned long __cil_tmp75 ;
 9086  __u32 __cil_tmp76 ;
 9087  unsigned int __cil_tmp77 ;
 9088  unsigned int __cil_tmp78 ;
 9089  loff_t __cil_tmp79 ;
 9090  uint8_t *__cil_tmp80 ;
 9091  unsigned long __cil_tmp81 ;
 9092  unsigned long __cil_tmp82 ;
 9093  __u32 __cil_tmp83 ;
 9094  unsigned int __cil_tmp84 ;
 9095  unsigned long __cil_tmp85 ;
 9096  unsigned long __cil_tmp86 ;
 9097  unsigned long __cil_tmp87 ;
 9098  struct mtd_info *__cil_tmp88 ;
 9099  unsigned long __cil_tmp89 ;
 9100  unsigned long __cil_tmp90 ;
 9101  int __cil_tmp91 ;
 9102  void const   *__cil_tmp92 ;
 9103  void const   *__cil_tmp93 ;
 9104  unsigned long __cil_tmp94 ;
 9105  unsigned long __cil_tmp95 ;
 9106  __u32 __cil_tmp96 ;
 9107  unsigned long __cil_tmp97 ;
 9108  unsigned long __cil_tmp98 ;
 9109  __u16 __cil_tmp99 ;
 9110  __u32 __cil_tmp100 ;
 9111  __u32 __cil_tmp101 ;
 9112  unsigned long __cil_tmp102 ;
 9113  unsigned long __cil_tmp103 ;
 9114  __u32 __cil_tmp104 ;
 9115  unsigned int __cil_tmp105 ;
 9116  unsigned long __cil_tmp106 ;
 9117  unsigned long __cil_tmp107 ;
 9118  unsigned long __cil_tmp108 ;
 9119  unsigned long __cil_tmp109 ;
 9120  unsigned long __cil_tmp110 ;
 9121  __u16 *__cil_tmp111 ;
 9122  __u16 *__cil_tmp112 ;
 9123  void *__cil_tmp113 ;
 9124  void const   *__cil_tmp114 ;
 9125  void *__cil_tmp115 ;
 9126  void const   *__cil_tmp116 ;
 9127  unsigned long __cil_tmp117 ;
 9128  unsigned long __cil_tmp118 ;
 9129  unsigned long __cil_tmp119 ;
 9130  unsigned long __cil_tmp120 ;
 9131  __u16 __cil_tmp121 ;
 9132  unsigned long __cil_tmp122 ;
 9133  unsigned long __cil_tmp123 ;
 9134  unsigned int __cil_tmp124 ;
 9135  unsigned long __cil_tmp125 ;
 9136  unsigned long __cil_tmp126 ;
 9137  unsigned int __cil_tmp127 ;
 9138  unsigned int __cil_tmp128 ;
 9139  unsigned long __cil_tmp129 ;
 9140  unsigned long __cil_tmp130 ;
 9141  unsigned int __cil_tmp131 ;
 9142  unsigned long __cil_tmp132 ;
 9143  unsigned long __cil_tmp133 ;
 9144  unsigned int __cil_tmp134 ;
 9145  unsigned long __cil_tmp135 ;
 9146  unsigned long __cil_tmp136 ;
 9147  unsigned long __cil_tmp137 ;
 9148  unsigned long __cil_tmp138 ;
 9149  __u32 __cil_tmp139 ;
 9150  unsigned long __cil_tmp140 ;
 9151  unsigned long __cil_tmp141 ;
 9152  __u32 __cil_tmp142 ;
 9153  __u32 __cil_tmp143 ;
 9154  unsigned long __cil_tmp144 ;
 9155  unsigned long __cil_tmp145 ;
 9156  unsigned int __cil_tmp146 ;
 9157  unsigned long __cil_tmp147 ;
 9158  unsigned long __cil_tmp148 ;
 9159  unsigned int __cil_tmp149 ;
 9160  unsigned int __cil_tmp150 ;
 9161  unsigned int __cil_tmp151 ;
 9162  unsigned long __cil_tmp152 ;
 9163  unsigned long __cil_tmp153 ;
 9164  __u16 __cil_tmp154 ;
 9165  unsigned int __cil_tmp155 ;
 9166  unsigned long __cil_tmp156 ;
 9167  unsigned long __cil_tmp157 ;
 9168  __u16 __cil_tmp158 ;
 9169  int __cil_tmp159 ;
 9170  unsigned long __cil_tmp160 ;
 9171  unsigned long __cil_tmp161 ;
 9172  unsigned int __cil_tmp162 ;
 9173  unsigned long __cil_tmp163 ;
 9174  unsigned long __cil_tmp164 ;
 9175  unsigned int __cil_tmp165 ;
 9176  unsigned long __cil_tmp166 ;
 9177  unsigned long __cil_tmp167 ;
 9178  unsigned long __cil_tmp168 ;
 9179  unsigned long __cil_tmp169 ;
 9180  unsigned long __cil_tmp170 ;
 9181  __u32 __cil_tmp171 ;
 9182  __u32 __cil_tmp172 ;
 9183  unsigned long __cil_tmp173 ;
 9184  unsigned long __cil_tmp174 ;
 9185  __u16 __cil_tmp175 ;
 9186  __u32 __cil_tmp176 ;
 9187  __u32 __cil_tmp177 ;
 9188  unsigned long __cil_tmp178 ;
 9189  unsigned long __cil_tmp179 ;
 9190  unsigned long __cil_tmp180 ;
 9191  unsigned long __cil_tmp181 ;
 9192  __u16 __cil_tmp182 ;
 9193  int __cil_tmp183 ;
 9194  unsigned long __cil_tmp184 ;
 9195  unsigned long __cil_tmp185 ;
 9196  __u16 __cil_tmp186 ;
 9197  int __cil_tmp187 ;
 9198  int __cil_tmp188 ;
 9199  unsigned long __cil_tmp189 ;
 9200  unsigned long __cil_tmp190 ;
 9201  unsigned long __cil_tmp191 ;
 9202  unsigned long __cil_tmp192 ;
 9203  unsigned int __cil_tmp193 ;
 9204  __u16 __cil_tmp194 ;
 9205  unsigned int __cil_tmp195 ;
 9206  unsigned int __cil_tmp196 ;
 9207  unsigned long __cil_tmp197 ;
 9208  unsigned long __cil_tmp198 ;
 9209  unsigned int __cil_tmp199 ;
 9210  unsigned long __cil_tmp200 ;
 9211  unsigned long __cil_tmp201 ;
 9212  unsigned long __cil_tmp202 ;
 9213  unsigned long __cil_tmp203 ;
 9214  __u16 *__cil_tmp204 ;
 9215  unsigned long __cil_tmp205 ;
 9216  unsigned long __cil_tmp206 ;
 9217  unsigned long __cil_tmp207 ;
 9218  __u16 *__cil_tmp208 ;
 9219  unsigned long __cil_tmp209 ;
 9220  unsigned long __cil_tmp210 ;
 9221  unsigned long __cil_tmp211 ;
 9222  unsigned int __cil_tmp212 ;
 9223  unsigned long __cil_tmp213 ;
 9224  unsigned long __cil_tmp214 ;
 9225  unsigned long __cil_tmp215 ;
 9226  unsigned long __cil_tmp216 ;
 9227  __u16 *__cil_tmp217 ;
 9228  unsigned long __cil_tmp218 ;
 9229  unsigned long __cil_tmp219 ;
 9230  unsigned long __cil_tmp220 ;
 9231  __u16 *__cil_tmp221 ;
 9232  unsigned long __cil_tmp222 ;
 9233  unsigned long __cil_tmp223 ;
 9234  unsigned long __cil_tmp224 ;
 9235  __u16 *__cil_tmp225 ;
 9236  void const   *__cil_tmp226 ;
 9237  unsigned long __cil_tmp227 ;
 9238  unsigned long __cil_tmp228 ;
 9239  unsigned long __cil_tmp229 ;
 9240  __u16 *__cil_tmp230 ;
 9241  __u16 *__cil_tmp231 ;
 9242  unsigned long __cil_tmp232 ;
 9243  unsigned long __cil_tmp233 ;
 9244  unsigned int __cil_tmp234 ;
 9245  unsigned long __cil_tmp235 ;
 9246  unsigned long __cil_tmp236 ;
 9247  unsigned long __cil_tmp237 ;
 9248  __u16 *__cil_tmp238 ;
 9249  __u16 *__cil_tmp239 ;
 9250  unsigned long __cil_tmp240 ;
 9251  unsigned long __cil_tmp241 ;
 9252  unsigned int __cil_tmp242 ;
 9253  unsigned long __cil_tmp243 ;
 9254  unsigned long __cil_tmp244 ;
 9255  unsigned long __cil_tmp245 ;
 9256  __u16 *__cil_tmp246 ;
 9257  __u16 *__cil_tmp247 ;
 9258  unsigned long __cil_tmp248 ;
 9259  unsigned long __cil_tmp249 ;
 9260  unsigned long __cil_tmp250 ;
 9261  struct mtd_info *__cil_tmp251 ;
 9262  unsigned long __cil_tmp252 ;
 9263  unsigned long __cil_tmp253 ;
 9264  __u32 __cil_tmp254 ;
 9265  unsigned int __cil_tmp255 ;
 9266  loff_t __cil_tmp256 ;
 9267  unsigned long __cil_tmp257 ;
 9268  unsigned long __cil_tmp258 ;
 9269  unsigned long __cil_tmp259 ;
 9270  __u16 *__cil_tmp260 ;
 9271  __u16 *__cil_tmp261 ;
 9272  unsigned long __cil_tmp262 ;
 9273  unsigned long __cil_tmp263 ;
 9274  unsigned int __cil_tmp264 ;
 9275  unsigned long __cil_tmp265 ;
 9276  unsigned long __cil_tmp266 ;
 9277  unsigned long __cil_tmp267 ;
 9278  unsigned long __cil_tmp268 ;
 9279  unsigned int __cil_tmp269 ;
 9280
 9281  {
 9282#line 55
 9283  boot_record_count = 0U;
 9284#line 58
 9285  __cil_tmp21 = (unsigned long )nftl;
 9286#line 58
 9287  __cil_tmp22 = __cil_tmp21 + 360;
 9288#line 58
 9289  mh = (struct NFTLMediaHeader *)__cil_tmp22;
 9290#line 59
 9291  __cil_tmp23 = 0 + 24;
 9292#line 59
 9293  __cil_tmp24 = (unsigned long )nftl;
 9294#line 59
 9295  __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
 9296#line 59
 9297  mtd = *((struct mtd_info **)__cil_tmp25);
 9298#line 68
 9299  __cil_tmp26 = (unsigned long )nftl;
 9300#line 68
 9301  __cil_tmp27 = __cil_tmp26 + 356;
 9302#line 68
 9303  __cil_tmp28 = 0 + 24;
 9304#line 68
 9305  __cil_tmp29 = (unsigned long )nftl;
 9306#line 68
 9307  __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
 9308#line 68
 9309  __cil_tmp31 = *((struct mtd_info **)__cil_tmp30);
 9310#line 68
 9311  __cil_tmp32 = (unsigned long )__cil_tmp31;
 9312#line 68
 9313  __cil_tmp33 = __cil_tmp32 + 16;
 9314#line 68
 9315  *((__u32 *)__cil_tmp27) = *((uint32_t *)__cil_tmp33);
 9316#line 69
 9317  __cil_tmp34 = (unsigned long )nftl;
 9318#line 69
 9319  __cil_tmp35 = __cil_tmp34 + 424;
 9320#line 69
 9321  __cil_tmp36 = (unsigned long )nftl;
 9322#line 69
 9323  __cil_tmp37 = __cil_tmp36 + 356;
 9324#line 69
 9325  __cil_tmp38 = *((__u32 *)__cil_tmp37);
 9326#line 69
 9327  __cil_tmp39 = 0 + 24;
 9328#line 69
 9329  __cil_tmp40 = (unsigned long )nftl;
 9330#line 69
 9331  __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
 9332#line 69
 9333  __cil_tmp42 = *((struct mtd_info **)__cil_tmp41);
 9334#line 69
 9335  __cil_tmp43 = (unsigned long )__cil_tmp42;
 9336#line 69
 9337  __cil_tmp44 = __cil_tmp43 + 8;
 9338#line 69
 9339  __cil_tmp45 = *((uint64_t *)__cil_tmp44);
 9340#line 69
 9341  __cil_tmp46 = (unsigned int )__cil_tmp45;
 9342#line 69
 9343  *((unsigned int *)__cil_tmp35) = __cil_tmp46 / __cil_tmp38;
 9344#line 71
 9345  __cil_tmp47 = (unsigned long )nftl;
 9346#line 71
 9347  __cil_tmp48 = __cil_tmp47 + 352;
 9348#line 71
 9349  *((__u16 *)__cil_tmp48) = (__u16 )65535U;
 9350#line 72
 9351  __cil_tmp49 = (unsigned long )nftl;
 9352#line 72
 9353  __cil_tmp50 = __cil_tmp49 + 354;
 9354#line 72
 9355  *((__u16 *)__cil_tmp50) = (__u16 )65535U;
 9356#line 75
 9357  block = 0U;
 9358#line 75
 9359  goto ldv_19225;
 9360  ldv_19224: 
 9361  {
 9362#line 80
 9363  __cil_tmp51 = (unsigned long )nftl;
 9364#line 80
 9365  __cil_tmp52 = __cil_tmp51 + 356;
 9366#line 80
 9367  __cil_tmp53 = *((__u32 *)__cil_tmp52);
 9368#line 80
 9369  __cil_tmp54 = __cil_tmp53 * block;
 9370#line 80
 9371  __cil_tmp55 = (loff_t )__cil_tmp54;
 9372#line 80
 9373  __cil_tmp56 = (u_char *)(& buf);
 9374#line 80
 9375  ret = mtd_read(mtd, __cil_tmp55, 512UL, & retlen, __cil_tmp56);
 9376  }
 9377  {
 9378#line 84
 9379  __cil_tmp57 = & retlen;
 9380#line 84
 9381  __cil_tmp58 = *__cil_tmp57;
 9382#line 84
 9383  if (__cil_tmp58 != 512UL) {
 9384#line 85
 9385    warncount = 5;
 9386#line 87
 9387    if (warncount != 0) {
 9388      {
 9389#line 88
 9390      __cil_tmp59 = (unsigned long )nftl;
 9391#line 88
 9392      __cil_tmp60 = __cil_tmp59 + 356;
 9393#line 88
 9394      __cil_tmp61 = *((__u32 *)__cil_tmp60);
 9395#line 88
 9396      __cil_tmp62 = __cil_tmp61 * block;
 9397#line 88
 9398      __cil_tmp63 = 0 + 24;
 9399#line 88
 9400      __cil_tmp64 = (unsigned long )nftl;
 9401#line 88
 9402      __cil_tmp65 = __cil_tmp64 + __cil_tmp63;
 9403#line 88
 9404      __cil_tmp66 = *((struct mtd_info **)__cil_tmp65);
 9405#line 88
 9406      __cil_tmp67 = (unsigned long )__cil_tmp66;
 9407#line 88
 9408      __cil_tmp68 = __cil_tmp67 + 64;
 9409#line 88
 9410      __cil_tmp69 = *((int *)__cil_tmp68);
 9411#line 88
 9412      printk("<4>Block read at 0x%x of mtd%d failed: %d\n", __cil_tmp62, __cil_tmp69,
 9413             ret);
 9414#line 90
 9415      warncount = warncount - 1;
 9416      }
 9417#line 90
 9418      if (warncount == 0) {
 9419        {
 9420#line 91
 9421        printk("<4>Further failures for this block will not be printed\n");
 9422        }
 9423      } else {
 9424
 9425      }
 9426    } else {
 9427
 9428    }
 9429#line 93
 9430    goto ldv_19211;
 9431  } else {
 9432
 9433  }
 9434  }
 9435  {
 9436#line 96
 9437  __cil_tmp70 = & retlen;
 9438#line 96
 9439  __cil_tmp71 = *__cil_tmp70;
 9440#line 96
 9441  if (__cil_tmp71 <= 5UL) {
 9442#line 102
 9443    goto ldv_19211;
 9444  } else {
 9445    {
 9446#line 96
 9447    __cil_tmp72 = (void const   *)(& buf);
 9448#line 96
 9449    __cil_tmp73 = (void const   *)"ANAND";
 9450#line 96
 9451    tmp = memcmp(__cil_tmp72, __cil_tmp73, 6UL);
 9452    }
 9453#line 96
 9454    if (tmp != 0) {
 9455#line 102
 9456      goto ldv_19211;
 9457    } else {
 9458
 9459    }
 9460  }
 9461  }
 9462  {
 9463#line 106
 9464  __cil_tmp74 = (unsigned long )nftl;
 9465#line 106
 9466  __cil_tmp75 = __cil_tmp74 + 356;
 9467#line 106
 9468  __cil_tmp76 = *((__u32 *)__cil_tmp75);
 9469#line 106
 9470  __cil_tmp77 = __cil_tmp76 * block;
 9471#line 106
 9472  __cil_tmp78 = __cil_tmp77 + 520U;
 9473#line 106
 9474  __cil_tmp79 = (loff_t )__cil_tmp78;
 9475#line 106
 9476  __cil_tmp80 = (uint8_t *)(& h1);
 9477#line 106
 9478  tmp___0 = nftl_read_oob(mtd, __cil_tmp79, 8UL, & retlen, __cil_tmp80);
 9479#line 106
 9480  ret = tmp___0 < 0;
 9481  }
 9482#line 106
 9483  if (ret != 0) {
 9484    {
 9485#line 109
 9486    __cil_tmp81 = (unsigned long )nftl;
 9487#line 109
 9488    __cil_tmp82 = __cil_tmp81 + 356;
 9489#line 109
 9490    __cil_tmp83 = *((__u32 *)__cil_tmp82);
 9491#line 109
 9492    __cil_tmp84 = __cil_tmp83 * block;
 9493#line 109
 9494    __cil_tmp85 = 0 + 24;
 9495#line 109
 9496    __cil_tmp86 = (unsigned long )nftl;
 9497#line 109
 9498    __cil_tmp87 = __cil_tmp86 + __cil_tmp85;
 9499#line 109
 9500    __cil_tmp88 = *((struct mtd_info **)__cil_tmp87);
 9501#line 109
 9502    __cil_tmp89 = (unsigned long )__cil_tmp88;
 9503#line 109
 9504    __cil_tmp90 = __cil_tmp89 + 64;
 9505#line 109
 9506    __cil_tmp91 = *((int *)__cil_tmp90);
 9507#line 109
 9508    printk("<4>ANAND header found at 0x%x in mtd%d, but OOB data read failed (err %d)\n",
 9509           __cil_tmp84, __cil_tmp91, ret);
 9510    }
 9511#line 111
 9512    goto ldv_19211;
 9513  } else {
 9514
 9515  }
 9516#line 144
 9517  if (boot_record_count != 0U) {
 9518    {
 9519#line 147
 9520    __cil_tmp92 = (void const   *)mh;
 9521#line 147
 9522    __cil_tmp93 = (void const   *)(& buf);
 9523#line 147
 9524    tmp___1 = memcmp(__cil_tmp92, __cil_tmp93, 15UL);
 9525    }
 9526#line 147
 9527    if (tmp___1 != 0) {
 9528      {
 9529#line 148
 9530      __cil_tmp94 = (unsigned long )nftl;
 9531#line 148
 9532      __cil_tmp95 = __cil_tmp94 + 356;
 9533#line 148
 9534      __cil_tmp96 = *((__u32 *)__cil_tmp95);
 9535#line 148
 9536      __cil_tmp97 = (unsigned long )nftl;
 9537#line 148
 9538      __cil_tmp98 = __cil_tmp97 + 352;
 9539#line 148
 9540      __cil_tmp99 = *((__u16 *)__cil_tmp98);
 9541#line 148
 9542      __cil_tmp100 = (__u32 )__cil_tmp99;
 9543#line 148
 9544      __cil_tmp101 = __cil_tmp100 * __cil_tmp96;
 9545#line 148
 9546      __cil_tmp102 = (unsigned long )nftl;
 9547#line 148
 9548      __cil_tmp103 = __cil_tmp102 + 356;
 9549#line 148
 9550      __cil_tmp104 = *((__u32 *)__cil_tmp103);
 9551#line 148
 9552      __cil_tmp105 = __cil_tmp104 * block;
 9553#line 148
 9554      printk("<5>NFTL Media Headers at 0x%x and 0x%x disagree.\n", __cil_tmp101, __cil_tmp105);
 9555      }
 9556#line 151
 9557      if (boot_record_count <= 1U) {
 9558#line 153
 9559        return (-1);
 9560      } else {
 9561
 9562      }
 9563#line 155
 9564      goto ldv_19211;
 9565    } else {
 9566
 9567    }
 9568#line 157
 9569    if (boot_record_count == 1U) {
 9570#line 158
 9571      __cil_tmp106 = (unsigned long )nftl;
 9572#line 158
 9573      __cil_tmp107 = __cil_tmp106 + 354;
 9574#line 158
 9575      *((__u16 *)__cil_tmp107) = (__u16 )block;
 9576    } else {
 9577
 9578    }
 9579#line 161
 9580    __cil_tmp108 = (unsigned long )block;
 9581#line 161
 9582    __cil_tmp109 = (unsigned long )nftl;
 9583#line 161
 9584    __cil_tmp110 = __cil_tmp109 + 416;
 9585#line 161
 9586    __cil_tmp111 = *((__u16 **)__cil_tmp110);
 9587#line 161
 9588    __cil_tmp112 = __cil_tmp111 + __cil_tmp108;
 9589#line 161
 9590    *__cil_tmp112 = (__u16 )65532U;
 9591#line 164
 9592    boot_record_count = boot_record_count + 1U;
 9593#line 165
 9594    goto ldv_19211;
 9595  } else {
 9596
 9597  }
 9598#line 169
 9599  __len = 15UL;
 9600#line 169
 9601  if (__len > 63UL) {
 9602    {
 9603#line 169
 9604    __cil_tmp113 = (void *)mh;
 9605#line 169
 9606    __cil_tmp114 = (void const   *)(& buf);
 9607#line 169
 9608    __ret = __memcpy(__cil_tmp113, __cil_tmp114, __len);
 9609    }
 9610  } else {
 9611    {
 9612#line 169
 9613    __cil_tmp115 = (void *)mh;
 9614#line 169
 9615    __cil_tmp116 = (void const   *)(& buf);
 9616#line 169
 9617    __ret = __builtin_memcpy(__cil_tmp115, __cil_tmp116, __len);
 9618    }
 9619  }
 9620#line 189
 9621  __cil_tmp117 = (unsigned long )nftl;
 9622#line 189
 9623  __cil_tmp118 = __cil_tmp117 + 428;
 9624#line 189
 9625  __cil_tmp119 = (unsigned long )mh;
 9626#line 189
 9627  __cil_tmp120 = __cil_tmp119 + 8;
 9628#line 189
 9629  __cil_tmp121 = *((__u16 *)__cil_tmp120);
 9630#line 189
 9631  *((unsigned int *)__cil_tmp118) = (unsigned int )__cil_tmp121;
 9632  {
 9633#line 190
 9634  __cil_tmp122 = (unsigned long )nftl;
 9635#line 190
 9636  __cil_tmp123 = __cil_tmp122 + 424;
 9637#line 190
 9638  __cil_tmp124 = *((unsigned int *)__cil_tmp123);
 9639#line 190
 9640  __cil_tmp125 = (unsigned long )nftl;
 9641#line 190
 9642  __cil_tmp126 = __cil_tmp125 + 428;
 9643#line 190
 9644  __cil_tmp127 = *((unsigned int *)__cil_tmp126);
 9645#line 190
 9646  __cil_tmp128 = __cil_tmp127 + 2U;
 9647#line 190
 9648  if (__cil_tmp128 >= __cil_tmp124) {
 9649    {
 9650#line 191
 9651    printk("<5>NFTL Media Header sanity check failed:\n");
 9652#line 192
 9653    __cil_tmp129 = (unsigned long )nftl;
 9654#line 192
 9655    __cil_tmp130 = __cil_tmp129 + 428;
 9656#line 192
 9657    __cil_tmp131 = *((unsigned int *)__cil_tmp130);
 9658#line 192
 9659    __cil_tmp132 = (unsigned long )nftl;
 9660#line 192
 9661    __cil_tmp133 = __cil_tmp132 + 424;
 9662#line 192
 9663    __cil_tmp134 = *((unsigned int *)__cil_tmp133);
 9664#line 192
 9665    printk("<5>nb_boot_blocks (%d) + 2 > nb_blocks (%d)\n", __cil_tmp131, __cil_tmp134);
 9666    }
 9667#line 194
 9668    return (-1);
 9669  } else {
 9670
 9671  }
 9672  }
 9673#line 197
 9674  __cil_tmp135 = (unsigned long )nftl;
 9675#line 197
 9676  __cil_tmp136 = __cil_tmp135 + 388;
 9677#line 197
 9678  __cil_tmp137 = (unsigned long )nftl;
 9679#line 197
 9680  __cil_tmp138 = __cil_tmp137 + 356;
 9681#line 197
 9682  __cil_tmp139 = *((__u32 *)__cil_tmp138);
 9683#line 197
 9684  __cil_tmp140 = (unsigned long )mh;
 9685#line 197
 9686  __cil_tmp141 = __cil_tmp140 + 12;
 9687#line 197
 9688  __cil_tmp142 = *((__u32 *)__cil_tmp141);
 9689#line 197
 9690  __cil_tmp143 = __cil_tmp142 / __cil_tmp139;
 9691#line 197
 9692  *((__u16 *)__cil_tmp136) = (__u16 )__cil_tmp143;
 9693  {
 9694#line 198
 9695  __cil_tmp144 = (unsigned long )nftl;
 9696#line 198
 9697  __cil_tmp145 = __cil_tmp144 + 428;
 9698#line 198
 9699  __cil_tmp146 = *((unsigned int *)__cil_tmp145);
 9700#line 198
 9701  __cil_tmp147 = (unsigned long )nftl;
 9702#line 198
 9703  __cil_tmp148 = __cil_tmp147 + 424;
 9704#line 198
 9705  __cil_tmp149 = *((unsigned int *)__cil_tmp148);
 9706#line 198
 9707  __cil_tmp150 = __cil_tmp149 - __cil_tmp146;
 9708#line 198
 9709  __cil_tmp151 = __cil_tmp150 - 2U;
 9710#line 198
 9711  __cil_tmp152 = (unsigned long )nftl;
 9712#line 198
 9713  __cil_tmp153 = __cil_tmp152 + 388;
 9714#line 198
 9715  __cil_tmp154 = *((__u16 *)__cil_tmp153);
 9716#line 198
 9717  __cil_tmp155 = (unsigned int )__cil_tmp154;
 9718#line 198
 9719  if (__cil_tmp155 > __cil_tmp151) {
 9720    {
 9721#line 199
 9722    printk("<5>NFTL Media Header sanity check failed:\n");
 9723#line 200
 9724    __cil_tmp156 = (unsigned long )nftl;
 9725#line 200
 9726    __cil_tmp157 = __cil_tmp156 + 388;
 9727#line 200
 9728    __cil_tmp158 = *((__u16 *)__cil_tmp157);
 9729#line 200
 9730    __cil_tmp159 = (int )__cil_tmp158;
 9731#line 200
 9732    __cil_tmp160 = (unsigned long )nftl;
 9733#line 200
 9734    __cil_tmp161 = __cil_tmp160 + 424;
 9735#line 200
 9736    __cil_tmp162 = *((unsigned int *)__cil_tmp161);
 9737#line 200
 9738    __cil_tmp163 = (unsigned long )nftl;
 9739#line 200
 9740    __cil_tmp164 = __cil_tmp163 + 428;
 9741#line 200
 9742    __cil_tmp165 = *((unsigned int *)__cil_tmp164);
 9743#line 200
 9744    printk("<5>numvunits (%d) > nb_blocks (%d) - nb_boot_blocks(%d) - 2\n", __cil_tmp159,
 9745           __cil_tmp162, __cil_tmp165);
 9746    }
 9747#line 202
 9748    return (-1);
 9749  } else {
 9750
 9751  }
 9752  }
 9753  {
 9754#line 205
 9755  __cil_tmp166 = 0 + 208;
 9756#line 205
 9757  __cil_tmp167 = (unsigned long )nftl;
 9758#line 205
 9759  __cil_tmp168 = __cil_tmp167 + __cil_tmp166;
 9760#line 205
 9761  __cil_tmp169 = (unsigned long )nftl;
 9762#line 205
 9763  __cil_tmp170 = __cil_tmp169 + 356;
 9764#line 205
 9765  __cil_tmp171 = *((__u32 *)__cil_tmp170);
 9766#line 205
 9767  __cil_tmp172 = __cil_tmp171 / 512U;
 9768#line 205
 9769  __cil_tmp173 = (unsigned long )nftl;
 9770#line 205
 9771  __cil_tmp174 = __cil_tmp173 + 388;
 9772#line 205
 9773  __cil_tmp175 = *((__u16 *)__cil_tmp174);
 9774#line 205
 9775  __cil_tmp176 = (__u32 )__cil_tmp175;
 9776#line 205
 9777  __cil_tmp177 = __cil_tmp176 * __cil_tmp172;
 9778#line 205
 9779  *((unsigned long *)__cil_tmp168) = (unsigned long )__cil_tmp177;
 9780#line 209
 9781  __cil_tmp178 = (unsigned long )nftl;
 9782#line 209
 9783  __cil_tmp179 = __cil_tmp178 + 424;
 9784#line 209
 9785  __cil_tmp180 = (unsigned long )mh;
 9786#line 209
 9787  __cil_tmp181 = __cil_tmp180 + 8;
 9788#line 209
 9789  __cil_tmp182 = *((__u16 *)__cil_tmp181);
 9790#line 209
 9791  __cil_tmp183 = (int )__cil_tmp182;
 9792#line 209
 9793  __cil_tmp184 = (unsigned long )mh;
 9794#line 209
 9795  __cil_tmp185 = __cil_tmp184 + 6;
 9796#line 209
 9797  __cil_tmp186 = *((__u16 *)__cil_tmp185);
 9798#line 209
 9799  __cil_tmp187 = (int )__cil_tmp186;
 9800#line 209
 9801  __cil_tmp188 = __cil_tmp187 + __cil_tmp183;
 9802#line 209
 9803  *((unsigned int *)__cil_tmp179) = (unsigned int )__cil_tmp188;
 9804#line 212
 9805  __cil_tmp189 = (unsigned long )nftl;
 9806#line 212
 9807  __cil_tmp190 = __cil_tmp189 + 390;
 9808#line 212
 9809  __cil_tmp191 = (unsigned long )nftl;
 9810#line 212
 9811  __cil_tmp192 = __cil_tmp191 + 424;
 9812#line 212
 9813  __cil_tmp193 = *((unsigned int *)__cil_tmp192);
 9814#line 212
 9815  __cil_tmp194 = (__u16 )__cil_tmp193;
 9816#line 212
 9817  __cil_tmp195 = (unsigned int )__cil_tmp194;
 9818#line 212
 9819  __cil_tmp196 = __cil_tmp195 - 1U;
 9820#line 212
 9821  *((__u16 *)__cil_tmp190) = (__u16 )__cil_tmp196;
 9822#line 215
 9823  __cil_tmp197 = (unsigned long )nftl;
 9824#line 215
 9825  __cil_tmp198 = __cil_tmp197 + 424;
 9826#line 215
 9827  __cil_tmp199 = *((unsigned int *)__cil_tmp198);
 9828#line 215
 9829  __cil_tmp200 = (unsigned long )__cil_tmp199;
 9830#line 215
 9831  __cil_tmp201 = __cil_tmp200 * 2UL;
 9832#line 215
 9833  tmp___2 = kmalloc(__cil_tmp201, 208U);
 9834#line 215
 9835  __cil_tmp202 = (unsigned long )nftl;
 9836#line 215
 9837  __cil_tmp203 = __cil_tmp202 + 408;
 9838#line 215
 9839  *((__u16 **)__cil_tmp203) = (__u16 *)tmp___2;
 9840  }
 9841  {
 9842#line 216
 9843  __cil_tmp204 = (__u16 *)0;
 9844#line 216
 9845  __cil_tmp205 = (unsigned long )__cil_tmp204;
 9846#line 216
 9847  __cil_tmp206 = (unsigned long )nftl;
 9848#line 216
 9849  __cil_tmp207 = __cil_tmp206 + 408;
 9850#line 216
 9851  __cil_tmp208 = *((__u16 **)__cil_tmp207);
 9852#line 216
 9853  __cil_tmp209 = (unsigned long )__cil_tmp208;
 9854#line 216
 9855  if (__cil_tmp209 == __cil_tmp205) {
 9856    {
 9857#line 217
 9858    printk("<5>NFTL: allocation of EUNtable failed\n");
 9859    }
 9860#line 218
 9861    return (-12);
 9862  } else {
 9863
 9864  }
 9865  }
 9866  {
 9867#line 221
 9868  __cil_tmp210 = (unsigned long )nftl;
 9869#line 221
 9870  __cil_tmp211 = __cil_tmp210 + 424;
 9871#line 221
 9872  __cil_tmp212 = *((unsigned int *)__cil_tmp211);
 9873#line 221
 9874  __cil_tmp213 = (unsigned long )__cil_tmp212;
 9875#line 221
 9876  __cil_tmp214 = __cil_tmp213 * 2UL;
 9877#line 221
 9878  tmp___3 = kmalloc(__cil_tmp214, 208U);
 9879#line 221
 9880  __cil_tmp215 = (unsigned long )nftl;
 9881#line 221
 9882  __cil_tmp216 = __cil_tmp215 + 416;
 9883#line 221
 9884  *((__u16 **)__cil_tmp216) = (__u16 *)tmp___3;
 9885  }
 9886  {
 9887#line 222
 9888  __cil_tmp217 = (__u16 *)0;
 9889#line 222
 9890  __cil_tmp218 = (unsigned long )__cil_tmp217;
 9891#line 222
 9892  __cil_tmp219 = (unsigned long )nftl;
 9893#line 222
 9894  __cil_tmp220 = __cil_tmp219 + 416;
 9895#line 222
 9896  __cil_tmp221 = *((__u16 **)__cil_tmp220);
 9897#line 222
 9898  __cil_tmp222 = (unsigned long )__cil_tmp221;
 9899#line 222
 9900  if (__cil_tmp222 == __cil_tmp218) {
 9901    {
 9902#line 223
 9903    __cil_tmp223 = (unsigned long )nftl;
 9904#line 223
 9905    __cil_tmp224 = __cil_tmp223 + 408;
 9906#line 223
 9907    __cil_tmp225 = *((__u16 **)__cil_tmp224);
 9908#line 223
 9909    __cil_tmp226 = (void const   *)__cil_tmp225;
 9910#line 223
 9911    kfree(__cil_tmp226);
 9912#line 224
 9913    printk("<5>NFTL: allocation of ReplUnitTable failed\n");
 9914    }
 9915#line 225
 9916    return (-12);
 9917  } else {
 9918
 9919  }
 9920  }
 9921#line 229
 9922  i = 0U;
 9923#line 229
 9924  goto ldv_19216;
 9925  ldv_19215: 
 9926#line 230
 9927  __cil_tmp227 = (unsigned long )i;
 9928#line 230
 9929  __cil_tmp228 = (unsigned long )nftl;
 9930#line 230
 9931  __cil_tmp229 = __cil_tmp228 + 416;
 9932#line 230
 9933  __cil_tmp230 = *((__u16 **)__cil_tmp229);
 9934#line 230
 9935  __cil_tmp231 = __cil_tmp230 + __cil_tmp227;
 9936#line 230
 9937  *__cil_tmp231 = (__u16 )65532U;
 9938#line 229
 9939  i = i + 1U;
 9940  ldv_19216: ;
 9941  {
 9942#line 229
 9943  __cil_tmp232 = (unsigned long )nftl;
 9944#line 229
 9945  __cil_tmp233 = __cil_tmp232 + 428;
 9946#line 229
 9947  __cil_tmp234 = *((unsigned int *)__cil_tmp233);
 9948#line 229
 9949  if (__cil_tmp234 > i) {
 9950#line 230
 9951    goto ldv_19215;
 9952  } else {
 9953#line 232
 9954    goto ldv_19217;
 9955  }
 9956  }
 9957  ldv_19217: ;
 9958#line 232
 9959  goto ldv_19219;
 9960  ldv_19218: 
 9961#line 233
 9962  __cil_tmp235 = (unsigned long )i;
 9963#line 233
 9964  __cil_tmp236 = (unsigned long )nftl;
 9965#line 233
 9966  __cil_tmp237 = __cil_tmp236 + 416;
 9967#line 233
 9968  __cil_tmp238 = *((__u16 **)__cil_tmp237);
 9969#line 233
 9970  __cil_tmp239 = __cil_tmp238 + __cil_tmp235;
 9971#line 233
 9972  *__cil_tmp239 = (__u16 )65533U;
 9973#line 232
 9974  i = i + 1U;
 9975  ldv_19219: ;
 9976  {
 9977#line 232
 9978  __cil_tmp240 = (unsigned long )nftl;
 9979#line 232
 9980  __cil_tmp241 = __cil_tmp240 + 424;
 9981#line 232
 9982  __cil_tmp242 = *((unsigned int *)__cil_tmp241);
 9983#line 232
 9984  if (__cil_tmp242 > i) {
 9985#line 233
 9986    goto ldv_19218;
 9987  } else {
 9988#line 235
 9989    goto ldv_19220;
 9990  }
 9991  }
 9992  ldv_19220: 
 9993#line 237
 9994  __cil_tmp243 = (unsigned long )block;
 9995#line 237
 9996  __cil_tmp244 = (unsigned long )nftl;
 9997#line 237
 9998  __cil_tmp245 = __cil_tmp244 + 416;
 9999#line 237
10000  __cil_tmp246 = *((__u16 **)__cil_tmp245);
10001#line 237
10002  __cil_tmp247 = __cil_tmp246 + __cil_tmp243;
10003#line 237
10004  *__cil_tmp247 = (__u16 )65532U;
10005#line 240
10006  i = 0U;
10007#line 240
10008  goto ldv_19222;
10009  ldv_19221: 
10010  {
10011#line 259
10012  __cil_tmp248 = 0 + 24;
10013#line 259
10014  __cil_tmp249 = (unsigned long )nftl;
10015#line 259
10016  __cil_tmp250 = __cil_tmp249 + __cil_tmp248;
10017#line 259
10018  __cil_tmp251 = *((struct mtd_info **)__cil_tmp250);
10019#line 259
10020  __cil_tmp252 = (unsigned long )nftl;
10021#line 259
10022  __cil_tmp253 = __cil_tmp252 + 356;
10023#line 259
10024  __cil_tmp254 = *((__u32 *)__cil_tmp253);
10025#line 259
10026  __cil_tmp255 = __cil_tmp254 * i;
10027#line 259
10028  __cil_tmp256 = (loff_t )__cil_tmp255;
10029#line 259
10030  tmp___4 = mtd_block_isbad(__cil_tmp251, __cil_tmp256);
10031  }
10032#line 259
10033  if (tmp___4 != 0) {
10034#line 261
10035    __cil_tmp257 = (unsigned long )i;
10036#line 261
10037    __cil_tmp258 = (unsigned long )nftl;
10038#line 261
10039    __cil_tmp259 = __cil_tmp258 + 416;
10040#line 261
10041    __cil_tmp260 = *((__u16 **)__cil_tmp259);
10042#line 261
10043    __cil_tmp261 = __cil_tmp260 + __cil_tmp257;
10044#line 261
10045    *__cil_tmp261 = (__u16 )65532U;
10046  } else {
10047
10048  }
10049#line 240
10050  i = i + 1U;
10051  ldv_19222: ;
10052  {
10053#line 240
10054  __cil_tmp262 = (unsigned long )nftl;
10055#line 240
10056  __cil_tmp263 = __cil_tmp262 + 424;
10057#line 240
10058  __cil_tmp264 = *((unsigned int *)__cil_tmp263);
10059#line 240
10060  if (__cil_tmp264 > i) {
10061#line 241
10062    goto ldv_19221;
10063  } else {
10064#line 243
10065    goto ldv_19223;
10066  }
10067  }
10068  ldv_19223: 
10069#line 264
10070  __cil_tmp265 = (unsigned long )nftl;
10071#line 264
10072  __cil_tmp266 = __cil_tmp265 + 352;
10073#line 264
10074  *((__u16 *)__cil_tmp266) = (__u16 )block;
10075#line 265
10076  boot_record_count = boot_record_count + 1U;
10077  ldv_19211: 
10078#line 75
10079  block = block + 1U;
10080  ldv_19225: ;
10081  {
10082#line 75
10083  __cil_tmp267 = (unsigned long )nftl;
10084#line 75
10085  __cil_tmp268 = __cil_tmp267 + 424;
10086#line 75
10087  __cil_tmp269 = *((unsigned int *)__cil_tmp268);
10088#line 75
10089  if (__cil_tmp269 > block) {
10090#line 76
10091    goto ldv_19224;
10092  } else {
10093#line 78
10094    goto ldv_19226;
10095  }
10096  }
10097  ldv_19226: ;
10098#line 269
10099  if (boot_record_count != 0U) {
10100#line 269
10101    tmp___5 = 0;
10102  } else {
10103#line 269
10104    tmp___5 = -1;
10105  }
10106#line 269
10107  return (tmp___5);
10108}
10109}
10110#line 272 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
10111static int memcmpb(void *a , int c , int n ) 
10112{ int i ;
10113  unsigned long __cil_tmp5 ;
10114  unsigned char *__cil_tmp6 ;
10115  unsigned char *__cil_tmp7 ;
10116  unsigned char __cil_tmp8 ;
10117  int __cil_tmp9 ;
10118
10119  {
10120#line 275
10121  i = 0;
10122#line 275
10123  goto ldv_19234;
10124  ldv_19233: ;
10125  {
10126#line 276
10127  __cil_tmp5 = (unsigned long )i;
10128#line 276
10129  __cil_tmp6 = (unsigned char *)a;
10130#line 276
10131  __cil_tmp7 = __cil_tmp6 + __cil_tmp5;
10132#line 276
10133  __cil_tmp8 = *__cil_tmp7;
10134#line 276
10135  __cil_tmp9 = (int )__cil_tmp8;
10136#line 276
10137  if (__cil_tmp9 != c) {
10138#line 277
10139    return (1);
10140  } else {
10141
10142  }
10143  }
10144#line 275
10145  i = i + 1;
10146  ldv_19234: ;
10147#line 275
10148  if (i < n) {
10149#line 276
10150    goto ldv_19233;
10151  } else {
10152#line 278
10153    goto ldv_19235;
10154  }
10155  ldv_19235: ;
10156#line 279
10157  return (0);
10158}
10159}
10160#line 283 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
10161static int check_free_sectors(struct NFTLrecord *nftl , unsigned int address , int len ,
10162                              int check_oob ) 
10163{ u8 *buf ;
10164  unsigned long __lengthofbuf ;
10165  void *tmp ;
10166  struct mtd_info *mtd ;
10167  size_t retlen ;
10168  int i ;
10169  int tmp___0 ;
10170  int tmp___1 ;
10171  int tmp___2 ;
10172  int tmp___3 ;
10173  unsigned long __cil_tmp15 ;
10174  unsigned long __cil_tmp16 ;
10175  unsigned long __cil_tmp17 ;
10176  struct mtd_info *__cil_tmp18 ;
10177  unsigned long __cil_tmp19 ;
10178  unsigned long __cil_tmp20 ;
10179  uint32_t __cil_tmp21 ;
10180  uint32_t __cil_tmp22 ;
10181  long __cil_tmp23 ;
10182  unsigned long __cil_tmp24 ;
10183  u8 **__cil_tmp25 ;
10184  unsigned long __cil_tmp26 ;
10185  unsigned long __cil_tmp27 ;
10186  unsigned long __cil_tmp28 ;
10187  loff_t __cil_tmp29 ;
10188  u_char *__cil_tmp30 ;
10189  void *__cil_tmp31 ;
10190  loff_t __cil_tmp32 ;
10191  unsigned long __cil_tmp33 ;
10192  unsigned long __cil_tmp34 ;
10193  uint32_t __cil_tmp35 ;
10194  size_t __cil_tmp36 ;
10195  uint8_t *__cil_tmp37 ;
10196  uint8_t *__cil_tmp38 ;
10197  void *__cil_tmp39 ;
10198  void *__cil_tmp40 ;
10199  unsigned long __cil_tmp41 ;
10200  unsigned long __cil_tmp42 ;
10201  uint32_t __cil_tmp43 ;
10202  int __cil_tmp44 ;
10203
10204  {
10205  {
10206#line 286
10207  __cil_tmp15 = 0 + 24;
10208#line 286
10209  __cil_tmp16 = (unsigned long )nftl;
10210#line 286
10211  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
10212#line 286
10213  __cil_tmp18 = *((struct mtd_info **)__cil_tmp17);
10214#line 286
10215  __cil_tmp19 = (unsigned long )__cil_tmp18;
10216#line 286
10217  __cil_tmp20 = __cil_tmp19 + 28;
10218#line 286
10219  __cil_tmp21 = *((uint32_t *)__cil_tmp20);
10220#line 286
10221  __cil_tmp22 = __cil_tmp21 + 512U;
10222#line 286
10223  __cil_tmp23 = (long )__cil_tmp22;
10224#line 286
10225  __lengthofbuf = (unsigned long )__cil_tmp23;
10226#line 286
10227  __cil_tmp24 = 1UL * __lengthofbuf;
10228#line 286
10229  tmp = __builtin_alloca(__cil_tmp24);
10230#line 286
10231  __cil_tmp25 = & buf;
10232#line 286
10233  *__cil_tmp25 = (u8 *)tmp;
10234#line 287
10235  __cil_tmp26 = 0 + 24;
10236#line 287
10237  __cil_tmp27 = (unsigned long )nftl;
10238#line 287
10239  __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
10240#line 287
10241  mtd = *((struct mtd_info **)__cil_tmp28);
10242#line 291
10243  i = 0;
10244  }
10245#line 291
10246  goto ldv_19247;
10247  ldv_19246: 
10248  {
10249#line 292
10250  __cil_tmp29 = (loff_t )address;
10251#line 292
10252  __cil_tmp30 = (u_char *)(& buf);
10253#line 292
10254  tmp___0 = mtd_read(mtd, __cil_tmp29, 512UL, & retlen, __cil_tmp30);
10255  }
10256#line 292
10257  if (tmp___0 != 0) {
10258#line 293
10259    return (-1);
10260  } else {
10261
10262  }
10263  {
10264#line 294
10265  __cil_tmp31 = (void *)(& buf);
10266#line 294
10267  tmp___1 = memcmpb(__cil_tmp31, 255, 512);
10268  }
10269#line 294
10270  if (tmp___1 != 0) {
10271#line 295
10272    return (-1);
10273  } else {
10274
10275  }
10276#line 297
10277  if (check_oob != 0) {
10278    {
10279#line 298
10280    __cil_tmp32 = (loff_t )address;
10281#line 298
10282    __cil_tmp33 = (unsigned long )mtd;
10283#line 298
10284    __cil_tmp34 = __cil_tmp33 + 28;
10285#line 298
10286    __cil_tmp35 = *((uint32_t *)__cil_tmp34);
10287#line 298
10288    __cil_tmp36 = (size_t )__cil_tmp35;
10289#line 298
10290    __cil_tmp37 = (uint8_t *)(& buf);
10291#line 298
10292    __cil_tmp38 = __cil_tmp37 + 512U;
10293#line 298
10294    tmp___2 = nftl_read_oob(mtd, __cil_tmp32, __cil_tmp36, & retlen, __cil_tmp38);
10295    }
10296#line 298
10297    if (tmp___2 < 0) {
10298#line 300
10299      return (-1);
10300    } else {
10301
10302    }
10303    {
10304#line 301
10305    __cil_tmp39 = (void *)(& buf);
10306#line 301
10307    __cil_tmp40 = __cil_tmp39 + 512U;
10308#line 301
10309    __cil_tmp41 = (unsigned long )mtd;
10310#line 301
10311    __cil_tmp42 = __cil_tmp41 + 28;
10312#line 301
10313    __cil_tmp43 = *((uint32_t *)__cil_tmp42);
10314#line 301
10315    __cil_tmp44 = (int )__cil_tmp43;
10316#line 301
10317    tmp___3 = memcmpb(__cil_tmp40, 255, __cil_tmp44);
10318    }
10319#line 301
10320    if (tmp___3 != 0) {
10321#line 302
10322      return (-1);
10323    } else {
10324
10325    }
10326  } else {
10327
10328  }
10329#line 304
10330  address = address + 512U;
10331#line 291
10332  i = i + 512;
10333  ldv_19247: ;
10334#line 291
10335  if (i < len) {
10336#line 292
10337    goto ldv_19246;
10338  } else {
10339#line 294
10340    goto ldv_19248;
10341  }
10342  ldv_19248: ;
10343#line 307
10344  return (0);
10345}
10346}
10347#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
10348int NFTL_formatblock(struct NFTLrecord *nftl , int block ) 
10349{ size_t retlen ;
10350  unsigned int nb_erases ;
10351  unsigned int erase_mark ;
10352  struct nftl_uci1 uci ;
10353  struct erase_info *instr ;
10354  struct mtd_info *mtd ;
10355  int tmp ;
10356  int tmp___0 ;
10357  int tmp___1 ;
10358  unsigned long __cil_tmp12 ;
10359  unsigned long __cil_tmp13 ;
10360  unsigned long __cil_tmp14 ;
10361  unsigned long __cil_tmp15 ;
10362  unsigned long __cil_tmp16 ;
10363  __u32 __cil_tmp17 ;
10364  unsigned long __cil_tmp18 ;
10365  unsigned long __cil_tmp19 ;
10366  __u32 __cil_tmp20 ;
10367  __u32 __cil_tmp21 ;
10368  __u32 __cil_tmp22 ;
10369  loff_t __cil_tmp23 ;
10370  uint8_t *__cil_tmp24 ;
10371  unsigned long __cil_tmp25 ;
10372  __u16 __cil_tmp26 ;
10373  int __cil_tmp27 ;
10374  unsigned long __cil_tmp28 ;
10375  __u16 __cil_tmp29 ;
10376  int __cil_tmp30 ;
10377  int __cil_tmp31 ;
10378  unsigned long __cil_tmp32 ;
10379  unsigned long __cil_tmp33 ;
10380  struct nftl_uci1 *__cil_tmp34 ;
10381  void *__cil_tmp35 ;
10382  unsigned long __cil_tmp36 ;
10383  unsigned long __cil_tmp37 ;
10384  unsigned long __cil_tmp38 ;
10385  unsigned long __cil_tmp39 ;
10386  unsigned long __cil_tmp40 ;
10387  __u32 __cil_tmp41 ;
10388  unsigned long __cil_tmp42 ;
10389  unsigned long __cil_tmp43 ;
10390  __u32 __cil_tmp44 ;
10391  __u32 __cil_tmp45 ;
10392  unsigned long __cil_tmp46 ;
10393  unsigned long __cil_tmp47 ;
10394  unsigned long __cil_tmp48 ;
10395  unsigned long __cil_tmp49 ;
10396  __u32 __cil_tmp50 ;
10397  unsigned long __cil_tmp51 ;
10398  unsigned long __cil_tmp52 ;
10399  u_char __cil_tmp53 ;
10400  unsigned int __cil_tmp54 ;
10401  struct nftl_uci1 *__cil_tmp55 ;
10402  unsigned long __cil_tmp56 ;
10403  unsigned long __cil_tmp57 ;
10404  uint64_t __cil_tmp58 ;
10405  unsigned int __cil_tmp59 ;
10406  unsigned long __cil_tmp60 ;
10407  unsigned long __cil_tmp61 ;
10408  __u32 __cil_tmp62 ;
10409  int __cil_tmp63 ;
10410  struct nftl_uci1 *__cil_tmp64 ;
10411  __u32 __cil_tmp65 ;
10412  unsigned long __cil_tmp66 ;
10413  unsigned long __cil_tmp67 ;
10414  __u32 __cil_tmp68 ;
10415  __u32 __cil_tmp69 ;
10416  __u32 __cil_tmp70 ;
10417  loff_t __cil_tmp71 ;
10418  uint8_t *__cil_tmp72 ;
10419  unsigned long __cil_tmp73 ;
10420  unsigned long __cil_tmp74 ;
10421  unsigned long __cil_tmp75 ;
10422  struct mtd_info *__cil_tmp76 ;
10423  unsigned long __cil_tmp77 ;
10424  unsigned long __cil_tmp78 ;
10425  uint64_t __cil_tmp79 ;
10426  loff_t __cil_tmp80 ;
10427
10428  {
10429  {
10430#line 322
10431  __cil_tmp12 = (unsigned long )nftl;
10432#line 322
10433  __cil_tmp13 = __cil_tmp12 + 432;
10434#line 322
10435  instr = (struct erase_info *)__cil_tmp13;
10436#line 323
10437  __cil_tmp14 = 0 + 24;
10438#line 323
10439  __cil_tmp15 = (unsigned long )nftl;
10440#line 323
10441  __cil_tmp16 = __cil_tmp15 + __cil_tmp14;
10442#line 323
10443  mtd = *((struct mtd_info **)__cil_tmp16);
10444#line 326
10445  __cil_tmp17 = (__u32 )block;
10446#line 326
10447  __cil_tmp18 = (unsigned long )nftl;
10448#line 326
10449  __cil_tmp19 = __cil_tmp18 + 356;
10450#line 326
10451  __cil_tmp20 = *((__u32 *)__cil_tmp19);
10452#line 326
10453  __cil_tmp21 = __cil_tmp20 * __cil_tmp17;
10454#line 326
10455  __cil_tmp22 = __cil_tmp21 + 520U;
10456#line 326
10457  __cil_tmp23 = (loff_t )__cil_tmp22;
10458#line 326
10459  __cil_tmp24 = (uint8_t *)(& uci);
10460#line 326
10461  tmp = nftl_read_oob(mtd, __cil_tmp23, 8UL, & retlen, __cil_tmp24);
10462  }
10463#line 326
10464  if (tmp < 0) {
10465#line 328
10466    goto default_uci1;
10467  } else {
10468
10469  }
10470#line 330
10471  __cil_tmp25 = (unsigned long )(& uci) + 6;
10472#line 330
10473  __cil_tmp26 = *((__u16 *)__cil_tmp25);
10474#line 330
10475  __cil_tmp27 = (int )__cil_tmp26;
10476#line 330
10477  __cil_tmp28 = (unsigned long )(& uci) + 4;
10478#line 330
10479  __cil_tmp29 = *((__u16 *)__cil_tmp28);
10480#line 330
10481  __cil_tmp30 = (int )__cil_tmp29;
10482#line 330
10483  __cil_tmp31 = __cil_tmp30 | __cil_tmp27;
10484#line 330
10485  erase_mark = (unsigned int )__cil_tmp31;
10486#line 331
10487  if (erase_mark != 15465U) {
10488    default_uci1: 
10489#line 333
10490    __cil_tmp32 = (unsigned long )(& uci) + 4;
10491#line 333
10492    *((__u16 *)__cil_tmp32) = (__u16 )15465U;
10493#line 334
10494    __cil_tmp33 = (unsigned long )(& uci) + 6;
10495#line 334
10496    *((__u16 *)__cil_tmp33) = (__u16 )15465U;
10497#line 335
10498    __cil_tmp34 = & uci;
10499#line 335
10500    *((__u32 *)__cil_tmp34) = 0U;
10501  } else {
10502
10503  }
10504  {
10505#line 338
10506  __cil_tmp35 = (void *)instr;
10507#line 338
10508  memset(__cil_tmp35, 0, 88UL);
10509#line 341
10510  __cil_tmp36 = 0 + 24;
10511#line 341
10512  __cil_tmp37 = (unsigned long )nftl;
10513#line 341
10514  __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
10515#line 341
10516  *((struct mtd_info **)instr) = *((struct mtd_info **)__cil_tmp38);
10517#line 342
10518  __cil_tmp39 = (unsigned long )instr;
10519#line 342
10520  __cil_tmp40 = __cil_tmp39 + 8;
10521#line 342
10522  __cil_tmp41 = (__u32 )block;
10523#line 342
10524  __cil_tmp42 = (unsigned long )nftl;
10525#line 342
10526  __cil_tmp43 = __cil_tmp42 + 356;
10527#line 342
10528  __cil_tmp44 = *((__u32 *)__cil_tmp43);
10529#line 342
10530  __cil_tmp45 = __cil_tmp44 * __cil_tmp41;
10531#line 342
10532  *((uint64_t *)__cil_tmp40) = (uint64_t )__cil_tmp45;
10533#line 343
10534  __cil_tmp46 = (unsigned long )instr;
10535#line 343
10536  __cil_tmp47 = __cil_tmp46 + 16;
10537#line 343
10538  __cil_tmp48 = (unsigned long )nftl;
10539#line 343
10540  __cil_tmp49 = __cil_tmp48 + 356;
10541#line 343
10542  __cil_tmp50 = *((__u32 *)__cil_tmp49);
10543#line 343
10544  *((uint64_t *)__cil_tmp47) = (uint64_t )__cil_tmp50;
10545#line 344
10546  mtd_erase(mtd, instr);
10547  }
10548  {
10549#line 346
10550  __cil_tmp51 = (unsigned long )instr;
10551#line 346
10552  __cil_tmp52 = __cil_tmp51 + 72;
10553#line 346
10554  __cil_tmp53 = *((u_char *)__cil_tmp52);
10555#line 346
10556  __cil_tmp54 = (unsigned int )__cil_tmp53;
10557#line 346
10558  if (__cil_tmp54 == 16U) {
10559    {
10560#line 347
10561    printk("Error while formatting block %d\n", block);
10562    }
10563#line 348
10564    goto fail;
10565  } else {
10566
10567  }
10568  }
10569#line 352
10570  __cil_tmp55 = & uci;
10571#line 352
10572  nb_erases = *((__u32 *)__cil_tmp55);
10573#line 353
10574  nb_erases = nb_erases + 1U;
10575#line 356
10576  if (nb_erases == 0U) {
10577#line 357
10578    nb_erases = 1U;
10579  } else {
10580
10581  }
10582  {
10583#line 362
10584  __cil_tmp56 = (unsigned long )instr;
10585#line 362
10586  __cil_tmp57 = __cil_tmp56 + 8;
10587#line 362
10588  __cil_tmp58 = *((uint64_t *)__cil_tmp57);
10589#line 362
10590  __cil_tmp59 = (unsigned int )__cil_tmp58;
10591#line 362
10592  __cil_tmp60 = (unsigned long )nftl;
10593#line 362
10594  __cil_tmp61 = __cil_tmp60 + 356;
10595#line 362
10596  __cil_tmp62 = *((__u32 *)__cil_tmp61);
10597#line 362
10598  __cil_tmp63 = (int )__cil_tmp62;
10599#line 362
10600  tmp___0 = check_free_sectors(nftl, __cil_tmp59, __cil_tmp63, 1);
10601  }
10602#line 362
10603  if (tmp___0 != 0) {
10604#line 363
10605    goto fail;
10606  } else {
10607
10608  }
10609  {
10610#line 365
10611  __cil_tmp64 = & uci;
10612#line 365
10613  *((__u32 *)__cil_tmp64) = nb_erases;
10614#line 366
10615  __cil_tmp65 = (__u32 )block;
10616#line 366
10617  __cil_tmp66 = (unsigned long )nftl;
10618#line 366
10619  __cil_tmp67 = __cil_tmp66 + 356;
10620#line 366
10621  __cil_tmp68 = *((__u32 *)__cil_tmp67);
10622#line 366
10623  __cil_tmp69 = __cil_tmp68 * __cil_tmp65;
10624#line 366
10625  __cil_tmp70 = __cil_tmp69 + 520U;
10626#line 366
10627  __cil_tmp71 = (loff_t )__cil_tmp70;
10628#line 366
10629  __cil_tmp72 = (uint8_t *)(& uci);
10630#line 366
10631  tmp___1 = nftl_write_oob(mtd, __cil_tmp71, 8UL, & retlen, __cil_tmp72);
10632  }
10633#line 366
10634  if (tmp___1 < 0) {
10635#line 368
10636    goto fail;
10637  } else {
10638
10639  }
10640#line 369
10641  return (0);
10642  fail: 
10643  {
10644#line 373
10645  __cil_tmp73 = 0 + 24;
10646#line 373
10647  __cil_tmp74 = (unsigned long )nftl;
10648#line 373
10649  __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
10650#line 373
10651  __cil_tmp76 = *((struct mtd_info **)__cil_tmp75);
10652#line 373
10653  __cil_tmp77 = (unsigned long )instr;
10654#line 373
10655  __cil_tmp78 = __cil_tmp77 + 8;
10656#line 373
10657  __cil_tmp79 = *((uint64_t *)__cil_tmp78);
10658#line 373
10659  __cil_tmp80 = (loff_t )__cil_tmp79;
10660#line 373
10661  mtd_block_markbad(__cil_tmp76, __cil_tmp80);
10662  }
10663#line 374
10664  return (-1);
10665}
10666}
10667#line 386 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
10668static void check_sectors_in_chain(struct NFTLrecord *nftl , unsigned int first_block ) 
10669{ struct mtd_info *mtd ;
10670  unsigned int block ;
10671  unsigned int i ;
10672  unsigned int status ;
10673  struct nftl_bci bci ;
10674  int sectors_per_block ;
10675  size_t retlen ;
10676  int tmp ;
10677  int tmp___0 ;
10678  int tmp___1 ;
10679  unsigned long __cil_tmp13 ;
10680  unsigned long __cil_tmp14 ;
10681  unsigned long __cil_tmp15 ;
10682  unsigned long __cil_tmp16 ;
10683  unsigned long __cil_tmp17 ;
10684  __u32 __cil_tmp18 ;
10685  __u32 __cil_tmp19 ;
10686  unsigned int __cil_tmp20 ;
10687  unsigned long __cil_tmp21 ;
10688  unsigned long __cil_tmp22 ;
10689  __u32 __cil_tmp23 ;
10690  unsigned int __cil_tmp24 ;
10691  unsigned int __cil_tmp25 ;
10692  loff_t __cil_tmp26 ;
10693  uint8_t *__cil_tmp27 ;
10694  unsigned long __cil_tmp28 ;
10695  __u8 __cil_tmp29 ;
10696  int __cil_tmp30 ;
10697  unsigned long __cil_tmp31 ;
10698  __u8 __cil_tmp32 ;
10699  int __cil_tmp33 ;
10700  int __cil_tmp34 ;
10701  void *__cil_tmp35 ;
10702  unsigned long __cil_tmp36 ;
10703  unsigned long __cil_tmp37 ;
10704  unsigned int __cil_tmp38 ;
10705  unsigned long __cil_tmp39 ;
10706  unsigned long __cil_tmp40 ;
10707  __u32 __cil_tmp41 ;
10708  unsigned int __cil_tmp42 ;
10709  unsigned int __cil_tmp43 ;
10710  loff_t __cil_tmp44 ;
10711  uint8_t *__cil_tmp45 ;
10712  unsigned int __cil_tmp46 ;
10713  unsigned long __cil_tmp47 ;
10714  unsigned long __cil_tmp48 ;
10715  __u32 __cil_tmp49 ;
10716  unsigned int __cil_tmp50 ;
10717  unsigned int __cil_tmp51 ;
10718  unsigned long __cil_tmp52 ;
10719  unsigned long __cil_tmp53 ;
10720  unsigned int __cil_tmp54 ;
10721  unsigned long __cil_tmp55 ;
10722  unsigned long __cil_tmp56 ;
10723  __u32 __cil_tmp57 ;
10724  unsigned int __cil_tmp58 ;
10725  unsigned int __cil_tmp59 ;
10726  loff_t __cil_tmp60 ;
10727  uint8_t *__cil_tmp61 ;
10728  unsigned int __cil_tmp62 ;
10729  unsigned long __cil_tmp63 ;
10730  unsigned long __cil_tmp64 ;
10731  unsigned long __cil_tmp65 ;
10732  __u16 *__cil_tmp66 ;
10733  __u16 *__cil_tmp67 ;
10734  __u16 __cil_tmp68 ;
10735  unsigned long __cil_tmp69 ;
10736  unsigned long __cil_tmp70 ;
10737  unsigned int __cil_tmp71 ;
10738  unsigned long __cil_tmp72 ;
10739  unsigned long __cil_tmp73 ;
10740  unsigned int __cil_tmp74 ;
10741
10742  {
10743#line 388
10744  __cil_tmp13 = 0 + 24;
10745#line 388
10746  __cil_tmp14 = (unsigned long )nftl;
10747#line 388
10748  __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
10749#line 388
10750  mtd = *((struct mtd_info **)__cil_tmp15);
10751#line 394
10752  __cil_tmp16 = (unsigned long )nftl;
10753#line 394
10754  __cil_tmp17 = __cil_tmp16 + 356;
10755#line 394
10756  __cil_tmp18 = *((__u32 *)__cil_tmp17);
10757#line 394
10758  __cil_tmp19 = __cil_tmp18 / 512U;
10759#line 394
10760  sectors_per_block = (int )__cil_tmp19;
10761#line 395
10762  block = first_block;
10763  ldv_19279: 
10764#line 397
10765  i = 0U;
10766#line 397
10767  goto ldv_19276;
10768  ldv_19275: 
10769  {
10770#line 398
10771  __cil_tmp20 = i * 512U;
10772#line 398
10773  __cil_tmp21 = (unsigned long )nftl;
10774#line 398
10775  __cil_tmp22 = __cil_tmp21 + 356;
10776#line 398
10777  __cil_tmp23 = *((__u32 *)__cil_tmp22);
10778#line 398
10779  __cil_tmp24 = __cil_tmp23 * block;
10780#line 398
10781  __cil_tmp25 = __cil_tmp24 + __cil_tmp20;
10782#line 398
10783  __cil_tmp26 = (loff_t )__cil_tmp25;
10784#line 398
10785  __cil_tmp27 = (uint8_t *)(& bci);
10786#line 398
10787  tmp = nftl_read_oob(mtd, __cil_tmp26, 8UL, & retlen, __cil_tmp27);
10788  }
10789#line 398
10790  if (tmp < 0) {
10791#line 401
10792    status = 17U;
10793  } else {
10794#line 403
10795    __cil_tmp28 = (unsigned long )(& bci) + 7;
10796#line 403
10797    __cil_tmp29 = *((__u8 *)__cil_tmp28);
10798#line 403
10799    __cil_tmp30 = (int )__cil_tmp29;
10800#line 403
10801    __cil_tmp31 = (unsigned long )(& bci) + 6;
10802#line 403
10803    __cil_tmp32 = *((__u8 *)__cil_tmp31);
10804#line 403
10805    __cil_tmp33 = (int )__cil_tmp32;
10806#line 403
10807    __cil_tmp34 = __cil_tmp33 | __cil_tmp30;
10808#line 403
10809    status = (unsigned int )__cil_tmp34;
10810  }
10811#line 406
10812  if ((int )status == 255) {
10813#line 406
10814    goto case_255;
10815  } else {
10816    {
10817#line 425
10818    goto switch_default;
10819#line 405
10820    if (0) {
10821      case_255: /* CIL Label */ 
10822      {
10823#line 409
10824      __cil_tmp35 = (void *)(& bci);
10825#line 409
10826      tmp___0 = memcmpb(__cil_tmp35, 255, 8);
10827      }
10828#line 409
10829      if (tmp___0 != 0) {
10830        {
10831#line 412
10832        printk("Incorrect free sector %d in block %d: marking it as ignored\n", i,
10833               block);
10834#line 417
10835        __cil_tmp36 = (unsigned long )(& bci) + 6;
10836#line 417
10837        *((__u8 *)__cil_tmp36) = (__u8 )17U;
10838#line 418
10839        __cil_tmp37 = (unsigned long )(& bci) + 7;
10840#line 418
10841        *((__u8 *)__cil_tmp37) = (__u8 )17U;
10842#line 419
10843        __cil_tmp38 = i * 512U;
10844#line 419
10845        __cil_tmp39 = (unsigned long )nftl;
10846#line 419
10847        __cil_tmp40 = __cil_tmp39 + 356;
10848#line 419
10849        __cil_tmp41 = *((__u32 *)__cil_tmp40);
10850#line 419
10851        __cil_tmp42 = __cil_tmp41 * block;
10852#line 419
10853        __cil_tmp43 = __cil_tmp42 + __cil_tmp38;
10854#line 419
10855        __cil_tmp44 = (loff_t )__cil_tmp43;
10856#line 419
10857        __cil_tmp45 = (uint8_t *)(& bci);
10858#line 419
10859        nftl_write_oob(mtd, __cil_tmp44, 8UL, & retlen, __cil_tmp45);
10860        }
10861      } else {
10862        {
10863#line 409
10864        __cil_tmp46 = i * 512U;
10865#line 409
10866        __cil_tmp47 = (unsigned long )nftl;
10867#line 409
10868        __cil_tmp48 = __cil_tmp47 + 356;
10869#line 409
10870        __cil_tmp49 = *((__u32 *)__cil_tmp48);
10871#line 409
10872        __cil_tmp50 = __cil_tmp49 * block;
10873#line 409
10874        __cil_tmp51 = __cil_tmp50 + __cil_tmp46;
10875#line 409
10876        tmp___1 = check_free_sectors(nftl, __cil_tmp51, 512, 0);
10877        }
10878#line 409
10879        if (tmp___1 != 0) {
10880          {
10881#line 412
10882          printk("Incorrect free sector %d in block %d: marking it as ignored\n",
10883                 i, block);
10884#line 417
10885          __cil_tmp52 = (unsigned long )(& bci) + 6;
10886#line 417
10887          *((__u8 *)__cil_tmp52) = (__u8 )17U;
10888#line 418
10889          __cil_tmp53 = (unsigned long )(& bci) + 7;
10890#line 418
10891          *((__u8 *)__cil_tmp53) = (__u8 )17U;
10892#line 419
10893          __cil_tmp54 = i * 512U;
10894#line 419
10895          __cil_tmp55 = (unsigned long )nftl;
10896#line 419
10897          __cil_tmp56 = __cil_tmp55 + 356;
10898#line 419
10899          __cil_tmp57 = *((__u32 *)__cil_tmp56);
10900#line 419
10901          __cil_tmp58 = __cil_tmp57 * block;
10902#line 419
10903          __cil_tmp59 = __cil_tmp58 + __cil_tmp54;
10904#line 419
10905          __cil_tmp60 = (loff_t )__cil_tmp59;
10906#line 419
10907          __cil_tmp61 = (uint8_t *)(& bci);
10908#line 419
10909          nftl_write_oob(mtd, __cil_tmp60, 8UL, & retlen, __cil_tmp61);
10910          }
10911        } else {
10912
10913        }
10914      }
10915#line 424
10916      goto ldv_19273;
10917      switch_default: /* CIL Label */ ;
10918#line 426
10919      goto ldv_19273;
10920    } else {
10921      switch_break: /* CIL Label */ ;
10922    }
10923    }
10924  }
10925  ldv_19273: 
10926#line 397
10927  i = i + 1U;
10928  ldv_19276: ;
10929  {
10930#line 397
10931  __cil_tmp62 = (unsigned int )sectors_per_block;
10932#line 397
10933  if (__cil_tmp62 > i) {
10934#line 398
10935    goto ldv_19275;
10936  } else {
10937#line 400
10938    goto ldv_19277;
10939  }
10940  }
10941  ldv_19277: 
10942#line 431
10943  __cil_tmp63 = (unsigned long )block;
10944#line 431
10945  __cil_tmp64 = (unsigned long )nftl;
10946#line 431
10947  __cil_tmp65 = __cil_tmp64 + 416;
10948#line 431
10949  __cil_tmp66 = *((__u16 **)__cil_tmp65);
10950#line 431
10951  __cil_tmp67 = __cil_tmp66 + __cil_tmp63;
10952#line 431
10953  __cil_tmp68 = *__cil_tmp67;
10954#line 431
10955  block = (unsigned int )__cil_tmp68;
10956#line 432
10957  if (block != 65535U) {
10958    {
10959#line 432
10960    __cil_tmp69 = (unsigned long )nftl;
10961#line 432
10962    __cil_tmp70 = __cil_tmp69 + 424;
10963#line 432
10964    __cil_tmp71 = *((unsigned int *)__cil_tmp70);
10965#line 432
10966    if (__cil_tmp71 <= block) {
10967      {
10968#line 433
10969      printk("incorrect ReplUnitTable[] : %d\n", block);
10970      }
10971    } else {
10972
10973    }
10974    }
10975  } else {
10976
10977  }
10978#line 434
10979  if (block == 65535U) {
10980#line 435
10981    goto ldv_19278;
10982  } else {
10983    {
10984#line 434
10985    __cil_tmp72 = (unsigned long )nftl;
10986#line 434
10987    __cil_tmp73 = __cil_tmp72 + 424;
10988#line 434
10989    __cil_tmp74 = *((unsigned int *)__cil_tmp73);
10990#line 434
10991    if (__cil_tmp74 <= block) {
10992#line 435
10993      goto ldv_19278;
10994    } else {
10995
10996    }
10997    }
10998  }
10999#line 436
11000  goto ldv_19279;
11001  ldv_19278: ;
11002#line 438
11003  return;
11004}
11005}
11006#line 440 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
11007static int calc_chain_length(struct NFTLrecord *nftl , unsigned int first_block ) 
11008{ unsigned int length ;
11009  unsigned int block ;
11010  unsigned long __cil_tmp5 ;
11011  unsigned long __cil_tmp6 ;
11012  unsigned int __cil_tmp7 ;
11013  unsigned long __cil_tmp8 ;
11014  unsigned long __cil_tmp9 ;
11015  unsigned long __cil_tmp10 ;
11016  __u16 *__cil_tmp11 ;
11017  __u16 *__cil_tmp12 ;
11018  __u16 __cil_tmp13 ;
11019  unsigned long __cil_tmp14 ;
11020  unsigned long __cil_tmp15 ;
11021  unsigned int __cil_tmp16 ;
11022  unsigned long __cil_tmp17 ;
11023  unsigned long __cil_tmp18 ;
11024  unsigned int __cil_tmp19 ;
11025
11026  {
11027#line 442
11028  length = 0U;
11029#line 442
11030  block = first_block;
11031  ldv_19287: 
11032#line 445
11033  length = length + 1U;
11034  {
11035#line 448
11036  __cil_tmp5 = (unsigned long )nftl;
11037#line 448
11038  __cil_tmp6 = __cil_tmp5 + 424;
11039#line 448
11040  __cil_tmp7 = *((unsigned int *)__cil_tmp6);
11041#line 448
11042  if (__cil_tmp7 <= length) {
11043    {
11044#line 449
11045    printk("nftl: length too long %d !\n", length);
11046    }
11047#line 450
11048    goto ldv_19286;
11049  } else {
11050
11051  }
11052  }
11053#line 453
11054  __cil_tmp8 = (unsigned long )block;
11055#line 453
11056  __cil_tmp9 = (unsigned long )nftl;
11057#line 453
11058  __cil_tmp10 = __cil_tmp9 + 416;
11059#line 453
11060  __cil_tmp11 = *((__u16 **)__cil_tmp10);
11061#line 453
11062  __cil_tmp12 = __cil_tmp11 + __cil_tmp8;
11063#line 453
11064  __cil_tmp13 = *__cil_tmp12;
11065#line 453
11066  block = (unsigned int )__cil_tmp13;
11067#line 454
11068  if (block != 65535U) {
11069    {
11070#line 454
11071    __cil_tmp14 = (unsigned long )nftl;
11072#line 454
11073    __cil_tmp15 = __cil_tmp14 + 424;
11074#line 454
11075    __cil_tmp16 = *((unsigned int *)__cil_tmp15);
11076#line 454
11077    if (__cil_tmp16 <= block) {
11078      {
11079#line 455
11080      printk("incorrect ReplUnitTable[] : %d\n", block);
11081      }
11082    } else {
11083
11084    }
11085    }
11086  } else {
11087
11088  }
11089#line 456
11090  if (block == 65535U) {
11091#line 457
11092    goto ldv_19286;
11093  } else {
11094    {
11095#line 456
11096    __cil_tmp17 = (unsigned long )nftl;
11097#line 456
11098    __cil_tmp18 = __cil_tmp17 + 424;
11099#line 456
11100    __cil_tmp19 = *((unsigned int *)__cil_tmp18);
11101#line 456
11102    if (__cil_tmp19 <= block) {
11103#line 457
11104      goto ldv_19286;
11105    } else {
11106
11107    }
11108    }
11109  }
11110#line 458
11111  goto ldv_19287;
11112  ldv_19286: ;
11113#line 459
11114  return ((int )length);
11115}
11116}
11117#line 472 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
11118static void format_chain(struct NFTLrecord *nftl , unsigned int first_block ) 
11119{ unsigned int block ;
11120  unsigned int block1 ;
11121  int tmp ;
11122  unsigned long __cil_tmp6 ;
11123  unsigned long __cil_tmp7 ;
11124  unsigned long __cil_tmp8 ;
11125  __u16 *__cil_tmp9 ;
11126  __u16 *__cil_tmp10 ;
11127  __u16 __cil_tmp11 ;
11128  int __cil_tmp12 ;
11129  unsigned long __cil_tmp13 ;
11130  unsigned long __cil_tmp14 ;
11131  unsigned long __cil_tmp15 ;
11132  __u16 *__cil_tmp16 ;
11133  __u16 *__cil_tmp17 ;
11134  unsigned long __cil_tmp18 ;
11135  unsigned long __cil_tmp19 ;
11136  unsigned long __cil_tmp20 ;
11137  __u16 *__cil_tmp21 ;
11138  __u16 *__cil_tmp22 ;
11139  unsigned long __cil_tmp23 ;
11140  unsigned long __cil_tmp24 ;
11141  unsigned int __cil_tmp25 ;
11142  unsigned long __cil_tmp26 ;
11143  unsigned long __cil_tmp27 ;
11144  unsigned int __cil_tmp28 ;
11145
11146  {
11147  {
11148#line 474
11149  block = first_block;
11150#line 476
11151  printk("Formatting chain at block %d\n", first_block);
11152  }
11153  ldv_19295: 
11154  {
11155#line 479
11156  __cil_tmp6 = (unsigned long )block;
11157#line 479
11158  __cil_tmp7 = (unsigned long )nftl;
11159#line 479
11160  __cil_tmp8 = __cil_tmp7 + 416;
11161#line 479
11162  __cil_tmp9 = *((__u16 **)__cil_tmp8);
11163#line 479
11164  __cil_tmp10 = __cil_tmp9 + __cil_tmp6;
11165#line 479
11166  __cil_tmp11 = *__cil_tmp10;
11167#line 479
11168  block1 = (unsigned int )__cil_tmp11;
11169#line 481
11170  printk("Formatting block %d\n", block);
11171#line 482
11172  __cil_tmp12 = (int )block;
11173#line 482
11174  tmp = NFTL_formatblock(nftl, __cil_tmp12);
11175  }
11176#line 482
11177  if (tmp < 0) {
11178#line 484
11179    __cil_tmp13 = (unsigned long )block;
11180#line 484
11181    __cil_tmp14 = (unsigned long )nftl;
11182#line 484
11183    __cil_tmp15 = __cil_tmp14 + 416;
11184#line 484
11185    __cil_tmp16 = *((__u16 **)__cil_tmp15);
11186#line 484
11187    __cil_tmp17 = __cil_tmp16 + __cil_tmp13;
11188#line 484
11189    *__cil_tmp17 = (__u16 )65532U;
11190  } else {
11191#line 486
11192    __cil_tmp18 = (unsigned long )block;
11193#line 486
11194    __cil_tmp19 = (unsigned long )nftl;
11195#line 486
11196    __cil_tmp20 = __cil_tmp19 + 416;
11197#line 486
11198    __cil_tmp21 = *((__u16 **)__cil_tmp20);
11199#line 486
11200    __cil_tmp22 = __cil_tmp21 + __cil_tmp18;
11201#line 486
11202    *__cil_tmp22 = (__u16 )65534U;
11203  }
11204#line 490
11205  block = block1;
11206#line 492
11207  if (block != 65535U) {
11208    {
11209#line 492
11210    __cil_tmp23 = (unsigned long )nftl;
11211#line 492
11212    __cil_tmp24 = __cil_tmp23 + 424;
11213#line 492
11214    __cil_tmp25 = *((unsigned int *)__cil_tmp24);
11215#line 492
11216    if (__cil_tmp25 <= block) {
11217      {
11218#line 493
11219      printk("incorrect ReplUnitTable[] : %d\n", block);
11220      }
11221    } else {
11222
11223    }
11224    }
11225  } else {
11226
11227  }
11228#line 494
11229  if (block == 65535U) {
11230#line 495
11231    goto ldv_19294;
11232  } else {
11233    {
11234#line 494
11235    __cil_tmp26 = (unsigned long )nftl;
11236#line 494
11237    __cil_tmp27 = __cil_tmp26 + 424;
11238#line 494
11239    __cil_tmp28 = *((unsigned int *)__cil_tmp27);
11240#line 494
11241    if (__cil_tmp28 <= block) {
11242#line 495
11243      goto ldv_19294;
11244    } else {
11245
11246    }
11247    }
11248  }
11249#line 496
11250  goto ldv_19295;
11251  ldv_19294: ;
11252#line 498
11253  return;
11254}
11255}
11256#line 505 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
11257static int check_and_mark_free_block(struct NFTLrecord *nftl , int block ) 
11258{ struct mtd_info *mtd ;
11259  struct nftl_uci1 h1 ;
11260  unsigned int erase_mark ;
11261  size_t retlen ;
11262  int tmp ;
11263  int tmp___0 ;
11264  int tmp___1 ;
11265  unsigned long __cil_tmp10 ;
11266  unsigned long __cil_tmp11 ;
11267  unsigned long __cil_tmp12 ;
11268  __u32 __cil_tmp13 ;
11269  unsigned long __cil_tmp14 ;
11270  unsigned long __cil_tmp15 ;
11271  __u32 __cil_tmp16 ;
11272  __u32 __cil_tmp17 ;
11273  __u32 __cil_tmp18 ;
11274  loff_t __cil_tmp19 ;
11275  uint8_t *__cil_tmp20 ;
11276  unsigned long __cil_tmp21 ;
11277  __u16 __cil_tmp22 ;
11278  int __cil_tmp23 ;
11279  unsigned long __cil_tmp24 ;
11280  __u16 __cil_tmp25 ;
11281  int __cil_tmp26 ;
11282  int __cil_tmp27 ;
11283  __u32 __cil_tmp28 ;
11284  unsigned long __cil_tmp29 ;
11285  unsigned long __cil_tmp30 ;
11286  __u32 __cil_tmp31 ;
11287  __u32 __cil_tmp32 ;
11288  unsigned long __cil_tmp33 ;
11289  unsigned long __cil_tmp34 ;
11290  __u32 __cil_tmp35 ;
11291  int __cil_tmp36 ;
11292  unsigned long __cil_tmp37 ;
11293  unsigned long __cil_tmp38 ;
11294  struct nftl_uci1 *__cil_tmp39 ;
11295  __u32 __cil_tmp40 ;
11296  unsigned long __cil_tmp41 ;
11297  unsigned long __cil_tmp42 ;
11298  __u32 __cil_tmp43 ;
11299  __u32 __cil_tmp44 ;
11300  __u32 __cil_tmp45 ;
11301  loff_t __cil_tmp46 ;
11302  uint8_t *__cil_tmp47 ;
11303
11304  {
11305  {
11306#line 507
11307  __cil_tmp10 = 0 + 24;
11308#line 507
11309  __cil_tmp11 = (unsigned long )nftl;
11310#line 507
11311  __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
11312#line 507
11313  mtd = *((struct mtd_info **)__cil_tmp12);
11314#line 513
11315  __cil_tmp13 = (__u32 )block;
11316#line 513
11317  __cil_tmp14 = (unsigned long )nftl;
11318#line 513
11319  __cil_tmp15 = __cil_tmp14 + 356;
11320#line 513
11321  __cil_tmp16 = *((__u32 *)__cil_tmp15);
11322#line 513
11323  __cil_tmp17 = __cil_tmp16 * __cil_tmp13;
11324#line 513
11325  __cil_tmp18 = __cil_tmp17 + 520U;
11326#line 513
11327  __cil_tmp19 = (loff_t )__cil_tmp18;
11328#line 513
11329  __cil_tmp20 = (uint8_t *)(& h1);
11330#line 513
11331  tmp = nftl_read_oob(mtd, __cil_tmp19, 8UL, & retlen, __cil_tmp20);
11332  }
11333#line 513
11334  if (tmp < 0) {
11335#line 515
11336    return (-1);
11337  } else {
11338
11339  }
11340#line 517
11341  __cil_tmp21 = (unsigned long )(& h1) + 6;
11342#line 517
11343  __cil_tmp22 = *((__u16 *)__cil_tmp21);
11344#line 517
11345  __cil_tmp23 = (int )__cil_tmp22;
11346#line 517
11347  __cil_tmp24 = (unsigned long )(& h1) + 4;
11348#line 517
11349  __cil_tmp25 = *((__u16 *)__cil_tmp24);
11350#line 517
11351  __cil_tmp26 = (int )__cil_tmp25;
11352#line 517
11353  __cil_tmp27 = __cil_tmp26 | __cil_tmp23;
11354#line 517
11355  erase_mark = (unsigned int )__cil_tmp27;
11356#line 518
11357  if (erase_mark != 15465U) {
11358    {
11359#line 521
11360    __cil_tmp28 = (__u32 )block;
11361#line 521
11362    __cil_tmp29 = (unsigned long )nftl;
11363#line 521
11364    __cil_tmp30 = __cil_tmp29 + 356;
11365#line 521
11366    __cil_tmp31 = *((__u32 *)__cil_tmp30);
11367#line 521
11368    __cil_tmp32 = __cil_tmp31 * __cil_tmp28;
11369#line 521
11370    __cil_tmp33 = (unsigned long )nftl;
11371#line 521
11372    __cil_tmp34 = __cil_tmp33 + 356;
11373#line 521
11374    __cil_tmp35 = *((__u32 *)__cil_tmp34);
11375#line 521
11376    __cil_tmp36 = (int )__cil_tmp35;
11377#line 521
11378    tmp___0 = check_free_sectors(nftl, __cil_tmp32, __cil_tmp36, 1);
11379    }
11380#line 521
11381    if (tmp___0 != 0) {
11382#line 522
11383      return (-1);
11384    } else {
11385
11386    }
11387    {
11388#line 525
11389    __cil_tmp37 = (unsigned long )(& h1) + 4;
11390#line 525
11391    *((__u16 *)__cil_tmp37) = (__u16 )15465U;
11392#line 526
11393    __cil_tmp38 = (unsigned long )(& h1) + 6;
11394#line 526
11395    *((__u16 *)__cil_tmp38) = (__u16 )15465U;
11396#line 527
11397    __cil_tmp39 = & h1;
11398#line 527
11399    *((__u32 *)__cil_tmp39) = 0U;
11400#line 528
11401    __cil_tmp40 = (__u32 )block;
11402#line 528
11403    __cil_tmp41 = (unsigned long )nftl;
11404#line 528
11405    __cil_tmp42 = __cil_tmp41 + 356;
11406#line 528
11407    __cil_tmp43 = *((__u32 *)__cil_tmp42);
11408#line 528
11409    __cil_tmp44 = __cil_tmp43 * __cil_tmp40;
11410#line 528
11411    __cil_tmp45 = __cil_tmp44 + 520U;
11412#line 528
11413    __cil_tmp46 = (loff_t )__cil_tmp45;
11414#line 528
11415    __cil_tmp47 = (uint8_t *)(& h1);
11416#line 528
11417    tmp___1 = nftl_write_oob(mtd, __cil_tmp46, 8UL, & retlen, __cil_tmp47);
11418    }
11419#line 528
11420    if (tmp___1 < 0) {
11421#line 531
11422      return (-1);
11423    } else {
11424
11425    }
11426  } else {
11427
11428  }
11429#line 556
11430  return (0);
11431}
11432}
11433#line 566 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
11434static int get_fold_mark(struct NFTLrecord *nftl , unsigned int block ) 
11435{ struct mtd_info *mtd ;
11436  struct nftl_uci2 uci ;
11437  size_t retlen ;
11438  int tmp ;
11439  unsigned long __cil_tmp7 ;
11440  unsigned long __cil_tmp8 ;
11441  unsigned long __cil_tmp9 ;
11442  unsigned long __cil_tmp10 ;
11443  unsigned long __cil_tmp11 ;
11444  __u32 __cil_tmp12 ;
11445  unsigned int __cil_tmp13 ;
11446  unsigned int __cil_tmp14 ;
11447  loff_t __cil_tmp15 ;
11448  uint8_t *__cil_tmp16 ;
11449  unsigned long __cil_tmp17 ;
11450  __u16 __cil_tmp18 ;
11451  int __cil_tmp19 ;
11452  struct nftl_uci2 *__cil_tmp20 ;
11453  __u16 __cil_tmp21 ;
11454  int __cil_tmp22 ;
11455
11456  {
11457  {
11458#line 568
11459  __cil_tmp7 = 0 + 24;
11460#line 568
11461  __cil_tmp8 = (unsigned long )nftl;
11462#line 568
11463  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
11464#line 568
11465  mtd = *((struct mtd_info **)__cil_tmp9);
11466#line 572
11467  __cil_tmp10 = (unsigned long )nftl;
11468#line 572
11469  __cil_tmp11 = __cil_tmp10 + 356;
11470#line 572
11471  __cil_tmp12 = *((__u32 *)__cil_tmp11);
11472#line 572
11473  __cil_tmp13 = __cil_tmp12 * block;
11474#line 572
11475  __cil_tmp14 = __cil_tmp13 + 1032U;
11476#line 572
11477  __cil_tmp15 = (loff_t )__cil_tmp14;
11478#line 572
11479  __cil_tmp16 = (uint8_t *)(& uci);
11480#line 572
11481  tmp = nftl_read_oob(mtd, __cil_tmp15, 8UL, & retlen, __cil_tmp16);
11482  }
11483#line 572
11484  if (tmp < 0) {
11485#line 574
11486    return (0);
11487  } else {
11488
11489  }
11490  {
11491#line 576
11492  __cil_tmp17 = (unsigned long )(& uci) + 2;
11493#line 576
11494  __cil_tmp18 = *((__u16 *)__cil_tmp17);
11495#line 576
11496  __cil_tmp19 = (int )__cil_tmp18;
11497#line 576
11498  __cil_tmp20 = & uci;
11499#line 576
11500  __cil_tmp21 = *((__u16 *)__cil_tmp20);
11501#line 576
11502  __cil_tmp22 = (int )__cil_tmp21;
11503#line 576
11504  return (__cil_tmp22 | __cil_tmp19);
11505  }
11506}
11507}
11508#line 579 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
11509int NFTL_mount(struct NFTLrecord *s ) 
11510{ int i ;
11511  unsigned int first_logical_block ;
11512  unsigned int logical_block ;
11513  unsigned int rep_block ;
11514  unsigned int nb_erases ;
11515  unsigned int erase_mark ;
11516  unsigned int block ;
11517  unsigned int first_block ;
11518  unsigned int is_first_block ;
11519  int chain_length ;
11520  int do_format_chain ;
11521  struct nftl_uci0 h0 ;
11522  struct nftl_uci1 h1 ;
11523  struct mtd_info *mtd ;
11524  size_t retlen ;
11525  int tmp ;
11526  int tmp___0 ;
11527  int tmp___1 ;
11528  int tmp___2 ;
11529  int tmp___3 ;
11530  int tmp___4 ;
11531  int tmp___5 ;
11532  unsigned int first_block1 ;
11533  unsigned int chain_to_format ;
11534  unsigned int chain_length1 ;
11535  int fold_mark ;
11536  int tmp___6 ;
11537  int tmp___7 ;
11538  unsigned long __cil_tmp30 ;
11539  unsigned long __cil_tmp31 ;
11540  unsigned long __cil_tmp32 ;
11541  unsigned long __cil_tmp33 ;
11542  unsigned long __cil_tmp34 ;
11543  unsigned long __cil_tmp35 ;
11544  __u16 *__cil_tmp36 ;
11545  __u16 *__cil_tmp37 ;
11546  unsigned long __cil_tmp38 ;
11547  unsigned long __cil_tmp39 ;
11548  unsigned int __cil_tmp40 ;
11549  unsigned int __cil_tmp41 ;
11550  unsigned long __cil_tmp42 ;
11551  unsigned long __cil_tmp43 ;
11552  unsigned long __cil_tmp44 ;
11553  __u16 *__cil_tmp45 ;
11554  __u16 *__cil_tmp46 ;
11555  __u16 __cil_tmp47 ;
11556  unsigned int __cil_tmp48 ;
11557  unsigned long __cil_tmp49 ;
11558  unsigned long __cil_tmp50 ;
11559  __u32 __cil_tmp51 ;
11560  unsigned int __cil_tmp52 ;
11561  unsigned int __cil_tmp53 ;
11562  loff_t __cil_tmp54 ;
11563  uint8_t *__cil_tmp55 ;
11564  unsigned long __cil_tmp56 ;
11565  unsigned long __cil_tmp57 ;
11566  unsigned long __cil_tmp58 ;
11567  __u16 *__cil_tmp59 ;
11568  __u16 *__cil_tmp60 ;
11569  unsigned long __cil_tmp61 ;
11570  unsigned long __cil_tmp62 ;
11571  __u32 __cil_tmp63 ;
11572  unsigned int __cil_tmp64 ;
11573  unsigned int __cil_tmp65 ;
11574  loff_t __cil_tmp66 ;
11575  uint8_t *__cil_tmp67 ;
11576  unsigned long __cil_tmp68 ;
11577  unsigned long __cil_tmp69 ;
11578  unsigned long __cil_tmp70 ;
11579  __u16 *__cil_tmp71 ;
11580  __u16 *__cil_tmp72 ;
11581  unsigned long __cil_tmp73 ;
11582  __u16 __cil_tmp74 ;
11583  int __cil_tmp75 ;
11584  struct nftl_uci0 *__cil_tmp76 ;
11585  __u16 __cil_tmp77 ;
11586  int __cil_tmp78 ;
11587  int __cil_tmp79 ;
11588  unsigned long __cil_tmp80 ;
11589  __u16 __cil_tmp81 ;
11590  int __cil_tmp82 ;
11591  unsigned long __cil_tmp83 ;
11592  __u16 __cil_tmp84 ;
11593  int __cil_tmp85 ;
11594  int __cil_tmp86 ;
11595  struct nftl_uci1 *__cil_tmp87 ;
11596  unsigned long __cil_tmp88 ;
11597  __u16 __cil_tmp89 ;
11598  int __cil_tmp90 ;
11599  unsigned long __cil_tmp91 ;
11600  __u16 __cil_tmp92 ;
11601  int __cil_tmp93 ;
11602  int __cil_tmp94 ;
11603  unsigned int __cil_tmp95 ;
11604  int __cil_tmp96 ;
11605  unsigned long __cil_tmp97 ;
11606  unsigned long __cil_tmp98 ;
11607  unsigned int __cil_tmp99 ;
11608  int __cil_tmp100 ;
11609  int __cil_tmp101 ;
11610  unsigned long __cil_tmp102 ;
11611  unsigned long __cil_tmp103 ;
11612  unsigned long __cil_tmp104 ;
11613  __u16 *__cil_tmp105 ;
11614  __u16 *__cil_tmp106 ;
11615  unsigned long __cil_tmp107 ;
11616  unsigned long __cil_tmp108 ;
11617  unsigned long __cil_tmp109 ;
11618  __u16 *__cil_tmp110 ;
11619  __u16 *__cil_tmp111 ;
11620  unsigned long __cil_tmp112 ;
11621  unsigned long __cil_tmp113 ;
11622  unsigned long __cil_tmp114 ;
11623  __u16 *__cil_tmp115 ;
11624  __u16 *__cil_tmp116 ;
11625  unsigned long __cil_tmp117 ;
11626  unsigned long __cil_tmp118 ;
11627  unsigned long __cil_tmp119 ;
11628  __u16 *__cil_tmp120 ;
11629  __u16 *__cil_tmp121 ;
11630  unsigned long __cil_tmp122 ;
11631  unsigned long __cil_tmp123 ;
11632  unsigned long __cil_tmp124 ;
11633  __u16 *__cil_tmp125 ;
11634  __u16 *__cil_tmp126 ;
11635  unsigned long __cil_tmp127 ;
11636  unsigned long __cil_tmp128 ;
11637  unsigned int __cil_tmp129 ;
11638  unsigned long __cil_tmp130 ;
11639  unsigned long __cil_tmp131 ;
11640  unsigned long __cil_tmp132 ;
11641  __u16 *__cil_tmp133 ;
11642  __u16 *__cil_tmp134 ;
11643  unsigned long __cil_tmp135 ;
11644  unsigned long __cil_tmp136 ;
11645  unsigned long __cil_tmp137 ;
11646  __u16 *__cil_tmp138 ;
11647  __u16 *__cil_tmp139 ;
11648  __u16 __cil_tmp140 ;
11649  unsigned int __cil_tmp141 ;
11650  unsigned long __cil_tmp142 ;
11651  unsigned long __cil_tmp143 ;
11652  unsigned long __cil_tmp144 ;
11653  __u16 *__cil_tmp145 ;
11654  __u16 *__cil_tmp146 ;
11655  __u16 __cil_tmp147 ;
11656  unsigned int __cil_tmp148 ;
11657  unsigned long __cil_tmp149 ;
11658  unsigned long __cil_tmp150 ;
11659  unsigned long __cil_tmp151 ;
11660  __u16 *__cil_tmp152 ;
11661  __u16 *__cil_tmp153 ;
11662  __u16 __cil_tmp154 ;
11663  unsigned int __cil_tmp155 ;
11664  unsigned long __cil_tmp156 ;
11665  unsigned long __cil_tmp157 ;
11666  unsigned long __cil_tmp158 ;
11667  __u16 *__cil_tmp159 ;
11668  __u16 *__cil_tmp160 ;
11669  unsigned long __cil_tmp161 ;
11670  unsigned long __cil_tmp162 ;
11671  unsigned long __cil_tmp163 ;
11672  __u16 *__cil_tmp164 ;
11673  __u16 *__cil_tmp165 ;
11674  unsigned long __cil_tmp166 ;
11675  unsigned long __cil_tmp167 ;
11676  unsigned long __cil_tmp168 ;
11677  __u16 *__cil_tmp169 ;
11678  __u16 *__cil_tmp170 ;
11679  unsigned long __cil_tmp171 ;
11680  unsigned long __cil_tmp172 ;
11681  unsigned long __cil_tmp173 ;
11682  __u16 *__cil_tmp174 ;
11683  __u16 *__cil_tmp175 ;
11684  unsigned long __cil_tmp176 ;
11685  unsigned long __cil_tmp177 ;
11686  unsigned long __cil_tmp178 ;
11687  __u16 *__cil_tmp179 ;
11688  __u16 *__cil_tmp180 ;
11689  unsigned long __cil_tmp181 ;
11690  unsigned long __cil_tmp182 ;
11691  unsigned long __cil_tmp183 ;
11692  __u16 *__cil_tmp184 ;
11693  __u16 *__cil_tmp185 ;
11694  unsigned long __cil_tmp186 ;
11695  unsigned long __cil_tmp187 ;
11696  unsigned long __cil_tmp188 ;
11697  __u16 *__cil_tmp189 ;
11698  __u16 *__cil_tmp190 ;
11699  __u16 __cil_tmp191 ;
11700  unsigned int __cil_tmp192 ;
11701  unsigned long __cil_tmp193 ;
11702  unsigned long __cil_tmp194 ;
11703  unsigned long __cil_tmp195 ;
11704  __u16 *__cil_tmp196 ;
11705  __u16 *__cil_tmp197 ;
11706  unsigned long __cil_tmp198 ;
11707  unsigned long __cil_tmp199 ;
11708  unsigned long __cil_tmp200 ;
11709  __u16 *__cil_tmp201 ;
11710  __u16 *__cil_tmp202 ;
11711  unsigned long __cil_tmp203 ;
11712  unsigned long __cil_tmp204 ;
11713  unsigned int __cil_tmp205 ;
11714  unsigned long __cil_tmp206 ;
11715  unsigned long __cil_tmp207 ;
11716  unsigned long __cil_tmp208 ;
11717  unsigned long __cil_tmp209 ;
11718  unsigned long __cil_tmp210 ;
11719  unsigned long __cil_tmp211 ;
11720  unsigned long __cil_tmp212 ;
11721  unsigned long __cil_tmp213 ;
11722  unsigned long __cil_tmp214 ;
11723  unsigned long __cil_tmp215 ;
11724  __u16 *__cil_tmp216 ;
11725  __u16 *__cil_tmp217 ;
11726  __u16 __cil_tmp218 ;
11727  unsigned int __cil_tmp219 ;
11728  int __cil_tmp220 ;
11729  unsigned long __cil_tmp221 ;
11730  unsigned long __cil_tmp222 ;
11731  unsigned long __cil_tmp223 ;
11732  __u16 *__cil_tmp224 ;
11733  __u16 *__cil_tmp225 ;
11734  unsigned long __cil_tmp226 ;
11735  unsigned long __cil_tmp227 ;
11736  unsigned long __cil_tmp228 ;
11737  __u16 *__cil_tmp229 ;
11738  __u16 *__cil_tmp230 ;
11739  unsigned long __cil_tmp231 ;
11740  unsigned long __cil_tmp232 ;
11741  unsigned long __cil_tmp233 ;
11742  __u16 *__cil_tmp234 ;
11743  __u16 *__cil_tmp235 ;
11744  __u16 __cil_tmp236 ;
11745  unsigned int __cil_tmp237 ;
11746  unsigned long __cil_tmp238 ;
11747  unsigned long __cil_tmp239 ;
11748  unsigned long __cil_tmp240 ;
11749  unsigned long __cil_tmp241 ;
11750  __u16 __cil_tmp242 ;
11751  int __cil_tmp243 ;
11752  int __cil_tmp244 ;
11753  unsigned long __cil_tmp245 ;
11754  unsigned long __cil_tmp246 ;
11755  unsigned long __cil_tmp247 ;
11756  unsigned long __cil_tmp248 ;
11757  unsigned int __cil_tmp249 ;
11758
11759  {
11760  {
11761#line 587
11762  __cil_tmp30 = 0 + 24;
11763#line 587
11764  __cil_tmp31 = (unsigned long )s;
11765#line 587
11766  __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
11767#line 587
11768  mtd = *((struct mtd_info **)__cil_tmp32);
11769#line 591
11770  tmp = find_boot_record(s);
11771  }
11772#line 591
11773  if (tmp < 0) {
11774    {
11775#line 592
11776    printk("Could not find valid boot record\n");
11777    }
11778#line 593
11779    return (-1);
11780  } else {
11781
11782  }
11783#line 597
11784  i = 0;
11785#line 597
11786  goto ldv_19330;
11787  ldv_19329: 
11788#line 598
11789  __cil_tmp33 = (unsigned long )i;
11790#line 598
11791  __cil_tmp34 = (unsigned long )s;
11792#line 598
11793  __cil_tmp35 = __cil_tmp34 + 408;
11794#line 598
11795  __cil_tmp36 = *((__u16 **)__cil_tmp35);
11796#line 598
11797  __cil_tmp37 = __cil_tmp36 + __cil_tmp33;
11798#line 598
11799  *__cil_tmp37 = (__u16 )65535U;
11800#line 597
11801  i = i + 1;
11802  ldv_19330: ;
11803  {
11804#line 597
11805  __cil_tmp38 = (unsigned long )s;
11806#line 597
11807  __cil_tmp39 = __cil_tmp38 + 424;
11808#line 597
11809  __cil_tmp40 = *((unsigned int *)__cil_tmp39);
11810#line 597
11811  __cil_tmp41 = (unsigned int )i;
11812#line 597
11813  if (__cil_tmp41 < __cil_tmp40) {
11814#line 598
11815    goto ldv_19329;
11816  } else {
11817#line 600
11818    goto ldv_19331;
11819  }
11820  }
11821  ldv_19331: 
11822#line 602
11823  first_logical_block = 0U;
11824#line 603
11825  first_block = 0U;
11826#line 603
11827  goto ldv_19340;
11828  ldv_19339: ;
11829  {
11830#line 605
11831  __cil_tmp42 = (unsigned long )first_block;
11832#line 605
11833  __cil_tmp43 = (unsigned long )s;
11834#line 605
11835  __cil_tmp44 = __cil_tmp43 + 416;
11836#line 605
11837  __cil_tmp45 = *((__u16 **)__cil_tmp44);
11838#line 605
11839  __cil_tmp46 = __cil_tmp45 + __cil_tmp42;
11840#line 605
11841  __cil_tmp47 = *__cil_tmp46;
11842#line 605
11843  __cil_tmp48 = (unsigned int )__cil_tmp47;
11844#line 605
11845  if (__cil_tmp48 == 65533U) {
11846#line 606
11847    block = first_block;
11848#line 607
11849    chain_length = 0;
11850#line 608
11851    do_format_chain = 0;
11852    ldv_19334: 
11853    {
11854#line 612
11855    __cil_tmp49 = (unsigned long )s;
11856#line 612
11857    __cil_tmp50 = __cil_tmp49 + 356;
11858#line 612
11859    __cil_tmp51 = *((__u32 *)__cil_tmp50);
11860#line 612
11861    __cil_tmp52 = __cil_tmp51 * block;
11862#line 612
11863    __cil_tmp53 = __cil_tmp52 + 8U;
11864#line 612
11865    __cil_tmp54 = (loff_t )__cil_tmp53;
11866#line 612
11867    __cil_tmp55 = (uint8_t *)(& h0);
11868#line 612
11869    tmp___0 = nftl_read_oob(mtd, __cil_tmp54, 8UL, & retlen, __cil_tmp55);
11870    }
11871#line 612
11872    if (tmp___0 < 0) {
11873#line 619
11874      __cil_tmp56 = (unsigned long )block;
11875#line 619
11876      __cil_tmp57 = (unsigned long )s;
11877#line 619
11878      __cil_tmp58 = __cil_tmp57 + 416;
11879#line 619
11880      __cil_tmp59 = *((__u16 **)__cil_tmp58);
11881#line 619
11882      __cil_tmp60 = __cil_tmp59 + __cil_tmp56;
11883#line 619
11884      *__cil_tmp60 = (__u16 )65535U;
11885#line 620
11886      do_format_chain = 1;
11887#line 621
11888      goto ldv_19332;
11889    } else {
11890      {
11891#line 612
11892      __cil_tmp61 = (unsigned long )s;
11893#line 612
11894      __cil_tmp62 = __cil_tmp61 + 356;
11895#line 612
11896      __cil_tmp63 = *((__u32 *)__cil_tmp62);
11897#line 612
11898      __cil_tmp64 = __cil_tmp63 * block;
11899#line 612
11900      __cil_tmp65 = __cil_tmp64 + 520U;
11901#line 612
11902      __cil_tmp66 = (loff_t )__cil_tmp65;
11903#line 612
11904      __cil_tmp67 = (uint8_t *)(& h1);
11905#line 612
11906      tmp___1 = nftl_read_oob(mtd, __cil_tmp66, 8UL, & retlen, __cil_tmp67);
11907      }
11908#line 612
11909      if (tmp___1 < 0) {
11910#line 619
11911        __cil_tmp68 = (unsigned long )block;
11912#line 619
11913        __cil_tmp69 = (unsigned long )s;
11914#line 619
11915        __cil_tmp70 = __cil_tmp69 + 416;
11916#line 619
11917        __cil_tmp71 = *((__u16 **)__cil_tmp70);
11918#line 619
11919        __cil_tmp72 = __cil_tmp71 + __cil_tmp68;
11920#line 619
11921        *__cil_tmp72 = (__u16 )65535U;
11922#line 620
11923        do_format_chain = 1;
11924#line 621
11925        goto ldv_19332;
11926      } else {
11927
11928      }
11929    }
11930#line 624
11931    __cil_tmp73 = (unsigned long )(& h0) + 4;
11932#line 624
11933    __cil_tmp74 = *((__u16 *)__cil_tmp73);
11934#line 624
11935    __cil_tmp75 = (int )__cil_tmp74;
11936#line 624
11937    __cil_tmp76 = & h0;
11938#line 624
11939    __cil_tmp77 = *((__u16 *)__cil_tmp76);
11940#line 624
11941    __cil_tmp78 = (int )__cil_tmp77;
11942#line 624
11943    __cil_tmp79 = __cil_tmp78 | __cil_tmp75;
11944#line 624
11945    logical_block = (unsigned int )__cil_tmp79;
11946#line 625
11947    __cil_tmp80 = (unsigned long )(& h0) + 6;
11948#line 625
11949    __cil_tmp81 = *((__u16 *)__cil_tmp80);
11950#line 625
11951    __cil_tmp82 = (int )__cil_tmp81;
11952#line 625
11953    __cil_tmp83 = (unsigned long )(& h0) + 2;
11954#line 625
11955    __cil_tmp84 = *((__u16 *)__cil_tmp83);
11956#line 625
11957    __cil_tmp85 = (int )__cil_tmp84;
11958#line 625
11959    __cil_tmp86 = __cil_tmp85 | __cil_tmp82;
11960#line 625
11961    rep_block = (unsigned int )__cil_tmp86;
11962#line 626
11963    __cil_tmp87 = & h1;
11964#line 626
11965    nb_erases = *((__u32 *)__cil_tmp87);
11966#line 627
11967    __cil_tmp88 = (unsigned long )(& h1) + 6;
11968#line 627
11969    __cil_tmp89 = *((__u16 *)__cil_tmp88);
11970#line 627
11971    __cil_tmp90 = (int )__cil_tmp89;
11972#line 627
11973    __cil_tmp91 = (unsigned long )(& h1) + 4;
11974#line 627
11975    __cil_tmp92 = *((__u16 *)__cil_tmp91);
11976#line 627
11977    __cil_tmp93 = (int )__cil_tmp92;
11978#line 627
11979    __cil_tmp94 = __cil_tmp93 | __cil_tmp90;
11980#line 627
11981    erase_mark = (unsigned int )__cil_tmp94;
11982#line 629
11983    __cil_tmp95 = logical_block >> 15;
11984#line 629
11985    __cil_tmp96 = __cil_tmp95 == 0U;
11986#line 629
11987    is_first_block = (unsigned int )__cil_tmp96;
11988#line 630
11989    logical_block = logical_block & 32767U;
11990#line 633
11991    if (erase_mark != 15465U) {
11992#line 633
11993      goto _L;
11994    } else {
11995      {
11996#line 633
11997      __cil_tmp97 = (unsigned long )s;
11998#line 633
11999      __cil_tmp98 = __cil_tmp97 + 424;
12000#line 633
12001      __cil_tmp99 = *((unsigned int *)__cil_tmp98);
12002#line 633
12003      if (__cil_tmp99 <= logical_block) {
12004        _L: /* CIL Label */ 
12005#line 634
12006        if (chain_length == 0) {
12007          {
12008#line 636
12009          __cil_tmp100 = (int )block;
12010#line 636
12011          tmp___3 = check_and_mark_free_block(s, __cil_tmp100);
12012          }
12013#line 636
12014          if (tmp___3 < 0) {
12015            {
12016#line 638
12017            printk("Formatting block %d\n", block);
12018#line 639
12019            __cil_tmp101 = (int )block;
12020#line 639
12021            tmp___2 = NFTL_formatblock(s, __cil_tmp101);
12022            }
12023#line 639
12024            if (tmp___2 < 0) {
12025#line 641
12026              __cil_tmp102 = (unsigned long )block;
12027#line 641
12028              __cil_tmp103 = (unsigned long )s;
12029#line 641
12030              __cil_tmp104 = __cil_tmp103 + 416;
12031#line 641
12032              __cil_tmp105 = *((__u16 **)__cil_tmp104);
12033#line 641
12034              __cil_tmp106 = __cil_tmp105 + __cil_tmp102;
12035#line 641
12036              *__cil_tmp106 = (__u16 )65532U;
12037            } else {
12038#line 643
12039              __cil_tmp107 = (unsigned long )block;
12040#line 643
12041              __cil_tmp108 = (unsigned long )s;
12042#line 643
12043              __cil_tmp109 = __cil_tmp108 + 416;
12044#line 643
12045              __cil_tmp110 = *((__u16 **)__cil_tmp109);
12046#line 643
12047              __cil_tmp111 = __cil_tmp110 + __cil_tmp107;
12048#line 643
12049              *__cil_tmp111 = (__u16 )65534U;
12050            }
12051          } else {
12052#line 647
12053            __cil_tmp112 = (unsigned long )block;
12054#line 647
12055            __cil_tmp113 = (unsigned long )s;
12056#line 647
12057            __cil_tmp114 = __cil_tmp113 + 416;
12058#line 647
12059            __cil_tmp115 = *((__u16 **)__cil_tmp114);
12060#line 647
12061            __cil_tmp116 = __cil_tmp115 + __cil_tmp112;
12062#line 647
12063            *__cil_tmp116 = (__u16 )65534U;
12064          }
12065#line 650
12066          goto examine_ReplUnitTable;
12067        } else {
12068          {
12069#line 654
12070          printk("Block %d: free but referenced in chain %d\n", block, first_block);
12071#line 656
12072          __cil_tmp117 = (unsigned long )block;
12073#line 656
12074          __cil_tmp118 = (unsigned long )s;
12075#line 656
12076          __cil_tmp119 = __cil_tmp118 + 416;
12077#line 656
12078          __cil_tmp120 = *((__u16 **)__cil_tmp119);
12079#line 656
12080          __cil_tmp121 = __cil_tmp120 + __cil_tmp117;
12081#line 656
12082          *__cil_tmp121 = (__u16 )65535U;
12083#line 657
12084          do_format_chain = 1;
12085          }
12086#line 658
12087          goto ldv_19332;
12088        }
12089      } else {
12090
12091      }
12092      }
12093    }
12094#line 663
12095    if (chain_length == 0) {
12096#line 667
12097      if (is_first_block == 0U) {
12098#line 668
12099        goto examine_ReplUnitTable;
12100      } else {
12101
12102      }
12103#line 669
12104      first_logical_block = logical_block;
12105    } else {
12106#line 671
12107      if (logical_block != first_logical_block) {
12108        {
12109#line 672
12110        printk("Block %d: incorrect logical block: %d expected: %d\n", block, logical_block,
12111               first_logical_block);
12112#line 676
12113        do_format_chain = 1;
12114        }
12115      } else {
12116
12117      }
12118#line 678
12119      if (is_first_block != 0U) {
12120        {
12121#line 682
12122        tmp___4 = get_fold_mark(s, block);
12123        }
12124#line 682
12125        if (tmp___4 != 21845) {
12126          {
12127#line 684
12128          printk("Block %d: incorrectly marked as first block in chain\n", block);
12129#line 688
12130          do_format_chain = 1;
12131          }
12132        } else
12133#line 682
12134        if (rep_block != 65535U) {
12135          {
12136#line 684
12137          printk("Block %d: incorrectly marked as first block in chain\n", block);
12138#line 688
12139          do_format_chain = 1;
12140          }
12141        } else {
12142          {
12143#line 690
12144          printk("Block %d: folding in progress - ignoring first block flag\n", block);
12145          }
12146        }
12147      } else {
12148
12149      }
12150    }
12151#line 695
12152    chain_length = chain_length + 1;
12153#line 696
12154    if (rep_block == 65535U) {
12155#line 698
12156      __cil_tmp122 = (unsigned long )block;
12157#line 698
12158      __cil_tmp123 = (unsigned long )s;
12159#line 698
12160      __cil_tmp124 = __cil_tmp123 + 416;
12161#line 698
12162      __cil_tmp125 = *((__u16 **)__cil_tmp124);
12163#line 698
12164      __cil_tmp126 = __cil_tmp125 + __cil_tmp122;
12165#line 698
12166      *__cil_tmp126 = (__u16 )65535U;
12167#line 699
12168      goto ldv_19332;
12169    } else {
12170      {
12171#line 700
12172      __cil_tmp127 = (unsigned long )s;
12173#line 700
12174      __cil_tmp128 = __cil_tmp127 + 424;
12175#line 700
12176      __cil_tmp129 = *((unsigned int *)__cil_tmp128);
12177#line 700
12178      if (__cil_tmp129 <= rep_block) {
12179        {
12180#line 701
12181        printk("Block %d: referencing invalid block %d\n", block, rep_block);
12182#line 703
12183        do_format_chain = 1;
12184#line 704
12185        __cil_tmp130 = (unsigned long )block;
12186#line 704
12187        __cil_tmp131 = (unsigned long )s;
12188#line 704
12189        __cil_tmp132 = __cil_tmp131 + 416;
12190#line 704
12191        __cil_tmp133 = *((__u16 **)__cil_tmp132);
12192#line 704
12193        __cil_tmp134 = __cil_tmp133 + __cil_tmp130;
12194#line 704
12195        *__cil_tmp134 = (__u16 )65535U;
12196        }
12197#line 705
12198        goto ldv_19332;
12199      } else {
12200        {
12201#line 706
12202        __cil_tmp135 = (unsigned long )rep_block;
12203#line 706
12204        __cil_tmp136 = (unsigned long )s;
12205#line 706
12206        __cil_tmp137 = __cil_tmp136 + 416;
12207#line 706
12208        __cil_tmp138 = *((__u16 **)__cil_tmp137);
12209#line 706
12210        __cil_tmp139 = __cil_tmp138 + __cil_tmp135;
12211#line 706
12212        __cil_tmp140 = *__cil_tmp139;
12213#line 706
12214        __cil_tmp141 = (unsigned int )__cil_tmp140;
12215#line 706
12216        if (__cil_tmp141 != 65533U) {
12217          {
12218#line 712
12219          __cil_tmp142 = (unsigned long )rep_block;
12220#line 712
12221          __cil_tmp143 = (unsigned long )s;
12222#line 712
12223          __cil_tmp144 = __cil_tmp143 + 416;
12224#line 712
12225          __cil_tmp145 = *((__u16 **)__cil_tmp144);
12226#line 712
12227          __cil_tmp146 = __cil_tmp145 + __cil_tmp142;
12228#line 712
12229          __cil_tmp147 = *__cil_tmp146;
12230#line 712
12231          __cil_tmp148 = (unsigned int )__cil_tmp147;
12232#line 712
12233          if (__cil_tmp148 == 65535U) {
12234            {
12235#line 712
12236            __cil_tmp149 = (unsigned long )first_logical_block;
12237#line 712
12238            __cil_tmp150 = (unsigned long )s;
12239#line 712
12240            __cil_tmp151 = __cil_tmp150 + 408;
12241#line 712
12242            __cil_tmp152 = *((__u16 **)__cil_tmp151);
12243#line 712
12244            __cil_tmp153 = __cil_tmp152 + __cil_tmp149;
12245#line 712
12246            __cil_tmp154 = *__cil_tmp153;
12247#line 712
12248            __cil_tmp155 = (unsigned int )__cil_tmp154;
12249#line 712
12250            if (__cil_tmp155 == rep_block) {
12251              {
12252#line 712
12253              tmp___5 = get_fold_mark(s, first_block);
12254              }
12255#line 712
12256              if (tmp___5 == 21845) {
12257                {
12258#line 716
12259                printk("Block %d: folding in progress - ignoring first block flag\n",
12260                       rep_block);
12261#line 718
12262                __cil_tmp156 = (unsigned long )block;
12263#line 718
12264                __cil_tmp157 = (unsigned long )s;
12265#line 718
12266                __cil_tmp158 = __cil_tmp157 + 416;
12267#line 718
12268                __cil_tmp159 = *((__u16 **)__cil_tmp158);
12269#line 718
12270                __cil_tmp160 = __cil_tmp159 + __cil_tmp156;
12271#line 718
12272                *__cil_tmp160 = (__u16 )rep_block;
12273#line 719
12274                __cil_tmp161 = (unsigned long )first_logical_block;
12275#line 719
12276                __cil_tmp162 = (unsigned long )s;
12277#line 719
12278                __cil_tmp163 = __cil_tmp162 + 408;
12279#line 719
12280                __cil_tmp164 = *((__u16 **)__cil_tmp163);
12281#line 719
12282                __cil_tmp165 = __cil_tmp164 + __cil_tmp161;
12283#line 719
12284                *__cil_tmp165 = (__u16 )65535U;
12285                }
12286              } else {
12287                {
12288#line 721
12289                printk("Block %d: referencing block %d already in another chain\n",
12290                       block, rep_block);
12291#line 724
12292                do_format_chain = 1;
12293#line 725
12294                __cil_tmp166 = (unsigned long )block;
12295#line 725
12296                __cil_tmp167 = (unsigned long )s;
12297#line 725
12298                __cil_tmp168 = __cil_tmp167 + 416;
12299#line 725
12300                __cil_tmp169 = *((__u16 **)__cil_tmp168);
12301#line 725
12302                __cil_tmp170 = __cil_tmp169 + __cil_tmp166;
12303#line 725
12304                *__cil_tmp170 = (__u16 )65535U;
12305                }
12306              }
12307            } else {
12308              {
12309#line 721
12310              printk("Block %d: referencing block %d already in another chain\n",
12311                     block, rep_block);
12312#line 724
12313              do_format_chain = 1;
12314#line 725
12315              __cil_tmp171 = (unsigned long )block;
12316#line 725
12317              __cil_tmp172 = (unsigned long )s;
12318#line 725
12319              __cil_tmp173 = __cil_tmp172 + 416;
12320#line 725
12321              __cil_tmp174 = *((__u16 **)__cil_tmp173);
12322#line 725
12323              __cil_tmp175 = __cil_tmp174 + __cil_tmp171;
12324#line 725
12325              *__cil_tmp175 = (__u16 )65535U;
12326              }
12327            }
12328            }
12329          } else {
12330            {
12331#line 721
12332            printk("Block %d: referencing block %d already in another chain\n", block,
12333                   rep_block);
12334#line 724
12335            do_format_chain = 1;
12336#line 725
12337            __cil_tmp176 = (unsigned long )block;
12338#line 725
12339            __cil_tmp177 = (unsigned long )s;
12340#line 725
12341            __cil_tmp178 = __cil_tmp177 + 416;
12342#line 725
12343            __cil_tmp179 = *((__u16 **)__cil_tmp178);
12344#line 725
12345            __cil_tmp180 = __cil_tmp179 + __cil_tmp176;
12346#line 725
12347            *__cil_tmp180 = (__u16 )65535U;
12348            }
12349          }
12350          }
12351#line 727
12352          goto ldv_19332;
12353        } else {
12354#line 730
12355          __cil_tmp181 = (unsigned long )block;
12356#line 730
12357          __cil_tmp182 = (unsigned long )s;
12358#line 730
12359          __cil_tmp183 = __cil_tmp182 + 416;
12360#line 730
12361          __cil_tmp184 = *((__u16 **)__cil_tmp183);
12362#line 730
12363          __cil_tmp185 = __cil_tmp184 + __cil_tmp181;
12364#line 730
12365          *__cil_tmp185 = (__u16 )rep_block;
12366#line 731
12367          block = rep_block;
12368        }
12369        }
12370      }
12371      }
12372    }
12373#line 733
12374    goto ldv_19334;
12375    ldv_19332: ;
12376#line 737
12377    if (do_format_chain != 0) {
12378      {
12379#line 739
12380      format_chain(s, first_block);
12381      }
12382    } else {
12383      {
12384#line 745
12385      fold_mark = get_fold_mark(s, first_block);
12386      }
12387#line 746
12388      if (fold_mark == 0) {
12389        {
12390#line 748
12391        printk("Could read foldmark at block %d\n", first_block);
12392#line 749
12393        format_chain(s, first_block);
12394        }
12395      } else {
12396#line 751
12397        if (fold_mark == 21845) {
12398          {
12399#line 752
12400          check_sectors_in_chain(s, first_block);
12401          }
12402        } else {
12403
12404        }
12405#line 758
12406        __cil_tmp186 = (unsigned long )first_logical_block;
12407#line 758
12408        __cil_tmp187 = (unsigned long )s;
12409#line 758
12410        __cil_tmp188 = __cil_tmp187 + 408;
12411#line 758
12412        __cil_tmp189 = *((__u16 **)__cil_tmp188);
12413#line 758
12414        __cil_tmp190 = __cil_tmp189 + __cil_tmp186;
12415#line 758
12416        __cil_tmp191 = *__cil_tmp190;
12417#line 758
12418        first_block1 = (unsigned int )__cil_tmp191;
12419#line 759
12420        if (first_block1 != 65535U) {
12421          {
12422#line 761
12423          tmp___6 = calc_chain_length(s, first_block1);
12424#line 761
12425          chain_length1 = (unsigned int )tmp___6;
12426#line 762
12427          printk("Two chains at blocks %d (len=%d) and %d (len=%d)\n", first_block1,
12428                 chain_length1, first_block, chain_length);
12429          }
12430          {
12431#line 765
12432          __cil_tmp192 = (unsigned int )chain_length;
12433#line 765
12434          if (__cil_tmp192 >= chain_length1) {
12435#line 766
12436            chain_to_format = first_block1;
12437#line 767
12438            __cil_tmp193 = (unsigned long )first_logical_block;
12439#line 767
12440            __cil_tmp194 = (unsigned long )s;
12441#line 767
12442            __cil_tmp195 = __cil_tmp194 + 408;
12443#line 767
12444            __cil_tmp196 = *((__u16 **)__cil_tmp195);
12445#line 767
12446            __cil_tmp197 = __cil_tmp196 + __cil_tmp193;
12447#line 767
12448            *__cil_tmp197 = (__u16 )first_block;
12449          } else {
12450#line 769
12451            chain_to_format = first_block;
12452          }
12453          }
12454          {
12455#line 771
12456          format_chain(s, chain_to_format);
12457          }
12458        } else {
12459#line 773
12460          __cil_tmp198 = (unsigned long )first_logical_block;
12461#line 773
12462          __cil_tmp199 = (unsigned long )s;
12463#line 773
12464          __cil_tmp200 = __cil_tmp199 + 408;
12465#line 773
12466          __cil_tmp201 = *((__u16 **)__cil_tmp200);
12467#line 773
12468          __cil_tmp202 = __cil_tmp201 + __cil_tmp198;
12469#line 773
12470          *__cil_tmp202 = (__u16 )first_block;
12471        }
12472      }
12473    }
12474  } else {
12475
12476  }
12477  }
12478  examine_ReplUnitTable: 
12479#line 603
12480  first_block = first_block + 1U;
12481  ldv_19340: ;
12482  {
12483#line 603
12484  __cil_tmp203 = (unsigned long )s;
12485#line 603
12486  __cil_tmp204 = __cil_tmp203 + 424;
12487#line 603
12488  __cil_tmp205 = *((unsigned int *)__cil_tmp204);
12489#line 603
12490  if (__cil_tmp205 > first_block) {
12491#line 604
12492    goto ldv_19339;
12493  } else {
12494#line 606
12495    goto ldv_19341;
12496  }
12497  }
12498  ldv_19341: 
12499#line 782
12500  __cil_tmp206 = (unsigned long )s;
12501#line 782
12502  __cil_tmp207 = __cil_tmp206 + 392;
12503#line 782
12504  *((__u16 *)__cil_tmp207) = (__u16 )0U;
12505#line 783
12506  __cil_tmp208 = (unsigned long )s;
12507#line 783
12508  __cil_tmp209 = __cil_tmp208 + 394;
12509#line 783
12510  __cil_tmp210 = 360 + 8;
12511#line 783
12512  __cil_tmp211 = (unsigned long )s;
12513#line 783
12514  __cil_tmp212 = __cil_tmp211 + __cil_tmp210;
12515#line 783
12516  *((__u16 *)__cil_tmp209) = *((__u16 *)__cil_tmp212);
12517#line 785
12518  block = 0U;
12519#line 785
12520  goto ldv_19343;
12521  ldv_19342: ;
12522  {
12523#line 786
12524  __cil_tmp213 = (unsigned long )block;
12525#line 786
12526  __cil_tmp214 = (unsigned long )s;
12527#line 786
12528  __cil_tmp215 = __cil_tmp214 + 416;
12529#line 786
12530  __cil_tmp216 = *((__u16 **)__cil_tmp215);
12531#line 786
12532  __cil_tmp217 = __cil_tmp216 + __cil_tmp213;
12533#line 786
12534  __cil_tmp218 = *__cil_tmp217;
12535#line 786
12536  __cil_tmp219 = (unsigned int )__cil_tmp218;
12537#line 786
12538  if (__cil_tmp219 == 65533U) {
12539    {
12540#line 787
12541    printk("Unreferenced block %d, formatting it\n", block);
12542#line 788
12543    __cil_tmp220 = (int )block;
12544#line 788
12545    tmp___7 = NFTL_formatblock(s, __cil_tmp220);
12546    }
12547#line 788
12548    if (tmp___7 < 0) {
12549#line 789
12550      __cil_tmp221 = (unsigned long )block;
12551#line 789
12552      __cil_tmp222 = (unsigned long )s;
12553#line 789
12554      __cil_tmp223 = __cil_tmp222 + 416;
12555#line 789
12556      __cil_tmp224 = *((__u16 **)__cil_tmp223);
12557#line 789
12558      __cil_tmp225 = __cil_tmp224 + __cil_tmp221;
12559#line 789
12560      *__cil_tmp225 = (__u16 )65532U;
12561    } else {
12562#line 791
12563      __cil_tmp226 = (unsigned long )block;
12564#line 791
12565      __cil_tmp227 = (unsigned long )s;
12566#line 791
12567      __cil_tmp228 = __cil_tmp227 + 416;
12568#line 791
12569      __cil_tmp229 = *((__u16 **)__cil_tmp228);
12570#line 791
12571      __cil_tmp230 = __cil_tmp229 + __cil_tmp226;
12572#line 791
12573      *__cil_tmp230 = (__u16 )65534U;
12574    }
12575  } else {
12576
12577  }
12578  }
12579  {
12580#line 793
12581  __cil_tmp231 = (unsigned long )block;
12582#line 793
12583  __cil_tmp232 = (unsigned long )s;
12584#line 793
12585  __cil_tmp233 = __cil_tmp232 + 416;
12586#line 793
12587  __cil_tmp234 = *((__u16 **)__cil_tmp233);
12588#line 793
12589  __cil_tmp235 = __cil_tmp234 + __cil_tmp231;
12590#line 793
12591  __cil_tmp236 = *__cil_tmp235;
12592#line 793
12593  __cil_tmp237 = (unsigned int )__cil_tmp236;
12594#line 793
12595  if (__cil_tmp237 == 65534U) {
12596#line 794
12597    __cil_tmp238 = (unsigned long )s;
12598#line 794
12599    __cil_tmp239 = __cil_tmp238 + 392;
12600#line 794
12601    __cil_tmp240 = (unsigned long )s;
12602#line 794
12603    __cil_tmp241 = __cil_tmp240 + 392;
12604#line 794
12605    __cil_tmp242 = *((__u16 *)__cil_tmp241);
12606#line 794
12607    __cil_tmp243 = (int )__cil_tmp242;
12608#line 794
12609    __cil_tmp244 = __cil_tmp243 + 1;
12610#line 794
12611    *((__u16 *)__cil_tmp239) = (__u16 )__cil_tmp244;
12612#line 795
12613    __cil_tmp245 = (unsigned long )s;
12614#line 795
12615    __cil_tmp246 = __cil_tmp245 + 394;
12616#line 795
12617    *((__u16 *)__cil_tmp246) = (__u16 )block;
12618  } else {
12619
12620  }
12621  }
12622#line 785
12623  block = block + 1U;
12624  ldv_19343: ;
12625  {
12626#line 785
12627  __cil_tmp247 = (unsigned long )s;
12628#line 785
12629  __cil_tmp248 = __cil_tmp247 + 424;
12630#line 785
12631  __cil_tmp249 = *((unsigned int *)__cil_tmp248);
12632#line 785
12633  if (__cil_tmp249 > block) {
12634#line 786
12635    goto ldv_19342;
12636  } else {
12637#line 788
12638    goto ldv_19344;
12639  }
12640  }
12641  ldv_19344: ;
12642#line 799
12643  return (0);
12644}
12645}
12646#line 920 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11740/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/nftlmount.c.p"
12647__inline static void *kmalloc(size_t size , gfp_t flags ) 
12648{ 
12649
12650  {
12651  {
12652#line 926
12653  ldv_check_alloc_flags(flags);
12654#line 928
12655  ldv_kmalloc_12(size, flags);
12656  }
12657#line 929
12658  return ((void *)0);
12659}
12660}