Showing error 521

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