Showing error 1330

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