Showing error 1094

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