Showing error 720

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