Showing error 1197

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--rtc--rtc-m48t86.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3496
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 22 "include/asm-generic/int-ll64.h"
   7typedef short __s16;
   8#line 23 "include/asm-generic/int-ll64.h"
   9typedef unsigned short __u16;
  10#line 25 "include/asm-generic/int-ll64.h"
  11typedef int __s32;
  12#line 26 "include/asm-generic/int-ll64.h"
  13typedef unsigned int __u32;
  14#line 30 "include/asm-generic/int-ll64.h"
  15typedef unsigned long long __u64;
  16#line 43 "include/asm-generic/int-ll64.h"
  17typedef unsigned char u8;
  18#line 45 "include/asm-generic/int-ll64.h"
  19typedef short s16;
  20#line 46 "include/asm-generic/int-ll64.h"
  21typedef unsigned short u16;
  22#line 48 "include/asm-generic/int-ll64.h"
  23typedef int s32;
  24#line 49 "include/asm-generic/int-ll64.h"
  25typedef unsigned int u32;
  26#line 51 "include/asm-generic/int-ll64.h"
  27typedef long long s64;
  28#line 52 "include/asm-generic/int-ll64.h"
  29typedef unsigned long long u64;
  30#line 14 "include/asm-generic/posix_types.h"
  31typedef long __kernel_long_t;
  32#line 15 "include/asm-generic/posix_types.h"
  33typedef unsigned long __kernel_ulong_t;
  34#line 52 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_uid32_t;
  36#line 53 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_gid32_t;
  38#line 75 "include/asm-generic/posix_types.h"
  39typedef __kernel_ulong_t __kernel_size_t;
  40#line 76 "include/asm-generic/posix_types.h"
  41typedef __kernel_long_t __kernel_ssize_t;
  42#line 91 "include/asm-generic/posix_types.h"
  43typedef long long __kernel_loff_t;
  44#line 92 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_time_t;
  46#line 95 "include/asm-generic/posix_types.h"
  47typedef int __kernel_clockid_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 35 "include/linux/types.h"
  55typedef __kernel_clockid_t clockid_t;
  56#line 38 "include/linux/types.h"
  57typedef _Bool bool;
  58#line 40 "include/linux/types.h"
  59typedef __kernel_uid32_t uid_t;
  60#line 41 "include/linux/types.h"
  61typedef __kernel_gid32_t gid_t;
  62#line 54 "include/linux/types.h"
  63typedef __kernel_loff_t loff_t;
  64#line 63 "include/linux/types.h"
  65typedef __kernel_size_t size_t;
  66#line 68 "include/linux/types.h"
  67typedef __kernel_ssize_t ssize_t;
  68#line 78 "include/linux/types.h"
  69typedef __kernel_time_t time_t;
  70#line 142 "include/linux/types.h"
  71typedef unsigned long sector_t;
  72#line 143 "include/linux/types.h"
  73typedef unsigned long blkcnt_t;
  74#line 202 "include/linux/types.h"
  75typedef unsigned int gfp_t;
  76#line 203 "include/linux/types.h"
  77typedef unsigned int fmode_t;
  78#line 206 "include/linux/types.h"
  79typedef u64 phys_addr_t;
  80#line 211 "include/linux/types.h"
  81typedef phys_addr_t resource_size_t;
  82#line 221 "include/linux/types.h"
  83struct __anonstruct_atomic_t_6 {
  84   int counter ;
  85};
  86#line 221 "include/linux/types.h"
  87typedef struct __anonstruct_atomic_t_6 atomic_t;
  88#line 226 "include/linux/types.h"
  89struct __anonstruct_atomic64_t_7 {
  90   long counter ;
  91};
  92#line 226 "include/linux/types.h"
  93typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  94#line 227 "include/linux/types.h"
  95struct list_head {
  96   struct list_head *next ;
  97   struct list_head *prev ;
  98};
  99#line 232
 100struct hlist_node;
 101#line 232 "include/linux/types.h"
 102struct hlist_head {
 103   struct hlist_node *first ;
 104};
 105#line 236 "include/linux/types.h"
 106struct hlist_node {
 107   struct hlist_node *next ;
 108   struct hlist_node **pprev ;
 109};
 110#line 247 "include/linux/types.h"
 111struct rcu_head {
 112   struct rcu_head *next ;
 113   void (*func)(struct rcu_head * ) ;
 114};
 115#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 116struct module;
 117#line 55
 118struct module;
 119#line 146 "include/linux/init.h"
 120typedef void (*ctor_fn_t)(void);
 121#line 46 "include/linux/dynamic_debug.h"
 122struct device;
 123#line 46
 124struct device;
 125#line 57
 126struct completion;
 127#line 57
 128struct completion;
 129#line 348 "include/linux/kernel.h"
 130struct pid;
 131#line 348
 132struct pid;
 133#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 134struct timespec;
 135#line 112
 136struct timespec;
 137#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 138struct page;
 139#line 58
 140struct page;
 141#line 26 "include/asm-generic/getorder.h"
 142struct task_struct;
 143#line 26
 144struct task_struct;
 145#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 146struct file;
 147#line 290
 148struct file;
 149#line 305
 150struct seq_file;
 151#line 305
 152struct seq_file;
 153#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 154struct arch_spinlock;
 155#line 327
 156struct arch_spinlock;
 157#line 306 "include/linux/bitmap.h"
 158struct bug_entry {
 159   int bug_addr_disp ;
 160   int file_disp ;
 161   unsigned short line ;
 162   unsigned short flags ;
 163};
 164#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 165struct static_key;
 166#line 234
 167struct static_key;
 168#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 169struct seq_operations;
 170#line 433
 171struct kmem_cache;
 172#line 23 "include/asm-generic/atomic-long.h"
 173typedef atomic64_t atomic_long_t;
 174#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 175typedef u16 __ticket_t;
 176#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 177typedef u32 __ticketpair_t;
 178#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 179struct __raw_tickets {
 180   __ticket_t head ;
 181   __ticket_t tail ;
 182};
 183#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 184union __anonunion_ldv_5907_29 {
 185   __ticketpair_t head_tail ;
 186   struct __raw_tickets tickets ;
 187};
 188#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 189struct arch_spinlock {
 190   union __anonunion_ldv_5907_29 ldv_5907 ;
 191};
 192#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 193typedef struct arch_spinlock arch_spinlock_t;
 194#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 195struct __anonstruct_ldv_5914_31 {
 196   u32 read ;
 197   s32 write ;
 198};
 199#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 200union __anonunion_arch_rwlock_t_30 {
 201   s64 lock ;
 202   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 203};
 204#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 205typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 206#line 34
 207struct lockdep_map;
 208#line 34
 209struct lockdep_map;
 210#line 55 "include/linux/debug_locks.h"
 211struct stack_trace {
 212   unsigned int nr_entries ;
 213   unsigned int max_entries ;
 214   unsigned long *entries ;
 215   int skip ;
 216};
 217#line 26 "include/linux/stacktrace.h"
 218struct lockdep_subclass_key {
 219   char __one_byte ;
 220};
 221#line 53 "include/linux/lockdep.h"
 222struct lock_class_key {
 223   struct lockdep_subclass_key subkeys[8U] ;
 224};
 225#line 59 "include/linux/lockdep.h"
 226struct lock_class {
 227   struct list_head hash_entry ;
 228   struct list_head lock_entry ;
 229   struct lockdep_subclass_key *key ;
 230   unsigned int subclass ;
 231   unsigned int dep_gen_id ;
 232   unsigned long usage_mask ;
 233   struct stack_trace usage_traces[13U] ;
 234   struct list_head locks_after ;
 235   struct list_head locks_before ;
 236   unsigned int version ;
 237   unsigned long ops ;
 238   char const   *name ;
 239   int name_version ;
 240   unsigned long contention_point[4U] ;
 241   unsigned long contending_point[4U] ;
 242};
 243#line 144 "include/linux/lockdep.h"
 244struct lockdep_map {
 245   struct lock_class_key *key ;
 246   struct lock_class *class_cache[2U] ;
 247   char const   *name ;
 248   int cpu ;
 249   unsigned long ip ;
 250};
 251#line 556 "include/linux/lockdep.h"
 252struct raw_spinlock {
 253   arch_spinlock_t raw_lock ;
 254   unsigned int magic ;
 255   unsigned int owner_cpu ;
 256   void *owner ;
 257   struct lockdep_map dep_map ;
 258};
 259#line 32 "include/linux/spinlock_types.h"
 260typedef struct raw_spinlock raw_spinlock_t;
 261#line 33 "include/linux/spinlock_types.h"
 262struct __anonstruct_ldv_6122_33 {
 263   u8 __padding[24U] ;
 264   struct lockdep_map dep_map ;
 265};
 266#line 33 "include/linux/spinlock_types.h"
 267union __anonunion_ldv_6123_32 {
 268   struct raw_spinlock rlock ;
 269   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 270};
 271#line 33 "include/linux/spinlock_types.h"
 272struct spinlock {
 273   union __anonunion_ldv_6123_32 ldv_6123 ;
 274};
 275#line 76 "include/linux/spinlock_types.h"
 276typedef struct spinlock spinlock_t;
 277#line 23 "include/linux/rwlock_types.h"
 278struct __anonstruct_rwlock_t_34 {
 279   arch_rwlock_t raw_lock ;
 280   unsigned int magic ;
 281   unsigned int owner_cpu ;
 282   void *owner ;
 283   struct lockdep_map dep_map ;
 284};
 285#line 23 "include/linux/rwlock_types.h"
 286typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 287#line 110 "include/linux/seqlock.h"
 288struct seqcount {
 289   unsigned int sequence ;
 290};
 291#line 121 "include/linux/seqlock.h"
 292typedef struct seqcount seqcount_t;
 293#line 254 "include/linux/seqlock.h"
 294struct timespec {
 295   __kernel_time_t tv_sec ;
 296   long tv_nsec ;
 297};
 298#line 286 "include/linux/time.h"
 299struct kstat {
 300   u64 ino ;
 301   dev_t dev ;
 302   umode_t mode ;
 303   unsigned int nlink ;
 304   uid_t uid ;
 305   gid_t gid ;
 306   dev_t rdev ;
 307   loff_t size ;
 308   struct timespec atime ;
 309   struct timespec mtime ;
 310   struct timespec ctime ;
 311   unsigned long blksize ;
 312   unsigned long long blocks ;
 313};
 314#line 48 "include/linux/wait.h"
 315struct __wait_queue_head {
 316   spinlock_t lock ;
 317   struct list_head task_list ;
 318};
 319#line 53 "include/linux/wait.h"
 320typedef struct __wait_queue_head wait_queue_head_t;
 321#line 670 "include/linux/mmzone.h"
 322struct mutex {
 323   atomic_t count ;
 324   spinlock_t wait_lock ;
 325   struct list_head wait_list ;
 326   struct task_struct *owner ;
 327   char const   *name ;
 328   void *magic ;
 329   struct lockdep_map dep_map ;
 330};
 331#line 171 "include/linux/mutex.h"
 332struct rw_semaphore;
 333#line 171
 334struct rw_semaphore;
 335#line 172 "include/linux/mutex.h"
 336struct rw_semaphore {
 337   long count ;
 338   raw_spinlock_t wait_lock ;
 339   struct list_head wait_list ;
 340   struct lockdep_map dep_map ;
 341};
 342#line 128 "include/linux/rwsem.h"
 343struct completion {
 344   unsigned int done ;
 345   wait_queue_head_t wait ;
 346};
 347#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 348struct resource {
 349   resource_size_t start ;
 350   resource_size_t end ;
 351   char const   *name ;
 352   unsigned long flags ;
 353   struct resource *parent ;
 354   struct resource *sibling ;
 355   struct resource *child ;
 356};
 357#line 312 "include/linux/jiffies.h"
 358union ktime {
 359   s64 tv64 ;
 360};
 361#line 59 "include/linux/ktime.h"
 362typedef union ktime ktime_t;
 363#line 341
 364struct tvec_base;
 365#line 341
 366struct tvec_base;
 367#line 342 "include/linux/ktime.h"
 368struct timer_list {
 369   struct list_head entry ;
 370   unsigned long expires ;
 371   struct tvec_base *base ;
 372   void (*function)(unsigned long  ) ;
 373   unsigned long data ;
 374   int slack ;
 375   int start_pid ;
 376   void *start_site ;
 377   char start_comm[16U] ;
 378   struct lockdep_map lockdep_map ;
 379};
 380#line 289 "include/linux/timer.h"
 381struct hrtimer;
 382#line 289
 383struct hrtimer;
 384#line 290
 385enum hrtimer_restart;
 386#line 302
 387struct work_struct;
 388#line 302
 389struct work_struct;
 390#line 45 "include/linux/workqueue.h"
 391struct work_struct {
 392   atomic_long_t data ;
 393   struct list_head entry ;
 394   void (*func)(struct work_struct * ) ;
 395   struct lockdep_map lockdep_map ;
 396};
 397#line 46 "include/linux/pm.h"
 398struct pm_message {
 399   int event ;
 400};
 401#line 52 "include/linux/pm.h"
 402typedef struct pm_message pm_message_t;
 403#line 53 "include/linux/pm.h"
 404struct dev_pm_ops {
 405   int (*prepare)(struct device * ) ;
 406   void (*complete)(struct device * ) ;
 407   int (*suspend)(struct device * ) ;
 408   int (*resume)(struct device * ) ;
 409   int (*freeze)(struct device * ) ;
 410   int (*thaw)(struct device * ) ;
 411   int (*poweroff)(struct device * ) ;
 412   int (*restore)(struct device * ) ;
 413   int (*suspend_late)(struct device * ) ;
 414   int (*resume_early)(struct device * ) ;
 415   int (*freeze_late)(struct device * ) ;
 416   int (*thaw_early)(struct device * ) ;
 417   int (*poweroff_late)(struct device * ) ;
 418   int (*restore_early)(struct device * ) ;
 419   int (*suspend_noirq)(struct device * ) ;
 420   int (*resume_noirq)(struct device * ) ;
 421   int (*freeze_noirq)(struct device * ) ;
 422   int (*thaw_noirq)(struct device * ) ;
 423   int (*poweroff_noirq)(struct device * ) ;
 424   int (*restore_noirq)(struct device * ) ;
 425   int (*runtime_suspend)(struct device * ) ;
 426   int (*runtime_resume)(struct device * ) ;
 427   int (*runtime_idle)(struct device * ) ;
 428};
 429#line 289
 430enum rpm_status {
 431    RPM_ACTIVE = 0,
 432    RPM_RESUMING = 1,
 433    RPM_SUSPENDED = 2,
 434    RPM_SUSPENDING = 3
 435} ;
 436#line 296
 437enum rpm_request {
 438    RPM_REQ_NONE = 0,
 439    RPM_REQ_IDLE = 1,
 440    RPM_REQ_SUSPEND = 2,
 441    RPM_REQ_AUTOSUSPEND = 3,
 442    RPM_REQ_RESUME = 4
 443} ;
 444#line 304
 445struct wakeup_source;
 446#line 304
 447struct wakeup_source;
 448#line 494 "include/linux/pm.h"
 449struct pm_subsys_data {
 450   spinlock_t lock ;
 451   unsigned int refcount ;
 452};
 453#line 499
 454struct dev_pm_qos_request;
 455#line 499
 456struct pm_qos_constraints;
 457#line 499 "include/linux/pm.h"
 458struct dev_pm_info {
 459   pm_message_t power_state ;
 460   unsigned char can_wakeup : 1 ;
 461   unsigned char async_suspend : 1 ;
 462   bool is_prepared ;
 463   bool is_suspended ;
 464   bool ignore_children ;
 465   spinlock_t lock ;
 466   struct list_head entry ;
 467   struct completion completion ;
 468   struct wakeup_source *wakeup ;
 469   bool wakeup_path ;
 470   struct timer_list suspend_timer ;
 471   unsigned long timer_expires ;
 472   struct work_struct work ;
 473   wait_queue_head_t wait_queue ;
 474   atomic_t usage_count ;
 475   atomic_t child_count ;
 476   unsigned char disable_depth : 3 ;
 477   unsigned char idle_notification : 1 ;
 478   unsigned char request_pending : 1 ;
 479   unsigned char deferred_resume : 1 ;
 480   unsigned char run_wake : 1 ;
 481   unsigned char runtime_auto : 1 ;
 482   unsigned char no_callbacks : 1 ;
 483   unsigned char irq_safe : 1 ;
 484   unsigned char use_autosuspend : 1 ;
 485   unsigned char timer_autosuspends : 1 ;
 486   enum rpm_request request ;
 487   enum rpm_status runtime_status ;
 488   int runtime_error ;
 489   int autosuspend_delay ;
 490   unsigned long last_busy ;
 491   unsigned long active_jiffies ;
 492   unsigned long suspended_jiffies ;
 493   unsigned long accounting_timestamp ;
 494   ktime_t suspend_time ;
 495   s64 max_time_suspended_ns ;
 496   struct dev_pm_qos_request *pq_req ;
 497   struct pm_subsys_data *subsys_data ;
 498   struct pm_qos_constraints *constraints ;
 499};
 500#line 558 "include/linux/pm.h"
 501struct dev_pm_domain {
 502   struct dev_pm_ops ops ;
 503};
 504#line 18 "include/asm-generic/pci_iomap.h"
 505struct vm_area_struct;
 506#line 18
 507struct vm_area_struct;
 508#line 835 "include/linux/sysctl.h"
 509struct rb_node {
 510   unsigned long rb_parent_color ;
 511   struct rb_node *rb_right ;
 512   struct rb_node *rb_left ;
 513};
 514#line 108 "include/linux/rbtree.h"
 515struct rb_root {
 516   struct rb_node *rb_node ;
 517};
 518#line 37 "include/linux/kmod.h"
 519struct cred;
 520#line 37
 521struct cred;
 522#line 18 "include/linux/elf.h"
 523typedef __u64 Elf64_Addr;
 524#line 19 "include/linux/elf.h"
 525typedef __u16 Elf64_Half;
 526#line 23 "include/linux/elf.h"
 527typedef __u32 Elf64_Word;
 528#line 24 "include/linux/elf.h"
 529typedef __u64 Elf64_Xword;
 530#line 193 "include/linux/elf.h"
 531struct elf64_sym {
 532   Elf64_Word st_name ;
 533   unsigned char st_info ;
 534   unsigned char st_other ;
 535   Elf64_Half st_shndx ;
 536   Elf64_Addr st_value ;
 537   Elf64_Xword st_size ;
 538};
 539#line 201 "include/linux/elf.h"
 540typedef struct elf64_sym Elf64_Sym;
 541#line 445
 542struct sock;
 543#line 445
 544struct sock;
 545#line 446
 546struct kobject;
 547#line 446
 548struct kobject;
 549#line 447
 550enum kobj_ns_type {
 551    KOBJ_NS_TYPE_NONE = 0,
 552    KOBJ_NS_TYPE_NET = 1,
 553    KOBJ_NS_TYPES = 2
 554} ;
 555#line 453 "include/linux/elf.h"
 556struct kobj_ns_type_operations {
 557   enum kobj_ns_type type ;
 558   void *(*grab_current_ns)(void) ;
 559   void const   *(*netlink_ns)(struct sock * ) ;
 560   void const   *(*initial_ns)(void) ;
 561   void (*drop_ns)(void * ) ;
 562};
 563#line 57 "include/linux/kobject_ns.h"
 564struct attribute {
 565   char const   *name ;
 566   umode_t mode ;
 567   struct lock_class_key *key ;
 568   struct lock_class_key skey ;
 569};
 570#line 33 "include/linux/sysfs.h"
 571struct attribute_group {
 572   char const   *name ;
 573   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 574   struct attribute **attrs ;
 575};
 576#line 62 "include/linux/sysfs.h"
 577struct bin_attribute {
 578   struct attribute attr ;
 579   size_t size ;
 580   void *private ;
 581   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 582                   loff_t  , size_t  ) ;
 583   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 584                    loff_t  , size_t  ) ;
 585   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 586};
 587#line 98 "include/linux/sysfs.h"
 588struct sysfs_ops {
 589   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 590   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 591   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 592};
 593#line 117
 594struct sysfs_dirent;
 595#line 117
 596struct sysfs_dirent;
 597#line 182 "include/linux/sysfs.h"
 598struct kref {
 599   atomic_t refcount ;
 600};
 601#line 49 "include/linux/kobject.h"
 602struct kset;
 603#line 49
 604struct kobj_type;
 605#line 49 "include/linux/kobject.h"
 606struct kobject {
 607   char const   *name ;
 608   struct list_head entry ;
 609   struct kobject *parent ;
 610   struct kset *kset ;
 611   struct kobj_type *ktype ;
 612   struct sysfs_dirent *sd ;
 613   struct kref kref ;
 614   unsigned char state_initialized : 1 ;
 615   unsigned char state_in_sysfs : 1 ;
 616   unsigned char state_add_uevent_sent : 1 ;
 617   unsigned char state_remove_uevent_sent : 1 ;
 618   unsigned char uevent_suppress : 1 ;
 619};
 620#line 107 "include/linux/kobject.h"
 621struct kobj_type {
 622   void (*release)(struct kobject * ) ;
 623   struct sysfs_ops  const  *sysfs_ops ;
 624   struct attribute **default_attrs ;
 625   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 626   void const   *(*namespace)(struct kobject * ) ;
 627};
 628#line 115 "include/linux/kobject.h"
 629struct kobj_uevent_env {
 630   char *envp[32U] ;
 631   int envp_idx ;
 632   char buf[2048U] ;
 633   int buflen ;
 634};
 635#line 122 "include/linux/kobject.h"
 636struct kset_uevent_ops {
 637   int (* const  filter)(struct kset * , struct kobject * ) ;
 638   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 639   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 640};
 641#line 139 "include/linux/kobject.h"
 642struct kset {
 643   struct list_head list ;
 644   spinlock_t list_lock ;
 645   struct kobject kobj ;
 646   struct kset_uevent_ops  const  *uevent_ops ;
 647};
 648#line 215
 649struct kernel_param;
 650#line 215
 651struct kernel_param;
 652#line 216 "include/linux/kobject.h"
 653struct kernel_param_ops {
 654   int (*set)(char const   * , struct kernel_param  const  * ) ;
 655   int (*get)(char * , struct kernel_param  const  * ) ;
 656   void (*free)(void * ) ;
 657};
 658#line 49 "include/linux/moduleparam.h"
 659struct kparam_string;
 660#line 49
 661struct kparam_array;
 662#line 49 "include/linux/moduleparam.h"
 663union __anonunion_ldv_13363_134 {
 664   void *arg ;
 665   struct kparam_string  const  *str ;
 666   struct kparam_array  const  *arr ;
 667};
 668#line 49 "include/linux/moduleparam.h"
 669struct kernel_param {
 670   char const   *name ;
 671   struct kernel_param_ops  const  *ops ;
 672   u16 perm ;
 673   s16 level ;
 674   union __anonunion_ldv_13363_134 ldv_13363 ;
 675};
 676#line 61 "include/linux/moduleparam.h"
 677struct kparam_string {
 678   unsigned int maxlen ;
 679   char *string ;
 680};
 681#line 67 "include/linux/moduleparam.h"
 682struct kparam_array {
 683   unsigned int max ;
 684   unsigned int elemsize ;
 685   unsigned int *num ;
 686   struct kernel_param_ops  const  *ops ;
 687   void *elem ;
 688};
 689#line 458 "include/linux/moduleparam.h"
 690struct static_key {
 691   atomic_t enabled ;
 692};
 693#line 225 "include/linux/jump_label.h"
 694struct tracepoint;
 695#line 225
 696struct tracepoint;
 697#line 226 "include/linux/jump_label.h"
 698struct tracepoint_func {
 699   void *func ;
 700   void *data ;
 701};
 702#line 29 "include/linux/tracepoint.h"
 703struct tracepoint {
 704   char const   *name ;
 705   struct static_key key ;
 706   void (*regfunc)(void) ;
 707   void (*unregfunc)(void) ;
 708   struct tracepoint_func *funcs ;
 709};
 710#line 86 "include/linux/tracepoint.h"
 711struct kernel_symbol {
 712   unsigned long value ;
 713   char const   *name ;
 714};
 715#line 27 "include/linux/export.h"
 716struct mod_arch_specific {
 717
 718};
 719#line 34 "include/linux/module.h"
 720struct module_param_attrs;
 721#line 34 "include/linux/module.h"
 722struct module_kobject {
 723   struct kobject kobj ;
 724   struct module *mod ;
 725   struct kobject *drivers_dir ;
 726   struct module_param_attrs *mp ;
 727};
 728#line 43 "include/linux/module.h"
 729struct module_attribute {
 730   struct attribute attr ;
 731   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 732   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 733                    size_t  ) ;
 734   void (*setup)(struct module * , char const   * ) ;
 735   int (*test)(struct module * ) ;
 736   void (*free)(struct module * ) ;
 737};
 738#line 69
 739struct exception_table_entry;
 740#line 69
 741struct exception_table_entry;
 742#line 198
 743enum module_state {
 744    MODULE_STATE_LIVE = 0,
 745    MODULE_STATE_COMING = 1,
 746    MODULE_STATE_GOING = 2
 747} ;
 748#line 204 "include/linux/module.h"
 749struct module_ref {
 750   unsigned long incs ;
 751   unsigned long decs ;
 752};
 753#line 219
 754struct module_sect_attrs;
 755#line 219
 756struct module_notes_attrs;
 757#line 219
 758struct ftrace_event_call;
 759#line 219 "include/linux/module.h"
 760struct module {
 761   enum module_state state ;
 762   struct list_head list ;
 763   char name[56U] ;
 764   struct module_kobject mkobj ;
 765   struct module_attribute *modinfo_attrs ;
 766   char const   *version ;
 767   char const   *srcversion ;
 768   struct kobject *holders_dir ;
 769   struct kernel_symbol  const  *syms ;
 770   unsigned long const   *crcs ;
 771   unsigned int num_syms ;
 772   struct kernel_param *kp ;
 773   unsigned int num_kp ;
 774   unsigned int num_gpl_syms ;
 775   struct kernel_symbol  const  *gpl_syms ;
 776   unsigned long const   *gpl_crcs ;
 777   struct kernel_symbol  const  *unused_syms ;
 778   unsigned long const   *unused_crcs ;
 779   unsigned int num_unused_syms ;
 780   unsigned int num_unused_gpl_syms ;
 781   struct kernel_symbol  const  *unused_gpl_syms ;
 782   unsigned long const   *unused_gpl_crcs ;
 783   struct kernel_symbol  const  *gpl_future_syms ;
 784   unsigned long const   *gpl_future_crcs ;
 785   unsigned int num_gpl_future_syms ;
 786   unsigned int num_exentries ;
 787   struct exception_table_entry *extable ;
 788   int (*init)(void) ;
 789   void *module_init ;
 790   void *module_core ;
 791   unsigned int init_size ;
 792   unsigned int core_size ;
 793   unsigned int init_text_size ;
 794   unsigned int core_text_size ;
 795   unsigned int init_ro_size ;
 796   unsigned int core_ro_size ;
 797   struct mod_arch_specific arch ;
 798   unsigned int taints ;
 799   unsigned int num_bugs ;
 800   struct list_head bug_list ;
 801   struct bug_entry *bug_table ;
 802   Elf64_Sym *symtab ;
 803   Elf64_Sym *core_symtab ;
 804   unsigned int num_symtab ;
 805   unsigned int core_num_syms ;
 806   char *strtab ;
 807   char *core_strtab ;
 808   struct module_sect_attrs *sect_attrs ;
 809   struct module_notes_attrs *notes_attrs ;
 810   char *args ;
 811   void *percpu ;
 812   unsigned int percpu_size ;
 813   unsigned int num_tracepoints ;
 814   struct tracepoint * const  *tracepoints_ptrs ;
 815   unsigned int num_trace_bprintk_fmt ;
 816   char const   **trace_bprintk_fmt_start ;
 817   struct ftrace_event_call **trace_events ;
 818   unsigned int num_trace_events ;
 819   struct list_head source_list ;
 820   struct list_head target_list ;
 821   struct task_struct *waiter ;
 822   void (*exit)(void) ;
 823   struct module_ref *refptr ;
 824   ctor_fn_t (**ctors)(void) ;
 825   unsigned int num_ctors ;
 826};
 827#line 88 "include/linux/kmemleak.h"
 828struct kmem_cache_cpu {
 829   void **freelist ;
 830   unsigned long tid ;
 831   struct page *page ;
 832   struct page *partial ;
 833   int node ;
 834   unsigned int stat[26U] ;
 835};
 836#line 55 "include/linux/slub_def.h"
 837struct kmem_cache_node {
 838   spinlock_t list_lock ;
 839   unsigned long nr_partial ;
 840   struct list_head partial ;
 841   atomic_long_t nr_slabs ;
 842   atomic_long_t total_objects ;
 843   struct list_head full ;
 844};
 845#line 66 "include/linux/slub_def.h"
 846struct kmem_cache_order_objects {
 847   unsigned long x ;
 848};
 849#line 76 "include/linux/slub_def.h"
 850struct kmem_cache {
 851   struct kmem_cache_cpu *cpu_slab ;
 852   unsigned long flags ;
 853   unsigned long min_partial ;
 854   int size ;
 855   int objsize ;
 856   int offset ;
 857   int cpu_partial ;
 858   struct kmem_cache_order_objects oo ;
 859   struct kmem_cache_order_objects max ;
 860   struct kmem_cache_order_objects min ;
 861   gfp_t allocflags ;
 862   int refcount ;
 863   void (*ctor)(void * ) ;
 864   int inuse ;
 865   int align ;
 866   int reserved ;
 867   char const   *name ;
 868   struct list_head list ;
 869   struct kobject kobj ;
 870   int remote_node_defrag_ratio ;
 871   struct kmem_cache_node *node[1024U] ;
 872};
 873#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
 874struct rtc_time {
 875   int tm_sec ;
 876   int tm_min ;
 877   int tm_hour ;
 878   int tm_mday ;
 879   int tm_mon ;
 880   int tm_year ;
 881   int tm_wday ;
 882   int tm_yday ;
 883   int tm_isdst ;
 884};
 885#line 31 "include/linux/rtc.h"
 886struct rtc_wkalrm {
 887   unsigned char enabled ;
 888   unsigned char pending ;
 889   struct rtc_time time ;
 890};
 891#line 41 "include/asm-generic/sections.h"
 892struct exception_table_entry {
 893   unsigned long insn ;
 894   unsigned long fixup ;
 895};
 896#line 189 "include/linux/hardirq.h"
 897struct timerqueue_node {
 898   struct rb_node node ;
 899   ktime_t expires ;
 900};
 901#line 12 "include/linux/timerqueue.h"
 902struct timerqueue_head {
 903   struct rb_root head ;
 904   struct timerqueue_node *next ;
 905};
 906#line 50
 907struct hrtimer_clock_base;
 908#line 50
 909struct hrtimer_clock_base;
 910#line 51
 911struct hrtimer_cpu_base;
 912#line 51
 913struct hrtimer_cpu_base;
 914#line 60
 915enum hrtimer_restart {
 916    HRTIMER_NORESTART = 0,
 917    HRTIMER_RESTART = 1
 918} ;
 919#line 65 "include/linux/timerqueue.h"
 920struct hrtimer {
 921   struct timerqueue_node node ;
 922   ktime_t _softexpires ;
 923   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 924   struct hrtimer_clock_base *base ;
 925   unsigned long state ;
 926   int start_pid ;
 927   void *start_site ;
 928   char start_comm[16U] ;
 929};
 930#line 132 "include/linux/hrtimer.h"
 931struct hrtimer_clock_base {
 932   struct hrtimer_cpu_base *cpu_base ;
 933   int index ;
 934   clockid_t clockid ;
 935   struct timerqueue_head active ;
 936   ktime_t resolution ;
 937   ktime_t (*get_time)(void) ;
 938   ktime_t softirq_time ;
 939   ktime_t offset ;
 940};
 941#line 162 "include/linux/hrtimer.h"
 942struct hrtimer_cpu_base {
 943   raw_spinlock_t lock ;
 944   unsigned long active_bases ;
 945   ktime_t expires_next ;
 946   int hres_active ;
 947   int hang_detected ;
 948   unsigned long nr_events ;
 949   unsigned long nr_retries ;
 950   unsigned long nr_hangs ;
 951   ktime_t max_hang_time ;
 952   struct hrtimer_clock_base clock_base[3U] ;
 953};
 954#line 115 "include/linux/rtc.h"
 955struct klist_node;
 956#line 115
 957struct klist_node;
 958#line 37 "include/linux/klist.h"
 959struct klist_node {
 960   void *n_klist ;
 961   struct list_head n_node ;
 962   struct kref n_ref ;
 963};
 964#line 67
 965struct dma_map_ops;
 966#line 67 "include/linux/klist.h"
 967struct dev_archdata {
 968   void *acpi_handle ;
 969   struct dma_map_ops *dma_ops ;
 970   void *iommu ;
 971};
 972#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 973struct pdev_archdata {
 974
 975};
 976#line 17
 977struct device_private;
 978#line 17
 979struct device_private;
 980#line 18
 981struct device_driver;
 982#line 18
 983struct device_driver;
 984#line 19
 985struct driver_private;
 986#line 19
 987struct driver_private;
 988#line 20
 989struct class;
 990#line 20
 991struct class;
 992#line 21
 993struct subsys_private;
 994#line 21
 995struct subsys_private;
 996#line 22
 997struct bus_type;
 998#line 22
 999struct bus_type;
