Showing error 502

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--mtd--devices--docprobe.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3883
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 20 "include/asm-generic/int-ll64.h"
   5typedef unsigned char __u8;
   6#line 23 "include/asm-generic/int-ll64.h"
   7typedef unsigned short __u16;
   8#line 25 "include/asm-generic/int-ll64.h"
   9typedef int __s32;
  10#line 26 "include/asm-generic/int-ll64.h"
  11typedef unsigned int __u32;
  12#line 30 "include/asm-generic/int-ll64.h"
  13typedef unsigned long long __u64;
  14#line 43 "include/asm-generic/int-ll64.h"
  15typedef unsigned char u8;
  16#line 45 "include/asm-generic/int-ll64.h"
  17typedef short s16;
  18#line 46 "include/asm-generic/int-ll64.h"
  19typedef unsigned short u16;
  20#line 49 "include/asm-generic/int-ll64.h"
  21typedef unsigned int u32;
  22#line 51 "include/asm-generic/int-ll64.h"
  23typedef long long s64;
  24#line 52 "include/asm-generic/int-ll64.h"
  25typedef unsigned long long u64;
  26#line 14 "include/asm-generic/posix_types.h"
  27typedef long __kernel_long_t;
  28#line 15 "include/asm-generic/posix_types.h"
  29typedef unsigned long __kernel_ulong_t;
  30#line 31 "include/asm-generic/posix_types.h"
  31typedef int __kernel_pid_t;
  32#line 52 "include/asm-generic/posix_types.h"
  33typedef unsigned int __kernel_uid32_t;
  34#line 53 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_gid32_t;
  36#line 75 "include/asm-generic/posix_types.h"
  37typedef __kernel_ulong_t __kernel_size_t;
  38#line 76 "include/asm-generic/posix_types.h"
  39typedef __kernel_long_t __kernel_ssize_t;
  40#line 91 "include/asm-generic/posix_types.h"
  41typedef long long __kernel_loff_t;
  42#line 92 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_time_t;
  44#line 93 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_clock_t;
  46#line 94 "include/asm-generic/posix_types.h"
  47typedef int __kernel_timer_t;
  48#line 95 "include/asm-generic/posix_types.h"
  49typedef int __kernel_clockid_t;
  50#line 21 "include/linux/types.h"
  51typedef __u32 __kernel_dev_t;
  52#line 24 "include/linux/types.h"
  53typedef __kernel_dev_t dev_t;
  54#line 27 "include/linux/types.h"
  55typedef unsigned short umode_t;
  56#line 30 "include/linux/types.h"
  57typedef __kernel_pid_t pid_t;
  58#line 35 "include/linux/types.h"
  59typedef __kernel_clockid_t clockid_t;
  60#line 38 "include/linux/types.h"
  61typedef _Bool bool;
  62#line 40 "include/linux/types.h"
  63typedef __kernel_uid32_t uid_t;
  64#line 41 "include/linux/types.h"
  65typedef __kernel_gid32_t gid_t;
  66#line 54 "include/linux/types.h"
  67typedef __kernel_loff_t loff_t;
  68#line 63 "include/linux/types.h"
  69typedef __kernel_size_t size_t;
  70#line 68 "include/linux/types.h"
  71typedef __kernel_ssize_t ssize_t;
  72#line 78 "include/linux/types.h"
  73typedef __kernel_time_t time_t;
  74#line 92 "include/linux/types.h"
  75typedef unsigned char u_char;
  76#line 95 "include/linux/types.h"
  77typedef unsigned long u_long;
  78#line 111 "include/linux/types.h"
  79typedef __s32 int32_t;
  80#line 115 "include/linux/types.h"
  81typedef __u8 uint8_t;
  82#line 117 "include/linux/types.h"
  83typedef __u32 uint32_t;
  84#line 120 "include/linux/types.h"
  85typedef __u64 uint64_t;
  86#line 202 "include/linux/types.h"
  87typedef unsigned int gfp_t;
  88#line 206 "include/linux/types.h"
  89typedef u64 phys_addr_t;
  90#line 211 "include/linux/types.h"
  91typedef phys_addr_t resource_size_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 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 126struct module;
 127#line 56
 128struct module;
 129#line 146 "include/linux/init.h"
 130typedef void (*ctor_fn_t)(void);
 131#line 47 "include/linux/dynamic_debug.h"
 132struct device;
 133#line 47
 134struct device;
 135#line 135 "include/linux/kernel.h"
 136struct completion;
 137#line 135
 138struct completion;
 139#line 136
 140struct pt_regs;
 141#line 136
 142struct pt_regs;
 143#line 349
 144struct pid;
 145#line 349
 146struct pid;
 147#line 12 "include/linux/thread_info.h"
 148struct timespec;
 149#line 12
 150struct timespec;
 151#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 152struct page;
 153#line 18
 154struct page;
 155#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 156struct task_struct;
 157#line 20
 158struct task_struct;
 159#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 160struct task_struct;
 161#line 8
 162struct mm_struct;
 163#line 8
 164struct mm_struct;
 165#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 166struct pt_regs {
 167   unsigned long r15 ;
 168   unsigned long r14 ;
 169   unsigned long r13 ;
 170   unsigned long r12 ;
 171   unsigned long bp ;
 172   unsigned long bx ;
 173   unsigned long r11 ;
 174   unsigned long r10 ;
 175   unsigned long r9 ;
 176   unsigned long r8 ;
 177   unsigned long ax ;
 178   unsigned long cx ;
 179   unsigned long dx ;
 180   unsigned long si ;
 181   unsigned long di ;
 182   unsigned long orig_ax ;
 183   unsigned long ip ;
 184   unsigned long cs ;
 185   unsigned long flags ;
 186   unsigned long sp ;
 187   unsigned long ss ;
 188};
 189#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 190struct __anonstruct____missing_field_name_15 {
 191   unsigned int a ;
 192   unsigned int b ;
 193};
 194#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 195struct __anonstruct____missing_field_name_16 {
 196   u16 limit0 ;
 197   u16 base0 ;
 198   unsigned int base1 : 8 ;
 199   unsigned int type : 4 ;
 200   unsigned int s : 1 ;
 201   unsigned int dpl : 2 ;
 202   unsigned int p : 1 ;
 203   unsigned int limit : 4 ;
 204   unsigned int avl : 1 ;
 205   unsigned int l : 1 ;
 206   unsigned int d : 1 ;
 207   unsigned int g : 1 ;
 208   unsigned int base2 : 8 ;
 209};
 210#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 211union __anonunion____missing_field_name_14 {
 212   struct __anonstruct____missing_field_name_15 __annonCompField5 ;
 213   struct __anonstruct____missing_field_name_16 __annonCompField6 ;
 214};
 215#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 216struct desc_struct {
 217   union __anonunion____missing_field_name_14 __annonCompField7 ;
 218} __attribute__((__packed__)) ;
 219#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 220typedef unsigned long pgdval_t;
 221#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 222typedef unsigned long pgprotval_t;
 223#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 224struct pgprot {
 225   pgprotval_t pgprot ;
 226};
 227#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 228typedef struct pgprot pgprot_t;
 229#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 230struct __anonstruct_pgd_t_20 {
 231   pgdval_t pgd ;
 232};
 233#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 234typedef struct __anonstruct_pgd_t_20 pgd_t;
 235#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 236typedef struct page *pgtable_t;
 237#line 295
 238struct file;
 239#line 295
 240struct file;
 241#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 242struct page;
 243#line 47
 244struct thread_struct;
 245#line 47
 246struct thread_struct;
 247#line 50
 248struct mm_struct;
 249#line 51
 250struct desc_struct;
 251#line 52
 252struct task_struct;
 253#line 53
 254struct cpumask;
 255#line 53
 256struct cpumask;
 257#line 329
 258struct arch_spinlock;
 259#line 329
 260struct arch_spinlock;
 261#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 262struct task_struct;
 263#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 264struct kernel_vm86_regs {
 265   struct pt_regs pt ;
 266   unsigned short es ;
 267   unsigned short __esh ;
 268   unsigned short ds ;
 269   unsigned short __dsh ;
 270   unsigned short fs ;
 271   unsigned short __fsh ;
 272   unsigned short gs ;
 273   unsigned short __gsh ;
 274};
 275#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 276union __anonunion____missing_field_name_24 {
 277   struct pt_regs *regs ;
 278   struct kernel_vm86_regs *vm86 ;
 279};
 280#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 281struct math_emu_info {
 282   long ___orig_eip ;
 283   union __anonunion____missing_field_name_24 __annonCompField8 ;
 284};
 285#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 286struct task_struct;
 287#line 10 "include/asm-generic/bug.h"
 288struct bug_entry {
 289   int bug_addr_disp ;
 290   int file_disp ;
 291   unsigned short line ;
 292   unsigned short flags ;
 293};
 294#line 12 "include/linux/bug.h"
 295struct pt_regs;
 296#line 14 "include/linux/cpumask.h"
 297struct cpumask {
 298   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 299};
 300#line 14 "include/linux/cpumask.h"
 301typedef struct cpumask cpumask_t;
 302#line 637 "include/linux/cpumask.h"
 303typedef struct cpumask *cpumask_var_t;
 304#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 305struct static_key;
 306#line 234
 307struct static_key;
 308#line 11 "include/linux/personality.h"
 309struct pt_regs;
 310#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 311struct i387_fsave_struct {
 312   u32 cwd ;
 313   u32 swd ;
 314   u32 twd ;
 315   u32 fip ;
 316   u32 fcs ;
 317   u32 foo ;
 318   u32 fos ;
 319   u32 st_space[20] ;
 320   u32 status ;
 321};
 322#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323struct __anonstruct____missing_field_name_31 {
 324   u64 rip ;
 325   u64 rdp ;
 326};
 327#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 328struct __anonstruct____missing_field_name_32 {
 329   u32 fip ;
 330   u32 fcs ;
 331   u32 foo ;
 332   u32 fos ;
 333};
 334#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335union __anonunion____missing_field_name_30 {
 336   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
 337   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
 338};
 339#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 340union __anonunion____missing_field_name_33 {
 341   u32 padding1[12] ;
 342   u32 sw_reserved[12] ;
 343};
 344#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 345struct i387_fxsave_struct {
 346   u16 cwd ;
 347   u16 swd ;
 348   u16 twd ;
 349   u16 fop ;
 350   union __anonunion____missing_field_name_30 __annonCompField14 ;
 351   u32 mxcsr ;
 352   u32 mxcsr_mask ;
 353   u32 st_space[32] ;
 354   u32 xmm_space[64] ;
 355   u32 padding[12] ;
 356   union __anonunion____missing_field_name_33 __annonCompField15 ;
 357} __attribute__((__aligned__(16))) ;
 358#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 359struct i387_soft_struct {
 360   u32 cwd ;
 361   u32 swd ;
 362   u32 twd ;
 363   u32 fip ;
 364   u32 fcs ;
 365   u32 foo ;
 366   u32 fos ;
 367   u32 st_space[20] ;
 368   u8 ftop ;
 369   u8 changed ;
 370   u8 lookahead ;
 371   u8 no_update ;
 372   u8 rm ;
 373   u8 alimit ;
 374   struct math_emu_info *info ;
 375   u32 entry_eip ;
 376};
 377#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 378struct ymmh_struct {
 379   u32 ymmh_space[64] ;
 380};
 381#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 382struct xsave_hdr_struct {
 383   u64 xstate_bv ;
 384   u64 reserved1[2] ;
 385   u64 reserved2[5] ;
 386} __attribute__((__packed__)) ;
 387#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 388struct xsave_struct {
 389   struct i387_fxsave_struct i387 ;
 390   struct xsave_hdr_struct xsave_hdr ;
 391   struct ymmh_struct ymmh ;
 392} __attribute__((__packed__, __aligned__(64))) ;
 393#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 394union thread_xstate {
 395   struct i387_fsave_struct fsave ;
 396   struct i387_fxsave_struct fxsave ;
 397   struct i387_soft_struct soft ;
 398   struct xsave_struct xsave ;
 399};
 400#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 401struct fpu {
 402   unsigned int last_cpu ;
 403   unsigned int has_fpu ;
 404   union thread_xstate *state ;
 405};
 406#line 433
 407struct kmem_cache;
 408#line 435
 409struct perf_event;
 410#line 435
 411struct perf_event;
 412#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 413struct thread_struct {
 414   struct desc_struct tls_array[3] ;
 415   unsigned long sp0 ;
 416   unsigned long sp ;
 417   unsigned long usersp ;
 418   unsigned short es ;
 419   unsigned short ds ;
 420   unsigned short fsindex ;
 421   unsigned short gsindex ;
 422   unsigned long fs ;
 423   unsigned long gs ;
 424   struct perf_event *ptrace_bps[4] ;
 425   unsigned long debugreg6 ;
 426   unsigned long ptrace_dr7 ;
 427   unsigned long cr2 ;
 428   unsigned long trap_nr ;
 429   unsigned long error_code ;
 430   struct fpu fpu ;
 431   unsigned long *io_bitmap_ptr ;
 432   unsigned long iopl ;
 433   unsigned int io_bitmap_max ;
 434};
 435#line 23 "include/asm-generic/atomic-long.h"
 436typedef atomic64_t atomic_long_t;
 437#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 438typedef u16 __ticket_t;
 439#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 440typedef u32 __ticketpair_t;
 441#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442struct __raw_tickets {
 443   __ticket_t head ;
 444   __ticket_t tail ;
 445};
 446#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 447union __anonunion____missing_field_name_36 {
 448   __ticketpair_t head_tail ;
 449   struct __raw_tickets tickets ;
 450};
 451#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 452struct arch_spinlock {
 453   union __anonunion____missing_field_name_36 __annonCompField17 ;
 454};
 455#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 456typedef struct arch_spinlock arch_spinlock_t;
 457#line 12 "include/linux/lockdep.h"
 458struct task_struct;
 459#line 20 "include/linux/spinlock_types.h"
 460struct raw_spinlock {
 461   arch_spinlock_t raw_lock ;
 462   unsigned int magic ;
 463   unsigned int owner_cpu ;
 464   void *owner ;
 465};
 466#line 20 "include/linux/spinlock_types.h"
 467typedef struct raw_spinlock raw_spinlock_t;
 468#line 64 "include/linux/spinlock_types.h"
 469union __anonunion____missing_field_name_39 {
 470   struct raw_spinlock rlock ;
 471};
 472#line 64 "include/linux/spinlock_types.h"
 473struct spinlock {
 474   union __anonunion____missing_field_name_39 __annonCompField19 ;
 475};
 476#line 64 "include/linux/spinlock_types.h"
 477typedef struct spinlock spinlock_t;
 478#line 119 "include/linux/seqlock.h"
 479struct seqcount {
 480   unsigned int sequence ;
 481};
 482#line 119 "include/linux/seqlock.h"
 483typedef struct seqcount seqcount_t;
 484#line 14 "include/linux/time.h"
 485struct timespec {
 486   __kernel_time_t tv_sec ;
 487   long tv_nsec ;
 488};
 489#line 49 "include/linux/wait.h"
 490struct __wait_queue_head {
 491   spinlock_t lock ;
 492   struct list_head task_list ;
 493};
 494#line 53 "include/linux/wait.h"
 495typedef struct __wait_queue_head wait_queue_head_t;
 496#line 55
 497struct task_struct;
 498#line 98 "include/linux/nodemask.h"
 499struct __anonstruct_nodemask_t_42 {
 500   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 501};
 502#line 98 "include/linux/nodemask.h"
 503typedef struct __anonstruct_nodemask_t_42 nodemask_t;
 504#line 60 "include/linux/pageblock-flags.h"
 505struct page;
 506#line 48 "include/linux/mutex.h"
 507struct mutex {
 508   atomic_t count ;
 509   spinlock_t wait_lock ;
 510   struct list_head wait_list ;
 511   struct task_struct *owner ;
 512   char const   *name ;
 513   void *magic ;
 514};
 515#line 69 "include/linux/mutex.h"
 516struct mutex_waiter {
 517   struct list_head list ;
 518   struct task_struct *task ;
 519   void *magic ;
 520};
 521#line 19 "include/linux/rwsem.h"
 522struct rw_semaphore;
 523#line 19
 524struct rw_semaphore;
 525#line 25 "include/linux/rwsem.h"
 526struct rw_semaphore {
 527   long count ;
 528   raw_spinlock_t wait_lock ;
 529   struct list_head wait_list ;
 530};
 531#line 25 "include/linux/completion.h"
 532struct completion {
 533   unsigned int done ;
 534   wait_queue_head_t wait ;
 535};
 536#line 188 "include/linux/rcupdate.h"
 537struct notifier_block;
 538#line 188
 539struct notifier_block;
 540#line 50 "include/linux/notifier.h"
 541struct notifier_block {
 542   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 543   struct notifier_block *next ;
 544   int priority ;
 545};
 546#line 9 "include/linux/memory_hotplug.h"
 547struct page;
 548#line 202 "include/linux/ioport.h"
 549struct device;
 550#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 551struct device;
 552#line 46 "include/linux/ktime.h"
 553union ktime {
 554   s64 tv64 ;
 555};
 556#line 59 "include/linux/ktime.h"
 557typedef union ktime ktime_t;
 558#line 10 "include/linux/timer.h"
 559struct tvec_base;
 560#line 10
 561struct tvec_base;
 562#line 12 "include/linux/timer.h"
 563struct timer_list {
 564   struct list_head entry ;
 565   unsigned long expires ;
 566   struct tvec_base *base ;
 567   void (*function)(unsigned long  ) ;
 568   unsigned long data ;
 569   int slack ;
 570   int start_pid ;
 571   void *start_site ;
 572   char start_comm[16] ;
 573};
 574#line 289
 575struct hrtimer;
 576#line 289
 577struct hrtimer;
 578#line 290
 579enum hrtimer_restart;
 580#line 17 "include/linux/workqueue.h"
 581struct work_struct;
 582#line 17
 583struct work_struct;
 584#line 79 "include/linux/workqueue.h"
 585struct work_struct {
 586   atomic_long_t data ;
 587   struct list_head entry ;
 588   void (*func)(struct work_struct *work ) ;
 589};
 590#line 42 "include/linux/pm.h"
 591struct device;
 592#line 50 "include/linux/pm.h"
 593struct pm_message {
 594   int event ;
 595};
 596#line 50 "include/linux/pm.h"
 597typedef struct pm_message pm_message_t;
 598#line 264 "include/linux/pm.h"
 599struct dev_pm_ops {
 600   int (*prepare)(struct device *dev ) ;
 601   void (*complete)(struct device *dev ) ;
 602   int (*suspend)(struct device *dev ) ;
 603   int (*resume)(struct device *dev ) ;
 604   int (*freeze)(struct device *dev ) ;
 605   int (*thaw)(struct device *dev ) ;
 606   int (*poweroff)(struct device *dev ) ;
 607   int (*restore)(struct device *dev ) ;
 608   int (*suspend_late)(struct device *dev ) ;
 609   int (*resume_early)(struct device *dev ) ;
 610   int (*freeze_late)(struct device *dev ) ;
 611   int (*thaw_early)(struct device *dev ) ;
 612   int (*poweroff_late)(struct device *dev ) ;
 613   int (*restore_early)(struct device *dev ) ;
 614   int (*suspend_noirq)(struct device *dev ) ;
 615   int (*resume_noirq)(struct device *dev ) ;
 616   int (*freeze_noirq)(struct device *dev ) ;
 617   int (*thaw_noirq)(struct device *dev ) ;
 618   int (*poweroff_noirq)(struct device *dev ) ;
 619   int (*restore_noirq)(struct device *dev ) ;
 620   int (*runtime_suspend)(struct device *dev ) ;
 621   int (*runtime_resume)(struct device *dev ) ;
 622   int (*runtime_idle)(struct device *dev ) ;
 623};
 624#line 458
 625enum rpm_status {
 626    RPM_ACTIVE = 0,
 627    RPM_RESUMING = 1,
 628    RPM_SUSPENDED = 2,
 629    RPM_SUSPENDING = 3
 630} ;
 631#line 480
 632enum rpm_request {
 633    RPM_REQ_NONE = 0,
 634    RPM_REQ_IDLE = 1,
 635    RPM_REQ_SUSPEND = 2,
 636    RPM_REQ_AUTOSUSPEND = 3,
 637    RPM_REQ_RESUME = 4
 638} ;
 639#line 488
 640struct wakeup_source;
 641#line 488
 642struct wakeup_source;
 643#line 495 "include/linux/pm.h"
 644struct pm_subsys_data {
 645   spinlock_t lock ;
 646   unsigned int refcount ;
 647};
 648#line 506
 649struct dev_pm_qos_request;
 650#line 506
 651struct pm_qos_constraints;
 652#line 506 "include/linux/pm.h"
 653struct dev_pm_info {
 654   pm_message_t power_state ;
 655   unsigned int can_wakeup : 1 ;
 656   unsigned int async_suspend : 1 ;
 657   bool is_prepared : 1 ;
 658   bool is_suspended : 1 ;
 659   bool ignore_children : 1 ;
 660   spinlock_t lock ;
 661   struct list_head entry ;
 662   struct completion completion ;
 663   struct wakeup_source *wakeup ;
 664   bool wakeup_path : 1 ;
 665   struct timer_list suspend_timer ;
 666   unsigned long timer_expires ;
 667   struct work_struct work ;
 668   wait_queue_head_t wait_queue ;
 669   atomic_t usage_count ;
 670   atomic_t child_count ;
 671   unsigned int disable_depth : 3 ;
 672   unsigned int idle_notification : 1 ;
 673   unsigned int request_pending : 1 ;
 674   unsigned int deferred_resume : 1 ;
 675   unsigned int run_wake : 1 ;
 676   unsigned int runtime_auto : 1 ;
 677   unsigned int no_callbacks : 1 ;
 678   unsigned int irq_safe : 1 ;
 679   unsigned int use_autosuspend : 1 ;
 680   unsigned int timer_autosuspends : 1 ;
 681   enum rpm_request request ;
 682   enum rpm_status runtime_status ;
 683   int runtime_error ;
 684   int autosuspend_delay ;
 685   unsigned long last_busy ;
 686   unsigned long active_jiffies ;
 687   unsigned long suspended_jiffies ;
 688   unsigned long accounting_timestamp ;
 689   ktime_t suspend_time ;
 690   s64 max_time_suspended_ns ;
 691   struct dev_pm_qos_request *pq_req ;
 692   struct pm_subsys_data *subsys_data ;
 693   struct pm_qos_constraints *constraints ;
 694};
 695#line 564 "include/linux/pm.h"
 696struct dev_pm_domain {
 697   struct dev_pm_ops ops ;
 698};
 699#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 700struct __anonstruct_mm_context_t_112 {
 701   void *ldt ;
 702   int size ;
 703   unsigned short ia32_compat ;
 704   struct mutex lock ;
 705   void *vdso ;
 706};
 707#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 708typedef struct __anonstruct_mm_context_t_112 mm_context_t;
 709#line 8 "include/linux/vmalloc.h"
 710struct vm_area_struct;
 711#line 8
 712struct vm_area_struct;
 713#line 994 "include/linux/mmzone.h"
 714struct page;
 715#line 10 "include/linux/gfp.h"
 716struct vm_area_struct;
 717#line 29 "include/linux/sysctl.h"
 718struct completion;
 719#line 100 "include/linux/rbtree.h"
 720struct rb_node {
 721   unsigned long rb_parent_color ;
 722   struct rb_node *rb_right ;
 723   struct rb_node *rb_left ;
 724} __attribute__((__aligned__(sizeof(long )))) ;
 725#line 110 "include/linux/rbtree.h"
 726struct rb_root {
 727   struct rb_node *rb_node ;
 728};
 729#line 939 "include/linux/sysctl.h"
 730struct nsproxy;
 731#line 939
 732struct nsproxy;
 733#line 48 "include/linux/kmod.h"
 734struct cred;
 735#line 48
 736struct cred;
 737#line 49
 738struct file;
 739#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 740struct task_struct;
 741#line 18 "include/linux/elf.h"
 742typedef __u64 Elf64_Addr;
 743#line 19 "include/linux/elf.h"
 744typedef __u16 Elf64_Half;
 745#line 23 "include/linux/elf.h"
 746typedef __u32 Elf64_Word;
 747#line 24 "include/linux/elf.h"
 748typedef __u64 Elf64_Xword;
 749#line 194 "include/linux/elf.h"
 750struct elf64_sym {
 751   Elf64_Word st_name ;
 752   unsigned char st_info ;
 753   unsigned char st_other ;
 754   Elf64_Half st_shndx ;
 755   Elf64_Addr st_value ;
 756   Elf64_Xword st_size ;
 757};
 758#line 194 "include/linux/elf.h"
 759typedef struct elf64_sym Elf64_Sym;
 760#line 438
 761struct file;
 762#line 20 "include/linux/kobject_ns.h"
 763struct sock;
 764#line 20
 765struct sock;
 766#line 21
 767struct kobject;
 768#line 21
 769struct kobject;
 770#line 27
 771enum kobj_ns_type {
 772    KOBJ_NS_TYPE_NONE = 0,
 773    KOBJ_NS_TYPE_NET = 1,
 774    KOBJ_NS_TYPES = 2
 775} ;
 776#line 40 "include/linux/kobject_ns.h"
 777struct kobj_ns_type_operations {
 778   enum kobj_ns_type type ;
 779   void *(*grab_current_ns)(void) ;
 780   void const   *(*netlink_ns)(struct sock *sk ) ;
 781   void const   *(*initial_ns)(void) ;
 782   void (*drop_ns)(void * ) ;
 783};
 784#line 22 "include/linux/sysfs.h"
 785struct kobject;
 786#line 23
 787struct module;
 788#line 24
 789enum kobj_ns_type;
 790#line 26 "include/linux/sysfs.h"
 791struct attribute {
 792   char const   *name ;
 793   umode_t mode ;
 794};
 795#line 56 "include/linux/sysfs.h"
 796struct attribute_group {
 797   char const   *name ;
 798   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 799   struct attribute **attrs ;
 800};
 801#line 85
 802struct file;
 803#line 86
 804struct vm_area_struct;
 805#line 88 "include/linux/sysfs.h"
 806struct bin_attribute {
 807   struct attribute attr ;
 808   size_t size ;
 809   void *private ;
 810   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 811                   loff_t  , size_t  ) ;
 812   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 813                    loff_t  , size_t  ) ;
 814   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 815};
 816#line 112 "include/linux/sysfs.h"
 817struct sysfs_ops {
 818   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 819   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 820   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 821};
 822#line 118
 823struct sysfs_dirent;
 824#line 118
 825struct sysfs_dirent;
 826#line 22 "include/linux/kref.h"
 827struct kref {
 828   atomic_t refcount ;
 829};
 830#line 60 "include/linux/kobject.h"
 831struct kset;
 832#line 60
 833struct kobj_type;
 834#line 60 "include/linux/kobject.h"
 835struct kobject {
 836   char const   *name ;
 837   struct list_head entry ;
 838   struct kobject *parent ;
 839   struct kset *kset ;
 840   struct kobj_type *ktype ;
 841   struct sysfs_dirent *sd ;
 842   struct kref kref ;
 843   unsigned int state_initialized : 1 ;
 844   unsigned int state_in_sysfs : 1 ;
 845   unsigned int state_add_uevent_sent : 1 ;
 846   unsigned int state_remove_uevent_sent : 1 ;
 847   unsigned int uevent_suppress : 1 ;
 848};
 849#line 108 "include/linux/kobject.h"
 850struct kobj_type {
 851   void (*release)(struct kobject *kobj ) ;
 852   struct sysfs_ops  const  *sysfs_ops ;
 853   struct attribute **default_attrs ;
 854   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 855   void const   *(*namespace)(struct kobject *kobj ) ;
 856};
 857#line 116 "include/linux/kobject.h"
 858struct kobj_uevent_env {
 859   char *envp[32] ;
 860   int envp_idx ;
 861   char buf[2048] ;
 862   int buflen ;
 863};
 864#line 123 "include/linux/kobject.h"
 865struct kset_uevent_ops {
 866   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 867   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 868   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 869};
 870#line 140
 871struct sock;
 872#line 159 "include/linux/kobject.h"
 873struct kset {
 874   struct list_head list ;
 875   spinlock_t list_lock ;
 876   struct kobject kobj ;
 877   struct kset_uevent_ops  const  *uevent_ops ;
 878};
 879#line 39 "include/linux/moduleparam.h"
 880struct kernel_param;
 881#line 39
 882struct kernel_param;
 883#line 41 "include/linux/moduleparam.h"
 884struct kernel_param_ops {
 885   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 886   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 887   void (*free)(void *arg ) ;
 888};
 889#line 50
 890struct kparam_string;
 891#line 50
 892struct kparam_array;
 893#line 50 "include/linux/moduleparam.h"
 894union __anonunion____missing_field_name_199 {
 895   void *arg ;
 896   struct kparam_string  const  *str ;
 897   struct kparam_array  const  *arr ;
 898};
 899#line 50 "include/linux/moduleparam.h"
 900struct kernel_param {
 901   char const   *name ;
 902   struct kernel_param_ops  const  *ops ;
 903   u16 perm ;
 904   s16 level ;
 905   union __anonunion____missing_field_name_199 __annonCompField32 ;
 906};
 907#line 63 "include/linux/moduleparam.h"
 908struct kparam_string {
 909   unsigned int maxlen ;
 910   char *string ;
 911};
 912#line 69 "include/linux/moduleparam.h"
 913struct kparam_array {
 914   unsigned int max ;
 915   unsigned int elemsize ;
 916   unsigned int *num ;
 917   struct kernel_param_ops  const  *ops ;
 918   void *elem ;
 919};
 920#line 445
 921struct module;
 922#line 80 "include/linux/jump_label.h"
 923struct module;
 924#line 143 "include/linux/jump_label.h"
 925struct static_key {
 926   atomic_t enabled ;
 927};
 928#line 22 "include/linux/tracepoint.h"
 929struct module;
 930#line 23
 931struct tracepoint;
 932#line 23
 933struct tracepoint;
 934#line 25 "include/linux/tracepoint.h"
 935struct tracepoint_func {
 936   void *func ;
 937   void *data ;
 938};
 939#line 30 "include/linux/tracepoint.h"
 940struct tracepoint {
 941   char const   *name ;
 942   struct static_key key ;
 943   void (*regfunc)(void) ;
 944   void (*unregfunc)(void) ;
 945   struct tracepoint_func *funcs ;
 946};
 947#line 19 "include/linux/export.h"
 948struct kernel_symbol {
 949   unsigned long value ;
 950   char const   *name ;
 951};
 952#line 8 "include/asm-generic/module.h"
 953struct mod_arch_specific {
 954
 955};
 956#line 35 "include/linux/module.h"
 957struct module;
 958#line 37
 959struct module_param_attrs;
 960#line 37 "include/linux/module.h"
 961struct module_kobject {
 962   struct kobject kobj ;
 963   struct module *mod ;
 964   struct kobject *drivers_dir ;
 965   struct module_param_attrs *mp ;
 966};
 967#line 44 "include/linux/module.h"
 968struct module_attribute {
 969   struct attribute attr ;
 970   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 971   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 972                    size_t count ) ;
 973   void (*setup)(struct module * , char const   * ) ;
 974   int (*test)(struct module * ) ;
 975   void (*free)(struct module * ) ;
 976};
 977#line 71
 978struct exception_table_entry;
 979#line 71
 980struct exception_table_entry;
 981#line 182
 982struct notifier_block;
 983#line 199
 984enum module_state {
 985    MODULE_STATE_LIVE = 0,
 986    MODULE_STATE_COMING = 1,
 987    MODULE_STATE_GOING = 2
 988} ;
 989#line 215 "include/linux/module.h"
 990struct module_ref {
 991   unsigned long incs ;
 992   unsigned long decs ;
 993} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 994#line 220
 995struct module_sect_attrs;
 996#line 220
 997struct module_notes_attrs;
 998#line 220
 999struct ftrace_event_call;
