Showing error 1290

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