Showing error 650

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--staging--iio--ring_sw.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 5547
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 22 "include/asm-generic/int-ll64.h"
   7typedef short __s16;
   8#line 23 "include/asm-generic/int-ll64.h"
   9typedef unsigned short __u16;
  10#line 25 "include/asm-generic/int-ll64.h"
  11typedef int __s32;
  12#line 26 "include/asm-generic/int-ll64.h"
  13typedef unsigned int __u32;
  14#line 29 "include/asm-generic/int-ll64.h"
  15typedef long long __s64;
  16#line 30 "include/asm-generic/int-ll64.h"
  17typedef unsigned long long __u64;
  18#line 43 "include/asm-generic/int-ll64.h"
  19typedef unsigned char u8;
  20#line 45 "include/asm-generic/int-ll64.h"
  21typedef short s16;
  22#line 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 48 "include/asm-generic/int-ll64.h"
  25typedef int s32;
  26#line 49 "include/asm-generic/int-ll64.h"
  27typedef unsigned int u32;
  28#line 51 "include/asm-generic/int-ll64.h"
  29typedef long long s64;
  30#line 52 "include/asm-generic/int-ll64.h"
  31typedef unsigned long long u64;
  32#line 14 "include/asm-generic/posix_types.h"
  33typedef long __kernel_long_t;
  34#line 15 "include/asm-generic/posix_types.h"
  35typedef unsigned long __kernel_ulong_t;
  36#line 31 "include/asm-generic/posix_types.h"
  37typedef int __kernel_pid_t;
  38#line 52 "include/asm-generic/posix_types.h"
  39typedef unsigned int __kernel_uid32_t;
  40#line 53 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_gid32_t;
  42#line 75 "include/asm-generic/posix_types.h"
  43typedef __kernel_ulong_t __kernel_size_t;
  44#line 76 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_ssize_t;
  46#line 91 "include/asm-generic/posix_types.h"
  47typedef long long __kernel_loff_t;
  48#line 92 "include/asm-generic/posix_types.h"
  49typedef __kernel_long_t __kernel_time_t;
  50#line 93 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_clock_t;
  52#line 94 "include/asm-generic/posix_types.h"
  53typedef int __kernel_timer_t;
  54#line 95 "include/asm-generic/posix_types.h"
  55typedef int __kernel_clockid_t;
  56#line 21 "include/linux/types.h"
  57typedef __u32 __kernel_dev_t;
  58#line 24 "include/linux/types.h"
  59typedef __kernel_dev_t dev_t;
  60#line 27 "include/linux/types.h"
  61typedef unsigned short umode_t;
  62#line 30 "include/linux/types.h"
  63typedef __kernel_pid_t pid_t;
  64#line 35 "include/linux/types.h"
  65typedef __kernel_clockid_t clockid_t;
  66#line 38 "include/linux/types.h"
  67typedef _Bool bool;
  68#line 40 "include/linux/types.h"
  69typedef __kernel_uid32_t uid_t;
  70#line 41 "include/linux/types.h"
  71typedef __kernel_gid32_t gid_t;
  72#line 54 "include/linux/types.h"
  73typedef __kernel_loff_t loff_t;
  74#line 63 "include/linux/types.h"
  75typedef __kernel_size_t size_t;
  76#line 68 "include/linux/types.h"
  77typedef __kernel_ssize_t ssize_t;
  78#line 78 "include/linux/types.h"
  79typedef __kernel_time_t time_t;
  80#line 111 "include/linux/types.h"
  81typedef __s32 int32_t;
  82#line 117 "include/linux/types.h"
  83typedef __u32 uint32_t;
  84#line 142 "include/linux/types.h"
  85typedef unsigned long sector_t;
  86#line 143 "include/linux/types.h"
  87typedef unsigned long blkcnt_t;
  88#line 202 "include/linux/types.h"
  89typedef unsigned int gfp_t;
  90#line 203 "include/linux/types.h"
  91typedef unsigned int fmode_t;
  92#line 219 "include/linux/types.h"
  93struct __anonstruct_atomic_t_7 {
  94   int counter ;
  95};
  96#line 219 "include/linux/types.h"
  97typedef struct __anonstruct_atomic_t_7 atomic_t;
  98#line 224 "include/linux/types.h"
  99struct __anonstruct_atomic64_t_8 {
 100   long counter ;
 101};
 102#line 224 "include/linux/types.h"
 103typedef struct __anonstruct_atomic64_t_8 atomic64_t;
 104#line 229 "include/linux/types.h"
 105struct list_head {
 106   struct list_head *next ;
 107   struct list_head *prev ;
 108};
 109#line 233
 110struct hlist_node;
 111#line 233 "include/linux/types.h"
 112struct hlist_head {
 113   struct hlist_node *first ;
 114};
 115#line 237 "include/linux/types.h"
 116struct hlist_node {
 117   struct hlist_node *next ;
 118   struct hlist_node **pprev ;
 119};
 120#line 253 "include/linux/types.h"
 121struct rcu_head {
 122   struct rcu_head *next ;
 123   void (*func)(struct rcu_head *head ) ;
 124};
 125#line 12 "include/linux/thread_info.h"
 126struct timespec;
 127#line 12
 128struct timespec;
 129#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 130struct module;
 131#line 56
 132struct module;
 133#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 134struct page;
 135#line 18
 136struct page;
 137#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 138struct task_struct;
 139#line 20
 140struct task_struct;
 141#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 142struct task_struct;
 143#line 8
 144struct mm_struct;
 145#line 8
 146struct mm_struct;
 147#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 148struct pt_regs {
 149   unsigned long r15 ;
 150   unsigned long r14 ;
 151   unsigned long r13 ;
 152   unsigned long r12 ;
 153   unsigned long bp ;
 154   unsigned long bx ;
 155   unsigned long r11 ;
 156   unsigned long r10 ;
 157   unsigned long r9 ;
 158   unsigned long r8 ;
 159   unsigned long ax ;
 160   unsigned long cx ;
 161   unsigned long dx ;
 162   unsigned long si ;
 163   unsigned long di ;
 164   unsigned long orig_ax ;
 165   unsigned long ip ;
 166   unsigned long cs ;
 167   unsigned long flags ;
 168   unsigned long sp ;
 169   unsigned long ss ;
 170};
 171#line 146 "include/linux/init.h"
 172typedef void (*ctor_fn_t)(void);
 173#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 174struct __anonstruct____missing_field_name_14 {
 175   unsigned int a ;
 176   unsigned int b ;
 177};
 178#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 179struct __anonstruct____missing_field_name_15 {
 180   u16 limit0 ;
 181   u16 base0 ;
 182   unsigned int base1 : 8 ;
 183   unsigned int type : 4 ;
 184   unsigned int s : 1 ;
 185   unsigned int dpl : 2 ;
 186   unsigned int p : 1 ;
 187   unsigned int limit : 4 ;
 188   unsigned int avl : 1 ;
 189   unsigned int l : 1 ;
 190   unsigned int d : 1 ;
 191   unsigned int g : 1 ;
 192   unsigned int base2 : 8 ;
 193};
 194#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 195union __anonunion____missing_field_name_13 {
 196   struct __anonstruct____missing_field_name_14 __annonCompField5 ;
 197   struct __anonstruct____missing_field_name_15 __annonCompField6 ;
 198};
 199#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 200struct desc_struct {
 201   union __anonunion____missing_field_name_13 __annonCompField7 ;
 202} __attribute__((__packed__)) ;
 203#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 204typedef unsigned long pgdval_t;
 205#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 206typedef unsigned long pgprotval_t;
 207#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 208struct pgprot {
 209   pgprotval_t pgprot ;
 210};
 211#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 212typedef struct pgprot pgprot_t;
 213#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 214struct __anonstruct_pgd_t_19 {
 215   pgdval_t pgd ;
 216};
 217#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 218typedef struct __anonstruct_pgd_t_19 pgd_t;
 219#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 220typedef struct page *pgtable_t;
 221#line 295
 222struct file;
 223#line 295
 224struct file;
 225#line 313
 226struct seq_file;
 227#line 313
 228struct seq_file;
 229#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 230struct page;
 231#line 47
 232struct thread_struct;
 233#line 47
 234struct thread_struct;
 235#line 50
 236struct mm_struct;
 237#line 51
 238struct desc_struct;
 239#line 52
 240struct task_struct;
 241#line 53
 242struct cpumask;
 243#line 53
 244struct cpumask;
 245#line 329
 246struct arch_spinlock;
 247#line 329
 248struct arch_spinlock;
 249#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 250struct task_struct;
 251#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 252struct kernel_vm86_regs {
 253   struct pt_regs pt ;
 254   unsigned short es ;
 255   unsigned short __esh ;
 256   unsigned short ds ;
 257   unsigned short __dsh ;
 258   unsigned short fs ;
 259   unsigned short __fsh ;
 260   unsigned short gs ;
 261   unsigned short __gsh ;
 262};
 263#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 264union __anonunion____missing_field_name_23 {
 265   struct pt_regs *regs ;
 266   struct kernel_vm86_regs *vm86 ;
 267};
 268#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 269struct math_emu_info {
 270   long ___orig_eip ;
 271   union __anonunion____missing_field_name_23 __annonCompField8 ;
 272};
 273#line 47 "include/linux/dynamic_debug.h"
 274struct device;
 275#line 47
 276struct device;
 277#line 135 "include/linux/kernel.h"
 278struct completion;
 279#line 135
 280struct completion;
 281#line 136
 282struct pt_regs;
 283#line 349
 284struct pid;
 285#line 349
 286struct pid;
 287#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 288struct task_struct;
 289#line 10 "include/asm-generic/bug.h"
 290struct bug_entry {
 291   int bug_addr_disp ;
 292   int file_disp ;
 293   unsigned short line ;
 294   unsigned short flags ;
 295};
 296#line 12 "include/linux/bug.h"
 297struct pt_regs;
 298#line 14 "include/linux/cpumask.h"
 299struct cpumask {
 300   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 301};
 302#line 14 "include/linux/cpumask.h"
 303typedef struct cpumask cpumask_t;
 304#line 637 "include/linux/cpumask.h"
 305typedef struct cpumask *cpumask_var_t;
 306#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 307struct static_key;
 308#line 234
 309struct static_key;
 310#line 11 "include/linux/personality.h"
 311struct pt_regs;
 312#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 313struct i387_fsave_struct {
 314   u32 cwd ;
 315   u32 swd ;
 316   u32 twd ;
 317   u32 fip ;
 318   u32 fcs ;
 319   u32 foo ;
 320   u32 fos ;
 321   u32 st_space[20] ;
 322   u32 status ;
 323};
 324#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 325struct __anonstruct____missing_field_name_31 {
 326   u64 rip ;
 327   u64 rdp ;
 328};
 329#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 330struct __anonstruct____missing_field_name_32 {
 331   u32 fip ;
 332   u32 fcs ;
 333   u32 foo ;
 334   u32 fos ;
 335};
 336#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 337union __anonunion____missing_field_name_30 {
 338   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
 339   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
 340};
 341#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 342union __anonunion____missing_field_name_33 {
 343   u32 padding1[12] ;
 344   u32 sw_reserved[12] ;
 345};
 346#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 347struct i387_fxsave_struct {
 348   u16 cwd ;
 349   u16 swd ;
 350   u16 twd ;
 351   u16 fop ;
 352   union __anonunion____missing_field_name_30 __annonCompField14 ;
 353   u32 mxcsr ;
 354   u32 mxcsr_mask ;
 355   u32 st_space[32] ;
 356   u32 xmm_space[64] ;
 357   u32 padding[12] ;
 358   union __anonunion____missing_field_name_33 __annonCompField15 ;
 359} __attribute__((__aligned__(16))) ;
 360#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 361struct i387_soft_struct {
 362   u32 cwd ;
 363   u32 swd ;
 364   u32 twd ;
 365   u32 fip ;
 366   u32 fcs ;
 367   u32 foo ;
 368   u32 fos ;
 369   u32 st_space[20] ;
 370   u8 ftop ;
 371   u8 changed ;
 372   u8 lookahead ;
 373   u8 no_update ;
 374   u8 rm ;
 375   u8 alimit ;
 376   struct math_emu_info *info ;
 377   u32 entry_eip ;
 378};
 379#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 380struct ymmh_struct {
 381   u32 ymmh_space[64] ;
 382};
 383#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 384struct xsave_hdr_struct {
 385   u64 xstate_bv ;
 386   u64 reserved1[2] ;
 387   u64 reserved2[5] ;
 388} __attribute__((__packed__)) ;
 389#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 390struct xsave_struct {
 391   struct i387_fxsave_struct i387 ;
 392   struct xsave_hdr_struct xsave_hdr ;
 393   struct ymmh_struct ymmh ;
 394} __attribute__((__packed__, __aligned__(64))) ;
 395#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 396union thread_xstate {
 397   struct i387_fsave_struct fsave ;
 398   struct i387_fxsave_struct fxsave ;
 399   struct i387_soft_struct soft ;
 400   struct xsave_struct xsave ;
 401};
 402#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 403struct fpu {
 404   unsigned int last_cpu ;
 405   unsigned int has_fpu ;
 406   union thread_xstate *state ;
 407};
 408#line 433
 409struct kmem_cache;
 410#line 435
 411struct perf_event;
 412#line 435
 413struct perf_event;
 414#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 415struct thread_struct {
 416   struct desc_struct tls_array[3] ;
 417   unsigned long sp0 ;
 418   unsigned long sp ;
 419   unsigned long usersp ;
 420   unsigned short es ;
 421   unsigned short ds ;
 422   unsigned short fsindex ;
 423   unsigned short gsindex ;
 424   unsigned long fs ;
 425   unsigned long gs ;
 426   struct perf_event *ptrace_bps[4] ;
 427   unsigned long debugreg6 ;
 428   unsigned long ptrace_dr7 ;
 429   unsigned long cr2 ;
 430   unsigned long trap_nr ;
 431   unsigned long error_code ;
 432   struct fpu fpu ;
 433   unsigned long *io_bitmap_ptr ;
 434   unsigned long iopl ;
 435   unsigned int io_bitmap_max ;
 436};
 437#line 23 "include/asm-generic/atomic-long.h"
 438typedef atomic64_t atomic_long_t;
 439#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 440typedef u16 __ticket_t;
 441#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442typedef u32 __ticketpair_t;
 443#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 444struct __raw_tickets {
 445   __ticket_t head ;
 446   __ticket_t tail ;
 447};
 448#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 449union __anonunion____missing_field_name_36 {
 450   __ticketpair_t head_tail ;
 451   struct __raw_tickets tickets ;
 452};
 453#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 454struct arch_spinlock {
 455   union __anonunion____missing_field_name_36 __annonCompField17 ;
 456};
 457#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 458typedef struct arch_spinlock arch_spinlock_t;
 459#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 460struct __anonstruct____missing_field_name_38 {
 461   u32 read ;
 462   s32 write ;
 463};
 464#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 465union __anonunion_arch_rwlock_t_37 {
 466   s64 lock ;
 467   struct __anonstruct____missing_field_name_38 __annonCompField18 ;
 468};
 469#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 470typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
 471#line 12 "include/linux/lockdep.h"
 472struct task_struct;
 473#line 391 "include/linux/lockdep.h"
 474struct lock_class_key {
 475
 476};
 477#line 20 "include/linux/spinlock_types.h"
 478struct raw_spinlock {
 479   arch_spinlock_t raw_lock ;
 480   unsigned int magic ;
 481   unsigned int owner_cpu ;
 482   void *owner ;
 483};
 484#line 20 "include/linux/spinlock_types.h"
 485typedef struct raw_spinlock raw_spinlock_t;
 486#line 64 "include/linux/spinlock_types.h"
 487union __anonunion____missing_field_name_39 {
 488   struct raw_spinlock rlock ;
 489};
 490#line 64 "include/linux/spinlock_types.h"
 491struct spinlock {
 492   union __anonunion____missing_field_name_39 __annonCompField19 ;
 493};
 494#line 64 "include/linux/spinlock_types.h"
 495typedef struct spinlock spinlock_t;
 496#line 11 "include/linux/rwlock_types.h"
 497struct __anonstruct_rwlock_t_40 {
 498   arch_rwlock_t raw_lock ;
 499   unsigned int magic ;
 500   unsigned int owner_cpu ;
 501   void *owner ;
 502};
 503#line 11 "include/linux/rwlock_types.h"
 504typedef struct __anonstruct_rwlock_t_40 rwlock_t;
 505#line 49 "include/linux/wait.h"
 506struct __wait_queue_head {
 507   spinlock_t lock ;
 508   struct list_head task_list ;
 509};
 510#line 53 "include/linux/wait.h"
 511typedef struct __wait_queue_head wait_queue_head_t;
 512#line 55
 513struct task_struct;
 514#line 119 "include/linux/seqlock.h"
 515struct seqcount {
 516   unsigned int sequence ;
 517};
 518#line 119 "include/linux/seqlock.h"
 519typedef struct seqcount seqcount_t;
 520#line 98 "include/linux/nodemask.h"
 521struct __anonstruct_nodemask_t_42 {
 522   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 523};
 524#line 98 "include/linux/nodemask.h"
 525typedef struct __anonstruct_nodemask_t_42 nodemask_t;
 526#line 60 "include/linux/pageblock-flags.h"
 527struct page;
 528#line 48 "include/linux/mutex.h"
 529struct mutex {
 530   atomic_t count ;
 531   spinlock_t wait_lock ;
 532   struct list_head wait_list ;
 533   struct task_struct *owner ;
 534   char const   *name ;
 535   void *magic ;
 536};
 537#line 69 "include/linux/mutex.h"
 538struct mutex_waiter {
 539   struct list_head list ;
 540   struct task_struct *task ;
 541   void *magic ;
 542};
 543#line 19 "include/linux/rwsem.h"
 544struct rw_semaphore;
 545#line 19
 546struct rw_semaphore;
 547#line 25 "include/linux/rwsem.h"
 548struct rw_semaphore {
 549   long count ;
 550   raw_spinlock_t wait_lock ;
 551   struct list_head wait_list ;
 552};
 553#line 25 "include/linux/completion.h"
 554struct completion {
 555   unsigned int done ;
 556   wait_queue_head_t wait ;
 557};
 558#line 9 "include/linux/memory_hotplug.h"
 559struct page;
 560#line 202 "include/linux/ioport.h"
 561struct device;
 562#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 563struct device;
 564#line 14 "include/linux/time.h"
 565struct timespec {
 566   __kernel_time_t tv_sec ;
 567   long tv_nsec ;
 568};
 569#line 46 "include/linux/ktime.h"
 570union ktime {
 571   s64 tv64 ;
 572};
 573#line 59 "include/linux/ktime.h"
 574typedef union ktime ktime_t;
 575#line 10 "include/linux/timer.h"
 576struct tvec_base;
 577#line 10
 578struct tvec_base;
 579#line 12 "include/linux/timer.h"
 580struct timer_list {
 581   struct list_head entry ;
 582   unsigned long expires ;
 583   struct tvec_base *base ;
 584   void (*function)(unsigned long  ) ;
 585   unsigned long data ;
 586   int slack ;
 587   int start_pid ;
 588   void *start_site ;
 589   char start_comm[16] ;
 590};
 591#line 289
 592struct hrtimer;
 593#line 289
 594struct hrtimer;
 595#line 290
 596enum hrtimer_restart;
 597#line 17 "include/linux/workqueue.h"
 598struct work_struct;
 599#line 17
 600struct work_struct;
 601#line 79 "include/linux/workqueue.h"
 602struct work_struct {
 603   atomic_long_t data ;
 604   struct list_head entry ;
 605   void (*func)(struct work_struct *work ) ;
 606};
 607#line 92 "include/linux/workqueue.h"
 608struct delayed_work {
 609   struct work_struct work ;
 610   struct timer_list timer ;
 611};
 612#line 42 "include/linux/pm.h"
 613struct device;
 614#line 50 "include/linux/pm.h"
 615struct pm_message {
 616   int event ;
 617};
 618#line 50 "include/linux/pm.h"
 619typedef struct pm_message pm_message_t;
 620#line 264 "include/linux/pm.h"
 621struct dev_pm_ops {
 622   int (*prepare)(struct device *dev ) ;
 623   void (*complete)(struct device *dev ) ;
 624   int (*suspend)(struct device *dev ) ;
 625   int (*resume)(struct device *dev ) ;
 626   int (*freeze)(struct device *dev ) ;
 627   int (*thaw)(struct device *dev ) ;
 628   int (*poweroff)(struct device *dev ) ;
 629   int (*restore)(struct device *dev ) ;
 630   int (*suspend_late)(struct device *dev ) ;
 631   int (*resume_early)(struct device *dev ) ;
 632   int (*freeze_late)(struct device *dev ) ;
 633   int (*thaw_early)(struct device *dev ) ;
 634   int (*poweroff_late)(struct device *dev ) ;
 635   int (*restore_early)(struct device *dev ) ;
 636   int (*suspend_noirq)(struct device *dev ) ;
 637   int (*resume_noirq)(struct device *dev ) ;
 638   int (*freeze_noirq)(struct device *dev ) ;
 639   int (*thaw_noirq)(struct device *dev ) ;
 640   int (*poweroff_noirq)(struct device *dev ) ;
 641   int (*restore_noirq)(struct device *dev ) ;
 642   int (*runtime_suspend)(struct device *dev ) ;
 643   int (*runtime_resume)(struct device *dev ) ;
 644   int (*runtime_idle)(struct device *dev ) ;
 645};
 646#line 458
 647enum rpm_status {
 648    RPM_ACTIVE = 0,
 649    RPM_RESUMING = 1,
 650    RPM_SUSPENDED = 2,
 651    RPM_SUSPENDING = 3
 652} ;
 653#line 480
 654enum rpm_request {
 655    RPM_REQ_NONE = 0,
 656    RPM_REQ_IDLE = 1,
 657    RPM_REQ_SUSPEND = 2,
 658    RPM_REQ_AUTOSUSPEND = 3,
 659    RPM_REQ_RESUME = 4
 660} ;
 661#line 488
 662struct wakeup_source;
 663#line 488
 664struct wakeup_source;
 665#line 495 "include/linux/pm.h"
 666struct pm_subsys_data {
 667   spinlock_t lock ;
 668   unsigned int refcount ;
 669};
 670#line 506
 671struct dev_pm_qos_request;
 672#line 506
 673struct pm_qos_constraints;
 674#line 506 "include/linux/pm.h"
 675struct dev_pm_info {
 676   pm_message_t power_state ;
 677   unsigned int can_wakeup : 1 ;
 678   unsigned int async_suspend : 1 ;
 679   bool is_prepared : 1 ;
 680   bool is_suspended : 1 ;
 681   bool ignore_children : 1 ;
 682   spinlock_t lock ;
 683   struct list_head entry ;
 684   struct completion completion ;
 685   struct wakeup_source *wakeup ;
 686   bool wakeup_path : 1 ;
 687   struct timer_list suspend_timer ;
 688   unsigned long timer_expires ;
 689   struct work_struct work ;
 690   wait_queue_head_t wait_queue ;
 691   atomic_t usage_count ;
 692   atomic_t child_count ;
 693   unsigned int disable_depth : 3 ;
 694   unsigned int idle_notification : 1 ;
 695   unsigned int request_pending : 1 ;
 696   unsigned int deferred_resume : 1 ;
 697   unsigned int run_wake : 1 ;
 698   unsigned int runtime_auto : 1 ;
 699   unsigned int no_callbacks : 1 ;
 700   unsigned int irq_safe : 1 ;
 701   unsigned int use_autosuspend : 1 ;
 702   unsigned int timer_autosuspends : 1 ;
 703   enum rpm_request request ;
 704   enum rpm_status runtime_status ;
 705   int runtime_error ;
 706   int autosuspend_delay ;
 707   unsigned long last_busy ;
 708   unsigned long active_jiffies ;
 709   unsigned long suspended_jiffies ;
 710   unsigned long accounting_timestamp ;
 711   ktime_t suspend_time ;
 712   s64 max_time_suspended_ns ;
 713   struct dev_pm_qos_request *pq_req ;
 714   struct pm_subsys_data *subsys_data ;
 715   struct pm_qos_constraints *constraints ;
 716};
 717#line 564 "include/linux/pm.h"
 718struct dev_pm_domain {
 719   struct dev_pm_ops ops ;
 720};
 721#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 722struct __anonstruct_mm_context_t_112 {
 723   void *ldt ;
 724   int size ;
 725   unsigned short ia32_compat ;
 726   struct mutex lock ;
 727   void *vdso ;
 728};
 729#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 730typedef struct __anonstruct_mm_context_t_112 mm_context_t;
 731#line 8 "include/linux/vmalloc.h"
 732struct vm_area_struct;
 733#line 8
 734struct vm_area_struct;
 735#line 994 "include/linux/mmzone.h"
 736struct page;
 737#line 10 "include/linux/gfp.h"
 738struct vm_area_struct;
 739#line 20 "include/linux/kobject_ns.h"
 740struct sock;
 741#line 20
 742struct sock;
 743#line 21
 744struct kobject;
 745#line 21
 746struct kobject;
 747#line 27
 748enum kobj_ns_type {
 749    KOBJ_NS_TYPE_NONE = 0,
 750    KOBJ_NS_TYPE_NET = 1,
 751    KOBJ_NS_TYPES = 2
 752} ;
 753#line 40 "include/linux/kobject_ns.h"
 754struct kobj_ns_type_operations {
 755   enum kobj_ns_type type ;
 756   void *(*grab_current_ns)(void) ;
 757   void const   *(*netlink_ns)(struct sock *sk ) ;
 758   void const   *(*initial_ns)(void) ;
 759   void (*drop_ns)(void * ) ;
 760};
 761#line 22 "include/linux/sysfs.h"
 762struct kobject;
 763#line 23
 764struct module;
 765#line 24
 766enum kobj_ns_type;
 767#line 26 "include/linux/sysfs.h"
 768struct attribute {
 769   char const   *name ;
 770   umode_t mode ;
 771};
 772#line 56 "include/linux/sysfs.h"
 773struct attribute_group {
 774   char const   *name ;
 775   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 776   struct attribute **attrs ;
 777};
 778#line 85
 779struct file;
 780#line 86
 781struct vm_area_struct;
 782#line 88 "include/linux/sysfs.h"
 783struct bin_attribute {
 784   struct attribute attr ;
 785   size_t size ;
 786   void *private ;
 787   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 788                   loff_t  , size_t  ) ;
 789   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 790                    loff_t  , size_t  ) ;
 791   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 792};
 793#line 112 "include/linux/sysfs.h"
 794struct sysfs_ops {
 795   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 796   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 797   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 798};
 799#line 118
 800struct sysfs_dirent;
 801#line 118
 802struct sysfs_dirent;
 803#line 22 "include/linux/kref.h"
 804struct kref {
 805   atomic_t refcount ;
 806};
 807#line 60 "include/linux/kobject.h"
 808struct kset;
 809#line 60
 810struct kobj_type;
 811#line 60 "include/linux/kobject.h"
 812struct kobject {
 813   char const   *name ;
 814   struct list_head entry ;
 815   struct kobject *parent ;
 816   struct kset *kset ;
 817   struct kobj_type *ktype ;
 818   struct sysfs_dirent *sd ;
 819   struct kref kref ;
 820   unsigned int state_initialized : 1 ;
 821   unsigned int state_in_sysfs : 1 ;
 822   unsigned int state_add_uevent_sent : 1 ;
 823   unsigned int state_remove_uevent_sent : 1 ;
 824   unsigned int uevent_suppress : 1 ;
 825};
 826#line 108 "include/linux/kobject.h"
 827struct kobj_type {
 828   void (*release)(struct kobject *kobj ) ;
 829   struct sysfs_ops  const  *sysfs_ops ;
 830   struct attribute **default_attrs ;
 831   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 832   void const   *(*namespace)(struct kobject *kobj ) ;
 833};
 834#line 116 "include/linux/kobject.h"
 835struct kobj_uevent_env {
 836   char *envp[32] ;
 837   int envp_idx ;
 838   char buf[2048] ;
 839   int buflen ;
 840};
 841#line 123 "include/linux/kobject.h"
 842struct kset_uevent_ops {
 843   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 844   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 845   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 846};
 847#line 140
 848struct sock;
 849#line 159 "include/linux/kobject.h"
 850struct kset {
 851   struct list_head list ;
 852   spinlock_t list_lock ;
 853   struct kobject kobj ;
 854   struct kset_uevent_ops  const  *uevent_ops ;
 855};
 856#line 46 "include/linux/slub_def.h"
 857struct kmem_cache_cpu {
 858   void **freelist ;
 859   unsigned long tid ;
 860   struct page *page ;
 861   struct page *partial ;
 862   int node ;
 863   unsigned int stat[26] ;
 864};
 865#line 57 "include/linux/slub_def.h"
 866struct kmem_cache_node {
 867   spinlock_t list_lock ;
 868   unsigned long nr_partial ;
 869   struct list_head partial ;
 870   atomic_long_t nr_slabs ;
 871   atomic_long_t total_objects ;
 872   struct list_head full ;
 873};
 874#line 73 "include/linux/slub_def.h"
 875struct kmem_cache_order_objects {
 876   unsigned long x ;
 877};
 878#line 80 "include/linux/slub_def.h"
 879struct kmem_cache {
 880   struct kmem_cache_cpu *cpu_slab ;
 881   unsigned long flags ;
 882   unsigned long min_partial ;
 883   int size ;
 884   int objsize ;
 885   int offset ;
 886   int cpu_partial ;
 887   struct kmem_cache_order_objects oo ;
 888   struct kmem_cache_order_objects max ;
 889   struct kmem_cache_order_objects min ;
 890   gfp_t allocflags ;
 891   int refcount ;
 892   void (*ctor)(void * ) ;
 893   int inuse ;
 894   int align ;
 895   int reserved ;
 896   char const   *name ;
 897   struct list_head list ;
 898   struct kobject kobj ;
 899   int remote_node_defrag_ratio ;
 900   struct kmem_cache_node *node[1 << 10] ;
 901};
 902#line 62 "include/linux/stat.h"
 903struct kstat {
 904   u64 ino ;
 905   dev_t dev ;
 906   umode_t mode ;
 907   unsigned int nlink ;
 908   uid_t uid ;
 909   gid_t gid ;
 910   dev_t rdev ;
 911   loff_t size ;
 912   struct timespec atime ;
 913   struct timespec mtime ;
 914   struct timespec ctime ;
 915   unsigned long blksize ;
 916   unsigned long long blocks ;
 917};
 918#line 29 "include/linux/sysctl.h"
 919struct completion;
 920#line 100 "include/linux/rbtree.h"
 921struct rb_node {
 922   unsigned long rb_parent_color ;
 923   struct rb_node *rb_right ;
 924   struct rb_node *rb_left ;
 925} __attribute__((__aligned__(sizeof(long )))) ;
 926#line 110 "include/linux/rbtree.h"
 927struct rb_root {
 928   struct rb_node *rb_node ;
 929};
 930#line 939 "include/linux/sysctl.h"
 931struct nsproxy;
 932#line 939
 933struct nsproxy;
 934#line 48 "include/linux/kmod.h"
 935struct cred;
 936#line 48
 937struct cred;
 938#line 49
 939struct file;
 940#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 941struct task_struct;
 942#line 18 "include/linux/elf.h"
 943typedef __u64 Elf64_Addr;
 944#line 19 "include/linux/elf.h"
 945typedef __u16 Elf64_Half;
 946#line 23 "include/linux/elf.h"
 947typedef __u32 Elf64_Word;
 948#line 24 "include/linux/elf.h"
 949typedef __u64 Elf64_Xword;
 950#line 194 "include/linux/elf.h"
 951struct elf64_sym {
 952   Elf64_Word st_name ;
 953   unsigned char st_info ;
 954   unsigned char st_other ;
 955   Elf64_Half st_shndx ;
 956   Elf64_Addr st_value ;
 957   Elf64_Xword st_size ;
 958};
 959#line 194 "include/linux/elf.h"
 960typedef struct elf64_sym Elf64_Sym;
 961#line 438
 962struct file;
 963#line 39 "include/linux/moduleparam.h"
 964struct kernel_param;
 965#line 39
 966struct kernel_param;
 967#line 41 "include/linux/moduleparam.h"
 968struct kernel_param_ops {
 969   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 970   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 971   void (*free)(void *arg ) ;
 972};
 973#line 50
 974struct kparam_string;
 975#line 50
 976struct kparam_array;
 977#line 50 "include/linux/moduleparam.h"
 978union __anonunion____missing_field_name_199 {
 979   void *arg ;
 980   struct kparam_string  const  *str ;
 981   struct kparam_array  const  *arr ;
 982};
 983#line 50 "include/linux/moduleparam.h"
 984struct kernel_param {
 985   char const   *name ;
 986   struct kernel_param_ops  const  *ops ;
 987   u16 perm ;
 988   s16 level ;
 989   union __anonunion____missing_field_name_199 __annonCompField32 ;
 990};
 991#line 63 "include/linux/moduleparam.h"
 992struct kparam_string {
 993   unsigned int maxlen ;
 994   char *string ;
 995};
 996#line 69 "include/linux/moduleparam.h"
 997struct kparam_array {
 998   unsigned int max ;
 999   unsigned int elemsize ;
1000   unsigned int *num ;
1001   struct kernel_param_ops  const  *ops ;
1002   void *elem ;
1003};
1004#line 445
1005struct module;
1006#line 80 "include/linux/jump_label.h"
1007struct module;
1008#line 143 "include/linux/jump_label.h"
1009struct static_key {
1010   atomic_t enabled ;
1011};
1012#line 22 "include/linux/tracepoint.h"
1013struct module;
1014#line 23
1015struct tracepoint;
1016#line 23
1017struct tracepoint;
1018#line 25 "include/linux/tracepoint.h"
1019struct tracepoint_func {
1020   void *func ;
1021   void *data ;
1022};
1023#line 30 "include/linux/tracepoint.h"
1024struct tracepoint {
1025   char const   *name ;
1026   struct static_key key ;
1027   void (*regfunc)(void) ;
1028   void (*unregfunc)(void) ;
1029   struct tracepoint_func *funcs ;
1030};
1031#line 19 "include/linux/export.h"
1032struct kernel_symbol {
1033   unsigned long value ;
1034   char const   *name ;
1035};
1036#line 8 "include/asm-generic/module.h"
1037struct mod_arch_specific {
1038
1039};
1040#line 35 "include/linux/module.h"
1041struct module;
1042#line 37
1043struct module_param_attrs;
1044#line 37 "include/linux/module.h"
1045struct module_kobject {
1046   struct kobject kobj ;
1047   struct module *mod ;
1048   struct kobject *drivers_dir ;
1049   struct module_param_attrs *mp ;
1050};
1051#line 44 "include/linux/module.h"
1052struct module_attribute {
1053   struct attribute attr ;
1054   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1055   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1056                    size_t count ) ;
1057   void (*setup)(struct module * , char const   * ) ;
1058   int (*test)(struct module * ) ;
1059   void (*free)(struct module * ) ;
1060};
1061#line 71
1062struct exception_table_entry;
1063#line 71
1064struct exception_table_entry;
1065#line 199
1066enum module_state {
1067    MODULE_STATE_LIVE = 0,
1068    MODULE_STATE_COMING = 1,
1069    MODULE_STATE_GOING = 2
1070} ;
1071#line 215 "include/linux/module.h"
1072struct module_ref {
1073   unsigned long incs ;
1074   unsigned long decs ;
1075} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
1076#line 220
1077struct module_sect_attrs;
1078#line 220
1079struct module_notes_attrs;
1080#line 220
1081struct ftrace_event_call;
1082#line 220 "include/linux/module.h"
1083struct module {
1084   enum module_state state ;
1085   struct list_head list ;
1086   char name[64UL - sizeof(unsigned long )] ;
1087   struct module_kobject mkobj ;
1088   struct module_attribute *modinfo_attrs ;
1089   char const   *version ;
1090   char const   *srcversion ;
1091   struct kobject *holders_dir ;
1092   struct kernel_symbol  const  *syms ;
1093   unsigned long const   *crcs ;
1094   unsigned int num_syms ;
1095   struct kernel_param *kp ;
1096   unsigned int num_kp ;
1097   unsigned int num_gpl_syms ;
1098   struct kernel_symbol  const  *gpl_syms ;
1099   unsigned long const   *gpl_crcs ;
1100   struct kernel_symbol  const  *unused_syms ;
1101   unsigned long const   *unused_crcs ;
1102   unsigned int num_unused_syms ;
1103   unsigned int num_unused_gpl_syms ;
1104   struct kernel_symbol  const  *unused_gpl_syms ;
1105   unsigned long const   *unused_gpl_crcs ;
1106   struct kernel_symbol  const  *gpl_future_syms ;
1107   unsigned long const   *gpl_future_crcs ;
1108   unsigned int num_gpl_future_syms ;
1109   unsigned int num_exentries ;
1110   struct exception_table_entry *extable ;
1111   int (*init)(void) ;
1112   void *module_init ;
1113   void *module_core ;
1114   unsigned int init_size ;
1115   unsigned int core_size ;
1116   unsigned int init_text_size ;
1117   unsigned int core_text_size ;
1118   unsigned int init_ro_size ;
1119   unsigned int core_ro_size ;
1120   struct mod_arch_specific arch ;
1121   unsigned int taints ;
1122   unsigned int num_bugs ;
1123   struct list_head bug_list ;
1124   struct bug_entry *bug_table ;
1125   Elf64_Sym *symtab ;
1126   Elf64_Sym *core_symtab ;
1127   unsigned int num_symtab ;
1128   unsigned int core_num_syms ;
1129   char *strtab ;
1130   char *core_strtab ;
1131   struct module_sect_attrs *sect_attrs ;
1132   struct module_notes_attrs *notes_attrs ;
1133   char *args ;
1134   void *percpu ;
1135   unsigned int percpu_size ;
1136   unsigned int num_tracepoints ;
1137   struct tracepoint * const  *tracepoints_ptrs ;
1138   unsigned int num_trace_bprintk_fmt ;
1139   char const   **trace_bprintk_fmt_start ;
1140   struct ftrace_event_call **trace_events ;
1141   unsigned int num_trace_events ;
1142   struct list_head source_list ;
1143   struct list_head target_list ;
1144   struct task_struct *waiter ;
1145   void (*exit)(void) ;
1146   struct module_ref *refptr ;
1147   ctor_fn_t *ctors ;
1148   unsigned int num_ctors ;
1149};
1150#line 19 "include/linux/klist.h"
1151struct klist_node;
1152#line 19
1153struct klist_node;
1154#line 39 "include/linux/klist.h"
1155struct klist_node {
1156   void *n_klist ;
1157   struct list_head n_node ;
1158   struct kref n_ref ;
1159};
1160#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1161struct dma_map_ops;
1162#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1163struct dev_archdata {
1164   void *acpi_handle ;
1165   struct dma_map_ops *dma_ops ;
1166   void *iommu ;
1167};
1168#line 28 "include/linux/device.h"
1169struct device;
1170#line 29
1171struct device_private;
1172#line 29
1173struct device_private;
1174#line 30
1175struct device_driver;
1176#line 30
1177struct device_driver;
1178#line 31
1179struct driver_private;
1180#line 31
1181struct driver_private;
1182#line 32
1183struct module;
1184#line 33
1185struct class;
1186#line 33
1187struct class;
1188#line 34
1189struct subsys_private;
1190#line 34
1191struct subsys_private;
1192#line 35
1193struct bus_type;
1194#line 35
1195struct bus_type;
1196#line 36
1197struct device_node;
1198#line 36
1199struct device_node;
1200#line 37
1201struct iommu_ops;
1202#line 37
1203struct iommu_ops;
1204#line 39 "include/linux/device.h"
1205struct bus_attribute {
1206   struct attribute attr ;
1207   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1208   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1209};
1210#line 89
1211struct device_attribute;
1212#line 89
1213struct driver_attribute;
1214#line 89 "include/linux/device.h"
1215struct bus_type {
1216   char const   *name ;
1217   char const   *dev_name ;
1218   struct device *dev_root ;
1219   struct bus_attribute *bus_attrs ;
1220   struct device_attribute *dev_attrs ;
1221   struct driver_attribute *drv_attrs ;
1222   int (*match)(struct device *dev , struct device_driver *drv ) ;
1223   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1224   int (*probe)(struct device *dev ) ;
1225   int (*remove)(struct device *dev ) ;
1226   void (*shutdown)(struct device *dev ) ;
1227   int (*suspend)(struct device *dev , pm_message_t state ) ;
1228   int (*resume)(struct device *dev ) ;
1229   struct dev_pm_ops  const  *pm ;
1230   struct iommu_ops *iommu_ops ;
1231   struct subsys_private *p ;
1232};
1233#line 127
1234struct device_type;
1235#line 214
1236struct of_device_id;
1237#line 214 "include/linux/device.h"
1238struct device_driver {
1239   char const   *name ;
1240   struct bus_type *bus ;
1241   struct module *owner ;
1242   char const   *mod_name ;
1243   bool suppress_bind_attrs ;
1244   struct of_device_id  const  *of_match_table ;
1245   int (*probe)(struct device *dev ) ;
1246   int (*remove)(struct device *dev ) ;
1247   void (*shutdown)(struct device *dev ) ;
1248   int (*suspend)(struct device *dev , pm_message_t state ) ;
1249   int (*resume)(struct device *dev ) ;
1250   struct attribute_group  const  **groups ;
1251   struct dev_pm_ops  const  *pm ;
1252   struct driver_private *p ;
1253};
1254#line 249 "include/linux/device.h"
1255struct driver_attribute {
1256   struct attribute attr ;
1257   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1258   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1259};
1260#line 330
1261struct class_attribute;
1262#line 330 "include/linux/device.h"
1263struct class {
1264   char const   *name ;
1265   struct module *owner ;
1266   struct class_attribute *class_attrs ;
1267   struct device_attribute *dev_attrs ;
1268   struct bin_attribute *dev_bin_attrs ;
1269   struct kobject *dev_kobj ;
1270   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1271   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1272   void (*class_release)(struct class *class ) ;
1273   void (*dev_release)(struct device *dev ) ;
1274   int (*suspend)(struct device *dev , pm_message_t state ) ;
1275   int (*resume)(struct device *dev ) ;
1276   struct kobj_ns_type_operations  const  *ns_type ;
1277   void const   *(*namespace)(struct device *dev ) ;
1278   struct dev_pm_ops  const  *pm ;
1279   struct subsys_private *p ;
1280};
1281#line 397 "include/linux/device.h"
1282struct class_attribute {
1283   struct attribute attr ;
1284   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1285   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1286                    size_t count ) ;
1287   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
1288};
1289#line 465 "include/linux/device.h"
1290struct device_type {
1291   char const   *name ;
1292   struct attribute_group  const  **groups ;
1293   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1294   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1295   void (*release)(struct device *dev ) ;
1296   struct dev_pm_ops  const  *pm ;
1297};
1298#line 476 "include/linux/device.h"
1299struct device_attribute {
1300   struct attribute attr ;
1301   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1302   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1303                    size_t count ) ;
1304};
1305#line 559 "include/linux/device.h"
1306struct device_dma_parameters {
1307   unsigned int max_segment_size ;
1308   unsigned long segment_boundary_mask ;
1309};
1310#line 627
1311struct dma_coherent_mem;
1312#line 627 "include/linux/device.h"
1313struct device {
1314   struct device *parent ;
1315   struct device_private *p ;
1316   struct kobject kobj ;
1317   char const   *init_name ;
1318   struct device_type  const  *type ;
1319   struct mutex mutex ;
1320   struct bus_type *bus ;
1321   struct device_driver *driver ;
1322   void *platform_data ;
1323   struct dev_pm_info power ;
1324   struct dev_pm_domain *pm_domain ;
1325   int numa_node ;
1326   u64 *dma_mask ;
1327   u64 coherent_dma_mask ;
1328   struct device_dma_parameters *dma_parms ;
1329   struct list_head dma_pools ;
1330   struct dma_coherent_mem *dma_mem ;
1331   struct dev_archdata archdata ;
1332   struct device_node *of_node ;
1333   dev_t devt ;
1334   u32 id ;
1335   spinlock_t devres_lock ;
1336   struct list_head devres_head ;
1337   struct klist_node knode_class ;
1338   struct class *class ;
1339   struct attribute_group  const  **groups ;
1340   void (*release)(struct device *dev ) ;
1341};
1342#line 43 "include/linux/pm_wakeup.h"
1343struct wakeup_source {
1344   char const   *name ;
1345   struct list_head entry ;
1346   spinlock_t lock ;
1347   struct timer_list timer ;
1348   unsigned long timer_expires ;
1349   ktime_t total_time ;
1350   ktime_t max_time ;
1351   ktime_t last_time ;
1352   unsigned long event_count ;
1353   unsigned long active_count ;
1354   unsigned long relax_count ;
1355   unsigned long hit_count ;
1356   unsigned int active : 1 ;
1357};
1358#line 18 "include/linux/capability.h"
1359struct task_struct;
1360#line 94 "include/linux/capability.h"
1361struct kernel_cap_struct {
1362   __u32 cap[2] ;
1363};
1364#line 94 "include/linux/capability.h"
1365typedef struct kernel_cap_struct kernel_cap_t;
1366#line 377
1367struct dentry;
1368#line 377
1369struct dentry;
1370#line 378
1371struct user_namespace;
1372#line 378
1373struct user_namespace;
1374#line 14 "include/linux/prio_tree.h"
1375struct prio_tree_node;
1376#line 14 "include/linux/prio_tree.h"
1377struct raw_prio_tree_node {
1378   struct prio_tree_node *left ;
1379   struct prio_tree_node *right ;
1380   struct prio_tree_node *parent ;
1381};
1382#line 20 "include/linux/prio_tree.h"
1383struct prio_tree_node {
1384   struct prio_tree_node *left ;
1385   struct prio_tree_node *right ;
1386   struct prio_tree_node *parent ;
1387   unsigned long start ;
1388   unsigned long last ;
1389};
1390#line 28 "include/linux/prio_tree.h"
1391struct prio_tree_root {
1392   struct prio_tree_node *prio_tree_node ;
1393   unsigned short index_bits ;
1394   unsigned short raw ;
1395};
1396#line 23 "include/linux/mm_types.h"
1397struct address_space;
1398#line 23
1399struct address_space;
1400#line 40 "include/linux/mm_types.h"
1401union __anonunion____missing_field_name_203 {
1402   unsigned long index ;
1403   void *freelist ;
1404};
1405#line 40 "include/linux/mm_types.h"
1406struct __anonstruct____missing_field_name_207 {
1407   unsigned int inuse : 16 ;
1408   unsigned int objects : 15 ;
1409   unsigned int frozen : 1 ;
1410};
1411#line 40 "include/linux/mm_types.h"
1412union __anonunion____missing_field_name_206 {
1413   atomic_t _mapcount ;
1414   struct __anonstruct____missing_field_name_207 __annonCompField34 ;
1415};
1416#line 40 "include/linux/mm_types.h"
1417struct __anonstruct____missing_field_name_205 {
1418   union __anonunion____missing_field_name_206 __annonCompField35 ;
1419   atomic_t _count ;
1420};
1421#line 40 "include/linux/mm_types.h"
1422union __anonunion____missing_field_name_204 {
1423   unsigned long counters ;
1424   struct __anonstruct____missing_field_name_205 __annonCompField36 ;
1425};
1426#line 40 "include/linux/mm_types.h"
1427struct __anonstruct____missing_field_name_202 {
1428   union __anonunion____missing_field_name_203 __annonCompField33 ;
1429   union __anonunion____missing_field_name_204 __annonCompField37 ;
1430};
1431#line 40 "include/linux/mm_types.h"
1432struct __anonstruct____missing_field_name_209 {
1433   struct page *next ;
1434   int pages ;
1435   int pobjects ;
1436};
1437#line 40 "include/linux/mm_types.h"
1438union __anonunion____missing_field_name_208 {
1439   struct list_head lru ;
1440   struct __anonstruct____missing_field_name_209 __annonCompField39 ;
1441};
1442#line 40 "include/linux/mm_types.h"
1443union __anonunion____missing_field_name_210 {
1444   unsigned long private ;
1445   struct kmem_cache *slab ;
1446   struct page *first_page ;
1447};
1448#line 40 "include/linux/mm_types.h"
1449struct page {
1450   unsigned long flags ;
1451   struct address_space *mapping ;
1452   struct __anonstruct____missing_field_name_202 __annonCompField38 ;
1453   union __anonunion____missing_field_name_208 __annonCompField40 ;
1454   union __anonunion____missing_field_name_210 __annonCompField41 ;
1455   unsigned long debug_flags ;
1456} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
1457#line 200 "include/linux/mm_types.h"
1458struct __anonstruct_vm_set_212 {
1459   struct list_head list ;
1460   void *parent ;
1461   struct vm_area_struct *head ;
1462};
1463#line 200 "include/linux/mm_types.h"
1464union __anonunion_shared_211 {
1465   struct __anonstruct_vm_set_212 vm_set ;
1466   struct raw_prio_tree_node prio_tree_node ;
1467};
1468#line 200
1469struct anon_vma;
1470#line 200
1471struct vm_operations_struct;
1472#line 200
1473struct mempolicy;
1474#line 200 "include/linux/mm_types.h"
1475struct vm_area_struct {
1476   struct mm_struct *vm_mm ;
1477   unsigned long vm_start ;
1478   unsigned long vm_end ;
1479   struct vm_area_struct *vm_next ;
1480   struct vm_area_struct *vm_prev ;
1481   pgprot_t vm_page_prot ;
1482   unsigned long vm_flags ;
1483   struct rb_node vm_rb ;
1484   union __anonunion_shared_211 shared ;
1485   struct list_head anon_vma_chain ;
1486   struct anon_vma *anon_vma ;
1487   struct vm_operations_struct  const  *vm_ops ;
1488   unsigned long vm_pgoff ;
1489   struct file *vm_file ;
1490   void *vm_private_data ;
1491   struct mempolicy *vm_policy ;
1492};
1493#line 257 "include/linux/mm_types.h"
1494struct core_thread {
1495   struct task_struct *task ;
1496   struct core_thread *next ;
1497};
1498#line 262 "include/linux/mm_types.h"
1499struct core_state {
1500   atomic_t nr_threads ;
1501   struct core_thread dumper ;
1502   struct completion startup ;
1503};
1504#line 284 "include/linux/mm_types.h"
1505struct mm_rss_stat {
1506   atomic_long_t count[3] ;
1507};
1508#line 288
1509struct linux_binfmt;
1510#line 288
1511struct mmu_notifier_mm;
1512#line 288 "include/linux/mm_types.h"
1513struct mm_struct {
1514   struct vm_area_struct *mmap ;
1515   struct rb_root mm_rb ;
1516   struct vm_area_struct *mmap_cache ;
1517   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1518                                      unsigned long pgoff , unsigned long flags ) ;
1519   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1520   unsigned long mmap_base ;
1521   unsigned long task_size ;
1522   unsigned long cached_hole_size ;
1523   unsigned long free_area_cache ;
1524   pgd_t *pgd ;
1525   atomic_t mm_users ;
1526   atomic_t mm_count ;
1527   int map_count ;
1528   spinlock_t page_table_lock ;
1529   struct rw_semaphore mmap_sem ;
1530   struct list_head mmlist ;
1531   unsigned long hiwater_rss ;
1532   unsigned long hiwater_vm ;
1533   unsigned long total_vm ;
1534   unsigned long locked_vm ;
1535   unsigned long pinned_vm ;
1536   unsigned long shared_vm ;
1537   unsigned long exec_vm ;
1538   unsigned long stack_vm ;
1539   unsigned long reserved_vm ;
1540   unsigned long def_flags ;
1541   unsigned long nr_ptes ;
1542   unsigned long start_code ;
1543   unsigned long end_code ;
1544   unsigned long start_data ;
1545   unsigned long end_data ;
1546   unsigned long start_brk ;
1547   unsigned long brk ;
1548   unsigned long start_stack ;
1549   unsigned long arg_start ;
1550   unsigned long arg_end ;
1551   unsigned long env_start ;
1552   unsigned long env_end ;
1553   unsigned long saved_auxv[44] ;
1554   struct mm_rss_stat rss_stat ;
1555   struct linux_binfmt *binfmt ;
1556   cpumask_var_t cpu_vm_mask_var ;
1557   mm_context_t context ;
1558   unsigned int faultstamp ;
1559   unsigned int token_priority ;
1560   unsigned int last_interval ;
1561   unsigned long flags ;
1562   struct core_state *core_state ;
1563   spinlock_t ioctx_lock ;
1564   struct hlist_head ioctx_list ;
1565   struct task_struct *owner ;
1566   struct file *exe_file ;
1567   unsigned long num_exe_file_vmas ;
1568   struct mmu_notifier_mm *mmu_notifier_mm ;
1569   pgtable_t pmd_huge_pte ;
1570   struct cpumask cpumask_allocation ;
1571};
1572#line 7 "include/asm-generic/cputime.h"
1573typedef unsigned long cputime_t;
1574#line 84 "include/linux/sem.h"
1575struct task_struct;
1576#line 101
1577struct sem_undo_list;
1578#line 101 "include/linux/sem.h"
1579struct sysv_sem {
1580   struct sem_undo_list *undo_list ;
1581};
1582#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1583struct siginfo;
1584#line 10
1585struct siginfo;
1586#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1587struct __anonstruct_sigset_t_214 {
1588   unsigned long sig[1] ;
1589};
1590#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1591typedef struct __anonstruct_sigset_t_214 sigset_t;
1592#line 17 "include/asm-generic/signal-defs.h"
1593typedef void __signalfn_t(int  );
1594#line 18 "include/asm-generic/signal-defs.h"
1595typedef __signalfn_t *__sighandler_t;
1596#line 20 "include/asm-generic/signal-defs.h"
1597typedef void __restorefn_t(void);
1598#line 21 "include/asm-generic/signal-defs.h"
1599typedef __restorefn_t *__sigrestore_t;
1600#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1601struct sigaction {
1602   __sighandler_t sa_handler ;
1603   unsigned long sa_flags ;
1604   __sigrestore_t sa_restorer ;
1605   sigset_t sa_mask ;
1606};
1607#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1608struct k_sigaction {
1609   struct sigaction sa ;
1610};
1611#line 7 "include/asm-generic/siginfo.h"
1612union sigval {
1613   int sival_int ;
1614   void *sival_ptr ;
1615};
1616#line 7 "include/asm-generic/siginfo.h"
1617typedef union sigval sigval_t;
1618#line 48 "include/asm-generic/siginfo.h"
1619struct __anonstruct__kill_216 {
1620   __kernel_pid_t _pid ;
1621   __kernel_uid32_t _uid ;
1622};
1623#line 48 "include/asm-generic/siginfo.h"
1624struct __anonstruct__timer_217 {
1625   __kernel_timer_t _tid ;
1626   int _overrun ;
1627   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1628   sigval_t _sigval ;
1629   int _sys_private ;
1630};
1631#line 48 "include/asm-generic/siginfo.h"
1632struct __anonstruct__rt_218 {
1633   __kernel_pid_t _pid ;
1634   __kernel_uid32_t _uid ;
1635   sigval_t _sigval ;
1636};
1637#line 48 "include/asm-generic/siginfo.h"
1638struct __anonstruct__sigchld_219 {
1639   __kernel_pid_t _pid ;
1640   __kernel_uid32_t _uid ;
1641   int _status ;
1642   __kernel_clock_t _utime ;
1643   __kernel_clock_t _stime ;
1644};
1645#line 48 "include/asm-generic/siginfo.h"
1646struct __anonstruct__sigfault_220 {
1647   void *_addr ;
1648   short _addr_lsb ;
1649};
1650#line 48 "include/asm-generic/siginfo.h"
1651struct __anonstruct__sigpoll_221 {
1652   long _band ;
1653   int _fd ;
1654};
1655#line 48 "include/asm-generic/siginfo.h"
1656union __anonunion__sifields_215 {
1657   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1658   struct __anonstruct__kill_216 _kill ;
1659   struct __anonstruct__timer_217 _timer ;
1660   struct __anonstruct__rt_218 _rt ;
1661   struct __anonstruct__sigchld_219 _sigchld ;
1662   struct __anonstruct__sigfault_220 _sigfault ;
1663   struct __anonstruct__sigpoll_221 _sigpoll ;
1664};
1665#line 48 "include/asm-generic/siginfo.h"
1666struct siginfo {
1667   int si_signo ;
1668   int si_errno ;
1669   int si_code ;
1670   union __anonunion__sifields_215 _sifields ;
1671};
1672#line 48 "include/asm-generic/siginfo.h"
1673typedef struct siginfo siginfo_t;
1674#line 288
1675struct siginfo;
1676#line 10 "include/linux/signal.h"
1677struct task_struct;
1678#line 18
1679struct user_struct;
1680#line 28 "include/linux/signal.h"
1681struct sigpending {
1682   struct list_head list ;
1683   sigset_t signal ;
1684};
1685#line 239
1686struct timespec;
1687#line 240
1688struct pt_regs;
1689#line 6 "include/linux/pid.h"
1690enum pid_type {
1691    PIDTYPE_PID = 0,
1692    PIDTYPE_PGID = 1,
1693    PIDTYPE_SID = 2,
1694    PIDTYPE_MAX = 3
1695} ;
1696#line 50
1697struct pid_namespace;
1698#line 50 "include/linux/pid.h"
1699struct upid {
1700   int nr ;
1701   struct pid_namespace *ns ;
1702   struct hlist_node pid_chain ;
1703};
1704#line 57 "include/linux/pid.h"
1705struct pid {
1706   atomic_t count ;
1707   unsigned int level ;
1708   struct hlist_head tasks[3] ;
1709   struct rcu_head rcu ;
1710   struct upid numbers[1] ;
1711};
1712#line 69 "include/linux/pid.h"
1713struct pid_link {
1714   struct hlist_node node ;
1715   struct pid *pid ;
1716};
1717#line 100
1718struct pid_namespace;
1719#line 10 "include/linux/seccomp.h"
1720struct __anonstruct_seccomp_t_224 {
1721   int mode ;
1722};
1723#line 10 "include/linux/seccomp.h"
1724typedef struct __anonstruct_seccomp_t_224 seccomp_t;
1725#line 81 "include/linux/plist.h"
1726struct plist_head {
1727   struct list_head node_list ;
1728};
1729#line 85 "include/linux/plist.h"
1730struct plist_node {
1731   int prio ;
1732   struct list_head prio_list ;
1733   struct list_head node_list ;
1734};
1735#line 40 "include/linux/rtmutex.h"
1736struct rt_mutex_waiter;
1737#line 40
1738struct rt_mutex_waiter;
1739#line 42 "include/linux/resource.h"
1740struct rlimit {
1741   unsigned long rlim_cur ;
1742   unsigned long rlim_max ;
1743};
1744#line 81
1745struct task_struct;
1746#line 8 "include/linux/timerqueue.h"
1747struct timerqueue_node {
1748   struct rb_node node ;
1749   ktime_t expires ;
1750};
1751#line 13 "include/linux/timerqueue.h"
1752struct timerqueue_head {
1753   struct rb_root head ;
1754   struct timerqueue_node *next ;
1755};
1756#line 27 "include/linux/hrtimer.h"
1757struct hrtimer_clock_base;
1758#line 27
1759struct hrtimer_clock_base;
1760#line 28
1761struct hrtimer_cpu_base;
1762#line 28
1763struct hrtimer_cpu_base;
1764#line 44
1765enum hrtimer_restart {
1766    HRTIMER_NORESTART = 0,
1767    HRTIMER_RESTART = 1
1768} ;
1769#line 108 "include/linux/hrtimer.h"
1770struct hrtimer {
1771   struct timerqueue_node node ;
1772   ktime_t _softexpires ;
1773   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1774   struct hrtimer_clock_base *base ;
1775   unsigned long state ;
1776   int start_pid ;
1777   void *start_site ;
1778   char start_comm[16] ;
1779};
1780#line 145 "include/linux/hrtimer.h"
1781struct hrtimer_clock_base {
1782   struct hrtimer_cpu_base *cpu_base ;
1783   int index ;
1784   clockid_t clockid ;
1785   struct timerqueue_head active ;
1786   ktime_t resolution ;
1787   ktime_t (*get_time)(void) ;
1788   ktime_t softirq_time ;
1789   ktime_t offset ;
1790};
1791#line 178 "include/linux/hrtimer.h"
1792struct hrtimer_cpu_base {
1793   raw_spinlock_t lock ;
1794   unsigned long active_bases ;
1795   ktime_t expires_next ;
1796   int hres_active ;
1797   int hang_detected ;
1798   unsigned long nr_events ;
1799   unsigned long nr_retries ;
1800   unsigned long nr_hangs ;
1801   ktime_t max_hang_time ;
1802   struct hrtimer_clock_base clock_base[3] ;
1803};
1804#line 11 "include/linux/task_io_accounting.h"
1805struct task_io_accounting {
1806   u64 rchar ;
1807   u64 wchar ;
1808   u64 syscr ;
1809   u64 syscw ;
1810   u64 read_bytes ;
1811   u64 write_bytes ;
1812   u64 cancelled_write_bytes ;
1813};
1814#line 13 "include/linux/latencytop.h"
1815struct task_struct;
1816#line 20 "include/linux/latencytop.h"
1817struct latency_record {
1818   unsigned long backtrace[12] ;
1819   unsigned int count ;
1820   unsigned long time ;
1821   unsigned long max ;
1822};
1823#line 29 "include/linux/key.h"
1824typedef int32_t key_serial_t;
1825#line 32 "include/linux/key.h"
1826typedef uint32_t key_perm_t;
1827#line 34
1828struct key;
1829#line 34
1830struct key;
1831#line 74
1832struct seq_file;
1833#line 75
1834struct user_struct;
1835#line 76
1836struct signal_struct;
1837#line 76
1838struct signal_struct;
1839#line 77
1840struct cred;
1841#line 79
1842struct key_type;
1843#line 79
1844struct key_type;
1845#line 81
1846struct keyring_list;
1847#line 81
1848struct keyring_list;
1849#line 124
1850struct key_user;
1851#line 124 "include/linux/key.h"
1852union __anonunion____missing_field_name_225 {
1853   time_t expiry ;
1854   time_t revoked_at ;
1855};
1856#line 124 "include/linux/key.h"
1857union __anonunion_type_data_226 {
1858   struct list_head link ;
1859   unsigned long x[2] ;
1860   void *p[2] ;
1861   int reject_error ;
1862};
1863#line 124 "include/linux/key.h"
1864union __anonunion_payload_227 {
1865   unsigned long value ;
1866   void *rcudata ;
1867   void *data ;
1868   struct keyring_list *subscriptions ;
1869};
1870#line 124 "include/linux/key.h"
1871struct key {
1872   atomic_t usage ;
1873   key_serial_t serial ;
1874   struct rb_node serial_node ;
1875   struct key_type *type ;
1876   struct rw_semaphore sem ;
1877   struct key_user *user ;
1878   void *security ;
1879   union __anonunion____missing_field_name_225 __annonCompField42 ;
1880   uid_t uid ;
1881   gid_t gid ;
1882   key_perm_t perm ;
1883   unsigned short quotalen ;
1884   unsigned short datalen ;
1885   unsigned long flags ;
1886   char *description ;
1887   union __anonunion_type_data_226 type_data ;
1888   union __anonunion_payload_227 payload ;
1889};
1890#line 18 "include/linux/selinux.h"
1891struct audit_context;
1892#line 18
1893struct audit_context;
1894#line 21 "include/linux/cred.h"
1895struct user_struct;
1896#line 22
1897struct cred;
1898#line 23
1899struct inode;
1900#line 23
1901struct inode;
1902#line 31 "include/linux/cred.h"
1903struct group_info {
1904   atomic_t usage ;
1905   int ngroups ;
1906   int nblocks ;
1907   gid_t small_block[32] ;
1908   gid_t *blocks[0] ;
1909};
1910#line 83 "include/linux/cred.h"
1911struct thread_group_cred {
1912   atomic_t usage ;
1913   pid_t tgid ;
1914   spinlock_t lock ;
1915   struct key *session_keyring ;
1916   struct key *process_keyring ;
1917   struct rcu_head rcu ;
1918};
1919#line 116 "include/linux/cred.h"
1920struct cred {
1921   atomic_t usage ;
1922   atomic_t subscribers ;
1923   void *put_addr ;
1924   unsigned int magic ;
1925   uid_t uid ;
1926   gid_t gid ;
1927   uid_t suid ;
1928   gid_t sgid ;
1929   uid_t euid ;
1930   gid_t egid ;
1931   uid_t fsuid ;
1932   gid_t fsgid ;
1933   unsigned int securebits ;
1934   kernel_cap_t cap_inheritable ;
1935   kernel_cap_t cap_permitted ;
1936   kernel_cap_t cap_effective ;
1937   kernel_cap_t cap_bset ;
1938   unsigned char jit_keyring ;
1939   struct key *thread_keyring ;
1940   struct key *request_key_auth ;
1941   struct thread_group_cred *tgcred ;
1942   void *security ;
1943   struct user_struct *user ;
1944   struct user_namespace *user_ns ;
1945   struct group_info *group_info ;
1946   struct rcu_head rcu ;
1947};
1948#line 61 "include/linux/llist.h"
1949struct llist_node;
1950#line 65 "include/linux/llist.h"
1951struct llist_node {
1952   struct llist_node *next ;
1953};
1954#line 97 "include/linux/sched.h"
1955struct futex_pi_state;
1956#line 97
1957struct futex_pi_state;
1958#line 98
1959struct robust_list_head;
1960#line 98
1961struct robust_list_head;
1962#line 99
1963struct bio_list;
1964#line 99
1965struct bio_list;
1966#line 100
1967struct fs_struct;
1968#line 100
1969struct fs_struct;
1970#line 101
1971struct perf_event_context;
1972#line 101
1973struct perf_event_context;
1974#line 102
1975struct blk_plug;
1976#line 102
1977struct blk_plug;
1978#line 150
1979struct seq_file;
1980#line 151
1981struct cfs_rq;
1982#line 151
1983struct cfs_rq;
1984#line 259
1985struct task_struct;
1986#line 366
1987struct nsproxy;
1988#line 367
1989struct user_namespace;
1990#line 58 "include/linux/aio_abi.h"
1991struct io_event {
1992   __u64 data ;
1993   __u64 obj ;
1994   __s64 res ;
1995   __s64 res2 ;
1996};
1997#line 16 "include/linux/uio.h"
1998struct iovec {
1999   void *iov_base ;
2000   __kernel_size_t iov_len ;
2001};
2002#line 15 "include/linux/aio.h"
2003struct kioctx;
2004#line 15
2005struct kioctx;
2006#line 87 "include/linux/aio.h"
2007union __anonunion_ki_obj_229 {
2008   void *user ;
2009   struct task_struct *tsk ;
2010};
2011#line 87
2012struct eventfd_ctx;
2013#line 87 "include/linux/aio.h"
2014struct kiocb {
2015   struct list_head ki_run_list ;
2016   unsigned long ki_flags ;
2017   int ki_users ;
2018   unsigned int ki_key ;
2019   struct file *ki_filp ;
2020   struct kioctx *ki_ctx ;
2021   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2022   ssize_t (*ki_retry)(struct kiocb * ) ;
2023   void (*ki_dtor)(struct kiocb * ) ;
2024   union __anonunion_ki_obj_229 ki_obj ;
2025   __u64 ki_user_data ;
2026   loff_t ki_pos ;
2027   void *private ;
2028   unsigned short ki_opcode ;
2029   size_t ki_nbytes ;
2030   char *ki_buf ;
2031   size_t ki_left ;
2032   struct iovec ki_inline_vec ;
2033   struct iovec *ki_iovec ;
2034   unsigned long ki_nr_segs ;
2035   unsigned long ki_cur_seg ;
2036   struct list_head ki_list ;
2037   struct list_head ki_batch ;
2038   struct eventfd_ctx *ki_eventfd ;
2039};
2040#line 166 "include/linux/aio.h"
2041struct aio_ring_info {
2042   unsigned long mmap_base ;
2043   unsigned long mmap_size ;
2044   struct page **ring_pages ;
2045   spinlock_t ring_lock ;
2046   long nr_pages ;
2047   unsigned int nr ;
2048   unsigned int tail ;
2049   struct page *internal_pages[8] ;
2050};
2051#line 179 "include/linux/aio.h"
2052struct kioctx {
2053   atomic_t users ;
2054   int dead ;
2055   struct mm_struct *mm ;
2056   unsigned long user_id ;
2057   struct hlist_node list ;
2058   wait_queue_head_t wait ;
2059   spinlock_t ctx_lock ;
2060   int reqs_active ;
2061   struct list_head active_reqs ;
2062   struct list_head run_list ;
2063   unsigned int max_reqs ;
2064   struct aio_ring_info ring_info ;
2065   struct delayed_work wq ;
2066   struct rcu_head rcu_head ;
2067};
2068#line 214
2069struct mm_struct;
2070#line 443 "include/linux/sched.h"
2071struct sighand_struct {
2072   atomic_t count ;
2073   struct k_sigaction action[64] ;
2074   spinlock_t siglock ;
2075   wait_queue_head_t signalfd_wqh ;
2076};
2077#line 450 "include/linux/sched.h"
2078struct pacct_struct {
2079   int ac_flag ;
2080   long ac_exitcode ;
2081   unsigned long ac_mem ;
2082   cputime_t ac_utime ;
2083   cputime_t ac_stime ;
2084   unsigned long ac_minflt ;
2085   unsigned long ac_majflt ;
2086};
2087#line 458 "include/linux/sched.h"
2088struct cpu_itimer {
2089   cputime_t expires ;
2090   cputime_t incr ;
2091   u32 error ;
2092   u32 incr_error ;
2093};
2094#line 476 "include/linux/sched.h"
2095struct task_cputime {
2096   cputime_t utime ;
2097   cputime_t stime ;
2098   unsigned long long sum_exec_runtime ;
2099};
2100#line 512 "include/linux/sched.h"
2101struct thread_group_cputimer {
2102   struct task_cputime cputime ;
2103   int running ;
2104   raw_spinlock_t lock ;
2105};
2106#line 519
2107struct autogroup;
2108#line 519
2109struct autogroup;
2110#line 528
2111struct tty_struct;
2112#line 528
2113struct taskstats;
2114#line 528
2115struct tty_audit_buf;
2116#line 528 "include/linux/sched.h"
2117struct signal_struct {
2118   atomic_t sigcnt ;
2119   atomic_t live ;
2120   int nr_threads ;
2121   wait_queue_head_t wait_chldexit ;
2122   struct task_struct *curr_target ;
2123   struct sigpending shared_pending ;
2124   int group_exit_code ;
2125   int notify_count ;
2126   struct task_struct *group_exit_task ;
2127   int group_stop_count ;
2128   unsigned int flags ;
2129   unsigned int is_child_subreaper : 1 ;
2130   unsigned int has_child_subreaper : 1 ;
2131   struct list_head posix_timers ;
2132   struct hrtimer real_timer ;
2133   struct pid *leader_pid ;
2134   ktime_t it_real_incr ;
2135   struct cpu_itimer it[2] ;
2136   struct thread_group_cputimer cputimer ;
2137   struct task_cputime cputime_expires ;
2138   struct list_head cpu_timers[3] ;
2139   struct pid *tty_old_pgrp ;
2140   int leader ;
2141   struct tty_struct *tty ;
2142   struct autogroup *autogroup ;
2143   cputime_t utime ;
2144   cputime_t stime ;
2145   cputime_t cutime ;
2146   cputime_t cstime ;
2147   cputime_t gtime ;
2148   cputime_t cgtime ;
2149   cputime_t prev_utime ;
2150   cputime_t prev_stime ;
2151   unsigned long nvcsw ;
2152   unsigned long nivcsw ;
2153   unsigned long cnvcsw ;
2154   unsigned long cnivcsw ;
2155   unsigned long min_flt ;
2156   unsigned long maj_flt ;
2157   unsigned long cmin_flt ;
2158   unsigned long cmaj_flt ;
2159   unsigned long inblock ;
2160   unsigned long oublock ;
2161   unsigned long cinblock ;
2162   unsigned long coublock ;
2163   unsigned long maxrss ;
2164   unsigned long cmaxrss ;
2165   struct task_io_accounting ioac ;
2166   unsigned long long sum_sched_runtime ;
2167   struct rlimit rlim[16] ;
2168   struct pacct_struct pacct ;
2169   struct taskstats *stats ;
2170   unsigned int audit_tty ;
2171   struct tty_audit_buf *tty_audit_buf ;
2172   struct rw_semaphore group_rwsem ;
2173   int oom_adj ;
2174   int oom_score_adj ;
2175   int oom_score_adj_min ;
2176   struct mutex cred_guard_mutex ;
2177};
2178#line 703 "include/linux/sched.h"
2179struct user_struct {
2180   atomic_t __count ;
2181   atomic_t processes ;
2182   atomic_t files ;
2183   atomic_t sigpending ;
2184   atomic_t inotify_watches ;
2185   atomic_t inotify_devs ;
2186   atomic_t fanotify_listeners ;
2187   atomic_long_t epoll_watches ;
2188   unsigned long mq_bytes ;
2189   unsigned long locked_shm ;
2190   struct key *uid_keyring ;
2191   struct key *session_keyring ;
2192   struct hlist_node uidhash_node ;
2193   uid_t uid ;
2194   struct user_namespace *user_ns ;
2195   atomic_long_t locked_vm ;
2196};
2197#line 747
2198struct backing_dev_info;
2199#line 747
2200struct backing_dev_info;
2201#line 748
2202struct reclaim_state;
2203#line 748
2204struct reclaim_state;
2205#line 751 "include/linux/sched.h"
2206struct sched_info {
2207   unsigned long pcount ;
2208   unsigned long long run_delay ;
2209   unsigned long long last_arrival ;
2210   unsigned long long last_queued ;
2211};
2212#line 763 "include/linux/sched.h"
2213struct task_delay_info {
2214   spinlock_t lock ;
2215   unsigned int flags ;
2216   struct timespec blkio_start ;
2217   struct timespec blkio_end ;
2218   u64 blkio_delay ;
2219   u64 swapin_delay ;
2220   u32 blkio_count ;
2221   u32 swapin_count ;
2222   struct timespec freepages_start ;
2223   struct timespec freepages_end ;
2224   u64 freepages_delay ;
2225   u32 freepages_count ;
2226};
2227#line 1088
2228struct io_context;
2229#line 1088
2230struct io_context;
2231#line 1097
2232struct audit_context;
2233#line 1098
2234struct mempolicy;
2235#line 1099
2236struct pipe_inode_info;
2237#line 1099
2238struct pipe_inode_info;
2239#line 1102
2240struct rq;
2241#line 1102
2242struct rq;
2243#line 1122 "include/linux/sched.h"
2244struct sched_class {
2245   struct sched_class  const  *next ;
2246   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2247   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2248   void (*yield_task)(struct rq *rq ) ;
2249   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2250   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2251   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2252   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2253   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2254   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2255   void (*post_schedule)(struct rq *this_rq ) ;
2256   void (*task_waking)(struct task_struct *task ) ;
2257   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2258   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
2259   void (*rq_online)(struct rq *rq ) ;
2260   void (*rq_offline)(struct rq *rq ) ;
2261   void (*set_curr_task)(struct rq *rq ) ;
2262   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2263   void (*task_fork)(struct task_struct *p ) ;
2264   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2265   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2266   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2267   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2268   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2269};
2270#line 1167 "include/linux/sched.h"
2271struct load_weight {
2272   unsigned long weight ;
2273   unsigned long inv_weight ;
2274};
2275#line 1172 "include/linux/sched.h"
2276struct sched_statistics {
2277   u64 wait_start ;
2278   u64 wait_max ;
2279   u64 wait_count ;
2280   u64 wait_sum ;
2281   u64 iowait_count ;
2282   u64 iowait_sum ;
2283   u64 sleep_start ;
2284   u64 sleep_max ;
2285   s64 sum_sleep_runtime ;
2286   u64 block_start ;
2287   u64 block_max ;
2288   u64 exec_max ;
2289   u64 slice_max ;
2290   u64 nr_migrations_cold ;
2291   u64 nr_failed_migrations_affine ;
2292   u64 nr_failed_migrations_running ;
2293   u64 nr_failed_migrations_hot ;
2294   u64 nr_forced_migrations ;
2295   u64 nr_wakeups ;
2296   u64 nr_wakeups_sync ;
2297   u64 nr_wakeups_migrate ;
2298   u64 nr_wakeups_local ;
2299   u64 nr_wakeups_remote ;
2300   u64 nr_wakeups_affine ;
2301   u64 nr_wakeups_affine_attempts ;
2302   u64 nr_wakeups_passive ;
2303   u64 nr_wakeups_idle ;
2304};
2305#line 1207 "include/linux/sched.h"
2306struct sched_entity {
2307   struct load_weight load ;
2308   struct rb_node run_node ;
2309   struct list_head group_node ;
2310   unsigned int on_rq ;
2311   u64 exec_start ;
2312   u64 sum_exec_runtime ;
2313   u64 vruntime ;
2314   u64 prev_sum_exec_runtime ;
2315   u64 nr_migrations ;
2316   struct sched_statistics statistics ;
2317   struct sched_entity *parent ;
2318   struct cfs_rq *cfs_rq ;
2319   struct cfs_rq *my_q ;
2320};
2321#line 1233
2322struct rt_rq;
2323#line 1233 "include/linux/sched.h"
2324struct sched_rt_entity {
2325   struct list_head run_list ;
2326   unsigned long timeout ;
2327   unsigned int time_slice ;
2328   int nr_cpus_allowed ;
2329   struct sched_rt_entity *back ;
2330   struct sched_rt_entity *parent ;
2331   struct rt_rq *rt_rq ;
2332   struct rt_rq *my_q ;
2333};
2334#line 1264
2335struct files_struct;
2336#line 1264
2337struct css_set;
2338#line 1264
2339struct compat_robust_list_head;
2340#line 1264
2341struct mem_cgroup;
2342#line 1264 "include/linux/sched.h"
2343struct memcg_batch_info {
2344   int do_batch ;
2345   struct mem_cgroup *memcg ;
2346   unsigned long nr_pages ;
2347   unsigned long memsw_nr_pages ;
2348};
2349#line 1264 "include/linux/sched.h"
2350struct task_struct {
2351   long volatile   state ;
2352   void *stack ;
2353   atomic_t usage ;
2354   unsigned int flags ;
2355   unsigned int ptrace ;
2356   struct llist_node wake_entry ;
2357   int on_cpu ;
2358   int on_rq ;
2359   int prio ;
2360   int static_prio ;
2361   int normal_prio ;
2362   unsigned int rt_priority ;
2363   struct sched_class  const  *sched_class ;
2364   struct sched_entity se ;
2365   struct sched_rt_entity rt ;
2366   struct hlist_head preempt_notifiers ;
2367   unsigned char fpu_counter ;
2368   unsigned int policy ;
2369   cpumask_t cpus_allowed ;
2370   struct sched_info sched_info ;
2371   struct list_head tasks ;
2372   struct plist_node pushable_tasks ;
2373   struct mm_struct *mm ;
2374   struct mm_struct *active_mm ;
2375   unsigned int brk_randomized : 1 ;
2376   int exit_state ;
2377   int exit_code ;
2378   int exit_signal ;
2379   int pdeath_signal ;
2380   unsigned int jobctl ;
2381   unsigned int personality ;
2382   unsigned int did_exec : 1 ;
2383   unsigned int in_execve : 1 ;
2384   unsigned int in_iowait : 1 ;
2385   unsigned int sched_reset_on_fork : 1 ;
2386   unsigned int sched_contributes_to_load : 1 ;
2387   unsigned int irq_thread : 1 ;
2388   pid_t pid ;
2389   pid_t tgid ;
2390   unsigned long stack_canary ;
2391   struct task_struct *real_parent ;
2392   struct task_struct *parent ;
2393   struct list_head children ;
2394   struct list_head sibling ;
2395   struct task_struct *group_leader ;
2396   struct list_head ptraced ;
2397   struct list_head ptrace_entry ;
2398   struct pid_link pids[3] ;
2399   struct list_head thread_group ;
2400   struct completion *vfork_done ;
2401   int *set_child_tid ;
2402   int *clear_child_tid ;
2403   cputime_t utime ;
2404   cputime_t stime ;
2405   cputime_t utimescaled ;
2406   cputime_t stimescaled ;
2407   cputime_t gtime ;
2408   cputime_t prev_utime ;
2409   cputime_t prev_stime ;
2410   unsigned long nvcsw ;
2411   unsigned long nivcsw ;
2412   struct timespec start_time ;
2413   struct timespec real_start_time ;
2414   unsigned long min_flt ;
2415   unsigned long maj_flt ;
2416   struct task_cputime cputime_expires ;
2417   struct list_head cpu_timers[3] ;
2418   struct cred  const  *real_cred ;
2419   struct cred  const  *cred ;
2420   struct cred *replacement_session_keyring ;
2421   char comm[16] ;
2422   int link_count ;
2423   int total_link_count ;
2424   struct sysv_sem sysvsem ;
2425   unsigned long last_switch_count ;
2426   struct thread_struct thread ;
2427   struct fs_struct *fs ;
2428   struct files_struct *files ;
2429   struct nsproxy *nsproxy ;
2430   struct signal_struct *signal ;
2431   struct sighand_struct *sighand ;
2432   sigset_t blocked ;
2433   sigset_t real_blocked ;
2434   sigset_t saved_sigmask ;
2435   struct sigpending pending ;
2436   unsigned long sas_ss_sp ;
2437   size_t sas_ss_size ;
2438   int (*notifier)(void *priv ) ;
2439   void *notifier_data ;
2440   sigset_t *notifier_mask ;
2441   struct audit_context *audit_context ;
2442   uid_t loginuid ;
2443   unsigned int sessionid ;
2444   seccomp_t seccomp ;
2445   u32 parent_exec_id ;
2446   u32 self_exec_id ;
2447   spinlock_t alloc_lock ;
2448   raw_spinlock_t pi_lock ;
2449   struct plist_head pi_waiters ;
2450   struct rt_mutex_waiter *pi_blocked_on ;
2451   struct mutex_waiter *blocked_on ;
2452   unsigned int irq_events ;
2453   unsigned long hardirq_enable_ip ;
2454   unsigned long hardirq_disable_ip ;
2455   unsigned int hardirq_enable_event ;
2456   unsigned int hardirq_disable_event ;
2457   int hardirqs_enabled ;
2458   int hardirq_context ;
2459   unsigned long softirq_disable_ip ;
2460   unsigned long softirq_enable_ip ;
2461   unsigned int softirq_disable_event ;
2462   unsigned int softirq_enable_event ;
2463   int softirqs_enabled ;
2464   int softirq_context ;
2465   void *journal_info ;
2466   struct bio_list *bio_list ;
2467   struct blk_plug *plug ;
2468   struct reclaim_state *reclaim_state ;
2469   struct backing_dev_info *backing_dev_info ;
2470   struct io_context *io_context ;
2471   unsigned long ptrace_message ;
2472   siginfo_t *last_siginfo ;
2473   struct task_io_accounting ioac ;
2474   u64 acct_rss_mem1 ;
2475   u64 acct_vm_mem1 ;
2476   cputime_t acct_timexpd ;
2477   nodemask_t mems_allowed ;
2478   seqcount_t mems_allowed_seq ;
2479   int cpuset_mem_spread_rotor ;
2480   int cpuset_slab_spread_rotor ;
2481   struct css_set *cgroups ;
2482   struct list_head cg_list ;
2483   struct robust_list_head *robust_list ;
2484   struct compat_robust_list_head *compat_robust_list ;
2485   struct list_head pi_state_list ;
2486   struct futex_pi_state *pi_state_cache ;
2487   struct perf_event_context *perf_event_ctxp[2] ;
2488   struct mutex perf_event_mutex ;
2489   struct list_head perf_event_list ;
2490   struct mempolicy *mempolicy ;
2491   short il_next ;
2492   short pref_node_fork ;
2493   struct rcu_head rcu ;
2494   struct pipe_inode_info *splice_pipe ;
2495   struct task_delay_info *delays ;
2496   int make_it_fail ;
2497   int nr_dirtied ;
2498   int nr_dirtied_pause ;
2499   unsigned long dirty_paused_when ;
2500   int latency_record_count ;
2501   struct latency_record latency_record[32] ;
2502   unsigned long timer_slack_ns ;
2503   unsigned long default_timer_slack_ns ;
2504   struct list_head *scm_work_list ;
2505   unsigned long trace ;
2506   unsigned long trace_recursion ;
2507   struct memcg_batch_info memcg_batch ;
2508   atomic_t ptrace_bp_refcnt ;
2509};
2510#line 1681
2511struct pid_namespace;
2512#line 15 "include/linux/blk_types.h"
2513struct page;
2514#line 16
2515struct block_device;
2516#line 16
2517struct block_device;
2518#line 33 "include/linux/list_bl.h"
2519struct hlist_bl_node;
2520#line 33 "include/linux/list_bl.h"
2521struct hlist_bl_head {
2522   struct hlist_bl_node *first ;
2523};
2524#line 37 "include/linux/list_bl.h"
2525struct hlist_bl_node {
2526   struct hlist_bl_node *next ;
2527   struct hlist_bl_node **pprev ;
2528};
2529#line 13 "include/linux/dcache.h"
2530struct nameidata;
2531#line 13
2532struct nameidata;
2533#line 14
2534struct path;
2535#line 14
2536struct path;
2537#line 15
2538struct vfsmount;
2539#line 15
2540struct vfsmount;
2541#line 35 "include/linux/dcache.h"
2542struct qstr {
2543   unsigned int hash ;
2544   unsigned int len ;
2545   unsigned char const   *name ;
2546};
2547#line 88
2548struct dentry_operations;
2549#line 88
2550struct super_block;
2551#line 88 "include/linux/dcache.h"
2552union __anonunion_d_u_231 {
2553   struct list_head d_child ;
2554   struct rcu_head d_rcu ;
2555};
2556#line 88 "include/linux/dcache.h"
2557struct dentry {
2558   unsigned int d_flags ;
2559   seqcount_t d_seq ;
2560   struct hlist_bl_node d_hash ;
2561   struct dentry *d_parent ;
2562   struct qstr d_name ;
2563   struct inode *d_inode ;
2564   unsigned char d_iname[32] ;
2565   unsigned int d_count ;
2566   spinlock_t d_lock ;
2567   struct dentry_operations  const  *d_op ;
2568   struct super_block *d_sb ;
2569   unsigned long d_time ;
2570   void *d_fsdata ;
2571   struct list_head d_lru ;
2572   union __anonunion_d_u_231 d_u ;
2573   struct list_head d_subdirs ;
2574   struct list_head d_alias ;
2575};
2576#line 131 "include/linux/dcache.h"
2577struct dentry_operations {
2578   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2579   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
2580   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
2581                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
2582   int (*d_delete)(struct dentry  const  * ) ;
2583   void (*d_release)(struct dentry * ) ;
2584   void (*d_prune)(struct dentry * ) ;
2585   void (*d_iput)(struct dentry * , struct inode * ) ;
2586   char *(*d_dname)(struct dentry * , char * , int  ) ;
2587   struct vfsmount *(*d_automount)(struct path * ) ;
2588   int (*d_manage)(struct dentry * , bool  ) ;
2589} __attribute__((__aligned__((1) <<  (6) ))) ;
2590#line 4 "include/linux/path.h"
2591struct dentry;
2592#line 5
2593struct vfsmount;
2594#line 7 "include/linux/path.h"
2595struct path {
2596   struct vfsmount *mnt ;
2597   struct dentry *dentry ;
2598};
2599#line 64 "include/linux/radix-tree.h"
2600struct radix_tree_node;
2601#line 64 "include/linux/radix-tree.h"
2602struct radix_tree_root {
2603   unsigned int height ;
2604   gfp_t gfp_mask ;
2605   struct radix_tree_node *rnode ;
2606};
2607#line 16 "include/linux/fiemap.h"
2608struct fiemap_extent {
2609   __u64 fe_logical ;
2610   __u64 fe_physical ;
2611   __u64 fe_length ;
2612   __u64 fe_reserved64[2] ;
2613   __u32 fe_flags ;
2614   __u32 fe_reserved[3] ;
2615};
2616#line 8 "include/linux/shrinker.h"
2617struct shrink_control {
2618   gfp_t gfp_mask ;
2619   unsigned long nr_to_scan ;
2620};
2621#line 31 "include/linux/shrinker.h"
2622struct shrinker {
2623   int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
2624   int seeks ;
2625   long batch ;
2626   struct list_head list ;
2627   atomic_long_t nr_in_batch ;
2628};
2629#line 10 "include/linux/migrate_mode.h"
2630enum migrate_mode {
2631    MIGRATE_ASYNC = 0,
2632    MIGRATE_SYNC_LIGHT = 1,
2633    MIGRATE_SYNC = 2
2634} ;
2635#line 408 "include/linux/fs.h"
2636struct export_operations;
2637#line 408
2638struct export_operations;
2639#line 410
2640struct iovec;
2641#line 411
2642struct nameidata;
2643#line 412
2644struct kiocb;
2645#line 413
2646struct kobject;
2647#line 414
2648struct pipe_inode_info;
2649#line 415
2650struct poll_table_struct;
2651#line 415
2652struct poll_table_struct;
2653#line 416
2654struct kstatfs;
2655#line 416
2656struct kstatfs;
2657#line 417
2658struct vm_area_struct;
2659#line 418
2660struct vfsmount;
2661#line 419
2662struct cred;
2663#line 469 "include/linux/fs.h"
2664struct iattr {
2665   unsigned int ia_valid ;
2666   umode_t ia_mode ;
2667   uid_t ia_uid ;
2668   gid_t ia_gid ;
2669   loff_t ia_size ;
2670   struct timespec ia_atime ;
2671   struct timespec ia_mtime ;
2672   struct timespec ia_ctime ;
2673   struct file *ia_file ;
2674};
2675#line 129 "include/linux/quota.h"
2676struct if_dqinfo {
2677   __u64 dqi_bgrace ;
2678   __u64 dqi_igrace ;
2679   __u32 dqi_flags ;
2680   __u32 dqi_valid ;
2681};
2682#line 50 "include/linux/dqblk_xfs.h"
2683struct fs_disk_quota {
2684   __s8 d_version ;
2685   __s8 d_flags ;
2686   __u16 d_fieldmask ;
2687   __u32 d_id ;
2688   __u64 d_blk_hardlimit ;
2689   __u64 d_blk_softlimit ;
2690   __u64 d_ino_hardlimit ;
2691   __u64 d_ino_softlimit ;
2692   __u64 d_bcount ;
2693   __u64 d_icount ;
2694   __s32 d_itimer ;
2695   __s32 d_btimer ;
2696   __u16 d_iwarns ;
2697   __u16 d_bwarns ;
2698   __s32 d_padding2 ;
2699   __u64 d_rtb_hardlimit ;
2700   __u64 d_rtb_softlimit ;
2701   __u64 d_rtbcount ;
2702   __s32 d_rtbtimer ;
2703   __u16 d_rtbwarns ;
2704   __s16 d_padding3 ;
2705   char d_padding4[8] ;
2706};
2707#line 146 "include/linux/dqblk_xfs.h"
2708struct fs_qfilestat {
2709   __u64 qfs_ino ;
2710   __u64 qfs_nblks ;
2711   __u32 qfs_nextents ;
2712};
2713#line 146 "include/linux/dqblk_xfs.h"
2714typedef struct fs_qfilestat fs_qfilestat_t;
2715#line 152 "include/linux/dqblk_xfs.h"
2716struct fs_quota_stat {
2717   __s8 qs_version ;
2718   __u16 qs_flags ;
2719   __s8 qs_pad ;
2720   fs_qfilestat_t qs_uquota ;
2721   fs_qfilestat_t qs_gquota ;
2722   __u32 qs_incoredqs ;
2723   __s32 qs_btimelimit ;
2724   __s32 qs_itimelimit ;
2725   __s32 qs_rtbtimelimit ;
2726   __u16 qs_bwarnlimit ;
2727   __u16 qs_iwarnlimit ;
2728};
2729#line 17 "include/linux/dqblk_qtree.h"
2730struct dquot;
2731#line 17
2732struct dquot;
2733#line 185 "include/linux/quota.h"
2734typedef __kernel_uid32_t qid_t;
2735#line 186 "include/linux/quota.h"
2736typedef long long qsize_t;
2737#line 200 "include/linux/quota.h"
2738struct mem_dqblk {
2739   qsize_t dqb_bhardlimit ;
2740   qsize_t dqb_bsoftlimit ;
2741   qsize_t dqb_curspace ;
2742   qsize_t dqb_rsvspace ;
2743   qsize_t dqb_ihardlimit ;
2744   qsize_t dqb_isoftlimit ;
2745   qsize_t dqb_curinodes ;
2746   time_t dqb_btime ;
2747   time_t dqb_itime ;
2748};
2749#line 215
2750struct quota_format_type;
2751#line 215
2752struct quota_format_type;
2753#line 217 "include/linux/quota.h"
2754struct mem_dqinfo {
2755   struct quota_format_type *dqi_format ;
2756   int dqi_fmt_id ;
2757   struct list_head dqi_dirty_list ;
2758   unsigned long dqi_flags ;
2759   unsigned int dqi_bgrace ;
2760   unsigned int dqi_igrace ;
2761   qsize_t dqi_maxblimit ;
2762   qsize_t dqi_maxilimit ;
2763   void *dqi_priv ;
2764};
2765#line 230
2766struct super_block;
2767#line 288 "include/linux/quota.h"
2768struct dquot {
2769   struct hlist_node dq_hash ;
2770   struct list_head dq_inuse ;
2771   struct list_head dq_free ;
2772   struct list_head dq_dirty ;
2773   struct mutex dq_lock ;
2774   atomic_t dq_count ;
2775   wait_queue_head_t dq_wait_unused ;
2776   struct super_block *dq_sb ;
2777   unsigned int dq_id ;
2778   loff_t dq_off ;
2779   unsigned long dq_flags ;
2780   short dq_type ;
2781   struct mem_dqblk dq_dqb ;
2782};
2783#line 305 "include/linux/quota.h"
2784struct quota_format_ops {
2785   int (*check_quota_file)(struct super_block *sb , int type ) ;
2786   int (*read_file_info)(struct super_block *sb , int type ) ;
2787   int (*write_file_info)(struct super_block *sb , int type ) ;
2788   int (*free_file_info)(struct super_block *sb , int type ) ;
2789   int (*read_dqblk)(struct dquot *dquot ) ;
2790   int (*commit_dqblk)(struct dquot *dquot ) ;
2791   int (*release_dqblk)(struct dquot *dquot ) ;
2792};
2793#line 316 "include/linux/quota.h"
2794struct dquot_operations {
2795   int (*write_dquot)(struct dquot * ) ;
2796   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2797   void (*destroy_dquot)(struct dquot * ) ;
2798   int (*acquire_dquot)(struct dquot * ) ;
2799   int (*release_dquot)(struct dquot * ) ;
2800   int (*mark_dirty)(struct dquot * ) ;
2801   int (*write_info)(struct super_block * , int  ) ;
2802   qsize_t *(*get_reserved_space)(struct inode * ) ;
2803};
2804#line 329
2805struct path;
2806#line 332 "include/linux/quota.h"
2807struct quotactl_ops {
2808   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2809   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2810   int (*quota_off)(struct super_block * , int  ) ;
2811   int (*quota_sync)(struct super_block * , int  , int  ) ;
2812   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2813   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2814   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2815   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2816   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2817   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2818};
2819#line 345 "include/linux/quota.h"
2820struct quota_format_type {
2821   int qf_fmt_id ;
2822   struct quota_format_ops  const  *qf_ops ;
2823   struct module *qf_owner ;
2824   struct quota_format_type *qf_next ;
2825};
2826#line 399 "include/linux/quota.h"
2827struct quota_info {
2828   unsigned int flags ;
2829   struct mutex dqio_mutex ;
2830   struct mutex dqonoff_mutex ;
2831   struct rw_semaphore dqptr_sem ;
2832   struct inode *files[2] ;
2833   struct mem_dqinfo info[2] ;
2834   struct quota_format_ops  const  *ops[2] ;
2835};
2836#line 532 "include/linux/fs.h"
2837struct page;
2838#line 533
2839struct address_space;
2840#line 534
2841struct writeback_control;
2842#line 534
2843struct writeback_control;
2844#line 577 "include/linux/fs.h"
2845union __anonunion_arg_238 {
2846   char *buf ;
2847   void *data ;
2848};
2849#line 577 "include/linux/fs.h"
2850struct __anonstruct_read_descriptor_t_237 {
2851   size_t written ;
2852   size_t count ;
2853   union __anonunion_arg_238 arg ;
2854   int error ;
2855};
2856#line 577 "include/linux/fs.h"
2857typedef struct __anonstruct_read_descriptor_t_237 read_descriptor_t;
2858#line 590 "include/linux/fs.h"
2859struct address_space_operations {
2860   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
2861   int (*readpage)(struct file * , struct page * ) ;
2862   int (*writepages)(struct address_space * , struct writeback_control * ) ;
2863   int (*set_page_dirty)(struct page *page ) ;
2864   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
2865                    unsigned int nr_pages ) ;
2866   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
2867                      unsigned int len , unsigned int flags , struct page **pagep ,
2868                      void **fsdata ) ;
2869   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
2870                    unsigned int copied , struct page *page , void *fsdata ) ;
2871   sector_t (*bmap)(struct address_space * , sector_t  ) ;
2872   void (*invalidatepage)(struct page * , unsigned long  ) ;
2873   int (*releasepage)(struct page * , gfp_t  ) ;
2874   void (*freepage)(struct page * ) ;
2875   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
2876                        unsigned long nr_segs ) ;
2877   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
2878   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
2879   int (*launder_page)(struct page * ) ;
2880   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
2881   int (*error_remove_page)(struct address_space * , struct page * ) ;
2882};
2883#line 645
2884struct backing_dev_info;
2885#line 646 "include/linux/fs.h"
2886struct address_space {
2887   struct inode *host ;
2888   struct radix_tree_root page_tree ;
2889   spinlock_t tree_lock ;
2890   unsigned int i_mmap_writable ;
2891   struct prio_tree_root i_mmap ;
2892   struct list_head i_mmap_nonlinear ;
2893   struct mutex i_mmap_mutex ;
2894   unsigned long nrpages ;
2895   unsigned long writeback_index ;
2896   struct address_space_operations  const  *a_ops ;
2897   unsigned long flags ;
2898   struct backing_dev_info *backing_dev_info ;
2899   spinlock_t private_lock ;
2900   struct list_head private_list ;
2901   struct address_space *assoc_mapping ;
2902} __attribute__((__aligned__(sizeof(long )))) ;
2903#line 669
2904struct request_queue;
2905#line 669
2906struct request_queue;
2907#line 671
2908struct hd_struct;
2909#line 671
2910struct gendisk;
2911#line 671 "include/linux/fs.h"
2912struct block_device {
2913   dev_t bd_dev ;
2914   int bd_openers ;
2915   struct inode *bd_inode ;
2916   struct super_block *bd_super ;
2917   struct mutex bd_mutex ;
2918   struct list_head bd_inodes ;
2919   void *bd_claiming ;
2920   void *bd_holder ;
2921   int bd_holders ;
2922   bool bd_write_holder ;
2923   struct list_head bd_holder_disks ;
2924   struct block_device *bd_contains ;
2925   unsigned int bd_block_size ;
2926   struct hd_struct *bd_part ;
2927   unsigned int bd_part_count ;
2928   int bd_invalidated ;
2929   struct gendisk *bd_disk ;
2930   struct request_queue *bd_queue ;
2931   struct list_head bd_list ;
2932   unsigned long bd_private ;
2933   int bd_fsfreeze_count ;
2934   struct mutex bd_fsfreeze_mutex ;
2935};
2936#line 749
2937struct posix_acl;
2938#line 749
2939struct posix_acl;
2940#line 761
2941struct inode_operations;
2942#line 761 "include/linux/fs.h"
2943union __anonunion____missing_field_name_239 {
2944   unsigned int const   i_nlink ;
2945   unsigned int __i_nlink ;
2946};
2947#line 761 "include/linux/fs.h"
2948union __anonunion____missing_field_name_240 {
2949   struct list_head i_dentry ;
2950   struct rcu_head i_rcu ;
2951};
2952#line 761
2953struct file_operations;
2954#line 761
2955struct file_lock;
2956#line 761
2957struct cdev;
2958#line 761 "include/linux/fs.h"
2959union __anonunion____missing_field_name_241 {
2960   struct pipe_inode_info *i_pipe ;
2961   struct block_device *i_bdev ;
2962   struct cdev *i_cdev ;
2963};
2964#line 761 "include/linux/fs.h"
2965struct inode {
2966   umode_t i_mode ;
2967   unsigned short i_opflags ;
2968   uid_t i_uid ;
2969   gid_t i_gid ;
2970   unsigned int i_flags ;
2971   struct posix_acl *i_acl ;
2972   struct posix_acl *i_default_acl ;
2973   struct inode_operations  const  *i_op ;
2974   struct super_block *i_sb ;
2975   struct address_space *i_mapping ;
2976   void *i_security ;
2977   unsigned long i_ino ;
2978   union __anonunion____missing_field_name_239 __annonCompField44 ;
2979   dev_t i_rdev ;
2980   struct timespec i_atime ;
2981   struct timespec i_mtime ;
2982   struct timespec i_ctime ;
2983   spinlock_t i_lock ;
2984   unsigned short i_bytes ;
2985   blkcnt_t i_blocks ;
2986   loff_t i_size ;
2987   unsigned long i_state ;
2988   struct mutex i_mutex ;
2989   unsigned long dirtied_when ;
2990   struct hlist_node i_hash ;
2991   struct list_head i_wb_list ;
2992   struct list_head i_lru ;
2993   struct list_head i_sb_list ;
2994   union __anonunion____missing_field_name_240 __annonCompField45 ;
2995   atomic_t i_count ;
2996   unsigned int i_blkbits ;
2997   u64 i_version ;
2998   atomic_t i_dio_count ;
2999   atomic_t i_writecount ;
3000   struct file_operations  const  *i_fop ;
3001   struct file_lock *i_flock ;
3002   struct address_space i_data ;
3003   struct dquot *i_dquot[2] ;
3004   struct list_head i_devices ;
3005   union __anonunion____missing_field_name_241 __annonCompField46 ;
3006   __u32 i_generation ;
3007   __u32 i_fsnotify_mask ;
3008   struct hlist_head i_fsnotify_marks ;
3009   atomic_t i_readcount ;
3010   void *i_private ;
3011};
3012#line 942 "include/linux/fs.h"
3013struct fown_struct {
3014   rwlock_t lock ;
3015   struct pid *pid ;
3016   enum pid_type pid_type ;
3017   uid_t uid ;
3018   uid_t euid ;
3019   int signum ;
3020};
3021#line 953 "include/linux/fs.h"
3022struct file_ra_state {
3023   unsigned long start ;
3024   unsigned int size ;
3025   unsigned int async_size ;
3026   unsigned int ra_pages ;
3027   unsigned int mmap_miss ;
3028   loff_t prev_pos ;
3029};
3030#line 976 "include/linux/fs.h"
3031union __anonunion_f_u_242 {
3032   struct list_head fu_list ;
3033   struct rcu_head fu_rcuhead ;
3034};
3035#line 976 "include/linux/fs.h"
3036struct file {
3037   union __anonunion_f_u_242 f_u ;
3038   struct path f_path ;
3039   struct file_operations  const  *f_op ;
3040   spinlock_t f_lock ;
3041   int f_sb_list_cpu ;
3042   atomic_long_t f_count ;
3043   unsigned int f_flags ;
3044   fmode_t f_mode ;
3045   loff_t f_pos ;
3046   struct fown_struct f_owner ;
3047   struct cred  const  *f_cred ;
3048   struct file_ra_state f_ra ;
3049   u64 f_version ;
3050   void *f_security ;
3051   void *private_data ;
3052   struct list_head f_ep_links ;
3053   struct list_head f_tfile_llink ;
3054   struct address_space *f_mapping ;
3055   unsigned long f_mnt_write_state ;
3056};
3057#line 1111 "include/linux/fs.h"
3058typedef struct files_struct *fl_owner_t;
3059#line 1113 "include/linux/fs.h"
3060struct file_lock_operations {
3061   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3062   void (*fl_release_private)(struct file_lock * ) ;
3063};
3064#line 1118 "include/linux/fs.h"
3065struct lock_manager_operations {
3066   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3067   void (*lm_notify)(struct file_lock * ) ;
3068   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
3069   void (*lm_release_private)(struct file_lock * ) ;
3070   void (*lm_break)(struct file_lock * ) ;
3071   int (*lm_change)(struct file_lock ** , int  ) ;
3072};
3073#line 4 "include/linux/nfs_fs_i.h"
3074struct nlm_lockowner;
3075#line 4
3076struct nlm_lockowner;
3077#line 9 "include/linux/nfs_fs_i.h"
3078struct nfs_lock_info {
3079   u32 state ;
3080   struct nlm_lockowner *owner ;
3081   struct list_head list ;
3082};
3083#line 15
3084struct nfs4_lock_state;
3085#line 15
3086struct nfs4_lock_state;
3087#line 16 "include/linux/nfs_fs_i.h"
3088struct nfs4_lock_info {
3089   struct nfs4_lock_state *owner ;
3090};
3091#line 1138 "include/linux/fs.h"
3092struct fasync_struct;
3093#line 1138 "include/linux/fs.h"
3094struct __anonstruct_afs_244 {
3095   struct list_head link ;
3096   int state ;
3097};
3098#line 1138 "include/linux/fs.h"
3099union __anonunion_fl_u_243 {
3100   struct nfs_lock_info nfs_fl ;
3101   struct nfs4_lock_info nfs4_fl ;
3102   struct __anonstruct_afs_244 afs ;
3103};
3104#line 1138 "include/linux/fs.h"
3105struct file_lock {
3106   struct file_lock *fl_next ;
3107   struct list_head fl_link ;
3108   struct list_head fl_block ;
3109   fl_owner_t fl_owner ;
3110   unsigned int fl_flags ;
3111   unsigned char fl_type ;
3112   unsigned int fl_pid ;
3113   struct pid *fl_nspid ;
3114   wait_queue_head_t fl_wait ;
3115   struct file *fl_file ;
3116   loff_t fl_start ;
3117   loff_t fl_end ;
3118   struct fasync_struct *fl_fasync ;
3119   unsigned long fl_break_time ;
3120   unsigned long fl_downgrade_time ;
3121   struct file_lock_operations  const  *fl_ops ;
3122   struct lock_manager_operations  const  *fl_lmops ;
3123   union __anonunion_fl_u_243 fl_u ;
3124};
3125#line 1378 "include/linux/fs.h"
3126struct fasync_struct {
3127   spinlock_t fa_lock ;
3128   int magic ;
3129   int fa_fd ;
3130   struct fasync_struct *fa_next ;
3131   struct file *fa_file ;
3132   struct rcu_head fa_rcu ;
3133};
3134#line 1418
3135struct file_system_type;
3136#line 1418
3137struct super_operations;
3138#line 1418
3139struct xattr_handler;
3140#line 1418
3141struct mtd_info;
3142#line 1418 "include/linux/fs.h"
3143struct super_block {
3144   struct list_head s_list ;
3145   dev_t s_dev ;
3146   unsigned char s_dirt ;
3147   unsigned char s_blocksize_bits ;
3148   unsigned long s_blocksize ;
3149   loff_t s_maxbytes ;
3150   struct file_system_type *s_type ;
3151   struct super_operations  const  *s_op ;
3152   struct dquot_operations  const  *dq_op ;
3153   struct quotactl_ops  const  *s_qcop ;
3154   struct export_operations  const  *s_export_op ;
3155   unsigned long s_flags ;
3156   unsigned long s_magic ;
3157   struct dentry *s_root ;
3158   struct rw_semaphore s_umount ;
3159   struct mutex s_lock ;
3160   int s_count ;
3161   atomic_t s_active ;
3162   void *s_security ;
3163   struct xattr_handler  const  **s_xattr ;
3164   struct list_head s_inodes ;
3165   struct hlist_bl_head s_anon ;
3166   struct list_head *s_files ;
3167   struct list_head s_mounts ;
3168   struct list_head s_dentry_lru ;
3169   int s_nr_dentry_unused ;
3170   spinlock_t s_inode_lru_lock  __attribute__((__aligned__((1) <<  (6) ))) ;
3171   struct list_head s_inode_lru ;
3172   int s_nr_inodes_unused ;
3173   struct block_device *s_bdev ;
3174   struct backing_dev_info *s_bdi ;
3175   struct mtd_info *s_mtd ;
3176   struct hlist_node s_instances ;
3177   struct quota_info s_dquot ;
3178   int s_frozen ;
3179   wait_queue_head_t s_wait_unfrozen ;
3180   char s_id[32] ;
3181   u8 s_uuid[16] ;
3182   void *s_fs_info ;
3183   unsigned int s_max_links ;
3184   fmode_t s_mode ;
3185   u32 s_time_gran ;
3186   struct mutex s_vfs_rename_mutex ;
3187   char *s_subtype ;
3188   char *s_options ;
3189   struct dentry_operations  const  *s_d_op ;
3190   int cleancache_poolid ;
3191   struct shrinker s_shrink ;
3192   atomic_long_t s_remove_count ;
3193   int s_readonly_remount ;
3194};
3195#line 1567 "include/linux/fs.h"
3196struct fiemap_extent_info {
3197   unsigned int fi_flags ;
3198   unsigned int fi_extents_mapped ;
3199   unsigned int fi_extents_max ;
3200   struct fiemap_extent *fi_extents_start ;
3201};
3202#line 1609 "include/linux/fs.h"
3203struct file_operations {
3204   struct module *owner ;
3205   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
3206   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
3207   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
3208   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3209                       loff_t  ) ;
3210   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3211                        loff_t  ) ;
3212   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
3213                                                   loff_t  , u64  , unsigned int  ) ) ;
3214   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3215   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3216   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3217   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3218   int (*open)(struct inode * , struct file * ) ;
3219   int (*flush)(struct file * , fl_owner_t id ) ;
3220   int (*release)(struct inode * , struct file * ) ;
3221   int (*fsync)(struct file * , loff_t  , loff_t  , int datasync ) ;
3222   int (*aio_fsync)(struct kiocb * , int datasync ) ;
3223   int (*fasync)(int  , struct file * , int  ) ;
3224   int (*lock)(struct file * , int  , struct file_lock * ) ;
3225   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
3226                       int  ) ;
3227   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
3228                                      unsigned long  , unsigned long  ) ;
3229   int (*check_flags)(int  ) ;
3230   int (*flock)(struct file * , int  , struct file_lock * ) ;
3231   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
3232                           unsigned int  ) ;
3233   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
3234                          unsigned int  ) ;
3235   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
3236   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3237};
3238#line 1639 "include/linux/fs.h"
3239struct inode_operations {
3240   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3241   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3242   int (*permission)(struct inode * , int  ) ;
3243   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3244   int (*readlink)(struct dentry * , char * , int  ) ;
3245   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3246   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3247   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3248   int (*unlink)(struct inode * , struct dentry * ) ;
3249   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
3250   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3251   int (*rmdir)(struct inode * , struct dentry * ) ;
3252   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3253   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3254   void (*truncate)(struct inode * ) ;
3255   int (*setattr)(struct dentry * , struct iattr * ) ;
3256   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3257   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
3258   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
3259   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3260   int (*removexattr)(struct dentry * , char const   * ) ;
3261   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3262   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3263} __attribute__((__aligned__((1) <<  (6) ))) ;
3264#line 1669
3265struct seq_file;
3266#line 1684 "include/linux/fs.h"
3267struct super_operations {
3268   struct inode *(*alloc_inode)(struct super_block *sb ) ;
3269   void (*destroy_inode)(struct inode * ) ;
3270   void (*dirty_inode)(struct inode * , int flags ) ;
3271   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3272   int (*drop_inode)(struct inode * ) ;
3273   void (*evict_inode)(struct inode * ) ;
3274   void (*put_super)(struct super_block * ) ;
3275   void (*write_super)(struct super_block * ) ;
3276   int (*sync_fs)(struct super_block *sb , int wait ) ;
3277   int (*freeze_fs)(struct super_block * ) ;
3278   int (*unfreeze_fs)(struct super_block * ) ;
3279   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3280   int (*remount_fs)(struct super_block * , int * , char * ) ;
3281   void (*umount_begin)(struct super_block * ) ;
3282   int (*show_options)(struct seq_file * , struct dentry * ) ;
3283   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3284   int (*show_path)(struct seq_file * , struct dentry * ) ;
3285   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3286   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3287   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
3288                          loff_t  ) ;
3289   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3290   int (*nr_cached_objects)(struct super_block * ) ;
3291   void (*free_cached_objects)(struct super_block * , int  ) ;
3292};
3293#line 1835 "include/linux/fs.h"
3294struct file_system_type {
3295   char const   *name ;
3296   int fs_flags ;
3297   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
3298   void (*kill_sb)(struct super_block * ) ;
3299   struct module *owner ;
3300   struct file_system_type *next ;
3301   struct hlist_head fs_supers ;
3302   struct lock_class_key s_lock_key ;
3303   struct lock_class_key s_umount_key ;
3304   struct lock_class_key s_vfs_rename_key ;
3305   struct lock_class_key i_lock_key ;
3306   struct lock_class_key i_mutex_key ;
3307   struct lock_class_key i_mutex_dir_key ;
3308};
3309#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
3310struct exception_table_entry {
3311   unsigned long insn ;
3312   unsigned long fixup ;
3313};
3314#line 28 "include/linux/poll.h"
3315struct poll_table_struct;
3316#line 39 "include/linux/poll.h"
3317struct poll_table_struct {
3318   void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
3319   unsigned long _key ;
3320};
3321#line 8 "include/linux/cdev.h"
3322struct file_operations;
3323#line 9
3324struct inode;
3325#line 10
3326struct module;
3327#line 12 "include/linux/cdev.h"
3328struct cdev {
3329   struct kobject kobj ;
3330   struct module *owner ;
3331   struct file_operations  const  *ops ;
3332   struct list_head list ;
3333   dev_t dev ;
3334   unsigned int count ;
3335};
3336#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/types.h"
3337enum iio_chan_type {
3338    IIO_VOLTAGE = 0,
3339    IIO_CURRENT = 1,
3340    IIO_POWER = 2,
3341    IIO_ACCEL = 3,
3342    IIO_ANGL_VEL = 4,
3343    IIO_MAGN = 5,
3344    IIO_LIGHT = 6,
3345    IIO_INTENSITY = 7,
3346    IIO_PROXIMITY = 8,
3347    IIO_TEMP = 9,
3348    IIO_INCLI = 10,
3349    IIO_ROT = 11,
3350    IIO_ANGL = 12,
3351    IIO_TIMESTAMP = 13,
3352    IIO_CAPACITANCE = 14
3353} ;
3354#line 85 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3355enum iio_endian {
3356    IIO_CPU = 0,
3357    IIO_BE = 1,
3358    IIO_LE = 2
3359} ;
3360#line 91
3361struct iio_chan_spec;
3362#line 91
3363struct iio_chan_spec;
3364#line 92
3365struct iio_dev;
3366#line 92
3367struct iio_dev;
3368#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3369struct iio_chan_spec_ext_info {
3370   char const   *name ;
3371   bool shared ;
3372   ssize_t (*read)(struct iio_dev * , struct iio_chan_spec  const  * , char *buf ) ;
3373   ssize_t (*write)(struct iio_dev * , struct iio_chan_spec  const  * , char const   *buf ,
3374                    size_t len ) ;
3375};
3376#line 151 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3377struct __anonstruct_scan_type_248 {
3378   char sign ;
3379   u8 realbits ;
3380   u8 storagebits ;
3381   u8 shift ;
3382   enum iio_endian endianness ;
3383};
3384#line 151 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3385struct iio_chan_spec {
3386   enum iio_chan_type type ;
3387   int channel ;
3388   int channel2 ;
3389   unsigned long address ;
3390   int scan_index ;
3391   struct __anonstruct_scan_type_248 scan_type ;
3392   long info_mask ;
3393   long event_mask ;
3394   struct iio_chan_spec_ext_info  const  *ext_info ;
3395   char *extend_name ;
3396   char const   *datasheet_name ;
3397   unsigned int processed_val : 1 ;
3398   unsigned int modified : 1 ;
3399   unsigned int indexed : 1 ;
3400   unsigned int output : 1 ;
3401   unsigned int differential : 1 ;
3402};
3403#line 223
3404struct iio_trigger;
3405#line 223
3406struct iio_trigger;
3407#line 224
3408struct iio_dev;
3409#line 251 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3410struct iio_info {
3411   struct module *driver_module ;
3412   struct attribute_group *event_attrs ;
3413   struct attribute_group  const  *attrs ;
3414   int (*read_raw)(struct iio_dev *indio_dev , struct iio_chan_spec  const  *chan ,
3415                   int *val , int *val2 , long mask ) ;
3416   int (*write_raw)(struct iio_dev *indio_dev , struct iio_chan_spec  const  *chan ,
3417                    int val , int val2 , long mask ) ;
3418   int (*write_raw_get_fmt)(struct iio_dev *indio_dev , struct iio_chan_spec  const  *chan ,
3419                            long mask ) ;
3420   int (*read_event_config)(struct iio_dev *indio_dev , u64 event_code ) ;
3421   int (*write_event_config)(struct iio_dev *indio_dev , u64 event_code , int state ) ;
3422   int (*read_event_value)(struct iio_dev *indio_dev , u64 event_code , int *val ) ;
3423   int (*write_event_value)(struct iio_dev *indio_dev , u64 event_code , int val ) ;
3424   int (*validate_trigger)(struct iio_dev *indio_dev , struct iio_trigger *trig ) ;
3425   int (*update_scan_mode)(struct iio_dev *indio_dev , unsigned long const   *scan_mask ) ;
3426   int (*debugfs_reg_access)(struct iio_dev *indio_dev , unsigned int reg , unsigned int writeval ,
3427                             unsigned int *readval ) ;
3428};
3429#line 302 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3430struct iio_buffer_setup_ops {
3431   int (*preenable)(struct iio_dev * ) ;
3432   int (*postenable)(struct iio_dev * ) ;
3433   int (*predisable)(struct iio_dev * ) ;
3434   int (*postdisable)(struct iio_dev * ) ;
3435};
3436#line 341
3437struct iio_event_interface;
3438#line 341
3439struct iio_buffer;
3440#line 341
3441struct iio_poll_func;
3442#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/iio.h"
3443struct iio_dev {
3444   int id ;
3445   int modes ;
3446   int currentmode ;
3447   struct device dev ;
3448   struct iio_event_interface *event_interface ;
3449   struct iio_buffer *buffer ;
3450   struct mutex mlock ;
3451   unsigned long const   *available_scan_masks ;
3452   unsigned int masklength ;
3453   unsigned long const   *active_scan_mask ;
3454   struct iio_trigger *trig ;
3455   struct iio_poll_func *pollfunc ;
3456   struct iio_chan_spec  const  *channels ;
3457   int num_channels ;
3458   struct list_head channel_attr_list ;
3459   struct attribute_group chan_attr_group ;
3460   char const   *name ;
3461   struct iio_info  const  *info ;
3462   struct mutex info_exist_lock ;
3463   struct iio_buffer_setup_ops  const  *setup_ops ;
3464   struct cdev chrdev ;
3465   struct attribute_group  const  *groups[7] ;
3466   int groupcounter ;
3467   unsigned long flags ;
3468   struct dentry *debugfs_dentry ;
3469   unsigned int cached_reg_addr ;
3470};
3471#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/buffer.h"
3472struct iio_buffer;
3473#line 38 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/buffer.h"
3474struct iio_buffer_access_funcs {
3475   int (*store_to)(struct iio_buffer *buffer , u8 *data , s64 timestamp ) ;
3476   int (*read_first_n)(struct iio_buffer *buffer , size_t n , char *buf ) ;
3477   int (*request_update)(struct iio_buffer *buffer ) ;
3478   int (*get_bytes_per_datum)(struct iio_buffer *buffer ) ;
3479   int (*set_bytes_per_datum)(struct iio_buffer *buffer , size_t bpd ) ;
3480   int (*get_length)(struct iio_buffer *buffer ) ;
3481   int (*set_length)(struct iio_buffer *buffer , int length ) ;
3482};
3483#line 71 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/buffer.h"
3484struct iio_buffer {
3485   int length ;
3486   int bytes_per_datum ;
3487   struct attribute_group *scan_el_attrs ;
3488   long *scan_mask ;
3489   bool scan_timestamp ;
3490   unsigned int scan_index_timestamp ;
3491   struct iio_buffer_access_funcs  const  *access ;
3492   struct list_head scan_el_dev_attr_list ;
3493   struct attribute_group scan_el_group ;
3494   wait_queue_head_t pollq ;
3495   bool stufftoread ;
3496   struct attribute_group  const  *attrs ;
3497   struct list_head demux_list ;
3498   unsigned char *demux_bounce ;
3499};
3500#line 31 "include/linux/irq.h"
3501struct seq_file;
3502#line 32
3503struct module;
3504#line 34
3505struct irq_data;
3506#line 34
3507struct irq_data;
3508#line 120
3509struct msi_desc;
3510#line 120
3511struct msi_desc;
3512#line 121
3513struct irq_domain;
3514#line 121
3515struct irq_domain;
3516#line 143
3517struct irq_chip;
3518#line 143 "include/linux/irq.h"
3519struct irq_data {
3520   unsigned int irq ;
3521   unsigned long hwirq ;
3522   unsigned int node ;
3523   unsigned int state_use_accessors ;
3524   struct irq_chip *chip ;
3525   struct irq_domain *domain ;
3526   void *handler_data ;
3527   void *chip_data ;
3528   struct msi_desc *msi_desc ;
3529   cpumask_var_t affinity ;
3530};
3531#line 307 "include/linux/irq.h"
3532struct irq_chip {
3533   char const   *name ;
3534   unsigned int (*irq_startup)(struct irq_data *data ) ;
3535   void (*irq_shutdown)(struct irq_data *data ) ;
3536   void (*irq_enable)(struct irq_data *data ) ;
3537   void (*irq_disable)(struct irq_data *data ) ;
3538   void (*irq_ack)(struct irq_data *data ) ;
3539   void (*irq_mask)(struct irq_data *data ) ;
3540   void (*irq_mask_ack)(struct irq_data *data ) ;
3541   void (*irq_unmask)(struct irq_data *data ) ;
3542   void (*irq_eoi)(struct irq_data *data ) ;
3543   int (*irq_set_affinity)(struct irq_data *data , struct cpumask  const  *dest ,
3544                           bool force ) ;
3545   int (*irq_retrigger)(struct irq_data *data ) ;
3546   int (*irq_set_type)(struct irq_data *data , unsigned int flow_type ) ;
3547   int (*irq_set_wake)(struct irq_data *data , unsigned int on ) ;
3548   void (*irq_bus_lock)(struct irq_data *data ) ;
3549   void (*irq_bus_sync_unlock)(struct irq_data *data ) ;
3550   void (*irq_cpu_online)(struct irq_data *data ) ;
3551   void (*irq_cpu_offline)(struct irq_data *data ) ;
3552   void (*irq_suspend)(struct irq_data *data ) ;
3553   void (*irq_resume)(struct irq_data *data ) ;
3554   void (*irq_pm_shutdown)(struct irq_data *data ) ;
3555   void (*irq_print_chip)(struct irq_data *data , struct seq_file *p ) ;
3556   unsigned long flags ;
3557};
3558#line 14 "include/linux/irqdesc.h"
3559struct module;
3560#line 17 "include/linux/profile.h"
3561struct pt_regs;
3562#line 65
3563struct task_struct;
3564#line 66
3565struct mm_struct;
3566#line 88
3567struct pt_regs;
3568#line 130 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/hw_irq.h"
3569struct irq_data;
3570#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/trigger.h"
3571struct iio_subirq {
3572   bool enabled ;
3573};
3574#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/trigger.h"
3575struct iio_trigger_ops {
3576   struct module *owner ;
3577   int (*set_trigger_state)(struct iio_trigger *trig , bool state ) ;
3578   int (*try_reenable)(struct iio_trigger *trig ) ;
3579   int (*validate_device)(struct iio_trigger *trig , struct iio_dev *indio_dev ) ;
3580};
3581#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/trigger.h"
3582struct iio_trigger {
3583   struct iio_trigger_ops  const  *ops ;
3584   int id ;
3585   char const   *name ;
3586   struct device dev ;
3587   void *private_data ;
3588   struct list_head list ;
3589   struct list_head alloc_list ;
3590   int use_count ;
3591   struct irq_chip subirq_chip ;
3592   int subirq_base ;
3593   struct iio_subirq subirqs[2] ;
3594   unsigned long pool[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
3595   struct mutex pool_lock ;
3596};
3597#line 33 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
3598struct iio_sw_ring_buffer {
3599   struct iio_buffer buf ;
3600   unsigned char *data ;
3601   unsigned char *read_p ;
3602   unsigned char *write_p ;
3603   unsigned char *half_p ;
3604   int update_needed ;
3605};
3606#line 1 "<compiler builtins>"
3607
3608#line 1
3609long __builtin_expect(long val , long res ) ;
3610#line 100 "include/linux/printk.h"
3611extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
3612#line 147 "include/linux/kernel.h"
3613extern void __might_sleep(char const   *file , int line , int preempt_offset ) ;
3614#line 194
3615__inline static void might_fault(void)  __attribute__((__no_instrument_function__)) ;
3616#line 194 "include/linux/kernel.h"
3617__inline static void might_fault(void) 
3618{ 
3619
3620  {
3621  {
3622#line 196
3623  while (1) {
3624    while_continue: /* CIL Label */ ;
3625    {
3626#line 196
3627    __might_sleep("include/linux/kernel.h", 196, 0);
3628    }
3629    {
3630#line 196
3631    while (1) {
3632      while_continue___0: /* CIL Label */ ;
3633#line 196
3634      goto while_break___0;
3635    }
3636    while_break___0: /* CIL Label */ ;
3637    }
3638#line 196
3639    goto while_break;
3640  }
3641  while_break: /* CIL Label */ ;
3642  }
3643#line 197
3644  return;
3645}
3646}
3647#line 155 "include/linux/wait.h"
3648extern void __wake_up(wait_queue_head_t *q , unsigned int mode , int nr , void *key ) ;
3649#line 152 "include/linux/mutex.h"
3650void mutex_lock(struct mutex *lock ) ;
3651#line 153
3652int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
3653#line 154
3654int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
3655#line 168
3656int mutex_trylock(struct mutex *lock ) ;
3657#line 169
3658void mutex_unlock(struct mutex *lock ) ;
3659#line 170
3660int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
3661#line 161 "include/linux/slab.h"
3662extern void kfree(void const   * ) ;
3663#line 221 "include/linux/slub_def.h"
3664extern void *__kmalloc(size_t size , gfp_t flags ) ;
3665#line 268
3666__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3667                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
3668#line 268 "include/linux/slub_def.h"
3669__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3670                                                                    gfp_t flags ) 
3671{ void *tmp___2 ;
3672
3673  {
3674  {
3675#line 283
3676  tmp___2 = __kmalloc(size, flags);
3677  }
3678#line 283
3679  return (tmp___2);
3680}
3681}
3682#line 349 "include/linux/slab.h"
3683__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
3684#line 349 "include/linux/slab.h"
3685__inline static void *kzalloc(size_t size , gfp_t flags ) 
3686{ void *tmp ;
3687  unsigned int __cil_tmp4 ;
3688
3689  {
3690  {
3691#line 351
3692  __cil_tmp4 = flags | 32768U;
3693#line 351
3694  tmp = kmalloc(size, __cil_tmp4);
3695  }
3696#line 351
3697  return (tmp);
3698}
3699}
3700#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
3701extern unsigned long __attribute__((__warn_unused_result__))  _copy_to_user(void *to ,
3702                                                                            void const   *from ,
3703                                                                            unsigned int len ) ;
3704#line 62
3705__inline static int __attribute__((__warn_unused_result__))  ( __attribute__((__always_inline__)) copy_to_user)(void *dst ,
3706                                                                                                                void const   *src ,
3707                                                                                                                unsigned int size )  __attribute__((__no_instrument_function__)) ;
3708#line 62 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
3709__inline static int __attribute__((__warn_unused_result__))  ( __attribute__((__always_inline__)) copy_to_user)(void *dst ,
3710                                                                                                                void const   *src ,
3711                                                                                                                unsigned int size ) 
3712{ unsigned long tmp___7 ;
3713
3714  {
3715  {
3716#line 65
3717  might_fault();
3718#line 67
3719  tmp___7 = (unsigned long )_copy_to_user(dst, src, size);
3720  }
3721#line 67
3722  return ((int )tmp___7);
3723}
3724}
3725#line 92 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/buffer.h"
3726extern void iio_buffer_init(struct iio_buffer *buffer ) ;
3727#line 100
3728__inline static void __iio_update_buffer(struct iio_buffer *buffer , int bytes_per_datum ,
3729                                         int length )  __attribute__((__no_instrument_function__)) ;
3730#line 100 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/buffer.h"
3731__inline static void __iio_update_buffer(struct iio_buffer *buffer , int bytes_per_datum ,
3732                                         int length ) 
3733{ unsigned long __cil_tmp4 ;
3734  unsigned long __cil_tmp5 ;
3735
3736  {
3737#line 103
3738  __cil_tmp4 = (unsigned long )buffer;
3739#line 103
3740  __cil_tmp5 = __cil_tmp4 + 4;
3741#line 103
3742  *((int *)__cil_tmp5) = bytes_per_datum;
3743#line 104
3744  *((int *)buffer) = length;
3745#line 105
3746  return;
3747}
3748}
3749#line 146
3750extern ssize_t iio_buffer_read_length(struct device *dev , struct device_attribute *attr ,
3751                                      char *buf ) ;
3752#line 152
3753extern ssize_t iio_buffer_write_length(struct device *dev , struct device_attribute *attr ,
3754                                       char const   *buf , size_t len ) ;
3755#line 159
3756extern ssize_t iio_buffer_store_enable(struct device *dev , struct device_attribute *attr ,
3757                                       char const   *buf , size_t len ) ;
3758#line 166
3759extern ssize_t iio_buffer_show_enable(struct device *dev , struct device_attribute *attr ,
3760                                      char *buf ) ;
3761#line 28 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/staging/iio/ring_sw.h"
3762struct iio_buffer *iio_sw_rb_allocate(struct iio_dev *indio_dev ) ;
3763#line 29
3764void iio_sw_rb_free(struct iio_buffer *r ) ;
3765#line 45 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
3766__inline static int __iio_allocate_sw_ring_buffer(struct iio_sw_ring_buffer *ring ,
3767                                                  int bytes_per_datum , int length )  __attribute__((__no_instrument_function__)) ;
3768#line 45 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
3769__inline static int __iio_allocate_sw_ring_buffer(struct iio_sw_ring_buffer *ring ,
3770                                                  int bytes_per_datum , int length ) 
3771{ void *tmp___7 ;
3772  int tmp___8 ;
3773  struct iio_buffer *__cil_tmp6 ;
3774  unsigned long __cil_tmp7 ;
3775  unsigned long __cil_tmp8 ;
3776  unsigned long __cil_tmp9 ;
3777  int __cil_tmp10 ;
3778  int __cil_tmp11 ;
3779  size_t __cil_tmp12 ;
3780  unsigned long __cil_tmp13 ;
3781  unsigned long __cil_tmp14 ;
3782  unsigned long __cil_tmp15 ;
3783  unsigned long __cil_tmp16 ;
3784  void *__cil_tmp17 ;
3785  unsigned long __cil_tmp18 ;
3786  unsigned long __cil_tmp19 ;
3787  void *__cil_tmp20 ;
3788  unsigned long __cil_tmp21 ;
3789  unsigned long __cil_tmp22 ;
3790  void *__cil_tmp23 ;
3791  unsigned long __cil_tmp24 ;
3792  unsigned long __cil_tmp25 ;
3793
3794  {
3795#line 48
3796  if (length == 0) {
3797#line 49
3798    return (-22);
3799  } else
3800#line 48
3801  if (bytes_per_datum == 0) {
3802#line 49
3803    return (-22);
3804  } else {
3805
3806  }
3807  {
3808#line 50
3809  __cil_tmp6 = (struct iio_buffer *)ring;
3810#line 50
3811  __iio_update_buffer(__cil_tmp6, bytes_per_datum, length);
3812#line 51
3813  __cil_tmp7 = 0 + 4;
3814#line 51
3815  __cil_tmp8 = (unsigned long )ring;
3816#line 51
3817  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
3818#line 51
3819  __cil_tmp10 = *((int *)__cil_tmp9);
3820#line 51
3821  __cil_tmp11 = length * __cil_tmp10;
3822#line 51
3823  __cil_tmp12 = (size_t )__cil_tmp11;
3824#line 51
3825  tmp___7 = kmalloc(__cil_tmp12, 32U);
3826#line 51
3827  __cil_tmp13 = (unsigned long )ring;
3828#line 51
3829  __cil_tmp14 = __cil_tmp13 + 160;
3830#line 51
3831  *((unsigned char **)__cil_tmp14) = (unsigned char *)tmp___7;
3832#line 52
3833  __cil_tmp15 = (unsigned long )ring;
3834#line 52
3835  __cil_tmp16 = __cil_tmp15 + 168;
3836#line 52
3837  __cil_tmp17 = (void *)0;
3838#line 52
3839  *((unsigned char **)__cil_tmp16) = (unsigned char *)__cil_tmp17;
3840#line 53
3841  __cil_tmp18 = (unsigned long )ring;
3842#line 53
3843  __cil_tmp19 = __cil_tmp18 + 176;
3844#line 53
3845  __cil_tmp20 = (void *)0;
3846#line 53
3847  *((unsigned char **)__cil_tmp19) = (unsigned char *)__cil_tmp20;
3848#line 54
3849  __cil_tmp21 = (unsigned long )ring;
3850#line 54
3851  __cil_tmp22 = __cil_tmp21 + 184;
3852#line 54
3853  __cil_tmp23 = (void *)0;
3854#line 54
3855  *((unsigned char **)__cil_tmp22) = (unsigned char *)__cil_tmp23;
3856  }
3857  {
3858#line 55
3859  __cil_tmp24 = (unsigned long )ring;
3860#line 55
3861  __cil_tmp25 = __cil_tmp24 + 160;
3862#line 55
3863  if (*((unsigned char **)__cil_tmp25)) {
3864#line 55
3865    tmp___8 = 0;
3866  } else {
3867#line 55
3868    tmp___8 = -12;
3869  }
3870  }
3871#line 55
3872  return (tmp___8);
3873}
3874}
3875#line 58
3876__inline static void __iio_free_sw_ring_buffer(struct iio_sw_ring_buffer *ring )  __attribute__((__no_instrument_function__)) ;
3877#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
3878__inline static void __iio_free_sw_ring_buffer(struct iio_sw_ring_buffer *ring ) 
3879{ unsigned long __cil_tmp2 ;
3880  unsigned long __cil_tmp3 ;
3881  unsigned char *__cil_tmp4 ;
3882  void const   *__cil_tmp5 ;
3883
3884  {
3885  {
3886#line 60
3887  __cil_tmp2 = (unsigned long )ring;
3888#line 60
3889  __cil_tmp3 = __cil_tmp2 + 160;
3890#line 60
3891  __cil_tmp4 = *((unsigned char **)__cil_tmp3);
3892#line 60
3893  __cil_tmp5 = (void const   *)__cil_tmp4;
3894#line 60
3895  kfree(__cil_tmp5);
3896  }
3897#line 61
3898  return;
3899}
3900}
3901#line 68 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
3902static int iio_store_to_sw_ring(struct iio_sw_ring_buffer *ring , unsigned char *data ,
3903                                s64 timestamp ) 
3904{ int ret ;
3905  unsigned char *temp_ptr ;
3906  unsigned char *change_test_ptr ;
3907  long tmp___7 ;
3908  size_t __len ;
3909  void *__ret ;
3910  void *__cil_tmp10 ;
3911  unsigned long __cil_tmp11 ;
3912  unsigned long __cil_tmp12 ;
3913  unsigned long __cil_tmp13 ;
3914  unsigned char *__cil_tmp14 ;
3915  unsigned long __cil_tmp15 ;
3916  int __cil_tmp16 ;
3917  int __cil_tmp17 ;
3918  int __cil_tmp18 ;
3919  long __cil_tmp19 ;
3920  unsigned long __cil_tmp20 ;
3921  unsigned long __cil_tmp21 ;
3922  unsigned long __cil_tmp22 ;
3923  unsigned long __cil_tmp23 ;
3924  unsigned long __cil_tmp24 ;
3925  unsigned long __cil_tmp25 ;
3926  unsigned long __cil_tmp26 ;
3927  unsigned long __cil_tmp27 ;
3928  unsigned long __cil_tmp28 ;
3929  int __cil_tmp29 ;
3930  int __cil_tmp30 ;
3931  int __cil_tmp31 ;
3932  int __cil_tmp32 ;
3933  unsigned long __cil_tmp33 ;
3934  unsigned long __cil_tmp34 ;
3935  unsigned char *__cil_tmp35 ;
3936  unsigned long __cil_tmp36 ;
3937  unsigned long __cil_tmp37 ;
3938  unsigned long __cil_tmp38 ;
3939  int __cil_tmp39 ;
3940  unsigned long __cil_tmp40 ;
3941  unsigned long __cil_tmp41 ;
3942  unsigned char *__cil_tmp42 ;
3943  void *__cil_tmp43 ;
3944  void const   *__cil_tmp44 ;
3945  unsigned long __cil_tmp45 ;
3946  unsigned long __cil_tmp46 ;
3947  unsigned long __cil_tmp47 ;
3948  int __cil_tmp48 ;
3949  unsigned long __cil_tmp49 ;
3950  unsigned long __cil_tmp50 ;
3951  unsigned char *__cil_tmp51 ;
3952  unsigned long __cil_tmp52 ;
3953  unsigned long __cil_tmp53 ;
3954  unsigned long __cil_tmp54 ;
3955  int __cil_tmp55 ;
3956  int __cil_tmp56 ;
3957  int __cil_tmp57 ;
3958  unsigned long __cil_tmp58 ;
3959  unsigned long __cil_tmp59 ;
3960  unsigned char *__cil_tmp60 ;
3961  unsigned char *__cil_tmp61 ;
3962  unsigned long __cil_tmp62 ;
3963  unsigned long __cil_tmp63 ;
3964  unsigned long __cil_tmp64 ;
3965  unsigned long __cil_tmp65 ;
3966  unsigned long __cil_tmp66 ;
3967  unsigned long __cil_tmp67 ;
3968  void *__cil_tmp68 ;
3969  unsigned long __cil_tmp69 ;
3970  unsigned long __cil_tmp70 ;
3971  unsigned long __cil_tmp71 ;
3972  unsigned char *__cil_tmp72 ;
3973  unsigned long __cil_tmp73 ;
3974  unsigned long __cil_tmp74 ;
3975  unsigned long __cil_tmp75 ;
3976  unsigned long __cil_tmp76 ;
3977  unsigned long __cil_tmp77 ;
3978  unsigned long __cil_tmp78 ;
3979  unsigned long __cil_tmp79 ;
3980  unsigned char *__cil_tmp80 ;
3981  unsigned long __cil_tmp81 ;
3982  unsigned long __cil_tmp82 ;
3983  unsigned long __cil_tmp83 ;
3984  unsigned char *__cil_tmp84 ;
3985  unsigned long __cil_tmp85 ;
3986  unsigned long __cil_tmp86 ;
3987  unsigned long __cil_tmp87 ;
3988  unsigned long __cil_tmp88 ;
3989  unsigned long __cil_tmp89 ;
3990  unsigned long __cil_tmp90 ;
3991  int __cil_tmp91 ;
3992  unsigned long __cil_tmp92 ;
3993  unsigned long __cil_tmp93 ;
3994  unsigned long __cil_tmp94 ;
3995  int __cil_tmp95 ;
3996  int __cil_tmp96 ;
3997  int __cil_tmp97 ;
3998  unsigned long __cil_tmp98 ;
3999  unsigned long __cil_tmp99 ;
4000  unsigned char *__cil_tmp100 ;
4001  unsigned char *__cil_tmp101 ;
4002  unsigned long __cil_tmp102 ;
4003  unsigned long __cil_tmp103 ;
4004  unsigned long __cil_tmp104 ;
4005  unsigned long __cil_tmp105 ;
4006  unsigned long __cil_tmp106 ;
4007  unsigned long __cil_tmp107 ;
4008  unsigned char *__cil_tmp108 ;
4009  unsigned long __cil_tmp109 ;
4010  unsigned long __cil_tmp110 ;
4011  unsigned long __cil_tmp111 ;
4012  unsigned long __cil_tmp112 ;
4013  unsigned long __cil_tmp113 ;
4014  unsigned long __cil_tmp114 ;
4015  unsigned long __cil_tmp115 ;
4016  unsigned long __cil_tmp116 ;
4017  unsigned long __cil_tmp117 ;
4018  int __cil_tmp118 ;
4019  unsigned long __cil_tmp119 ;
4020  unsigned long __cil_tmp120 ;
4021  unsigned char *__cil_tmp121 ;
4022  unsigned long __cil_tmp122 ;
4023  unsigned long __cil_tmp123 ;
4024  unsigned long __cil_tmp124 ;
4025  int __cil_tmp125 ;
4026  int __cil_tmp126 ;
4027  int __cil_tmp127 ;
4028  unsigned long __cil_tmp128 ;
4029  unsigned long __cil_tmp129 ;
4030  unsigned char *__cil_tmp130 ;
4031  unsigned char *__cil_tmp131 ;
4032  unsigned long __cil_tmp132 ;
4033  unsigned long __cil_tmp133 ;
4034  unsigned long __cil_tmp134 ;
4035  unsigned char *__cil_tmp135 ;
4036  unsigned long __cil_tmp136 ;
4037  unsigned long __cil_tmp137 ;
4038  unsigned long __cil_tmp138 ;
4039  unsigned long __cil_tmp139 ;
4040  unsigned long __cil_tmp140 ;
4041  unsigned long __cil_tmp141 ;
4042  unsigned long __cil_tmp142 ;
4043  unsigned char *__cil_tmp143 ;
4044  unsigned long __cil_tmp144 ;
4045  unsigned long __cil_tmp145 ;
4046  unsigned long __cil_tmp146 ;
4047  unsigned char *__cil_tmp147 ;
4048  unsigned long __cil_tmp148 ;
4049  unsigned long __cil_tmp149 ;
4050  unsigned long __cil_tmp150 ;
4051  unsigned long __cil_tmp151 ;
4052  unsigned long __cil_tmp152 ;
4053  unsigned long __cil_tmp153 ;
4054  unsigned long __cil_tmp154 ;
4055  wait_queue_head_t *__cil_tmp155 ;
4056  void *__cil_tmp156 ;
4057
4058  {
4059  {
4060#line 71
4061  ret = 0;
4062#line 75
4063  __cil_tmp10 = (void *)0;
4064#line 75
4065  __cil_tmp11 = (unsigned long )__cil_tmp10;
4066#line 75
4067  __cil_tmp12 = (unsigned long )ring;
4068#line 75
4069  __cil_tmp13 = __cil_tmp12 + 176;
4070#line 75
4071  __cil_tmp14 = *((unsigned char **)__cil_tmp13);
4072#line 75
4073  __cil_tmp15 = (unsigned long )__cil_tmp14;
4074#line 75
4075  __cil_tmp16 = __cil_tmp15 == __cil_tmp11;
4076#line 75
4077  __cil_tmp17 = ! __cil_tmp16;
4078#line 75
4079  __cil_tmp18 = ! __cil_tmp17;
4080#line 75
4081  __cil_tmp19 = (long )__cil_tmp18;
4082#line 75
4083  tmp___7 = __builtin_expect(__cil_tmp19, 0L);
4084  }
4085#line 75
4086  if (tmp___7) {
4087#line 76
4088    __cil_tmp20 = (unsigned long )ring;
4089#line 76
4090    __cil_tmp21 = __cil_tmp20 + 176;
4091#line 76
4092    __cil_tmp22 = (unsigned long )ring;
4093#line 76
4094    __cil_tmp23 = __cil_tmp22 + 160;
4095#line 76
4096    *((unsigned char **)__cil_tmp21) = *((unsigned char **)__cil_tmp23);
4097#line 81
4098    __cil_tmp24 = (unsigned long )ring;
4099#line 81
4100    __cil_tmp25 = __cil_tmp24 + 184;
4101#line 81
4102    __cil_tmp26 = 0 + 4;
4103#line 81
4104    __cil_tmp27 = (unsigned long )ring;
4105#line 81
4106    __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
4107#line 81
4108    __cil_tmp29 = *((int *)__cil_tmp28);
4109#line 81
4110    __cil_tmp30 = *((int *)ring);
4111#line 81
4112    __cil_tmp31 = __cil_tmp30 * __cil_tmp29;
4113#line 81
4114    __cil_tmp32 = __cil_tmp31 / 2;
4115#line 81
4116    __cil_tmp33 = (unsigned long )ring;
4117#line 81
4118    __cil_tmp34 = __cil_tmp33 + 160;
4119#line 81
4120    __cil_tmp35 = *((unsigned char **)__cil_tmp34);
4121#line 81
4122    *((unsigned char **)__cil_tmp25) = __cil_tmp35 - __cil_tmp32;
4123  } else {
4124
4125  }
4126  {
4127#line 84
4128  __cil_tmp36 = 0 + 4;
4129#line 84
4130  __cil_tmp37 = (unsigned long )ring;
4131#line 84
4132  __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
4133#line 84
4134  __cil_tmp39 = *((int *)__cil_tmp38);
4135#line 84
4136  __len = (size_t )__cil_tmp39;
4137#line 84
4138  __cil_tmp40 = (unsigned long )ring;
4139#line 84
4140  __cil_tmp41 = __cil_tmp40 + 176;
4141#line 84
4142  __cil_tmp42 = *((unsigned char **)__cil_tmp41);
4143#line 84
4144  __cil_tmp43 = (void *)__cil_tmp42;
4145#line 84
4146  __cil_tmp44 = (void const   *)data;
4147#line 84
4148  __ret = __builtin_memcpy(__cil_tmp43, __cil_tmp44, __len);
4149#line 85
4150  __asm__  volatile   ("": : : "memory");
4151#line 90
4152  __asm__  volatile   ("": : : "memory");
4153#line 94
4154  __cil_tmp45 = 0 + 4;
4155#line 94
4156  __cil_tmp46 = (unsigned long )ring;
4157#line 94
4158  __cil_tmp47 = __cil_tmp46 + __cil_tmp45;
4159#line 94
4160  __cil_tmp48 = *((int *)__cil_tmp47);
4161#line 94
4162  __cil_tmp49 = (unsigned long )ring;
4163#line 94
4164  __cil_tmp50 = __cil_tmp49 + 176;
4165#line 94
4166  __cil_tmp51 = *((unsigned char **)__cil_tmp50);
4167#line 94
4168  temp_ptr = __cil_tmp51 + __cil_tmp48;
4169  }
4170  {
4171#line 96
4172  __cil_tmp52 = 0 + 4;
4173#line 96
4174  __cil_tmp53 = (unsigned long )ring;
4175#line 96
4176  __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
4177#line 96
4178  __cil_tmp55 = *((int *)__cil_tmp54);
4179#line 96
4180  __cil_tmp56 = *((int *)ring);
4181#line 96
4182  __cil_tmp57 = __cil_tmp56 * __cil_tmp55;
4183#line 96
4184  __cil_tmp58 = (unsigned long )ring;
4185#line 96
4186  __cil_tmp59 = __cil_tmp58 + 160;
4187#line 96
4188  __cil_tmp60 = *((unsigned char **)__cil_tmp59);
4189#line 96
4190  __cil_tmp61 = __cil_tmp60 + __cil_tmp57;
4191#line 96
4192  __cil_tmp62 = (unsigned long )__cil_tmp61;
4193#line 96
4194  __cil_tmp63 = (unsigned long )temp_ptr;
4195#line 96
4196  if (__cil_tmp63 == __cil_tmp62) {
4197#line 97
4198    __cil_tmp64 = (unsigned long )ring;
4199#line 97
4200    __cil_tmp65 = __cil_tmp64 + 160;
4201#line 97
4202    temp_ptr = *((unsigned char **)__cil_tmp65);
4203  } else {
4204
4205  }
4206  }
4207#line 103
4208  __cil_tmp66 = (unsigned long )ring;
4209#line 103
4210  __cil_tmp67 = __cil_tmp66 + 176;
4211#line 103
4212  *((unsigned char **)__cil_tmp67) = temp_ptr;
4213  {
4214#line 105
4215  __cil_tmp68 = (void *)0;
4216#line 105
4217  __cil_tmp69 = (unsigned long )__cil_tmp68;
4218#line 105
4219  __cil_tmp70 = (unsigned long )ring;
4220#line 105
4221  __cil_tmp71 = __cil_tmp70 + 168;
4222#line 105
4223  __cil_tmp72 = *((unsigned char **)__cil_tmp71);
4224#line 105
4225  __cil_tmp73 = (unsigned long )__cil_tmp72;
4226#line 105
4227  if (__cil_tmp73 == __cil_tmp69) {
4228#line 106
4229    __cil_tmp74 = (unsigned long )ring;
4230#line 106
4231    __cil_tmp75 = __cil_tmp74 + 168;
4232#line 106
4233    __cil_tmp76 = (unsigned long )ring;
4234#line 106
4235    __cil_tmp77 = __cil_tmp76 + 160;
4236#line 106
4237    *((unsigned char **)__cil_tmp75) = *((unsigned char **)__cil_tmp77);
4238  } else {
4239    {
4240#line 113
4241    __cil_tmp78 = (unsigned long )ring;
4242#line 113
4243    __cil_tmp79 = __cil_tmp78 + 168;
4244#line 113
4245    __cil_tmp80 = *((unsigned char **)__cil_tmp79);
4246#line 113
4247    __cil_tmp81 = (unsigned long )__cil_tmp80;
4248#line 113
4249    __cil_tmp82 = (unsigned long )ring;
4250#line 113
4251    __cil_tmp83 = __cil_tmp82 + 176;
4252#line 113
4253    __cil_tmp84 = *((unsigned char **)__cil_tmp83);
4254#line 113
4255    __cil_tmp85 = (unsigned long )__cil_tmp84;
4256#line 113
4257    if (__cil_tmp85 == __cil_tmp81) {
4258#line 114
4259      __cil_tmp86 = (unsigned long )ring;
4260#line 114
4261      __cil_tmp87 = __cil_tmp86 + 168;
4262#line 114
4263      change_test_ptr = *((unsigned char **)__cil_tmp87);
4264#line 115
4265      __cil_tmp88 = 0 + 4;
4266#line 115
4267      __cil_tmp89 = (unsigned long )ring;
4268#line 115
4269      __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
4270#line 115
4271      __cil_tmp91 = *((int *)__cil_tmp90);
4272#line 115
4273      temp_ptr = change_test_ptr + __cil_tmp91;
4274      {
4275#line 116
4276      __cil_tmp92 = 0 + 4;
4277#line 116
4278      __cil_tmp93 = (unsigned long )ring;
4279#line 116
4280      __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
4281#line 116
4282      __cil_tmp95 = *((int *)__cil_tmp94);
4283#line 116
4284      __cil_tmp96 = *((int *)ring);
4285#line 116
4286      __cil_tmp97 = __cil_tmp96 * __cil_tmp95;
4287#line 116
4288      __cil_tmp98 = (unsigned long )ring;
4289#line 116
4290      __cil_tmp99 = __cil_tmp98 + 160;
4291#line 116
4292      __cil_tmp100 = *((unsigned char **)__cil_tmp99);
4293#line 116
4294      __cil_tmp101 = __cil_tmp100 + __cil_tmp97;
4295#line 116
4296      __cil_tmp102 = (unsigned long )__cil_tmp101;
4297#line 116
4298      __cil_tmp103 = (unsigned long )temp_ptr;
4299#line 116
4300      if (__cil_tmp103 == __cil_tmp102) {
4301#line 118
4302        __cil_tmp104 = (unsigned long )ring;
4303#line 118
4304        __cil_tmp105 = __cil_tmp104 + 160;
4305#line 118
4306        temp_ptr = *((unsigned char **)__cil_tmp105);
4307      } else {
4308
4309      }
4310      }
4311      {
4312#line 123
4313      __cil_tmp106 = (unsigned long )ring;
4314#line 123
4315      __cil_tmp107 = __cil_tmp106 + 168;
4316#line 123
4317      __cil_tmp108 = *((unsigned char **)__cil_tmp107);
4318#line 123
4319      __cil_tmp109 = (unsigned long )__cil_tmp108;
4320#line 123
4321      __cil_tmp110 = (unsigned long )change_test_ptr;
4322#line 123
4323      if (__cil_tmp110 == __cil_tmp109) {
4324#line 124
4325        __cil_tmp111 = (unsigned long )ring;
4326#line 124
4327        __cil_tmp112 = __cil_tmp111 + 168;
4328#line 124
4329        *((unsigned char **)__cil_tmp112) = temp_ptr;
4330      } else {
4331
4332      }
4333      }
4334    } else {
4335
4336    }
4337    }
4338  }
4339  }
4340#line 130
4341  __cil_tmp113 = (unsigned long )ring;
4342#line 130
4343  __cil_tmp114 = __cil_tmp113 + 184;
4344#line 130
4345  __cil_tmp115 = 0 + 4;
4346#line 130
4347  __cil_tmp116 = (unsigned long )ring;
4348#line 130
4349  __cil_tmp117 = __cil_tmp116 + __cil_tmp115;
4350#line 130
4351  __cil_tmp118 = *((int *)__cil_tmp117);
4352#line 130
4353  __cil_tmp119 = (unsigned long )ring;
4354#line 130
4355  __cil_tmp120 = __cil_tmp119 + 184;
4356#line 130
4357  __cil_tmp121 = *((unsigned char **)__cil_tmp120);
4358#line 130
4359  *((unsigned char **)__cil_tmp114) = __cil_tmp121 + __cil_tmp118;
4360  {
4361#line 131
4362  __cil_tmp122 = 0 + 4;
4363#line 131
4364  __cil_tmp123 = (unsigned long )ring;
4365#line 131
4366  __cil_tmp124 = __cil_tmp123 + __cil_tmp122;
4367#line 131
4368  __cil_tmp125 = *((int *)__cil_tmp124);
4369#line 131
4370  __cil_tmp126 = *((int *)ring);
4371#line 131
4372  __cil_tmp127 = __cil_tmp126 * __cil_tmp125;
4373#line 131
4374  __cil_tmp128 = (unsigned long )ring;
4375#line 131
4376  __cil_tmp129 = __cil_tmp128 + 160;
4377#line 131
4378  __cil_tmp130 = *((unsigned char **)__cil_tmp129);
4379#line 131
4380  __cil_tmp131 = __cil_tmp130 + __cil_tmp127;
4381#line 131
4382  __cil_tmp132 = (unsigned long )__cil_tmp131;
4383#line 131
4384  __cil_tmp133 = (unsigned long )ring;
4385#line 131
4386  __cil_tmp134 = __cil_tmp133 + 184;
4387#line 131
4388  __cil_tmp135 = *((unsigned char **)__cil_tmp134);
4389#line 131
4390  __cil_tmp136 = (unsigned long )__cil_tmp135;
4391#line 131
4392  if (__cil_tmp136 == __cil_tmp132) {
4393#line 132
4394    __cil_tmp137 = (unsigned long )ring;
4395#line 132
4396    __cil_tmp138 = __cil_tmp137 + 184;
4397#line 132
4398    __cil_tmp139 = (unsigned long )ring;
4399#line 132
4400    __cil_tmp140 = __cil_tmp139 + 160;
4401#line 132
4402    *((unsigned char **)__cil_tmp138) = *((unsigned char **)__cil_tmp140);
4403  } else {
4404
4405  }
4406  }
4407  {
4408#line 133
4409  __cil_tmp141 = (unsigned long )ring;
4410#line 133
4411  __cil_tmp142 = __cil_tmp141 + 168;
4412#line 133
4413  __cil_tmp143 = *((unsigned char **)__cil_tmp142);
4414#line 133
4415  __cil_tmp144 = (unsigned long )__cil_tmp143;
4416#line 133
4417  __cil_tmp145 = (unsigned long )ring;
4418#line 133
4419  __cil_tmp146 = __cil_tmp145 + 184;
4420#line 133
4421  __cil_tmp147 = *((unsigned char **)__cil_tmp146);
4422#line 133
4423  __cil_tmp148 = (unsigned long )__cil_tmp147;
4424#line 133
4425  if (__cil_tmp148 == __cil_tmp144) {
4426    {
4427#line 134
4428    __cil_tmp149 = 0 + 120;
4429#line 134
4430    __cil_tmp150 = (unsigned long )ring;
4431#line 134
4432    __cil_tmp151 = __cil_tmp150 + __cil_tmp149;
4433#line 134
4434    *((bool *)__cil_tmp151) = (bool )1;
4435#line 135
4436    __cil_tmp152 = 0 + 80;
4437#line 135
4438    __cil_tmp153 = (unsigned long )ring;
4439#line 135
4440    __cil_tmp154 = __cil_tmp153 + __cil_tmp152;
4441#line 135
4442    __cil_tmp155 = (wait_queue_head_t *)__cil_tmp154;
4443#line 135
4444    __cil_tmp156 = (void *)0;
4445#line 135
4446    __wake_up(__cil_tmp155, 1U, 1, __cil_tmp156);
4447    }
4448  } else {
4449
4450  }
4451  }
4452#line 137
4453  return (ret);
4454}
4455}
4456#line 140 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
4457static int iio_read_first_n_sw_rb(struct iio_buffer *r , size_t n , char *buf ) 
4458{ struct iio_sw_ring_buffer *ring ;
4459  struct iio_buffer  const  *__mptr ;
4460  u8 *initial_read_p ;
4461  u8 *initial_write_p ;
4462  u8 *current_read_p ;
4463  u8 *end_read_p ;
4464  u8 *data ;
4465  int ret ;
4466  int max_copied ;
4467  int bytes_to_rip ;
4468  int dead_offset ;
4469  size_t data_available ;
4470  size_t buffer_size ;
4471  size_t __min1 ;
4472  size_t __min2 ;
4473  size_t tmp___7 ;
4474  void *tmp___8 ;
4475  long tmp___9 ;
4476  size_t __len ;
4477  void *__ret ;
4478  size_t __len___0 ;
4479  void *__ret___0 ;
4480  size_t __len___1 ;
4481  void *__ret___1 ;
4482  int tmp___10 ;
4483  struct iio_sw_ring_buffer *__cil_tmp29 ;
4484  struct iio_buffer *__cil_tmp30 ;
4485  unsigned int __cil_tmp31 ;
4486  char *__cil_tmp32 ;
4487  char *__cil_tmp33 ;
4488  unsigned long __cil_tmp34 ;
4489  unsigned long __cil_tmp35 ;
4490  unsigned long __cil_tmp36 ;
4491  int __cil_tmp37 ;
4492  unsigned long __cil_tmp38 ;
4493  unsigned long __cil_tmp39 ;
4494  unsigned long __cil_tmp40 ;
4495  unsigned long __cil_tmp41 ;
4496  int __cil_tmp42 ;
4497  int __cil_tmp43 ;
4498  unsigned long __cil_tmp44 ;
4499  unsigned long __cil_tmp45 ;
4500  unsigned long __cil_tmp46 ;
4501  int __cil_tmp47 ;
4502  int __cil_tmp48 ;
4503  size_t __cil_tmp49 ;
4504  void *__cil_tmp50 ;
4505  unsigned long __cil_tmp51 ;
4506  unsigned long __cil_tmp52 ;
4507  unsigned long __cil_tmp53 ;
4508  unsigned long __cil_tmp54 ;
4509  void *__cil_tmp55 ;
4510  unsigned long __cil_tmp56 ;
4511  unsigned long __cil_tmp57 ;
4512  int __cil_tmp58 ;
4513  int __cil_tmp59 ;
4514  int __cil_tmp60 ;
4515  long __cil_tmp61 ;
4516  unsigned long __cil_tmp62 ;
4517  unsigned long __cil_tmp63 ;
4518  unsigned long __cil_tmp64 ;
4519  unsigned long __cil_tmp65 ;
4520  unsigned char *__cil_tmp66 ;
4521  unsigned long __cil_tmp67 ;
4522  unsigned long __cil_tmp68 ;
4523  unsigned long __cil_tmp69 ;
4524  unsigned long __cil_tmp70 ;
4525  unsigned char *__cil_tmp71 ;
4526  unsigned long __cil_tmp72 ;
4527  unsigned long __cil_tmp73 ;
4528  unsigned long __cil_tmp74 ;
4529  unsigned long __cil_tmp75 ;
4530  unsigned long __cil_tmp76 ;
4531  unsigned long __cil_tmp77 ;
4532  unsigned long __cil_tmp78 ;
4533  unsigned long __cil_tmp79 ;
4534  unsigned long __cil_tmp80 ;
4535  unsigned long __cil_tmp81 ;
4536  int __cil_tmp82 ;
4537  int __cil_tmp83 ;
4538  size_t __cil_tmp84 ;
4539  size_t __cil_tmp85 ;
4540  unsigned long __cil_tmp86 ;
4541  unsigned long __cil_tmp87 ;
4542  unsigned char *__cil_tmp88 ;
4543  unsigned char *__cil_tmp89 ;
4544  unsigned long __cil_tmp90 ;
4545  u8 *__cil_tmp91 ;
4546  unsigned long __cil_tmp92 ;
4547  unsigned long __cil_tmp93 ;
4548  unsigned long __cil_tmp94 ;
4549  unsigned char *__cil_tmp95 ;
4550  unsigned char *__cil_tmp96 ;
4551  void *__cil_tmp97 ;
4552  void const   *__cil_tmp98 ;
4553  int __cil_tmp99 ;
4554  u8 *__cil_tmp100 ;
4555  void *__cil_tmp101 ;
4556  unsigned long __cil_tmp102 ;
4557  unsigned long __cil_tmp103 ;
4558  unsigned char *__cil_tmp104 ;
4559  void const   *__cil_tmp105 ;
4560  unsigned long __cil_tmp106 ;
4561  unsigned long __cil_tmp107 ;
4562  unsigned char *__cil_tmp108 ;
4563  unsigned char *__cil_tmp109 ;
4564  void *__cil_tmp110 ;
4565  void const   *__cil_tmp111 ;
4566  unsigned long __cil_tmp112 ;
4567  unsigned long __cil_tmp113 ;
4568  unsigned long __cil_tmp114 ;
4569  unsigned long __cil_tmp115 ;
4570  int __cil_tmp116 ;
4571  size_t __cil_tmp117 ;
4572  size_t __cil_tmp118 ;
4573  int __cil_tmp119 ;
4574  unsigned long __cil_tmp120 ;
4575  unsigned long __cil_tmp121 ;
4576  unsigned long __cil_tmp122 ;
4577  unsigned char *__cil_tmp123 ;
4578  unsigned long __cil_tmp124 ;
4579  unsigned long __cil_tmp125 ;
4580  unsigned long __cil_tmp126 ;
4581  void *__cil_tmp127 ;
4582  u8 *__cil_tmp128 ;
4583  void const   *__cil_tmp129 ;
4584  unsigned int __cil_tmp130 ;
4585  unsigned long __cil_tmp131 ;
4586  unsigned long __cil_tmp132 ;
4587  unsigned long __cil_tmp133 ;
4588  int __cil_tmp134 ;
4589  int __cil_tmp135 ;
4590  int __cil_tmp136 ;
4591  int __cil_tmp137 ;
4592  unsigned long __cil_tmp138 ;
4593  unsigned long __cil_tmp139 ;
4594  unsigned long __cil_tmp140 ;
4595  void const   *__cil_tmp141 ;
4596
4597  {
4598#line 143
4599  __mptr = (struct iio_buffer  const  *)r;
4600#line 143
4601  __cil_tmp29 = (struct iio_sw_ring_buffer *)0;
4602#line 143
4603  __cil_tmp30 = (struct iio_buffer *)__cil_tmp29;
4604#line 143
4605  __cil_tmp31 = (unsigned int )__cil_tmp30;
4606#line 143
4607  __cil_tmp32 = (char *)__mptr;
4608#line 143
4609  __cil_tmp33 = __cil_tmp32 - __cil_tmp31;
4610#line 143
4611  ring = (struct iio_sw_ring_buffer *)__cil_tmp33;
4612  {
4613#line 154
4614  __cil_tmp34 = 0 + 4;
4615#line 154
4616  __cil_tmp35 = (unsigned long )ring;
4617#line 154
4618  __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
4619#line 154
4620  __cil_tmp37 = *((int *)__cil_tmp36);
4621#line 154
4622  __cil_tmp38 = (unsigned long )__cil_tmp37;
4623#line 154
4624  if (n % __cil_tmp38) {
4625    {
4626#line 155
4627    ret = -22;
4628#line 156
4629    __cil_tmp39 = 0 + 4;
4630#line 156
4631    __cil_tmp40 = (unsigned long )ring;
4632#line 156
4633    __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
4634#line 156
4635    __cil_tmp42 = *((int *)__cil_tmp41);
4636#line 156
4637    printk("<6>Ring buffer read request not whole number ofsamples: Request bytes %zd, Current bytes per datum %d\n",
4638           n, __cil_tmp42);
4639    }
4640#line 159
4641    goto error_ret;
4642  } else {
4643
4644  }
4645  }
4646#line 162
4647  __cil_tmp43 = *((int *)ring);
4648#line 162
4649  __cil_tmp44 = 0 + 4;
4650#line 162
4651  __cil_tmp45 = (unsigned long )ring;
4652#line 162
4653  __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
4654#line 162
4655  __cil_tmp47 = *((int *)__cil_tmp46);
4656#line 162
4657  __cil_tmp48 = __cil_tmp47 * __cil_tmp43;
4658#line 162
4659  buffer_size = (size_t )__cil_tmp48;
4660#line 165
4661  __min1 = buffer_size;
4662#line 165
4663  __min2 = n;
4664#line 165
4665  if (__min1 < __min2) {
4666#line 165
4667    tmp___7 = __min1;
4668  } else {
4669#line 165
4670    tmp___7 = __min2;
4671  }
4672  {
4673#line 165
4674  bytes_to_rip = (int )tmp___7;
4675#line 167
4676  __cil_tmp49 = (size_t )bytes_to_rip;
4677#line 167
4678  tmp___8 = kmalloc(__cil_tmp49, 208U);
4679#line 167
4680  data = (u8 *)tmp___8;
4681  }
4682  {
4683#line 168
4684  __cil_tmp50 = (void *)0;
4685#line 168
4686  __cil_tmp51 = (unsigned long )__cil_tmp50;
4687#line 168
4688  __cil_tmp52 = (unsigned long )data;
4689#line 168
4690  if (__cil_tmp52 == __cil_tmp51) {
4691#line 169
4692    ret = -12;
4693#line 170
4694    goto error_ret;
4695  } else {
4696
4697  }
4698  }
4699  {
4700#line 174
4701  __cil_tmp53 = (unsigned long )ring;
4702#line 174
4703  __cil_tmp54 = __cil_tmp53 + 168;
4704#line 174
4705  initial_read_p = *((unsigned char **)__cil_tmp54);
4706#line 175
4707  __cil_tmp55 = (void *)0;
4708#line 175
4709  __cil_tmp56 = (unsigned long )__cil_tmp55;
4710#line 175
4711  __cil_tmp57 = (unsigned long )initial_read_p;
4712#line 175
4713  __cil_tmp58 = __cil_tmp57 == __cil_tmp56;
4714#line 175
4715  __cil_tmp59 = ! __cil_tmp58;
4716#line 175
4717  __cil_tmp60 = ! __cil_tmp59;
4718#line 175
4719  __cil_tmp61 = (long )__cil_tmp60;
4720#line 175
4721  tmp___9 = __builtin_expect(__cil_tmp61, 0L);
4722  }
4723#line 175
4724  if (tmp___9) {
4725#line 176
4726    ret = 0;
4727#line 177
4728    goto error_free_data_cpy;
4729  } else {
4730
4731  }
4732#line 180
4733  __cil_tmp62 = (unsigned long )ring;
4734#line 180
4735  __cil_tmp63 = __cil_tmp62 + 176;
4736#line 180
4737  initial_write_p = *((unsigned char **)__cil_tmp63);
4738  {
4739#line 183
4740  while (1) {
4741    while_continue: /* CIL Label */ ;
4742    {
4743#line 183
4744    __cil_tmp64 = (unsigned long )ring;
4745#line 183
4746    __cil_tmp65 = __cil_tmp64 + 168;
4747#line 183
4748    __cil_tmp66 = *((unsigned char **)__cil_tmp65);
4749#line 183
4750    __cil_tmp67 = (unsigned long )__cil_tmp66;
4751#line 183
4752    __cil_tmp68 = (unsigned long )initial_read_p;
4753#line 183
4754    if (__cil_tmp68 != __cil_tmp67) {
4755
4756    } else {
4757      {
4758#line 183
4759      __cil_tmp69 = (unsigned long )ring;
4760#line 183
4761      __cil_tmp70 = __cil_tmp69 + 176;
4762#line 183
4763      __cil_tmp71 = *((unsigned char **)__cil_tmp70);
4764#line 183
4765      __cil_tmp72 = (unsigned long )__cil_tmp71;
4766#line 183
4767      __cil_tmp73 = (unsigned long )initial_write_p;
4768#line 183
4769      if (__cil_tmp73 != __cil_tmp72) {
4770
4771      } else {
4772#line 183
4773        goto while_break;
4774      }
4775      }
4776    }
4777    }
4778#line 185
4779    __cil_tmp74 = (unsigned long )ring;
4780#line 185
4781    __cil_tmp75 = __cil_tmp74 + 168;
4782#line 185
4783    initial_read_p = *((unsigned char **)__cil_tmp75);
4784#line 186
4785    __cil_tmp76 = (unsigned long )ring;
4786#line 186
4787    __cil_tmp77 = __cil_tmp76 + 176;
4788#line 186
4789    initial_write_p = *((unsigned char **)__cil_tmp77);
4790  }
4791  while_break: /* CIL Label */ ;
4792  }
4793  {
4794#line 188
4795  __cil_tmp78 = (unsigned long )initial_read_p;
4796#line 188
4797  __cil_tmp79 = (unsigned long )initial_write_p;
4798#line 188
4799  if (__cil_tmp79 == __cil_tmp78) {
4800#line 190
4801    ret = 0;
4802#line 191
4803    goto error_free_data_cpy;
4804  } else {
4805
4806  }
4807  }
4808  {
4809#line 194
4810  __cil_tmp80 = (unsigned long )initial_read_p;
4811#line 194
4812  __cil_tmp81 = (unsigned long )initial_write_p;
4813#line 194
4814  if (__cil_tmp81 >= __cil_tmp80) {
4815#line 195
4816    __cil_tmp82 = initial_write_p - initial_read_p;
4817#line 195
4818    data_available = (size_t )__cil_tmp82;
4819  } else {
4820#line 197
4821    __cil_tmp83 = initial_read_p - initial_write_p;
4822#line 197
4823    __cil_tmp84 = (size_t )__cil_tmp83;
4824#line 197
4825    data_available = buffer_size - __cil_tmp84;
4826  }
4827  }
4828  {
4829#line 199
4830  __cil_tmp85 = (size_t )bytes_to_rip;
4831#line 199
4832  if (data_available < __cil_tmp85) {
4833#line 200
4834    bytes_to_rip = (int )data_available;
4835  } else {
4836
4837  }
4838  }
4839  {
4840#line 202
4841  __cil_tmp86 = (unsigned long )ring;
4842#line 202
4843  __cil_tmp87 = __cil_tmp86 + 160;
4844#line 202
4845  __cil_tmp88 = *((unsigned char **)__cil_tmp87);
4846#line 202
4847  __cil_tmp89 = __cil_tmp88 + buffer_size;
4848#line 202
4849  __cil_tmp90 = (unsigned long )__cil_tmp89;
4850#line 202
4851  __cil_tmp91 = initial_read_p + bytes_to_rip;
4852#line 202
4853  __cil_tmp92 = (unsigned long )__cil_tmp91;
4854#line 202
4855  if (__cil_tmp92 >= __cil_tmp90) {
4856    {
4857#line 203
4858    __cil_tmp93 = (unsigned long )ring;
4859#line 203
4860    __cil_tmp94 = __cil_tmp93 + 160;
4861#line 203
4862    __cil_tmp95 = *((unsigned char **)__cil_tmp94);
4863#line 203
4864    __cil_tmp96 = __cil_tmp95 + buffer_size;
4865#line 203
4866    max_copied = __cil_tmp96 - initial_read_p;
4867#line 204
4868    __len = (size_t )max_copied;
4869#line 204
4870    __cil_tmp97 = (void *)data;
4871#line 204
4872    __cil_tmp98 = (void const   *)initial_read_p;
4873#line 204
4874    __ret = __builtin_memcpy(__cil_tmp97, __cil_tmp98, __len);
4875#line 205
4876    __cil_tmp99 = bytes_to_rip - max_copied;
4877#line 205
4878    __len___0 = (size_t )__cil_tmp99;
4879#line 205
4880    __cil_tmp100 = data + max_copied;
4881#line 205
4882    __cil_tmp101 = (void *)__cil_tmp100;
4883#line 205
4884    __cil_tmp102 = (unsigned long )ring;
4885#line 205
4886    __cil_tmp103 = __cil_tmp102 + 160;
4887#line 205
4888    __cil_tmp104 = *((unsigned char **)__cil_tmp103);
4889#line 205
4890    __cil_tmp105 = (void const   *)__cil_tmp104;
4891#line 205
4892    __ret___0 = __builtin_memcpy(__cil_tmp101, __cil_tmp105, __len___0);
4893#line 206
4894    __cil_tmp106 = (unsigned long )ring;
4895#line 206
4896    __cil_tmp107 = __cil_tmp106 + 160;
4897#line 206
4898    __cil_tmp108 = *((unsigned char **)__cil_tmp107);
4899#line 206
4900    __cil_tmp109 = __cil_tmp108 + bytes_to_rip;
4901#line 206
4902    end_read_p = __cil_tmp109 - max_copied;
4903    }
4904  } else {
4905    {
4906#line 208
4907    __len___1 = (size_t )bytes_to_rip;
4908#line 208
4909    __cil_tmp110 = (void *)data;
4910#line 208
4911    __cil_tmp111 = (void const   *)initial_read_p;
4912#line 208
4913    __ret___1 = __builtin_memcpy(__cil_tmp110, __cil_tmp111, __len___1);
4914#line 209
4915    end_read_p = initial_read_p + bytes_to_rip;
4916    }
4917  }
4918  }
4919#line 214
4920  __cil_tmp112 = (unsigned long )ring;
4921#line 214
4922  __cil_tmp113 = __cil_tmp112 + 168;
4923#line 214
4924  current_read_p = *((unsigned char **)__cil_tmp113);
4925  {
4926#line 216
4927  __cil_tmp114 = (unsigned long )current_read_p;
4928#line 216
4929  __cil_tmp115 = (unsigned long )initial_read_p;
4930#line 216
4931  if (__cil_tmp115 <= __cil_tmp114) {
4932#line 217
4933    dead_offset = current_read_p - initial_read_p;
4934  } else {
4935#line 219
4936    __cil_tmp116 = initial_read_p - current_read_p;
4937#line 219
4938    __cil_tmp117 = (size_t )__cil_tmp116;
4939#line 219
4940    __cil_tmp118 = buffer_size - __cil_tmp117;
4941#line 219
4942    dead_offset = (int )__cil_tmp118;
4943  }
4944  }
4945  {
4946#line 226
4947  __cil_tmp119 = bytes_to_rip - dead_offset;
4948#line 226
4949  if (__cil_tmp119 < 0) {
4950#line 227
4951    ret = 0;
4952#line 228
4953    goto error_free_data_cpy;
4954  } else {
4955
4956  }
4957  }
4958  {
4959#line 239
4960  while (1) {
4961    while_continue___0: /* CIL Label */ ;
4962    {
4963#line 239
4964    __cil_tmp120 = (unsigned long )end_read_p;
4965#line 239
4966    __cil_tmp121 = (unsigned long )ring;
4967#line 239
4968    __cil_tmp122 = __cil_tmp121 + 168;
4969#line 239
4970    __cil_tmp123 = *((unsigned char **)__cil_tmp122);
4971#line 239
4972    __cil_tmp124 = (unsigned long )__cil_tmp123;
4973#line 239
4974    if (__cil_tmp124 != __cil_tmp120) {
4975
4976    } else {
4977#line 239
4978      goto while_break___0;
4979    }
4980    }
4981#line 240
4982    __cil_tmp125 = (unsigned long )ring;
4983#line 240
4984    __cil_tmp126 = __cil_tmp125 + 168;
4985#line 240
4986    *((unsigned char **)__cil_tmp126) = end_read_p;
4987  }
4988  while_break___0: /* CIL Label */ ;
4989  }
4990  {
4991#line 242
4992  ret = bytes_to_rip - dead_offset;
4993#line 244
4994  __cil_tmp127 = (void *)buf;
4995#line 244
4996  __cil_tmp128 = data + dead_offset;
4997#line 244
4998  __cil_tmp129 = (void const   *)__cil_tmp128;
4999#line 244
5000  __cil_tmp130 = (unsigned int )ret;
5001#line 244
5002  tmp___10 = (int )copy_to_user(__cil_tmp127, __cil_tmp129, __cil_tmp130);
5003  }
5004#line 244
5005  if (tmp___10) {
5006#line 245
5007    ret = -14;
5008#line 246
5009    goto error_free_data_cpy;
5010  } else {
5011
5012  }
5013  {
5014#line 249
5015  __cil_tmp131 = 0 + 4;
5016#line 249
5017  __cil_tmp132 = (unsigned long )ring;
5018#line 249
5019  __cil_tmp133 = __cil_tmp132 + __cil_tmp131;
5020#line 249
5021  __cil_tmp134 = *((int *)__cil_tmp133);
5022#line 249
5023  __cil_tmp135 = *((int *)ring);
5024#line 249
5025  __cil_tmp136 = __cil_tmp135 * __cil_tmp134;
5026#line 249
5027  __cil_tmp137 = __cil_tmp136 / 2;
5028#line 249
5029  if (bytes_to_rip >= __cil_tmp137) {
5030#line 250
5031    __cil_tmp138 = 0 + 120;
5032#line 250
5033    __cil_tmp139 = (unsigned long )ring;
5034#line 250
5035    __cil_tmp140 = __cil_tmp139 + __cil_tmp138;
5036#line 250
5037    *((bool *)__cil_tmp140) = (bool )0;
5038  } else {
5039
5040  }
5041  }
5042  error_free_data_cpy: 
5043  {
5044#line 253
5045  __cil_tmp141 = (void const   *)data;
5046#line 253
5047  kfree(__cil_tmp141);
5048  }
5049  error_ret: 
5050#line 256
5051  return (ret);
5052}
5053}
5054#line 259 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5055static int iio_store_to_sw_rb(struct iio_buffer *r , u8 *data , s64 timestamp ) 
5056{ struct iio_sw_ring_buffer *ring ;
5057  struct iio_buffer  const  *__mptr ;
5058  int tmp___7 ;
5059  struct iio_sw_ring_buffer *__cil_tmp7 ;
5060  struct iio_buffer *__cil_tmp8 ;
5061  unsigned int __cil_tmp9 ;
5062  char *__cil_tmp10 ;
5063  char *__cil_tmp11 ;
5064
5065  {
5066  {
5067#line 263
5068  __mptr = (struct iio_buffer  const  *)r;
5069#line 263
5070  __cil_tmp7 = (struct iio_sw_ring_buffer *)0;
5071#line 263
5072  __cil_tmp8 = (struct iio_buffer *)__cil_tmp7;
5073#line 263
5074  __cil_tmp9 = (unsigned int )__cil_tmp8;
5075#line 263
5076  __cil_tmp10 = (char *)__mptr;
5077#line 263
5078  __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
5079#line 263
5080  ring = (struct iio_sw_ring_buffer *)__cil_tmp11;
5081#line 264
5082  tmp___7 = iio_store_to_sw_ring(ring, data, timestamp);
5083  }
5084#line 264
5085  return (tmp___7);
5086}
5087}
5088#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5089static int iio_request_update_sw_rb(struct iio_buffer *r ) 
5090{ int ret ;
5091  struct iio_sw_ring_buffer *ring ;
5092  struct iio_buffer  const  *__mptr ;
5093  struct iio_sw_ring_buffer *__cil_tmp5 ;
5094  struct iio_buffer *__cil_tmp6 ;
5095  unsigned int __cil_tmp7 ;
5096  char *__cil_tmp8 ;
5097  char *__cil_tmp9 ;
5098  unsigned long __cil_tmp10 ;
5099  unsigned long __cil_tmp11 ;
5100  unsigned long __cil_tmp12 ;
5101  unsigned long __cil_tmp13 ;
5102  int __cil_tmp14 ;
5103  unsigned long __cil_tmp15 ;
5104  unsigned long __cil_tmp16 ;
5105  unsigned long __cil_tmp17 ;
5106  int __cil_tmp18 ;
5107  int __cil_tmp19 ;
5108
5109  {
5110#line 269
5111  ret = 0;
5112#line 270
5113  __mptr = (struct iio_buffer  const  *)r;
5114#line 270
5115  __cil_tmp5 = (struct iio_sw_ring_buffer *)0;
5116#line 270
5117  __cil_tmp6 = (struct iio_buffer *)__cil_tmp5;
5118#line 270
5119  __cil_tmp7 = (unsigned int )__cil_tmp6;
5120#line 270
5121  __cil_tmp8 = (char *)__mptr;
5122#line 270
5123  __cil_tmp9 = __cil_tmp8 - __cil_tmp7;
5124#line 270
5125  ring = (struct iio_sw_ring_buffer *)__cil_tmp9;
5126#line 272
5127  __cil_tmp10 = (unsigned long )r;
5128#line 272
5129  __cil_tmp11 = __cil_tmp10 + 120;
5130#line 272
5131  *((bool *)__cil_tmp11) = (bool )0;
5132  {
5133#line 273
5134  __cil_tmp12 = (unsigned long )ring;
5135#line 273
5136  __cil_tmp13 = __cil_tmp12 + 192;
5137#line 273
5138  __cil_tmp14 = *((int *)__cil_tmp13);
5139#line 273
5140  if (! __cil_tmp14) {
5141#line 274
5142    goto error_ret;
5143  } else {
5144
5145  }
5146  }
5147  {
5148#line 275
5149  __iio_free_sw_ring_buffer(ring);
5150#line 276
5151  __cil_tmp15 = 0 + 4;
5152#line 276
5153  __cil_tmp16 = (unsigned long )ring;
5154#line 276
5155  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
5156#line 276
5157  __cil_tmp18 = *((int *)__cil_tmp17);
5158#line 276
5159  __cil_tmp19 = *((int *)ring);
5160#line 276
5161  ret = __iio_allocate_sw_ring_buffer(ring, __cil_tmp18, __cil_tmp19);
5162  }
5163  error_ret: 
5164#line 279
5165  return (ret);
5166}
5167}
5168#line 282 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5169static int iio_get_bytes_per_datum_sw_rb(struct iio_buffer *r ) 
5170{ struct iio_sw_ring_buffer *ring ;
5171  struct iio_buffer  const  *__mptr ;
5172  struct iio_sw_ring_buffer *__cil_tmp4 ;
5173  struct iio_buffer *__cil_tmp5 ;
5174  unsigned int __cil_tmp6 ;
5175  char *__cil_tmp7 ;
5176  char *__cil_tmp8 ;
5177  unsigned long __cil_tmp9 ;
5178  unsigned long __cil_tmp10 ;
5179  unsigned long __cil_tmp11 ;
5180
5181  {
5182#line 284
5183  __mptr = (struct iio_buffer  const  *)r;
5184#line 284
5185  __cil_tmp4 = (struct iio_sw_ring_buffer *)0;
5186#line 284
5187  __cil_tmp5 = (struct iio_buffer *)__cil_tmp4;
5188#line 284
5189  __cil_tmp6 = (unsigned int )__cil_tmp5;
5190#line 284
5191  __cil_tmp7 = (char *)__mptr;
5192#line 284
5193  __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
5194#line 284
5195  ring = (struct iio_sw_ring_buffer *)__cil_tmp8;
5196  {
5197#line 285
5198  __cil_tmp9 = 0 + 4;
5199#line 285
5200  __cil_tmp10 = (unsigned long )ring;
5201#line 285
5202  __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
5203#line 285
5204  return (*((int *)__cil_tmp11));
5205  }
5206}
5207}
5208#line 288 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5209static int iio_mark_update_needed_sw_rb(struct iio_buffer *r ) 
5210{ struct iio_sw_ring_buffer *ring ;
5211  struct iio_buffer  const  *__mptr ;
5212  struct iio_sw_ring_buffer *__cil_tmp4 ;
5213  struct iio_buffer *__cil_tmp5 ;
5214  unsigned int __cil_tmp6 ;
5215  char *__cil_tmp7 ;
5216  char *__cil_tmp8 ;
5217  unsigned long __cil_tmp9 ;
5218  unsigned long __cil_tmp10 ;
5219
5220  {
5221#line 290
5222  __mptr = (struct iio_buffer  const  *)r;
5223#line 290
5224  __cil_tmp4 = (struct iio_sw_ring_buffer *)0;
5225#line 290
5226  __cil_tmp5 = (struct iio_buffer *)__cil_tmp4;
5227#line 290
5228  __cil_tmp6 = (unsigned int )__cil_tmp5;
5229#line 290
5230  __cil_tmp7 = (char *)__mptr;
5231#line 290
5232  __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
5233#line 290
5234  ring = (struct iio_sw_ring_buffer *)__cil_tmp8;
5235#line 291
5236  __cil_tmp9 = (unsigned long )ring;
5237#line 291
5238  __cil_tmp10 = __cil_tmp9 + 192;
5239#line 291
5240  *((int *)__cil_tmp10) = 1;
5241#line 292
5242  return (0);
5243}
5244}
5245#line 295 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5246static int iio_set_bytes_per_datum_sw_rb(struct iio_buffer *r , size_t bpd ) 
5247{ unsigned long __cil_tmp3 ;
5248  unsigned long __cil_tmp4 ;
5249  int __cil_tmp5 ;
5250  size_t __cil_tmp6 ;
5251  unsigned long __cil_tmp7 ;
5252  unsigned long __cil_tmp8 ;
5253
5254  {
5255  {
5256#line 297
5257  __cil_tmp3 = (unsigned long )r;
5258#line 297
5259  __cil_tmp4 = __cil_tmp3 + 4;
5260#line 297
5261  __cil_tmp5 = *((int *)__cil_tmp4);
5262#line 297
5263  __cil_tmp6 = (size_t )__cil_tmp5;
5264#line 297
5265  if (__cil_tmp6 != bpd) {
5266    {
5267#line 298
5268    __cil_tmp7 = (unsigned long )r;
5269#line 298
5270    __cil_tmp8 = __cil_tmp7 + 4;
5271#line 298
5272    *((int *)__cil_tmp8) = (int )bpd;
5273#line 299
5274    iio_mark_update_needed_sw_rb(r);
5275    }
5276  } else {
5277
5278  }
5279  }
5280#line 301
5281  return (0);
5282}
5283}
5284#line 304 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5285static int iio_get_length_sw_rb(struct iio_buffer *r ) 
5286{ 
5287
5288  {
5289#line 306
5290  return (*((int *)r));
5291}
5292}
5293#line 309 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5294static int iio_set_length_sw_rb(struct iio_buffer *r , int length ) 
5295{ int __cil_tmp3 ;
5296
5297  {
5298  {
5299#line 311
5300  __cil_tmp3 = *((int *)r);
5301#line 311
5302  if (__cil_tmp3 != length) {
5303    {
5304#line 312
5305    *((int *)r) = length;
5306#line 313
5307    iio_mark_update_needed_sw_rb(r);
5308    }
5309  } else {
5310
5311  }
5312  }
5313#line 315
5314  return (0);
5315}
5316}
5317#line 318 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5318static struct device_attribute dev_attr_enable  =    {{"enable", (umode_t )420}, & iio_buffer_show_enable, & iio_buffer_store_enable};
5319#line 319 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5320static struct device_attribute dev_attr_length  =    {{"length", (umode_t )420}, & iio_buffer_read_length, & iio_buffer_write_length};
5321#line 322 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5322static struct attribute *iio_ring_attributes[3]  = {      & dev_attr_length.attr,      & dev_attr_enable.attr,      (struct attribute *)((void *)0)};
5323#line 328 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5324static struct attribute_group iio_ring_attribute_group  =    {"buffer", (umode_t (*)(struct kobject * , struct attribute * , int  ))0, iio_ring_attributes};
5325#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5326static struct iio_buffer_access_funcs  const  ring_sw_access_funcs  =    {& iio_store_to_sw_rb, & iio_read_first_n_sw_rb, & iio_request_update_sw_rb, & iio_get_bytes_per_datum_sw_rb,
5327    & iio_set_bytes_per_datum_sw_rb, & iio_get_length_sw_rb, & iio_set_length_sw_rb};
5328#line 343 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5329struct iio_buffer *iio_sw_rb_allocate(struct iio_dev *indio_dev ) 
5330{ struct iio_buffer *buf ;
5331  struct iio_sw_ring_buffer *ring ;
5332  void *tmp___7 ;
5333  void *__cil_tmp5 ;
5334  unsigned long __cil_tmp6 ;
5335  unsigned long __cil_tmp7 ;
5336  unsigned long __cil_tmp8 ;
5337  unsigned long __cil_tmp9 ;
5338  unsigned long __cil_tmp10 ;
5339  unsigned long __cil_tmp11 ;
5340
5341  {
5342  {
5343#line 348
5344  tmp___7 = kzalloc(200UL, 208U);
5345#line 348
5346  ring = (struct iio_sw_ring_buffer *)tmp___7;
5347  }
5348#line 349
5349  if (! ring) {
5350    {
5351#line 350
5352    __cil_tmp5 = (void *)0;
5353#line 350
5354    return ((struct iio_buffer *)__cil_tmp5);
5355    }
5356  } else {
5357
5358  }
5359  {
5360#line 351
5361  __cil_tmp6 = (unsigned long )ring;
5362#line 351
5363  __cil_tmp7 = __cil_tmp6 + 192;
5364#line 351
5365  *((int *)__cil_tmp7) = 1;
5366#line 352
5367  buf = (struct iio_buffer *)ring;
5368#line 353
5369  iio_buffer_init(buf);
5370#line 354
5371  __cil_tmp8 = (unsigned long )buf;
5372#line 354
5373  __cil_tmp9 = __cil_tmp8 + 128;
5374#line 354
5375  *((struct attribute_group  const  **)__cil_tmp9) = (struct attribute_group  const  *)(& iio_ring_attribute_group);
5376#line 355
5377  __cil_tmp10 = (unsigned long )buf;
5378#line 355
5379  __cil_tmp11 = __cil_tmp10 + 32;
5380#line 355
5381  *((struct iio_buffer_access_funcs  const  **)__cil_tmp11) = & ring_sw_access_funcs;
5382  }
5383#line 357
5384  return (buf);
5385}
5386}
5387#line 359
5388extern void *__crc_iio_sw_rb_allocate  __attribute__((__weak__)) ;
5389#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5390static unsigned long const   __kcrctab_iio_sw_rb_allocate  __attribute__((__used__,
5391__unused__, __section__("___kcrctab+iio_sw_rb_allocate")))  =    (unsigned long const   )((unsigned long )(& __crc_iio_sw_rb_allocate));
5392#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5393static char const   __kstrtab_iio_sw_rb_allocate[19]  __attribute__((__section__("__ksymtab_strings"),
5394__aligned__(1)))  = 
5395#line 359
5396  {      (char const   )'i',      (char const   )'i',      (char const   )'o',      (char const   )'_', 
5397        (char const   )'s',      (char const   )'w',      (char const   )'_',      (char const   )'r', 
5398        (char const   )'b',      (char const   )'_',      (char const   )'a',      (char const   )'l', 
5399        (char const   )'l',      (char const   )'o',      (char const   )'c',      (char const   )'a', 
5400        (char const   )'t',      (char const   )'e',      (char const   )'\000'};
5401#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5402static struct kernel_symbol  const  __ksymtab_iio_sw_rb_allocate  __attribute__((__used__,
5403__unused__, __section__("___ksymtab+iio_sw_rb_allocate")))  =    {(unsigned long )(& iio_sw_rb_allocate), __kstrtab_iio_sw_rb_allocate};
5404#line 361 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5405void iio_sw_rb_free(struct iio_buffer *r ) 
5406{ struct iio_buffer  const  *__mptr ;
5407  struct iio_sw_ring_buffer *__cil_tmp3 ;
5408  struct iio_buffer *__cil_tmp4 ;
5409  unsigned int __cil_tmp5 ;
5410  char *__cil_tmp6 ;
5411  char *__cil_tmp7 ;
5412  struct iio_sw_ring_buffer *__cil_tmp8 ;
5413  void const   *__cil_tmp9 ;
5414
5415  {
5416  {
5417#line 363
5418  __mptr = (struct iio_buffer  const  *)r;
5419#line 363
5420  __cil_tmp3 = (struct iio_sw_ring_buffer *)0;
5421#line 363
5422  __cil_tmp4 = (struct iio_buffer *)__cil_tmp3;
5423#line 363
5424  __cil_tmp5 = (unsigned int )__cil_tmp4;
5425#line 363
5426  __cil_tmp6 = (char *)__mptr;
5427#line 363
5428  __cil_tmp7 = __cil_tmp6 - __cil_tmp5;
5429#line 363
5430  __cil_tmp8 = (struct iio_sw_ring_buffer *)__cil_tmp7;
5431#line 363
5432  __cil_tmp9 = (void const   *)__cil_tmp8;
5433#line 363
5434  kfree(__cil_tmp9);
5435  }
5436#line 364
5437  return;
5438}
5439}
5440#line 365
5441extern void *__crc_iio_sw_rb_free  __attribute__((__weak__)) ;
5442#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5443static unsigned long const   __kcrctab_iio_sw_rb_free  __attribute__((__used__, __unused__,
5444__section__("___kcrctab+iio_sw_rb_free")))  =    (unsigned long const   )((unsigned long )(& __crc_iio_sw_rb_free));
5445#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5446static char const   __kstrtab_iio_sw_rb_free[15]  __attribute__((__section__("__ksymtab_strings"),
5447__aligned__(1)))  = 
5448#line 365
5449  {      (char const   )'i',      (char const   )'i',      (char const   )'o',      (char const   )'_', 
5450        (char const   )'s',      (char const   )'w',      (char const   )'_',      (char const   )'r', 
5451        (char const   )'b',      (char const   )'_',      (char const   )'f',      (char const   )'r', 
5452        (char const   )'e',      (char const   )'e',      (char const   )'\000'};
5453#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5454static struct kernel_symbol  const  __ksymtab_iio_sw_rb_free  __attribute__((__used__,
5455__unused__, __section__("___ksymtab+iio_sw_rb_free")))  =    {(unsigned long )(& iio_sw_rb_free), __kstrtab_iio_sw_rb_free};
5456#line 367 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5457static char const   __mod_description367[50]  __attribute__((__used__, __unused__,
5458__section__(".modinfo"), __aligned__(1)))  = 
5459#line 367
5460  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
5461        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
5462        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
5463        (char const   )'I',      (char const   )'n',      (char const   )'d',      (char const   )'u', 
5464        (char const   )'s',      (char const   )'t',      (char const   )'r',      (char const   )'i', 
5465        (char const   )'a',      (char const   )'l',      (char const   )'i',      (char const   )'o', 
5466        (char const   )' ',      (char const   )'I',      (char const   )'/',      (char const   )'O', 
5467        (char const   )' ',      (char const   )'s',      (char const   )'o',      (char const   )'f', 
5468        (char const   )'t',      (char const   )'w',      (char const   )'a',      (char const   )'r', 
5469        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'i', 
5470        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'b', 
5471        (char const   )'u',      (char const   )'f',      (char const   )'f',      (char const   )'e', 
5472        (char const   )'r',      (char const   )'\000'};
5473#line 368 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5474static char const   __mod_license368[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
5475__aligned__(1)))  = 
5476#line 368
5477  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
5478        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
5479        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
5480#line 386
5481void ldv_check_final_state(void) ;
5482#line 392
5483extern void ldv_initialize(void) ;
5484#line 395
5485extern int __VERIFIER_nondet_int(void) ;
5486#line 398 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5487int LDV_IN_INTERRUPT  ;
5488#line 401 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5489void main(void) 
5490{ int tmp___7 ;
5491  int tmp___8 ;
5492
5493  {
5494  {
5495#line 413
5496  LDV_IN_INTERRUPT = 1;
5497#line 422
5498  ldv_initialize();
5499  }
5500  {
5501#line 424
5502  while (1) {
5503    while_continue: /* CIL Label */ ;
5504    {
5505#line 424
5506    tmp___8 = __VERIFIER_nondet_int();
5507    }
5508#line 424
5509    if (tmp___8) {
5510
5511    } else {
5512#line 424
5513      goto while_break;
5514    }
5515    {
5516#line 427
5517    tmp___7 = __VERIFIER_nondet_int();
5518    }
5519    {
5520#line 429
5521    goto switch_default;
5522#line 427
5523    if (0) {
5524      switch_default: /* CIL Label */ 
5525#line 429
5526      goto switch_break;
5527    } else {
5528      switch_break: /* CIL Label */ ;
5529    }
5530    }
5531  }
5532  while_break: /* CIL Label */ ;
5533  }
5534  {
5535#line 438
5536  ldv_check_final_state();
5537  }
5538#line 441
5539  return;
5540}
5541}
5542#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
5543void ldv_blast_assert(void) 
5544{ 
5545
5546  {
5547  ERROR: 
5548#line 6
5549  goto ERROR;
5550}
5551}
5552#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
5553extern int __VERIFIER_nondet_int(void) ;
5554#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5555int ldv_mutex  =    1;
5556#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5557int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
5558{ int nondetermined ;
5559
5560  {
5561#line 29
5562  if (ldv_mutex == 1) {
5563
5564  } else {
5565    {
5566#line 29
5567    ldv_blast_assert();
5568    }
5569  }
5570  {
5571#line 32
5572  nondetermined = __VERIFIER_nondet_int();
5573  }
5574#line 35
5575  if (nondetermined) {
5576#line 38
5577    ldv_mutex = 2;
5578#line 40
5579    return (0);
5580  } else {
5581#line 45
5582    return (-4);
5583  }
5584}
5585}
5586#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5587int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
5588{ int nondetermined ;
5589
5590  {
5591#line 57
5592  if (ldv_mutex == 1) {
5593
5594  } else {
5595    {
5596#line 57
5597    ldv_blast_assert();
5598    }
5599  }
5600  {
5601#line 60
5602  nondetermined = __VERIFIER_nondet_int();
5603  }
5604#line 63
5605  if (nondetermined) {
5606#line 66
5607    ldv_mutex = 2;
5608#line 68
5609    return (0);
5610  } else {
5611#line 73
5612    return (-4);
5613  }
5614}
5615}
5616#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5617int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
5618{ int atomic_value_after_dec ;
5619
5620  {
5621#line 83
5622  if (ldv_mutex == 1) {
5623
5624  } else {
5625    {
5626#line 83
5627    ldv_blast_assert();
5628    }
5629  }
5630  {
5631#line 86
5632  atomic_value_after_dec = __VERIFIER_nondet_int();
5633  }
5634#line 89
5635  if (atomic_value_after_dec == 0) {
5636#line 92
5637    ldv_mutex = 2;
5638#line 94
5639    return (1);
5640  } else {
5641
5642  }
5643#line 98
5644  return (0);
5645}
5646}
5647#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5648void mutex_lock(struct mutex *lock ) 
5649{ 
5650
5651  {
5652#line 108
5653  if (ldv_mutex == 1) {
5654
5655  } else {
5656    {
5657#line 108
5658    ldv_blast_assert();
5659    }
5660  }
5661#line 110
5662  ldv_mutex = 2;
5663#line 111
5664  return;
5665}
5666}
5667#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5668int mutex_trylock(struct mutex *lock ) 
5669{ int nondetermined ;
5670
5671  {
5672#line 121
5673  if (ldv_mutex == 1) {
5674
5675  } else {
5676    {
5677#line 121
5678    ldv_blast_assert();
5679    }
5680  }
5681  {
5682#line 124
5683  nondetermined = __VERIFIER_nondet_int();
5684  }
5685#line 127
5686  if (nondetermined) {
5687#line 130
5688    ldv_mutex = 2;
5689#line 132
5690    return (1);
5691  } else {
5692#line 137
5693    return (0);
5694  }
5695}
5696}
5697#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5698void mutex_unlock(struct mutex *lock ) 
5699{ 
5700
5701  {
5702#line 147
5703  if (ldv_mutex == 2) {
5704
5705  } else {
5706    {
5707#line 147
5708    ldv_blast_assert();
5709    }
5710  }
5711#line 149
5712  ldv_mutex = 1;
5713#line 150
5714  return;
5715}
5716}
5717#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5718void ldv_check_final_state(void) 
5719{ 
5720
5721  {
5722#line 156
5723  if (ldv_mutex == 1) {
5724
5725  } else {
5726    {
5727#line 156
5728    ldv_blast_assert();
5729    }
5730  }
5731#line 157
5732  return;
5733}
5734}
5735#line 450 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/2048/dscv_tempdir/dscv/ri/32_1/drivers/staging/iio/ring_sw.c.common.c"
5736long s__builtin_expect(long val , long res ) 
5737{ 
5738
5739  {
5740#line 451
5741  return (val);
5742}
5743}