1000#line 220 "include/linux/module.h"
1001struct module {
1002   enum module_state state ;
1003   struct list_head list ;
1004   char name[64UL - sizeof(unsigned long )] ;
1005   struct module_kobject mkobj ;
1006   struct module_attribute *modinfo_attrs ;
1007   char const   *version ;
1008   char const   *srcversion ;
1009   struct kobject *holders_dir ;
1010   struct kernel_symbol  const  *syms ;
1011   unsigned long const   *crcs ;
1012   unsigned int num_syms ;
1013   struct kernel_param *kp ;
1014   unsigned int num_kp ;
1015   unsigned int num_gpl_syms ;
1016   struct kernel_symbol  const  *gpl_syms ;
1017   unsigned long const   *gpl_crcs ;
1018   struct kernel_symbol  const  *unused_syms ;
1019   unsigned long const   *unused_crcs ;
1020   unsigned int num_unused_syms ;
1021   unsigned int num_unused_gpl_syms ;
1022   struct kernel_symbol  const  *unused_gpl_syms ;
1023   unsigned long const   *unused_gpl_crcs ;
1024   struct kernel_symbol  const  *gpl_future_syms ;
1025   unsigned long const   *gpl_future_crcs ;
1026   unsigned int num_gpl_future_syms ;
1027   unsigned int num_exentries ;
1028   struct exception_table_entry *extable ;
1029   int (*init)(void) ;
1030   void *module_init ;
1031   void *module_core ;
1032   unsigned int init_size ;
1033   unsigned int core_size ;
1034   unsigned int init_text_size ;
1035   unsigned int core_text_size ;
1036   unsigned int init_ro_size ;
1037   unsigned int core_ro_size ;
1038   struct mod_arch_specific arch ;
1039   unsigned int taints ;
1040   unsigned int num_bugs ;
1041   struct list_head bug_list ;
1042   struct bug_entry *bug_table ;
1043   Elf64_Sym *symtab ;
1044   Elf64_Sym *core_symtab ;
1045   unsigned int num_symtab ;
1046   unsigned int core_num_syms ;
1047   char *strtab ;
1048   char *core_strtab ;
1049   struct module_sect_attrs *sect_attrs ;
1050   struct module_notes_attrs *notes_attrs ;
1051   char *args ;
1052   void *percpu ;
1053   unsigned int percpu_size ;
1054   unsigned int num_tracepoints ;
1055   struct tracepoint * const  *tracepoints_ptrs ;
1056   unsigned int num_trace_bprintk_fmt ;
1057   char const   **trace_bprintk_fmt_start ;
1058   struct ftrace_event_call **trace_events ;
1059   unsigned int num_trace_events ;
1060   struct list_head source_list ;
1061   struct list_head target_list ;
1062   struct task_struct *waiter ;
1063   void (*exit)(void) ;
1064   struct module_ref *refptr ;
1065   ctor_fn_t *ctors ;
1066   unsigned int num_ctors ;
1067};
1068#line 46 "include/linux/slub_def.h"
1069struct kmem_cache_cpu {
1070   void **freelist ;
1071   unsigned long tid ;
1072   struct page *page ;
1073   struct page *partial ;
1074   int node ;
1075   unsigned int stat[26] ;
1076};
1077#line 57 "include/linux/slub_def.h"
1078struct kmem_cache_node {
1079   spinlock_t list_lock ;
1080   unsigned long nr_partial ;
1081   struct list_head partial ;
1082   atomic_long_t nr_slabs ;
1083   atomic_long_t total_objects ;
1084   struct list_head full ;
1085};
1086#line 73 "include/linux/slub_def.h"
1087struct kmem_cache_order_objects {
1088   unsigned long x ;
1089};
1090#line 80 "include/linux/slub_def.h"
1091struct kmem_cache {
1092   struct kmem_cache_cpu *cpu_slab ;
1093   unsigned long flags ;
1094   unsigned long min_partial ;
1095   int size ;
1096   int objsize ;
1097   int offset ;
1098   int cpu_partial ;
1099   struct kmem_cache_order_objects oo ;
1100   struct kmem_cache_order_objects max ;
1101   struct kmem_cache_order_objects min ;
1102   gfp_t allocflags ;
1103   int refcount ;
1104   void (*ctor)(void * ) ;
1105   int inuse ;
1106   int align ;
1107   int reserved ;
1108   char const   *name ;
1109   struct list_head list ;
1110   struct kobject kobj ;
1111   int remote_node_defrag_ratio ;
1112   struct kmem_cache_node *node[1 << 10] ;
1113};
1114#line 31 "include/linux/uio.h"
1115struct kvec {
1116   void *iov_base ;
1117   size_t iov_len ;
1118};
1119#line 19 "include/linux/klist.h"
1120struct klist_node;
1121#line 19
1122struct klist_node;
1123#line 39 "include/linux/klist.h"
1124struct klist_node {
1125   void *n_klist ;
1126   struct list_head n_node ;
1127   struct kref n_ref ;
1128};
1129#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1130struct dma_map_ops;
1131#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1132struct dev_archdata {
1133   void *acpi_handle ;
1134   struct dma_map_ops *dma_ops ;
1135   void *iommu ;
1136};
1137#line 28 "include/linux/device.h"
1138struct device;
1139#line 29
1140struct device_private;
1141#line 29
1142struct device_private;
1143#line 30
1144struct device_driver;
1145#line 30
1146struct device_driver;
1147#line 31
1148struct driver_private;
1149#line 31
1150struct driver_private;
1151#line 32
1152struct module;
1153#line 33
1154struct class;
1155#line 33
1156struct class;
1157#line 34
1158struct subsys_private;
1159#line 34
1160struct subsys_private;
1161#line 35
1162struct bus_type;
1163#line 35
1164struct bus_type;
1165#line 36
1166struct device_node;
1167#line 36
1168struct device_node;
1169#line 37
1170struct iommu_ops;
1171#line 37
1172struct iommu_ops;
1173#line 39 "include/linux/device.h"
1174struct bus_attribute {
1175   struct attribute attr ;
1176   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1177   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1178};
1179#line 89
1180struct device_attribute;
1181#line 89
1182struct driver_attribute;
1183#line 89 "include/linux/device.h"
1184struct bus_type {
1185   char const   *name ;
1186   char const   *dev_name ;
1187   struct device *dev_root ;
1188   struct bus_attribute *bus_attrs ;
1189   struct device_attribute *dev_attrs ;
1190   struct driver_attribute *drv_attrs ;
1191   int (*match)(struct device *dev , struct device_driver *drv ) ;
1192   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1193   int (*probe)(struct device *dev ) ;
1194   int (*remove)(struct device *dev ) ;
1195   void (*shutdown)(struct device *dev ) ;
1196   int (*suspend)(struct device *dev , pm_message_t state ) ;
1197   int (*resume)(struct device *dev ) ;
1198   struct dev_pm_ops  const  *pm ;
1199   struct iommu_ops *iommu_ops ;
1200   struct subsys_private *p ;
1201};
1202#line 127
1203struct device_type;
1204#line 159
1205struct notifier_block;
1206#line 214
1207struct of_device_id;
1208#line 214 "include/linux/device.h"
1209struct device_driver {
1210   char const   *name ;
1211   struct bus_type *bus ;
1212   struct module *owner ;
1213   char const   *mod_name ;
1214   bool suppress_bind_attrs ;
1215   struct of_device_id  const  *of_match_table ;
1216   int (*probe)(struct device *dev ) ;
1217   int (*remove)(struct device *dev ) ;
1218   void (*shutdown)(struct device *dev ) ;
1219   int (*suspend)(struct device *dev , pm_message_t state ) ;
1220   int (*resume)(struct device *dev ) ;
1221   struct attribute_group  const  **groups ;
1222   struct dev_pm_ops  const  *pm ;
1223   struct driver_private *p ;
1224};
1225#line 249 "include/linux/device.h"
1226struct driver_attribute {
1227   struct attribute attr ;
1228   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1229   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1230};
1231#line 330
1232struct class_attribute;
1233#line 330 "include/linux/device.h"
1234struct class {
1235   char const   *name ;
1236   struct module *owner ;
1237   struct class_attribute *class_attrs ;
1238   struct device_attribute *dev_attrs ;
1239   struct bin_attribute *dev_bin_attrs ;
1240   struct kobject *dev_kobj ;
1241   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1242   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1243   void (*class_release)(struct class *class ) ;
1244   void (*dev_release)(struct device *dev ) ;
1245   int (*suspend)(struct device *dev , pm_message_t state ) ;
1246   int (*resume)(struct device *dev ) ;
1247   struct kobj_ns_type_operations  const  *ns_type ;
1248   void const   *(*namespace)(struct device *dev ) ;
1249   struct dev_pm_ops  const  *pm ;
1250   struct subsys_private *p ;
1251};
1252#line 397 "include/linux/device.h"
1253struct class_attribute {
1254   struct attribute attr ;
1255   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1256   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1257                    size_t count ) ;
1258   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
1259};
1260#line 465 "include/linux/device.h"
1261struct device_type {
1262   char const   *name ;
1263   struct attribute_group  const  **groups ;
1264   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1265   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1266   void (*release)(struct device *dev ) ;
1267   struct dev_pm_ops  const  *pm ;
1268};
1269#line 476 "include/linux/device.h"
1270struct device_attribute {
1271   struct attribute attr ;
1272   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1273   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1274                    size_t count ) ;
1275};
1276#line 559 "include/linux/device.h"
1277struct device_dma_parameters {
1278   unsigned int max_segment_size ;
1279   unsigned long segment_boundary_mask ;
1280};
1281#line 627
1282struct dma_coherent_mem;
1283#line 627 "include/linux/device.h"
1284struct device {
1285   struct device *parent ;
1286   struct device_private *p ;
1287   struct kobject kobj ;
1288   char const   *init_name ;
1289   struct device_type  const  *type ;
1290   struct mutex mutex ;
1291   struct bus_type *bus ;
1292   struct device_driver *driver ;
1293   void *platform_data ;
1294   struct dev_pm_info power ;
1295   struct dev_pm_domain *pm_domain ;
1296   int numa_node ;
1297   u64 *dma_mask ;
1298   u64 coherent_dma_mask ;
1299   struct device_dma_parameters *dma_parms ;
1300   struct list_head dma_pools ;
1301   struct dma_coherent_mem *dma_mem ;
1302   struct dev_archdata archdata ;
1303   struct device_node *of_node ;
1304   dev_t devt ;
1305   u32 id ;
1306   spinlock_t devres_lock ;
1307   struct list_head devres_head ;
1308   struct klist_node knode_class ;
1309   struct class *class ;
1310   struct attribute_group  const  **groups ;
1311   void (*release)(struct device *dev ) ;
1312};
1313#line 43 "include/linux/pm_wakeup.h"
1314struct wakeup_source {
1315   char const   *name ;
1316   struct list_head entry ;
1317   spinlock_t lock ;
1318   struct timer_list timer ;
1319   unsigned long timer_expires ;
1320   ktime_t total_time ;
1321   ktime_t max_time ;
1322   ktime_t last_time ;
1323   unsigned long event_count ;
1324   unsigned long active_count ;
1325   unsigned long relax_count ;
1326   unsigned long hit_count ;
1327   unsigned int active : 1 ;
1328};
1329#line 143 "include/mtd/mtd-abi.h"
1330struct otp_info {
1331   __u32 start ;
1332   __u32 length ;
1333   __u32 locked ;
1334};
1335#line 217 "include/mtd/mtd-abi.h"
1336struct nand_oobfree {
1337   __u32 offset ;
1338   __u32 length ;
1339};
1340#line 247 "include/mtd/mtd-abi.h"
1341struct mtd_ecc_stats {
1342   __u32 corrected ;
1343   __u32 failed ;
1344   __u32 badblocks ;
1345   __u32 bbtblocks ;
1346};
1347#line 48 "include/linux/mtd/mtd.h"
1348struct mtd_info;
1349#line 48 "include/linux/mtd/mtd.h"
1350struct erase_info {
1351   struct mtd_info *mtd ;
1352   uint64_t addr ;
1353   uint64_t len ;
1354   uint64_t fail_addr ;
1355   u_long time ;
1356   u_long retries ;
1357   unsigned int dev ;
1358   unsigned int cell ;
1359   void (*callback)(struct erase_info *self ) ;
1360   u_long priv ;
1361   u_char state ;
1362   struct erase_info *next ;
1363};
1364#line 63 "include/linux/mtd/mtd.h"
1365struct mtd_erase_region_info {
1366   uint64_t offset ;
1367   uint32_t erasesize ;
1368   uint32_t numblocks ;
1369   unsigned long *lockmap ;
1370};
1371#line 89 "include/linux/mtd/mtd.h"
1372struct mtd_oob_ops {
1373   unsigned int mode ;
1374   size_t len ;
1375   size_t retlen ;
1376   size_t ooblen ;
1377   size_t oobretlen ;
1378   uint32_t ooboffs ;
1379   uint8_t *datbuf ;
1380   uint8_t *oobbuf ;
1381};
1382#line 108 "include/linux/mtd/mtd.h"
1383struct nand_ecclayout {
1384   __u32 eccbytes ;
1385   __u32 eccpos[448] ;
1386   __u32 oobavail ;
1387   struct nand_oobfree oobfree[32] ;
1388};
1389#line 115
1390struct module;
1391#line 117
1392struct backing_dev_info;
1393#line 117 "include/linux/mtd/mtd.h"
1394struct mtd_info {
1395   u_char type ;
1396   uint32_t flags ;
1397   uint64_t size ;
1398   uint32_t erasesize ;
1399   uint32_t writesize ;
1400   uint32_t writebufsize ;
1401   uint32_t oobsize ;
1402   uint32_t oobavail ;
1403   unsigned int erasesize_shift ;
1404   unsigned int writesize_shift ;
1405   unsigned int erasesize_mask ;
1406   unsigned int writesize_mask ;
1407   char const   *name ;
1408   int index ;
1409   struct nand_ecclayout *ecclayout ;
1410   unsigned int ecc_strength ;
1411   int numeraseregions ;
1412   struct mtd_erase_region_info *eraseregions ;
1413   int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
1414   int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1415                 void **virt , resource_size_t *phys ) ;
1416   int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1417   unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
1418                                       unsigned long offset , unsigned long flags ) ;
1419   int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1420                u_char *buf ) ;
1421   int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1422                 u_char const   *buf ) ;
1423   int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1424                       u_char const   *buf ) ;
1425   int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
1426   int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
1427   int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1428   int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1429                              u_char *buf ) ;
1430   int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1431   int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1432                              u_char *buf ) ;
1433   int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1434                               u_char *buf ) ;
1435   int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1436   int (*_writev)(struct mtd_info *mtd , struct kvec  const  *vecs , unsigned long count ,
1437                  loff_t to , size_t *retlen ) ;
1438   void (*_sync)(struct mtd_info *mtd ) ;
1439   int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1440   int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1441   int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1442   int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
1443   int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
1444   int (*_suspend)(struct mtd_info *mtd ) ;
1445   void (*_resume)(struct mtd_info *mtd ) ;
1446   int (*_get_device)(struct mtd_info *mtd ) ;
1447   void (*_put_device)(struct mtd_info *mtd ) ;
1448   struct backing_dev_info *backing_dev_info ;
1449   struct notifier_block reboot_notifier ;
1450   struct mtd_ecc_stats ecc_stats ;
1451   int subpage_sft ;
1452   void *priv ;
1453   struct module *owner ;
1454   struct device dev ;
1455   int usecount ;
1456};
1457#line 18 "include/linux/capability.h"
1458struct task_struct;
1459#line 94 "include/linux/capability.h"
1460struct kernel_cap_struct {
1461   __u32 cap[2] ;
1462};
1463#line 94 "include/linux/capability.h"
1464typedef struct kernel_cap_struct kernel_cap_t;
1465#line 378
1466struct user_namespace;
1467#line 378
1468struct user_namespace;
1469#line 14 "include/linux/prio_tree.h"
1470struct prio_tree_node;
1471#line 14 "include/linux/prio_tree.h"
1472struct raw_prio_tree_node {
1473   struct prio_tree_node *left ;
1474   struct prio_tree_node *right ;
1475   struct prio_tree_node *parent ;
1476};
1477#line 20 "include/linux/prio_tree.h"
1478struct prio_tree_node {
1479   struct prio_tree_node *left ;
1480   struct prio_tree_node *right ;
1481   struct prio_tree_node *parent ;
1482   unsigned long start ;
1483   unsigned long last ;
1484};
1485#line 23 "include/linux/mm_types.h"
1486struct address_space;
1487#line 23
1488struct address_space;
1489#line 40 "include/linux/mm_types.h"
1490union __anonunion____missing_field_name_204 {
1491   unsigned long index ;
1492   void *freelist ;
1493};
1494#line 40 "include/linux/mm_types.h"
1495struct __anonstruct____missing_field_name_208 {
1496   unsigned int inuse : 16 ;
1497   unsigned int objects : 15 ;
1498   unsigned int frozen : 1 ;
1499};
1500#line 40 "include/linux/mm_types.h"
1501union __anonunion____missing_field_name_207 {
1502   atomic_t _mapcount ;
1503   struct __anonstruct____missing_field_name_208 __annonCompField34 ;
1504};
1505#line 40 "include/linux/mm_types.h"
1506struct __anonstruct____missing_field_name_206 {
1507   union __anonunion____missing_field_name_207 __annonCompField35 ;
1508   atomic_t _count ;
1509};
1510#line 40 "include/linux/mm_types.h"
1511union __anonunion____missing_field_name_205 {
1512   unsigned long counters ;
1513   struct __anonstruct____missing_field_name_206 __annonCompField36 ;
1514};
1515#line 40 "include/linux/mm_types.h"
1516struct __anonstruct____missing_field_name_203 {
1517   union __anonunion____missing_field_name_204 __annonCompField33 ;
1518   union __anonunion____missing_field_name_205 __annonCompField37 ;
1519};
1520#line 40 "include/linux/mm_types.h"
1521struct __anonstruct____missing_field_name_210 {
1522   struct page *next ;
1523   int pages ;
1524   int pobjects ;
1525};
1526#line 40 "include/linux/mm_types.h"
1527union __anonunion____missing_field_name_209 {
1528   struct list_head lru ;
1529   struct __anonstruct____missing_field_name_210 __annonCompField39 ;
1530};
1531#line 40 "include/linux/mm_types.h"
1532union __anonunion____missing_field_name_211 {
1533   unsigned long private ;
1534   struct kmem_cache *slab ;
1535   struct page *first_page ;
1536};
1537#line 40 "include/linux/mm_types.h"
1538struct page {
1539   unsigned long flags ;
1540   struct address_space *mapping ;
1541   struct __anonstruct____missing_field_name_203 __annonCompField38 ;
1542   union __anonunion____missing_field_name_209 __annonCompField40 ;
1543   union __anonunion____missing_field_name_211 __annonCompField41 ;
1544   unsigned long debug_flags ;
1545} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
1546#line 200 "include/linux/mm_types.h"
1547struct __anonstruct_vm_set_213 {
1548   struct list_head list ;
1549   void *parent ;
1550   struct vm_area_struct *head ;
1551};
1552#line 200 "include/linux/mm_types.h"
1553union __anonunion_shared_212 {
1554   struct __anonstruct_vm_set_213 vm_set ;
1555   struct raw_prio_tree_node prio_tree_node ;
1556};
1557#line 200
1558struct anon_vma;
1559#line 200
1560struct vm_operations_struct;
1561#line 200
1562struct mempolicy;
1563#line 200 "include/linux/mm_types.h"
1564struct vm_area_struct {
1565   struct mm_struct *vm_mm ;
1566   unsigned long vm_start ;
1567   unsigned long vm_end ;
1568   struct vm_area_struct *vm_next ;
1569   struct vm_area_struct *vm_prev ;
1570   pgprot_t vm_page_prot ;
1571   unsigned long vm_flags ;
1572   struct rb_node vm_rb ;
1573   union __anonunion_shared_212 shared ;
1574   struct list_head anon_vma_chain ;
1575   struct anon_vma *anon_vma ;
1576   struct vm_operations_struct  const  *vm_ops ;
1577   unsigned long vm_pgoff ;
1578   struct file *vm_file ;
1579   void *vm_private_data ;
1580   struct mempolicy *vm_policy ;
1581};
1582#line 257 "include/linux/mm_types.h"
1583struct core_thread {
1584   struct task_struct *task ;
1585   struct core_thread *next ;
1586};
1587#line 262 "include/linux/mm_types.h"
1588struct core_state {
1589   atomic_t nr_threads ;
1590   struct core_thread dumper ;
1591   struct completion startup ;
1592};
1593#line 284 "include/linux/mm_types.h"
1594struct mm_rss_stat {
1595   atomic_long_t count[3] ;
1596};
1597#line 288
1598struct linux_binfmt;
1599#line 288
1600struct mmu_notifier_mm;
1601#line 288 "include/linux/mm_types.h"
1602struct mm_struct {
1603   struct vm_area_struct *mmap ;
1604   struct rb_root mm_rb ;
1605   struct vm_area_struct *mmap_cache ;
1606   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1607                                      unsigned long pgoff , unsigned long flags ) ;
1608   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1609   unsigned long mmap_base ;
1610   unsigned long task_size ;
1611   unsigned long cached_hole_size ;
1612   unsigned long free_area_cache ;
1613   pgd_t *pgd ;
1614   atomic_t mm_users ;
1615   atomic_t mm_count ;
1616   int map_count ;
1617   spinlock_t page_table_lock ;
1618   struct rw_semaphore mmap_sem ;
1619   struct list_head mmlist ;
1620   unsigned long hiwater_rss ;
1621   unsigned long hiwater_vm ;
1622   unsigned long total_vm ;
1623   unsigned long locked_vm ;
1624   unsigned long pinned_vm ;
1625   unsigned long shared_vm ;
1626   unsigned long exec_vm ;
1627   unsigned long stack_vm ;
1628   unsigned long reserved_vm ;
1629   unsigned long def_flags ;
1630   unsigned long nr_ptes ;
1631   unsigned long start_code ;
1632   unsigned long end_code ;
1633   unsigned long start_data ;
1634   unsigned long end_data ;
1635   unsigned long start_brk ;
1636   unsigned long brk ;
1637   unsigned long start_stack ;
1638   unsigned long arg_start ;
1639   unsigned long arg_end ;
1640   unsigned long env_start ;
1641   unsigned long env_end ;
1642   unsigned long saved_auxv[44] ;
1643   struct mm_rss_stat rss_stat ;
1644   struct linux_binfmt *binfmt ;
1645   cpumask_var_t cpu_vm_mask_var ;
1646   mm_context_t context ;
1647   unsigned int faultstamp ;
1648   unsigned int token_priority ;
1649   unsigned int last_interval ;
1650   unsigned long flags ;
1651   struct core_state *core_state ;
1652   spinlock_t ioctx_lock ;
1653   struct hlist_head ioctx_list ;
1654   struct task_struct *owner ;
1655   struct file *exe_file ;
1656   unsigned long num_exe_file_vmas ;
1657   struct mmu_notifier_mm *mmu_notifier_mm ;
1658   pgtable_t pmd_huge_pte ;
1659   struct cpumask cpumask_allocation ;
1660};
1661#line 7 "include/asm-generic/cputime.h"
1662typedef unsigned long cputime_t;
1663#line 84 "include/linux/sem.h"
1664struct task_struct;
1665#line 101
1666struct sem_undo_list;
1667#line 101 "include/linux/sem.h"
1668struct sysv_sem {
1669   struct sem_undo_list *undo_list ;
1670};
1671#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1672struct siginfo;
1673#line 10
1674struct siginfo;
1675#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1676struct __anonstruct_sigset_t_215 {
1677   unsigned long sig[1] ;
1678};
1679#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1680typedef struct __anonstruct_sigset_t_215 sigset_t;
1681#line 17 "include/asm-generic/signal-defs.h"
1682typedef void __signalfn_t(int  );
1683#line 18 "include/asm-generic/signal-defs.h"
1684typedef __signalfn_t *__sighandler_t;
1685#line 20 "include/asm-generic/signal-defs.h"
1686typedef void __restorefn_t(void);
1687#line 21 "include/asm-generic/signal-defs.h"
1688typedef __restorefn_t *__sigrestore_t;
1689#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1690struct sigaction {
1691   __sighandler_t sa_handler ;
1692   unsigned long sa_flags ;
1693   __sigrestore_t sa_restorer ;
1694   sigset_t sa_mask ;
1695};
1696#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1697struct k_sigaction {
1698   struct sigaction sa ;
1699};
1700#line 7 "include/asm-generic/siginfo.h"
1701union sigval {
1702   int sival_int ;
1703   void *sival_ptr ;
1704};
1705#line 7 "include/asm-generic/siginfo.h"
1706typedef union sigval sigval_t;
1707#line 48 "include/asm-generic/siginfo.h"
1708struct __anonstruct__kill_217 {
1709   __kernel_pid_t _pid ;
1710   __kernel_uid32_t _uid ;
1711};
1712#line 48 "include/asm-generic/siginfo.h"
1713struct __anonstruct__timer_218 {
1714   __kernel_timer_t _tid ;
1715   int _overrun ;
1716   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1717   sigval_t _sigval ;
1718   int _sys_private ;
1719};
1720#line 48 "include/asm-generic/siginfo.h"
1721struct __anonstruct__rt_219 {
1722   __kernel_pid_t _pid ;
1723   __kernel_uid32_t _uid ;
1724   sigval_t _sigval ;
1725};
1726#line 48 "include/asm-generic/siginfo.h"
1727struct __anonstruct__sigchld_220 {
1728   __kernel_pid_t _pid ;
1729   __kernel_uid32_t _uid ;
1730   int _status ;
1731   __kernel_clock_t _utime ;
1732   __kernel_clock_t _stime ;
1733};
1734#line 48 "include/asm-generic/siginfo.h"
1735struct __anonstruct__sigfault_221 {
1736   void *_addr ;
1737   short _addr_lsb ;
1738};
1739#line 48 "include/asm-generic/siginfo.h"
1740struct __anonstruct__sigpoll_222 {
1741   long _band ;
1742   int _fd ;
1743};
1744#line 48 "include/asm-generic/siginfo.h"
1745union __anonunion__sifields_216 {
1746   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1747   struct __anonstruct__kill_217 _kill ;
1748   struct __anonstruct__timer_218 _timer ;
1749   struct __anonstruct__rt_219 _rt ;
1750   struct __anonstruct__sigchld_220 _sigchld ;
1751   struct __anonstruct__sigfault_221 _sigfault ;
1752   struct __anonstruct__sigpoll_222 _sigpoll ;
1753};
1754#line 48 "include/asm-generic/siginfo.h"
1755struct siginfo {
1756   int si_signo ;
1757   int si_errno ;
1758   int si_code ;
1759   union __anonunion__sifields_216 _sifields ;
1760};
1761#line 48 "include/asm-generic/siginfo.h"
1762typedef struct siginfo siginfo_t;
1763#line 288
1764struct siginfo;
1765#line 10 "include/linux/signal.h"
1766struct task_struct;
1767#line 18
1768struct user_struct;
1769#line 28 "include/linux/signal.h"
1770struct sigpending {
1771   struct list_head list ;
1772   sigset_t signal ;
1773};
1774#line 239
1775struct timespec;
1776#line 240
1777struct pt_regs;
1778#line 50 "include/linux/pid.h"
1779struct pid_namespace;
1780#line 50 "include/linux/pid.h"
1781struct upid {
1782   int nr ;
1783   struct pid_namespace *ns ;
1784   struct hlist_node pid_chain ;
1785};
1786#line 57 "include/linux/pid.h"
1787struct pid {
1788   atomic_t count ;
1789   unsigned int level ;
1790   struct hlist_head tasks[3] ;
1791   struct rcu_head rcu ;
1792   struct upid numbers[1] ;
1793};
1794#line 69 "include/linux/pid.h"
1795struct pid_link {
1796   struct hlist_node node ;
1797   struct pid *pid ;
1798};
1799#line 100
1800struct pid_namespace;
1801#line 10 "include/linux/seccomp.h"
1802struct __anonstruct_seccomp_t_225 {
1803   int mode ;
1804};
1805#line 10 "include/linux/seccomp.h"
1806typedef struct __anonstruct_seccomp_t_225 seccomp_t;
1807#line 81 "include/linux/plist.h"
1808struct plist_head {
1809   struct list_head node_list ;
1810};
1811#line 85 "include/linux/plist.h"
1812struct plist_node {
1813   int prio ;
1814   struct list_head prio_list ;
1815   struct list_head node_list ;
1816};
1817#line 40 "include/linux/rtmutex.h"
1818struct rt_mutex_waiter;
1819#line 40
1820struct rt_mutex_waiter;
1821#line 42 "include/linux/resource.h"
1822struct rlimit {
1823   unsigned long rlim_cur ;
1824   unsigned long rlim_max ;
1825};
1826#line 81
1827struct task_struct;
1828#line 8 "include/linux/timerqueue.h"
1829struct timerqueue_node {
1830   struct rb_node node ;
1831   ktime_t expires ;
1832};
1833#line 13 "include/linux/timerqueue.h"
1834struct timerqueue_head {
1835   struct rb_root head ;
1836   struct timerqueue_node *next ;
1837};
1838#line 27 "include/linux/hrtimer.h"
1839struct hrtimer_clock_base;
1840#line 27
1841struct hrtimer_clock_base;
1842#line 28
1843struct hrtimer_cpu_base;
1844#line 28
1845struct hrtimer_cpu_base;
1846#line 44
1847enum hrtimer_restart {
1848    HRTIMER_NORESTART = 0,
1849    HRTIMER_RESTART = 1
1850} ;
1851#line 108 "include/linux/hrtimer.h"
1852struct hrtimer {
1853   struct timerqueue_node node ;
1854   ktime_t _softexpires ;
1855   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1856   struct hrtimer_clock_base *base ;
1857   unsigned long state ;
1858   int start_pid ;
1859   void *start_site ;
1860   char start_comm[16] ;
1861};
1862#line 145 "include/linux/hrtimer.h"
1863struct hrtimer_clock_base {
1864   struct hrtimer_cpu_base *cpu_base ;
1865   int index ;
1866   clockid_t clockid ;
1867   struct timerqueue_head active ;
1868   ktime_t resolution ;
1869   ktime_t (*get_time)(void) ;
1870   ktime_t softirq_time ;
1871   ktime_t offset ;
1872};
1873#line 178 "include/linux/hrtimer.h"
1874struct hrtimer_cpu_base {
1875   raw_spinlock_t lock ;
1876   unsigned long active_bases ;
1877   ktime_t expires_next ;
1878   int hres_active ;
1879   int hang_detected ;
1880   unsigned long nr_events ;
1881   unsigned long nr_retries ;
1882   unsigned long nr_hangs ;
1883   ktime_t max_hang_time ;
1884   struct hrtimer_clock_base clock_base[3] ;
1885};
1886#line 11 "include/linux/task_io_accounting.h"
1887struct task_io_accounting {
1888   u64 rchar ;
1889   u64 wchar ;
1890   u64 syscr ;
1891   u64 syscw ;
1892   u64 read_bytes ;
1893   u64 write_bytes ;
1894   u64 cancelled_write_bytes ;
1895};
1896#line 13 "include/linux/latencytop.h"
1897struct task_struct;
1898#line 20 "include/linux/latencytop.h"
1899struct latency_record {
1900   unsigned long backtrace[12] ;
1901   unsigned int count ;
1902   unsigned long time ;
1903   unsigned long max ;
1904};
1905#line 29 "include/linux/key.h"
1906typedef int32_t key_serial_t;
1907#line 32 "include/linux/key.h"
1908typedef uint32_t key_perm_t;
1909#line 34
1910struct key;
1911#line 34
1912struct key;
1913#line 75
1914struct user_struct;
1915#line 76
1916struct signal_struct;
1917#line 76
1918struct signal_struct;
1919#line 77
1920struct cred;
1921#line 79
1922struct key_type;
1923#line 79
1924struct key_type;
1925#line 81
1926struct keyring_list;
1927#line 81
1928struct keyring_list;
1929#line 124
1930struct key_user;
1931#line 124 "include/linux/key.h"
1932union __anonunion____missing_field_name_226 {
1933   time_t expiry ;
1934   time_t revoked_at ;
1935};
1936#line 124 "include/linux/key.h"
1937union __anonunion_type_data_227 {
1938   struct list_head link ;
1939   unsigned long x[2] ;
1940   void *p[2] ;
1941   int reject_error ;
1942};
1943#line 124 "include/linux/key.h"
1944union __anonunion_payload_228 {
1945   unsigned long value ;
1946   void *rcudata ;
1947   void *data ;
1948   struct keyring_list *subscriptions ;
1949};
1950#line 124 "include/linux/key.h"
1951struct key {
1952   atomic_t usage ;
1953   key_serial_t serial ;
1954   struct rb_node serial_node ;
1955   struct key_type *type ;
1956   struct rw_semaphore sem ;
1957   struct key_user *user ;
1958   void *security ;
1959   union __anonunion____missing_field_name_226 __annonCompField42 ;
1960   uid_t uid ;
1961   gid_t gid ;
1962   key_perm_t perm ;
1963   unsigned short quotalen ;
1964   unsigned short datalen ;
1965   unsigned long flags ;
1966   char *description ;
1967   union __anonunion_type_data_227 type_data ;
1968   union __anonunion_payload_228 payload ;
1969};
1970#line 18 "include/linux/selinux.h"
1971struct audit_context;
1972#line 18
1973struct audit_context;
1974#line 21 "include/linux/cred.h"
1975struct user_struct;
1976#line 22
1977struct cred;
1978#line 31 "include/linux/cred.h"
1979struct group_info {
1980   atomic_t usage ;
1981   int ngroups ;
1982   int nblocks ;
1983   gid_t small_block[32] ;
1984   gid_t *blocks[0] ;
1985};
1986#line 83 "include/linux/cred.h"
1987struct thread_group_cred {
1988   atomic_t usage ;
1989   pid_t tgid ;
1990   spinlock_t lock ;
1991   struct key *session_keyring ;
1992   struct key *process_keyring ;
1993   struct rcu_head rcu ;
1994};
1995#line 116 "include/linux/cred.h"
1996struct cred {
1997   atomic_t usage ;
1998   atomic_t subscribers ;
1999   void *put_addr ;
2000   unsigned int magic ;
2001   uid_t uid ;
2002   gid_t gid ;
2003   uid_t suid ;
2004   gid_t sgid ;
2005   uid_t euid ;
2006   gid_t egid ;
2007   uid_t fsuid ;
2008   gid_t fsgid ;
2009   unsigned int securebits ;
2010   kernel_cap_t cap_inheritable ;
2011   kernel_cap_t cap_permitted ;
2012   kernel_cap_t cap_effective ;
2013   kernel_cap_t cap_bset ;
2014   unsigned char jit_keyring ;
2015   struct key *thread_keyring ;
2016   struct key *request_key_auth ;
2017   struct thread_group_cred *tgcred ;
2018   void *security ;
2019   struct user_struct *user ;
2020   struct user_namespace *user_ns ;
2021   struct group_info *group_info ;
2022   struct rcu_head rcu ;
2023};
2024#line 61 "include/linux/llist.h"
2025struct llist_node;
2026#line 65 "include/linux/llist.h"
2027struct llist_node {
2028   struct llist_node *next ;
2029};
2030#line 97 "include/linux/sched.h"
2031struct futex_pi_state;
2032#line 97
2033struct futex_pi_state;
2034#line 98
2035struct robust_list_head;
2036#line 98
2037struct robust_list_head;
2038#line 99
2039struct bio_list;
2040#line 99
2041struct bio_list;
2042#line 100
2043struct fs_struct;
2044#line 100
2045struct fs_struct;
2046#line 101
2047struct perf_event_context;
2048#line 101
2049struct perf_event_context;
2050#line 102
2051struct blk_plug;
2052#line 102
2053struct blk_plug;
2054#line 151
2055struct cfs_rq;
2056#line 151
2057struct cfs_rq;
2058#line 259
2059struct task_struct;
2060#line 366
2061struct nsproxy;
2062#line 367
2063struct user_namespace;
2064#line 214 "include/linux/aio.h"
2065struct mm_struct;
2066#line 443 "include/linux/sched.h"
2067struct sighand_struct {
2068   atomic_t count ;
2069   struct k_sigaction action[64] ;
2070   spinlock_t siglock ;
2071   wait_queue_head_t signalfd_wqh ;
2072};
2073#line 450 "include/linux/sched.h"
2074struct pacct_struct {
2075   int ac_flag ;
2076   long ac_exitcode ;
2077   unsigned long ac_mem ;
2078   cputime_t ac_utime ;
2079   cputime_t ac_stime ;
2080   unsigned long ac_minflt ;
2081   unsigned long ac_majflt ;
2082};
2083#line 458 "include/linux/sched.h"
2084struct cpu_itimer {
2085   cputime_t expires ;
2086   cputime_t incr ;
2087   u32 error ;
2088   u32 incr_error ;
2089};
2090#line 476 "include/linux/sched.h"
2091struct task_cputime {
2092   cputime_t utime ;
2093   cputime_t stime ;
2094   unsigned long long sum_exec_runtime ;
2095};
2096#line 512 "include/linux/sched.h"
2097struct thread_group_cputimer {
2098   struct task_cputime cputime ;
2099   int running ;
2100   raw_spinlock_t lock ;
2101};
2102#line 519
2103struct autogroup;
2104#line 519
2105struct autogroup;
2106#line 528
2107struct tty_struct;
2108#line 528
2109struct taskstats;
2110#line 528
2111struct tty_audit_buf;
2112#line 528 "include/linux/sched.h"
2113struct signal_struct {
2114   atomic_t sigcnt ;
2115   atomic_t live ;
2116   int nr_threads ;
2117   wait_queue_head_t wait_chldexit ;
2118   struct task_struct *curr_target ;
2119   struct sigpending shared_pending ;
2120   int group_exit_code ;
2121   int notify_count ;
2122   struct task_struct *group_exit_task ;
2123   int group_stop_count ;
2124   unsigned int flags ;
2125   unsigned int is_child_subreaper : 1 ;
2126   unsigned int has_child_subreaper : 1 ;
2127   struct list_head posix_timers ;
2128   struct hrtimer real_timer ;
2129   struct pid *leader_pid ;
2130   ktime_t it_real_incr ;
2131   struct cpu_itimer it[2] ;
2132   struct thread_group_cputimer cputimer ;
2133   struct task_cputime cputime_expires ;
2134   struct list_head cpu_timers[3] ;
2135   struct pid *tty_old_pgrp ;
2136   int leader ;
2137   struct tty_struct *tty ;
2138   struct autogroup *autogroup ;
2139   cputime_t utime ;
2140   cputime_t stime ;
2141   cputime_t cutime ;
2142   cputime_t cstime ;
2143   cputime_t gtime ;
2144   cputime_t cgtime ;
2145   cputime_t prev_utime ;
2146   cputime_t prev_stime ;
2147   unsigned long nvcsw ;
2148   unsigned long nivcsw ;
2149   unsigned long cnvcsw ;
2150   unsigned long cnivcsw ;
2151   unsigned long min_flt ;
2152   unsigned long maj_flt ;
2153   unsigned long cmin_flt ;
2154   unsigned long cmaj_flt ;
2155   unsigned long inblock ;
2156   unsigned long oublock ;
2157   unsigned long cinblock ;
2158   unsigned long coublock ;
2159   unsigned long maxrss ;
2160   unsigned long cmaxrss ;
2161   struct task_io_accounting ioac ;
2162   unsigned long long sum_sched_runtime ;
2163   struct rlimit rlim[16] ;
2164   struct pacct_struct pacct ;
2165   struct taskstats *stats ;
2166   unsigned int audit_tty ;
2167   struct tty_audit_buf *tty_audit_buf ;
2168   struct rw_semaphore group_rwsem ;
2169   int oom_adj ;
2170   int oom_score_adj ;
2171   int oom_score_adj_min ;
2172   struct mutex cred_guard_mutex ;
2173};
2174#line 703 "include/linux/sched.h"
2175struct user_struct {
2176   atomic_t __count ;
2177   atomic_t processes ;
2178   atomic_t files ;
2179   atomic_t sigpending ;
2180   atomic_t inotify_watches ;
2181   atomic_t inotify_devs ;
2182   atomic_t fanotify_listeners ;
2183   atomic_long_t epoll_watches ;
2184   unsigned long mq_bytes ;
2185   unsigned long locked_shm ;
2186   struct key *uid_keyring ;
2187   struct key *session_keyring ;
2188   struct hlist_node uidhash_node ;
2189   uid_t uid ;
2190   struct user_namespace *user_ns ;
2191   atomic_long_t locked_vm ;
2192};
2193#line 747
2194struct backing_dev_info;
2195#line 748
2196struct reclaim_state;
2197#line 748
2198struct reclaim_state;
2199#line 751 "include/linux/sched.h"
2200struct sched_info {
2201   unsigned long pcount ;
2202   unsigned long long run_delay ;
2203   unsigned long long last_arrival ;
2204   unsigned long long last_queued ;
2205};
2206#line 763 "include/linux/sched.h"
2207struct task_delay_info {
2208   spinlock_t lock ;
2209   unsigned int flags ;
2210   struct timespec blkio_start ;
2211   struct timespec blkio_end ;
2212   u64 blkio_delay ;
2213   u64 swapin_delay ;
2214   u32 blkio_count ;
2215   u32 swapin_count ;
2216   struct timespec freepages_start ;
2217   struct timespec freepages_end ;
2218   u64 freepages_delay ;
2219   u32 freepages_count ;
2220};
2221#line 1088
2222struct io_context;
2223#line 1088
2224struct io_context;
2225#line 1097
2226struct audit_context;
2227#line 1098
2228struct mempolicy;
2229#line 1099
2230struct pipe_inode_info;
2231#line 1099
2232struct pipe_inode_info;
2233#line 1102
2234struct rq;
2235#line 1102
2236struct rq;
2237#line 1122 "include/linux/sched.h"
2238struct sched_class {
2239   struct sched_class  const  *next ;
2240   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2241   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2242   void (*yield_task)(struct rq *rq ) ;
2243   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2244   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2245   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2246   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2247   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2248   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2249   void (*post_schedule)(struct rq *this_rq ) ;
2250   void (*task_waking)(struct task_struct *task ) ;
2251   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2252   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
2253   void (*rq_online)(struct rq *rq ) ;
2254   void (*rq_offline)(struct rq *rq ) ;
2255   void (*set_curr_task)(struct rq *rq ) ;
2256   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2257   void (*task_fork)(struct task_struct *p ) ;
2258   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2259   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2260   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2261   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2262   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2263};
2264#line 1167 "include/linux/sched.h"
2265struct load_weight {
2266   unsigned long weight ;
2267   unsigned long inv_weight ;
2268};
2269#line 1172 "include/linux/sched.h"
2270struct sched_statistics {
2271   u64 wait_start ;
2272   u64 wait_max ;
2273   u64 wait_count ;
2274   u64 wait_sum ;
2275   u64 iowait_count ;
2276   u64 iowait_sum ;
2277   u64 sleep_start ;
2278   u64 sleep_max ;
2279   s64 sum_sleep_runtime ;
2280   u64 block_start ;
2281   u64 block_max ;
2282   u64 exec_max ;
2283   u64 slice_max ;
2284   u64 nr_migrations_cold ;
2285   u64 nr_failed_migrations_affine ;
2286   u64 nr_failed_migrations_running ;
2287   u64 nr_failed_migrations_hot ;
2288   u64 nr_forced_migrations ;
2289   u64 nr_wakeups ;
2290   u64 nr_wakeups_sync ;
2291   u64 nr_wakeups_migrate ;
2292   u64 nr_wakeups_local ;
2293   u64 nr_wakeups_remote ;
2294   u64 nr_wakeups_affine ;
2295   u64 nr_wakeups_affine_attempts ;
2296   u64 nr_wakeups_passive ;
2297   u64 nr_wakeups_idle ;
2298};
2299#line 1207 "include/linux/sched.h"
2300struct sched_entity {
2301   struct load_weight load ;
2302   struct rb_node run_node ;
2303   struct list_head group_node ;
2304   unsigned int on_rq ;
2305   u64 exec_start ;
2306   u64 sum_exec_runtime ;
2307   u64 vruntime ;
2308   u64 prev_sum_exec_runtime ;
2309   u64 nr_migrations ;
2310   struct sched_statistics statistics ;
2311   struct sched_entity *parent ;
2312   struct cfs_rq *cfs_rq ;
2313   struct cfs_rq *my_q ;
2314};
2315#line 1233
2316struct rt_rq;
2317#line 1233 "include/linux/sched.h"
2318struct sched_rt_entity {
2319   struct list_head run_list ;
2320   unsigned long timeout ;
2321   unsigned int time_slice ;
2322   int nr_cpus_allowed ;
2323   struct sched_rt_entity *back ;
2324   struct sched_rt_entity *parent ;
2325   struct rt_rq *rt_rq ;
2326   struct rt_rq *my_q ;
2327};
2328#line 1264
2329struct files_struct;
2330#line 1264
2331struct css_set;
2332#line 1264
2333struct compat_robust_list_head;
2334#line 1264
2335struct mem_cgroup;
2336#line 1264 "include/linux/sched.h"
2337struct memcg_batch_info {
2338   int do_batch ;
2339   struct mem_cgroup *memcg ;
2340   unsigned long nr_pages ;
2341   unsigned long memsw_nr_pages ;
2342};
2343#line 1264 "include/linux/sched.h"
2344struct task_struct {
2345   long volatile   state ;
2346   void *stack ;
2347   atomic_t usage ;
2348   unsigned int flags ;
2349   unsigned int ptrace ;
2350   struct llist_node wake_entry ;
2351   int on_cpu ;
2352   int on_rq ;
2353   int prio ;
2354   int static_prio ;
2355   int normal_prio ;
2356   unsigned int rt_priority ;
2357   struct sched_class  const  *sched_class ;
2358   struct sched_entity se ;
2359   struct sched_rt_entity rt ;
2360   struct hlist_head preempt_notifiers ;
2361   unsigned char fpu_counter ;
2362   unsigned int policy ;
2363   cpumask_t cpus_allowed ;
2364   struct sched_info sched_info ;
2365   struct list_head tasks ;
2366   struct plist_node pushable_tasks ;
2367   struct mm_struct *mm ;
2368   struct mm_struct *active_mm ;
2369   unsigned int brk_randomized : 1 ;
2370   int exit_state ;
2371   int exit_code ;
2372   int exit_signal ;
2373   int pdeath_signal ;
2374   unsigned int jobctl ;
2375   unsigned int personality ;
2376   unsigned int did_exec : 1 ;
2377   unsigned int in_execve : 1 ;
2378   unsigned int in_iowait : 1 ;
2379   unsigned int sched_reset_on_fork : 1 ;
2380   unsigned int sched_contributes_to_load : 1 ;
2381   unsigned int irq_thread : 1 ;
2382   pid_t pid ;
2383   pid_t tgid ;
2384   unsigned long stack_canary ;
2385   struct task_struct *real_parent ;
2386   struct task_struct *parent ;
2387   struct list_head children ;
2388   struct list_head sibling ;
2389   struct task_struct *group_leader ;
2390   struct list_head ptraced ;
2391   struct list_head ptrace_entry ;
2392   struct pid_link pids[3] ;
2393   struct list_head thread_group ;
2394   struct completion *vfork_done ;
2395   int *set_child_tid ;
2396   int *clear_child_tid ;
2397   cputime_t utime ;
2398   cputime_t stime ;
2399   cputime_t utimescaled ;
2400   cputime_t stimescaled ;
2401   cputime_t gtime ;
2402   cputime_t prev_utime ;
2403   cputime_t prev_stime ;
2404   unsigned long nvcsw ;
2405   unsigned long nivcsw ;
2406   struct timespec start_time ;
2407   struct timespec real_start_time ;
2408   unsigned long min_flt ;
2409   unsigned long maj_flt ;
2410   struct task_cputime cputime_expires ;
2411   struct list_head cpu_timers[3] ;
2412   struct cred  const  *real_cred ;
2413   struct cred  const  *cred ;
2414   struct cred *replacement_session_keyring ;
2415   char comm[16] ;
2416   int link_count ;
2417   int total_link_count ;
2418   struct sysv_sem sysvsem ;
2419   unsigned long last_switch_count ;
2420   struct thread_struct thread ;
2421   struct fs_struct *fs ;
2422   struct files_struct *files ;
2423   struct nsproxy *nsproxy ;
2424   struct signal_struct *signal ;
2425   struct sighand_struct *sighand ;
2426   sigset_t blocked ;
2427   sigset_t real_blocked ;
2428   sigset_t saved_sigmask ;
2429   struct sigpending pending ;
2430   unsigned long sas_ss_sp ;
2431   size_t sas_ss_size ;
2432   int (*notifier)(void *priv ) ;
2433   void *notifier_data ;
2434   sigset_t *notifier_mask ;
2435   struct audit_context *audit_context ;
2436   uid_t loginuid ;
2437   unsigned int sessionid ;
2438   seccomp_t seccomp ;
2439   u32 parent_exec_id ;
2440   u32 self_exec_id ;
2441   spinlock_t alloc_lock ;
2442   raw_spinlock_t pi_lock ;
2443   struct plist_head pi_waiters ;
2444   struct rt_mutex_waiter *pi_blocked_on ;
2445   struct mutex_waiter *blocked_on ;
2446   unsigned int irq_events ;
2447   unsigned long hardirq_enable_ip ;
2448   unsigned long hardirq_disable_ip ;
2449   unsigned int hardirq_enable_event ;
2450   unsigned int hardirq_disable_event ;
2451   int hardirqs_enabled ;
2452   int hardirq_context ;
2453   unsigned long softirq_disable_ip ;
2454   unsigned long softirq_enable_ip ;
2455   unsigned int softirq_disable_event ;
2456   unsigned int softirq_enable_event ;
2457   int softirqs_enabled ;
2458   int softirq_context ;
2459   void *journal_info ;
2460   struct bio_list *bio_list ;
2461   struct blk_plug *plug ;
2462   struct reclaim_state *reclaim_state ;
2463   struct backing_dev_info *backing_dev_info ;
2464   struct io_context *io_context ;
2465   unsigned long ptrace_message ;
2466   siginfo_t *last_siginfo ;
2467   struct task_io_accounting ioac ;
2468   u64 acct_rss_mem1 ;
2469   u64 acct_vm_mem1 ;
2470   cputime_t acct_timexpd ;
2471   nodemask_t mems_allowed ;
2472   seqcount_t mems_allowed_seq ;
2473   int cpuset_mem_spread_rotor ;
2474   int cpuset_slab_spread_rotor ;
2475   struct css_set *cgroups ;
2476   struct list_head cg_list ;
2477   struct robust_list_head *robust_list ;
2478   struct compat_robust_list_head *compat_robust_list ;
2479   struct list_head pi_state_list ;
2480   struct futex_pi_state *pi_state_cache ;
2481   struct perf_event_context *perf_event_ctxp[2] ;
2482   struct mutex perf_event_mutex ;
2483   struct list_head perf_event_list ;
2484   struct mempolicy *mempolicy ;
2485   short il_next ;
2486   short pref_node_fork ;
2487   struct rcu_head rcu ;
2488   struct pipe_inode_info *splice_pipe ;
2489   struct task_delay_info *delays ;
2490   int make_it_fail ;
2491   int nr_dirtied ;
2492   int nr_dirtied_pause ;
2493   unsigned long dirty_paused_when ;
2494   int latency_record_count ;
2495   struct latency_record latency_record[32] ;
2496   unsigned long timer_slack_ns ;
2497   unsigned long default_timer_slack_ns ;
2498   struct list_head *scm_work_list ;
2499   unsigned long trace ;
2500   unsigned long trace_recursion ;
2501   struct memcg_batch_info memcg_batch ;
2502   atomic_t ptrace_bp_refcnt ;
2503};
2504#line 1681
2505struct pid_namespace;
2506#line 27 "include/linux/mtd/nand.h"
2507struct mtd_info;
2508#line 160 "include/linux/mtd/doc2000.h"
2509struct Nand {
2510   char floor ;
2511   char chip ;
2512   unsigned long curadr ;
2513   unsigned char curmode ;
2514};
2515#line 180 "include/linux/mtd/doc2000.h"
2516struct DiskOnChip {
2517   unsigned long physadr ;
2518   void *virtadr ;
2519   unsigned long totlen ;
2520   unsigned char ChipID ;
2521   int ioreg ;
2522   unsigned long mfr ;
2523   unsigned long id ;
2524   int chipshift ;
2525   char page256 ;
2526   char pageadrlen ;
2527   char interleave ;
2528   unsigned long erasesize ;
2529   int curfloor ;
2530   int curchip ;
2531   int numchips ;
2532   struct Nand *chips ;
2533   struct mtd_info *nextdoc ;
2534   struct mutex lock ;
2535};
2536#line 1 "<compiler builtins>"
2537long __builtin_expect(long val , long res ) ;
2538#line 100 "include/linux/printk.h"
2539extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
2540#line 320 "include/linux/kernel.h"
2541extern int ( /* format attribute */  sprintf)(char *buf , char const   *fmt  , ...) ;
2542#line 152 "include/linux/mutex.h"
2543void mutex_lock(struct mutex *lock ) ;
2544#line 153
2545int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
2546#line 154
2547int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
2548#line 168
2549int mutex_trylock(struct mutex *lock ) ;
2550#line 169
2551void mutex_unlock(struct mutex *lock ) ;
2552#line 170
2553int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2554#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2555__inline static unsigned char readb(void const volatile   *addr )  __attribute__((__no_instrument_function__)) ;
2556#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2557__inline static unsigned char readb(void const volatile   *addr ) 
2558{ unsigned char ret ;
2559  unsigned char volatile   *__cil_tmp3 ;
2560
2561  {
2562#line 53
2563  __cil_tmp3 = (unsigned char volatile   *)addr;
2564#line 53
2565  __asm__  volatile   ("mov"
2566                       "b"
2567                       " %1,%0": "=q" (ret): "m" (*__cil_tmp3): "memory");
2568#line 53
2569  return (ret);
2570}
2571}
2572#line 61
2573__inline static void writeb(unsigned char val , void volatile   *addr )  __attribute__((__no_instrument_function__)) ;
2574#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2575__inline static void writeb(unsigned char val , void volatile   *addr ) 
2576{ unsigned char volatile   *__cil_tmp3 ;
2577
2578  {
2579#line 61
2580  __cil_tmp3 = (unsigned char volatile   *)addr;
2581#line 61
2582  __asm__  volatile   ("mov"
2583                       "b"
2584                       " %0,%1": : "q" (val), "m" (*__cil_tmp3): "memory");
2585#line 61
2586  return;
2587}
2588}
2589#line 174
2590extern void *ioremap_nocache(resource_size_t offset , unsigned long size ) ;
2591#line 182
2592__inline static void *ioremap(resource_size_t offset , unsigned long size )  __attribute__((__no_instrument_function__)) ;
2593#line 182 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2594__inline static void *ioremap(resource_size_t offset , unsigned long size ) 
2595{ void *tmp ;
2596
2597  {
2598  {
2599#line 184
2600  tmp = ioremap_nocache(offset, size);
2601  }
2602#line 184
2603  return (tmp);
2604}
2605}
2606#line 187
2607extern void iounmap(void volatile   *addr ) ;
2608#line 35 "include/linux/kmod.h"
2609extern int ( /* format attribute */  __request_module)(bool wait , char const   *name 
2610                                                       , ...) ;
2611#line 371 "include/linux/moduleparam.h"
2612extern struct kernel_param_ops param_ops_ulong ;
2613#line 67 "include/linux/module.h"
2614int init_module(void) ;
2615#line 188
2616extern void *__symbol_get(char const   *symbol ) ;
2617#line 449
2618extern void symbol_put_addr(void *addr ) ;
2619#line 10 "include/asm-generic/delay.h"
2620extern void __const_udelay(unsigned long xloops ) ;
2621#line 161 "include/linux/slab.h"
2622extern void kfree(void const   * ) ;
2623#line 221 "include/linux/slub_def.h"
2624extern void *__kmalloc(size_t size , gfp_t flags ) ;
2625#line 268
2626__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2627                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2628#line 268 "include/linux/slub_def.h"
2629__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2630                                                                    gfp_t flags ) 
2631{ void *tmp___2 ;
2632
2633  {
2634  {
2635#line 283
2636  tmp___2 = __kmalloc(size, flags);
2637  }
2638#line 283
2639  return (tmp___2);
2640}
2641}
2642#line 349 "include/linux/slab.h"
2643__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2644#line 349 "include/linux/slab.h"
2645__inline static void *kzalloc(size_t size , gfp_t flags ) 
2646{ void *tmp ;
2647  unsigned int __cil_tmp4 ;
2648
2649  {
2650  {
2651#line 351
2652  __cil_tmp4 = flags | 32768U;
2653#line 351
2654  tmp = kmalloc(size, __cil_tmp4);
2655  }
2656#line 351
2657  return (tmp);
2658}
2659}
2660#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2661static unsigned long doc_config_location  =    0UL;
2662#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2663static char const   __param_str_doc_config_location[20]  = 
2664#line 56
2665  {      (char const   )'d',      (char const   )'o',      (char const   )'c',      (char const   )'_', 
2666        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f', 
2667        (char const   )'i',      (char const   )'g',      (char const   )'_',      (char const   )'l', 
2668        (char const   )'o',      (char const   )'c',      (char const   )'a',      (char const   )'t', 
2669        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'\000'};
2670#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2671static struct kernel_param  const  __param_doc_config_location  __attribute__((__used__,
2672__unused__, __section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_doc_config_location, (struct kernel_param_ops  const  *)(& param_ops_ulong),
2673    (u16 )0, (s16 )0, {(void *)(& doc_config_location)}};
2674#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2675static char const   __mod_doc_config_locationtype56[35]  __attribute__((__used__,
2676__unused__, __section__(".modinfo"), __aligned__(1)))  = 
2677#line 56
2678  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
2679        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
2680        (char const   )'=',      (char const   )'d',      (char const   )'o',      (char const   )'c', 
2681        (char const   )'_',      (char const   )'c',      (char const   )'o',      (char const   )'n', 
2682        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )'_', 
2683        (char const   )'l',      (char const   )'o',      (char const   )'c',      (char const   )'a', 
2684        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n', 
2685        (char const   )':',      (char const   )'u',      (char const   )'l',      (char const   )'o', 
2686        (char const   )'n',      (char const   )'g',      (char const   )'\000'};
2687#line 57 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2688static char const   __mod_doc_config_location57[82]  __attribute__((__used__, __unused__,
2689__section__(".modinfo"), __aligned__(1)))  = 
2690#line 57
2691  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
2692        (char const   )'=',      (char const   )'d',      (char const   )'o',      (char const   )'c', 
2693        (char const   )'_',      (char const   )'c',      (char const   )'o',      (char const   )'n', 
2694        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )'_', 
2695        (char const   )'l',      (char const   )'o',      (char const   )'c',      (char const   )'a', 
2696        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n', 
2697        (char const   )':',      (char const   )'P',      (char const   )'h',      (char const   )'y', 
2698        (char const   )'s',      (char const   )'i',      (char const   )'c',      (char const   )'a', 
2699        (char const   )'l',      (char const   )' ',      (char const   )'m',      (char const   )'e', 
2700        (char const   )'m',      (char const   )'o',      (char const   )'r',      (char const   )'y', 
2701        (char const   )' ',      (char const   )'a',      (char const   )'d',      (char const   )'d', 
2702        (char const   )'r',      (char const   )'e',      (char const   )'s',      (char const   )'s', 
2703        (char const   )' ',      (char const   )'a',      (char const   )'t',      (char const   )' ', 
2704        (char const   )'w',      (char const   )'h',      (char const   )'i',      (char const   )'c', 
2705        (char const   )'h',      (char const   )' ',      (char const   )'t',      (char const   )'o', 
2706        (char const   )' ',      (char const   )'p',      (char const   )'r',      (char const   )'o', 
2707        (char const   )'b',      (char const   )'e',      (char const   )' ',      (char const   )'f', 
2708        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'D', 
2709        (char const   )'i',      (char const   )'s',      (char const   )'k',      (char const   )'O', 
2710        (char const   )'n',      (char const   )'C',      (char const   )'h',      (char const   )'i', 
2711        (char const   )'p',      (char const   )'\000'};
2712#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2713static unsigned long doc_locations[21]  __attribute__((__section__(".init.data")))  = 
2714#line 59
2715  {      4294737920UL,      4294746112UL,      4294754304UL,      4294762496UL, 
2716        4294770688UL,      4294778880UL,      4294787072UL,      4294795264UL, 
2717        4294803456UL,      4294811648UL,      4294819840UL,      4294828032UL, 
2718        4294836224UL,      4294844416UL,      4294852608UL,      4294860800UL, 
2719        4294868992UL,      4294877184UL,      4294885376UL,      4294893568UL, 
2720        4294967295UL};
2721#line 81
2722__inline static int doccheck(void *potential , unsigned long physadr )  __attribute__((__section__(".init.text"),
2723__no_instrument_function__)) ;
2724#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
2725__inline static int doccheck(void *potential , unsigned long physadr ) 
2726{ void *window ;
2727  unsigned char tmp___7 ;
2728  unsigned char tmpb ;
2729  unsigned char tmpc ;
2730  unsigned char ChipID ;
2731  unsigned char tmp2 ;
2732  unsigned char tmp___8 ;
2733  unsigned char tmp___9 ;
2734  unsigned char tmp___10 ;
2735  unsigned char tmp___11 ;
2736  unsigned char tmp___12 ;
2737  unsigned char tmp___13 ;
2738  unsigned char tmp___14 ;
2739  unsigned char tmp___15 ;
2740  unsigned char tmp___16 ;
2741  unsigned char tmp___19 ;
2742  unsigned char tmp___20 ;
2743  unsigned char tmp___21 ;
2744  void *__cil_tmp25 ;
2745  void const volatile   *__cil_tmp26 ;
2746  int __cil_tmp27 ;
2747  void *__cil_tmp28 ;
2748  void const volatile   *__cil_tmp29 ;
2749  int __cil_tmp30 ;
2750  void *__cil_tmp31 ;
2751  void const volatile   *__cil_tmp32 ;
2752  void *__cil_tmp33 ;
2753  void volatile   *__cil_tmp34 ;
2754  void *__cil_tmp35 ;
2755  void volatile   *__cil_tmp36 ;
2756  void *__cil_tmp37 ;
2757  void volatile   *__cil_tmp38 ;
2758  void *__cil_tmp39 ;
2759  void volatile   *__cil_tmp40 ;
2760  void *__cil_tmp41 ;
2761  void const volatile   *__cil_tmp42 ;
2762  void *__cil_tmp43 ;
2763  void const volatile   *__cil_tmp44 ;
2764  int __cil_tmp45 ;
2765  int __cil_tmp46 ;
2766  void *__cil_tmp47 ;
2767  void const volatile   *__cil_tmp48 ;
2768  int __cil_tmp49 ;
2769  int __cil_tmp50 ;
2770  void *__cil_tmp51 ;
2771  void const volatile   *__cil_tmp52 ;
2772  int __cil_tmp53 ;
2773  int __cil_tmp54 ;
2774  int __cil_tmp55 ;
2775  int __cil_tmp56 ;
2776  int __cil_tmp57 ;
2777  int __cil_tmp58 ;
2778  void *__cil_tmp59 ;
2779  void const volatile   *__cil_tmp60 ;
2780  void *__cil_tmp61 ;
2781  void const volatile   *__cil_tmp62 ;
2782  void *__cil_tmp63 ;
2783  void const volatile   *__cil_tmp64 ;
2784  int __cil_tmp65 ;
2785  void *__cil_tmp66 ;
2786  void const volatile   *__cil_tmp67 ;
2787  int __cil_tmp68 ;
2788  int __cil_tmp69 ;
2789  void *__cil_tmp70 ;
2790  void const volatile   *__cil_tmp71 ;
2791  int __cil_tmp72 ;
2792  int __cil_tmp73 ;
2793  void *__cil_tmp74 ;
2794  void const volatile   *__cil_tmp75 ;
2795  int __cil_tmp76 ;
2796  int __cil_tmp77 ;
2797  int __cil_tmp78 ;
2798  int __cil_tmp79 ;
2799  int __cil_tmp80 ;
2800  int __cil_tmp81 ;
2801  int __cil_tmp82 ;
2802  void *__cil_tmp83 ;
2803  void const volatile   *__cil_tmp84 ;
2804  int __cil_tmp85 ;
2805  int __cil_tmp86 ;
2806  void *__cil_tmp87 ;
2807  void volatile   *__cil_tmp88 ;
2808  int __cil_tmp89 ;
2809  int __cil_tmp90 ;
2810  unsigned char __cil_tmp91 ;
2811  void *__cil_tmp92 ;
2812  void volatile   *__cil_tmp93 ;
2813  void *__cil_tmp94 ;
2814  void volatile   *__cil_tmp95 ;
2815  int __cil_tmp96 ;
2816  int __cil_tmp97 ;
2817  unsigned char __cil_tmp98 ;
2818  void *__cil_tmp99 ;
2819  void volatile   *__cil_tmp100 ;
2820  void *__cil_tmp101 ;
2821  void const volatile   *__cil_tmp102 ;
2822  void *__cil_tmp103 ;
2823  void const volatile   *__cil_tmp104 ;
2824  int __cil_tmp105 ;
2825  int __cil_tmp106 ;
2826  void *__cil_tmp107 ;
2827  void const volatile   *__cil_tmp108 ;
2828  int __cil_tmp109 ;
2829  int __cil_tmp110 ;
2830  void *__cil_tmp111 ;
2831  void const volatile   *__cil_tmp112 ;
2832  int __cil_tmp113 ;
2833  int __cil_tmp114 ;
2834  int __cil_tmp115 ;
2835  int __cil_tmp116 ;
2836  int __cil_tmp117 ;
2837  int __cil_tmp118 ;
2838  int __cil_tmp119 ;
2839  void *__cil_tmp120 ;
2840  void volatile   *__cil_tmp121 ;
2841  void *__cil_tmp122 ;
2842  void volatile   *__cil_tmp123 ;
2843
2844  {
2845  {
2846#line 83
2847  window = potential;
2848#line 94
2849  __cil_tmp25 = window + 0;
2850#line 94
2851  __cil_tmp26 = (void const volatile   *)__cil_tmp25;
2852#line 94
2853  tmp___8 = readb(__cil_tmp26);
2854  }
2855  {
2856#line 94
2857  __cil_tmp27 = (int )tmp___8;
2858#line 94
2859  if (__cil_tmp27 != 85) {
2860#line 95
2861    return (0);
2862  } else {
2863    {
2864#line 94
2865    __cil_tmp28 = window + 1;
2866#line 94
2867    __cil_tmp29 = (void const volatile   *)__cil_tmp28;
2868#line 94
2869    tmp___9 = readb(__cil_tmp29);
2870    }
2871    {
2872#line 94
2873    __cil_tmp30 = (int )tmp___9;
2874#line 94
2875    if (__cil_tmp30 != 170) {
2876#line 95
2877      return (0);
2878    } else {
2879
2880    }
2881    }
2882  }
2883  }
2884  {
2885#line 107
2886  __cil_tmp31 = window + 4098;
2887#line 107
2888  __cil_tmp32 = (void const volatile   *)__cil_tmp31;
2889#line 107
2890  tmp2 = readb(__cil_tmp32);
2891#line 110
2892  __cil_tmp33 = window + 4098;
2893#line 110
2894  __cil_tmp34 = (void volatile   *)__cil_tmp33;
2895#line 110
2896  writeb((unsigned char)132, __cil_tmp34);
2897#line 112
2898  __cil_tmp35 = window + 4098;
2899#line 112
2900  __cil_tmp36 = (void volatile   *)__cil_tmp35;
2901#line 112
2902  writeb((unsigned char)132, __cil_tmp36);
2903#line 116
2904  __cil_tmp37 = window + 4098;
2905#line 116
2906  __cil_tmp38 = (void volatile   *)__cil_tmp37;
2907#line 116
2908  writeb((unsigned char)133, __cil_tmp38);
2909#line 118
2910  __cil_tmp39 = window + 4098;
2911#line 118
2912  __cil_tmp40 = (void volatile   *)__cil_tmp39;
2913#line 118
2914  writeb((unsigned char)133, __cil_tmp40);
2915#line 125
2916  __cil_tmp41 = window + 4096;
2917#line 125
2918  __cil_tmp42 = (void const volatile   *)__cil_tmp41;
2919#line 125
2920  ChipID = readb(__cil_tmp42);
2921  }
2922#line 128
2923  if ((int )ChipID == 32) {
2924#line 128
2925    goto case_32;
2926  } else
2927#line 137
2928  if ((int )ChipID == 48) {
2929#line 137
2930    goto case_48;
2931  } else
2932#line 152
2933  if ((int )ChipID == 65) {
2934#line 152
2935    goto case_65;
2936  } else
2937#line 153
2938  if ((int )ChipID == 64) {
2939#line 153
2940    goto case_65;
2941  } else
2942#line 154
2943  if ((int )ChipID == 0) {
2944#line 154
2945    goto case_65;
2946  } else {
2947    {
2948#line 192
2949    goto switch_default___0;
2950#line 127
2951    if (0) {
2952      case_32: /* CIL Label */ 
2953      {
2954#line 130
2955      __cil_tmp43 = window + 4103;
2956#line 130
2957      __cil_tmp44 = (void const volatile   *)__cil_tmp43;
2958#line 130
2959      tmp___10 = readb(__cil_tmp44);
2960#line 130
2961      __cil_tmp45 = (int )tmp___10;
2962#line 130
2963      __cil_tmp46 = __cil_tmp45 & 4;
2964#line 130
2965      tmp___7 = (unsigned char )__cil_tmp46;
2966#line 131
2967      __cil_tmp47 = window + 4103;
2968#line 131
2969      __cil_tmp48 = (void const volatile   *)__cil_tmp47;
2970#line 131
2971      tmp___11 = readb(__cil_tmp48);
2972#line 131
2973      __cil_tmp49 = (int )tmp___11;
2974#line 131
2975      __cil_tmp50 = __cil_tmp49 & 4;
2976#line 131
2977      tmpb = (unsigned char )__cil_tmp50;
2978#line 132
2979      __cil_tmp51 = window + 4103;
2980#line 132
2981      __cil_tmp52 = (void const volatile   *)__cil_tmp51;
2982#line 132
2983      tmp___12 = readb(__cil_tmp52);
2984#line 132
2985      __cil_tmp53 = (int )tmp___12;
2986#line 132
2987      __cil_tmp54 = __cil_tmp53 & 4;
2988#line 132
2989      tmpc = (unsigned char )__cil_tmp54;
2990      }
2991      {
2992#line 133
2993      __cil_tmp55 = (int )tmpb;
2994#line 133
2995      __cil_tmp56 = (int )tmp___7;
2996#line 133
2997      if (__cil_tmp56 != __cil_tmp55) {
2998        {
2999#line 133
3000        __cil_tmp57 = (int )tmpc;
3001#line 133
3002        __cil_tmp58 = (int )tmp___7;
3003#line 133
3004        if (__cil_tmp58 == __cil_tmp57) {
3005#line 134
3006          return ((int )ChipID);
3007        } else {
3008
3009        }
3010        }
3011      } else {
3012
3013      }
3014      }
3015#line 135
3016      goto switch_break;
3017      case_48: /* CIL Label */ 
3018      {
3019#line 139
3020      __cil_tmp59 = window + 4096;
3021#line 139
3022      __cil_tmp60 = (void const volatile   *)__cil_tmp59;
3023#line 139
3024      readb(__cil_tmp60);
3025#line 140
3026      __cil_tmp61 = window + 4096;
3027#line 140
3028      __cil_tmp62 = (void const volatile   *)__cil_tmp61;
3029#line 140
3030      readb(__cil_tmp62);
3031#line 141
3032      __cil_tmp63 = window + 4096;
3033#line 141
3034      __cil_tmp64 = (void const volatile   *)__cil_tmp63;
3035#line 141
3036      tmp___13 = readb(__cil_tmp64);
3037      }
3038      {
3039#line 141
3040      __cil_tmp65 = (int )tmp___13;
3041#line 141
3042      if (__cil_tmp65 != 48) {
3043#line 142
3044        ChipID = (unsigned char)33;
3045      } else {
3046
3047      }
3048      }
3049      {
3050#line 145
3051      __cil_tmp66 = window + 4102;
3052#line 145
3053      __cil_tmp67 = (void const volatile   *)__cil_tmp66;
3054#line 145
3055      tmp___14 = readb(__cil_tmp67);
3056#line 145
3057      __cil_tmp68 = (int )tmp___14;
3058#line 145
3059      __cil_tmp69 = __cil_tmp68 & 4;
3060#line 145
3061      tmp___7 = (unsigned char )__cil_tmp69;
3062#line 146
3063      __cil_tmp70 = window + 4102;
3064#line 146
3065      __cil_tmp71 = (void const volatile   *)__cil_tmp70;
3066#line 146
3067      tmp___15 = readb(__cil_tmp71);
3068#line 146
3069      __cil_tmp72 = (int )tmp___15;
3070#line 146
3071      __cil_tmp73 = __cil_tmp72 & 4;
3072#line 146
3073      tmpb = (unsigned char )__cil_tmp73;
3074#line 147
3075      __cil_tmp74 = window + 4102;
3076#line 147
3077      __cil_tmp75 = (void const volatile   *)__cil_tmp74;
3078#line 147
3079      tmp___16 = readb(__cil_tmp75);
3080#line 147
3081      __cil_tmp76 = (int )tmp___16;
3082#line 147
3083      __cil_tmp77 = __cil_tmp76 & 4;
3084#line 147
3085      tmpc = (unsigned char )__cil_tmp77;
3086      }
3087      {
3088#line 148
3089      __cil_tmp78 = (int )tmpb;
3090#line 148
3091      __cil_tmp79 = (int )tmp___7;
3092#line 148
3093      if (__cil_tmp79 != __cil_tmp78) {
3094        {
3095#line 148
3096        __cil_tmp80 = (int )tmpc;
3097#line 148
3098        __cil_tmp81 = (int )tmp___7;
3099#line 148
3100        if (__cil_tmp81 == __cil_tmp80) {
3101#line 149
3102          return ((int )ChipID);
3103        } else {
3104
3105        }
3106        }
3107      } else {
3108
3109      }
3110      }
3111#line 150
3112      goto switch_break;
3113      case_65: /* CIL Label */ 
3114      case_64: /* CIL Label */ 
3115      case_0: /* CIL Label */ 
3116#line 158
3117      tmp___7 = (unsigned char)0;
3118      {
3119#line 158
3120      while (1) {
3121        while_continue: /* CIL Label */ ;
3122        {
3123#line 158
3124        __cil_tmp82 = (int )tmp___7;
3125#line 158
3126        if (__cil_tmp82 < 4) {
3127
3128        } else {
3129#line 158
3130          goto while_break;
3131        }
3132        }
3133        {
3134#line 159
3135        __cil_tmp83 = window + 8191;
3136#line 159
3137        __cil_tmp84 = (void const volatile   *)__cil_tmp83;
3138#line 159
3139        readb(__cil_tmp84);
3140#line 158
3141        __cil_tmp85 = (int )tmp___7;
3142#line 158
3143        __cil_tmp86 = __cil_tmp85 + 1;
3144#line 158
3145        tmp___7 = (unsigned char )__cil_tmp86;
3146        }
3147      }
3148      while_break: /* CIL Label */ ;
3149      }
3150      {
3151#line 162
3152      tmp___7 = (unsigned char)28;
3153#line 164
3154      __cil_tmp87 = window + 4102;
3155#line 164
3156      __cil_tmp88 = (void volatile   *)__cil_tmp87;
3157#line 164
3158      writeb(tmp___7, __cil_tmp88);
3159#line 165
3160      __cil_tmp89 = (int )tmp___7;
3161#line 165
3162      __cil_tmp90 = ~ __cil_tmp89;
3163#line 165
3164      __cil_tmp91 = (unsigned char )__cil_tmp90;
3165#line 165
3166      __cil_tmp92 = window + 4214;
3167#line 165
3168      __cil_tmp93 = (void volatile   *)__cil_tmp92;
3169#line 165
3170      writeb(__cil_tmp91, __cil_tmp93);
3171#line 167
3172      __const_udelay(4295000UL);
3173#line 169
3174      tmp___7 = (unsigned char)29;
3175#line 171
3176      __cil_tmp94 = window + 4102;
3177#line 171
3178      __cil_tmp95 = (void volatile   *)__cil_tmp94;
3179#line 171
3180      writeb(tmp___7, __cil_tmp95);
3181#line 172
3182      __cil_tmp96 = (int )tmp___7;
3183#line 172
3184      __cil_tmp97 = ~ __cil_tmp96;
3185#line 172
3186      __cil_tmp98 = (unsigned char )__cil_tmp97;
3187#line 172
3188      __cil_tmp99 = window + 4214;
3189#line 172
3190      __cil_tmp100 = (void volatile   *)__cil_tmp99;
3191#line 172
3192      writeb(__cil_tmp98, __cil_tmp100);
3193#line 173
3194      __const_udelay(4295000UL);
3195#line 176
3196      __cil_tmp101 = window + 4096;
3197#line 176
3198      __cil_tmp102 = (void const volatile   *)__cil_tmp101;
3199#line 176
3200      ChipID = readb(__cil_tmp102);
3201      }
3202#line 179
3203      if ((int )ChipID == 65) {
3204#line 179
3205        goto case_65___0;
3206      } else
3207#line 180
3208      if ((int )ChipID == 64) {
3209#line 180
3210        goto case_65___0;
3211      } else {
3212        {
3213#line 187
3214        goto switch_default;
3215#line 178
3216        if (0) {
3217          case_65___0: /* CIL Label */ 
3218          case_64___0: /* CIL Label */ 
3219          {
3220#line 182
3221          __cil_tmp103 = window + 4166;
3222#line 182
3223          __cil_tmp104 = (void const volatile   *)__cil_tmp103;
3224#line 182
3225          tmp___19 = readb(__cil_tmp104);
3226#line 182
3227          __cil_tmp105 = (int )tmp___19;
3228#line 182
3229          __cil_tmp106 = __cil_tmp105 & 4;
3230#line 182
3231          tmp___7 = (unsigned char )__cil_tmp106;
3232#line 183
3233          __cil_tmp107 = window + 4166;
3234#line 183
3235          __cil_tmp108 = (void const volatile   *)__cil_tmp107;
3236#line 183
3237          tmp___20 = readb(__cil_tmp108);
3238#line 183
3239          __cil_tmp109 = (int )tmp___20;
3240#line 183
3241          __cil_tmp110 = __cil_tmp109 & 4;
3242#line 183
3243          tmpb = (unsigned char )__cil_tmp110;
3244#line 184
3245          __cil_tmp111 = window + 4166;
3246#line 184
3247          __cil_tmp112 = (void const volatile   *)__cil_tmp111;
3248#line 184
3249          tmp___21 = readb(__cil_tmp112);
3250#line 184
3251          __cil_tmp113 = (int )tmp___21;
3252#line 184
3253          __cil_tmp114 = __cil_tmp113 & 4;
3254#line 184
3255          tmpc = (unsigned char )__cil_tmp114;
3256          }
3257          {
3258#line 185
3259          __cil_tmp115 = (int )tmpb;
3260#line 185
3261          __cil_tmp116 = (int )tmp___7;
3262#line 185
3263          if (__cil_tmp116 != __cil_tmp115) {
3264            {
3265#line 185
3266            __cil_tmp117 = (int )tmpc;
3267#line 185
3268            __cil_tmp118 = (int )tmp___7;
3269#line 185
3270            if (__cil_tmp118 == __cil_tmp117) {
3271#line 186
3272              return ((int )ChipID);
3273            } else {
3274
3275            }
3276            }
3277          } else {
3278
3279          }
3280          }
3281          switch_default: /* CIL Label */ 
3282#line 188
3283          goto switch_break___0;
3284        } else {
3285          switch_break___0: /* CIL Label */ ;
3286        }
3287        }
3288      }
3289      switch_default___0: /* CIL Label */ 
3290      {
3291#line 195
3292      __cil_tmp119 = (int )ChipID;
3293#line 195
3294      printk("<7>Possible DiskOnChip with unknown ChipID %2.2X found at 0x%lx\n",
3295             __cil_tmp119, physadr);
3296#line 202
3297      __cil_tmp120 = window + 4098;
3298#line 202
3299      __cil_tmp121 = (void volatile   *)__cil_tmp120;
3300#line 202
3301      writeb(tmp2, __cil_tmp121);
3302      }
3303#line 204
3304      return (0);
3305    } else {
3306      switch_break: /* CIL Label */ ;
3307    }
3308    }
3309  }
3310  {
3311#line 207
3312  printk("<4>DiskOnChip failed TOGGLE test, dropping.\n");
3313#line 211
3314  __cil_tmp122 = window + 4098;
3315#line 211
3316  __cil_tmp123 = (void volatile   *)__cil_tmp122;
3317#line 211
3318  writeb(tmp2, __cil_tmp123);
3319  }
3320#line 213
3321  return (0);
3322}
3323}
3324#line 216 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3325static int docfound  ;
3326#line 222
3327static void DoC_Probe(unsigned long physadr )  __attribute__((__section__(".init.text"),
3328__no_instrument_function__)) ;
3329#line 222 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3330static void DoC_Probe(unsigned long physadr ) 
3331{ void *docptr ;
3332  struct DiskOnChip *this ;
3333  struct mtd_info *mtd ;
3334  int ChipID ;
3335  char namebuf[15] ;
3336  char *name ;
3337  void (*initroutine)(struct mtd_info * ) ;
3338  void *tmp___7 ;
3339  void *tmp___9 ;
3340  void (*tmp___10)(struct mtd_info * ) ;
3341  void *tmp___11 ;
3342  void *tmp___13 ;
3343  void (*tmp___14)(struct mtd_info * ) ;
3344  void *tmp___15 ;
3345  void *tmp___17 ;
3346  void (*tmp___18)(struct mtd_info * ) ;
3347  void *tmp___19 ;
3348  void *tmp___21 ;
3349  void (*tmp___22)(struct mtd_info * ) ;
3350  void *tmp___23 ;
3351  unsigned long __cil_tmp26 ;
3352  unsigned long __cil_tmp27 ;
3353  void *__cil_tmp28 ;
3354  resource_size_t __cil_tmp29 ;
3355  void volatile   *__cil_tmp30 ;
3356  unsigned long __cil_tmp31 ;
3357  void volatile   *__cil_tmp32 ;
3358  struct mtd_info *__cil_tmp33 ;
3359  unsigned long __cil_tmp34 ;
3360  unsigned long __cil_tmp35 ;
3361  unsigned long __cil_tmp36 ;
3362  unsigned long __cil_tmp37 ;
3363  unsigned long __cil_tmp38 ;
3364  unsigned long __cil_tmp39 ;
3365  unsigned long __cil_tmp40 ;
3366  unsigned long __cil_tmp41 ;
3367  char *__cil_tmp42 ;
3368  bool __cil_tmp43 ;
3369  bool __cil_tmp44 ;
3370  bool __cil_tmp45 ;
3371  bool __cil_tmp46 ;
3372  void *__cil_tmp47 ;
3373  void const   *__cil_tmp48 ;
3374  void volatile   *__cil_tmp49 ;
3375
3376  {
3377  {
3378#line 229
3379  __cil_tmp26 = 0 * 1UL;
3380#line 229
3381  __cil_tmp27 = (unsigned long )(namebuf) + __cil_tmp26;
3382#line 229
3383  name = (char *)__cil_tmp27;
3384#line 230
3385  __cil_tmp28 = (void *)0;
3386#line 230
3387  initroutine = (void (*)(struct mtd_info * ))__cil_tmp28;
3388#line 232
3389  __cil_tmp29 = (resource_size_t )physadr;
3390#line 232
3391  docptr = ioremap(__cil_tmp29, 8192UL);
3392  }
3393#line 234
3394  if (! docptr) {
3395#line 235
3396    return;
3397  } else {
3398
3399  }
3400  {
3401#line 237
3402  ChipID = doccheck(docptr, physadr);
3403  }
3404#line 237
3405  if (ChipID) {
3406#line 238
3407    if (ChipID == 33) {
3408      {
3409#line 240
3410      printk("<5>Refusing to drive DiskOnChip 2000 TSOP until Bad Block Table is correctly supported by INFTL\n");
3411#line 241
3412      __cil_tmp30 = (void volatile   *)docptr;
3413#line 241
3414      iounmap(__cil_tmp30);
3415      }
3416#line 242
3417      return;
3418    } else {
3419
3420    }
3421    {
3422#line 244
3423    docfound = 1;
3424#line 245
3425    __cil_tmp31 = 168UL + 1152UL;
3426#line 245
3427    tmp___7 = kzalloc(__cil_tmp31, 208U);
3428#line 245
3429    mtd = (struct mtd_info *)tmp___7;
3430    }
3431#line 246
3432    if (! mtd) {
3433      {
3434#line 247
3435      printk("<4>Cannot allocate memory for data structures. Dropping.\n");
3436#line 248
3437      __cil_tmp32 = (void volatile   *)docptr;
3438#line 248
3439      iounmap(__cil_tmp32);
3440      }
3441#line 249
3442      return;
3443    } else {
3444
3445    }
3446    {
3447#line 252
3448    __cil_tmp33 = mtd + 1;
3449#line 252
3450    this = (struct DiskOnChip *)__cil_tmp33;
3451#line 253
3452    __cil_tmp34 = (unsigned long )mtd;
3453#line 253
3454    __cil_tmp35 = __cil_tmp34 + 360;
3455#line 253
3456    *((void **)__cil_tmp35) = (void *)this;
3457#line 254
3458    __cil_tmp36 = (unsigned long )this;
3459#line 254
3460    __cil_tmp37 = __cil_tmp36 + 8;
3461#line 254
3462    *((void **)__cil_tmp37) = docptr;
3463#line 255
3464    *((unsigned long *)this) = physadr;
3465#line 256
3466    __cil_tmp38 = (unsigned long )this;
3467#line 256
3468    __cil_tmp39 = __cil_tmp38 + 24;
3469#line 256
3470    *((unsigned char *)__cil_tmp39) = (unsigned char )ChipID;
3471#line 257
3472    __cil_tmp40 = 0 * 1UL;
3473#line 257
3474    __cil_tmp41 = (unsigned long )(namebuf) + __cil_tmp40;
3475#line 257
3476    __cil_tmp42 = (char *)__cil_tmp41;
3477#line 257
3478    sprintf(__cil_tmp42, "with ChipID %2.2X", ChipID);
3479    }
3480#line 260
3481    if (ChipID == 33) {
3482#line 260
3483      goto case_33;
3484    } else
3485#line 265
3486    if (ChipID == 32) {
3487#line 265
3488      goto case_32;
3489    } else
3490#line 270
3491    if (ChipID == 48) {
3492#line 270
3493      goto case_48;
3494    } else
3495#line 279
3496    if (ChipID == 65) {
3497#line 279
3498      goto case_65;
3499    } else
3500#line 280
3501    if (ChipID == 64) {
3502#line 280
3503      goto case_65;
3504    } else
3505#line 259
3506    if (0) {
3507      case_33: /* CIL Label */ 
3508      {
3509#line 261
3510      name = (char *)"2000 TSOP";
3511#line 262
3512      tmp___11 = __symbol_get("DoC2k_init");
3513#line 262
3514      tmp___10 = (void (*)(struct mtd_info * ))tmp___11;
3515      }
3516#line 262
3517      if (tmp___10) {
3518
3519      } else {
3520        {
3521#line 262
3522        __cil_tmp43 = (bool )1;
3523#line 262
3524        __request_module(__cil_tmp43, "symbol:DoC2k_init");
3525#line 262
3526        tmp___9 = __symbol_get("DoC2k_init");
3527#line 262
3528        tmp___10 = (void (*)(struct mtd_info * ))tmp___9;
3529        }
3530      }
3531#line 262
3532      initroutine = tmp___10;
3533#line 263
3534      goto switch_break;
3535      case_32: /* CIL Label */ 
3536      {
3537#line 266
3538      name = (char *)"2000";
3539#line 267
3540      tmp___15 = __symbol_get("DoC2k_init");
3541#line 267
3542      tmp___14 = (void (*)(struct mtd_info * ))tmp___15;
3543      }
3544#line 267
3545      if (tmp___14) {
3546
3547      } else {
3548        {
3549#line 267
3550        __cil_tmp44 = (bool )1;
3551#line 267
3552        __request_module(__cil_tmp44, "symbol:DoC2k_init");
3553#line 267
3554        tmp___13 = __symbol_get("DoC2k_init");
3555#line 267
3556        tmp___14 = (void (*)(struct mtd_info * ))tmp___13;
3557        }
3558      }
3559#line 267
3560      initroutine = tmp___14;
3561#line 268
3562      goto switch_break;
3563      case_48: /* CIL Label */ 
3564      {
3565#line 271
3566      name = (char *)"Millennium";
3567#line 273
3568      tmp___19 = __symbol_get("DoC2k_init");
3569#line 273
3570      tmp___18 = (void (*)(struct mtd_info * ))tmp___19;
3571      }
3572#line 273
3573      if (tmp___18) {
3574
3575      } else {
3576        {
3577#line 273
3578        __cil_tmp45 = (bool )1;
3579#line 273
3580        __request_module(__cil_tmp45, "symbol:DoC2k_init");
3581#line 273
3582        tmp___17 = __symbol_get("DoC2k_init");
3583#line 273
3584        tmp___18 = (void (*)(struct mtd_info * ))tmp___17;
3585        }
3586      }
3587#line 273
3588      initroutine = tmp___18;
3589#line 277
3590      goto switch_break;
3591      case_65: /* CIL Label */ 
3592      case_64: /* CIL Label */ 
3593      {
3594#line 281
3595      name = (char *)"MillenniumPlus";
3596#line 282
3597      tmp___23 = __symbol_get("DoCMilPlus_init");
3598#line 282
3599      tmp___22 = (void (*)(struct mtd_info * ))tmp___23;
3600      }
3601#line 282
3602      if (tmp___22) {
3603
3604      } else {
3605        {
3606#line 282
3607        __cil_tmp46 = (bool )1;
3608#line 282
3609        __request_module(__cil_tmp46, "symbol:DoCMilPlus_init");
3610#line 282
3611        tmp___21 = __symbol_get("DoCMilPlus_init");
3612#line 282
3613        tmp___22 = (void (*)(struct mtd_info * ))tmp___21;
3614        }
3615      }
3616#line 282
3617      initroutine = tmp___22;
3618#line 283
3619      goto switch_break;
3620    } else {
3621      switch_break: /* CIL Label */ ;
3622    }
3623#line 286
3624    if (initroutine) {
3625      {
3626#line 287
3627      (*initroutine)(mtd);
3628#line 288
3629      __cil_tmp47 = (void *)initroutine;
3630#line 288
3631      symbol_put_addr(__cil_tmp47);
3632      }
3633#line 289
3634      return;
3635    } else {
3636
3637    }
3638    {
3639#line 291
3640    printk("<5>Cannot find driver for DiskOnChip %s at 0x%lX\n", name, physadr);
3641#line 292
3642    __cil_tmp48 = (void const   *)mtd;
3643#line 292
3644    kfree(__cil_tmp48);
3645    }
3646  } else {
3647
3648  }
3649  {
3650#line 294
3651  __cil_tmp49 = (void volatile   *)docptr;
3652#line 294
3653  iounmap(__cil_tmp49);
3654  }
3655#line 295
3656  return;
3657}
3658}
3659#line 304
3660static int init_doc(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
3661#line 304 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3662static int init_doc(void) 
3663{ int i ;
3664  unsigned long *__cil_tmp2 ;
3665  unsigned long *__cil_tmp3 ;
3666  unsigned long __cil_tmp4 ;
3667  unsigned long *__cil_tmp5 ;
3668  unsigned long __cil_tmp6 ;
3669  unsigned long __cil_tmp7 ;
3670  unsigned long __cil_tmp8 ;
3671  unsigned long __cil_tmp9 ;
3672  unsigned long __cil_tmp10 ;
3673  unsigned long __cil_tmp11 ;
3674  unsigned long __cil_tmp12 ;
3675
3676  {
3677  {
3678#line 308
3679  __cil_tmp2 = & doc_config_location;
3680#line 308
3681  if (*__cil_tmp2) {
3682    {
3683#line 309
3684    __cil_tmp3 = & doc_config_location;
3685#line 309
3686    __cil_tmp4 = *__cil_tmp3;
3687#line 309
3688    printk("<6>Using configured DiskOnChip probe address 0x%lx\n", __cil_tmp4);
3689#line 310
3690    __cil_tmp5 = & doc_config_location;
3691#line 310
3692    __cil_tmp6 = *__cil_tmp5;
3693#line 310
3694    DoC_Probe(__cil_tmp6);
3695    }
3696  } else {
3697#line 312
3698    i = 0;
3699    {
3700#line 312
3701    while (1) {
3702      while_continue: /* CIL Label */ ;
3703      {
3704#line 312
3705      __cil_tmp7 = i * 8UL;
3706#line 312
3707      __cil_tmp8 = (unsigned long )(doc_locations) + __cil_tmp7;
3708#line 312
3709      __cil_tmp9 = *((unsigned long *)__cil_tmp8);
3710#line 312
3711      if (__cil_tmp9 != 4294967295UL) {
3712
3713      } else {
3714#line 312
3715        goto while_break;
3716      }
3717      }
3718      {
3719#line 313
3720      __cil_tmp10 = i * 8UL;
3721#line 313
3722      __cil_tmp11 = (unsigned long )(doc_locations) + __cil_tmp10;
3723#line 313
3724      __cil_tmp12 = *((unsigned long *)__cil_tmp11);
3725#line 313
3726      DoC_Probe(__cil_tmp12);
3727#line 312
3728      i = i + 1;
3729      }
3730    }
3731    while_break: /* CIL Label */ ;
3732    }
3733  }
3734  }
3735#line 318
3736  if (! docfound) {
3737    {
3738#line 319
3739    printk("<6>No recognised DiskOnChip devices found\n");
3740    }
3741  } else {
3742
3743  }
3744#line 320
3745  return (-11);
3746}
3747}
3748#line 323 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3749int init_module(void) 
3750{ int tmp___7 ;
3751
3752  {
3753  {
3754#line 323
3755  tmp___7 = init_doc();
3756  }
3757#line 323
3758  return (tmp___7);
3759}
3760}
3761#line 325 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3762static char const   __mod_license325[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
3763__aligned__(1)))  = 
3764#line 325
3765  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
3766        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
3767        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
3768#line 326 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3769static char const   __mod_author326[45]  __attribute__((__used__, __unused__, __section__(".modinfo"),
3770__aligned__(1)))  = 
3771#line 326
3772  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
3773        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'D', 
3774        (char const   )'a',      (char const   )'v',      (char const   )'i',      (char const   )'d', 
3775        (char const   )' ',      (char const   )'W',      (char const   )'o',      (char const   )'o', 
3776        (char const   )'d',      (char const   )'h',      (char const   )'o',      (char const   )'u', 
3777        (char const   )'s',      (char const   )'e',      (char const   )' ',      (char const   )'<', 
3778        (char const   )'d',      (char const   )'w',      (char const   )'m',      (char const   )'w', 
3779        (char const   )'2',      (char const   )'@',      (char const   )'i',      (char const   )'n', 
3780        (char const   )'f',      (char const   )'r',      (char const   )'a',      (char const   )'d', 
3781        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )'.', 
3782        (char const   )'o',      (char const   )'r',      (char const   )'g',      (char const   )'>', 
3783        (char const   )'\000'};
3784#line 327 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3785static char const   __mod_description327[66]  __attribute__((__used__, __unused__,
3786__section__(".modinfo"), __aligned__(1)))  = 
3787#line 327
3788  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
3789        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
3790        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
3791        (char const   )'P',      (char const   )'r',      (char const   )'o',      (char const   )'b', 
3792        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'o', 
3793        (char const   )'d',      (char const   )'e',      (char const   )' ',      (char const   )'f', 
3794        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'D', 
3795        (char const   )'i',      (char const   )'s',      (char const   )'k',      (char const   )'O', 
3796        (char const   )'n',      (char const   )'C',      (char const   )'h',      (char const   )'i', 
3797        (char const   )'p',      (char const   )' ',      (char const   )'2',      (char const   )'0', 
3798        (char const   )'0',      (char const   )'0',      (char const   )' ',      (char const   )'a', 
3799        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'M', 
3800        (char const   )'i',      (char const   )'l',      (char const   )'l',      (char const   )'e', 
3801        (char const   )'n',      (char const   )'n',      (char const   )'i',      (char const   )'u', 
3802        (char const   )'m',      (char const   )' ',      (char const   )'d',      (char const   )'e', 
3803        (char const   )'v',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
3804        (char const   )'s',      (char const   )'\000'};
3805#line 346
3806void ldv_check_final_state(void) ;
3807#line 352
3808extern void ldv_initialize(void) ;
3809#line 355
3810extern int __VERIFIER_nondet_int(void) ;
3811#line 358 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3812int LDV_IN_INTERRUPT  ;
3813#line 361 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
3814void main(void) 
3815{ int tmp___7 ;
3816  int tmp___8 ;
3817  int tmp___9 ;
3818
3819  {
3820  {
3821#line 373
3822  LDV_IN_INTERRUPT = 1;
3823#line 382
3824  ldv_initialize();
3825#line 414
3826  tmp___7 = init_doc();
3827  }
3828#line 414
3829  if (tmp___7) {
3830#line 415
3831    goto ldv_module_exit;
3832  } else {
3833
3834  }
3835  {
3836#line 417
3837  while (1) {
3838    while_continue: /* CIL Label */ ;
3839    {
3840#line 417
3841    tmp___9 = __VERIFIER_nondet_int();
3842    }
3843#line 417
3844    if (tmp___9) {
3845
3846    } else {
3847#line 417
3848      goto while_break;
3849    }
3850    {
3851#line 420
3852    tmp___8 = __VERIFIER_nondet_int();
3853    }
3854    {
3855#line 422
3856    goto switch_default;
3857#line 420
3858    if (0) {
3859      switch_default: /* CIL Label */ 
3860#line 422
3861      goto switch_break;
3862    } else {
3863      switch_break: /* CIL Label */ ;
3864    }
3865    }
3866  }
3867  while_break: /* CIL Label */ ;
3868  }
3869  ldv_module_exit: 
3870  {
3871#line 431
3872  ldv_check_final_state();
3873  }
3874#line 434
3875  return;
3876}
3877}
3878#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
3879void ldv_blast_assert(void) 
3880{ 
3881
3882  {
3883  ERROR: 
3884#line 6
3885  goto ERROR;
3886}
3887}
3888#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
3889extern int __VERIFIER_nondet_int(void) ;
3890#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3891int ldv_mutex  =    1;
3892#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3893int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
3894{ int nondetermined ;
3895
3896  {
3897#line 29
3898  if (ldv_mutex == 1) {
3899
3900  } else {
3901    {
3902#line 29
3903    ldv_blast_assert();
3904    }
3905  }
3906  {
3907#line 32
3908  nondetermined = __VERIFIER_nondet_int();
3909  }
3910#line 35
3911  if (nondetermined) {
3912#line 38
3913    ldv_mutex = 2;
3914#line 40
3915    return (0);
3916  } else {
3917#line 45
3918    return (-4);
3919  }
3920}
3921}
3922#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3923int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
3924{ int nondetermined ;
3925
3926  {
3927#line 57
3928  if (ldv_mutex == 1) {
3929
3930  } else {
3931    {
3932#line 57
3933    ldv_blast_assert();
3934    }
3935  }
3936  {
3937#line 60
3938  nondetermined = __VERIFIER_nondet_int();
3939  }
3940#line 63
3941  if (nondetermined) {
3942#line 66
3943    ldv_mutex = 2;
3944#line 68
3945    return (0);
3946  } else {
3947#line 73
3948    return (-4);
3949  }
3950}
3951}
3952#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3953int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
3954{ int atomic_value_after_dec ;
3955
3956  {
3957#line 83
3958  if (ldv_mutex == 1) {
3959
3960  } else {
3961    {
3962#line 83
3963    ldv_blast_assert();
3964    }
3965  }
3966  {
3967#line 86
3968  atomic_value_after_dec = __VERIFIER_nondet_int();
3969  }
3970#line 89
3971  if (atomic_value_after_dec == 0) {
3972#line 92
3973    ldv_mutex = 2;
3974#line 94
3975    return (1);
3976  } else {
3977
3978  }
3979#line 98
3980  return (0);
3981}
3982}
3983#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3984void mutex_lock(struct mutex *lock ) 
3985{ 
3986
3987  {
3988#line 108
3989  if (ldv_mutex == 1) {
3990
3991  } else {
3992    {
3993#line 108
3994    ldv_blast_assert();
3995    }
3996  }
3997#line 110
3998  ldv_mutex = 2;
3999#line 111
4000  return;
4001}
4002}
4003#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4004int mutex_trylock(struct mutex *lock ) 
4005{ int nondetermined ;
4006
4007  {
4008#line 121
4009  if (ldv_mutex == 1) {
4010
4011  } else {
4012    {
4013#line 121
4014    ldv_blast_assert();
4015    }
4016  }
4017  {
4018#line 124
4019  nondetermined = __VERIFIER_nondet_int();
4020  }
4021#line 127
4022  if (nondetermined) {
4023#line 130
4024    ldv_mutex = 2;
4025#line 132
4026    return (1);
4027  } else {
4028#line 137
4029    return (0);
4030  }
4031}
4032}
4033#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4034void mutex_unlock(struct mutex *lock ) 
4035{ 
4036
4037  {
4038#line 147
4039  if (ldv_mutex == 2) {
4040
4041  } else {
4042    {
4043#line 147
4044    ldv_blast_assert();
4045    }
4046  }
4047#line 149
4048  ldv_mutex = 1;
4049#line 150
4050  return;
4051}
4052}
4053#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4054void ldv_check_final_state(void) 
4055{ 
4056
4057  {
4058#line 156
4059  if (ldv_mutex == 1) {
4060
4061  } else {
4062    {
4063#line 156
4064    ldv_blast_assert();
4065    }
4066  }
4067#line 157
4068  return;
4069}
4070}
4071#line 443 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5410/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/docprobe.c.common.c"
4072long s__builtin_expect(long val , long res ) 
4073{ 
4074
4075  {
4076#line 444
4077  return (val);
4078}
4079}