Showing error 1325

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


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 19 "include/asm-generic/int-ll64.h"
   5typedef signed char __s8;
   6#line 20 "include/asm-generic/int-ll64.h"
   7typedef unsigned char __u8;
   8#line 22 "include/asm-generic/int-ll64.h"
   9typedef short __s16;
  10#line 23 "include/asm-generic/int-ll64.h"
  11typedef unsigned short __u16;
  12#line 25 "include/asm-generic/int-ll64.h"
  13typedef int __s32;
  14#line 26 "include/asm-generic/int-ll64.h"
  15typedef unsigned int __u32;
  16#line 30 "include/asm-generic/int-ll64.h"
  17typedef unsigned long long __u64;
  18#line 43 "include/asm-generic/int-ll64.h"
  19typedef unsigned char u8;
  20#line 45 "include/asm-generic/int-ll64.h"
  21typedef short s16;
  22#line 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 48 "include/asm-generic/int-ll64.h"
  25typedef int s32;
  26#line 49 "include/asm-generic/int-ll64.h"
  27typedef unsigned int u32;
  28#line 51 "include/asm-generic/int-ll64.h"
  29typedef long long s64;
  30#line 52 "include/asm-generic/int-ll64.h"
  31typedef unsigned long long u64;
  32#line 14 "include/asm-generic/posix_types.h"
  33typedef long __kernel_long_t;
  34#line 15 "include/asm-generic/posix_types.h"
  35typedef unsigned long __kernel_ulong_t;
  36#line 52 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_uid32_t;
  38#line 53 "include/asm-generic/posix_types.h"
  39typedef unsigned int __kernel_gid32_t;
  40#line 75 "include/asm-generic/posix_types.h"
  41typedef __kernel_ulong_t __kernel_size_t;
  42#line 76 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_ssize_t;
  44#line 91 "include/asm-generic/posix_types.h"
  45typedef long long __kernel_loff_t;
  46#line 92 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_time_t;
  48#line 21 "include/linux/types.h"
  49typedef __u32 __kernel_dev_t;
  50#line 24 "include/linux/types.h"
  51typedef __kernel_dev_t dev_t;
  52#line 27 "include/linux/types.h"
  53typedef unsigned short umode_t;
  54#line 38 "include/linux/types.h"
  55typedef _Bool bool;
  56#line 40 "include/linux/types.h"
  57typedef __kernel_uid32_t uid_t;
  58#line 41 "include/linux/types.h"
  59typedef __kernel_gid32_t gid_t;
  60#line 54 "include/linux/types.h"
  61typedef __kernel_loff_t loff_t;
  62#line 63 "include/linux/types.h"
  63typedef __kernel_size_t size_t;
  64#line 68 "include/linux/types.h"
  65typedef __kernel_ssize_t ssize_t;
  66#line 78 "include/linux/types.h"
  67typedef __kernel_time_t time_t;
  68#line 142 "include/linux/types.h"
  69typedef unsigned long sector_t;
  70#line 143 "include/linux/types.h"
  71typedef unsigned long blkcnt_t;
  72#line 202 "include/linux/types.h"
  73typedef unsigned int gfp_t;
  74#line 203 "include/linux/types.h"
  75typedef unsigned int fmode_t;
  76#line 206 "include/linux/types.h"
  77typedef u64 phys_addr_t;
  78#line 211 "include/linux/types.h"
  79typedef phys_addr_t resource_size_t;
  80#line 221 "include/linux/types.h"
  81struct __anonstruct_atomic_t_6 {
  82   int counter ;
  83};
  84#line 221 "include/linux/types.h"
  85typedef struct __anonstruct_atomic_t_6 atomic_t;
  86#line 226 "include/linux/types.h"
  87struct __anonstruct_atomic64_t_7 {
  88   long counter ;
  89};
  90#line 226 "include/linux/types.h"
  91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  92#line 227 "include/linux/types.h"
  93struct list_head {
  94   struct list_head *next ;
  95   struct list_head *prev ;
  96};
  97#line 232
  98struct hlist_node;
  99#line 232 "include/linux/types.h"
 100struct hlist_head {
 101   struct hlist_node *first ;
 102};
 103#line 236 "include/linux/types.h"
 104struct hlist_node {
 105   struct hlist_node *next ;
 106   struct hlist_node **pprev ;
 107};
 108#line 247 "include/linux/types.h"
 109struct rcu_head {
 110   struct rcu_head *next ;
 111   void (*func)(struct rcu_head * ) ;
 112};
 113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 114struct module;
 115#line 55
 116struct module;
 117#line 146 "include/linux/init.h"
 118typedef void (*ctor_fn_t)(void);
 119#line 46 "include/linux/dynamic_debug.h"
 120struct device;
 121#line 46
 122struct device;
 123#line 58
 124struct pt_regs;
 125#line 58
 126struct pt_regs;
 127#line 348 "include/linux/kernel.h"
 128struct pid;
 129#line 348
 130struct pid;
 131#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 132struct timespec;
 133#line 112
 134struct timespec;
 135#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 136struct page;
 137#line 58
 138struct page;
 139#line 26 "include/asm-generic/getorder.h"
 140struct task_struct;
 141#line 26
 142struct task_struct;
 143#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 144struct pt_regs {
 145   unsigned long r15 ;
 146   unsigned long r14 ;
 147   unsigned long r13 ;
 148   unsigned long r12 ;
 149   unsigned long bp ;
 150   unsigned long bx ;
 151   unsigned long r11 ;
 152   unsigned long r10 ;
 153   unsigned long r9 ;
 154   unsigned long r8 ;
 155   unsigned long ax ;
 156   unsigned long cx ;
 157   unsigned long dx ;
 158   unsigned long si ;
 159   unsigned long di ;
 160   unsigned long orig_ax ;
 161   unsigned long ip ;
 162   unsigned long cs ;
 163   unsigned long flags ;
 164   unsigned long sp ;
 165   unsigned long ss ;
 166};
 167#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 168struct __anonstruct_ldv_2180_13 {
 169   unsigned int a ;
 170   unsigned int b ;
 171};
 172#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 173struct __anonstruct_ldv_2195_14 {
 174   u16 limit0 ;
 175   u16 base0 ;
 176   unsigned char base1 ;
 177   unsigned char type : 4 ;
 178   unsigned char s : 1 ;
 179   unsigned char dpl : 2 ;
 180   unsigned char p : 1 ;
 181   unsigned char limit : 4 ;
 182   unsigned char avl : 1 ;
 183   unsigned char l : 1 ;
 184   unsigned char d : 1 ;
 185   unsigned char g : 1 ;
 186   unsigned char base2 ;
 187};
 188#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 189union __anonunion_ldv_2196_12 {
 190   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 191   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 192};
 193#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 194struct desc_struct {
 195   union __anonunion_ldv_2196_12 ldv_2196 ;
 196};
 197#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 198struct gate_struct64 {
 199   u16 offset_low ;
 200   u16 segment ;
 201   unsigned char ist : 3 ;
 202   unsigned char zero0 : 5 ;
 203   unsigned char type : 5 ;
 204   unsigned char dpl : 2 ;
 205   unsigned char p : 1 ;
 206   u16 offset_middle ;
 207   u32 offset_high ;
 208   u32 zero1 ;
 209};
 210#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 211typedef struct gate_struct64 gate_desc;
 212#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 213struct desc_ptr {
 214   unsigned short size ;
 215   unsigned long address ;
 216};
 217#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 218struct file;
 219#line 290
 220struct file;
 221#line 305
 222struct seq_file;
 223#line 305
 224struct seq_file;
 225#line 337
 226struct thread_struct;
 227#line 337
 228struct thread_struct;
 229#line 338
 230struct tss_struct;
 231#line 338
 232struct tss_struct;
 233#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 234struct pv_cpu_ops {
 235   unsigned long (*get_debugreg)(int  ) ;
 236   void (*set_debugreg)(int  , unsigned long  ) ;
 237   void (*clts)(void) ;
 238   unsigned long (*read_cr0)(void) ;
 239   void (*write_cr0)(unsigned long  ) ;
 240   unsigned long (*read_cr4_safe)(void) ;
 241   unsigned long (*read_cr4)(void) ;
 242   void (*write_cr4)(unsigned long  ) ;
 243   unsigned long (*read_cr8)(void) ;
 244   void (*write_cr8)(unsigned long  ) ;
 245   void (*load_tr_desc)(void) ;
 246   void (*load_gdt)(struct desc_ptr  const  * ) ;
 247   void (*load_idt)(struct desc_ptr  const  * ) ;
 248   void (*store_gdt)(struct desc_ptr * ) ;
 249   void (*store_idt)(struct desc_ptr * ) ;
 250   void (*set_ldt)(void const   * , unsigned int  ) ;
 251   unsigned long (*store_tr)(void) ;
 252   void (*load_tls)(struct thread_struct * , unsigned int  ) ;
 253   void (*load_gs_index)(unsigned int  ) ;
 254   void (*write_ldt_entry)(struct desc_struct * , int  , void const   * ) ;
 255   void (*write_gdt_entry)(struct desc_struct * , int  , void const   * , int  ) ;
 256   void (*write_idt_entry)(gate_desc * , int  , gate_desc const   * ) ;
 257   void (*alloc_ldt)(struct desc_struct * , unsigned int  ) ;
 258   void (*free_ldt)(struct desc_struct * , unsigned int  ) ;
 259   void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
 260   void (*set_iopl_mask)(unsigned int  ) ;
 261   void (*wbinvd)(void) ;
 262   void (*io_delay)(void) ;
 263   void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
 264   u64 (*read_msr)(unsigned int  , int * ) ;
 265   int (*rdmsr_regs)(u32 * ) ;
 266   int (*write_msr)(unsigned int  , unsigned int  , unsigned int  ) ;
 267   int (*wrmsr_regs)(u32 * ) ;
 268   u64 (*read_tsc)(void) ;
 269   u64 (*read_pmc)(int  ) ;
 270   unsigned long long (*read_tscp)(unsigned int * ) ;
 271   void (*irq_enable_sysexit)(void) ;
 272   void (*usergs_sysret64)(void) ;
 273   void (*usergs_sysret32)(void) ;
 274   void (*iret)(void) ;
 275   void (*swapgs)(void) ;
 276   void (*start_context_switch)(struct task_struct * ) ;
 277   void (*end_context_switch)(struct task_struct * ) ;
 278};
 279#line 327
 280struct arch_spinlock;
 281#line 327
 282struct arch_spinlock;
 283#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 284struct kernel_vm86_regs {
 285   struct pt_regs pt ;
 286   unsigned short es ;
 287   unsigned short __esh ;
 288   unsigned short ds ;
 289   unsigned short __dsh ;
 290   unsigned short fs ;
 291   unsigned short __fsh ;
 292   unsigned short gs ;
 293   unsigned short __gsh ;
 294};
 295#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 296union __anonunion_ldv_2824_19 {
 297   struct pt_regs *regs ;
 298   struct kernel_vm86_regs *vm86 ;
 299};
 300#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 301struct math_emu_info {
 302   long ___orig_eip ;
 303   union __anonunion_ldv_2824_19 ldv_2824 ;
 304};
 305#line 306 "include/linux/bitmap.h"
 306struct bug_entry {
 307   int bug_addr_disp ;
 308   int file_disp ;
 309   unsigned short line ;
 310   unsigned short flags ;
 311};
 312#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 313struct static_key;
 314#line 234
 315struct static_key;
 316#line 199 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 317struct x86_hw_tss {
 318   u32 reserved1 ;
 319   u64 sp0 ;
 320   u64 sp1 ;
 321   u64 sp2 ;
 322   u64 reserved2 ;
 323   u64 ist[7U] ;
 324   u32 reserved3 ;
 325   u32 reserved4 ;
 326   u16 reserved5 ;
 327   u16 io_bitmap_base ;
 328};
 329#line 246 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 330struct tss_struct {
 331   struct x86_hw_tss x86_tss ;
 332   unsigned long io_bitmap[1025U] ;
 333   unsigned long stack[64U] ;
 334};
 335#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 336struct i387_fsave_struct {
 337   u32 cwd ;
 338   u32 swd ;
 339   u32 twd ;
 340   u32 fip ;
 341   u32 fcs ;
 342   u32 foo ;
 343   u32 fos ;
 344   u32 st_space[20U] ;
 345   u32 status ;
 346};
 347#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 348struct __anonstruct_ldv_5180_24 {
 349   u64 rip ;
 350   u64 rdp ;
 351};
 352#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 353struct __anonstruct_ldv_5186_25 {
 354   u32 fip ;
 355   u32 fcs ;
 356   u32 foo ;
 357   u32 fos ;
 358};
 359#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 360union __anonunion_ldv_5187_23 {
 361   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 362   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 363};
 364#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 365union __anonunion_ldv_5196_26 {
 366   u32 padding1[12U] ;
 367   u32 sw_reserved[12U] ;
 368};
 369#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 370struct i387_fxsave_struct {
 371   u16 cwd ;
 372   u16 swd ;
 373   u16 twd ;
 374   u16 fop ;
 375   union __anonunion_ldv_5187_23 ldv_5187 ;
 376   u32 mxcsr ;
 377   u32 mxcsr_mask ;
 378   u32 st_space[32U] ;
 379   u32 xmm_space[64U] ;
 380   u32 padding[12U] ;
 381   union __anonunion_ldv_5196_26 ldv_5196 ;
 382};
 383#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 384struct i387_soft_struct {
 385   u32 cwd ;
 386   u32 swd ;
 387   u32 twd ;
 388   u32 fip ;
 389   u32 fcs ;
 390   u32 foo ;
 391   u32 fos ;
 392   u32 st_space[20U] ;
 393   u8 ftop ;
 394   u8 changed ;
 395   u8 lookahead ;
 396   u8 no_update ;
 397   u8 rm ;
 398   u8 alimit ;
 399   struct math_emu_info *info ;
 400   u32 entry_eip ;
 401};
 402#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 403struct ymmh_struct {
 404   u32 ymmh_space[64U] ;
 405};
 406#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 407struct xsave_hdr_struct {
 408   u64 xstate_bv ;
 409   u64 reserved1[2U] ;
 410   u64 reserved2[5U] ;
 411};
 412#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 413struct xsave_struct {
 414   struct i387_fxsave_struct i387 ;
 415   struct xsave_hdr_struct xsave_hdr ;
 416   struct ymmh_struct ymmh ;
 417};
 418#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 419union thread_xstate {
 420   struct i387_fsave_struct fsave ;
 421   struct i387_fxsave_struct fxsave ;
 422   struct i387_soft_struct soft ;
 423   struct xsave_struct xsave ;
 424};
 425#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 426struct fpu {
 427   unsigned int last_cpu ;
 428   unsigned int has_fpu ;
 429   union thread_xstate *state ;
 430};
 431#line 433
 432struct kmem_cache;
 433#line 434
 434struct perf_event;
 435#line 434
 436struct perf_event;
 437#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 438struct thread_struct {
 439   struct desc_struct tls_array[3U] ;
 440   unsigned long sp0 ;
 441   unsigned long sp ;
 442   unsigned long usersp ;
 443   unsigned short es ;
 444   unsigned short ds ;
 445   unsigned short fsindex ;
 446   unsigned short gsindex ;
 447   unsigned long fs ;
 448   unsigned long gs ;
 449   struct perf_event *ptrace_bps[4U] ;
 450   unsigned long debugreg6 ;
 451   unsigned long ptrace_dr7 ;
 452   unsigned long cr2 ;
 453   unsigned long trap_nr ;
 454   unsigned long error_code ;
 455   struct fpu fpu ;
 456   unsigned long *io_bitmap_ptr ;
 457   unsigned long iopl ;
 458   unsigned int io_bitmap_max ;
 459};
 460#line 23 "include/asm-generic/atomic-long.h"
 461typedef atomic64_t atomic_long_t;
 462#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 463typedef u16 __ticket_t;
 464#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 465typedef u32 __ticketpair_t;
 466#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 467struct __raw_tickets {
 468   __ticket_t head ;
 469   __ticket_t tail ;
 470};
 471#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 472union __anonunion_ldv_5907_29 {
 473   __ticketpair_t head_tail ;
 474   struct __raw_tickets tickets ;
 475};
 476#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 477struct arch_spinlock {
 478   union __anonunion_ldv_5907_29 ldv_5907 ;
 479};
 480#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 481typedef struct arch_spinlock arch_spinlock_t;
 482#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 483struct __anonstruct_ldv_5914_31 {
 484   u32 read ;
 485   s32 write ;
 486};
 487#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 488union __anonunion_arch_rwlock_t_30 {
 489   s64 lock ;
 490   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 491};
 492#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 493typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 494#line 34
 495struct lockdep_map;
 496#line 34
 497struct lockdep_map;
 498#line 55 "include/linux/debug_locks.h"
 499struct stack_trace {
 500   unsigned int nr_entries ;
 501   unsigned int max_entries ;
 502   unsigned long *entries ;
 503   int skip ;
 504};
 505#line 26 "include/linux/stacktrace.h"
 506struct lockdep_subclass_key {
 507   char __one_byte ;
 508};
 509#line 53 "include/linux/lockdep.h"
 510struct lock_class_key {
 511   struct lockdep_subclass_key subkeys[8U] ;
 512};
 513#line 59 "include/linux/lockdep.h"
 514struct lock_class {
 515   struct list_head hash_entry ;
 516   struct list_head lock_entry ;
 517   struct lockdep_subclass_key *key ;
 518   unsigned int subclass ;
 519   unsigned int dep_gen_id ;
 520   unsigned long usage_mask ;
 521   struct stack_trace usage_traces[13U] ;
 522   struct list_head locks_after ;
 523   struct list_head locks_before ;
 524   unsigned int version ;
 525   unsigned long ops ;
 526   char const   *name ;
 527   int name_version ;
 528   unsigned long contention_point[4U] ;
 529   unsigned long contending_point[4U] ;
 530};
 531#line 144 "include/linux/lockdep.h"
 532struct lockdep_map {
 533   struct lock_class_key *key ;
 534   struct lock_class *class_cache[2U] ;
 535   char const   *name ;
 536   int cpu ;
 537   unsigned long ip ;
 538};
 539#line 556 "include/linux/lockdep.h"
 540struct raw_spinlock {
 541   arch_spinlock_t raw_lock ;
 542   unsigned int magic ;
 543   unsigned int owner_cpu ;
 544   void *owner ;
 545   struct lockdep_map dep_map ;
 546};
 547#line 32 "include/linux/spinlock_types.h"
 548typedef struct raw_spinlock raw_spinlock_t;
 549#line 33 "include/linux/spinlock_types.h"
 550struct __anonstruct_ldv_6122_33 {
 551   u8 __padding[24U] ;
 552   struct lockdep_map dep_map ;
 553};
 554#line 33 "include/linux/spinlock_types.h"
 555union __anonunion_ldv_6123_32 {
 556   struct raw_spinlock rlock ;
 557   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 558};
 559#line 33 "include/linux/spinlock_types.h"
 560struct spinlock {
 561   union __anonunion_ldv_6123_32 ldv_6123 ;
 562};
 563#line 76 "include/linux/spinlock_types.h"
 564typedef struct spinlock spinlock_t;
 565#line 23 "include/linux/rwlock_types.h"
 566struct __anonstruct_rwlock_t_34 {
 567   arch_rwlock_t raw_lock ;
 568   unsigned int magic ;
 569   unsigned int owner_cpu ;
 570   void *owner ;
 571   struct lockdep_map dep_map ;
 572};
 573#line 23 "include/linux/rwlock_types.h"
 574typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 575#line 110 "include/linux/seqlock.h"
 576struct seqcount {
 577   unsigned int sequence ;
 578};
 579#line 121 "include/linux/seqlock.h"
 580typedef struct seqcount seqcount_t;
 581#line 254 "include/linux/seqlock.h"
 582struct timespec {
 583   __kernel_time_t tv_sec ;
 584   long tv_nsec ;
 585};
 586#line 286 "include/linux/time.h"
 587struct kstat {
 588   u64 ino ;
 589   dev_t dev ;
 590   umode_t mode ;
 591   unsigned int nlink ;
 592   uid_t uid ;
 593   gid_t gid ;
 594   dev_t rdev ;
 595   loff_t size ;
 596   struct timespec atime ;
 597   struct timespec mtime ;
 598   struct timespec ctime ;
 599   unsigned long blksize ;
 600   unsigned long long blocks ;
 601};
 602#line 48 "include/linux/wait.h"
 603struct __wait_queue_head {
 604   spinlock_t lock ;
 605   struct list_head task_list ;
 606};
 607#line 53 "include/linux/wait.h"
 608typedef struct __wait_queue_head wait_queue_head_t;
 609#line 670 "include/linux/mmzone.h"
 610struct mutex {
 611   atomic_t count ;
 612   spinlock_t wait_lock ;
 613   struct list_head wait_list ;
 614   struct task_struct *owner ;
 615   char const   *name ;
 616   void *magic ;
 617   struct lockdep_map dep_map ;
 618};
 619#line 171 "include/linux/mutex.h"
 620struct rw_semaphore;
 621#line 171
 622struct rw_semaphore;
 623#line 172 "include/linux/mutex.h"
 624struct rw_semaphore {
 625   long count ;
 626   raw_spinlock_t wait_lock ;
 627   struct list_head wait_list ;
 628   struct lockdep_map dep_map ;
 629};
 630#line 188 "include/linux/rcupdate.h"
 631struct notifier_block;
 632#line 188
 633struct notifier_block;
 634#line 239 "include/linux/srcu.h"
 635struct notifier_block {
 636   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 637   struct notifier_block *next ;
 638   int priority ;
 639};
 640#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 641struct resource {
 642   resource_size_t start ;
 643   resource_size_t end ;
 644   char const   *name ;
 645   unsigned long flags ;
 646   struct resource *parent ;
 647   struct resource *sibling ;
 648   struct resource *child ;
 649};
 650#line 18 "include/asm-generic/pci_iomap.h"
 651struct vm_area_struct;
 652#line 18
 653struct vm_area_struct;
 654#line 37 "include/linux/kmod.h"
 655struct cred;
 656#line 37
 657struct cred;
 658#line 18 "include/linux/elf.h"
 659typedef __u64 Elf64_Addr;
 660#line 19 "include/linux/elf.h"
 661typedef __u16 Elf64_Half;
 662#line 23 "include/linux/elf.h"
 663typedef __u32 Elf64_Word;
 664#line 24 "include/linux/elf.h"
 665typedef __u64 Elf64_Xword;
 666#line 193 "include/linux/elf.h"
 667struct elf64_sym {
 668   Elf64_Word st_name ;
 669   unsigned char st_info ;
 670   unsigned char st_other ;
 671   Elf64_Half st_shndx ;
 672   Elf64_Addr st_value ;
 673   Elf64_Xword st_size ;
 674};
 675#line 201 "include/linux/elf.h"
 676typedef struct elf64_sym Elf64_Sym;
 677#line 445
 678struct sock;
 679#line 445
 680struct sock;
 681#line 446
 682struct kobject;
 683#line 446
 684struct kobject;
 685#line 447
 686enum kobj_ns_type {
 687    KOBJ_NS_TYPE_NONE = 0,
 688    KOBJ_NS_TYPE_NET = 1,
 689    KOBJ_NS_TYPES = 2
 690} ;
 691#line 453 "include/linux/elf.h"
 692struct kobj_ns_type_operations {
 693   enum kobj_ns_type type ;
 694   void *(*grab_current_ns)(void) ;
 695   void const   *(*netlink_ns)(struct sock * ) ;
 696   void const   *(*initial_ns)(void) ;
 697   void (*drop_ns)(void * ) ;
 698};
 699#line 57 "include/linux/kobject_ns.h"
 700struct attribute {
 701   char const   *name ;
 702   umode_t mode ;
 703   struct lock_class_key *key ;
 704   struct lock_class_key skey ;
 705};
 706#line 98 "include/linux/sysfs.h"
 707struct sysfs_ops {
 708   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 709   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 710   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 711};
 712#line 117
 713struct sysfs_dirent;
 714#line 117
 715struct sysfs_dirent;
 716#line 182 "include/linux/sysfs.h"
 717struct kref {
 718   atomic_t refcount ;
 719};
 720#line 49 "include/linux/kobject.h"
 721struct kset;
 722#line 49
 723struct kobj_type;
 724#line 49 "include/linux/kobject.h"
 725struct kobject {
 726   char const   *name ;
 727   struct list_head entry ;
 728   struct kobject *parent ;
 729   struct kset *kset ;
 730   struct kobj_type *ktype ;
 731   struct sysfs_dirent *sd ;
 732   struct kref kref ;
 733   unsigned char state_initialized : 1 ;
 734   unsigned char state_in_sysfs : 1 ;
 735   unsigned char state_add_uevent_sent : 1 ;
 736   unsigned char state_remove_uevent_sent : 1 ;
 737   unsigned char uevent_suppress : 1 ;
 738};
 739#line 107 "include/linux/kobject.h"
 740struct kobj_type {
 741   void (*release)(struct kobject * ) ;
 742   struct sysfs_ops  const  *sysfs_ops ;
 743   struct attribute **default_attrs ;
 744   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 745   void const   *(*namespace)(struct kobject * ) ;
 746};
 747#line 115 "include/linux/kobject.h"
 748struct kobj_uevent_env {
 749   char *envp[32U] ;
 750   int envp_idx ;
 751   char buf[2048U] ;
 752   int buflen ;
 753};
 754#line 122 "include/linux/kobject.h"
 755struct kset_uevent_ops {
 756   int (* const  filter)(struct kset * , struct kobject * ) ;
 757   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 758   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 759};
 760#line 139 "include/linux/kobject.h"
 761struct kset {
 762   struct list_head list ;
 763   spinlock_t list_lock ;
 764   struct kobject kobj ;
 765   struct kset_uevent_ops  const  *uevent_ops ;
 766};
 767#line 215
 768struct kernel_param;
 769#line 215
 770struct kernel_param;
 771#line 216 "include/linux/kobject.h"
 772struct kernel_param_ops {
 773   int (*set)(char const   * , struct kernel_param  const  * ) ;
 774   int (*get)(char * , struct kernel_param  const  * ) ;
 775   void (*free)(void * ) ;
 776};
 777#line 49 "include/linux/moduleparam.h"
 778struct kparam_string;
 779#line 49
 780struct kparam_array;
 781#line 49 "include/linux/moduleparam.h"
 782union __anonunion_ldv_13363_134 {
 783   void *arg ;
 784   struct kparam_string  const  *str ;
 785   struct kparam_array  const  *arr ;
 786};
 787#line 49 "include/linux/moduleparam.h"
 788struct kernel_param {
 789   char const   *name ;
 790   struct kernel_param_ops  const  *ops ;
 791   u16 perm ;
 792   s16 level ;
 793   union __anonunion_ldv_13363_134 ldv_13363 ;
 794};
 795#line 61 "include/linux/moduleparam.h"
 796struct kparam_string {
 797   unsigned int maxlen ;
 798   char *string ;
 799};
 800#line 67 "include/linux/moduleparam.h"
 801struct kparam_array {
 802   unsigned int max ;
 803   unsigned int elemsize ;
 804   unsigned int *num ;
 805   struct kernel_param_ops  const  *ops ;
 806   void *elem ;
 807};
 808#line 458 "include/linux/moduleparam.h"
 809struct static_key {
 810   atomic_t enabled ;
 811};
 812#line 225 "include/linux/jump_label.h"
 813struct tracepoint;
 814#line 225
 815struct tracepoint;
 816#line 226 "include/linux/jump_label.h"
 817struct tracepoint_func {
 818   void *func ;
 819   void *data ;
 820};
 821#line 29 "include/linux/tracepoint.h"
 822struct tracepoint {
 823   char const   *name ;
 824   struct static_key key ;
 825   void (*regfunc)(void) ;
 826   void (*unregfunc)(void) ;
 827   struct tracepoint_func *funcs ;
 828};
 829#line 86 "include/linux/tracepoint.h"
 830struct kernel_symbol {
 831   unsigned long value ;
 832   char const   *name ;
 833};
 834#line 27 "include/linux/export.h"
 835struct mod_arch_specific {
 836
 837};
 838#line 34 "include/linux/module.h"
 839struct module_param_attrs;
 840#line 34 "include/linux/module.h"
 841struct module_kobject {
 842   struct kobject kobj ;
 843   struct module *mod ;
 844   struct kobject *drivers_dir ;
 845   struct module_param_attrs *mp ;
 846};
 847#line 43 "include/linux/module.h"
 848struct module_attribute {
 849   struct attribute attr ;
 850   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 851   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 852                    size_t  ) ;
 853   void (*setup)(struct module * , char const   * ) ;
 854   int (*test)(struct module * ) ;
 855   void (*free)(struct module * ) ;
 856};
 857#line 69
 858struct exception_table_entry;
 859#line 69
 860struct exception_table_entry;
 861#line 198
 862enum module_state {
 863    MODULE_STATE_LIVE = 0,
 864    MODULE_STATE_COMING = 1,
 865    MODULE_STATE_GOING = 2
 866} ;
 867#line 204 "include/linux/module.h"
 868struct module_ref {
 869   unsigned long incs ;
 870   unsigned long decs ;
 871};
 872#line 219
 873struct module_sect_attrs;
 874#line 219
 875struct module_notes_attrs;
 876#line 219
 877struct ftrace_event_call;
 878#line 219 "include/linux/module.h"
 879struct module {
 880   enum module_state state ;
 881   struct list_head list ;
 882   char name[56U] ;
 883   struct module_kobject mkobj ;
 884   struct module_attribute *modinfo_attrs ;
 885   char const   *version ;
 886   char const   *srcversion ;
 887   struct kobject *holders_dir ;
 888   struct kernel_symbol  const  *syms ;
 889   unsigned long const   *crcs ;
 890   unsigned int num_syms ;
 891   struct kernel_param *kp ;
 892   unsigned int num_kp ;
 893   unsigned int num_gpl_syms ;
 894   struct kernel_symbol  const  *gpl_syms ;
 895   unsigned long const   *gpl_crcs ;
 896   struct kernel_symbol  const  *unused_syms ;
 897   unsigned long const   *unused_crcs ;
 898   unsigned int num_unused_syms ;
 899   unsigned int num_unused_gpl_syms ;
 900   struct kernel_symbol  const  *unused_gpl_syms ;
 901   unsigned long const   *unused_gpl_crcs ;
 902   struct kernel_symbol  const  *gpl_future_syms ;
 903   unsigned long const   *gpl_future_crcs ;
 904   unsigned int num_gpl_future_syms ;
 905   unsigned int num_exentries ;
 906   struct exception_table_entry *extable ;
 907   int (*init)(void) ;
 908   void *module_init ;
 909   void *module_core ;
 910   unsigned int init_size ;
 911   unsigned int core_size ;
 912   unsigned int init_text_size ;
 913   unsigned int core_text_size ;
 914   unsigned int init_ro_size ;
 915   unsigned int core_ro_size ;
 916   struct mod_arch_specific arch ;
 917   unsigned int taints ;
 918   unsigned int num_bugs ;
 919   struct list_head bug_list ;
 920   struct bug_entry *bug_table ;
 921   Elf64_Sym *symtab ;
 922   Elf64_Sym *core_symtab ;
 923   unsigned int num_symtab ;
 924   unsigned int core_num_syms ;
 925   char *strtab ;
 926   char *core_strtab ;
 927   struct module_sect_attrs *sect_attrs ;
 928   struct module_notes_attrs *notes_attrs ;
 929   char *args ;
 930   void *percpu ;
 931   unsigned int percpu_size ;
 932   unsigned int num_tracepoints ;
 933   struct tracepoint * const  *tracepoints_ptrs ;
 934   unsigned int num_trace_bprintk_fmt ;
 935   char const   **trace_bprintk_fmt_start ;
 936   struct ftrace_event_call **trace_events ;
 937   unsigned int num_trace_events ;
 938   struct list_head source_list ;
 939   struct list_head target_list ;
 940   struct task_struct *waiter ;
 941   void (*exit)(void) ;
 942   struct module_ref *refptr ;
 943   ctor_fn_t (**ctors)(void) ;
 944   unsigned int num_ctors ;
 945};
 946#line 88 "include/linux/kmemleak.h"
 947struct kmem_cache_cpu {
 948   void **freelist ;
 949   unsigned long tid ;
 950   struct page *page ;
 951   struct page *partial ;
 952   int node ;
 953   unsigned int stat[26U] ;
 954};
 955#line 55 "include/linux/slub_def.h"
 956struct kmem_cache_node {
 957   spinlock_t list_lock ;
 958   unsigned long nr_partial ;
 959   struct list_head partial ;
 960   atomic_long_t nr_slabs ;
 961   atomic_long_t total_objects ;
 962   struct list_head full ;
 963};
 964#line 66 "include/linux/slub_def.h"
 965struct kmem_cache_order_objects {
 966   unsigned long x ;
 967};
 968#line 76 "include/linux/slub_def.h"
 969struct kmem_cache {
 970   struct kmem_cache_cpu *cpu_slab ;
 971   unsigned long flags ;
 972   unsigned long min_partial ;
 973   int size ;
 974   int objsize ;
 975   int offset ;
 976   int cpu_partial ;
 977   struct kmem_cache_order_objects oo ;
 978   struct kmem_cache_order_objects max ;
 979   struct kmem_cache_order_objects min ;
 980   gfp_t allocflags ;
 981   int refcount ;
 982   void (*ctor)(void * ) ;
 983   int inuse ;
 984   int align ;
 985   int reserved ;
 986   char const   *name ;
 987   struct list_head list ;
 988   struct kobject kobj ;
 989   int remote_node_defrag_ratio ;
 990   struct kmem_cache_node *node[1024U] ;
 991};
 992#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
 993struct file_operations;
 994#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
 995struct miscdevice {
 996   int minor ;
 997   char const   *name ;
 998   struct file_operations  const  *fops ;
 999   struct list_head list ;
1000   struct device *parent ;
1001   struct device *this_device ;
1002   char const   *nodename ;
1003   umode_t mode ;
1004};
1005#line 63 "include/linux/miscdevice.h"
1006struct watchdog_info {
1007   __u32 options ;
1008   __u32 firmware_version ;
1009   __u8 identity[32U] ;
1010};
1011#line 155 "include/linux/watchdog.h"
1012struct block_device;
1013#line 155
1014struct block_device;
1015#line 93 "include/linux/bit_spinlock.h"
1016struct hlist_bl_node;
1017#line 93 "include/linux/bit_spinlock.h"
1018struct hlist_bl_head {
1019   struct hlist_bl_node *first ;
1020};
1021#line 36 "include/linux/list_bl.h"
1022struct hlist_bl_node {
1023   struct hlist_bl_node *next ;
1024   struct hlist_bl_node **pprev ;
1025};
1026#line 114 "include/linux/rculist_bl.h"
1027struct nameidata;
1028#line 114
1029struct nameidata;
1030#line 115
1031struct path;
1032#line 115
1033struct path;
1034#line 116
1035struct vfsmount;
1036#line 116
1037struct vfsmount;
1038#line 117 "include/linux/rculist_bl.h"
1039struct qstr {
1040   unsigned int hash ;
1041   unsigned int len ;
1042   unsigned char const   *name ;
1043};
1044#line 72 "include/linux/dcache.h"
1045struct inode;
1046#line 72
1047struct dentry_operations;
1048#line 72
1049struct super_block;
1050#line 72 "include/linux/dcache.h"
1051union __anonunion_d_u_135 {
1052   struct list_head d_child ;
1053   struct rcu_head d_rcu ;
1054};
1055#line 72 "include/linux/dcache.h"
1056struct dentry {
1057   unsigned int d_flags ;
1058   seqcount_t d_seq ;
1059   struct hlist_bl_node d_hash ;
1060   struct dentry *d_parent ;
1061   struct qstr d_name ;
1062   struct inode *d_inode ;
1063   unsigned char d_iname[32U] ;
1064   unsigned int d_count ;
1065   spinlock_t d_lock ;
1066   struct dentry_operations  const  *d_op ;
1067   struct super_block *d_sb ;
1068   unsigned long d_time ;
1069   void *d_fsdata ;
1070   struct list_head d_lru ;
1071   union __anonunion_d_u_135 d_u ;
1072   struct list_head d_subdirs ;
1073   struct list_head d_alias ;
1074};
1075#line 123 "include/linux/dcache.h"
1076struct dentry_operations {
1077   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1078   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1079   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1080                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1081   int (*d_delete)(struct dentry  const  * ) ;
1082   void (*d_release)(struct dentry * ) ;
1083   void (*d_prune)(struct dentry * ) ;
1084   void (*d_iput)(struct dentry * , struct inode * ) ;
1085   char *(*d_dname)(struct dentry * , char * , int  ) ;
1086   struct vfsmount *(*d_automount)(struct path * ) ;
1087   int (*d_manage)(struct dentry * , bool  ) ;
1088};
1089#line 402 "include/linux/dcache.h"
1090struct path {
1091   struct vfsmount *mnt ;
1092   struct dentry *dentry ;
1093};
1094#line 58 "include/linux/radix-tree.h"
1095struct radix_tree_node;
1096#line 58 "include/linux/radix-tree.h"
1097struct radix_tree_root {
1098   unsigned int height ;
1099   gfp_t gfp_mask ;
1100   struct radix_tree_node *rnode ;
1101};
1102#line 377
1103struct prio_tree_node;
1104#line 19 "include/linux/prio_tree.h"
1105struct prio_tree_node {
1106   struct prio_tree_node *left ;
1107   struct prio_tree_node *right ;
1108   struct prio_tree_node *parent ;
1109   unsigned long start ;
1110   unsigned long last ;
1111};
1112#line 27 "include/linux/prio_tree.h"
1113struct prio_tree_root {
1114   struct prio_tree_node *prio_tree_node ;
1115   unsigned short index_bits ;
1116   unsigned short raw ;
1117};
1118#line 111
1119enum pid_type {
1120    PIDTYPE_PID = 0,
1121    PIDTYPE_PGID = 1,
1122    PIDTYPE_SID = 2,
1123    PIDTYPE_MAX = 3
1124} ;
1125#line 118
1126struct pid_namespace;
1127#line 118 "include/linux/prio_tree.h"
1128struct upid {
1129   int nr ;
1130   struct pid_namespace *ns ;
1131   struct hlist_node pid_chain ;
1132};
1133#line 56 "include/linux/pid.h"
1134struct pid {
1135   atomic_t count ;
1136   unsigned int level ;
1137   struct hlist_head tasks[3U] ;
1138   struct rcu_head rcu ;
1139   struct upid numbers[1U] ;
1140};
1141#line 45 "include/linux/semaphore.h"
1142struct fiemap_extent {
1143   __u64 fe_logical ;
1144   __u64 fe_physical ;
1145   __u64 fe_length ;
1146   __u64 fe_reserved64[2U] ;
1147   __u32 fe_flags ;
1148   __u32 fe_reserved[3U] ;
1149};
1150#line 38 "include/linux/fiemap.h"
1151struct shrink_control {
1152   gfp_t gfp_mask ;
1153   unsigned long nr_to_scan ;
1154};
1155#line 14 "include/linux/shrinker.h"
1156struct shrinker {
1157   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1158   int seeks ;
1159   long batch ;
1160   struct list_head list ;
1161   atomic_long_t nr_in_batch ;
1162};
1163#line 43
1164enum migrate_mode {
1165    MIGRATE_ASYNC = 0,
1166    MIGRATE_SYNC_LIGHT = 1,
1167    MIGRATE_SYNC = 2
1168} ;
1169#line 49
1170struct export_operations;
1171#line 49
1172struct export_operations;
1173#line 51
1174struct iovec;
1175#line 51
1176struct iovec;
1177#line 52
1178struct kiocb;
1179#line 52
1180struct kiocb;
1181#line 53
1182struct pipe_inode_info;
1183#line 53
1184struct pipe_inode_info;
1185#line 54
1186struct poll_table_struct;
1187#line 54
1188struct poll_table_struct;
1189#line 55
1190struct kstatfs;
1191#line 55
1192struct kstatfs;
1193#line 435 "include/linux/fs.h"
1194struct iattr {
1195   unsigned int ia_valid ;
1196   umode_t ia_mode ;
1197   uid_t ia_uid ;
1198   gid_t ia_gid ;
1199   loff_t ia_size ;
1200   struct timespec ia_atime ;
1201   struct timespec ia_mtime ;
1202   struct timespec ia_ctime ;
1203   struct file *ia_file ;
1204};
1205#line 119 "include/linux/quota.h"
1206struct if_dqinfo {
1207   __u64 dqi_bgrace ;
1208   __u64 dqi_igrace ;
1209   __u32 dqi_flags ;
1210   __u32 dqi_valid ;
1211};
1212#line 176 "include/linux/percpu_counter.h"
1213struct fs_disk_quota {
1214   __s8 d_version ;
1215   __s8 d_flags ;
1216   __u16 d_fieldmask ;
1217   __u32 d_id ;
1218   __u64 d_blk_hardlimit ;
1219   __u64 d_blk_softlimit ;
1220   __u64 d_ino_hardlimit ;
1221   __u64 d_ino_softlimit ;
1222   __u64 d_bcount ;
1223   __u64 d_icount ;
1224   __s32 d_itimer ;
1225   __s32 d_btimer ;
1226   __u16 d_iwarns ;
1227   __u16 d_bwarns ;
1228   __s32 d_padding2 ;
1229   __u64 d_rtb_hardlimit ;
1230   __u64 d_rtb_softlimit ;
1231   __u64 d_rtbcount ;
1232   __s32 d_rtbtimer ;
1233   __u16 d_rtbwarns ;
1234   __s16 d_padding3 ;
1235   char d_padding4[8U] ;
1236};
1237#line 75 "include/linux/dqblk_xfs.h"
1238struct fs_qfilestat {
1239   __u64 qfs_ino ;
1240   __u64 qfs_nblks ;
1241   __u32 qfs_nextents ;
1242};
1243#line 150 "include/linux/dqblk_xfs.h"
1244typedef struct fs_qfilestat fs_qfilestat_t;
1245#line 151 "include/linux/dqblk_xfs.h"
1246struct fs_quota_stat {
1247   __s8 qs_version ;
1248   __u16 qs_flags ;
1249   __s8 qs_pad ;
1250   fs_qfilestat_t qs_uquota ;
1251   fs_qfilestat_t qs_gquota ;
1252   __u32 qs_incoredqs ;
1253   __s32 qs_btimelimit ;
1254   __s32 qs_itimelimit ;
1255   __s32 qs_rtbtimelimit ;
1256   __u16 qs_bwarnlimit ;
1257   __u16 qs_iwarnlimit ;
1258};
1259#line 165
1260struct dquot;
1261#line 165
1262struct dquot;
1263#line 185 "include/linux/quota.h"
1264typedef __kernel_uid32_t qid_t;
1265#line 186 "include/linux/quota.h"
1266typedef long long qsize_t;
1267#line 189 "include/linux/quota.h"
1268struct mem_dqblk {
1269   qsize_t dqb_bhardlimit ;
1270   qsize_t dqb_bsoftlimit ;
1271   qsize_t dqb_curspace ;
1272   qsize_t dqb_rsvspace ;
1273   qsize_t dqb_ihardlimit ;
1274   qsize_t dqb_isoftlimit ;
1275   qsize_t dqb_curinodes ;
1276   time_t dqb_btime ;
1277   time_t dqb_itime ;
1278};
1279#line 211
1280struct quota_format_type;
1281#line 211
1282struct quota_format_type;
1283#line 212 "include/linux/quota.h"
1284struct mem_dqinfo {
1285   struct quota_format_type *dqi_format ;
1286   int dqi_fmt_id ;
1287   struct list_head dqi_dirty_list ;
1288   unsigned long dqi_flags ;
1289   unsigned int dqi_bgrace ;
1290   unsigned int dqi_igrace ;
1291   qsize_t dqi_maxblimit ;
1292   qsize_t dqi_maxilimit ;
1293   void *dqi_priv ;
1294};
1295#line 275 "include/linux/quota.h"
1296struct dquot {
1297   struct hlist_node dq_hash ;
1298   struct list_head dq_inuse ;
1299   struct list_head dq_free ;
1300   struct list_head dq_dirty ;
1301   struct mutex dq_lock ;
1302   atomic_t dq_count ;
1303   wait_queue_head_t dq_wait_unused ;
1304   struct super_block *dq_sb ;
1305   unsigned int dq_id ;
1306   loff_t dq_off ;
1307   unsigned long dq_flags ;
1308   short dq_type ;
1309   struct mem_dqblk dq_dqb ;
1310};
1311#line 303 "include/linux/quota.h"
1312struct quota_format_ops {
1313   int (*check_quota_file)(struct super_block * , int  ) ;
1314   int (*read_file_info)(struct super_block * , int  ) ;
1315   int (*write_file_info)(struct super_block * , int  ) ;
1316   int (*free_file_info)(struct super_block * , int  ) ;
1317   int (*read_dqblk)(struct dquot * ) ;
1318   int (*commit_dqblk)(struct dquot * ) ;
1319   int (*release_dqblk)(struct dquot * ) ;
1320};
1321#line 314 "include/linux/quota.h"
1322struct dquot_operations {
1323   int (*write_dquot)(struct dquot * ) ;
1324   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1325   void (*destroy_dquot)(struct dquot * ) ;
1326   int (*acquire_dquot)(struct dquot * ) ;
1327   int (*release_dquot)(struct dquot * ) ;
1328   int (*mark_dirty)(struct dquot * ) ;
1329   int (*write_info)(struct super_block * , int  ) ;
1330   qsize_t *(*get_reserved_space)(struct inode * ) ;
1331};
1332#line 328 "include/linux/quota.h"
1333struct quotactl_ops {
1334   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1335   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1336   int (*quota_off)(struct super_block * , int  ) ;
1337   int (*quota_sync)(struct super_block * , int  , int  ) ;
1338   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1339   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1340   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1341   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1342   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1343   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1344};
1345#line 344 "include/linux/quota.h"
1346struct quota_format_type {
1347   int qf_fmt_id ;
1348   struct quota_format_ops  const  *qf_ops ;
1349   struct module *qf_owner ;
1350   struct quota_format_type *qf_next ;
1351};
1352#line 390 "include/linux/quota.h"
1353struct quota_info {
1354   unsigned int flags ;
1355   struct mutex dqio_mutex ;
1356   struct mutex dqonoff_mutex ;
1357   struct rw_semaphore dqptr_sem ;
1358   struct inode *files[2U] ;
1359   struct mem_dqinfo info[2U] ;
1360   struct quota_format_ops  const  *ops[2U] ;
1361};
1362#line 421
1363struct address_space;
1364#line 421
1365struct address_space;
1366#line 422
1367struct writeback_control;
1368#line 422
1369struct writeback_control;
1370#line 585 "include/linux/fs.h"
1371union __anonunion_arg_138 {
1372   char *buf ;
1373   void *data ;
1374};
1375#line 585 "include/linux/fs.h"
1376struct __anonstruct_read_descriptor_t_137 {
1377   size_t written ;
1378   size_t count ;
1379   union __anonunion_arg_138 arg ;
1380   int error ;
1381};
1382#line 585 "include/linux/fs.h"
1383typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1384#line 588 "include/linux/fs.h"
1385struct address_space_operations {
1386   int (*writepage)(struct page * , struct writeback_control * ) ;
1387   int (*readpage)(struct file * , struct page * ) ;
1388   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1389   int (*set_page_dirty)(struct page * ) ;
1390   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1391                    unsigned int  ) ;
1392   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1393                      unsigned int  , struct page ** , void ** ) ;
1394   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1395                    unsigned int  , struct page * , void * ) ;
1396   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1397   void (*invalidatepage)(struct page * , unsigned long  ) ;
1398   int (*releasepage)(struct page * , gfp_t  ) ;
1399   void (*freepage)(struct page * ) ;
1400   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1401                        unsigned long  ) ;
1402   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1403   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1404   int (*launder_page)(struct page * ) ;
1405   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1406   int (*error_remove_page)(struct address_space * , struct page * ) ;
1407};
1408#line 642
1409struct backing_dev_info;
1410#line 642
1411struct backing_dev_info;
1412#line 643 "include/linux/fs.h"
1413struct address_space {
1414   struct inode *host ;
1415   struct radix_tree_root page_tree ;
1416   spinlock_t tree_lock ;
1417   unsigned int i_mmap_writable ;
1418   struct prio_tree_root i_mmap ;
1419   struct list_head i_mmap_nonlinear ;
1420   struct mutex i_mmap_mutex ;
1421   unsigned long nrpages ;
1422   unsigned long writeback_index ;
1423   struct address_space_operations  const  *a_ops ;
1424   unsigned long flags ;
1425   struct backing_dev_info *backing_dev_info ;
1426   spinlock_t private_lock ;
1427   struct list_head private_list ;
1428   struct address_space *assoc_mapping ;
1429};
1430#line 664
1431struct request_queue;
1432#line 664
1433struct request_queue;
1434#line 665
1435struct hd_struct;
1436#line 665
1437struct gendisk;
1438#line 665 "include/linux/fs.h"
1439struct block_device {
1440   dev_t bd_dev ;
1441   int bd_openers ;
1442   struct inode *bd_inode ;
1443   struct super_block *bd_super ;
1444   struct mutex bd_mutex ;
1445   struct list_head bd_inodes ;
1446   void *bd_claiming ;
1447   void *bd_holder ;
1448   int bd_holders ;
1449   bool bd_write_holder ;
1450   struct list_head bd_holder_disks ;
1451   struct block_device *bd_contains ;
1452   unsigned int bd_block_size ;
1453   struct hd_struct *bd_part ;
1454   unsigned int bd_part_count ;
1455   int bd_invalidated ;
1456   struct gendisk *bd_disk ;
1457   struct request_queue *bd_queue ;
1458   struct list_head bd_list ;
1459   unsigned long bd_private ;
1460   int bd_fsfreeze_count ;
1461   struct mutex bd_fsfreeze_mutex ;
1462};
1463#line 737
1464struct posix_acl;
1465#line 737
1466struct posix_acl;
1467#line 738
1468struct inode_operations;
1469#line 738 "include/linux/fs.h"
1470union __anonunion_ldv_15809_139 {
1471   unsigned int const   i_nlink ;
1472   unsigned int __i_nlink ;
1473};
1474#line 738 "include/linux/fs.h"
1475union __anonunion_ldv_15828_140 {
1476   struct list_head i_dentry ;
1477   struct rcu_head i_rcu ;
1478};
1479#line 738
1480struct file_lock;
1481#line 738
1482struct cdev;
1483#line 738 "include/linux/fs.h"
1484union __anonunion_ldv_15845_141 {
1485   struct pipe_inode_info *i_pipe ;
1486   struct block_device *i_bdev ;
1487   struct cdev *i_cdev ;
1488};
1489#line 738 "include/linux/fs.h"
1490struct inode {
1491   umode_t i_mode ;
1492   unsigned short i_opflags ;
1493   uid_t i_uid ;
1494   gid_t i_gid ;
1495   unsigned int i_flags ;
1496   struct posix_acl *i_acl ;
1497   struct posix_acl *i_default_acl ;
1498   struct inode_operations  const  *i_op ;
1499   struct super_block *i_sb ;
1500   struct address_space *i_mapping ;
1501   void *i_security ;
1502   unsigned long i_ino ;
1503   union __anonunion_ldv_15809_139 ldv_15809 ;
1504   dev_t i_rdev ;
1505   struct timespec i_atime ;
1506   struct timespec i_mtime ;
1507   struct timespec i_ctime ;
1508   spinlock_t i_lock ;
1509   unsigned short i_bytes ;
1510   blkcnt_t i_blocks ;
1511   loff_t i_size ;
1512   unsigned long i_state ;
1513   struct mutex i_mutex ;
1514   unsigned long dirtied_when ;
1515   struct hlist_node i_hash ;
1516   struct list_head i_wb_list ;
1517   struct list_head i_lru ;
1518   struct list_head i_sb_list ;
1519   union __anonunion_ldv_15828_140 ldv_15828 ;
1520   atomic_t i_count ;
1521   unsigned int i_blkbits ;
1522   u64 i_version ;
1523   atomic_t i_dio_count ;
1524   atomic_t i_writecount ;
1525   struct file_operations  const  *i_fop ;
1526   struct file_lock *i_flock ;
1527   struct address_space i_data ;
1528   struct dquot *i_dquot[2U] ;
1529   struct list_head i_devices ;
1530   union __anonunion_ldv_15845_141 ldv_15845 ;
1531   __u32 i_generation ;
1532   __u32 i_fsnotify_mask ;
1533   struct hlist_head i_fsnotify_marks ;
1534   atomic_t i_readcount ;
1535   void *i_private ;
1536};
1537#line 941 "include/linux/fs.h"
1538struct fown_struct {
1539   rwlock_t lock ;
1540   struct pid *pid ;
1541   enum pid_type pid_type ;
1542   uid_t uid ;
1543   uid_t euid ;
1544   int signum ;
1545};
1546#line 949 "include/linux/fs.h"
1547struct file_ra_state {
1548   unsigned long start ;
1549   unsigned int size ;
1550   unsigned int async_size ;
1551   unsigned int ra_pages ;
1552   unsigned int mmap_miss ;
1553   loff_t prev_pos ;
1554};
1555#line 972 "include/linux/fs.h"
1556union __anonunion_f_u_142 {
1557   struct list_head fu_list ;
1558   struct rcu_head fu_rcuhead ;
1559};
1560#line 972 "include/linux/fs.h"
1561struct file {
1562   union __anonunion_f_u_142 f_u ;
1563   struct path f_path ;
1564   struct file_operations  const  *f_op ;
1565   spinlock_t f_lock ;
1566   int f_sb_list_cpu ;
1567   atomic_long_t f_count ;
1568   unsigned int f_flags ;
1569   fmode_t f_mode ;
1570   loff_t f_pos ;
1571   struct fown_struct f_owner ;
1572   struct cred  const  *f_cred ;
1573   struct file_ra_state f_ra ;
1574   u64 f_version ;
1575   void *f_security ;
1576   void *private_data ;
1577   struct list_head f_ep_links ;
1578   struct list_head f_tfile_llink ;
1579   struct address_space *f_mapping ;
1580   unsigned long f_mnt_write_state ;
1581};
1582#line 1111
1583struct files_struct;
1584#line 1111 "include/linux/fs.h"
1585typedef struct files_struct *fl_owner_t;
1586#line 1112 "include/linux/fs.h"
1587struct file_lock_operations {
1588   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1589   void (*fl_release_private)(struct file_lock * ) ;
1590};
1591#line 1117 "include/linux/fs.h"
1592struct lock_manager_operations {
1593   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1594   void (*lm_notify)(struct file_lock * ) ;
1595   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1596   void (*lm_release_private)(struct file_lock * ) ;
1597   void (*lm_break)(struct file_lock * ) ;
1598   int (*lm_change)(struct file_lock ** , int  ) ;
1599};
1600#line 1134
1601struct nlm_lockowner;
1602#line 1134
1603struct nlm_lockowner;
1604#line 1135 "include/linux/fs.h"
1605struct nfs_lock_info {
1606   u32 state ;
1607   struct nlm_lockowner *owner ;
1608   struct list_head list ;
1609};
1610#line 14 "include/linux/nfs_fs_i.h"
1611struct nfs4_lock_state;
1612#line 14
1613struct nfs4_lock_state;
1614#line 15 "include/linux/nfs_fs_i.h"
1615struct nfs4_lock_info {
1616   struct nfs4_lock_state *owner ;
1617};
1618#line 19
1619struct fasync_struct;
1620#line 19 "include/linux/nfs_fs_i.h"
1621struct __anonstruct_afs_144 {
1622   struct list_head link ;
1623   int state ;
1624};
1625#line 19 "include/linux/nfs_fs_i.h"
1626union __anonunion_fl_u_143 {
1627   struct nfs_lock_info nfs_fl ;
1628   struct nfs4_lock_info nfs4_fl ;
1629   struct __anonstruct_afs_144 afs ;
1630};
1631#line 19 "include/linux/nfs_fs_i.h"
1632struct file_lock {
1633   struct file_lock *fl_next ;
1634   struct list_head fl_link ;
1635   struct list_head fl_block ;
1636   fl_owner_t fl_owner ;
1637   unsigned int fl_flags ;
1638   unsigned char fl_type ;
1639   unsigned int fl_pid ;
1640   struct pid *fl_nspid ;
1641   wait_queue_head_t fl_wait ;
1642   struct file *fl_file ;
1643   loff_t fl_start ;
1644   loff_t fl_end ;
1645   struct fasync_struct *fl_fasync ;
1646   unsigned long fl_break_time ;
1647   unsigned long fl_downgrade_time ;
1648   struct file_lock_operations  const  *fl_ops ;
1649   struct lock_manager_operations  const  *fl_lmops ;
1650   union __anonunion_fl_u_143 fl_u ;
1651};
1652#line 1221 "include/linux/fs.h"
1653struct fasync_struct {
1654   spinlock_t fa_lock ;
1655   int magic ;
1656   int fa_fd ;
1657   struct fasync_struct *fa_next ;
1658   struct file *fa_file ;
1659   struct rcu_head fa_rcu ;
1660};
1661#line 1417
1662struct file_system_type;
1663#line 1417
1664struct super_operations;
1665#line 1417
1666struct xattr_handler;
1667#line 1417
1668struct mtd_info;
1669#line 1417 "include/linux/fs.h"
1670struct super_block {
1671   struct list_head s_list ;
1672   dev_t s_dev ;
1673   unsigned char s_dirt ;
1674   unsigned char s_blocksize_bits ;
1675   unsigned long s_blocksize ;
1676   loff_t s_maxbytes ;
1677   struct file_system_type *s_type ;
1678   struct super_operations  const  *s_op ;
1679   struct dquot_operations  const  *dq_op ;
1680   struct quotactl_ops  const  *s_qcop ;
1681   struct export_operations  const  *s_export_op ;
1682   unsigned long s_flags ;
1683   unsigned long s_magic ;
1684   struct dentry *s_root ;
1685   struct rw_semaphore s_umount ;
1686   struct mutex s_lock ;
1687   int s_count ;
1688   atomic_t s_active ;
1689   void *s_security ;
1690   struct xattr_handler  const  **s_xattr ;
1691   struct list_head s_inodes ;
1692   struct hlist_bl_head s_anon ;
1693   struct list_head *s_files ;
1694   struct list_head s_mounts ;
1695   struct list_head s_dentry_lru ;
1696   int s_nr_dentry_unused ;
1697   spinlock_t s_inode_lru_lock ;
1698   struct list_head s_inode_lru ;
1699   int s_nr_inodes_unused ;
1700   struct block_device *s_bdev ;
1701   struct backing_dev_info *s_bdi ;
1702   struct mtd_info *s_mtd ;
1703   struct hlist_node s_instances ;
1704   struct quota_info s_dquot ;
1705   int s_frozen ;
1706   wait_queue_head_t s_wait_unfrozen ;
1707   char s_id[32U] ;
1708   u8 s_uuid[16U] ;
1709   void *s_fs_info ;
1710   unsigned int s_max_links ;
1711   fmode_t s_mode ;
1712   u32 s_time_gran ;
1713   struct mutex s_vfs_rename_mutex ;
1714   char *s_subtype ;
1715   char *s_options ;
1716   struct dentry_operations  const  *s_d_op ;
1717   int cleancache_poolid ;
1718   struct shrinker s_shrink ;
1719   atomic_long_t s_remove_count ;
1720   int s_readonly_remount ;
1721};
1722#line 1563 "include/linux/fs.h"
1723struct fiemap_extent_info {
1724   unsigned int fi_flags ;
1725   unsigned int fi_extents_mapped ;
1726   unsigned int fi_extents_max ;
1727   struct fiemap_extent *fi_extents_start ;
1728};
1729#line 1602 "include/linux/fs.h"
1730struct file_operations {
1731   struct module *owner ;
1732   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1733   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1734   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1735   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1736                       loff_t  ) ;
1737   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1738                        loff_t  ) ;
1739   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1740                                                   loff_t  , u64  , unsigned int  ) ) ;
1741   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1742   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1743   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1744   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1745   int (*open)(struct inode * , struct file * ) ;
1746   int (*flush)(struct file * , fl_owner_t  ) ;
1747   int (*release)(struct inode * , struct file * ) ;
1748   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1749   int (*aio_fsync)(struct kiocb * , int  ) ;
1750   int (*fasync)(int  , struct file * , int  ) ;
1751   int (*lock)(struct file * , int  , struct file_lock * ) ;
1752   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1753                       int  ) ;
1754   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1755                                      unsigned long  , unsigned long  ) ;
1756   int (*check_flags)(int  ) ;
1757   int (*flock)(struct file * , int  , struct file_lock * ) ;
1758   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1759                           unsigned int  ) ;
1760   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1761                          unsigned int  ) ;
1762   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1763   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1764};
1765#line 1637 "include/linux/fs.h"
1766struct inode_operations {
1767   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1768   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1769   int (*permission)(struct inode * , int  ) ;
1770   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1771   int (*readlink)(struct dentry * , char * , int  ) ;
1772   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1773   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1774   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1775   int (*unlink)(struct inode * , struct dentry * ) ;
1776   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1777   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1778   int (*rmdir)(struct inode * , struct dentry * ) ;
1779   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1780   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1781   void (*truncate)(struct inode * ) ;
1782   int (*setattr)(struct dentry * , struct iattr * ) ;
1783   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1784   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1785   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1786   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1787   int (*removexattr)(struct dentry * , char const   * ) ;
1788   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1789   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
1790};
1791#line 1682 "include/linux/fs.h"
1792struct super_operations {
1793   struct inode *(*alloc_inode)(struct super_block * ) ;
1794   void (*destroy_inode)(struct inode * ) ;
1795   void (*dirty_inode)(struct inode * , int  ) ;
1796   int (*write_inode)(struct inode * , struct writeback_control * ) ;
1797   int (*drop_inode)(struct inode * ) ;
1798   void (*evict_inode)(struct inode * ) ;
1799   void (*put_super)(struct super_block * ) ;
1800   void (*write_super)(struct super_block * ) ;
1801   int (*sync_fs)(struct super_block * , int  ) ;
1802   int (*freeze_fs)(struct super_block * ) ;
1803   int (*unfreeze_fs)(struct super_block * ) ;
1804   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1805   int (*remount_fs)(struct super_block * , int * , char * ) ;
1806   void (*umount_begin)(struct super_block * ) ;
1807   int (*show_options)(struct seq_file * , struct dentry * ) ;
1808   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1809   int (*show_path)(struct seq_file * , struct dentry * ) ;
1810   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1811   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1812   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1813                          loff_t  ) ;
1814   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
1815   int (*nr_cached_objects)(struct super_block * ) ;
1816   void (*free_cached_objects)(struct super_block * , int  ) ;
1817};
1818#line 1834 "include/linux/fs.h"
1819struct file_system_type {
1820   char const   *name ;
1821   int fs_flags ;
1822   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
1823   void (*kill_sb)(struct super_block * ) ;
1824   struct module *owner ;
1825   struct file_system_type *next ;
1826   struct hlist_head fs_supers ;
1827   struct lock_class_key s_lock_key ;
1828   struct lock_class_key s_umount_key ;
1829   struct lock_class_key s_vfs_rename_key ;
1830   struct lock_class_key i_lock_key ;
1831   struct lock_class_key i_mutex_key ;
1832   struct lock_class_key i_mutex_dir_key ;
1833};
1834#line 69 "include/linux/io.h"
1835struct exception_table_entry {
1836   unsigned long insn ;
1837   unsigned long fixup ;
1838};
1839#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
1840void ldv_spin_lock(void) ;
1841#line 3
1842void ldv_spin_unlock(void) ;
1843#line 4
1844int ldv_spin_trylock(void) ;
1845#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1846__inline static void clear_bit(int nr , unsigned long volatile   *addr ) 
1847{ long volatile   *__cil_tmp3 ;
1848
1849  {
1850#line 105
1851  __cil_tmp3 = (long volatile   *)addr;
1852#line 105
1853  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
1854#line 107
1855  return;
1856}
1857}
1858#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1859__inline static int test_and_set_bit(int nr , unsigned long volatile   *addr ) 
1860{ int oldbit ;
1861  long volatile   *__cil_tmp4 ;
1862
1863  {
1864#line 199
1865  __cil_tmp4 = (long volatile   *)addr;
1866#line 199
1867  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
1868                       "+m" (*__cil_tmp4): "Ir" (nr): "memory");
1869#line 202
1870  return (oldbit);
1871}
1872}
1873#line 101 "include/linux/printk.h"
1874extern int printk(char const   *  , ...) ;
1875#line 192 "include/linux/kernel.h"
1876extern void might_fault(void) ;
1877#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1878extern struct pv_cpu_ops pv_cpu_ops ;
1879#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1880__inline static void slow_down_io(void) 
1881{ unsigned long __cil_tmp1 ;
1882  void (*__cil_tmp2)(void) ;
1883
1884  {
1885  {
1886#line 351
1887  __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1888#line 351
1889  __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1890#line 351
1891  (*__cil_tmp2)();
1892  }
1893#line 352
1894  return;
1895}
1896}
1897#line 22 "include/linux/spinlock_api_smp.h"
1898extern void _raw_spin_lock(raw_spinlock_t * ) ;
1899#line 39
1900extern void _raw_spin_unlock(raw_spinlock_t * ) ;
1901#line 283 "include/linux/spinlock.h"
1902__inline static void ldv_spin_lock_1(spinlock_t *lock ) 
1903{ struct raw_spinlock *__cil_tmp2 ;
1904
1905  {
1906  {
1907#line 285
1908  __cil_tmp2 = (struct raw_spinlock *)lock;
1909#line 285
1910  _raw_spin_lock(__cil_tmp2);
1911  }
1912#line 286
1913  return;
1914}
1915}
1916#line 283
1917__inline static void spin_lock(spinlock_t *lock ) ;
1918#line 323 "include/linux/spinlock.h"
1919__inline static void ldv_spin_unlock_5(spinlock_t *lock ) 
1920{ struct raw_spinlock *__cil_tmp2 ;
1921
1922  {
1923  {
1924#line 325
1925  __cil_tmp2 = (struct raw_spinlock *)lock;
1926#line 325
1927  _raw_spin_unlock(__cil_tmp2);
1928  }
1929#line 326
1930  return;
1931}
1932}
1933#line 323
1934__inline static void spin_unlock(spinlock_t *lock ) ;
1935#line 137 "include/linux/ioport.h"
1936extern struct resource ioport_resource ;
1937#line 181
1938extern struct resource *__request_region(struct resource * , resource_size_t  , resource_size_t  ,
1939                                         char const   * , int  ) ;
1940#line 192
1941extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
1942#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1943__inline static void outb(unsigned char value , int port ) 
1944{ 
1945
1946  {
1947#line 308
1948  __asm__  volatile   ("outb %b0, %w1": : "a" (value), "Nd" (port));
1949#line 309
1950  return;
1951}
1952}
1953#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1954__inline static unsigned char inb(int port ) 
1955{ unsigned char value ;
1956
1957  {
1958#line 308
1959  __asm__  volatile   ("inb %w1, %b0": "=a" (value): "Nd" (port));
1960#line 308
1961  return (value);
1962}
1963}
1964#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1965__inline static void outb_p(unsigned char value , int port ) 
1966{ int __cil_tmp3 ;
1967  unsigned char __cil_tmp4 ;
1968
1969  {
1970  {
1971#line 308
1972  __cil_tmp3 = (int )value;
1973#line 308
1974  __cil_tmp4 = (unsigned char )__cil_tmp3;
1975#line 308
1976  outb(__cil_tmp4, port);
1977#line 308
1978  slow_down_io();
1979  }
1980#line 309
1981  return;
1982}
1983}
1984#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1985__inline static unsigned char inb_p(int port ) 
1986{ unsigned char value ;
1987  unsigned char tmp ;
1988
1989  {
1990  {
1991#line 308
1992  tmp = inb(port);
1993#line 308
1994  value = tmp;
1995#line 308
1996  slow_down_io();
1997  }
1998#line 308
1999  return (value);
2000}
2001}
2002#line 26 "include/linux/export.h"
2003extern struct module __this_module ;
2004#line 220 "include/linux/slub_def.h"
2005extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2006#line 223
2007void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2008#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2009void ldv_check_alloc_flags(gfp_t flags ) ;
2010#line 12
2011void ldv_check_alloc_nonatomic(void) ;
2012#line 14
2013struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2014#line 61 "include/linux/miscdevice.h"
2015extern int misc_register(struct miscdevice * ) ;
2016#line 62
2017extern int misc_deregister(struct miscdevice * ) ;
2018#line 2402 "include/linux/fs.h"
2019extern loff_t no_llseek(struct file * , loff_t  , int  ) ;
2020#line 2407
2021extern int nonseekable_open(struct inode * , struct file * ) ;
2022#line 47 "include/linux/reboot.h"
2023extern int register_reboot_notifier(struct notifier_block * ) ;
2024#line 48
2025extern int unregister_reboot_notifier(struct notifier_block * ) ;
2026#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2027extern unsigned long _copy_to_user(void * , void const   * , unsigned int  ) ;
2028#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2029__inline static int copy_to_user(void *dst , void const   *src , unsigned int size ) 
2030{ unsigned long tmp ;
2031
2032  {
2033  {
2034#line 65
2035  might_fault();
2036#line 67
2037  tmp = _copy_to_user(dst, src, size);
2038  }
2039#line 67
2040  return ((int )tmp);
2041}
2042}
2043#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2044static unsigned long wafwdt_is_open  ;
2045#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2046static char expect_close  ;
2047#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2048static spinlock_t wafwdt_lock  =    {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2049                                                                       {(struct lock_class *)0,
2050                                                                        (struct lock_class *)0},
2051                                                                       "wafwdt_lock",
2052                                                                       0, 0UL}}}};
2053#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2054static int wdt_stop  =    2115;
2055#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2056static int wdt_start  =    1091;
2057#line 79 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2058static int timeout  =    60;
2059#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2060static bool nowayout  =    (bool )1;
2061#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2062static void wafwdt_ping(void) 
2063{ 
2064
2065  {
2066  {
2067#line 94
2068  spin_lock(& wafwdt_lock);
2069#line 95
2070  inb_p(wdt_stop);
2071#line 96
2072  inb_p(wdt_start);
2073#line 97
2074  spin_unlock(& wafwdt_lock);
2075  }
2076#line 98
2077  return;
2078}
2079}
2080#line 100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2081static void wafwdt_start(void) 
2082{ int *__cil_tmp1 ;
2083  int __cil_tmp2 ;
2084  unsigned char __cil_tmp3 ;
2085  int __cil_tmp4 ;
2086  unsigned char __cil_tmp5 ;
2087
2088  {
2089  {
2090#line 103
2091  __cil_tmp1 = & timeout;
2092#line 103
2093  __cil_tmp2 = *__cil_tmp1;
2094#line 103
2095  __cil_tmp3 = (unsigned char )__cil_tmp2;
2096#line 103
2097  __cil_tmp4 = (int )__cil_tmp3;
2098#line 103
2099  __cil_tmp5 = (unsigned char )__cil_tmp4;
2100#line 103
2101  outb_p(__cil_tmp5, wdt_start);
2102#line 104
2103  inb_p(wdt_start);
2104  }
2105#line 105
2106  return;
2107}
2108}
2109#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2110static void wafwdt_stop(void) 
2111{ 
2112
2113  {
2114  {
2115#line 110
2116  inb_p(wdt_stop);
2117  }
2118#line 111
2119  return;
2120}
2121}
2122#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2123static ssize_t wafwdt_write(struct file *file , char const   *buf , size_t count ,
2124                            loff_t *ppos ) 
2125{ size_t i ;
2126  char c ;
2127  int __ret_gu ;
2128  unsigned long __val_gu ;
2129  bool *__cil_tmp9 ;
2130  bool __cil_tmp10 ;
2131  signed char __cil_tmp11 ;
2132  int __cil_tmp12 ;
2133
2134  {
2135#line 117
2136  if (count != 0UL) {
2137    {
2138#line 118
2139    __cil_tmp9 = & nowayout;
2140#line 118
2141    __cil_tmp10 = *__cil_tmp9;
2142#line 118
2143    if (! __cil_tmp10) {
2144#line 122
2145      expect_close = (char)0;
2146#line 126
2147      i = 0UL;
2148#line 126
2149      goto ldv_18050;
2150      ldv_18049: 
2151      {
2152#line 128
2153      might_fault();
2154      }
2155#line 128
2156      if (1 == 1) {
2157#line 128
2158        goto case_1;
2159      } else
2160#line 128
2161      if (1 == 2) {
2162#line 128
2163        goto case_2;
2164      } else
2165#line 128
2166      if (1 == 4) {
2167#line 128
2168        goto case_4;
2169      } else
2170#line 128
2171      if (1 == 8) {
2172#line 128
2173        goto case_8;
2174      } else {
2175        {
2176#line 128
2177        goto switch_default;
2178#line 128
2179        if (0) {
2180          case_1: /* CIL Label */ 
2181#line 128
2182          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2183#line 128
2184          goto ldv_18043;
2185          case_2: /* CIL Label */ 
2186#line 128
2187          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2188#line 128
2189          goto ldv_18043;
2190          case_4: /* CIL Label */ 
2191#line 128
2192          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2193#line 128
2194          goto ldv_18043;
2195          case_8: /* CIL Label */ 
2196#line 128
2197          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2198#line 128
2199          goto ldv_18043;
2200          switch_default: /* CIL Label */ 
2201#line 128
2202          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2203#line 128
2204          goto ldv_18043;
2205        } else {
2206          switch_break: /* CIL Label */ ;
2207        }
2208        }
2209      }
2210      ldv_18043: 
2211#line 128
2212      c = (char )__val_gu;
2213#line 128
2214      if (__ret_gu != 0) {
2215#line 129
2216        return (-14L);
2217      } else {
2218
2219      }
2220      {
2221#line 130
2222      __cil_tmp11 = (signed char )c;
2223#line 130
2224      __cil_tmp12 = (int )__cil_tmp11;
2225#line 130
2226      if (__cil_tmp12 == 86) {
2227#line 131
2228        expect_close = (char)42;
2229      } else {
2230
2231      }
2232      }
2233#line 126
2234      i = i + 1UL;
2235      ldv_18050: ;
2236#line 126
2237      if (i != count) {
2238#line 127
2239        goto ldv_18049;
2240      } else {
2241#line 129
2242        goto ldv_18051;
2243      }
2244      ldv_18051: ;
2245    } else {
2246
2247    }
2248    }
2249    {
2250#line 136
2251    wafwdt_ping();
2252    }
2253  } else {
2254
2255  }
2256#line 138
2257  return ((ssize_t )count);
2258}
2259}
2260#line 141 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2261static long wafwdt_ioctl(struct file *file , unsigned int cmd , unsigned long arg ) 
2262{ int new_timeout ;
2263  void *argp ;
2264  int *p ;
2265  struct watchdog_info ident ;
2266  int tmp ;
2267  int __ret_pu ;
2268  int __pu_val ;
2269  int options ;
2270  int retval ;
2271  int __ret_gu ;
2272  unsigned long __val_gu ;
2273  int __ret_gu___0 ;
2274  unsigned long __val_gu___0 ;
2275  int __ret_pu___0 ;
2276  int __pu_val___0 ;
2277  struct watchdog_info *__cil_tmp19 ;
2278  unsigned long __cil_tmp20 ;
2279  unsigned long __cil_tmp21 ;
2280  unsigned long __cil_tmp22 ;
2281  unsigned long __cil_tmp23 ;
2282  unsigned long __cil_tmp24 ;
2283  unsigned long __cil_tmp25 ;
2284  unsigned long __cil_tmp26 ;
2285  unsigned long __cil_tmp27 ;
2286  unsigned long __cil_tmp28 ;
2287  unsigned long __cil_tmp29 ;
2288  unsigned long __cil_tmp30 ;
2289  unsigned long __cil_tmp31 ;
2290  unsigned long __cil_tmp32 ;
2291  unsigned long __cil_tmp33 ;
2292  unsigned long __cil_tmp34 ;
2293  unsigned long __cil_tmp35 ;
2294  unsigned long __cil_tmp36 ;
2295  unsigned long __cil_tmp37 ;
2296  unsigned long __cil_tmp38 ;
2297  unsigned long __cil_tmp39 ;
2298  unsigned long __cil_tmp40 ;
2299  unsigned long __cil_tmp41 ;
2300  unsigned long __cil_tmp42 ;
2301  unsigned long __cil_tmp43 ;
2302  unsigned long __cil_tmp44 ;
2303  unsigned long __cil_tmp45 ;
2304  unsigned long __cil_tmp46 ;
2305  unsigned long __cil_tmp47 ;
2306  unsigned long __cil_tmp48 ;
2307  unsigned long __cil_tmp49 ;
2308  unsigned long __cil_tmp50 ;
2309  unsigned long __cil_tmp51 ;
2310  unsigned long __cil_tmp52 ;
2311  unsigned long __cil_tmp53 ;
2312  unsigned long __cil_tmp54 ;
2313  unsigned long __cil_tmp55 ;
2314  unsigned long __cil_tmp56 ;
2315  unsigned long __cil_tmp57 ;
2316  unsigned long __cil_tmp58 ;
2317  unsigned long __cil_tmp59 ;
2318  unsigned long __cil_tmp60 ;
2319  unsigned long __cil_tmp61 ;
2320  unsigned long __cil_tmp62 ;
2321  unsigned long __cil_tmp63 ;
2322  unsigned long __cil_tmp64 ;
2323  unsigned long __cil_tmp65 ;
2324  void const   *__cil_tmp66 ;
2325  int __cil_tmp67 ;
2326  int *__cil_tmp68 ;
2327  int *__cil_tmp69 ;
2328
2329  {
2330#line 145
2331  argp = (void *)arg;
2332#line 146
2333  p = (int *)argp;
2334#line 147
2335  __cil_tmp19 = & ident;
2336#line 147
2337  *((__u32 *)__cil_tmp19) = 33152U;
2338#line 147
2339  __cil_tmp20 = (unsigned long )(& ident) + 4;
2340#line 147
2341  *((__u32 *)__cil_tmp20) = 1U;
2342#line 147
2343  __cil_tmp21 = 0 * 1UL;
2344#line 147
2345  __cil_tmp22 = 8 + __cil_tmp21;
2346#line 147
2347  __cil_tmp23 = (unsigned long )(& ident) + __cil_tmp22;
2348#line 147
2349  *((__u8 *)__cil_tmp23) = (__u8 )'W';
2350#line 147
2351  __cil_tmp24 = 1 * 1UL;
2352#line 147
2353  __cil_tmp25 = 8 + __cil_tmp24;
2354#line 147
2355  __cil_tmp26 = (unsigned long )(& ident) + __cil_tmp25;
2356#line 147
2357  *((__u8 *)__cil_tmp26) = (__u8 )'a';
2358#line 147
2359  __cil_tmp27 = 2 * 1UL;
2360#line 147
2361  __cil_tmp28 = 8 + __cil_tmp27;
2362#line 147
2363  __cil_tmp29 = (unsigned long )(& ident) + __cil_tmp28;
2364#line 147
2365  *((__u8 *)__cil_tmp29) = (__u8 )'f';
2366#line 147
2367  __cil_tmp30 = 3 * 1UL;
2368#line 147
2369  __cil_tmp31 = 8 + __cil_tmp30;
2370#line 147
2371  __cil_tmp32 = (unsigned long )(& ident) + __cil_tmp31;
2372#line 147
2373  *((__u8 *)__cil_tmp32) = (__u8 )'e';
2374#line 147
2375  __cil_tmp33 = 4 * 1UL;
2376#line 147
2377  __cil_tmp34 = 8 + __cil_tmp33;
2378#line 147
2379  __cil_tmp35 = (unsigned long )(& ident) + __cil_tmp34;
2380#line 147
2381  *((__u8 *)__cil_tmp35) = (__u8 )'r';
2382#line 147
2383  __cil_tmp36 = 5 * 1UL;
2384#line 147
2385  __cil_tmp37 = 8 + __cil_tmp36;
2386#line 147
2387  __cil_tmp38 = (unsigned long )(& ident) + __cil_tmp37;
2388#line 147
2389  *((__u8 *)__cil_tmp38) = (__u8 )' ';
2390#line 147
2391  __cil_tmp39 = 6 * 1UL;
2392#line 147
2393  __cil_tmp40 = 8 + __cil_tmp39;
2394#line 147
2395  __cil_tmp41 = (unsigned long )(& ident) + __cil_tmp40;
2396#line 147
2397  *((__u8 *)__cil_tmp41) = (__u8 )'5';
2398#line 147
2399  __cil_tmp42 = 7 * 1UL;
2400#line 147
2401  __cil_tmp43 = 8 + __cil_tmp42;
2402#line 147
2403  __cil_tmp44 = (unsigned long )(& ident) + __cil_tmp43;
2404#line 147
2405  *((__u8 *)__cil_tmp44) = (__u8 )'8';
2406#line 147
2407  __cil_tmp45 = 8 * 1UL;
2408#line 147
2409  __cil_tmp46 = 8 + __cil_tmp45;
2410#line 147
2411  __cil_tmp47 = (unsigned long )(& ident) + __cil_tmp46;
2412#line 147
2413  *((__u8 *)__cil_tmp47) = (__u8 )'2';
2414#line 147
2415  __cil_tmp48 = 9 * 1UL;
2416#line 147
2417  __cil_tmp49 = 8 + __cil_tmp48;
2418#line 147
2419  __cil_tmp50 = (unsigned long )(& ident) + __cil_tmp49;
2420#line 147
2421  *((__u8 *)__cil_tmp50) = (__u8 )'3';
2422#line 147
2423  __cil_tmp51 = 10 * 1UL;
2424#line 147
2425  __cil_tmp52 = 8 + __cil_tmp51;
2426#line 147
2427  __cil_tmp53 = (unsigned long )(& ident) + __cil_tmp52;
2428#line 147
2429  *((__u8 *)__cil_tmp53) = (__u8 )' ';
2430#line 147
2431  __cil_tmp54 = 11 * 1UL;
2432#line 147
2433  __cil_tmp55 = 8 + __cil_tmp54;
2434#line 147
2435  __cil_tmp56 = (unsigned long )(& ident) + __cil_tmp55;
2436#line 147
2437  *((__u8 *)__cil_tmp56) = (__u8 )'W';
2438#line 147
2439  __cil_tmp57 = 12 * 1UL;
2440#line 147
2441  __cil_tmp58 = 8 + __cil_tmp57;
2442#line 147
2443  __cil_tmp59 = (unsigned long )(& ident) + __cil_tmp58;
2444#line 147
2445  *((__u8 *)__cil_tmp59) = (__u8 )'D';
2446#line 147
2447  __cil_tmp60 = 13 * 1UL;
2448#line 147
2449  __cil_tmp61 = 8 + __cil_tmp60;
2450#line 147
2451  __cil_tmp62 = (unsigned long )(& ident) + __cil_tmp61;
2452#line 147
2453  *((__u8 *)__cil_tmp62) = (__u8 )'T';
2454#line 147
2455  __cil_tmp63 = 14 * 1UL;
2456#line 147
2457  __cil_tmp64 = 8 + __cil_tmp63;
2458#line 147
2459  __cil_tmp65 = (unsigned long )(& ident) + __cil_tmp64;
2460#line 147
2461  *((__u8 *)__cil_tmp65) = (__u8 )'\000';
2462#line 155
2463  if ((int )cmd == -2144839936) {
2464#line 155
2465    goto case_neg_2144839936;
2466  } else
2467#line 160
2468  if ((int )cmd == -2147199231) {
2469#line 160
2470    goto case_neg_2147199231;
2471  } else
2472#line 161
2473  if ((int )cmd == -2147199230) {
2474#line 161
2475    goto case_neg_2147199230;
2476  } else
2477#line 164
2478  if ((int )cmd == -2147199228) {
2479#line 164
2480    goto case_neg_2147199228;
2481  } else
2482#line 184
2483  if ((int )cmd == -2147199227) {
2484#line 184
2485    goto case_neg_2147199227;
2486  } else
2487#line 188
2488  if ((int )cmd == -1073457402) {
2489#line 188
2490    goto case_neg_1073457402;
2491  } else
2492#line 197
2493  if ((int )cmd == -2147199225) {
2494#line 197
2495    goto case_neg_2147199225;
2496  } else {
2497    {
2498#line 200
2499    goto switch_default___3;
2500#line 154
2501    if (0) {
2502      case_neg_2144839936: /* CIL Label */ 
2503      {
2504#line 156
2505      __cil_tmp66 = (void const   *)(& ident);
2506#line 156
2507      tmp = copy_to_user(argp, __cil_tmp66, 40U);
2508      }
2509#line 156
2510      if (tmp != 0) {
2511#line 157
2512        return (-14L);
2513      } else {
2514
2515      }
2516#line 158
2517      goto ldv_18062;
2518      case_neg_2147199231: /* CIL Label */ ;
2519      case_neg_2147199230: /* CIL Label */ 
2520      {
2521#line 162
2522      might_fault();
2523#line 162
2524      __pu_val = 0;
2525      }
2526#line 162
2527      if (4 == 1) {
2528#line 162
2529        goto case_1;
2530      } else
2531#line 162
2532      if (4 == 2) {
2533#line 162
2534        goto case_2;
2535      } else
2536#line 162
2537      if (4 == 4) {
2538#line 162
2539        goto case_4;
2540      } else
2541#line 162
2542      if (4 == 8) {
2543#line 162
2544        goto case_8;
2545      } else {
2546        {
2547#line 162
2548        goto switch_default;
2549#line 162
2550        if (0) {
2551          case_1: /* CIL Label */ 
2552#line 162
2553          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
2554                               "c" (p): "ebx");
2555#line 162
2556          goto ldv_18068;
2557          case_2: /* CIL Label */ 
2558#line 162
2559          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
2560                               "c" (p): "ebx");
2561#line 162
2562          goto ldv_18068;
2563          case_4: /* CIL Label */ 
2564#line 162
2565          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
2566                               "c" (p): "ebx");
2567#line 162
2568          goto ldv_18068;
2569          case_8: /* CIL Label */ 
2570#line 162
2571          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
2572                               "c" (p): "ebx");
2573#line 162
2574          goto ldv_18068;
2575          switch_default: /* CIL Label */ 
2576#line 162
2577          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
2578                               "c" (p): "ebx");
2579#line 162
2580          goto ldv_18068;
2581        } else {
2582          switch_break___0: /* CIL Label */ ;
2583        }
2584        }
2585      }
2586      ldv_18068: ;
2587#line 162
2588      return ((long )__ret_pu);
2589      case_neg_2147199228: /* CIL Label */ 
2590      {
2591#line 166
2592      retval = -22;
2593#line 168
2594      might_fault();
2595      }
2596#line 168
2597      if (4 == 1) {
2598#line 168
2599        goto case_1___0;
2600      } else
2601#line 168
2602      if (4 == 2) {
2603#line 168
2604        goto case_2___0;
2605      } else
2606#line 168
2607      if (4 == 4) {
2608#line 168
2609        goto case_4___0;
2610      } else
2611#line 168
2612      if (4 == 8) {
2613#line 168
2614        goto case_8___0;
2615      } else {
2616        {
2617#line 168
2618        goto switch_default___0;
2619#line 168
2620        if (0) {
2621          case_1___0: /* CIL Label */ 
2622#line 168
2623          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2624#line 168
2625          goto ldv_18080;
2626          case_2___0: /* CIL Label */ 
2627#line 168
2628          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2629#line 168
2630          goto ldv_18080;
2631          case_4___0: /* CIL Label */ 
2632#line 168
2633          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2634#line 168
2635          goto ldv_18080;
2636          case_8___0: /* CIL Label */ 
2637#line 168
2638          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2639#line 168
2640          goto ldv_18080;
2641          switch_default___0: /* CIL Label */ 
2642#line 168
2643          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2644#line 168
2645          goto ldv_18080;
2646        } else {
2647          switch_break___1: /* CIL Label */ ;
2648        }
2649        }
2650      }
2651      ldv_18080: 
2652#line 168
2653      options = (int )__val_gu;
2654#line 168
2655      if (__ret_gu != 0) {
2656#line 169
2657        return (-14L);
2658      } else {
2659
2660      }
2661#line 171
2662      if (options & 1) {
2663        {
2664#line 172
2665        wafwdt_stop();
2666#line 173
2667        retval = 0;
2668        }
2669      } else {
2670
2671      }
2672      {
2673#line 176
2674      __cil_tmp67 = options & 2;
2675#line 176
2676      if (__cil_tmp67 != 0) {
2677        {
2678#line 177
2679        wafwdt_start();
2680#line 178
2681        retval = 0;
2682        }
2683      } else {
2684
2685      }
2686      }
2687#line 181
2688      return ((long )retval);
2689      case_neg_2147199227: /* CIL Label */ 
2690      {
2691#line 185
2692      wafwdt_ping();
2693      }
2694#line 186
2695      goto ldv_18062;
2696      case_neg_1073457402: /* CIL Label */ 
2697      {
2698#line 189
2699      might_fault();
2700      }
2701#line 189
2702      if (4 == 1) {
2703#line 189
2704        goto case_1___1;
2705      } else
2706#line 189
2707      if (4 == 2) {
2708#line 189
2709        goto case_2___1;
2710      } else
2711#line 189
2712      if (4 == 4) {
2713#line 189
2714        goto case_4___1;
2715      } else
2716#line 189
2717      if (4 == 8) {
2718#line 189
2719        goto case_8___1;
2720      } else {
2721        {
2722#line 189
2723        goto switch_default___1;
2724#line 189
2725        if (0) {
2726          case_1___1: /* CIL Label */ 
2727#line 189
2728          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2729#line 189
2730          goto ldv_18091;
2731          case_2___1: /* CIL Label */ 
2732#line 189
2733          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2734#line 189
2735          goto ldv_18091;
2736          case_4___1: /* CIL Label */ 
2737#line 189
2738          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2739#line 189
2740          goto ldv_18091;
2741          case_8___1: /* CIL Label */ 
2742#line 189
2743          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2744#line 189
2745          goto ldv_18091;
2746          switch_default___1: /* CIL Label */ 
2747#line 189
2748          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2749#line 189
2750          goto ldv_18091;
2751        } else {
2752          switch_break___2: /* CIL Label */ ;
2753        }
2754        }
2755      }
2756      ldv_18091: 
2757#line 189
2758      new_timeout = (int )__val_gu___0;
2759#line 189
2760      if (__ret_gu___0 != 0) {
2761#line 190
2762        return (-14L);
2763      } else {
2764
2765      }
2766#line 191
2767      if (new_timeout <= 0) {
2768#line 192
2769        return (-22L);
2770      } else
2771#line 191
2772      if (new_timeout > 255) {
2773#line 192
2774        return (-22L);
2775      } else {
2776
2777      }
2778      {
2779#line 193
2780      __cil_tmp68 = & timeout;
2781#line 193
2782      *__cil_tmp68 = new_timeout;
2783#line 194
2784      wafwdt_stop();
2785#line 195
2786      wafwdt_start();
2787      }
2788      case_neg_2147199225: /* CIL Label */ 
2789      {
2790#line 198
2791      might_fault();
2792#line 198
2793      __cil_tmp69 = & timeout;
2794#line 198
2795      __pu_val___0 = *__cil_tmp69;
2796      }
2797#line 198
2798      if (4 == 1) {
2799#line 198
2800        goto case_1___2;
2801      } else
2802#line 198
2803      if (4 == 2) {
2804#line 198
2805        goto case_2___2;
2806      } else
2807#line 198
2808      if (4 == 4) {
2809#line 198
2810        goto case_4___2;
2811      } else
2812#line 198
2813      if (4 == 8) {
2814#line 198
2815        goto case_8___2;
2816      } else {
2817        {
2818#line 198
2819        goto switch_default___2;
2820#line 198
2821        if (0) {
2822          case_1___2: /* CIL Label */ 
2823#line 198
2824          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
2825                               "c" (p): "ebx");
2826#line 198
2827          goto ldv_18101;
2828          case_2___2: /* CIL Label */ 
2829#line 198
2830          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
2831                               "c" (p): "ebx");
2832#line 198
2833          goto ldv_18101;
2834          case_4___2: /* CIL Label */ 
2835#line 198
2836          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
2837                               "c" (p): "ebx");
2838#line 198
2839          goto ldv_18101;
2840          case_8___2: /* CIL Label */ 
2841#line 198
2842          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
2843                               "c" (p): "ebx");
2844#line 198
2845          goto ldv_18101;
2846          switch_default___2: /* CIL Label */ 
2847#line 198
2848          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
2849                               "c" (p): "ebx");
2850#line 198
2851          goto ldv_18101;
2852        } else {
2853          switch_break___3: /* CIL Label */ ;
2854        }
2855        }
2856      }
2857      ldv_18101: ;
2858#line 198
2859      return ((long )__ret_pu___0);
2860      switch_default___3: /* CIL Label */ ;
2861#line 201
2862      return (-25L);
2863    } else {
2864      switch_break: /* CIL Label */ ;
2865    }
2866    }
2867  }
2868  ldv_18062: ;
2869#line 203
2870  return (0L);
2871}
2872}
2873#line 206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2874static int wafwdt_open(struct inode *inode , struct file *file ) 
2875{ int tmp ;
2876  int tmp___0 ;
2877  unsigned long volatile   *__cil_tmp5 ;
2878
2879  {
2880  {
2881#line 208
2882  __cil_tmp5 = (unsigned long volatile   *)(& wafwdt_is_open);
2883#line 208
2884  tmp = test_and_set_bit(0, __cil_tmp5);
2885  }
2886#line 208
2887  if (tmp != 0) {
2888#line 209
2889    return (-16);
2890  } else {
2891
2892  }
2893  {
2894#line 214
2895  wafwdt_start();
2896#line 215
2897  tmp___0 = nonseekable_open(inode, file);
2898  }
2899#line 215
2900  return (tmp___0);
2901}
2902}
2903#line 218 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2904static int wafwdt_close(struct inode *inode , struct file *file ) 
2905{ signed char __cil_tmp3 ;
2906  int __cil_tmp4 ;
2907  unsigned long volatile   *__cil_tmp5 ;
2908
2909  {
2910  {
2911#line 220
2912  __cil_tmp3 = (signed char )expect_close;
2913#line 220
2914  __cil_tmp4 = (int )__cil_tmp3;
2915#line 220
2916  if (__cil_tmp4 == 42) {
2917    {
2918#line 221
2919    wafwdt_stop();
2920    }
2921  } else {
2922    {
2923#line 223
2924    printk("<2>wafer5823wdt: WDT device closed unexpectedly.  WDT will not stop!\n");
2925#line 224
2926    wafwdt_ping();
2927    }
2928  }
2929  }
2930  {
2931#line 226
2932  __cil_tmp5 = (unsigned long volatile   *)(& wafwdt_is_open);
2933#line 226
2934  clear_bit(0, __cil_tmp5);
2935#line 227
2936  expect_close = (char)0;
2937  }
2938#line 228
2939  return (0);
2940}
2941}
2942#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2943static int wafwdt_notify_sys(struct notifier_block *this , unsigned long code , void *unused ) 
2944{ 
2945
2946  {
2947#line 238
2948  if (code == 1UL) {
2949    {
2950#line 239
2951    wafwdt_stop();
2952    }
2953  } else
2954#line 238
2955  if (code == 2UL) {
2956    {
2957#line 239
2958    wafwdt_stop();
2959    }
2960  } else {
2961
2962  }
2963#line 240
2964  return (0);
2965}
2966}
2967#line 247 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2968static struct file_operations  const  wafwdt_fops  = 
2969#line 247
2970     {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t  ,
2971                                               loff_t * ))0, & wafwdt_write, (ssize_t (*)(struct kiocb * ,
2972                                                                                          struct iovec  const  * ,
2973                                                                                          unsigned long  ,
2974                                                                                          loff_t  ))0,
2975    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
2976    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
2977                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
2978                                                                                            struct poll_table_struct * ))0,
2979    & wafwdt_ioctl, (long (*)(struct file * , unsigned int  , unsigned long  ))0,
2980    (int (*)(struct file * , struct vm_area_struct * ))0, & wafwdt_open, (int (*)(struct file * ,
2981                                                                                  fl_owner_t  ))0,
2982    & wafwdt_close, (int (*)(struct file * , loff_t  , loff_t  , int  ))0, (int (*)(struct kiocb * ,
2983                                                                                    int  ))0,
2984    (int (*)(int  , struct file * , int  ))0, (int (*)(struct file * , int  , struct file_lock * ))0,
2985    (ssize_t (*)(struct file * , struct page * , int  , size_t  , loff_t * , int  ))0,
2986    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
2987                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
2988                                                                       int  , struct file_lock * ))0,
2989    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
2990    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
2991    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
2992                                                                        int  , loff_t  ,
2993                                                                        loff_t  ))0};
2994#line 256 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
2995static struct miscdevice wafwdt_miscdev  = 
2996#line 256
2997     {130, "watchdog", & wafwdt_fops, {(struct list_head *)0, (struct list_head *)0},
2998    (struct device *)0, (struct device *)0, (char const   *)0, (unsigned short)0};
2999#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3000static struct notifier_block wafwdt_notifier  =    {& wafwdt_notify_sys, (struct notifier_block *)0, 0};
3001#line 271 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3002static int wafwdt_init(void) 
3003{ int ret ;
3004  struct resource *tmp ;
3005  struct resource *tmp___0 ;
3006  int *__cil_tmp4 ;
3007  int __cil_tmp5 ;
3008  int *__cil_tmp6 ;
3009  int *__cil_tmp7 ;
3010  int __cil_tmp8 ;
3011  int *__cil_tmp9 ;
3012  int __cil_tmp10 ;
3013  int *__cil_tmp11 ;
3014  int *__cil_tmp12 ;
3015  int __cil_tmp13 ;
3016  resource_size_t __cil_tmp14 ;
3017  struct resource *__cil_tmp15 ;
3018  unsigned long __cil_tmp16 ;
3019  unsigned long __cil_tmp17 ;
3020  resource_size_t __cil_tmp18 ;
3021  struct resource *__cil_tmp19 ;
3022  unsigned long __cil_tmp20 ;
3023  unsigned long __cil_tmp21 ;
3024  int *__cil_tmp22 ;
3025  int __cil_tmp23 ;
3026  bool *__cil_tmp24 ;
3027  bool __cil_tmp25 ;
3028  int __cil_tmp26 ;
3029  resource_size_t __cil_tmp27 ;
3030  resource_size_t __cil_tmp28 ;
3031
3032  {
3033  {
3034#line 275
3035  printk("<6>wafer5823wdt: WDT driver for Wafer 5823 single board computer initialising\n");
3036  }
3037  {
3038#line 277
3039  __cil_tmp4 = & timeout;
3040#line 277
3041  __cil_tmp5 = *__cil_tmp4;
3042#line 277
3043  if (__cil_tmp5 <= 0) {
3044    {
3045#line 278
3046    __cil_tmp6 = & timeout;
3047#line 278
3048    *__cil_tmp6 = 60;
3049#line 279
3050    __cil_tmp7 = & timeout;
3051#line 279
3052    __cil_tmp8 = *__cil_tmp7;
3053#line 279
3054    printk("<6>wafer5823wdt: timeout value must be 1 <= x <= 255, using %d\n", __cil_tmp8);
3055    }
3056  } else {
3057    {
3058#line 277
3059    __cil_tmp9 = & timeout;
3060#line 277
3061    __cil_tmp10 = *__cil_tmp9;
3062#line 277
3063    if (__cil_tmp10 > 255) {
3064      {
3065#line 278
3066      __cil_tmp11 = & timeout;
3067#line 278
3068      *__cil_tmp11 = 60;
3069#line 279
3070      __cil_tmp12 = & timeout;
3071#line 279
3072      __cil_tmp13 = *__cil_tmp12;
3073#line 279
3074      printk("<6>wafer5823wdt: timeout value must be 1 <= x <= 255, using %d\n", __cil_tmp13);
3075      }
3076    } else {
3077
3078    }
3079    }
3080  }
3081  }
3082#line 283
3083  if (wdt_stop != wdt_start) {
3084    {
3085#line 284
3086    __cil_tmp14 = (resource_size_t )wdt_stop;
3087#line 284
3088    tmp = __request_region(& ioport_resource, __cil_tmp14, 1ULL, "Wafer 5823 WDT",
3089                           0);
3090    }
3091    {
3092#line 284
3093    __cil_tmp15 = (struct resource *)0;
3094#line 284
3095    __cil_tmp16 = (unsigned long )__cil_tmp15;
3096#line 284
3097    __cil_tmp17 = (unsigned long )tmp;
3098#line 284
3099    if (__cil_tmp17 == __cil_tmp16) {
3100      {
3101#line 285
3102      printk("<3>wafer5823wdt: I/O address 0x%04x already in use\n", wdt_stop);
3103#line 286
3104      ret = -5;
3105      }
3106#line 287
3107      goto error;
3108    } else {
3109
3110    }
3111    }
3112  } else {
3113
3114  }
3115  {
3116#line 291
3117  __cil_tmp18 = (resource_size_t )wdt_start;
3118#line 291
3119  tmp___0 = __request_region(& ioport_resource, __cil_tmp18, 1ULL, "Wafer 5823 WDT",
3120                             0);
3121  }
3122  {
3123#line 291
3124  __cil_tmp19 = (struct resource *)0;
3125#line 291
3126  __cil_tmp20 = (unsigned long )__cil_tmp19;
3127#line 291
3128  __cil_tmp21 = (unsigned long )tmp___0;
3129#line 291
3130  if (__cil_tmp21 == __cil_tmp20) {
3131    {
3132#line 292
3133    printk("<3>wafer5823wdt: I/O address 0x%04x already in use\n", wdt_start);
3134#line 293
3135    ret = -5;
3136    }
3137#line 294
3138    goto error2;
3139  } else {
3140
3141  }
3142  }
3143  {
3144#line 297
3145  ret = register_reboot_notifier(& wafwdt_notifier);
3146  }
3147#line 298
3148  if (ret != 0) {
3149    {
3150#line 299
3151    printk("<3>wafer5823wdt: cannot register reboot notifier (err=%d)\n", ret);
3152    }
3153#line 300
3154    goto error3;
3155  } else {
3156
3157  }
3158  {
3159#line 303
3160  ret = misc_register(& wafwdt_miscdev);
3161  }
3162#line 304
3163  if (ret != 0) {
3164    {
3165#line 305
3166    printk("<3>wafer5823wdt: cannot register miscdev on minor=%d (err=%d)\n", 130,
3167           ret);
3168    }
3169#line 307
3170    goto error4;
3171  } else {
3172
3173  }
3174  {
3175#line 310
3176  __cil_tmp22 = & timeout;
3177#line 310
3178  __cil_tmp23 = *__cil_tmp22;
3179#line 310
3180  __cil_tmp24 = & nowayout;
3181#line 310
3182  __cil_tmp25 = *__cil_tmp24;
3183#line 310
3184  __cil_tmp26 = (int )__cil_tmp25;
3185#line 310
3186  printk("<6>wafer5823wdt: initialized. timeout=%d sec (nowayout=%d)\n", __cil_tmp23,
3187         __cil_tmp26);
3188  }
3189#line 313
3190  return (ret);
3191  error4: 
3192  {
3193#line 315
3194  unregister_reboot_notifier(& wafwdt_notifier);
3195  }
3196  error3: 
3197  {
3198#line 317
3199  __cil_tmp27 = (resource_size_t )wdt_start;
3200#line 317
3201  __release_region(& ioport_resource, __cil_tmp27, 1ULL);
3202  }
3203  error2: ;
3204#line 319
3205  if (wdt_stop != wdt_start) {
3206    {
3207#line 320
3208    __cil_tmp28 = (resource_size_t )wdt_stop;
3209#line 320
3210    __release_region(& ioport_resource, __cil_tmp28, 1ULL);
3211    }
3212  } else {
3213
3214  }
3215  error: ;
3216#line 322
3217  return (ret);
3218}
3219}
3220#line 325 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3221static void wafwdt_exit(void) 
3222{ resource_size_t __cil_tmp1 ;
3223  resource_size_t __cil_tmp2 ;
3224
3225  {
3226  {
3227#line 327
3228  misc_deregister(& wafwdt_miscdev);
3229#line 328
3230  unregister_reboot_notifier(& wafwdt_notifier);
3231  }
3232#line 329
3233  if (wdt_stop != wdt_start) {
3234    {
3235#line 330
3236    __cil_tmp1 = (resource_size_t )wdt_stop;
3237#line 330
3238    __release_region(& ioport_resource, __cil_tmp1, 1ULL);
3239    }
3240  } else {
3241
3242  }
3243  {
3244#line 331
3245  __cil_tmp2 = (resource_size_t )wdt_start;
3246#line 331
3247  __release_region(& ioport_resource, __cil_tmp2, 1ULL);
3248  }
3249#line 332
3250  return;
3251}
3252}
3253#line 360
3254extern void ldv_check_final_state(void) ;
3255#line 363
3256extern void ldv_check_return_value(int  ) ;
3257#line 366
3258extern void ldv_initialize(void) ;
3259#line 369
3260extern int __VERIFIER_nondet_int(void) ;
3261#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3262int LDV_IN_INTERRUPT  ;
3263#line 375 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3264void main(void) 
3265{ struct file *var_group1 ;
3266  char const   *var_wafwdt_write_3_p1 ;
3267  size_t var_wafwdt_write_3_p2 ;
3268  loff_t *var_wafwdt_write_3_p3 ;
3269  ssize_t res_wafwdt_write_3 ;
3270  unsigned int var_wafwdt_ioctl_4_p1 ;
3271  unsigned long var_wafwdt_ioctl_4_p2 ;
3272  struct inode *var_group2 ;
3273  int res_wafwdt_open_5 ;
3274  struct notifier_block *var_group3 ;
3275  unsigned long var_wafwdt_notify_sys_7_p1 ;
3276  void *var_wafwdt_notify_sys_7_p2 ;
3277  int ldv_s_wafwdt_fops_file_operations ;
3278  int tmp ;
3279  int tmp___0 ;
3280  int tmp___1 ;
3281  int __cil_tmp17 ;
3282
3283  {
3284  {
3285#line 472
3286  ldv_s_wafwdt_fops_file_operations = 0;
3287#line 450
3288  LDV_IN_INTERRUPT = 1;
3289#line 459
3290  ldv_initialize();
3291#line 470
3292  tmp = wafwdt_init();
3293  }
3294#line 470
3295  if (tmp != 0) {
3296#line 471
3297    goto ldv_final;
3298  } else {
3299
3300  }
3301#line 478
3302  goto ldv_18184;
3303  ldv_18183: 
3304  {
3305#line 482
3306  tmp___0 = __VERIFIER_nondet_int();
3307  }
3308#line 484
3309  if (tmp___0 == 0) {
3310#line 484
3311    goto case_0;
3312  } else
3313#line 508
3314  if (tmp___0 == 1) {
3315#line 508
3316    goto case_1;
3317  } else
3318#line 532
3319  if (tmp___0 == 2) {
3320#line 532
3321    goto case_2;
3322  } else
3323#line 553
3324  if (tmp___0 == 3) {
3325#line 553
3326    goto case_3;
3327  } else
3328#line 574
3329  if (tmp___0 == 4) {
3330#line 574
3331    goto case_4;
3332  } else {
3333    {
3334#line 595
3335    goto switch_default;
3336#line 482
3337    if (0) {
3338      case_0: /* CIL Label */ ;
3339#line 487
3340      if (ldv_s_wafwdt_fops_file_operations == 0) {
3341        {
3342#line 497
3343        res_wafwdt_open_5 = wafwdt_open(var_group2, var_group1);
3344#line 498
3345        ldv_check_return_value(res_wafwdt_open_5);
3346        }
3347#line 499
3348        if (res_wafwdt_open_5 != 0) {
3349#line 500
3350          goto ldv_module_exit;
3351        } else {
3352
3353        }
3354#line 501
3355        ldv_s_wafwdt_fops_file_operations = ldv_s_wafwdt_fops_file_operations + 1;
3356      } else {
3357
3358      }
3359#line 507
3360      goto ldv_18177;
3361      case_1: /* CIL Label */ ;
3362#line 511
3363      if (ldv_s_wafwdt_fops_file_operations == 1) {
3364        {
3365#line 521
3366        res_wafwdt_write_3 = wafwdt_write(var_group1, var_wafwdt_write_3_p1, var_wafwdt_write_3_p2,
3367                                          var_wafwdt_write_3_p3);
3368#line 522
3369        __cil_tmp17 = (int )res_wafwdt_write_3;
3370#line 522
3371        ldv_check_return_value(__cil_tmp17);
3372        }
3373#line 523
3374        if (res_wafwdt_write_3 < 0L) {
3375#line 524
3376          goto ldv_module_exit;
3377        } else {
3378
3379        }
3380#line 525
3381        ldv_s_wafwdt_fops_file_operations = ldv_s_wafwdt_fops_file_operations + 1;
3382      } else {
3383
3384      }
3385#line 531
3386      goto ldv_18177;
3387      case_2: /* CIL Label */ ;
3388#line 535
3389      if (ldv_s_wafwdt_fops_file_operations == 2) {
3390        {
3391#line 545
3392        wafwdt_close(var_group2, var_group1);
3393#line 546
3394        ldv_s_wafwdt_fops_file_operations = 0;
3395        }
3396      } else {
3397
3398      }
3399#line 552
3400      goto ldv_18177;
3401      case_3: /* CIL Label */ 
3402      {
3403#line 566
3404      wafwdt_ioctl(var_group1, var_wafwdt_ioctl_4_p1, var_wafwdt_ioctl_4_p2);
3405      }
3406#line 573
3407      goto ldv_18177;
3408      case_4: /* CIL Label */ 
3409      {
3410#line 587
3411      wafwdt_notify_sys(var_group3, var_wafwdt_notify_sys_7_p1, var_wafwdt_notify_sys_7_p2);
3412      }
3413#line 594
3414      goto ldv_18177;
3415      switch_default: /* CIL Label */ ;
3416#line 595
3417      goto ldv_18177;
3418    } else {
3419      switch_break: /* CIL Label */ ;
3420    }
3421    }
3422  }
3423  ldv_18177: ;
3424  ldv_18184: 
3425  {
3426#line 478
3427  tmp___1 = __VERIFIER_nondet_int();
3428  }
3429#line 478
3430  if (tmp___1 != 0) {
3431#line 480
3432    goto ldv_18183;
3433  } else
3434#line 478
3435  if (ldv_s_wafwdt_fops_file_operations != 0) {
3436#line 480
3437    goto ldv_18183;
3438  } else {
3439#line 482
3440    goto ldv_18185;
3441  }
3442  ldv_18185: ;
3443  ldv_module_exit: 
3444  {
3445#line 612
3446  wafwdt_exit();
3447  }
3448  ldv_final: 
3449  {
3450#line 615
3451  ldv_check_final_state();
3452  }
3453#line 618
3454  return;
3455}
3456}
3457#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3458void ldv_blast_assert(void) 
3459{ 
3460
3461  {
3462  ERROR: ;
3463#line 6
3464  goto ERROR;
3465}
3466}
3467#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3468extern int __VERIFIER_nondet_int(void) ;
3469#line 639 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3470int ldv_spin  =    0;
3471#line 643 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3472void ldv_check_alloc_flags(gfp_t flags ) 
3473{ 
3474
3475  {
3476#line 646
3477  if (ldv_spin != 0) {
3478#line 646
3479    if (flags != 32U) {
3480      {
3481#line 646
3482      ldv_blast_assert();
3483      }
3484    } else {
3485
3486    }
3487  } else {
3488
3489  }
3490#line 649
3491  return;
3492}
3493}
3494#line 649
3495extern struct page *ldv_some_page(void) ;
3496#line 652 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3497struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3498{ struct page *tmp ;
3499
3500  {
3501#line 655
3502  if (ldv_spin != 0) {
3503#line 655
3504    if (flags != 32U) {
3505      {
3506#line 655
3507      ldv_blast_assert();
3508      }
3509    } else {
3510
3511    }
3512  } else {
3513
3514  }
3515  {
3516#line 657
3517  tmp = ldv_some_page();
3518  }
3519#line 657
3520  return (tmp);
3521}
3522}
3523#line 661 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3524void ldv_check_alloc_nonatomic(void) 
3525{ 
3526
3527  {
3528#line 664
3529  if (ldv_spin != 0) {
3530    {
3531#line 664
3532    ldv_blast_assert();
3533    }
3534  } else {
3535
3536  }
3537#line 667
3538  return;
3539}
3540}
3541#line 668 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3542void ldv_spin_lock(void) 
3543{ 
3544
3545  {
3546#line 671
3547  ldv_spin = 1;
3548#line 672
3549  return;
3550}
3551}
3552#line 675 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3553void ldv_spin_unlock(void) 
3554{ 
3555
3556  {
3557#line 678
3558  ldv_spin = 0;
3559#line 679
3560  return;
3561}
3562}
3563#line 682 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3564int ldv_spin_trylock(void) 
3565{ int is_lock ;
3566
3567  {
3568  {
3569#line 687
3570  is_lock = __VERIFIER_nondet_int();
3571  }
3572#line 689
3573  if (is_lock != 0) {
3574#line 692
3575    return (0);
3576  } else {
3577#line 697
3578    ldv_spin = 1;
3579#line 699
3580    return (1);
3581  }
3582}
3583}
3584#line 703 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3585__inline static void spin_lock(spinlock_t *lock ) 
3586{ 
3587
3588  {
3589  {
3590#line 708
3591  ldv_spin_lock();
3592#line 710
3593  ldv_spin_lock_1(lock);
3594  }
3595#line 711
3596  return;
3597}
3598}
3599#line 745 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3600__inline static void spin_unlock(spinlock_t *lock ) 
3601{ 
3602
3603  {
3604  {
3605#line 750
3606  ldv_spin_unlock();
3607#line 752
3608  ldv_spin_unlock_5(lock);
3609  }
3610#line 753
3611  return;
3612}
3613}
3614#line 866 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17372/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/wafer5823wdt.c.p"
3615void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3616{ 
3617
3618  {
3619  {
3620#line 872
3621  ldv_check_alloc_flags(ldv_func_arg2);
3622#line 874
3623  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3624  }
3625#line 875
3626  return ((void *)0);
3627}
3628}