1000#line 23
1001struct device_node;
1002#line 23
1003struct device_node;
1004#line 24
1005struct iommu_ops;
1006#line 24
1007struct iommu_ops;
1008#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1009struct bus_attribute {
1010   struct attribute attr ;
1011   ssize_t (*show)(struct bus_type * , char * ) ;
1012   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1013};
1014#line 51 "include/linux/device.h"
1015struct device_attribute;
1016#line 51
1017struct driver_attribute;
1018#line 51 "include/linux/device.h"
1019struct bus_type {
1020   char const   *name ;
1021   char const   *dev_name ;
1022   struct device *dev_root ;
1023   struct bus_attribute *bus_attrs ;
1024   struct device_attribute *dev_attrs ;
1025   struct driver_attribute *drv_attrs ;
1026   int (*match)(struct device * , struct device_driver * ) ;
1027   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1028   int (*probe)(struct device * ) ;
1029   int (*remove)(struct device * ) ;
1030   void (*shutdown)(struct device * ) ;
1031   int (*suspend)(struct device * , pm_message_t  ) ;
1032   int (*resume)(struct device * ) ;
1033   struct dev_pm_ops  const  *pm ;
1034   struct iommu_ops *iommu_ops ;
1035   struct subsys_private *p ;
1036};
1037#line 125
1038struct device_type;
1039#line 182
1040struct of_device_id;
1041#line 182 "include/linux/device.h"
1042struct device_driver {
1043   char const   *name ;
1044   struct bus_type *bus ;
1045   struct module *owner ;
1046   char const   *mod_name ;
1047   bool suppress_bind_attrs ;
1048   struct of_device_id  const  *of_match_table ;
1049   int (*probe)(struct device * ) ;
1050   int (*remove)(struct device * ) ;
1051   void (*shutdown)(struct device * ) ;
1052   int (*suspend)(struct device * , pm_message_t  ) ;
1053   int (*resume)(struct device * ) ;
1054   struct attribute_group  const  **groups ;
1055   struct dev_pm_ops  const  *pm ;
1056   struct driver_private *p ;
1057};
1058#line 245 "include/linux/device.h"
1059struct driver_attribute {
1060   struct attribute attr ;
1061   ssize_t (*show)(struct device_driver * , char * ) ;
1062   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1063};
1064#line 299
1065struct class_attribute;
1066#line 299 "include/linux/device.h"
1067struct class {
1068   char const   *name ;
1069   struct module *owner ;
1070   struct class_attribute *class_attrs ;
1071   struct device_attribute *dev_attrs ;
1072   struct bin_attribute *dev_bin_attrs ;
1073   struct kobject *dev_kobj ;
1074   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1075   char *(*devnode)(struct device * , umode_t * ) ;
1076   void (*class_release)(struct class * ) ;
1077   void (*dev_release)(struct device * ) ;
1078   int (*suspend)(struct device * , pm_message_t  ) ;
1079   int (*resume)(struct device * ) ;
1080   struct kobj_ns_type_operations  const  *ns_type ;
1081   void const   *(*namespace)(struct device * ) ;
1082   struct dev_pm_ops  const  *pm ;
1083   struct subsys_private *p ;
1084};
1085#line 394 "include/linux/device.h"
1086struct class_attribute {
1087   struct attribute attr ;
1088   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1089   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1090   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1091};
1092#line 447 "include/linux/device.h"
1093struct device_type {
1094   char const   *name ;
1095   struct attribute_group  const  **groups ;
1096   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1097   char *(*devnode)(struct device * , umode_t * ) ;
1098   void (*release)(struct device * ) ;
1099   struct dev_pm_ops  const  *pm ;
1100};
1101#line 474 "include/linux/device.h"
1102struct device_attribute {
1103   struct attribute attr ;
1104   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1105   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1106                    size_t  ) ;
1107};
1108#line 557 "include/linux/device.h"
1109struct device_dma_parameters {
1110   unsigned int max_segment_size ;
1111   unsigned long segment_boundary_mask ;
1112};
1113#line 567
1114struct dma_coherent_mem;
1115#line 567 "include/linux/device.h"
1116struct device {
1117   struct device *parent ;
1118   struct device_private *p ;
1119   struct kobject kobj ;
1120   char const   *init_name ;
1121   struct device_type  const  *type ;
1122   struct mutex mutex ;
1123   struct bus_type *bus ;
1124   struct device_driver *driver ;
1125   void *platform_data ;
1126   struct dev_pm_info power ;
1127   struct dev_pm_domain *pm_domain ;
1128   int numa_node ;
1129   u64 *dma_mask ;
1130   u64 coherent_dma_mask ;
1131   struct device_dma_parameters *dma_parms ;
1132   struct list_head dma_pools ;
1133   struct dma_coherent_mem *dma_mem ;
1134   struct dev_archdata archdata ;
1135   struct device_node *of_node ;
1136   dev_t devt ;
1137   u32 id ;
1138   spinlock_t devres_lock ;
1139   struct list_head devres_head ;
1140   struct klist_node knode_class ;
1141   struct class *class ;
1142   struct attribute_group  const  **groups ;
1143   void (*release)(struct device * ) ;
1144};
1145#line 681 "include/linux/device.h"
1146struct wakeup_source {
1147   char const   *name ;
1148   struct list_head entry ;
1149   spinlock_t lock ;
1150   struct timer_list timer ;
1151   unsigned long timer_expires ;
1152   ktime_t total_time ;
1153   ktime_t max_time ;
1154   ktime_t last_time ;
1155   unsigned long event_count ;
1156   unsigned long active_count ;
1157   unsigned long relax_count ;
1158   unsigned long hit_count ;
1159   unsigned char active : 1 ;
1160};
1161#line 991
1162struct path;
1163#line 991
1164struct path;
1165#line 992
1166struct inode;
1167#line 992
1168struct inode;
1169#line 993
1170struct dentry;
1171#line 993
1172struct dentry;
1173#line 994 "include/linux/device.h"
1174struct seq_file {
1175   char *buf ;
1176   size_t size ;
1177   size_t from ;
1178   size_t count ;
1179   loff_t index ;
1180   loff_t read_pos ;
1181   u64 version ;
1182   struct mutex lock ;
1183   struct seq_operations  const  *op ;
1184   int poll_event ;
1185   void *private ;
1186};
1187#line 30 "include/linux/seq_file.h"
1188struct seq_operations {
1189   void *(*start)(struct seq_file * , loff_t * ) ;
1190   void (*stop)(struct seq_file * , void * ) ;
1191   void *(*next)(struct seq_file * , void * , loff_t * ) ;
1192   int (*show)(struct seq_file * , void * ) ;
1193};
1194#line 89 "include/linux/kdev_t.h"
1195struct file_operations;
1196#line 89
1197struct file_operations;
1198#line 90 "include/linux/kdev_t.h"
1199struct cdev {
1200   struct kobject kobj ;
1201   struct module *owner ;
1202   struct file_operations  const  *ops ;
1203   struct list_head list ;
1204   dev_t dev ;
1205   unsigned int count ;
1206};
1207#line 33 "include/linux/cdev.h"
1208struct backing_dev_info;
1209#line 41 "include/asm-generic/poll.h"
1210struct block_device;
1211#line 41
1212struct block_device;
1213#line 93 "include/linux/bit_spinlock.h"
1214struct hlist_bl_node;
1215#line 93 "include/linux/bit_spinlock.h"
1216struct hlist_bl_head {
1217   struct hlist_bl_node *first ;
1218};
1219#line 36 "include/linux/list_bl.h"
1220struct hlist_bl_node {
1221   struct hlist_bl_node *next ;
1222   struct hlist_bl_node **pprev ;
1223};
1224#line 114 "include/linux/rculist_bl.h"
1225struct nameidata;
1226#line 114
1227struct nameidata;
1228#line 115
1229struct vfsmount;
1230#line 115
1231struct vfsmount;
1232#line 116 "include/linux/rculist_bl.h"
1233struct qstr {
1234   unsigned int hash ;
1235   unsigned int len ;
1236   unsigned char const   *name ;
1237};
1238#line 72 "include/linux/dcache.h"
1239struct dentry_operations;
1240#line 72
1241struct super_block;
1242#line 72 "include/linux/dcache.h"
1243union __anonunion_d_u_136 {
1244   struct list_head d_child ;
1245   struct rcu_head d_rcu ;
1246};
1247#line 72 "include/linux/dcache.h"
1248struct dentry {
1249   unsigned int d_flags ;
1250   seqcount_t d_seq ;
1251   struct hlist_bl_node d_hash ;
1252   struct dentry *d_parent ;
1253   struct qstr d_name ;
1254   struct inode *d_inode ;
1255   unsigned char d_iname[32U] ;
1256   unsigned int d_count ;
1257   spinlock_t d_lock ;
1258   struct dentry_operations  const  *d_op ;
1259   struct super_block *d_sb ;
1260   unsigned long d_time ;
1261   void *d_fsdata ;
1262   struct list_head d_lru ;
1263   union __anonunion_d_u_136 d_u ;
1264   struct list_head d_subdirs ;
1265   struct list_head d_alias ;
1266};
1267#line 123 "include/linux/dcache.h"
1268struct dentry_operations {
1269   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1270   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1271   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1272                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1273   int (*d_delete)(struct dentry  const  * ) ;
1274   void (*d_release)(struct dentry * ) ;
1275   void (*d_prune)(struct dentry * ) ;
1276   void (*d_iput)(struct dentry * , struct inode * ) ;
1277   char *(*d_dname)(struct dentry * , char * , int  ) ;
1278   struct vfsmount *(*d_automount)(struct path * ) ;
1279   int (*d_manage)(struct dentry * , bool  ) ;
1280};
1281#line 402 "include/linux/dcache.h"
1282struct path {
1283   struct vfsmount *mnt ;
1284   struct dentry *dentry ;
1285};
1286#line 58 "include/linux/radix-tree.h"
1287struct radix_tree_node;
1288#line 58 "include/linux/radix-tree.h"
1289struct radix_tree_root {
1290   unsigned int height ;
1291   gfp_t gfp_mask ;
1292   struct radix_tree_node *rnode ;
1293};
1294#line 377
1295struct prio_tree_node;
1296#line 19 "include/linux/prio_tree.h"
1297struct prio_tree_node {
1298   struct prio_tree_node *left ;
1299   struct prio_tree_node *right ;
1300   struct prio_tree_node *parent ;
1301   unsigned long start ;
1302   unsigned long last ;
1303};
1304#line 27 "include/linux/prio_tree.h"
1305struct prio_tree_root {
1306   struct prio_tree_node *prio_tree_node ;
1307   unsigned short index_bits ;
1308   unsigned short raw ;
1309};
1310#line 111
1311enum pid_type {
1312    PIDTYPE_PID = 0,
1313    PIDTYPE_PGID = 1,
1314    PIDTYPE_SID = 2,
1315    PIDTYPE_MAX = 3
1316} ;
1317#line 118
1318struct pid_namespace;
1319#line 118 "include/linux/prio_tree.h"
1320struct upid {
1321   int nr ;
1322   struct pid_namespace *ns ;
1323   struct hlist_node pid_chain ;
1324};
1325#line 56 "include/linux/pid.h"
1326struct pid {
1327   atomic_t count ;
1328   unsigned int level ;
1329   struct hlist_head tasks[3U] ;
1330   struct rcu_head rcu ;
1331   struct upid numbers[1U] ;
1332};
1333#line 45 "include/linux/semaphore.h"
1334struct fiemap_extent {
1335   __u64 fe_logical ;
1336   __u64 fe_physical ;
1337   __u64 fe_length ;
1338   __u64 fe_reserved64[2U] ;
1339   __u32 fe_flags ;
1340   __u32 fe_reserved[3U] ;
1341};
1342#line 38 "include/linux/fiemap.h"
1343struct shrink_control {
1344   gfp_t gfp_mask ;
1345   unsigned long nr_to_scan ;
1346};
1347#line 14 "include/linux/shrinker.h"
1348struct shrinker {
1349   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1350   int seeks ;
1351   long batch ;
1352   struct list_head list ;
1353   atomic_long_t nr_in_batch ;
1354};
1355#line 43
1356enum migrate_mode {
1357    MIGRATE_ASYNC = 0,
1358    MIGRATE_SYNC_LIGHT = 1,
1359    MIGRATE_SYNC = 2
1360} ;
1361#line 49
1362struct export_operations;
1363#line 49
1364struct export_operations;
1365#line 51
1366struct iovec;
1367#line 51
1368struct iovec;
1369#line 52
1370struct kiocb;
1371#line 52
1372struct kiocb;
1373#line 53
1374struct pipe_inode_info;
1375#line 53
1376struct pipe_inode_info;
1377#line 54
1378struct poll_table_struct;
1379#line 54
1380struct poll_table_struct;
1381#line 55
1382struct kstatfs;
1383#line 55
1384struct kstatfs;
1385#line 435 "include/linux/fs.h"
1386struct iattr {
1387   unsigned int ia_valid ;
1388   umode_t ia_mode ;
1389   uid_t ia_uid ;
1390   gid_t ia_gid ;
1391   loff_t ia_size ;
1392   struct timespec ia_atime ;
1393   struct timespec ia_mtime ;
1394   struct timespec ia_ctime ;
1395   struct file *ia_file ;
1396};
1397#line 119 "include/linux/quota.h"
1398struct if_dqinfo {
1399   __u64 dqi_bgrace ;
1400   __u64 dqi_igrace ;
1401   __u32 dqi_flags ;
1402   __u32 dqi_valid ;
1403};
1404#line 176 "include/linux/percpu_counter.h"
1405struct fs_disk_quota {
1406   __s8 d_version ;
1407   __s8 d_flags ;
1408   __u16 d_fieldmask ;
1409   __u32 d_id ;
1410   __u64 d_blk_hardlimit ;
1411   __u64 d_blk_softlimit ;
1412   __u64 d_ino_hardlimit ;
1413   __u64 d_ino_softlimit ;
1414   __u64 d_bcount ;
1415   __u64 d_icount ;
1416   __s32 d_itimer ;
1417   __s32 d_btimer ;
1418   __u16 d_iwarns ;
1419   __u16 d_bwarns ;
1420   __s32 d_padding2 ;
1421   __u64 d_rtb_hardlimit ;
1422   __u64 d_rtb_softlimit ;
1423   __u64 d_rtbcount ;
1424   __s32 d_rtbtimer ;
1425   __u16 d_rtbwarns ;
1426   __s16 d_padding3 ;
1427   char d_padding4[8U] ;
1428};
1429#line 75 "include/linux/dqblk_xfs.h"
1430struct fs_qfilestat {
1431   __u64 qfs_ino ;
1432   __u64 qfs_nblks ;
1433   __u32 qfs_nextents ;
1434};
1435#line 150 "include/linux/dqblk_xfs.h"
1436typedef struct fs_qfilestat fs_qfilestat_t;
1437#line 151 "include/linux/dqblk_xfs.h"
1438struct fs_quota_stat {
1439   __s8 qs_version ;
1440   __u16 qs_flags ;
1441   __s8 qs_pad ;
1442   fs_qfilestat_t qs_uquota ;
1443   fs_qfilestat_t qs_gquota ;
1444   __u32 qs_incoredqs ;
1445   __s32 qs_btimelimit ;
1446   __s32 qs_itimelimit ;
1447   __s32 qs_rtbtimelimit ;
1448   __u16 qs_bwarnlimit ;
1449   __u16 qs_iwarnlimit ;
1450};
1451#line 165
1452struct dquot;
1453#line 165
1454struct dquot;
1455#line 185 "include/linux/quota.h"
1456typedef __kernel_uid32_t qid_t;
1457#line 186 "include/linux/quota.h"
1458typedef long long qsize_t;
1459#line 189 "include/linux/quota.h"
1460struct mem_dqblk {
1461   qsize_t dqb_bhardlimit ;
1462   qsize_t dqb_bsoftlimit ;
1463   qsize_t dqb_curspace ;
1464   qsize_t dqb_rsvspace ;
1465   qsize_t dqb_ihardlimit ;
1466   qsize_t dqb_isoftlimit ;
1467   qsize_t dqb_curinodes ;
1468   time_t dqb_btime ;
1469   time_t dqb_itime ;
1470};
1471#line 211
1472struct quota_format_type;
1473#line 211
1474struct quota_format_type;
1475#line 212 "include/linux/quota.h"
1476struct mem_dqinfo {
1477   struct quota_format_type *dqi_format ;
1478   int dqi_fmt_id ;
1479   struct list_head dqi_dirty_list ;
1480   unsigned long dqi_flags ;
1481   unsigned int dqi_bgrace ;
1482   unsigned int dqi_igrace ;
1483   qsize_t dqi_maxblimit ;
1484   qsize_t dqi_maxilimit ;
1485   void *dqi_priv ;
1486};
1487#line 275 "include/linux/quota.h"
1488struct dquot {
1489   struct hlist_node dq_hash ;
1490   struct list_head dq_inuse ;
1491   struct list_head dq_free ;
1492   struct list_head dq_dirty ;
1493   struct mutex dq_lock ;
1494   atomic_t dq_count ;
1495   wait_queue_head_t dq_wait_unused ;
1496   struct super_block *dq_sb ;
1497   unsigned int dq_id ;
1498   loff_t dq_off ;
1499   unsigned long dq_flags ;
1500   short dq_type ;
1501   struct mem_dqblk dq_dqb ;
1502};
1503#line 303 "include/linux/quota.h"
1504struct quota_format_ops {
1505   int (*check_quota_file)(struct super_block * , int  ) ;
1506   int (*read_file_info)(struct super_block * , int  ) ;
1507   int (*write_file_info)(struct super_block * , int  ) ;
1508   int (*free_file_info)(struct super_block * , int  ) ;
1509   int (*read_dqblk)(struct dquot * ) ;
1510   int (*commit_dqblk)(struct dquot * ) ;
1511   int (*release_dqblk)(struct dquot * ) ;
1512};
1513#line 314 "include/linux/quota.h"
1514struct dquot_operations {
1515   int (*write_dquot)(struct dquot * ) ;
1516   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1517   void (*destroy_dquot)(struct dquot * ) ;
1518   int (*acquire_dquot)(struct dquot * ) ;
1519   int (*release_dquot)(struct dquot * ) ;
1520   int (*mark_dirty)(struct dquot * ) ;
1521   int (*write_info)(struct super_block * , int  ) ;
1522   qsize_t *(*get_reserved_space)(struct inode * ) ;
1523};
1524#line 328 "include/linux/quota.h"
1525struct quotactl_ops {
1526   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1527   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1528   int (*quota_off)(struct super_block * , int  ) ;
1529   int (*quota_sync)(struct super_block * , int  , int  ) ;
1530   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1531   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1532   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1533   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1534   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1535   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1536};
1537#line 344 "include/linux/quota.h"
1538struct quota_format_type {
1539   int qf_fmt_id ;
1540   struct quota_format_ops  const  *qf_ops ;
1541   struct module *qf_owner ;
1542   struct quota_format_type *qf_next ;
1543};
1544#line 390 "include/linux/quota.h"
1545struct quota_info {
1546   unsigned int flags ;
1547   struct mutex dqio_mutex ;
1548   struct mutex dqonoff_mutex ;
1549   struct rw_semaphore dqptr_sem ;
1550   struct inode *files[2U] ;
1551   struct mem_dqinfo info[2U] ;
1552   struct quota_format_ops  const  *ops[2U] ;
1553};
1554#line 421
1555struct address_space;
1556#line 421
1557struct address_space;
1558#line 422
1559struct writeback_control;
1560#line 422
1561struct writeback_control;
1562#line 585 "include/linux/fs.h"
1563union __anonunion_arg_139 {
1564   char *buf ;
1565   void *data ;
1566};
1567#line 585 "include/linux/fs.h"
1568struct __anonstruct_read_descriptor_t_138 {
1569   size_t written ;
1570   size_t count ;
1571   union __anonunion_arg_139 arg ;
1572   int error ;
1573};
1574#line 585 "include/linux/fs.h"
1575typedef struct __anonstruct_read_descriptor_t_138 read_descriptor_t;
1576#line 588 "include/linux/fs.h"
1577struct address_space_operations {
1578   int (*writepage)(struct page * , struct writeback_control * ) ;
1579   int (*readpage)(struct file * , struct page * ) ;
1580   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1581   int (*set_page_dirty)(struct page * ) ;
1582   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1583                    unsigned int  ) ;
1584   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1585                      unsigned int  , struct page ** , void ** ) ;
1586   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1587                    unsigned int  , struct page * , void * ) ;
1588   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1589   void (*invalidatepage)(struct page * , unsigned long  ) ;
1590   int (*releasepage)(struct page * , gfp_t  ) ;
1591   void (*freepage)(struct page * ) ;
1592   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1593                        unsigned long  ) ;
1594   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1595   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1596   int (*launder_page)(struct page * ) ;
1597   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1598   int (*error_remove_page)(struct address_space * , struct page * ) ;
1599};
1600#line 642 "include/linux/fs.h"
1601struct address_space {
1602   struct inode *host ;
1603   struct radix_tree_root page_tree ;
1604   spinlock_t tree_lock ;
1605   unsigned int i_mmap_writable ;
1606   struct prio_tree_root i_mmap ;
1607   struct list_head i_mmap_nonlinear ;
1608   struct mutex i_mmap_mutex ;
1609   unsigned long nrpages ;
1610   unsigned long writeback_index ;
1611   struct address_space_operations  const  *a_ops ;
1612   unsigned long flags ;
1613   struct backing_dev_info *backing_dev_info ;
1614   spinlock_t private_lock ;
1615   struct list_head private_list ;
1616   struct address_space *assoc_mapping ;
1617};
1618#line 664
1619struct request_queue;
1620#line 664
1621struct request_queue;
1622#line 665
1623struct hd_struct;
1624#line 665
1625struct gendisk;
1626#line 665 "include/linux/fs.h"
1627struct block_device {
1628   dev_t bd_dev ;
1629   int bd_openers ;
1630   struct inode *bd_inode ;
1631   struct super_block *bd_super ;
1632   struct mutex bd_mutex ;
1633   struct list_head bd_inodes ;
1634   void *bd_claiming ;
1635   void *bd_holder ;
1636   int bd_holders ;
1637   bool bd_write_holder ;
1638   struct list_head bd_holder_disks ;
1639   struct block_device *bd_contains ;
1640   unsigned int bd_block_size ;
1641   struct hd_struct *bd_part ;
1642   unsigned int bd_part_count ;
1643   int bd_invalidated ;
1644   struct gendisk *bd_disk ;
1645   struct request_queue *bd_queue ;
1646   struct list_head bd_list ;
1647   unsigned long bd_private ;
1648   int bd_fsfreeze_count ;
1649   struct mutex bd_fsfreeze_mutex ;
1650};
1651#line 737
1652struct posix_acl;
1653#line 737
1654struct posix_acl;
1655#line 738
1656struct inode_operations;
1657#line 738 "include/linux/fs.h"
1658union __anonunion_ldv_18339_140 {
1659   unsigned int const   i_nlink ;
1660   unsigned int __i_nlink ;
1661};
1662#line 738 "include/linux/fs.h"
1663union __anonunion_ldv_18358_141 {
1664   struct list_head i_dentry ;
1665   struct rcu_head i_rcu ;
1666};
1667#line 738
1668struct file_lock;
1669#line 738 "include/linux/fs.h"
1670union __anonunion_ldv_18374_142 {
1671   struct pipe_inode_info *i_pipe ;
1672   struct block_device *i_bdev ;
1673   struct cdev *i_cdev ;
1674};
1675#line 738 "include/linux/fs.h"
1676struct inode {
1677   umode_t i_mode ;
1678   unsigned short i_opflags ;
1679   uid_t i_uid ;
1680   gid_t i_gid ;
1681   unsigned int i_flags ;
1682   struct posix_acl *i_acl ;
1683   struct posix_acl *i_default_acl ;
1684   struct inode_operations  const  *i_op ;
1685   struct super_block *i_sb ;
1686   struct address_space *i_mapping ;
1687   void *i_security ;
1688   unsigned long i_ino ;
1689   union __anonunion_ldv_18339_140 ldv_18339 ;
1690   dev_t i_rdev ;
1691   struct timespec i_atime ;
1692   struct timespec i_mtime ;
1693   struct timespec i_ctime ;
1694   spinlock_t i_lock ;
1695   unsigned short i_bytes ;
1696   blkcnt_t i_blocks ;
1697   loff_t i_size ;
1698   unsigned long i_state ;
1699   struct mutex i_mutex ;
1700   unsigned long dirtied_when ;
1701   struct hlist_node i_hash ;
1702   struct list_head i_wb_list ;
1703   struct list_head i_lru ;
1704   struct list_head i_sb_list ;
1705   union __anonunion_ldv_18358_141 ldv_18358 ;
1706   atomic_t i_count ;
1707   unsigned int i_blkbits ;
1708   u64 i_version ;
1709   atomic_t i_dio_count ;
1710   atomic_t i_writecount ;
1711   struct file_operations  const  *i_fop ;
1712   struct file_lock *i_flock ;
1713   struct address_space i_data ;
1714   struct dquot *i_dquot[2U] ;
1715   struct list_head i_devices ;
1716   union __anonunion_ldv_18374_142 ldv_18374 ;
1717   __u32 i_generation ;
1718   __u32 i_fsnotify_mask ;
1719   struct hlist_head i_fsnotify_marks ;
1720   atomic_t i_readcount ;
1721   void *i_private ;
1722};
1723#line 941 "include/linux/fs.h"
1724struct fown_struct {
1725   rwlock_t lock ;
1726   struct pid *pid ;
1727   enum pid_type pid_type ;
1728   uid_t uid ;
1729   uid_t euid ;
1730   int signum ;
1731};
1732#line 949 "include/linux/fs.h"
1733struct file_ra_state {
1734   unsigned long start ;
1735   unsigned int size ;
1736   unsigned int async_size ;
1737   unsigned int ra_pages ;
1738   unsigned int mmap_miss ;
1739   loff_t prev_pos ;
1740};
1741#line 972 "include/linux/fs.h"
1742union __anonunion_f_u_143 {
1743   struct list_head fu_list ;
1744   struct rcu_head fu_rcuhead ;
1745};
1746#line 972 "include/linux/fs.h"
1747struct file {
1748   union __anonunion_f_u_143 f_u ;
1749   struct path f_path ;
1750   struct file_operations  const  *f_op ;
1751   spinlock_t f_lock ;
1752   int f_sb_list_cpu ;
1753   atomic_long_t f_count ;
1754   unsigned int f_flags ;
1755   fmode_t f_mode ;
1756   loff_t f_pos ;
1757   struct fown_struct f_owner ;
1758   struct cred  const  *f_cred ;
1759   struct file_ra_state f_ra ;
1760   u64 f_version ;
1761   void *f_security ;
1762   void *private_data ;
1763   struct list_head f_ep_links ;
1764   struct list_head f_tfile_llink ;
1765   struct address_space *f_mapping ;
1766   unsigned long f_mnt_write_state ;
1767};
1768#line 1111
1769struct files_struct;
1770#line 1111 "include/linux/fs.h"
1771typedef struct files_struct *fl_owner_t;
1772#line 1112 "include/linux/fs.h"
1773struct file_lock_operations {
1774   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1775   void (*fl_release_private)(struct file_lock * ) ;
1776};
1777#line 1117 "include/linux/fs.h"
1778struct lock_manager_operations {
1779   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1780   void (*lm_notify)(struct file_lock * ) ;
1781   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1782   void (*lm_release_private)(struct file_lock * ) ;
1783   void (*lm_break)(struct file_lock * ) ;
1784   int (*lm_change)(struct file_lock ** , int  ) ;
1785};
1786#line 1134
1787struct nlm_lockowner;
1788#line 1134
1789struct nlm_lockowner;
1790#line 1135 "include/linux/fs.h"
1791struct nfs_lock_info {
1792   u32 state ;
1793   struct nlm_lockowner *owner ;
1794   struct list_head list ;
1795};
1796#line 14 "include/linux/nfs_fs_i.h"
1797struct nfs4_lock_state;
1798#line 14
1799struct nfs4_lock_state;
1800#line 15 "include/linux/nfs_fs_i.h"
1801struct nfs4_lock_info {
1802   struct nfs4_lock_state *owner ;
1803};
1804#line 19
1805struct fasync_struct;
1806#line 19 "include/linux/nfs_fs_i.h"
1807struct __anonstruct_afs_145 {
1808   struct list_head link ;
1809   int state ;
1810};
1811#line 19 "include/linux/nfs_fs_i.h"
1812union __anonunion_fl_u_144 {
1813   struct nfs_lock_info nfs_fl ;
1814   struct nfs4_lock_info nfs4_fl ;
1815   struct __anonstruct_afs_145 afs ;
1816};
1817#line 19 "include/linux/nfs_fs_i.h"
1818struct file_lock {
1819   struct file_lock *fl_next ;
1820   struct list_head fl_link ;
1821   struct list_head fl_block ;
1822   fl_owner_t fl_owner ;
1823   unsigned int fl_flags ;
1824   unsigned char fl_type ;
1825   unsigned int fl_pid ;
1826   struct pid *fl_nspid ;
1827   wait_queue_head_t fl_wait ;
1828   struct file *fl_file ;
1829   loff_t fl_start ;
1830   loff_t fl_end ;
1831   struct fasync_struct *fl_fasync ;
1832   unsigned long fl_break_time ;
1833   unsigned long fl_downgrade_time ;
1834   struct file_lock_operations  const  *fl_ops ;
1835   struct lock_manager_operations  const  *fl_lmops ;
1836   union __anonunion_fl_u_144 fl_u ;
1837};
1838#line 1221 "include/linux/fs.h"
1839struct fasync_struct {
1840   spinlock_t fa_lock ;
1841   int magic ;
1842   int fa_fd ;
1843   struct fasync_struct *fa_next ;
1844   struct file *fa_file ;
1845   struct rcu_head fa_rcu ;
1846};
1847#line 1417
1848struct file_system_type;
1849#line 1417
1850struct super_operations;
1851#line 1417
1852struct xattr_handler;
1853#line 1417
1854struct mtd_info;
1855#line 1417 "include/linux/fs.h"
1856struct super_block {
1857   struct list_head s_list ;
1858   dev_t s_dev ;
1859   unsigned char s_dirt ;
1860   unsigned char s_blocksize_bits ;
1861   unsigned long s_blocksize ;
1862   loff_t s_maxbytes ;
1863   struct file_system_type *s_type ;
1864   struct super_operations  const  *s_op ;
1865   struct dquot_operations  const  *dq_op ;
1866   struct quotactl_ops  const  *s_qcop ;
1867   struct export_operations  const  *s_export_op ;
1868   unsigned long s_flags ;
1869   unsigned long s_magic ;
1870   struct dentry *s_root ;
1871   struct rw_semaphore s_umount ;
1872   struct mutex s_lock ;
1873   int s_count ;
1874   atomic_t s_active ;
1875   void *s_security ;
1876   struct xattr_handler  const  **s_xattr ;
1877   struct list_head s_inodes ;
1878   struct hlist_bl_head s_anon ;
1879   struct list_head *s_files ;
1880   struct list_head s_mounts ;
1881   struct list_head s_dentry_lru ;
1882   int s_nr_dentry_unused ;
1883   spinlock_t s_inode_lru_lock ;
1884   struct list_head s_inode_lru ;
1885   int s_nr_inodes_unused ;
1886   struct block_device *s_bdev ;
1887   struct backing_dev_info *s_bdi ;
1888   struct mtd_info *s_mtd ;
1889   struct hlist_node s_instances ;
1890   struct quota_info s_dquot ;
1891   int s_frozen ;
1892   wait_queue_head_t s_wait_unfrozen ;
1893   char s_id[32U] ;
1894   u8 s_uuid[16U] ;
1895   void *s_fs_info ;
1896   unsigned int s_max_links ;
1897   fmode_t s_mode ;
1898   u32 s_time_gran ;
1899   struct mutex s_vfs_rename_mutex ;
1900   char *s_subtype ;
1901   char *s_options ;
1902   struct dentry_operations  const  *s_d_op ;
1903   int cleancache_poolid ;
1904   struct shrinker s_shrink ;
1905   atomic_long_t s_remove_count ;
1906   int s_readonly_remount ;
1907};
1908#line 1563 "include/linux/fs.h"
1909struct fiemap_extent_info {
1910   unsigned int fi_flags ;
1911   unsigned int fi_extents_mapped ;
1912   unsigned int fi_extents_max ;
1913   struct fiemap_extent *fi_extents_start ;
1914};
1915#line 1602 "include/linux/fs.h"
1916struct file_operations {
1917   struct module *owner ;
1918   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1919   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1920   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1921   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1922                       loff_t  ) ;
1923   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1924                        loff_t  ) ;
1925   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1926                                                   loff_t  , u64  , unsigned int  ) ) ;
1927   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1928   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1929   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1930   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1931   int (*open)(struct inode * , struct file * ) ;
1932   int (*flush)(struct file * , fl_owner_t  ) ;
1933   int (*release)(struct inode * , struct file * ) ;
1934   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1935   int (*aio_fsync)(struct kiocb * , int  ) ;
1936   int (*fasync)(int  , struct file * , int  ) ;
1937   int (*lock)(struct file * , int  , struct file_lock * ) ;
1938   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1939                       int  ) ;
1940   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1941                                      unsigned long  , unsigned long  ) ;
1942   int (*check_flags)(int  ) ;
1943   int (*flock)(struct file * , int  , struct file_lock * ) ;
1944   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1945                           unsigned int  ) ;
1946   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1947                          unsigned int  ) ;
1948   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1949   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1950};
1951#line 1637 "include/linux/fs.h"
1952struct inode_operations {
1953   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1954   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1955   int (*permission)(struct inode * , int  ) ;
1956   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1957   int (*readlink)(struct dentry * , char * , int  ) ;
1958   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1959   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1960   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1961   int (*unlink)(struct inode * , struct dentry * ) ;
1962   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1963   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1964   int (*rmdir)(struct inode * , struct dentry * ) ;
1965   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1966   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1967   void (*truncate)(struct inode * ) ;
1968   int (*setattr)(struct dentry * , struct iattr * ) ;
1969   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1970   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1971   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1972   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1973   int (*removexattr)(struct dentry * , char const   * ) ;
1974   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1975   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
1976};
1977#line 1682 "include/linux/fs.h"
1978struct super_operations {
1979   struct inode *(*alloc_inode)(struct super_block * ) ;
1980   void (*destroy_inode)(struct inode * ) ;
1981   void (*dirty_inode)(struct inode * , int  ) ;
1982   int (*write_inode)(struct inode * , struct writeback_control * ) ;
1983   int (*drop_inode)(struct inode * ) ;
1984   void (*evict_inode)(struct inode * ) ;
1985   void (*put_super)(struct super_block * ) ;
1986   void (*write_super)(struct super_block * ) ;
1987   int (*sync_fs)(struct super_block * , int  ) ;
1988   int (*freeze_fs)(struct super_block * ) ;
1989   int (*unfreeze_fs)(struct super_block * ) ;
1990   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1991   int (*remount_fs)(struct super_block * , int * , char * ) ;
1992   void (*umount_begin)(struct super_block * ) ;
1993   int (*show_options)(struct seq_file * , struct dentry * ) ;
1994   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1995   int (*show_path)(struct seq_file * , struct dentry * ) ;
1996   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1997   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1998   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1999                          loff_t  ) ;
2000   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
2001   int (*nr_cached_objects)(struct super_block * ) ;
2002   void (*free_cached_objects)(struct super_block * , int  ) ;
2003};
2004#line 1834 "include/linux/fs.h"
2005struct file_system_type {
2006   char const   *name ;
2007   int fs_flags ;
2008   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
2009   void (*kill_sb)(struct super_block * ) ;
2010   struct module *owner ;
2011   struct file_system_type *next ;
2012   struct hlist_head fs_supers ;
2013   struct lock_class_key s_lock_key ;
2014   struct lock_class_key s_umount_key ;
2015   struct lock_class_key s_vfs_rename_key ;
2016   struct lock_class_key i_lock_key ;
2017   struct lock_class_key i_mutex_key ;
2018   struct lock_class_key i_mutex_dir_key ;
2019};
2020#line 34 "include/linux/poll.h"
2021struct poll_table_struct {
2022   void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
2023   unsigned long _key ;
2024};
2025#line 126 "include/linux/rtc.h"
2026struct rtc_class_ops {
2027   int (*open)(struct device * ) ;
2028   void (*release)(struct device * ) ;
2029   int (*ioctl)(struct device * , unsigned int  , unsigned long  ) ;
2030   int (*read_time)(struct device * , struct rtc_time * ) ;
2031   int (*set_time)(struct device * , struct rtc_time * ) ;
2032   int (*read_alarm)(struct device * , struct rtc_wkalrm * ) ;
2033   int (*set_alarm)(struct device * , struct rtc_wkalrm * ) ;
2034   int (*proc)(struct device * , struct seq_file * ) ;
2035   int (*set_mmss)(struct device * , unsigned long  ) ;
2036   int (*read_callback)(struct device * , int  ) ;
2037   int (*alarm_irq_enable)(struct device * , unsigned int  ) ;
2038};
2039#line 156 "include/linux/rtc.h"
2040struct rtc_task {
2041   void (*func)(void * ) ;
2042   void *private_data ;
2043};
2044#line 162 "include/linux/rtc.h"
2045struct rtc_timer {
2046   struct rtc_task task ;
2047   struct timerqueue_node node ;
2048   ktime_t period ;
2049   int enabled ;
2050};
2051#line 170 "include/linux/rtc.h"
2052struct rtc_device {
2053   struct device dev ;
2054   struct module *owner ;
2055   int id ;
2056   char name[20U] ;
2057   struct rtc_class_ops  const  *ops ;
2058   struct mutex ops_lock ;
2059   struct cdev char_dev ;
2060   unsigned long flags ;
2061   unsigned long irq_data ;
2062   spinlock_t irq_lock ;
2063   wait_queue_head_t irq_queue ;
2064   struct fasync_struct *async_queue ;
2065   struct rtc_task *irq_task ;
2066   spinlock_t irq_task_lock ;
2067   int irq_freq ;
2068   int max_user_freq ;
2069   struct timerqueue_head timerqueue ;
2070   struct rtc_timer aie_timer ;
2071   struct rtc_timer uie_rtctimer ;
2072   struct hrtimer pie_timer ;
2073   int pie_enabled ;
2074   struct work_struct irqwork ;
2075   int uie_unsupported ;
2076   struct work_struct uie_task ;
2077   struct timer_list uie_timer ;
2078   unsigned int oldsecs ;
2079   unsigned char uie_irq_active : 1 ;
2080   unsigned char stop_uie_polling : 1 ;
2081   unsigned char uie_task_active : 1 ;
2082   unsigned char uie_timer_active : 1 ;
2083};
2084#line 12 "include/linux/mod_devicetable.h"
2085typedef unsigned long kernel_ulong_t;
2086#line 215 "include/linux/mod_devicetable.h"
2087struct of_device_id {
2088   char name[32U] ;
2089   char type[32U] ;
2090   char compatible[128U] ;
2091   void *data ;
2092};
2093#line 492 "include/linux/mod_devicetable.h"
2094struct platform_device_id {
2095   char name[20U] ;
2096   kernel_ulong_t driver_data ;
2097};
2098#line 584
2099struct mfd_cell;
2100#line 584
2101struct mfd_cell;
2102#line 585 "include/linux/mod_devicetable.h"
2103struct platform_device {
2104   char const   *name ;
2105   int id ;
2106   struct device dev ;
2107   u32 num_resources ;
2108   struct resource *resource ;
2109   struct platform_device_id  const  *id_entry ;
2110   struct mfd_cell *mfd_cell ;
2111   struct pdev_archdata archdata ;
2112};
2113#line 272 "include/linux/platform_device.h"
2114struct m48t86_ops {
2115   void (*writebyte)(unsigned char  , unsigned long  ) ;
2116   unsigned char (*readbyte)(unsigned long  ) ;
2117};
2118#line 1 "<compiler builtins>"
2119long __builtin_expect(long  , long  ) ;
2120#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
2121void ldv_spin_lock(void) ;
2122#line 3
2123void ldv_spin_unlock(void) ;
2124#line 4
2125int ldv_spin_trylock(void) ;
2126#line 27 "include/linux/err.h"
2127__inline static long PTR_ERR(void const   *ptr ) 
2128{ 
2129
2130  {
2131#line 29
2132  return ((long )ptr);
2133}
2134}
2135#line 32 "include/linux/err.h"
2136__inline static long IS_ERR(void const   *ptr ) 
2137{ long tmp ;
2138  unsigned long __cil_tmp3 ;
2139  int __cil_tmp4 ;
2140  long __cil_tmp5 ;
2141
2142  {
2143  {
2144#line 34
2145  __cil_tmp3 = (unsigned long )ptr;
2146#line 34
2147  __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2148#line 34
2149  __cil_tmp5 = (long )__cil_tmp4;
2150#line 34
2151  tmp = __builtin_expect(__cil_tmp5, 0L);
2152  }
2153#line 34
2154  return (tmp);
2155}
2156}
2157#line 26 "include/linux/export.h"
2158extern struct module __this_module ;
2159#line 220 "include/linux/slub_def.h"
2160extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2161#line 223
2162void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2163#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
2164void ldv_check_alloc_flags(gfp_t flags ) ;
2165#line 12
2166void ldv_check_alloc_nonatomic(void) ;
2167#line 14
2168struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2169#line 110 "include/linux/rtc.h"
2170extern int rtc_valid_tm(struct rtc_time * ) ;
2171#line 793 "include/linux/device.h"
2172extern int dev_set_drvdata(struct device * , void * ) ;
2173#line 898
2174extern int _dev_info(struct device  const  * , char const   *  , ...) ;
2175#line 88 "include/linux/seq_file.h"
2176extern int seq_printf(struct seq_file * , char const   *  , ...) ;
2177#line 221 "include/linux/rtc.h"
2178extern struct rtc_device *rtc_device_register(char const   * , struct device * , struct rtc_class_ops  const  * ,
2179                                              struct module * ) ;
2180#line 188 "include/linux/platform_device.h"
2181__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) 
2182{ unsigned long __cil_tmp3 ;
2183  unsigned long __cil_tmp4 ;
2184  struct device *__cil_tmp5 ;
2185
2186  {
2187  {
2188#line 190
2189  __cil_tmp3 = (unsigned long )pdev;
2190#line 190
2191  __cil_tmp4 = __cil_tmp3 + 16;
2192#line 190
2193  __cil_tmp5 = (struct device *)__cil_tmp4;
2194#line 190
2195  dev_set_drvdata(__cil_tmp5, data);
2196  }
2197#line 191
2198  return;
2199}
2200}
2201#line 6 "include/linux/bcd.h"
2202extern unsigned int bcd2bin(unsigned char  ) ;
2203#line 7
2204extern unsigned char bin2bcd(unsigned int  ) ;
2205#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
2206static int m48t86_rtc_read_time(struct device *dev , struct rtc_time *tm ) 
2207{ unsigned char reg ;
2208  struct platform_device *pdev ;
2209  struct device  const  *__mptr ;
2210  struct m48t86_ops *ops ;
2211  unsigned char tmp ;
2212  unsigned char tmp___0 ;
2213  unsigned char tmp___1 ;
2214  unsigned char tmp___2 ;
2215  unsigned char tmp___3 ;
2216  unsigned char tmp___4 ;
2217  unsigned char tmp___5 ;
2218  unsigned char tmp___6 ;
2219  unsigned int tmp___7 ;
2220  unsigned char tmp___8 ;
2221  unsigned int tmp___9 ;
2222  unsigned char tmp___10 ;
2223  unsigned int tmp___11 ;
2224  unsigned char tmp___12 ;
2225  unsigned int tmp___13 ;
2226  unsigned char tmp___14 ;
2227  unsigned int tmp___15 ;
2228  unsigned char tmp___16 ;
2229  unsigned int tmp___17 ;
2230  unsigned char tmp___18 ;
2231  unsigned int tmp___19 ;
2232  unsigned char tmp___20 ;
2233  int tmp___21 ;
2234  struct platform_device *__cil_tmp30 ;
2235  unsigned long __cil_tmp31 ;
2236  unsigned long __cil_tmp32 ;
2237  unsigned long __cil_tmp33 ;
2238  void *__cil_tmp34 ;
2239  unsigned long __cil_tmp35 ;
2240  unsigned long __cil_tmp36 ;
2241  unsigned char (*__cil_tmp37)(unsigned long  ) ;
2242  int __cil_tmp38 ;
2243  int __cil_tmp39 ;
2244  unsigned long __cil_tmp40 ;
2245  unsigned long __cil_tmp41 ;
2246  unsigned char (*__cil_tmp42)(unsigned long  ) ;
2247  unsigned long __cil_tmp43 ;
2248  unsigned long __cil_tmp44 ;
2249  unsigned char (*__cil_tmp45)(unsigned long  ) ;
2250  unsigned long __cil_tmp46 ;
2251  unsigned long __cil_tmp47 ;
2252  unsigned long __cil_tmp48 ;
2253  unsigned long __cil_tmp49 ;
2254  unsigned char (*__cil_tmp50)(unsigned long  ) ;
2255  unsigned long __cil_tmp51 ;
2256  unsigned long __cil_tmp52 ;
2257  int __cil_tmp53 ;
2258  unsigned long __cil_tmp54 ;
2259  unsigned long __cil_tmp55 ;
2260  unsigned char (*__cil_tmp56)(unsigned long  ) ;
2261  unsigned long __cil_tmp57 ;
2262  unsigned long __cil_tmp58 ;
2263  unsigned long __cil_tmp59 ;
2264  unsigned long __cil_tmp60 ;
2265  unsigned char (*__cil_tmp61)(unsigned long  ) ;
2266  unsigned long __cil_tmp62 ;
2267  unsigned long __cil_tmp63 ;
2268  int __cil_tmp64 ;
2269  unsigned long __cil_tmp65 ;
2270  unsigned long __cil_tmp66 ;
2271  unsigned char (*__cil_tmp67)(unsigned long  ) ;
2272  unsigned long __cil_tmp68 ;
2273  unsigned long __cil_tmp69 ;
2274  int __cil_tmp70 ;
2275  unsigned long __cil_tmp71 ;
2276  unsigned long __cil_tmp72 ;
2277  unsigned char (*__cil_tmp73)(unsigned long  ) ;
2278  unsigned long __cil_tmp74 ;
2279  unsigned long __cil_tmp75 ;
2280  unsigned long __cil_tmp76 ;
2281  unsigned long __cil_tmp77 ;
2282  unsigned char (*__cil_tmp78)(unsigned long  ) ;
2283  int __cil_tmp79 ;
2284  unsigned char __cil_tmp80 ;
2285  unsigned long __cil_tmp81 ;
2286  unsigned long __cil_tmp82 ;
2287  unsigned char (*__cil_tmp83)(unsigned long  ) ;
2288  int __cil_tmp84 ;
2289  unsigned char __cil_tmp85 ;
2290  unsigned long __cil_tmp86 ;
2291  unsigned long __cil_tmp87 ;
2292  unsigned long __cil_tmp88 ;
2293  unsigned long __cil_tmp89 ;
2294  unsigned char (*__cil_tmp90)(unsigned long  ) ;
2295  int __cil_tmp91 ;
2296  int __cil_tmp92 ;
2297  unsigned char __cil_tmp93 ;
2298  unsigned long __cil_tmp94 ;
2299  unsigned long __cil_tmp95 ;
2300  unsigned long __cil_tmp96 ;
2301  unsigned long __cil_tmp97 ;
2302  unsigned char (*__cil_tmp98)(unsigned long  ) ;
2303  int __cil_tmp99 ;
2304  unsigned char __cil_tmp100 ;
2305  unsigned long __cil_tmp101 ;
2306  unsigned long __cil_tmp102 ;
2307  unsigned long __cil_tmp103 ;
2308  unsigned long __cil_tmp104 ;
2309  unsigned char (*__cil_tmp105)(unsigned long  ) ;
2310  int __cil_tmp106 ;
2311  unsigned char __cil_tmp107 ;
2312  unsigned long __cil_tmp108 ;
2313  unsigned long __cil_tmp109 ;
2314  unsigned int __cil_tmp110 ;
2315  unsigned long __cil_tmp111 ;
2316  unsigned long __cil_tmp112 ;
2317  unsigned char (*__cil_tmp113)(unsigned long  ) ;
2318  int __cil_tmp114 ;
2319  unsigned char __cil_tmp115 ;
2320  unsigned long __cil_tmp116 ;
2321  unsigned long __cil_tmp117 ;
2322  unsigned int __cil_tmp118 ;
2323  unsigned long __cil_tmp119 ;
2324  unsigned long __cil_tmp120 ;
2325  unsigned char (*__cil_tmp121)(unsigned long  ) ;
2326  int __cil_tmp122 ;
2327  unsigned char __cil_tmp123 ;
2328  unsigned long __cil_tmp124 ;
2329  unsigned long __cil_tmp125 ;
2330  int __cil_tmp126 ;
2331  int __cil_tmp127 ;
2332  unsigned long __cil_tmp128 ;
2333  unsigned long __cil_tmp129 ;
2334  unsigned char (*__cil_tmp130)(unsigned long  ) ;
2335  signed char __cil_tmp131 ;
2336  int __cil_tmp132 ;
2337  unsigned long __cil_tmp133 ;
2338  unsigned long __cil_tmp134 ;
2339  unsigned long __cil_tmp135 ;
2340  unsigned long __cil_tmp136 ;
2341  int __cil_tmp137 ;
2342
2343  {
2344  {
2345#line 63
2346  __mptr = (struct device  const  *)dev;
2347#line 63
2348  __cil_tmp30 = (struct platform_device *)__mptr;
2349#line 63
2350  pdev = __cil_tmp30 + 0xfffffffffffffff0UL;
2351#line 64
2352  __cil_tmp31 = 16 + 280;
2353#line 64
2354  __cil_tmp32 = (unsigned long )pdev;
2355#line 64
2356  __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
2357#line 64
2358  __cil_tmp34 = *((void **)__cil_tmp33);
2359#line 64
2360  ops = (struct m48t86_ops *)__cil_tmp34;
2361#line 66
2362  __cil_tmp35 = (unsigned long )ops;
2363#line 66
2364  __cil_tmp36 = __cil_tmp35 + 8;
2365#line 66
2366  __cil_tmp37 = *((unsigned char (**)(unsigned long  ))__cil_tmp36);
2367#line 66
2368  reg = (*__cil_tmp37)(11UL);
2369  }
2370  {
2371#line 68
2372  __cil_tmp38 = (int )reg;
2373#line 68
2374  __cil_tmp39 = __cil_tmp38 & 4;
2375#line 68
2376  if (__cil_tmp39 != 0) {
2377    {
2378#line 70
2379    __cil_tmp40 = (unsigned long )ops;
2380#line 70
2381    __cil_tmp41 = __cil_tmp40 + 8;
2382#line 70
2383    __cil_tmp42 = *((unsigned char (**)(unsigned long  ))__cil_tmp41);
2384#line 70
2385    tmp = (*__cil_tmp42)(0UL);
2386#line 70
2387    *((int *)tm) = (int )tmp;
2388#line 71
2389    __cil_tmp43 = (unsigned long )ops;
2390#line 71
2391    __cil_tmp44 = __cil_tmp43 + 8;
2392#line 71
2393    __cil_tmp45 = *((unsigned char (**)(unsigned long  ))__cil_tmp44);
2394#line 71
2395    tmp___0 = (*__cil_tmp45)(2UL);
2396#line 71
2397    __cil_tmp46 = (unsigned long )tm;
2398#line 71
2399    __cil_tmp47 = __cil_tmp46 + 4;
2400#line 71
2401    *((int *)__cil_tmp47) = (int )tmp___0;
2402#line 72
2403    __cil_tmp48 = (unsigned long )ops;
2404#line 72
2405    __cil_tmp49 = __cil_tmp48 + 8;
2406#line 72
2407    __cil_tmp50 = *((unsigned char (**)(unsigned long  ))__cil_tmp49);
2408#line 72
2409    tmp___1 = (*__cil_tmp50)(4UL);
2410#line 72
2411    __cil_tmp51 = (unsigned long )tm;
2412#line 72
2413    __cil_tmp52 = __cil_tmp51 + 8;
2414#line 72
2415    __cil_tmp53 = (int )tmp___1;
2416#line 72
2417    *((int *)__cil_tmp52) = __cil_tmp53 & 63;
2418#line 73
2419    __cil_tmp54 = (unsigned long )ops;
2420#line 73
2421    __cil_tmp55 = __cil_tmp54 + 8;
2422#line 73
2423    __cil_tmp56 = *((unsigned char (**)(unsigned long  ))__cil_tmp55);
2424#line 73
2425    tmp___2 = (*__cil_tmp56)(7UL);
2426#line 73
2427    __cil_tmp57 = (unsigned long )tm;
2428#line 73
2429    __cil_tmp58 = __cil_tmp57 + 12;
2430#line 73
2431    *((int *)__cil_tmp58) = (int )tmp___2;
2432#line 75
2433    __cil_tmp59 = (unsigned long )ops;
2434#line 75
2435    __cil_tmp60 = __cil_tmp59 + 8;
2436#line 75
2437    __cil_tmp61 = *((unsigned char (**)(unsigned long  ))__cil_tmp60);
2438#line 75
2439    tmp___3 = (*__cil_tmp61)(8UL);
2440#line 75
2441    __cil_tmp62 = (unsigned long )tm;
2442#line 75
2443    __cil_tmp63 = __cil_tmp62 + 16;
2444#line 75
2445    __cil_tmp64 = (int )tmp___3;
2446#line 75
2447    *((int *)__cil_tmp63) = __cil_tmp64 + -1;
2448#line 76
2449    __cil_tmp65 = (unsigned long )ops;
2450#line 76
2451    __cil_tmp66 = __cil_tmp65 + 8;
2452#line 76
2453    __cil_tmp67 = *((unsigned char (**)(unsigned long  ))__cil_tmp66);
2454#line 76
2455    tmp___4 = (*__cil_tmp67)(9UL);
2456#line 76
2457    __cil_tmp68 = (unsigned long )tm;
2458#line 76
2459    __cil_tmp69 = __cil_tmp68 + 20;
2460#line 76
2461    __cil_tmp70 = (int )tmp___4;
2462#line 76
2463    *((int *)__cil_tmp69) = __cil_tmp70 + 100;
2464#line 77
2465    __cil_tmp71 = (unsigned long )ops;
2466#line 77
2467    __cil_tmp72 = __cil_tmp71 + 8;
2468#line 77
2469    __cil_tmp73 = *((unsigned char (**)(unsigned long  ))__cil_tmp72);
2470#line 77
2471    tmp___5 = (*__cil_tmp73)(6UL);
2472#line 77
2473    __cil_tmp74 = (unsigned long )tm;
2474#line 77
2475    __cil_tmp75 = __cil_tmp74 + 24;
2476#line 77
2477    *((int *)__cil_tmp75) = (int )tmp___5;
2478    }
2479  } else {
2480    {
2481#line 80
2482    __cil_tmp76 = (unsigned long )ops;
2483#line 80
2484    __cil_tmp77 = __cil_tmp76 + 8;
2485#line 80
2486    __cil_tmp78 = *((unsigned char (**)(unsigned long  ))__cil_tmp77);
2487#line 80
2488    tmp___6 = (*__cil_tmp78)(0UL);
2489#line 80
2490    __cil_tmp79 = (int )tmp___6;
2491#line 80
2492    __cil_tmp80 = (unsigned char )__cil_tmp79;
2493#line 80
2494    tmp___7 = bcd2bin(__cil_tmp80);
2495#line 80
2496    *((int *)tm) = (int )tmp___7;
2497#line 81
2498    __cil_tmp81 = (unsigned long )ops;
2499#line 81
2500    __cil_tmp82 = __cil_tmp81 + 8;
2501#line 81
2502    __cil_tmp83 = *((unsigned char (**)(unsigned long  ))__cil_tmp82);
2503#line 81
2504    tmp___8 = (*__cil_tmp83)(2UL);
2505#line 81
2506    __cil_tmp84 = (int )tmp___8;
2507#line 81
2508    __cil_tmp85 = (unsigned char )__cil_tmp84;
2509#line 81
2510    tmp___9 = bcd2bin(__cil_tmp85);
2511#line 81
2512    __cil_tmp86 = (unsigned long )tm;
2513#line 81
2514    __cil_tmp87 = __cil_tmp86 + 4;
2515#line 81
2516    *((int *)__cil_tmp87) = (int )tmp___9;
2517#line 82
2518    __cil_tmp88 = (unsigned long )ops;
2519#line 82
2520    __cil_tmp89 = __cil_tmp88 + 8;
2521#line 82
2522    __cil_tmp90 = *((unsigned char (**)(unsigned long  ))__cil_tmp89);
2523#line 82
2524    tmp___10 = (*__cil_tmp90)(4UL);
2525#line 82
2526    __cil_tmp91 = (int )tmp___10;
2527#line 82
2528    __cil_tmp92 = __cil_tmp91 & 63;
2529#line 82
2530    __cil_tmp93 = (unsigned char )__cil_tmp92;
2531#line 82
2532    tmp___11 = bcd2bin(__cil_tmp93);
2533#line 82
2534    __cil_tmp94 = (unsigned long )tm;
2535#line 82
2536    __cil_tmp95 = __cil_tmp94 + 8;
2537#line 82
2538    *((int *)__cil_tmp95) = (int )tmp___11;
2539#line 83
2540    __cil_tmp96 = (unsigned long )ops;
2541#line 83
2542    __cil_tmp97 = __cil_tmp96 + 8;
2543#line 83
2544    __cil_tmp98 = *((unsigned char (**)(unsigned long  ))__cil_tmp97);
2545#line 83
2546    tmp___12 = (*__cil_tmp98)(7UL);
2547#line 83
2548    __cil_tmp99 = (int )tmp___12;
2549#line 83
2550    __cil_tmp100 = (unsigned char )__cil_tmp99;
2551#line 83
2552    tmp___13 = bcd2bin(__cil_tmp100);
2553#line 83
2554    __cil_tmp101 = (unsigned long )tm;
2555#line 83
2556    __cil_tmp102 = __cil_tmp101 + 12;
2557#line 83
2558    *((int *)__cil_tmp102) = (int )tmp___13;
2559#line 85
2560    __cil_tmp103 = (unsigned long )ops;
2561#line 85
2562    __cil_tmp104 = __cil_tmp103 + 8;
2563#line 85
2564    __cil_tmp105 = *((unsigned char (**)(unsigned long  ))__cil_tmp104);
2565#line 85
2566    tmp___14 = (*__cil_tmp105)(8UL);
2567#line 85
2568    __cil_tmp106 = (int )tmp___14;
2569#line 85
2570    __cil_tmp107 = (unsigned char )__cil_tmp106;
2571#line 85
2572    tmp___15 = bcd2bin(__cil_tmp107);
2573#line 85
2574    __cil_tmp108 = (unsigned long )tm;
2575#line 85
2576    __cil_tmp109 = __cil_tmp108 + 16;
2577#line 85
2578    __cil_tmp110 = tmp___15 - 1U;
2579#line 85
2580    *((int *)__cil_tmp109) = (int )__cil_tmp110;
2581#line 86
2582    __cil_tmp111 = (unsigned long )ops;
2583#line 86
2584    __cil_tmp112 = __cil_tmp111 + 8;
2585#line 86
2586    __cil_tmp113 = *((unsigned char (**)(unsigned long  ))__cil_tmp112);
2587#line 86
2588    tmp___16 = (*__cil_tmp113)(9UL);
2589#line 86
2590    __cil_tmp114 = (int )tmp___16;
2591#line 86
2592    __cil_tmp115 = (unsigned char )__cil_tmp114;
2593#line 86
2594    tmp___17 = bcd2bin(__cil_tmp115);
2595#line 86
2596    __cil_tmp116 = (unsigned long )tm;
2597#line 86
2598    __cil_tmp117 = __cil_tmp116 + 20;
2599#line 86
2600    __cil_tmp118 = tmp___17 + 100U;
2601#line 86
2602    *((int *)__cil_tmp117) = (int )__cil_tmp118;
2603#line 87
2604    __cil_tmp119 = (unsigned long )ops;
2605#line 87
2606    __cil_tmp120 = __cil_tmp119 + 8;
2607#line 87
2608    __cil_tmp121 = *((unsigned char (**)(unsigned long  ))__cil_tmp120);
2609#line 87
2610    tmp___18 = (*__cil_tmp121)(6UL);
2611#line 87
2612    __cil_tmp122 = (int )tmp___18;
2613#line 87
2614    __cil_tmp123 = (unsigned char )__cil_tmp122;
2615#line 87
2616    tmp___19 = bcd2bin(__cil_tmp123);
2617#line 87
2618    __cil_tmp124 = (unsigned long )tm;
2619#line 87
2620    __cil_tmp125 = __cil_tmp124 + 24;
2621#line 87
2622    *((int *)__cil_tmp125) = (int )tmp___19;
2623    }
2624  }
2625  }
2626  {
2627#line 91
2628  __cil_tmp126 = (int )reg;
2629#line 91
2630  __cil_tmp127 = __cil_tmp126 & 2;
2631#line 91
2632  if (__cil_tmp127 == 0) {
2633    {
2634#line 92
2635    __cil_tmp128 = (unsigned long )ops;
2636#line 92
2637    __cil_tmp129 = __cil_tmp128 + 8;
2638#line 92
2639    __cil_tmp130 = *((unsigned char (**)(unsigned long  ))__cil_tmp129);
2640#line 92
2641    tmp___20 = (*__cil_tmp130)(4UL);
2642    }
2643    {
2644#line 92
2645    __cil_tmp131 = (signed char )tmp___20;
2646#line 92
2647    __cil_tmp132 = (int )__cil_tmp131;
2648#line 92
2649    if (__cil_tmp132 < 0) {
2650#line 93
2651      __cil_tmp133 = (unsigned long )tm;
2652#line 93
2653      __cil_tmp134 = __cil_tmp133 + 8;
2654#line 93
2655      __cil_tmp135 = (unsigned long )tm;
2656#line 93
2657      __cil_tmp136 = __cil_tmp135 + 8;
2658#line 93
2659      __cil_tmp137 = *((int *)__cil_tmp136);
2660#line 93
2661      *((int *)__cil_tmp134) = __cil_tmp137 + 12;
2662    } else {
2663
2664    }
2665    }
2666  } else {
2667
2668  }
2669  }
2670  {
2671#line 95
2672  tmp___21 = rtc_valid_tm(tm);
2673  }
2674#line 95
2675  return (tmp___21);
2676}
2677}
2678#line 98 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
2679static int m48t86_rtc_set_time(struct device *dev , struct rtc_time *tm ) 
2680{ unsigned char reg ;
2681  struct platform_device *pdev ;
2682  struct device  const  *__mptr ;
2683  struct m48t86_ops *ops ;
2684  unsigned char tmp ;
2685  unsigned char tmp___0 ;
2686  unsigned char tmp___1 ;
2687  unsigned char tmp___2 ;
2688  unsigned char tmp___3 ;
2689  unsigned char tmp___4 ;
2690  unsigned char tmp___5 ;
2691  struct platform_device *__cil_tmp14 ;
2692  unsigned long __cil_tmp15 ;
2693  unsigned long __cil_tmp16 ;
2694  unsigned long __cil_tmp17 ;
2695  void *__cil_tmp18 ;
2696  unsigned long __cil_tmp19 ;
2697  unsigned long __cil_tmp20 ;
2698  unsigned char (*__cil_tmp21)(unsigned long  ) ;
2699  unsigned int __cil_tmp22 ;
2700  unsigned int __cil_tmp23 ;
2701  void (*__cil_tmp24)(unsigned char  , unsigned long  ) ;
2702  int __cil_tmp25 ;
2703  unsigned char __cil_tmp26 ;
2704  int __cil_tmp27 ;
2705  int __cil_tmp28 ;
2706  void (*__cil_tmp29)(unsigned char  , unsigned long  ) ;
2707  int __cil_tmp30 ;
2708  unsigned char __cil_tmp31 ;
2709  int __cil_tmp32 ;
2710  unsigned char __cil_tmp33 ;
2711  void (*__cil_tmp34)(unsigned char  , unsigned long  ) ;
2712  unsigned long __cil_tmp35 ;
2713  unsigned long __cil_tmp36 ;
2714  int __cil_tmp37 ;
2715  unsigned char __cil_tmp38 ;
2716  int __cil_tmp39 ;
2717  unsigned char __cil_tmp40 ;
2718  void (*__cil_tmp41)(unsigned char  , unsigned long  ) ;
2719  unsigned long __cil_tmp42 ;
2720  unsigned long __cil_tmp43 ;
2721  int __cil_tmp44 ;
2722  unsigned char __cil_tmp45 ;
2723  int __cil_tmp46 ;
2724  unsigned char __cil_tmp47 ;
2725  void (*__cil_tmp48)(unsigned char  , unsigned long  ) ;
2726  unsigned long __cil_tmp49 ;
2727  unsigned long __cil_tmp50 ;
2728  int __cil_tmp51 ;
2729  unsigned char __cil_tmp52 ;
2730  int __cil_tmp53 ;
2731  unsigned char __cil_tmp54 ;
2732  void (*__cil_tmp55)(unsigned char  , unsigned long  ) ;
2733  unsigned long __cil_tmp56 ;
2734  unsigned long __cil_tmp57 ;
2735  int __cil_tmp58 ;
2736  unsigned char __cil_tmp59 ;
2737  unsigned int __cil_tmp60 ;
2738  unsigned int __cil_tmp61 ;
2739  int __cil_tmp62 ;
2740  unsigned char __cil_tmp63 ;
2741  void (*__cil_tmp64)(unsigned char  , unsigned long  ) ;
2742  unsigned long __cil_tmp65 ;
2743  unsigned long __cil_tmp66 ;
2744  int __cil_tmp67 ;
2745  int __cil_tmp68 ;
2746  unsigned char __cil_tmp69 ;
2747  int __cil_tmp70 ;
2748  unsigned char __cil_tmp71 ;
2749  void (*__cil_tmp72)(unsigned char  , unsigned long  ) ;
2750  unsigned long __cil_tmp73 ;
2751  unsigned long __cil_tmp74 ;
2752  int __cil_tmp75 ;
2753  unsigned char __cil_tmp76 ;
2754  int __cil_tmp77 ;
2755  unsigned char __cil_tmp78 ;
2756  int __cil_tmp79 ;
2757  unsigned int __cil_tmp80 ;
2758  void (*__cil_tmp81)(unsigned char  , unsigned long  ) ;
2759  int __cil_tmp82 ;
2760  unsigned char __cil_tmp83 ;
2761  unsigned long __cil_tmp84 ;
2762  unsigned long __cil_tmp85 ;
2763  int __cil_tmp86 ;
2764  unsigned int __cil_tmp87 ;
2765  void (*__cil_tmp88)(unsigned char  , unsigned long  ) ;
2766  int __cil_tmp89 ;
2767  unsigned char __cil_tmp90 ;
2768  unsigned long __cil_tmp91 ;
2769  unsigned long __cil_tmp92 ;
2770  int __cil_tmp93 ;
2771  unsigned int __cil_tmp94 ;
2772  void (*__cil_tmp95)(unsigned char  , unsigned long  ) ;
2773  int __cil_tmp96 ;
2774  unsigned char __cil_tmp97 ;
2775  unsigned long __cil_tmp98 ;
2776  unsigned long __cil_tmp99 ;
2777  int __cil_tmp100 ;
2778  unsigned int __cil_tmp101 ;
2779  void (*__cil_tmp102)(unsigned char  , unsigned long  ) ;
2780  int __cil_tmp103 ;
2781  unsigned char __cil_tmp104 ;
2782  unsigned long __cil_tmp105 ;
2783  unsigned long __cil_tmp106 ;
2784  int __cil_tmp107 ;
2785  int __cil_tmp108 ;
2786  unsigned int __cil_tmp109 ;
2787  void (*__cil_tmp110)(unsigned char  , unsigned long  ) ;
2788  int __cil_tmp111 ;
2789  unsigned char __cil_tmp112 ;
2790  unsigned long __cil_tmp113 ;
2791  unsigned long __cil_tmp114 ;
2792  int __cil_tmp115 ;
2793  int __cil_tmp116 ;
2794  unsigned int __cil_tmp117 ;
2795  void (*__cil_tmp118)(unsigned char  , unsigned long  ) ;
2796  int __cil_tmp119 ;
2797  unsigned char __cil_tmp120 ;
2798  unsigned long __cil_tmp121 ;
2799  unsigned long __cil_tmp122 ;
2800  int __cil_tmp123 ;
2801  unsigned int __cil_tmp124 ;
2802  void (*__cil_tmp125)(unsigned char  , unsigned long  ) ;
2803  int __cil_tmp126 ;
2804  unsigned char __cil_tmp127 ;
2805  unsigned int __cil_tmp128 ;
2806  unsigned int __cil_tmp129 ;
2807  void (*__cil_tmp130)(unsigned char  , unsigned long  ) ;
2808  int __cil_tmp131 ;
2809  unsigned char __cil_tmp132 ;
2810
2811  {
2812  {
2813#line 101
2814  __mptr = (struct device  const  *)dev;
2815#line 101
2816  __cil_tmp14 = (struct platform_device *)__mptr;
2817#line 101
2818  pdev = __cil_tmp14 + 0xfffffffffffffff0UL;
2819#line 102
2820  __cil_tmp15 = 16 + 280;
2821#line 102
2822  __cil_tmp16 = (unsigned long )pdev;
2823#line 102
2824  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
2825#line 102
2826  __cil_tmp18 = *((void **)__cil_tmp17);
2827#line 102
2828  ops = (struct m48t86_ops *)__cil_tmp18;
2829#line 104
2830  __cil_tmp19 = (unsigned long )ops;
2831#line 104
2832  __cil_tmp20 = __cil_tmp19 + 8;
2833#line 104
2834  __cil_tmp21 = *((unsigned char (**)(unsigned long  ))__cil_tmp20);
2835#line 104
2836  reg = (*__cil_tmp21)(11UL);
2837#line 107
2838  __cil_tmp22 = (unsigned int )reg;
2839#line 107
2840  __cil_tmp23 = __cil_tmp22 | 130U;
2841#line 107
2842  reg = (unsigned char )__cil_tmp23;
2843#line 108
2844  __cil_tmp24 = *((void (**)(unsigned char  , unsigned long  ))ops);
2845#line 108
2846  __cil_tmp25 = (int )reg;
2847#line 108
2848  __cil_tmp26 = (unsigned char )__cil_tmp25;
2849#line 108
2850  (*__cil_tmp24)(__cil_tmp26, 11UL);
2851  }
2852  {
2853#line 110
2854  __cil_tmp27 = (int )reg;
2855#line 110
2856  __cil_tmp28 = __cil_tmp27 & 4;
2857#line 110
2858  if (__cil_tmp28 != 0) {
2859    {
2860#line 112
2861    __cil_tmp29 = *((void (**)(unsigned char  , unsigned long  ))ops);
2862#line 112
2863    __cil_tmp30 = *((int *)tm);
2864#line 112
2865    __cil_tmp31 = (unsigned char )__cil_tmp30;
2866#line 112
2867    __cil_tmp32 = (int )__cil_tmp31;
2868#line 112
2869    __cil_tmp33 = (unsigned char )__cil_tmp32;
2870#line 112
2871    (*__cil_tmp29)(__cil_tmp33, 0UL);
2872#line 113
2873    __cil_tmp34 = *((void (**)(unsigned char  , unsigned long  ))ops);
2874#line 113
2875    __cil_tmp35 = (unsigned long )tm;
2876#line 113
2877    __cil_tmp36 = __cil_tmp35 + 4;
2878#line 113
2879    __cil_tmp37 = *((int *)__cil_tmp36);
2880#line 113
2881    __cil_tmp38 = (unsigned char )__cil_tmp37;
2882#line 113
2883    __cil_tmp39 = (int )__cil_tmp38;
2884#line 113
2885    __cil_tmp40 = (unsigned char )__cil_tmp39;
2886#line 113
2887    (*__cil_tmp34)(__cil_tmp40, 2UL);
2888#line 114
2889    __cil_tmp41 = *((void (**)(unsigned char  , unsigned long  ))ops);
2890#line 114
2891    __cil_tmp42 = (unsigned long )tm;
2892#line 114
2893    __cil_tmp43 = __cil_tmp42 + 8;
2894#line 114
2895    __cil_tmp44 = *((int *)__cil_tmp43);
2896#line 114
2897    __cil_tmp45 = (unsigned char )__cil_tmp44;
2898#line 114
2899    __cil_tmp46 = (int )__cil_tmp45;
2900#line 114
2901    __cil_tmp47 = (unsigned char )__cil_tmp46;
2902#line 114
2903    (*__cil_tmp41)(__cil_tmp47, 4UL);
2904#line 115
2905    __cil_tmp48 = *((void (**)(unsigned char  , unsigned long  ))ops);
2906#line 115
2907    __cil_tmp49 = (unsigned long )tm;
2908#line 115
2909    __cil_tmp50 = __cil_tmp49 + 12;
2910#line 115
2911    __cil_tmp51 = *((int *)__cil_tmp50);
2912#line 115
2913    __cil_tmp52 = (unsigned char )__cil_tmp51;
2914#line 115
2915    __cil_tmp53 = (int )__cil_tmp52;
2916#line 115
2917    __cil_tmp54 = (unsigned char )__cil_tmp53;
2918#line 115
2919    (*__cil_tmp48)(__cil_tmp54, 7UL);
2920#line 116
2921    __cil_tmp55 = *((void (**)(unsigned char  , unsigned long  ))ops);
2922#line 116
2923    __cil_tmp56 = (unsigned long )tm;
2924#line 116
2925    __cil_tmp57 = __cil_tmp56 + 16;
2926#line 116
2927    __cil_tmp58 = *((int *)__cil_tmp57);
2928#line 116
2929    __cil_tmp59 = (unsigned char )__cil_tmp58;
2930#line 116
2931    __cil_tmp60 = (unsigned int )__cil_tmp59;
2932#line 116
2933    __cil_tmp61 = __cil_tmp60 + 1U;
2934#line 116
2935    __cil_tmp62 = (int )__cil_tmp61;
2936#line 116
2937    __cil_tmp63 = (unsigned char )__cil_tmp62;
2938#line 116
2939    (*__cil_tmp55)(__cil_tmp63, 8UL);
2940#line 117
2941    __cil_tmp64 = *((void (**)(unsigned char  , unsigned long  ))ops);
2942#line 117
2943    __cil_tmp65 = (unsigned long )tm;
2944#line 117
2945    __cil_tmp66 = __cil_tmp65 + 20;
2946#line 117
2947    __cil_tmp67 = *((int *)__cil_tmp66);
2948#line 117
2949    __cil_tmp68 = __cil_tmp67 % 100;
2950#line 117
2951    __cil_tmp69 = (unsigned char )__cil_tmp68;
2952#line 117
2953    __cil_tmp70 = (int )__cil_tmp69;
2954#line 117
2955    __cil_tmp71 = (unsigned char )__cil_tmp70;
2956#line 117
2957    (*__cil_tmp64)(__cil_tmp71, 9UL);
2958#line 118
2959    __cil_tmp72 = *((void (**)(unsigned char  , unsigned long  ))ops);
2960#line 118
2961    __cil_tmp73 = (unsigned long )tm;
2962#line 118
2963    __cil_tmp74 = __cil_tmp73 + 24;
2964#line 118
2965    __cil_tmp75 = *((int *)__cil_tmp74);
2966#line 118
2967    __cil_tmp76 = (unsigned char )__cil_tmp75;
2968#line 118
2969    __cil_tmp77 = (int )__cil_tmp76;
2970#line 118
2971    __cil_tmp78 = (unsigned char )__cil_tmp77;
2972#line 118
2973    (*__cil_tmp72)(__cil_tmp78, 6UL);
2974    }
2975  } else {
2976    {
2977#line 121
2978    __cil_tmp79 = *((int *)tm);
2979#line 121
2980    __cil_tmp80 = (unsigned int )__cil_tmp79;
2981#line 121
2982    tmp = bin2bcd(__cil_tmp80);
2983#line 121
2984    __cil_tmp81 = *((void (**)(unsigned char  , unsigned long  ))ops);
2985#line 121
2986    __cil_tmp82 = (int )tmp;
2987#line 121
2988    __cil_tmp83 = (unsigned char )__cil_tmp82;
2989#line 121
2990    (*__cil_tmp81)(__cil_tmp83, 0UL);
2991#line 122
2992    __cil_tmp84 = (unsigned long )tm;
2993#line 122
2994    __cil_tmp85 = __cil_tmp84 + 4;
2995#line 122
2996    __cil_tmp86 = *((int *)__cil_tmp85);
2997#line 122
2998    __cil_tmp87 = (unsigned int )__cil_tmp86;
2999#line 122
3000    tmp___0 = bin2bcd(__cil_tmp87);
3001#line 122
3002    __cil_tmp88 = *((void (**)(unsigned char  , unsigned long  ))ops);
3003#line 122
3004    __cil_tmp89 = (int )tmp___0;
3005#line 122
3006    __cil_tmp90 = (unsigned char )__cil_tmp89;
3007#line 122
3008    (*__cil_tmp88)(__cil_tmp90, 2UL);
3009#line 123
3010    __cil_tmp91 = (unsigned long )tm;
3011#line 123
3012    __cil_tmp92 = __cil_tmp91 + 8;
3013#line 123
3014    __cil_tmp93 = *((int *)__cil_tmp92);
3015#line 123
3016    __cil_tmp94 = (unsigned int )__cil_tmp93;
3017#line 123
3018    tmp___1 = bin2bcd(__cil_tmp94);
3019#line 123
3020    __cil_tmp95 = *((void (**)(unsigned char  , unsigned long  ))ops);
3021#line 123
3022    __cil_tmp96 = (int )tmp___1;
3023#line 123
3024    __cil_tmp97 = (unsigned char )__cil_tmp96;
3025#line 123
3026    (*__cil_tmp95)(__cil_tmp97, 4UL);
3027#line 124
3028    __cil_tmp98 = (unsigned long )tm;
3029#line 124
3030    __cil_tmp99 = __cil_tmp98 + 12;
3031#line 124
3032    __cil_tmp100 = *((int *)__cil_tmp99);
3033#line 124
3034    __cil_tmp101 = (unsigned int )__cil_tmp100;
3035#line 124
3036    tmp___2 = bin2bcd(__cil_tmp101);
3037#line 124
3038    __cil_tmp102 = *((void (**)(unsigned char  , unsigned long  ))ops);
3039#line 124
3040    __cil_tmp103 = (int )tmp___2;
3041#line 124
3042    __cil_tmp104 = (unsigned char )__cil_tmp103;
3043#line 124
3044    (*__cil_tmp102)(__cil_tmp104, 7UL);
3045#line 125
3046    __cil_tmp105 = (unsigned long )tm;
3047#line 125
3048    __cil_tmp106 = __cil_tmp105 + 16;
3049#line 125
3050    __cil_tmp107 = *((int *)__cil_tmp106);
3051#line 125
3052    __cil_tmp108 = __cil_tmp107 + 1;
3053#line 125
3054    __cil_tmp109 = (unsigned int )__cil_tmp108;
3055#line 125
3056    tmp___3 = bin2bcd(__cil_tmp109);
3057#line 125
3058    __cil_tmp110 = *((void (**)(unsigned char  , unsigned long  ))ops);
3059#line 125
3060    __cil_tmp111 = (int )tmp___3;
3061#line 125
3062    __cil_tmp112 = (unsigned char )__cil_tmp111;
3063#line 125
3064    (*__cil_tmp110)(__cil_tmp112, 8UL);
3065#line 126
3066    __cil_tmp113 = (unsigned long )tm;
3067#line 126
3068    __cil_tmp114 = __cil_tmp113 + 20;
3069#line 126
3070    __cil_tmp115 = *((int *)__cil_tmp114);
3071#line 126
3072    __cil_tmp116 = __cil_tmp115 % 100;
3073#line 126
3074    __cil_tmp117 = (unsigned int )__cil_tmp116;
3075#line 126
3076    tmp___4 = bin2bcd(__cil_tmp117);
3077#line 126
3078    __cil_tmp118 = *((void (**)(unsigned char  , unsigned long  ))ops);
3079#line 126
3080    __cil_tmp119 = (int )tmp___4;
3081#line 126
3082    __cil_tmp120 = (unsigned char )__cil_tmp119;
3083#line 126
3084    (*__cil_tmp118)(__cil_tmp120, 9UL);
3085#line 127
3086    __cil_tmp121 = (unsigned long )tm;
3087#line 127
3088    __cil_tmp122 = __cil_tmp121 + 24;
3089#line 127
3090    __cil_tmp123 = *((int *)__cil_tmp122);
3091#line 127
3092    __cil_tmp124 = (unsigned int )__cil_tmp123;
3093#line 127
3094    tmp___5 = bin2bcd(__cil_tmp124);
3095#line 127
3096    __cil_tmp125 = *((void (**)(unsigned char  , unsigned long  ))ops);
3097#line 127
3098    __cil_tmp126 = (int )tmp___5;
3099#line 127
3100    __cil_tmp127 = (unsigned char )__cil_tmp126;
3101#line 127
3102    (*__cil_tmp125)(__cil_tmp127, 6UL);
3103    }
3104  }
3105  }
3106  {
3107#line 131
3108  __cil_tmp128 = (unsigned int )reg;
3109#line 131
3110  __cil_tmp129 = __cil_tmp128 & 127U;
3111#line 131
3112  reg = (unsigned char )__cil_tmp129;
3113#line 132
3114  __cil_tmp130 = *((void (**)(unsigned char  , unsigned long  ))ops);
3115#line 132
3116  __cil_tmp131 = (int )reg;
3117#line 132
3118  __cil_tmp132 = (unsigned char )__cil_tmp131;
3119#line 132
3120  (*__cil_tmp130)(__cil_tmp132, 11UL);
3121  }
3122#line 134
3123  return (0);
3124}
3125}
3126#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3127static int m48t86_rtc_proc(struct device *dev , struct seq_file *seq ) 
3128{ unsigned char reg ;
3129  struct platform_device *pdev ;
3130  struct device  const  *__mptr ;
3131  struct m48t86_ops *ops ;
3132  char *tmp ;
3133  char *tmp___0 ;
3134  struct platform_device *__cil_tmp9 ;
3135  unsigned long __cil_tmp10 ;
3136  unsigned long __cil_tmp11 ;
3137  unsigned long __cil_tmp12 ;
3138  void *__cil_tmp13 ;
3139  unsigned long __cil_tmp14 ;
3140  unsigned long __cil_tmp15 ;
3141  unsigned char (*__cil_tmp16)(unsigned long  ) ;
3142  int __cil_tmp17 ;
3143  int __cil_tmp18 ;
3144  unsigned long __cil_tmp19 ;
3145  unsigned long __cil_tmp20 ;
3146  unsigned char (*__cil_tmp21)(unsigned long  ) ;
3147  signed char __cil_tmp22 ;
3148  int __cil_tmp23 ;
3149
3150  {
3151  {
3152#line 140
3153  __mptr = (struct device  const  *)dev;
3154#line 140
3155  __cil_tmp9 = (struct platform_device *)__mptr;
3156#line 140
3157  pdev = __cil_tmp9 + 0xfffffffffffffff0UL;
3158#line 141
3159  __cil_tmp10 = 16 + 280;
3160#line 141
3161  __cil_tmp11 = (unsigned long )pdev;
3162#line 141
3163  __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
3164#line 141
3165  __cil_tmp13 = *((void **)__cil_tmp12);
3166#line 141
3167  ops = (struct m48t86_ops *)__cil_tmp13;
3168#line 143
3169  __cil_tmp14 = (unsigned long )ops;
3170#line 143
3171  __cil_tmp15 = __cil_tmp14 + 8;
3172#line 143
3173  __cil_tmp16 = *((unsigned char (**)(unsigned long  ))__cil_tmp15);
3174#line 143
3175  reg = (*__cil_tmp16)(11UL);
3176  }
3177  {
3178#line 145
3179  __cil_tmp17 = (int )reg;
3180#line 145
3181  __cil_tmp18 = __cil_tmp17 & 4;
3182#line 145
3183  if (__cil_tmp18 != 0) {
3184#line 145
3185    tmp = (char *)"binary";
3186  } else {
3187#line 145
3188    tmp = (char *)"bcd";
3189  }
3190  }
3191  {
3192#line 145
3193  seq_printf(seq, "mode\t\t: %s\n", tmp);
3194#line 148
3195  __cil_tmp19 = (unsigned long )ops;
3196#line 148
3197  __cil_tmp20 = __cil_tmp19 + 8;
3198#line 148
3199  __cil_tmp21 = *((unsigned char (**)(unsigned long  ))__cil_tmp20);
3200#line 148
3201  reg = (*__cil_tmp21)(13UL);
3202  }
3203  {
3204#line 150
3205  __cil_tmp22 = (signed char )reg;
3206#line 150
3207  __cil_tmp23 = (int )__cil_tmp22;
3208#line 150
3209  if (__cil_tmp23 < 0) {
3210#line 150
3211    tmp___0 = (char *)"ok";
3212  } else {
3213#line 150
3214    tmp___0 = (char *)"exhausted";
3215  }
3216  }
3217  {
3218#line 150
3219  seq_printf(seq, "battery\t\t: %s\n", tmp___0);
3220  }
3221#line 153
3222  return (0);
3223}
3224}
3225#line 156 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3226static struct rtc_class_ops  const  m48t86_rtc_ops  = 
3227#line 156
3228     {(int (*)(struct device * ))0, (void (*)(struct device * ))0, (int (*)(struct device * ,
3229                                                                          unsigned int  ,
3230                                                                          unsigned long  ))0,
3231    & m48t86_rtc_read_time, & m48t86_rtc_set_time, (int (*)(struct device * , struct rtc_wkalrm * ))0,
3232    (int (*)(struct device * , struct rtc_wkalrm * ))0, & m48t86_rtc_proc, (int (*)(struct device * ,
3233                                                                                    unsigned long  ))0,
3234    (int (*)(struct device * , int  ))0, (int (*)(struct device * , unsigned int  ))0};
3235#line 162 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3236static int m48t86_rtc_probe(struct platform_device *dev ) 
3237{ unsigned char reg ;
3238  struct m48t86_ops *ops ;
3239  struct rtc_device *rtc ;
3240  struct rtc_device *tmp ;
3241  long tmp___0 ;
3242  long tmp___1 ;
3243  char *tmp___2 ;
3244  unsigned long __cil_tmp9 ;
3245  unsigned long __cil_tmp10 ;
3246  unsigned long __cil_tmp11 ;
3247  void *__cil_tmp12 ;
3248  unsigned long __cil_tmp13 ;
3249  unsigned long __cil_tmp14 ;
3250  struct device *__cil_tmp15 ;
3251  void const   *__cil_tmp16 ;
3252  void const   *__cil_tmp17 ;
3253  void *__cil_tmp18 ;
3254  unsigned long __cil_tmp19 ;
3255  unsigned long __cil_tmp20 ;
3256  unsigned char (*__cil_tmp21)(unsigned long  ) ;
3257  signed char __cil_tmp22 ;
3258  int __cil_tmp23 ;
3259  unsigned long __cil_tmp24 ;
3260  unsigned long __cil_tmp25 ;
3261  struct device *__cil_tmp26 ;
3262  struct device  const  *__cil_tmp27 ;
3263
3264  {
3265  {
3266#line 165
3267  __cil_tmp9 = 16 + 280;
3268#line 165
3269  __cil_tmp10 = (unsigned long )dev;
3270#line 165
3271  __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
3272#line 165
3273  __cil_tmp12 = *((void **)__cil_tmp11);
3274#line 165
3275  ops = (struct m48t86_ops *)__cil_tmp12;
3276#line 166
3277  __cil_tmp13 = (unsigned long )dev;
3278#line 166
3279  __cil_tmp14 = __cil_tmp13 + 16;
3280#line 166
3281  __cil_tmp15 = (struct device *)__cil_tmp14;
3282#line 166
3283  tmp = rtc_device_register("m48t86", __cil_tmp15, & m48t86_rtc_ops, & __this_module);
3284#line 166
3285  rtc = tmp;
3286#line 169
3287  __cil_tmp16 = (void const   *)rtc;
3288#line 169
3289  tmp___1 = IS_ERR(__cil_tmp16);
3290  }
3291#line 169
3292  if (tmp___1 != 0L) {
3293    {
3294#line 170
3295    __cil_tmp17 = (void const   *)rtc;
3296#line 170
3297    tmp___0 = PTR_ERR(__cil_tmp17);
3298    }
3299#line 170
3300    return ((int )tmp___0);
3301  } else {
3302
3303  }
3304  {
3305#line 172
3306  __cil_tmp18 = (void *)rtc;
3307#line 172
3308  platform_set_drvdata(dev, __cil_tmp18);
3309#line 175
3310  __cil_tmp19 = (unsigned long )ops;
3311#line 175
3312  __cil_tmp20 = __cil_tmp19 + 8;
3313#line 175
3314  __cil_tmp21 = *((unsigned char (**)(unsigned long  ))__cil_tmp20);
3315#line 175
3316  reg = (*__cil_tmp21)(13UL);
3317  }
3318  {
3319#line 176
3320  __cil_tmp22 = (signed char )reg;
3321#line 176
3322  __cil_tmp23 = (int )__cil_tmp22;
3323#line 176
3324  if (__cil_tmp23 < 0) {
3325#line 176
3326    tmp___2 = (char *)"ok";
3327  } else {
3328#line 176
3329    tmp___2 = (char *)"exhausted";
3330  }
3331  }
3332  {
3333#line 176
3334  __cil_tmp24 = (unsigned long )dev;
3335#line 176
3336  __cil_tmp25 = __cil_tmp24 + 16;
3337#line 176
3338  __cil_tmp26 = (struct device *)__cil_tmp25;
3339#line 176
3340  __cil_tmp27 = (struct device  const  *)__cil_tmp26;
3341#line 176
3342  _dev_info(__cil_tmp27, "battery %s\n", tmp___2);
3343  }
3344#line 179
3345  return (0);
3346}
3347}
3348#line 227
3349extern void ldv_check_final_state(void) ;
3350#line 230
3351extern void ldv_check_return_value(int  ) ;
3352#line 233
3353extern void ldv_initialize(void) ;
3354#line 236
3355extern int __VERIFIER_nondet_int(void) ;
3356#line 239 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3357int LDV_IN_INTERRUPT  ;
3358#line 242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3359void main(void) 
3360{ struct device *var_group1 ;
3361  struct rtc_time *var_group2 ;
3362  struct seq_file *var_group3 ;
3363  struct platform_device *var_group4 ;
3364  int res_m48t86_rtc_probe_3 ;
3365  int ldv_s_m48t86_rtc_platform_driver_platform_driver ;
3366  int tmp ;
3367  int tmp___0 ;
3368
3369  {
3370  {
3371#line 368
3372  ldv_s_m48t86_rtc_platform_driver_platform_driver = 0;
3373#line 356
3374  LDV_IN_INTERRUPT = 1;
3375#line 365
3376  ldv_initialize();
3377  }
3378#line 371
3379  goto ldv_20976;
3380  ldv_20975: 
3381  {
3382#line 375
3383  tmp = __VERIFIER_nondet_int();
3384  }
3385#line 377
3386  if (tmp == 0) {
3387#line 377
3388    goto case_0;
3389  } else
3390#line 413
3391  if (tmp == 1) {
3392#line 413
3393    goto case_1;
3394  } else
3395#line 449
3396  if (tmp == 2) {
3397#line 449
3398    goto case_2;
3399  } else
3400#line 485
3401  if (tmp == 3) {
3402#line 485
3403    goto case_3;
3404  } else {
3405    {
3406#line 524
3407    goto switch_default;
3408#line 375
3409    if (0) {
3410      case_0: /* CIL Label */ 
3411      {
3412#line 405
3413      m48t86_rtc_read_time(var_group1, var_group2);
3414      }
3415#line 412
3416      goto ldv_20969;
3417      case_1: /* CIL Label */ 
3418      {
3419#line 441
3420      m48t86_rtc_set_time(var_group1, var_group2);
3421      }
3422#line 448
3423      goto ldv_20969;
3424      case_2: /* CIL Label */ 
3425      {
3426#line 477
3427      m48t86_rtc_proc(var_group1, var_group3);
3428      }
3429#line 484
3430      goto ldv_20969;
3431      case_3: /* CIL Label */ ;
3432#line 488
3433      if (ldv_s_m48t86_rtc_platform_driver_platform_driver == 0) {
3434        {
3435#line 513
3436        res_m48t86_rtc_probe_3 = m48t86_rtc_probe(var_group4);
3437#line 514
3438        ldv_check_return_value(res_m48t86_rtc_probe_3);
3439        }
3440#line 515
3441        if (res_m48t86_rtc_probe_3 != 0) {
3442#line 516
3443          goto ldv_module_exit;
3444        } else {
3445
3446        }
3447#line 517
3448        ldv_s_m48t86_rtc_platform_driver_platform_driver = 0;
3449      } else {
3450
3451      }
3452#line 523
3453      goto ldv_20969;
3454      switch_default: /* CIL Label */ ;
3455#line 524
3456      goto ldv_20969;
3457    } else {
3458      switch_break: /* CIL Label */ ;
3459    }
3460    }
3461  }
3462  ldv_20969: ;
3463  ldv_20976: 
3464  {
3465#line 371
3466  tmp___0 = __VERIFIER_nondet_int();
3467  }
3468#line 371
3469  if (tmp___0 != 0) {
3470#line 373
3471    goto ldv_20975;
3472  } else
3473#line 371
3474  if (ldv_s_m48t86_rtc_platform_driver_platform_driver != 0) {
3475#line 373
3476    goto ldv_20975;
3477  } else {
3478#line 375
3479    goto ldv_20977;
3480  }
3481  ldv_20977: ;
3482  ldv_module_exit: ;
3483  {
3484#line 533
3485  ldv_check_final_state();
3486  }
3487#line 536
3488  return;
3489}
3490}
3491#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3492void ldv_blast_assert(void) 
3493{ 
3494
3495  {
3496  ERROR: ;
3497#line 6
3498  goto ERROR;
3499}
3500}
3501#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3502extern int __VERIFIER_nondet_int(void) ;
3503#line 557 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3504int ldv_spin  =    0;
3505#line 561 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3506void ldv_check_alloc_flags(gfp_t flags ) 
3507{ 
3508
3509  {
3510#line 564
3511  if (ldv_spin != 0) {
3512#line 564
3513    if (flags != 32U) {
3514      {
3515#line 564
3516      ldv_blast_assert();
3517      }
3518    } else {
3519
3520    }
3521  } else {
3522
3523  }
3524#line 567
3525  return;
3526}
3527}
3528#line 567
3529extern struct page *ldv_some_page(void) ;
3530#line 570 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3531struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3532{ struct page *tmp ;
3533
3534  {
3535#line 573
3536  if (ldv_spin != 0) {
3537#line 573
3538    if (flags != 32U) {
3539      {
3540#line 573
3541      ldv_blast_assert();
3542      }
3543    } else {
3544
3545    }
3546  } else {
3547
3548  }
3549  {
3550#line 575
3551  tmp = ldv_some_page();
3552  }
3553#line 575
3554  return (tmp);
3555}
3556}
3557#line 579 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3558void ldv_check_alloc_nonatomic(void) 
3559{ 
3560
3561  {
3562#line 582
3563  if (ldv_spin != 0) {
3564    {
3565#line 582
3566    ldv_blast_assert();
3567    }
3568  } else {
3569
3570  }
3571#line 585
3572  return;
3573}
3574}
3575#line 586 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3576void ldv_spin_lock(void) 
3577{ 
3578
3579  {
3580#line 589
3581  ldv_spin = 1;
3582#line 590
3583  return;
3584}
3585}
3586#line 593 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3587void ldv_spin_unlock(void) 
3588{ 
3589
3590  {
3591#line 596
3592  ldv_spin = 0;
3593#line 597
3594  return;
3595}
3596}
3597#line 600 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3598int ldv_spin_trylock(void) 
3599{ int is_lock ;
3600
3601  {
3602  {
3603#line 605
3604  is_lock = __VERIFIER_nondet_int();
3605  }
3606#line 607
3607  if (is_lock != 0) {
3608#line 610
3609    return (0);
3610  } else {
3611#line 615
3612    ldv_spin = 1;
3613#line 617
3614    return (1);
3615  }
3616}
3617}
3618#line 784 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2653/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-m48t86.c.p"
3619void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3620{ 
3621
3622  {
3623  {
3624#line 790
3625  ldv_check_alloc_flags(ldv_func_arg2);
3626#line 792
3627  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3628  }
3629#line 793
3630  return ((void *)0);
3631}
3632}