Showing error 1331

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--w83977f_wdt.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3516
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 18 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
 993struct block_device;
 994#line 18
 995struct block_device;
 996#line 93 "include/linux/bit_spinlock.h"
 997struct hlist_bl_node;
 998#line 93 "include/linux/bit_spinlock.h"
 999struct hlist_bl_head {
1000   struct hlist_bl_node *first ;
1001};
1002#line 36 "include/linux/list_bl.h"
1003struct hlist_bl_node {
1004   struct hlist_bl_node *next ;
1005   struct hlist_bl_node **pprev ;
1006};
1007#line 114 "include/linux/rculist_bl.h"
1008struct nameidata;
1009#line 114
1010struct nameidata;
1011#line 115
1012struct path;
1013#line 115
1014struct path;
1015#line 116
1016struct vfsmount;
1017#line 116
1018struct vfsmount;
1019#line 117 "include/linux/rculist_bl.h"
1020struct qstr {
1021   unsigned int hash ;
1022   unsigned int len ;
1023   unsigned char const   *name ;
1024};
1025#line 72 "include/linux/dcache.h"
1026struct inode;
1027#line 72
1028struct dentry_operations;
1029#line 72
1030struct super_block;
1031#line 72 "include/linux/dcache.h"
1032union __anonunion_d_u_135 {
1033   struct list_head d_child ;
1034   struct rcu_head d_rcu ;
1035};
1036#line 72 "include/linux/dcache.h"
1037struct dentry {
1038   unsigned int d_flags ;
1039   seqcount_t d_seq ;
1040   struct hlist_bl_node d_hash ;
1041   struct dentry *d_parent ;
1042   struct qstr d_name ;
1043   struct inode *d_inode ;
1044   unsigned char d_iname[32U] ;
1045   unsigned int d_count ;
1046   spinlock_t d_lock ;
1047   struct dentry_operations  const  *d_op ;
1048   struct super_block *d_sb ;
1049   unsigned long d_time ;
1050   void *d_fsdata ;
1051   struct list_head d_lru ;
1052   union __anonunion_d_u_135 d_u ;
1053   struct list_head d_subdirs ;
1054   struct list_head d_alias ;
1055};
1056#line 123 "include/linux/dcache.h"
1057struct dentry_operations {
1058   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1059   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1060   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1061                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1062   int (*d_delete)(struct dentry  const  * ) ;
1063   void (*d_release)(struct dentry * ) ;
1064   void (*d_prune)(struct dentry * ) ;
1065   void (*d_iput)(struct dentry * , struct inode * ) ;
1066   char *(*d_dname)(struct dentry * , char * , int  ) ;
1067   struct vfsmount *(*d_automount)(struct path * ) ;
1068   int (*d_manage)(struct dentry * , bool  ) ;
1069};
1070#line 402 "include/linux/dcache.h"
1071struct path {
1072   struct vfsmount *mnt ;
1073   struct dentry *dentry ;
1074};
1075#line 58 "include/linux/radix-tree.h"
1076struct radix_tree_node;
1077#line 58 "include/linux/radix-tree.h"
1078struct radix_tree_root {
1079   unsigned int height ;
1080   gfp_t gfp_mask ;
1081   struct radix_tree_node *rnode ;
1082};
1083#line 377
1084struct prio_tree_node;
1085#line 19 "include/linux/prio_tree.h"
1086struct prio_tree_node {
1087   struct prio_tree_node *left ;
1088   struct prio_tree_node *right ;
1089   struct prio_tree_node *parent ;
1090   unsigned long start ;
1091   unsigned long last ;
1092};
1093#line 27 "include/linux/prio_tree.h"
1094struct prio_tree_root {
1095   struct prio_tree_node *prio_tree_node ;
1096   unsigned short index_bits ;
1097   unsigned short raw ;
1098};
1099#line 111
1100enum pid_type {
1101    PIDTYPE_PID = 0,
1102    PIDTYPE_PGID = 1,
1103    PIDTYPE_SID = 2,
1104    PIDTYPE_MAX = 3
1105} ;
1106#line 118
1107struct pid_namespace;
1108#line 118 "include/linux/prio_tree.h"
1109struct upid {
1110   int nr ;
1111   struct pid_namespace *ns ;
1112   struct hlist_node pid_chain ;
1113};
1114#line 56 "include/linux/pid.h"
1115struct pid {
1116   atomic_t count ;
1117   unsigned int level ;
1118   struct hlist_head tasks[3U] ;
1119   struct rcu_head rcu ;
1120   struct upid numbers[1U] ;
1121};
1122#line 45 "include/linux/semaphore.h"
1123struct fiemap_extent {
1124   __u64 fe_logical ;
1125   __u64 fe_physical ;
1126   __u64 fe_length ;
1127   __u64 fe_reserved64[2U] ;
1128   __u32 fe_flags ;
1129   __u32 fe_reserved[3U] ;
1130};
1131#line 38 "include/linux/fiemap.h"
1132struct shrink_control {
1133   gfp_t gfp_mask ;
1134   unsigned long nr_to_scan ;
1135};
1136#line 14 "include/linux/shrinker.h"
1137struct shrinker {
1138   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1139   int seeks ;
1140   long batch ;
1141   struct list_head list ;
1142   atomic_long_t nr_in_batch ;
1143};
1144#line 43
1145enum migrate_mode {
1146    MIGRATE_ASYNC = 0,
1147    MIGRATE_SYNC_LIGHT = 1,
1148    MIGRATE_SYNC = 2
1149} ;
1150#line 49
1151struct export_operations;
1152#line 49
1153struct export_operations;
1154#line 51
1155struct iovec;
1156#line 51
1157struct iovec;
1158#line 52
1159struct kiocb;
1160#line 52
1161struct kiocb;
1162#line 53
1163struct pipe_inode_info;
1164#line 53
1165struct pipe_inode_info;
1166#line 54
1167struct poll_table_struct;
1168#line 54
1169struct poll_table_struct;
1170#line 55
1171struct kstatfs;
1172#line 55
1173struct kstatfs;
1174#line 435 "include/linux/fs.h"
1175struct iattr {
1176   unsigned int ia_valid ;
1177   umode_t ia_mode ;
1178   uid_t ia_uid ;
1179   gid_t ia_gid ;
1180   loff_t ia_size ;
1181   struct timespec ia_atime ;
1182   struct timespec ia_mtime ;
1183   struct timespec ia_ctime ;
1184   struct file *ia_file ;
1185};
1186#line 119 "include/linux/quota.h"
1187struct if_dqinfo {
1188   __u64 dqi_bgrace ;
1189   __u64 dqi_igrace ;
1190   __u32 dqi_flags ;
1191   __u32 dqi_valid ;
1192};
1193#line 176 "include/linux/percpu_counter.h"
1194struct fs_disk_quota {
1195   __s8 d_version ;
1196   __s8 d_flags ;
1197   __u16 d_fieldmask ;
1198   __u32 d_id ;
1199   __u64 d_blk_hardlimit ;
1200   __u64 d_blk_softlimit ;
1201   __u64 d_ino_hardlimit ;
1202   __u64 d_ino_softlimit ;
1203   __u64 d_bcount ;
1204   __u64 d_icount ;
1205   __s32 d_itimer ;
1206   __s32 d_btimer ;
1207   __u16 d_iwarns ;
1208   __u16 d_bwarns ;
1209   __s32 d_padding2 ;
1210   __u64 d_rtb_hardlimit ;
1211   __u64 d_rtb_softlimit ;
1212   __u64 d_rtbcount ;
1213   __s32 d_rtbtimer ;
1214   __u16 d_rtbwarns ;
1215   __s16 d_padding3 ;
1216   char d_padding4[8U] ;
1217};
1218#line 75 "include/linux/dqblk_xfs.h"
1219struct fs_qfilestat {
1220   __u64 qfs_ino ;
1221   __u64 qfs_nblks ;
1222   __u32 qfs_nextents ;
1223};
1224#line 150 "include/linux/dqblk_xfs.h"
1225typedef struct fs_qfilestat fs_qfilestat_t;
1226#line 151 "include/linux/dqblk_xfs.h"
1227struct fs_quota_stat {
1228   __s8 qs_version ;
1229   __u16 qs_flags ;
1230   __s8 qs_pad ;
1231   fs_qfilestat_t qs_uquota ;
1232   fs_qfilestat_t qs_gquota ;
1233   __u32 qs_incoredqs ;
1234   __s32 qs_btimelimit ;
1235   __s32 qs_itimelimit ;
1236   __s32 qs_rtbtimelimit ;
1237   __u16 qs_bwarnlimit ;
1238   __u16 qs_iwarnlimit ;
1239};
1240#line 165
1241struct dquot;
1242#line 165
1243struct dquot;
1244#line 185 "include/linux/quota.h"
1245typedef __kernel_uid32_t qid_t;
1246#line 186 "include/linux/quota.h"
1247typedef long long qsize_t;
1248#line 189 "include/linux/quota.h"
1249struct mem_dqblk {
1250   qsize_t dqb_bhardlimit ;
1251   qsize_t dqb_bsoftlimit ;
1252   qsize_t dqb_curspace ;
1253   qsize_t dqb_rsvspace ;
1254   qsize_t dqb_ihardlimit ;
1255   qsize_t dqb_isoftlimit ;
1256   qsize_t dqb_curinodes ;
1257   time_t dqb_btime ;
1258   time_t dqb_itime ;
1259};
1260#line 211
1261struct quota_format_type;
1262#line 211
1263struct quota_format_type;
1264#line 212 "include/linux/quota.h"
1265struct mem_dqinfo {
1266   struct quota_format_type *dqi_format ;
1267   int dqi_fmt_id ;
1268   struct list_head dqi_dirty_list ;
1269   unsigned long dqi_flags ;
1270   unsigned int dqi_bgrace ;
1271   unsigned int dqi_igrace ;
1272   qsize_t dqi_maxblimit ;
1273   qsize_t dqi_maxilimit ;
1274   void *dqi_priv ;
1275};
1276#line 275 "include/linux/quota.h"
1277struct dquot {
1278   struct hlist_node dq_hash ;
1279   struct list_head dq_inuse ;
1280   struct list_head dq_free ;
1281   struct list_head dq_dirty ;
1282   struct mutex dq_lock ;
1283   atomic_t dq_count ;
1284   wait_queue_head_t dq_wait_unused ;
1285   struct super_block *dq_sb ;
1286   unsigned int dq_id ;
1287   loff_t dq_off ;
1288   unsigned long dq_flags ;
1289   short dq_type ;
1290   struct mem_dqblk dq_dqb ;
1291};
1292#line 303 "include/linux/quota.h"
1293struct quota_format_ops {
1294   int (*check_quota_file)(struct super_block * , int  ) ;
1295   int (*read_file_info)(struct super_block * , int  ) ;
1296   int (*write_file_info)(struct super_block * , int  ) ;
1297   int (*free_file_info)(struct super_block * , int  ) ;
1298   int (*read_dqblk)(struct dquot * ) ;
1299   int (*commit_dqblk)(struct dquot * ) ;
1300   int (*release_dqblk)(struct dquot * ) ;
1301};
1302#line 314 "include/linux/quota.h"
1303struct dquot_operations {
1304   int (*write_dquot)(struct dquot * ) ;
1305   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1306   void (*destroy_dquot)(struct dquot * ) ;
1307   int (*acquire_dquot)(struct dquot * ) ;
1308   int (*release_dquot)(struct dquot * ) ;
1309   int (*mark_dirty)(struct dquot * ) ;
1310   int (*write_info)(struct super_block * , int  ) ;
1311   qsize_t *(*get_reserved_space)(struct inode * ) ;
1312};
1313#line 328 "include/linux/quota.h"
1314struct quotactl_ops {
1315   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1316   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1317   int (*quota_off)(struct super_block * , int  ) ;
1318   int (*quota_sync)(struct super_block * , int  , int  ) ;
1319   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1320   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1321   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1322   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1323   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1324   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1325};
1326#line 344 "include/linux/quota.h"
1327struct quota_format_type {
1328   int qf_fmt_id ;
1329   struct quota_format_ops  const  *qf_ops ;
1330   struct module *qf_owner ;
1331   struct quota_format_type *qf_next ;
1332};
1333#line 390 "include/linux/quota.h"
1334struct quota_info {
1335   unsigned int flags ;
1336   struct mutex dqio_mutex ;
1337   struct mutex dqonoff_mutex ;
1338   struct rw_semaphore dqptr_sem ;
1339   struct inode *files[2U] ;
1340   struct mem_dqinfo info[2U] ;
1341   struct quota_format_ops  const  *ops[2U] ;
1342};
1343#line 421
1344struct address_space;
1345#line 421
1346struct address_space;
1347#line 422
1348struct writeback_control;
1349#line 422
1350struct writeback_control;
1351#line 585 "include/linux/fs.h"
1352union __anonunion_arg_138 {
1353   char *buf ;
1354   void *data ;
1355};
1356#line 585 "include/linux/fs.h"
1357struct __anonstruct_read_descriptor_t_137 {
1358   size_t written ;
1359   size_t count ;
1360   union __anonunion_arg_138 arg ;
1361   int error ;
1362};
1363#line 585 "include/linux/fs.h"
1364typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1365#line 588 "include/linux/fs.h"
1366struct address_space_operations {
1367   int (*writepage)(struct page * , struct writeback_control * ) ;
1368   int (*readpage)(struct file * , struct page * ) ;
1369   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1370   int (*set_page_dirty)(struct page * ) ;
1371   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1372                    unsigned int  ) ;
1373   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1374                      unsigned int  , struct page ** , void ** ) ;
1375   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1376                    unsigned int  , struct page * , void * ) ;
1377   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1378   void (*invalidatepage)(struct page * , unsigned long  ) ;
1379   int (*releasepage)(struct page * , gfp_t  ) ;
1380   void (*freepage)(struct page * ) ;
1381   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1382                        unsigned long  ) ;
1383   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1384   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1385   int (*launder_page)(struct page * ) ;
1386   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1387   int (*error_remove_page)(struct address_space * , struct page * ) ;
1388};
1389#line 642
1390struct backing_dev_info;
1391#line 642
1392struct backing_dev_info;
1393#line 643 "include/linux/fs.h"
1394struct address_space {
1395   struct inode *host ;
1396   struct radix_tree_root page_tree ;
1397   spinlock_t tree_lock ;
1398   unsigned int i_mmap_writable ;
1399   struct prio_tree_root i_mmap ;
1400   struct list_head i_mmap_nonlinear ;
1401   struct mutex i_mmap_mutex ;
1402   unsigned long nrpages ;
1403   unsigned long writeback_index ;
1404   struct address_space_operations  const  *a_ops ;
1405   unsigned long flags ;
1406   struct backing_dev_info *backing_dev_info ;
1407   spinlock_t private_lock ;
1408   struct list_head private_list ;
1409   struct address_space *assoc_mapping ;
1410};
1411#line 664
1412struct request_queue;
1413#line 664
1414struct request_queue;
1415#line 665
1416struct hd_struct;
1417#line 665
1418struct gendisk;
1419#line 665 "include/linux/fs.h"
1420struct block_device {
1421   dev_t bd_dev ;
1422   int bd_openers ;
1423   struct inode *bd_inode ;
1424   struct super_block *bd_super ;
1425   struct mutex bd_mutex ;
1426   struct list_head bd_inodes ;
1427   void *bd_claiming ;
1428   void *bd_holder ;
1429   int bd_holders ;
1430   bool bd_write_holder ;
1431   struct list_head bd_holder_disks ;
1432   struct block_device *bd_contains ;
1433   unsigned int bd_block_size ;
1434   struct hd_struct *bd_part ;
1435   unsigned int bd_part_count ;
1436   int bd_invalidated ;
1437   struct gendisk *bd_disk ;
1438   struct request_queue *bd_queue ;
1439   struct list_head bd_list ;
1440   unsigned long bd_private ;
1441   int bd_fsfreeze_count ;
1442   struct mutex bd_fsfreeze_mutex ;
1443};
1444#line 737
1445struct posix_acl;
1446#line 737
1447struct posix_acl;
1448#line 738
1449struct inode_operations;
1450#line 738 "include/linux/fs.h"
1451union __anonunion_ldv_15748_139 {
1452   unsigned int const   i_nlink ;
1453   unsigned int __i_nlink ;
1454};
1455#line 738 "include/linux/fs.h"
1456union __anonunion_ldv_15767_140 {
1457   struct list_head i_dentry ;
1458   struct rcu_head i_rcu ;
1459};
1460#line 738
1461struct file_operations;
1462#line 738
1463struct file_lock;
1464#line 738
1465struct cdev;
1466#line 738 "include/linux/fs.h"
1467union __anonunion_ldv_15785_141 {
1468   struct pipe_inode_info *i_pipe ;
1469   struct block_device *i_bdev ;
1470   struct cdev *i_cdev ;
1471};
1472#line 738 "include/linux/fs.h"
1473struct inode {
1474   umode_t i_mode ;
1475   unsigned short i_opflags ;
1476   uid_t i_uid ;
1477   gid_t i_gid ;
1478   unsigned int i_flags ;
1479   struct posix_acl *i_acl ;
1480   struct posix_acl *i_default_acl ;
1481   struct inode_operations  const  *i_op ;
1482   struct super_block *i_sb ;
1483   struct address_space *i_mapping ;
1484   void *i_security ;
1485   unsigned long i_ino ;
1486   union __anonunion_ldv_15748_139 ldv_15748 ;
1487   dev_t i_rdev ;
1488   struct timespec i_atime ;
1489   struct timespec i_mtime ;
1490   struct timespec i_ctime ;
1491   spinlock_t i_lock ;
1492   unsigned short i_bytes ;
1493   blkcnt_t i_blocks ;
1494   loff_t i_size ;
1495   unsigned long i_state ;
1496   struct mutex i_mutex ;
1497   unsigned long dirtied_when ;
1498   struct hlist_node i_hash ;
1499   struct list_head i_wb_list ;
1500   struct list_head i_lru ;
1501   struct list_head i_sb_list ;
1502   union __anonunion_ldv_15767_140 ldv_15767 ;
1503   atomic_t i_count ;
1504   unsigned int i_blkbits ;
1505   u64 i_version ;
1506   atomic_t i_dio_count ;
1507   atomic_t i_writecount ;
1508   struct file_operations  const  *i_fop ;
1509   struct file_lock *i_flock ;
1510   struct address_space i_data ;
1511   struct dquot *i_dquot[2U] ;
1512   struct list_head i_devices ;
1513   union __anonunion_ldv_15785_141 ldv_15785 ;
1514   __u32 i_generation ;
1515   __u32 i_fsnotify_mask ;
1516   struct hlist_head i_fsnotify_marks ;
1517   atomic_t i_readcount ;
1518   void *i_private ;
1519};
1520#line 941 "include/linux/fs.h"
1521struct fown_struct {
1522   rwlock_t lock ;
1523   struct pid *pid ;
1524   enum pid_type pid_type ;
1525   uid_t uid ;
1526   uid_t euid ;
1527   int signum ;
1528};
1529#line 949 "include/linux/fs.h"
1530struct file_ra_state {
1531   unsigned long start ;
1532   unsigned int size ;
1533   unsigned int async_size ;
1534   unsigned int ra_pages ;
1535   unsigned int mmap_miss ;
1536   loff_t prev_pos ;
1537};
1538#line 972 "include/linux/fs.h"
1539union __anonunion_f_u_142 {
1540   struct list_head fu_list ;
1541   struct rcu_head fu_rcuhead ;
1542};
1543#line 972 "include/linux/fs.h"
1544struct file {
1545   union __anonunion_f_u_142 f_u ;
1546   struct path f_path ;
1547   struct file_operations  const  *f_op ;
1548   spinlock_t f_lock ;
1549   int f_sb_list_cpu ;
1550   atomic_long_t f_count ;
1551   unsigned int f_flags ;
1552   fmode_t f_mode ;
1553   loff_t f_pos ;
1554   struct fown_struct f_owner ;
1555   struct cred  const  *f_cred ;
1556   struct file_ra_state f_ra ;
1557   u64 f_version ;
1558   void *f_security ;
1559   void *private_data ;
1560   struct list_head f_ep_links ;
1561   struct list_head f_tfile_llink ;
1562   struct address_space *f_mapping ;
1563   unsigned long f_mnt_write_state ;
1564};
1565#line 1111
1566struct files_struct;
1567#line 1111 "include/linux/fs.h"
1568typedef struct files_struct *fl_owner_t;
1569#line 1112 "include/linux/fs.h"
1570struct file_lock_operations {
1571   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1572   void (*fl_release_private)(struct file_lock * ) ;
1573};
1574#line 1117 "include/linux/fs.h"
1575struct lock_manager_operations {
1576   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1577   void (*lm_notify)(struct file_lock * ) ;
1578   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1579   void (*lm_release_private)(struct file_lock * ) ;
1580   void (*lm_break)(struct file_lock * ) ;
1581   int (*lm_change)(struct file_lock ** , int  ) ;
1582};
1583#line 1134
1584struct nlm_lockowner;
1585#line 1134
1586struct nlm_lockowner;
1587#line 1135 "include/linux/fs.h"
1588struct nfs_lock_info {
1589   u32 state ;
1590   struct nlm_lockowner *owner ;
1591   struct list_head list ;
1592};
1593#line 14 "include/linux/nfs_fs_i.h"
1594struct nfs4_lock_state;
1595#line 14
1596struct nfs4_lock_state;
1597#line 15 "include/linux/nfs_fs_i.h"
1598struct nfs4_lock_info {
1599   struct nfs4_lock_state *owner ;
1600};
1601#line 19
1602struct fasync_struct;
1603#line 19 "include/linux/nfs_fs_i.h"
1604struct __anonstruct_afs_144 {
1605   struct list_head link ;
1606   int state ;
1607};
1608#line 19 "include/linux/nfs_fs_i.h"
1609union __anonunion_fl_u_143 {
1610   struct nfs_lock_info nfs_fl ;
1611   struct nfs4_lock_info nfs4_fl ;
1612   struct __anonstruct_afs_144 afs ;
1613};
1614#line 19 "include/linux/nfs_fs_i.h"
1615struct file_lock {
1616   struct file_lock *fl_next ;
1617   struct list_head fl_link ;
1618   struct list_head fl_block ;
1619   fl_owner_t fl_owner ;
1620   unsigned int fl_flags ;
1621   unsigned char fl_type ;
1622   unsigned int fl_pid ;
1623   struct pid *fl_nspid ;
1624   wait_queue_head_t fl_wait ;
1625   struct file *fl_file ;
1626   loff_t fl_start ;
1627   loff_t fl_end ;
1628   struct fasync_struct *fl_fasync ;
1629   unsigned long fl_break_time ;
1630   unsigned long fl_downgrade_time ;
1631   struct file_lock_operations  const  *fl_ops ;
1632   struct lock_manager_operations  const  *fl_lmops ;
1633   union __anonunion_fl_u_143 fl_u ;
1634};
1635#line 1221 "include/linux/fs.h"
1636struct fasync_struct {
1637   spinlock_t fa_lock ;
1638   int magic ;
1639   int fa_fd ;
1640   struct fasync_struct *fa_next ;
1641   struct file *fa_file ;
1642   struct rcu_head fa_rcu ;
1643};
1644#line 1417
1645struct file_system_type;
1646#line 1417
1647struct super_operations;
1648#line 1417
1649struct xattr_handler;
1650#line 1417
1651struct mtd_info;
1652#line 1417 "include/linux/fs.h"
1653struct super_block {
1654   struct list_head s_list ;
1655   dev_t s_dev ;
1656   unsigned char s_dirt ;
1657   unsigned char s_blocksize_bits ;
1658   unsigned long s_blocksize ;
1659   loff_t s_maxbytes ;
1660   struct file_system_type *s_type ;
1661   struct super_operations  const  *s_op ;
1662   struct dquot_operations  const  *dq_op ;
1663   struct quotactl_ops  const  *s_qcop ;
1664   struct export_operations  const  *s_export_op ;
1665   unsigned long s_flags ;
1666   unsigned long s_magic ;
1667   struct dentry *s_root ;
1668   struct rw_semaphore s_umount ;
1669   struct mutex s_lock ;
1670   int s_count ;
1671   atomic_t s_active ;
1672   void *s_security ;
1673   struct xattr_handler  const  **s_xattr ;
1674   struct list_head s_inodes ;
1675   struct hlist_bl_head s_anon ;
1676   struct list_head *s_files ;
1677   struct list_head s_mounts ;
1678   struct list_head s_dentry_lru ;
1679   int s_nr_dentry_unused ;
1680   spinlock_t s_inode_lru_lock ;
1681   struct list_head s_inode_lru ;
1682   int s_nr_inodes_unused ;
1683   struct block_device *s_bdev ;
1684   struct backing_dev_info *s_bdi ;
1685   struct mtd_info *s_mtd ;
1686   struct hlist_node s_instances ;
1687   struct quota_info s_dquot ;
1688   int s_frozen ;
1689   wait_queue_head_t s_wait_unfrozen ;
1690   char s_id[32U] ;
1691   u8 s_uuid[16U] ;
1692   void *s_fs_info ;
1693   unsigned int s_max_links ;
1694   fmode_t s_mode ;
1695   u32 s_time_gran ;
1696   struct mutex s_vfs_rename_mutex ;
1697   char *s_subtype ;
1698   char *s_options ;
1699   struct dentry_operations  const  *s_d_op ;
1700   int cleancache_poolid ;
1701   struct shrinker s_shrink ;
1702   atomic_long_t s_remove_count ;
1703   int s_readonly_remount ;
1704};
1705#line 1563 "include/linux/fs.h"
1706struct fiemap_extent_info {
1707   unsigned int fi_flags ;
1708   unsigned int fi_extents_mapped ;
1709   unsigned int fi_extents_max ;
1710   struct fiemap_extent *fi_extents_start ;
1711};
1712#line 1602 "include/linux/fs.h"
1713struct file_operations {
1714   struct module *owner ;
1715   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1716   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1717   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1718   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1719                       loff_t  ) ;
1720   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1721                        loff_t  ) ;
1722   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1723                                                   loff_t  , u64  , unsigned int  ) ) ;
1724   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1725   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1726   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1727   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1728   int (*open)(struct inode * , struct file * ) ;
1729   int (*flush)(struct file * , fl_owner_t  ) ;
1730   int (*release)(struct inode * , struct file * ) ;
1731   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1732   int (*aio_fsync)(struct kiocb * , int  ) ;
1733   int (*fasync)(int  , struct file * , int  ) ;
1734   int (*lock)(struct file * , int  , struct file_lock * ) ;
1735   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1736                       int  ) ;
1737   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1738                                      unsigned long  , unsigned long  ) ;
1739   int (*check_flags)(int  ) ;
1740   int (*flock)(struct file * , int  , struct file_lock * ) ;
1741   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1742                           unsigned int  ) ;
1743   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1744                          unsigned int  ) ;
1745   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1746   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1747};
1748#line 1637 "include/linux/fs.h"
1749struct inode_operations {
1750   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1751   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1752   int (*permission)(struct inode * , int  ) ;
1753   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1754   int (*readlink)(struct dentry * , char * , int  ) ;
1755   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1756   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1757   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1758   int (*unlink)(struct inode * , struct dentry * ) ;
1759   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1760   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1761   int (*rmdir)(struct inode * , struct dentry * ) ;
1762   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1763   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1764   void (*truncate)(struct inode * ) ;
1765   int (*setattr)(struct dentry * , struct iattr * ) ;
1766   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1767   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1768   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1769   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1770   int (*removexattr)(struct dentry * , char const   * ) ;
1771   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1772   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
1773};
1774#line 1682 "include/linux/fs.h"
1775struct super_operations {
1776   struct inode *(*alloc_inode)(struct super_block * ) ;
1777   void (*destroy_inode)(struct inode * ) ;
1778   void (*dirty_inode)(struct inode * , int  ) ;
1779   int (*write_inode)(struct inode * , struct writeback_control * ) ;
1780   int (*drop_inode)(struct inode * ) ;
1781   void (*evict_inode)(struct inode * ) ;
1782   void (*put_super)(struct super_block * ) ;
1783   void (*write_super)(struct super_block * ) ;
1784   int (*sync_fs)(struct super_block * , int  ) ;
1785   int (*freeze_fs)(struct super_block * ) ;
1786   int (*unfreeze_fs)(struct super_block * ) ;
1787   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1788   int (*remount_fs)(struct super_block * , int * , char * ) ;
1789   void (*umount_begin)(struct super_block * ) ;
1790   int (*show_options)(struct seq_file * , struct dentry * ) ;
1791   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1792   int (*show_path)(struct seq_file * , struct dentry * ) ;
1793   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1794   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1795   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1796                          loff_t  ) ;
1797   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
1798   int (*nr_cached_objects)(struct super_block * ) ;
1799   void (*free_cached_objects)(struct super_block * , int  ) ;
1800};
1801#line 1834 "include/linux/fs.h"
1802struct file_system_type {
1803   char const   *name ;
1804   int fs_flags ;
1805   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
1806   void (*kill_sb)(struct super_block * ) ;
1807   struct module *owner ;
1808   struct file_system_type *next ;
1809   struct hlist_head fs_supers ;
1810   struct lock_class_key s_lock_key ;
1811   struct lock_class_key s_umount_key ;
1812   struct lock_class_key s_vfs_rename_key ;
1813   struct lock_class_key i_lock_key ;
1814   struct lock_class_key i_mutex_key ;
1815   struct lock_class_key i_mutex_dir_key ;
1816};
1817#line 2674 "include/linux/fs.h"
1818struct miscdevice {
1819   int minor ;
1820   char const   *name ;
1821   struct file_operations  const  *fops ;
1822   struct list_head list ;
1823   struct device *parent ;
1824   struct device *this_device ;
1825   char const   *nodename ;
1826   umode_t mode ;
1827};
1828#line 63 "include/linux/miscdevice.h"
1829struct watchdog_info {
1830   __u32 options ;
1831   __u32 firmware_version ;
1832   __u8 identity[32U] ;
1833};
1834#line 19 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/emergency-restart.h"
1835struct exception_table_entry {
1836   unsigned long insn ;
1837   unsigned long fixup ;
1838};
1839#line 401 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
1840union __anonunion_uarg_146 {
1841   struct watchdog_info *ident ;
1842   int *i ;
1843};
1844#line 2
1845void ldv_spin_lock(void) ;
1846#line 3
1847void ldv_spin_unlock(void) ;
1848#line 4
1849int ldv_spin_trylock(void) ;
1850#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1851__inline static void clear_bit(int nr , unsigned long volatile   *addr ) 
1852{ long volatile   *__cil_tmp3 ;
1853
1854  {
1855#line 105
1856  __cil_tmp3 = (long volatile   *)addr;
1857#line 105
1858  __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));
1859#line 107
1860  return;
1861}
1862}
1863#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1864__inline static int test_and_set_bit(int nr , unsigned long volatile   *addr ) 
1865{ int oldbit ;
1866  long volatile   *__cil_tmp4 ;
1867
1868  {
1869#line 199
1870  __cil_tmp4 = (long volatile   *)addr;
1871#line 199
1872  __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),
1873                       "+m" (*__cil_tmp4): "Ir" (nr): "memory");
1874#line 202
1875  return (oldbit);
1876}
1877}
1878#line 101 "include/linux/printk.h"
1879extern int printk(char const   *  , ...) ;
1880#line 192 "include/linux/kernel.h"
1881extern void might_fault(void) ;
1882#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1883extern struct pv_cpu_ops pv_cpu_ops ;
1884#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1885__inline static void slow_down_io(void) 
1886{ unsigned long __cil_tmp1 ;
1887  void (*__cil_tmp2)(void) ;
1888
1889  {
1890  {
1891#line 351
1892  __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1893#line 351
1894  __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1895#line 351
1896  (*__cil_tmp2)();
1897  }
1898#line 352
1899  return;
1900}
1901}
1902#line 43 "include/linux/spinlock_api_smp.h"
1903extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long  ) ;
1904#line 350 "include/linux/spinlock.h"
1905__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags ) 
1906{ struct raw_spinlock *__cil_tmp5 ;
1907
1908  {
1909  {
1910#line 352
1911  __cil_tmp5 = (struct raw_spinlock *)lock;
1912#line 352
1913  _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
1914  }
1915#line 353
1916  return;
1917}
1918}
1919#line 350
1920__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
1921#line 137 "include/linux/ioport.h"
1922extern struct resource ioport_resource ;
1923#line 181
1924extern struct resource *__request_region(struct resource * , resource_size_t  , resource_size_t  ,
1925                                         char const   * , int  ) ;
1926#line 192
1927extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
1928#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1929__inline static void outb(unsigned char value , int port ) 
1930{ 
1931
1932  {
1933#line 308
1934  __asm__  volatile   ("outb %b0, %w1": : "a" (value), "Nd" (port));
1935#line 309
1936  return;
1937}
1938}
1939#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1940__inline static unsigned char inb(int port ) 
1941{ unsigned char value ;
1942
1943  {
1944#line 308
1945  __asm__  volatile   ("inb %w1, %b0": "=a" (value): "Nd" (port));
1946#line 308
1947  return (value);
1948}
1949}
1950#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1951__inline static void outb_p(unsigned char value , int port ) 
1952{ int __cil_tmp3 ;
1953  unsigned char __cil_tmp4 ;
1954
1955  {
1956  {
1957#line 308
1958  __cil_tmp3 = (int )value;
1959#line 308
1960  __cil_tmp4 = (unsigned char )__cil_tmp3;
1961#line 308
1962  outb(__cil_tmp4, port);
1963#line 308
1964  slow_down_io();
1965  }
1966#line 309
1967  return;
1968}
1969}
1970#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1971__inline static unsigned char inb_p(int port ) 
1972{ unsigned char value ;
1973  unsigned char tmp ;
1974
1975  {
1976  {
1977#line 308
1978  tmp = inb(port);
1979#line 308
1980  value = tmp;
1981#line 308
1982  slow_down_io();
1983  }
1984#line 308
1985  return (value);
1986}
1987}
1988#line 26 "include/linux/export.h"
1989extern struct module __this_module ;
1990#line 453 "include/linux/module.h"
1991extern void __module_get(struct module * ) ;
1992#line 220 "include/linux/slub_def.h"
1993extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
1994#line 223
1995void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1996#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
1997void ldv_check_alloc_flags(gfp_t flags ) ;
1998#line 12
1999void ldv_check_alloc_nonatomic(void) ;
2000#line 14
2001struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2002#line 2402 "include/linux/fs.h"
2003extern loff_t no_llseek(struct file * , loff_t  , int  ) ;
2004#line 2407
2005extern int nonseekable_open(struct inode * , struct file * ) ;
2006#line 61 "include/linux/miscdevice.h"
2007extern int misc_register(struct miscdevice * ) ;
2008#line 62
2009extern int misc_deregister(struct miscdevice * ) ;
2010#line 47 "include/linux/reboot.h"
2011extern int register_reboot_notifier(struct notifier_block * ) ;
2012#line 48
2013extern int unregister_reboot_notifier(struct notifier_block * ) ;
2014#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2015extern unsigned long _copy_to_user(void * , void const   * , unsigned int  ) ;
2016#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2017__inline static int copy_to_user(void *dst , void const   *src , unsigned int size ) 
2018{ unsigned long tmp ;
2019
2020  {
2021  {
2022#line 65
2023  might_fault();
2024#line 67
2025  tmp = _copy_to_user(dst, src, size);
2026  }
2027#line 67
2028  return ((int )tmp);
2029}
2030}
2031#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2032static int timeout  =    45;
2033#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2034static int timeoutW  ;
2035#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2036static unsigned long timer_alive  ;
2037#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2038static int testmode  ;
2039#line 66 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2040static char expect_close  ;
2041#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2042static spinlock_t spinlock  =    {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2043                                                                       {(struct lock_class *)0,
2044                                                                        (struct lock_class *)0},
2045                                                                       "spinlock",
2046                                                                       0, 0UL}}}};
2047#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2048static bool nowayout  =    (bool )1;
2049#line 86 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2050static int wdt_start(void) 
2051{ unsigned long flags ;
2052  unsigned int pin_map ;
2053  unsigned char tmp ;
2054  unsigned char __cil_tmp4 ;
2055  int __cil_tmp5 ;
2056  unsigned char __cil_tmp6 ;
2057  int *__cil_tmp7 ;
2058  int __cil_tmp8 ;
2059  unsigned char __cil_tmp9 ;
2060  int __cil_tmp10 ;
2061  unsigned char __cil_tmp11 ;
2062
2063  {
2064  {
2065#line 90
2066  ldv_spin_lock();
2067#line 93
2068  outb_p((unsigned char)135, 1008);
2069#line 94
2070  outb_p((unsigned char)135, 1008);
2071#line 102
2072  outb_p((unsigned char)7, 1008);
2073#line 103
2074  outb_p((unsigned char)8, 1009);
2075#line 104
2076  outb_p((unsigned char)242, 1008);
2077#line 105
2078  __cil_tmp4 = (unsigned char )timeoutW;
2079#line 105
2080  __cil_tmp5 = (int )__cil_tmp4;
2081#line 105
2082  __cil_tmp6 = (unsigned char )__cil_tmp5;
2083#line 105
2084  outb_p(__cil_tmp6, 1009);
2085#line 106
2086  outb_p((unsigned char)243, 1008);
2087#line 107
2088  outb_p((unsigned char)8, 1009);
2089#line 108
2090  outb_p((unsigned char)244, 1008);
2091#line 109
2092  outb_p((unsigned char)0, 1009);
2093#line 112
2094  outb_p((unsigned char)48, 1008);
2095#line 113
2096  outb_p((unsigned char)1, 1009);
2097#line 122
2098  outb_p((unsigned char)7, 1008);
2099#line 123
2100  outb_p((unsigned char)7, 1009);
2101  }
2102  {
2103#line 124
2104  __cil_tmp7 = & testmode;
2105#line 124
2106  __cil_tmp8 = *__cil_tmp7;
2107#line 124
2108  if (__cil_tmp8 == 0) {
2109    {
2110#line 127
2111    outb_p((unsigned char)230, 1008);
2112#line 128
2113    outb_p((unsigned char)10, 1009);
2114#line 129
2115    outb_p((unsigned char)44, 1008);
2116#line 130
2117    tmp = inb_p(1009);
2118#line 130
2119    pin_map = (unsigned int )tmp;
2120#line 131
2121    pin_map = pin_map | 16U;
2122#line 132
2123    pin_map = pin_map & 4294967263U;
2124#line 133
2125    outb_p((unsigned char)44, 1008);
2126#line 134
2127    __cil_tmp9 = (unsigned char )pin_map;
2128#line 134
2129    __cil_tmp10 = (int )__cil_tmp9;
2130#line 134
2131    __cil_tmp11 = (unsigned char )__cil_tmp10;
2132#line 134
2133    outb_p(__cil_tmp11, 1009);
2134    }
2135  } else {
2136
2137  }
2138  }
2139  {
2140#line 136
2141  outb_p((unsigned char)227, 1008);
2142#line 137
2143  outb_p((unsigned char)8, 1009);
2144#line 140
2145  outb_p((unsigned char)48, 1008);
2146#line 141
2147  outb_p((unsigned char)1, 1009);
2148#line 144
2149  outb_p((unsigned char)170, 1008);
2150#line 146
2151  spin_unlock_irqrestore(& spinlock, flags);
2152#line 148
2153  printk("<6>w83977f_wdt: activated\n");
2154  }
2155#line 150
2156  return (0);
2157}
2158}
2159#line 157 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2160static int wdt_stop(void) 
2161{ unsigned long flags ;
2162  int *__cil_tmp2 ;
2163  int __cil_tmp3 ;
2164
2165  {
2166  {
2167#line 161
2168  ldv_spin_lock();
2169#line 164
2170  outb_p((unsigned char)135, 1008);
2171#line 165
2172  outb_p((unsigned char)135, 1008);
2173#line 173
2174  outb_p((unsigned char)7, 1008);
2175#line 174
2176  outb_p((unsigned char)8, 1009);
2177#line 175
2178  outb_p((unsigned char)242, 1008);
2179#line 176
2180  outb_p((unsigned char)255, 1009);
2181#line 177
2182  outb_p((unsigned char)243, 1008);
2183#line 178
2184  outb_p((unsigned char)0, 1009);
2185#line 179
2186  outb_p((unsigned char)244, 1008);
2187#line 180
2188  outb_p((unsigned char)0, 1009);
2189#line 181
2190  outb_p((unsigned char)242, 1008);
2191#line 182
2192  outb_p((unsigned char)0, 1009);
2193#line 188
2194  outb_p((unsigned char)7, 1008);
2195#line 189
2196  outb_p((unsigned char)7, 1009);
2197  }
2198  {
2199#line 190
2200  __cil_tmp2 = & testmode;
2201#line 190
2202  __cil_tmp3 = *__cil_tmp2;
2203#line 190
2204  if (__cil_tmp3 == 0) {
2205    {
2206#line 191
2207    outb_p((unsigned char)230, 1008);
2208#line 192
2209    outb_p((unsigned char)1, 1009);
2210    }
2211  } else {
2212
2213  }
2214  }
2215  {
2216#line 194
2217  outb_p((unsigned char)227, 1008);
2218#line 195
2219  outb_p((unsigned char)1, 1009);
2220#line 198
2221  outb_p((unsigned char)170, 1008);
2222#line 200
2223  spin_unlock_irqrestore(& spinlock, flags);
2224#line 202
2225  printk("<6>w83977f_wdt: shutdown\n");
2226  }
2227#line 204
2228  return (0);
2229}
2230}
2231#line 212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2232static int wdt_keepalive(void) 
2233{ unsigned long flags ;
2234  unsigned char __cil_tmp2 ;
2235  int __cil_tmp3 ;
2236  unsigned char __cil_tmp4 ;
2237
2238  {
2239  {
2240#line 216
2241  ldv_spin_lock();
2242#line 219
2243  outb_p((unsigned char)135, 1008);
2244#line 220
2245  outb_p((unsigned char)135, 1008);
2246#line 223
2247  outb_p((unsigned char)7, 1008);
2248#line 224
2249  outb_p((unsigned char)8, 1009);
2250#line 225
2251  outb_p((unsigned char)242, 1008);
2252#line 226
2253  __cil_tmp2 = (unsigned char )timeoutW;
2254#line 226
2255  __cil_tmp3 = (int )__cil_tmp2;
2256#line 226
2257  __cil_tmp4 = (unsigned char )__cil_tmp3;
2258#line 226
2259  outb_p(__cil_tmp4, 1009);
2260#line 229
2261  outb_p((unsigned char)170, 1008);
2262#line 231
2263  spin_unlock_irqrestore(& spinlock, flags);
2264  }
2265#line 233
2266  return (0);
2267}
2268}
2269#line 240 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2270static int wdt_set_timeout(int t ) 
2271{ int tmrval ;
2272  int __cil_tmp3 ;
2273  int *__cil_tmp4 ;
2274  int __cil_tmp5 ;
2275
2276  {
2277#line 251
2278  if (t <= 14) {
2279#line 252
2280    return (-22);
2281  } else {
2282
2283  }
2284#line 254
2285  __cil_tmp3 = t + 44;
2286#line 254
2287  tmrval = __cil_tmp3 / 30;
2288#line 256
2289  if (tmrval > 255) {
2290#line 257
2291    return (-22);
2292  } else {
2293
2294  }
2295#line 263
2296  timeoutW = tmrval;
2297#line 264
2298  __cil_tmp4 = & timeout;
2299#line 264
2300  __cil_tmp5 = timeoutW * 30;
2301#line 264
2302  *__cil_tmp4 = __cil_tmp5 + -15;
2303#line 265
2304  return (0);
2305}
2306}
2307#line 272 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2308static int wdt_get_status(int *status ) 
2309{ int new_status ;
2310  unsigned long flags ;
2311  unsigned char tmp ;
2312  int __cil_tmp5 ;
2313
2314  {
2315  {
2316#line 277
2317  ldv_spin_lock();
2318#line 280
2319  outb_p((unsigned char)135, 1008);
2320#line 281
2321  outb_p((unsigned char)135, 1008);
2322#line 284
2323  outb_p((unsigned char)7, 1008);
2324#line 285
2325  outb_p((unsigned char)8, 1009);
2326#line 286
2327  outb_p((unsigned char)244, 1008);
2328#line 287
2329  tmp = inb_p(1009);
2330#line 287
2331  new_status = (int )tmp;
2332#line 290
2333  outb_p((unsigned char)170, 1008);
2334#line 292
2335  spin_unlock_irqrestore(& spinlock, flags);
2336#line 294
2337  *status = 0;
2338  }
2339#line 295
2340  if (new_status & 1) {
2341#line 296
2342    __cil_tmp5 = *status;
2343#line 296
2344    *status = __cil_tmp5 | 32;
2345  } else {
2346
2347  }
2348#line 298
2349  return (0);
2350}
2351}
2352#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2353static int wdt_open(struct inode *inode , struct file *file ) 
2354{ int tmp ;
2355  int tmp___0 ;
2356  unsigned long volatile   *__cil_tmp5 ;
2357  bool *__cil_tmp6 ;
2358  bool __cil_tmp7 ;
2359
2360  {
2361  {
2362#line 309
2363  __cil_tmp5 = (unsigned long volatile   *)(& timer_alive);
2364#line 309
2365  tmp = test_and_set_bit(0, __cil_tmp5);
2366  }
2367#line 309
2368  if (tmp != 0) {
2369#line 310
2370    return (-16);
2371  } else {
2372
2373  }
2374  {
2375#line 312
2376  __cil_tmp6 = & nowayout;
2377#line 312
2378  __cil_tmp7 = *__cil_tmp6;
2379#line 312
2380  if ((int )__cil_tmp7) {
2381    {
2382#line 313
2383    __module_get(& __this_module);
2384    }
2385  } else {
2386
2387  }
2388  }
2389  {
2390#line 315
2391  wdt_start();
2392#line 316
2393  tmp___0 = nonseekable_open(inode, file);
2394  }
2395#line 316
2396  return (tmp___0);
2397}
2398}
2399#line 319 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2400static int wdt_release(struct inode *inode , struct file *file ) 
2401{ signed char __cil_tmp3 ;
2402  int __cil_tmp4 ;
2403  unsigned long volatile   *__cil_tmp5 ;
2404
2405  {
2406  {
2407#line 325
2408  __cil_tmp3 = (signed char )expect_close;
2409#line 325
2410  __cil_tmp4 = (int )__cil_tmp3;
2411#line 325
2412  if (__cil_tmp4 == 42) {
2413    {
2414#line 326
2415    wdt_stop();
2416#line 327
2417    __cil_tmp5 = (unsigned long volatile   *)(& timer_alive);
2418#line 327
2419    clear_bit(0, __cil_tmp5);
2420    }
2421  } else {
2422    {
2423#line 329
2424    wdt_keepalive();
2425#line 330
2426    printk("<2>w83977f_wdt: unexpected close, not stopping watchdog!\n");
2427    }
2428  }
2429  }
2430#line 332
2431  expect_close = (char)0;
2432#line 333
2433  return (0);
2434}
2435}
2436#line 347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2437static ssize_t wdt_write(struct file *file , char const   *buf , size_t count , loff_t *ppos ) 
2438{ size_t ofs ;
2439  char c ;
2440  int __ret_gu ;
2441  unsigned long __val_gu ;
2442  bool *__cil_tmp9 ;
2443  bool __cil_tmp10 ;
2444  signed char __cil_tmp11 ;
2445  int __cil_tmp12 ;
2446
2447  {
2448#line 351
2449  if (count != 0UL) {
2450    {
2451#line 352
2452    __cil_tmp9 = & nowayout;
2453#line 352
2454    __cil_tmp10 = *__cil_tmp9;
2455#line 352
2456    if (! __cil_tmp10) {
2457#line 357
2458      expect_close = (char)0;
2459#line 361
2460      ofs = 0UL;
2461#line 361
2462      goto ldv_18083;
2463      ldv_18082: 
2464      {
2465#line 363
2466      might_fault();
2467      }
2468#line 363
2469      if (1 == 1) {
2470#line 363
2471        goto case_1;
2472      } else
2473#line 363
2474      if (1 == 2) {
2475#line 363
2476        goto case_2;
2477      } else
2478#line 363
2479      if (1 == 4) {
2480#line 363
2481        goto case_4;
2482      } else
2483#line 363
2484      if (1 == 8) {
2485#line 363
2486        goto case_8;
2487      } else {
2488        {
2489#line 363
2490        goto switch_default;
2491#line 363
2492        if (0) {
2493          case_1: /* CIL Label */ 
2494#line 363
2495          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2496#line 363
2497          goto ldv_18076;
2498          case_2: /* CIL Label */ 
2499#line 363
2500          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2501#line 363
2502          goto ldv_18076;
2503          case_4: /* CIL Label */ 
2504#line 363
2505          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2506#line 363
2507          goto ldv_18076;
2508          case_8: /* CIL Label */ 
2509#line 363
2510          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2511#line 363
2512          goto ldv_18076;
2513          switch_default: /* CIL Label */ 
2514#line 363
2515          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2516#line 363
2517          goto ldv_18076;
2518        } else {
2519          switch_break: /* CIL Label */ ;
2520        }
2521        }
2522      }
2523      ldv_18076: 
2524#line 363
2525      c = (char )__val_gu;
2526#line 363
2527      if (__ret_gu != 0) {
2528#line 364
2529        return (-14L);
2530      } else {
2531
2532      }
2533      {
2534#line 365
2535      __cil_tmp11 = (signed char )c;
2536#line 365
2537      __cil_tmp12 = (int )__cil_tmp11;
2538#line 365
2539      if (__cil_tmp12 == 86) {
2540#line 366
2541        expect_close = (char)42;
2542      } else {
2543
2544      }
2545      }
2546#line 361
2547      ofs = ofs + 1UL;
2548      ldv_18083: ;
2549#line 361
2550      if (ofs != count) {
2551#line 362
2552        goto ldv_18082;
2553      } else {
2554#line 364
2555        goto ldv_18084;
2556      }
2557      ldv_18084: ;
2558    } else {
2559
2560    }
2561    }
2562    {
2563#line 371
2564    wdt_keepalive();
2565    }
2566  } else {
2567
2568  }
2569#line 373
2570  return ((ssize_t )count);
2571}
2572}
2573#line 387 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2574static struct watchdog_info  const  ident  =    {33152U, 1U, {(__u8 )'W', (__u8 )'8', (__u8 )'3', (__u8 )'9', (__u8 )'7', (__u8 )'7',
2575                 (__u8 )'F', (__u8 )' ', (__u8 )'W', (__u8 )'D', (__u8 )'T', (__u8 )'\000'}};
2576#line 393 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
2577static long wdt_ioctl(struct file *file , unsigned int cmd , unsigned long arg ) 
2578{ int status ;
2579  int new_options ;
2580  int retval ;
2581  int new_timeout ;
2582  union __anonunion_uarg_146 uarg ;
2583  long tmp___0 ;
2584  int tmp___1 ;
2585  int __ret_pu ;
2586  int __pu_val ;
2587  int __ret_pu___0 ;
2588  int __pu_val___0 ;
2589  int __ret_gu ;
2590  unsigned long __val_gu ;
2591  int __ret_gu___0 ;
2592  unsigned long __val_gu___0 ;
2593  int tmp___2 ;
2594  int __ret_pu___1 ;
2595  int __pu_val___1 ;
2596  void *__cil_tmp23 ;
2597  void const   *__cil_tmp24 ;
2598  int *__cil_tmp25 ;
2599  int __cil_tmp26 ;
2600  int *__cil_tmp27 ;
2601
2602  {
2603#line 396
2604  retval = -22;
2605#line 403
2606  uarg.i = (int *)arg;
2607#line 406
2608  if ((int )cmd == -2144839936) {
2609#line 406
2610    goto case_neg_2144839936;
2611  } else
2612#line 410
2613  if ((int )cmd == -2147199231) {
2614#line 410
2615    goto case_neg_2147199231;
2616  } else
2617#line 414
2618  if ((int )cmd == -2147199230) {
2619#line 414
2620    goto case_neg_2147199230;
2621  } else
2622#line 417
2623  if ((int )cmd == -2147199228) {
2624#line 417
2625    goto case_neg_2147199228;
2626  } else
2627#line 433
2628  if ((int )cmd == -2147199227) {
2629#line 433
2630    goto case_neg_2147199227;
2631  } else
2632#line 437
2633  if ((int )cmd == -1073457402) {
2634#line 437
2635    goto case_neg_1073457402;
2636  } else
2637#line 447
2638  if ((int )cmd == -2147199225) {
2639#line 447
2640    goto case_neg_2147199225;
2641  } else {
2642    {
2643#line 450
2644    goto switch_default___4;
2645#line 405
2646    if (0) {
2647      case_neg_2144839936: /* CIL Label */ 
2648      {
2649#line 407
2650      __cil_tmp23 = (void *)uarg.ident;
2651#line 407
2652      __cil_tmp24 = (void const   *)(& ident);
2653#line 407
2654      tmp___1 = copy_to_user(__cil_tmp23, __cil_tmp24, 40U);
2655      }
2656#line 407
2657      if (tmp___1 != 0) {
2658#line 407
2659        tmp___0 = -14L;
2660      } else {
2661#line 407
2662        tmp___0 = 0L;
2663      }
2664#line 407
2665      return (tmp___0);
2666      case_neg_2147199231: /* CIL Label */ 
2667      {
2668#line 411
2669      wdt_get_status(& status);
2670#line 412
2671      might_fault();
2672#line 412
2673      __cil_tmp25 = & status;
2674#line 412
2675      __pu_val = *__cil_tmp25;
2676      }
2677#line 412
2678      if (4 == 1) {
2679#line 412
2680        goto case_1;
2681      } else
2682#line 412
2683      if (4 == 2) {
2684#line 412
2685        goto case_2;
2686      } else
2687#line 412
2688      if (4 == 4) {
2689#line 412
2690        goto case_4;
2691      } else
2692#line 412
2693      if (4 == 8) {
2694#line 412
2695        goto case_8;
2696      } else {
2697        {
2698#line 412
2699        goto switch_default;
2700#line 412
2701        if (0) {
2702          case_1: /* CIL Label */ 
2703#line 412
2704          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
2705                               "c" (uarg.i): "ebx");
2706#line 412
2707          goto ldv_18104;
2708          case_2: /* CIL Label */ 
2709#line 412
2710          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
2711                               "c" (uarg.i): "ebx");
2712#line 412
2713          goto ldv_18104;
2714          case_4: /* CIL Label */ 
2715#line 412
2716          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
2717                               "c" (uarg.i): "ebx");
2718#line 412
2719          goto ldv_18104;
2720          case_8: /* CIL Label */ 
2721#line 412
2722          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
2723                               "c" (uarg.i): "ebx");
2724#line 412
2725          goto ldv_18104;
2726          switch_default: /* CIL Label */ 
2727#line 412
2728          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
2729                               "c" (uarg.i): "ebx");
2730#line 412
2731          goto ldv_18104;
2732        } else {
2733          switch_break___0: /* CIL Label */ ;
2734        }
2735        }
2736      }
2737      ldv_18104: ;
2738#line 412
2739      return ((long )__ret_pu);
2740      case_neg_2147199230: /* CIL Label */ 
2741      {
2742#line 415
2743      might_fault();
2744#line 415
2745      __pu_val___0 = 0;
2746      }
2747#line 415
2748      if (4 == 1) {
2749#line 415
2750        goto case_1___0;
2751      } else
2752#line 415
2753      if (4 == 2) {
2754#line 415
2755        goto case_2___0;
2756      } else
2757#line 415
2758      if (4 == 4) {
2759#line 415
2760        goto case_4___0;
2761      } else
2762#line 415
2763      if (4 == 8) {
2764#line 415
2765        goto case_8___0;
2766      } else {
2767        {
2768#line 415
2769        goto switch_default___0;
2770#line 415
2771        if (0) {
2772          case_1___0: /* CIL Label */ 
2773#line 415
2774          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
2775                               "c" (uarg.i): "ebx");
2776#line 415
2777          goto ldv_18114;
2778          case_2___0: /* CIL Label */ 
2779#line 415
2780          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
2781                               "c" (uarg.i): "ebx");
2782#line 415
2783          goto ldv_18114;
2784          case_4___0: /* CIL Label */ 
2785#line 415
2786          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
2787                               "c" (uarg.i): "ebx");
2788#line 415
2789          goto ldv_18114;
2790          case_8___0: /* CIL Label */ 
2791#line 415
2792          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
2793                               "c" (uarg.i): "ebx");
2794#line 415
2795          goto ldv_18114;
2796          switch_default___0: /* CIL Label */ 
2797#line 415
2798          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
2799                               "c" (uarg.i): "ebx");
2800#line 415
2801          goto ldv_18114;
2802        } else {
2803          switch_break___1: /* CIL Label */ ;
2804        }
2805        }
2806      }
2807      ldv_18114: ;
2808#line 415
2809      return ((long )__ret_pu___0);
2810      case_neg_2147199228: /* CIL Label */ 
2811      {
2812#line 418
2813      might_fault();
2814      }
2815#line 418
2816      if (4 == 1) {
2817#line 418
2818        goto case_1___1;
2819      } else
2820#line 418
2821      if (4 == 2) {
2822#line 418
2823        goto case_2___1;
2824      } else
2825#line 418
2826      if (4 == 4) {
2827#line 418
2828        goto case_4___1;
2829      } else
2830#line 418
2831      if (4 == 8) {
2832#line 418
2833        goto case_8___1;
2834      } else {
2835        {
2836#line 418
2837        goto switch_default___1;
2838#line 418
2839        if (0) {
2840          case_1___1: /* CIL Label */ 
2841#line 418
2842          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2843#line 418
2844          goto ldv_18124;
2845          case_2___1: /* CIL Label */ 
2846#line 418
2847          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2848#line 418
2849          goto ldv_18124;
2850          case_4___1: /* CIL Label */ 
2851#line 418
2852          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2853#line 418
2854          goto ldv_18124;
2855          case_8___1: /* CIL Label */ 
2856#line 418
2857          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2858#line 418
2859          goto ldv_18124;
2860          switch_default___1: /* CIL Label */ 
2861#line 418
2862          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (uarg.i));
2863#line 418
2864          goto ldv_18124;
2865        } else {
2866          switch_break___2: /* CIL Label */ ;
2867        }
2868        }
2869      }
2870      ldv_18124: 
2871#line 418
2872      new_options = (int )__val_gu;
2873#line 418
2874      if (__ret_gu != 0) {
2875#line 419
2876        return (-14L);
2877      } else {
2878
2879      }
2880#line 421
2881      if (new_options & 1) {
2882        {
2883#line 422
2884        wdt_stop();
2885#line 423
2886        retval = 0;
2887        }
2888      } else {
2889
2890      }
2891      {
2892#line 426
2893      __cil_tmp26 = new_options & 2;
2894#line 426
2895      if (__cil_tmp26 != 0) {
2896        {
2897#line 427
2898        wdt_start();
2899#line 428
2900        retval = 0;
2901        }
2902      } else {
2903
2904      }
2905      }
2906#line 431
2907      return ((long )retval);
2908      case_neg_2147199227: /* CIL Label */ 
2909      {
2910#line 434
2911      wdt_keepalive();
2912      }
2913#line 435
2914      return (0L);
2915      case_neg_1073457402: /* CIL Label */ 
2916      {
2917#line 438
2918      might_fault();
2919      }
2920#line 438
2921      if (4 == 1) {
2922#line 438
2923        goto case_1___2;
2924      } else
2925#line 438
2926      if (4 == 2) {
2927#line 438
2928        goto case_2___2;
2929      } else
2930#line 438
2931      if (4 == 4) {
2932#line 438
2933        goto case_4___2;
2934      } else
2935#line 438
2936      if (4 == 8) {
2937#line 438
2938        goto case_8___2;
2939      } else {
2940        {
2941#line 438
2942        goto switch_default___2;
2943#line 438
2944        if (0) {
2945          case_1___2: /* CIL Label */ 
2946#line 438
2947          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2948#line 438
2949          goto ldv_18135;
2950          case_2___2: /* CIL Label */ 
2951#line 438
2952          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2953#line 438
2954          goto ldv_18135;
2955          case_4___2: /* CIL Label */ 
2956#line 438
2957          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2958#line 438
2959          goto ldv_18135;
2960          case_8___2: /* CIL Label */ 
2961#line 438
2962          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2963#line 438
2964          goto ldv_18135;
2965          switch_default___2: /* CIL Label */ 
2966#line 438
2967          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (uarg.i));
2968#line 438
2969          goto ldv_18135;
2970        } else {
2971          switch_break___3: /* CIL Label */ ;
2972        }
2973        }
2974      }
2975      ldv_18135: 
2976#line 438
2977      new_timeout = (int )__val_gu___0;
2978#line 438
2979      if (__ret_gu___0 != 0) {
2980#line 439
2981        return (-14L);
2982      } else {
2983
2984      }
2985      {
2986#line 441
2987      tmp___2 = wdt_set_timeout(new_timeout);
2988      }
2989#line 441
2990      if (tmp___2 != 0) {
2991#line 442
2992        return (-22L);
2993      } else {
2994
2995      }
2996      {
2997#line 444
2998      wdt_keepalive();
2999      }
3000      case_neg_2147199225: /* CIL Label */ 
3001      {
3002#line 448
3003      might_fault();
3004#line 448
3005      __cil_tmp27 = & timeout;
3006#line 448
3007      __pu_val___1 = *__cil_tmp27;
3008      }
3009#line 448
3010      if (4 == 1) {
3011#line 448
3012        goto case_1___3;
3013      } else
3014#line 448
3015      if (4 == 2) {
3016#line 448
3017        goto case_2___3;
3018      } else
3019#line 448
3020      if (4 == 4) {
3021#line 448
3022        goto case_4___3;
3023      } else
3024#line 448
3025      if (4 == 8) {
3026#line 448
3027        goto case_8___3;
3028      } else {
3029        {
3030#line 448
3031        goto switch_default___3;
3032#line 448
3033        if (0) {
3034          case_1___3: /* CIL Label */ 
3035#line 448
3036          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___1): "0" (__pu_val___1),
3037                               "c" (uarg.i): "ebx");
3038#line 448
3039          goto ldv_18145;
3040          case_2___3: /* CIL Label */ 
3041#line 448
3042          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___1): "0" (__pu_val___1),
3043                               "c" (uarg.i): "ebx");
3044#line 448
3045          goto ldv_18145;
3046          case_4___3: /* CIL Label */ 
3047#line 448
3048          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___1): "0" (__pu_val___1),
3049                               "c" (uarg.i): "ebx");
3050#line 448
3051          goto ldv_18145;
3052          case_8___3: /* CIL Label */ 
3053#line 448
3054          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___1): "0" (__pu_val___1),
3055                               "c" (uarg.i): "ebx");
3056#line 448
3057          goto ldv_18145;
3058          switch_default___3: /* CIL Label */ 
3059#line 448
3060          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___1): "0" (__pu_val___1),
3061                               "c" (uarg.i): "ebx");
3062#line 448
3063          goto ldv_18145;
3064        } else {
3065          switch_break___4: /* CIL Label */ ;
3066        }
3067        }
3068      }
3069      ldv_18145: ;
3070#line 448
3071      return ((long )__ret_pu___1);
3072      switch_default___4: /* CIL Label */ ;
3073#line 451
3074      return (-25L);
3075    } else {
3076      switch_break: /* CIL Label */ ;
3077    }
3078    }
3079  }
3080}
3081}
3082#line 456 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3083static int wdt_notify_sys(struct notifier_block *this , unsigned long code , void *unused ) 
3084{ 
3085
3086  {
3087#line 459
3088  if (code == 1UL) {
3089    {
3090#line 460
3091    wdt_stop();
3092    }
3093  } else
3094#line 459
3095  if (code == 2UL) {
3096    {
3097#line 460
3098    wdt_stop();
3099    }
3100  } else {
3101
3102  }
3103#line 461
3104  return (0);
3105}
3106}
3107#line 464 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3108static struct file_operations  const  wdt_fops  = 
3109#line 464
3110     {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t  ,
3111                                               loff_t * ))0, & wdt_write, (ssize_t (*)(struct kiocb * ,
3112                                                                                       struct iovec  const  * ,
3113                                                                                       unsigned long  ,
3114                                                                                       loff_t  ))0,
3115    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
3116    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
3117                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
3118                                                                                            struct poll_table_struct * ))0,
3119    & wdt_ioctl, (long (*)(struct file * , unsigned int  , unsigned long  ))0, (int (*)(struct file * ,
3120                                                                                        struct vm_area_struct * ))0,
3121    & wdt_open, (int (*)(struct file * , fl_owner_t  ))0, & wdt_release, (int (*)(struct file * ,
3122                                                                                  loff_t  ,
3123                                                                                  loff_t  ,
3124                                                                                  int  ))0,
3125    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
3126    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
3127                                                                         struct page * ,
3128                                                                         int  , size_t  ,
3129                                                                         loff_t * ,
3130                                                                         int  ))0,
3131    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
3132                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
3133                                                                       int  , struct file_lock * ))0,
3134    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
3135    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
3136    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
3137                                                                        int  , loff_t  ,
3138                                                                        loff_t  ))0};
3139#line 473 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3140static struct miscdevice wdt_miscdev  = 
3141#line 473
3142     {130, "watchdog", & wdt_fops, {(struct list_head *)0, (struct list_head *)0}, (struct device *)0,
3143    (struct device *)0, (char const   *)0, (unsigned short)0};
3144#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3145static struct notifier_block wdt_notifier  =    {& wdt_notify_sys, (struct notifier_block *)0, 0};
3146#line 483 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3147static int w83977f_wdt_init(void) 
3148{ int rc ;
3149  int tmp ;
3150  struct resource *tmp___0 ;
3151  char *__cil_tmp4 ;
3152  int *__cil_tmp5 ;
3153  int __cil_tmp6 ;
3154  struct resource *__cil_tmp7 ;
3155  unsigned long __cil_tmp8 ;
3156  unsigned long __cil_tmp9 ;
3157  struct miscdevice *__cil_tmp10 ;
3158  int __cil_tmp11 ;
3159  int *__cil_tmp12 ;
3160  int __cil_tmp13 ;
3161  bool *__cil_tmp14 ;
3162  bool __cil_tmp15 ;
3163  int __cil_tmp16 ;
3164  int *__cil_tmp17 ;
3165  int __cil_tmp18 ;
3166
3167  {
3168  {
3169#line 487
3170  __cil_tmp4 = (char *)"1.00";
3171#line 487
3172  printk("<6>w83977f_wdt: driver v%s\n", __cil_tmp4);
3173#line 493
3174  __cil_tmp5 = & timeout;
3175#line 493
3176  __cil_tmp6 = *__cil_tmp5;
3177#line 493
3178  tmp = wdt_set_timeout(__cil_tmp6);
3179  }
3180#line 493
3181  if (tmp != 0) {
3182    {
3183#line 494
3184    wdt_set_timeout(45);
3185#line 495
3186    printk("<6>w83977f_wdt: timeout value must be 15 <= timeout <= 7635, using %d\n",
3187           45);
3188    }
3189  } else {
3190
3191  }
3192  {
3193#line 499
3194  tmp___0 = __request_region(& ioport_resource, 1008ULL, 2ULL, "W83977F WDT", 0);
3195  }
3196  {
3197#line 499
3198  __cil_tmp7 = (struct resource *)0;
3199#line 499
3200  __cil_tmp8 = (unsigned long )__cil_tmp7;
3201#line 499
3202  __cil_tmp9 = (unsigned long )tmp___0;
3203#line 499
3204  if (__cil_tmp9 == __cil_tmp8) {
3205    {
3206#line 500
3207    printk("<3>w83977f_wdt: I/O address 0x%04x already in use\n", 1008);
3208#line 501
3209    rc = -5;
3210    }
3211#line 502
3212    goto err_out;
3213  } else {
3214
3215  }
3216  }
3217  {
3218#line 505
3219  rc = register_reboot_notifier(& wdt_notifier);
3220  }
3221#line 506
3222  if (rc != 0) {
3223    {
3224#line 507
3225    printk("<3>w83977f_wdt: cannot register reboot notifier (err=%d)\n", rc);
3226    }
3227#line 508
3228    goto err_out_region;
3229  } else {
3230
3231  }
3232  {
3233#line 511
3234  rc = misc_register(& wdt_miscdev);
3235  }
3236#line 512
3237  if (rc != 0) {
3238    {
3239#line 513
3240    __cil_tmp10 = & wdt_miscdev;
3241#line 513
3242    __cil_tmp11 = *((int *)__cil_tmp10);
3243#line 513
3244    printk("<3>w83977f_wdt: cannot register miscdev on minor=%d (err=%d)\n", __cil_tmp11,
3245           rc);
3246    }
3247#line 515
3248    goto err_out_reboot;
3249  } else {
3250
3251  }
3252  {
3253#line 518
3254  __cil_tmp12 = & timeout;
3255#line 518
3256  __cil_tmp13 = *__cil_tmp12;
3257#line 518
3258  __cil_tmp14 = & nowayout;
3259#line 518
3260  __cil_tmp15 = *__cil_tmp14;
3261#line 518
3262  __cil_tmp16 = (int )__cil_tmp15;
3263#line 518
3264  __cil_tmp17 = & testmode;
3265#line 518
3266  __cil_tmp18 = *__cil_tmp17;
3267#line 518
3268  printk("<6>w83977f_wdt: initialized. timeout=%d sec (nowayout=%d testmode=%d)\n",
3269         __cil_tmp13, __cil_tmp16, __cil_tmp18);
3270  }
3271#line 521
3272  return (0);
3273  err_out_reboot: 
3274  {
3275#line 524
3276  unregister_reboot_notifier(& wdt_notifier);
3277  }
3278  err_out_region: 
3279  {
3280#line 526
3281  __release_region(& ioport_resource, 1008ULL, 2ULL);
3282  }
3283  err_out: ;
3284#line 528
3285  return (rc);
3286}
3287}
3288#line 531 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3289static void w83977f_wdt_exit(void) 
3290{ 
3291
3292  {
3293  {
3294#line 533
3295  wdt_stop();
3296#line 534
3297  misc_deregister(& wdt_miscdev);
3298#line 535
3299  unregister_reboot_notifier(& wdt_notifier);
3300#line 536
3301  __release_region(& ioport_resource, 1008ULL, 2ULL);
3302  }
3303#line 537
3304  return;
3305}
3306}
3307#line 563
3308extern void ldv_check_final_state(void) ;
3309#line 566
3310extern void ldv_check_return_value(int  ) ;
3311#line 569
3312extern void ldv_initialize(void) ;
3313#line 572
3314extern int __VERIFIER_nondet_int(void) ;
3315#line 575 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3316int LDV_IN_INTERRUPT  ;
3317#line 578 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3318void main(void) 
3319{ struct file *var_group1 ;
3320  char const   *var_wdt_write_7_p1 ;
3321  size_t var_wdt_write_7_p2 ;
3322  loff_t *var_wdt_write_7_p3 ;
3323  ssize_t res_wdt_write_7 ;
3324  unsigned int var_wdt_ioctl_8_p1 ;
3325  unsigned long var_wdt_ioctl_8_p2 ;
3326  struct inode *var_group2 ;
3327  int res_wdt_open_5 ;
3328  struct notifier_block *var_group3 ;
3329  unsigned long var_wdt_notify_sys_9_p1 ;
3330  void *var_wdt_notify_sys_9_p2 ;
3331  int ldv_s_wdt_fops_file_operations ;
3332  int tmp ;
3333  int tmp___0 ;
3334  int tmp___1 ;
3335  int __cil_tmp17 ;
3336
3337  {
3338  {
3339#line 705
3340  ldv_s_wdt_fops_file_operations = 0;
3341#line 678
3342  LDV_IN_INTERRUPT = 1;
3343#line 687
3344  ldv_initialize();
3345#line 703
3346  tmp = w83977f_wdt_init();
3347  }
3348#line 703
3349  if (tmp != 0) {
3350#line 704
3351    goto ldv_final;
3352  } else {
3353
3354  }
3355#line 711
3356  goto ldv_18219;
3357  ldv_18218: 
3358  {
3359#line 715
3360  tmp___0 = __VERIFIER_nondet_int();
3361  }
3362#line 717
3363  if (tmp___0 == 0) {
3364#line 717
3365    goto case_0;
3366  } else
3367#line 746
3368  if (tmp___0 == 1) {
3369#line 746
3370    goto case_1;
3371  } else
3372#line 775
3373  if (tmp___0 == 2) {
3374#line 775
3375    goto case_2;
3376  } else
3377#line 801
3378  if (tmp___0 == 3) {
3379#line 801
3380    goto case_3;
3381  } else
3382#line 827
3383  if (tmp___0 == 4) {
3384#line 827
3385    goto case_4;
3386  } else {
3387    {
3388#line 853
3389    goto switch_default;
3390#line 715
3391    if (0) {
3392      case_0: /* CIL Label */ ;
3393#line 720
3394      if (ldv_s_wdt_fops_file_operations == 0) {
3395        {
3396#line 735
3397        res_wdt_open_5 = wdt_open(var_group2, var_group1);
3398#line 736
3399        ldv_check_return_value(res_wdt_open_5);
3400        }
3401#line 737
3402        if (res_wdt_open_5 != 0) {
3403#line 738
3404          goto ldv_module_exit;
3405        } else {
3406
3407        }
3408#line 739
3409        ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3410      } else {
3411
3412      }
3413#line 745
3414      goto ldv_18212;
3415      case_1: /* CIL Label */ ;
3416#line 749
3417      if (ldv_s_wdt_fops_file_operations == 1) {
3418        {
3419#line 764
3420        res_wdt_write_7 = wdt_write(var_group1, var_wdt_write_7_p1, var_wdt_write_7_p2,
3421                                    var_wdt_write_7_p3);
3422#line 765
3423        __cil_tmp17 = (int )res_wdt_write_7;
3424#line 765
3425        ldv_check_return_value(__cil_tmp17);
3426        }
3427#line 766
3428        if (res_wdt_write_7 < 0L) {
3429#line 767
3430          goto ldv_module_exit;
3431        } else {
3432
3433        }
3434#line 768
3435        ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3436      } else {
3437
3438      }
3439#line 774
3440      goto ldv_18212;
3441      case_2: /* CIL Label */ ;
3442#line 778
3443      if (ldv_s_wdt_fops_file_operations == 2) {
3444        {
3445#line 793
3446        wdt_release(var_group2, var_group1);
3447#line 794
3448        ldv_s_wdt_fops_file_operations = 0;
3449        }
3450      } else {
3451
3452      }
3453#line 800
3454      goto ldv_18212;
3455      case_3: /* CIL Label */ 
3456      {
3457#line 819
3458      wdt_ioctl(var_group1, var_wdt_ioctl_8_p1, var_wdt_ioctl_8_p2);
3459      }
3460#line 826
3461      goto ldv_18212;
3462      case_4: /* CIL Label */ 
3463      {
3464#line 845
3465      wdt_notify_sys(var_group3, var_wdt_notify_sys_9_p1, var_wdt_notify_sys_9_p2);
3466      }
3467#line 852
3468      goto ldv_18212;
3469      switch_default: /* CIL Label */ ;
3470#line 853
3471      goto ldv_18212;
3472    } else {
3473      switch_break: /* CIL Label */ ;
3474    }
3475    }
3476  }
3477  ldv_18212: ;
3478  ldv_18219: 
3479  {
3480#line 711
3481  tmp___1 = __VERIFIER_nondet_int();
3482  }
3483#line 711
3484  if (tmp___1 != 0) {
3485#line 713
3486    goto ldv_18218;
3487  } else
3488#line 711
3489  if (ldv_s_wdt_fops_file_operations != 0) {
3490#line 713
3491    goto ldv_18218;
3492  } else {
3493#line 715
3494    goto ldv_18220;
3495  }
3496  ldv_18220: ;
3497  ldv_module_exit: 
3498  {
3499#line 875
3500  w83977f_wdt_exit();
3501  }
3502  ldv_final: 
3503  {
3504#line 878
3505  ldv_check_final_state();
3506  }
3507#line 881
3508  return;
3509}
3510}
3511#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3512void ldv_blast_assert(void) 
3513{ 
3514
3515  {
3516  ERROR: ;
3517#line 6
3518  goto ERROR;
3519}
3520}
3521#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3522extern int __VERIFIER_nondet_int(void) ;
3523#line 902 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3524int ldv_spin  =    0;
3525#line 906 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3526void ldv_check_alloc_flags(gfp_t flags ) 
3527{ 
3528
3529  {
3530#line 909
3531  if (ldv_spin != 0) {
3532#line 909
3533    if (flags != 32U) {
3534      {
3535#line 909
3536      ldv_blast_assert();
3537      }
3538    } else {
3539
3540    }
3541  } else {
3542
3543  }
3544#line 912
3545  return;
3546}
3547}
3548#line 912
3549extern struct page *ldv_some_page(void) ;
3550#line 915 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3551struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3552{ struct page *tmp ;
3553
3554  {
3555#line 918
3556  if (ldv_spin != 0) {
3557#line 918
3558    if (flags != 32U) {
3559      {
3560#line 918
3561      ldv_blast_assert();
3562      }
3563    } else {
3564
3565    }
3566  } else {
3567
3568  }
3569  {
3570#line 920
3571  tmp = ldv_some_page();
3572  }
3573#line 920
3574  return (tmp);
3575}
3576}
3577#line 924 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3578void ldv_check_alloc_nonatomic(void) 
3579{ 
3580
3581  {
3582#line 927
3583  if (ldv_spin != 0) {
3584    {
3585#line 927
3586    ldv_blast_assert();
3587    }
3588  } else {
3589
3590  }
3591#line 930
3592  return;
3593}
3594}
3595#line 931 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3596void ldv_spin_lock(void) 
3597{ 
3598
3599  {
3600#line 934
3601  ldv_spin = 1;
3602#line 935
3603  return;
3604}
3605}
3606#line 938 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3607void ldv_spin_unlock(void) 
3608{ 
3609
3610  {
3611#line 941
3612  ldv_spin = 0;
3613#line 942
3614  return;
3615}
3616}
3617#line 945 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3618int ldv_spin_trylock(void) 
3619{ int is_lock ;
3620
3621  {
3622  {
3623#line 950
3624  is_lock = __VERIFIER_nondet_int();
3625  }
3626#line 952
3627  if (is_lock != 0) {
3628#line 955
3629    return (0);
3630  } else {
3631#line 960
3632    ldv_spin = 1;
3633#line 962
3634    return (1);
3635  }
3636}
3637}
3638#line 1038 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3639__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
3640{ 
3641
3642  {
3643  {
3644#line 1044
3645  ldv_spin_unlock();
3646#line 1046
3647  ldv_spin_unlock_irqrestore_8(lock, flags);
3648  }
3649#line 1047
3650  return;
3651}
3652}
3653#line 1129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17371/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83977f_wdt.c.p"
3654void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3655{ 
3656
3657  {
3658  {
3659#line 1135
3660  ldv_check_alloc_flags(ldv_func_arg2);
3661#line 1137
3662  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3663  }
3664#line 1138
3665  return ((void *)0);
3666}
3667}