Showing error 1318

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