Showing error 1329

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--w83697ug_wdt.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3771
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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