Showing error 1294

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-sddr55.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 9800
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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