Showing error 516

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