Showing error 507

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