Showing error 1293

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