Showing error 701

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