Showing error 1291

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--usb--storage--ums-freecom.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 6466
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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