Showing error 1308

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