Showing error 730

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--w1--slaves--w1_ds2433.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2599
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 23 "include/asm-generic/int-ll64.h"
   5typedef unsigned short __u16;
   6#line 26 "include/asm-generic/int-ll64.h"
   7typedef unsigned int __u32;
   8#line 30 "include/asm-generic/int-ll64.h"
   9typedef unsigned long long __u64;
  10#line 43 "include/asm-generic/int-ll64.h"
  11typedef unsigned char u8;
  12#line 45 "include/asm-generic/int-ll64.h"
  13typedef short s16;
  14#line 46 "include/asm-generic/int-ll64.h"
  15typedef unsigned short u16;
  16#line 49 "include/asm-generic/int-ll64.h"
  17typedef unsigned int u32;
  18#line 51 "include/asm-generic/int-ll64.h"
  19typedef long long s64;
  20#line 52 "include/asm-generic/int-ll64.h"
  21typedef unsigned long long u64;
  22#line 14 "include/asm-generic/posix_types.h"
  23typedef long __kernel_long_t;
  24#line 15 "include/asm-generic/posix_types.h"
  25typedef unsigned long __kernel_ulong_t;
  26#line 75 "include/asm-generic/posix_types.h"
  27typedef __kernel_ulong_t __kernel_size_t;
  28#line 76 "include/asm-generic/posix_types.h"
  29typedef __kernel_long_t __kernel_ssize_t;
  30#line 91 "include/asm-generic/posix_types.h"
  31typedef long long __kernel_loff_t;
  32#line 21 "include/linux/types.h"
  33typedef __u32 __kernel_dev_t;
  34#line 24 "include/linux/types.h"
  35typedef __kernel_dev_t dev_t;
  36#line 27 "include/linux/types.h"
  37typedef unsigned short umode_t;
  38#line 38 "include/linux/types.h"
  39typedef _Bool bool;
  40#line 54 "include/linux/types.h"
  41typedef __kernel_loff_t loff_t;
  42#line 63 "include/linux/types.h"
  43typedef __kernel_size_t size_t;
  44#line 68 "include/linux/types.h"
  45typedef __kernel_ssize_t ssize_t;
  46#line 202 "include/linux/types.h"
  47typedef unsigned int gfp_t;
  48#line 219 "include/linux/types.h"
  49struct __anonstruct_atomic_t_7 {
  50   int counter ;
  51};
  52#line 219 "include/linux/types.h"
  53typedef struct __anonstruct_atomic_t_7 atomic_t;
  54#line 224 "include/linux/types.h"
  55struct __anonstruct_atomic64_t_8 {
  56   long counter ;
  57};
  58#line 224 "include/linux/types.h"
  59typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  60#line 229 "include/linux/types.h"
  61struct list_head {
  62   struct list_head *next ;
  63   struct list_head *prev ;
  64};
  65#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  66struct module;
  67#line 56
  68struct module;
  69#line 146 "include/linux/init.h"
  70typedef void (*ctor_fn_t)(void);
  71#line 47 "include/linux/dynamic_debug.h"
  72struct device;
  73#line 47
  74struct device;
  75#line 135 "include/linux/kernel.h"
  76struct completion;
  77#line 135
  78struct completion;
  79#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
  80struct page;
  81#line 18
  82struct page;
  83#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
  84struct task_struct;
  85#line 20
  86struct task_struct;
  87#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  88struct task_struct;
  89#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  90struct file;
  91#line 295
  92struct file;
  93#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
  94struct page;
  95#line 52
  96struct task_struct;
  97#line 329
  98struct arch_spinlock;
  99#line 329
 100struct arch_spinlock;
 101#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 102struct task_struct;
 103#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 104struct task_struct;
 105#line 10 "include/asm-generic/bug.h"
 106struct bug_entry {
 107   int bug_addr_disp ;
 108   int file_disp ;
 109   unsigned short line ;
 110   unsigned short flags ;
 111};
 112#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 113struct static_key;
 114#line 234
 115struct static_key;
 116#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 117struct kmem_cache;
 118#line 23 "include/asm-generic/atomic-long.h"
 119typedef atomic64_t atomic_long_t;
 120#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 121typedef u16 __ticket_t;
 122#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 123typedef u32 __ticketpair_t;
 124#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 125struct __raw_tickets {
 126   __ticket_t head ;
 127   __ticket_t tail ;
 128};
 129#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 130union __anonunion____missing_field_name_36 {
 131   __ticketpair_t head_tail ;
 132   struct __raw_tickets tickets ;
 133};
 134#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 135struct arch_spinlock {
 136   union __anonunion____missing_field_name_36 __annonCompField17 ;
 137};
 138#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 139typedef struct arch_spinlock arch_spinlock_t;
 140#line 12 "include/linux/lockdep.h"
 141struct task_struct;
 142#line 20 "include/linux/spinlock_types.h"
 143struct raw_spinlock {
 144   arch_spinlock_t raw_lock ;
 145   unsigned int magic ;
 146   unsigned int owner_cpu ;
 147   void *owner ;
 148};
 149#line 64 "include/linux/spinlock_types.h"
 150union __anonunion____missing_field_name_39 {
 151   struct raw_spinlock rlock ;
 152};
 153#line 64 "include/linux/spinlock_types.h"
 154struct spinlock {
 155   union __anonunion____missing_field_name_39 __annonCompField19 ;
 156};
 157#line 64 "include/linux/spinlock_types.h"
 158typedef struct spinlock spinlock_t;
 159#line 49 "include/linux/wait.h"
 160struct __wait_queue_head {
 161   spinlock_t lock ;
 162   struct list_head task_list ;
 163};
 164#line 53 "include/linux/wait.h"
 165typedef struct __wait_queue_head wait_queue_head_t;
 166#line 55
 167struct task_struct;
 168#line 60 "include/linux/pageblock-flags.h"
 169struct page;
 170#line 48 "include/linux/mutex.h"
 171struct mutex {
 172   atomic_t count ;
 173   spinlock_t wait_lock ;
 174   struct list_head wait_list ;
 175   struct task_struct *owner ;
 176   char const   *name ;
 177   void *magic ;
 178};
 179#line 25 "include/linux/completion.h"
 180struct completion {
 181   unsigned int done ;
 182   wait_queue_head_t wait ;
 183};
 184#line 9 "include/linux/memory_hotplug.h"
 185struct page;
 186#line 202 "include/linux/ioport.h"
 187struct device;
 188#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 189struct device;
 190#line 46 "include/linux/ktime.h"
 191union ktime {
 192   s64 tv64 ;
 193};
 194#line 59 "include/linux/ktime.h"
 195typedef union ktime ktime_t;
 196#line 10 "include/linux/timer.h"
 197struct tvec_base;
 198#line 10
 199struct tvec_base;
 200#line 12 "include/linux/timer.h"
 201struct timer_list {
 202   struct list_head entry ;
 203   unsigned long expires ;
 204   struct tvec_base *base ;
 205   void (*function)(unsigned long  ) ;
 206   unsigned long data ;
 207   int slack ;
 208   int start_pid ;
 209   void *start_site ;
 210   char start_comm[16] ;
 211};
 212#line 17 "include/linux/workqueue.h"
 213struct work_struct;
 214#line 17
 215struct work_struct;
 216#line 79 "include/linux/workqueue.h"
 217struct work_struct {
 218   atomic_long_t data ;
 219   struct list_head entry ;
 220   void (*func)(struct work_struct *work ) ;
 221};
 222#line 42 "include/linux/pm.h"
 223struct device;
 224#line 50 "include/linux/pm.h"
 225struct pm_message {
 226   int event ;
 227};
 228#line 50 "include/linux/pm.h"
 229typedef struct pm_message pm_message_t;
 230#line 264 "include/linux/pm.h"
 231struct dev_pm_ops {
 232   int (*prepare)(struct device *dev ) ;
 233   void (*complete)(struct device *dev ) ;
 234   int (*suspend)(struct device *dev ) ;
 235   int (*resume)(struct device *dev ) ;
 236   int (*freeze)(struct device *dev ) ;
 237   int (*thaw)(struct device *dev ) ;
 238   int (*poweroff)(struct device *dev ) ;
 239   int (*restore)(struct device *dev ) ;
 240   int (*suspend_late)(struct device *dev ) ;
 241   int (*resume_early)(struct device *dev ) ;
 242   int (*freeze_late)(struct device *dev ) ;
 243   int (*thaw_early)(struct device *dev ) ;
 244   int (*poweroff_late)(struct device *dev ) ;
 245   int (*restore_early)(struct device *dev ) ;
 246   int (*suspend_noirq)(struct device *dev ) ;
 247   int (*resume_noirq)(struct device *dev ) ;
 248   int (*freeze_noirq)(struct device *dev ) ;
 249   int (*thaw_noirq)(struct device *dev ) ;
 250   int (*poweroff_noirq)(struct device *dev ) ;
 251   int (*restore_noirq)(struct device *dev ) ;
 252   int (*runtime_suspend)(struct device *dev ) ;
 253   int (*runtime_resume)(struct device *dev ) ;
 254   int (*runtime_idle)(struct device *dev ) ;
 255};
 256#line 458
 257enum rpm_status {
 258    RPM_ACTIVE = 0,
 259    RPM_RESUMING = 1,
 260    RPM_SUSPENDED = 2,
 261    RPM_SUSPENDING = 3
 262} ;
 263#line 480
 264enum rpm_request {
 265    RPM_REQ_NONE = 0,
 266    RPM_REQ_IDLE = 1,
 267    RPM_REQ_SUSPEND = 2,
 268    RPM_REQ_AUTOSUSPEND = 3,
 269    RPM_REQ_RESUME = 4
 270} ;
 271#line 488
 272struct wakeup_source;
 273#line 488
 274struct wakeup_source;
 275#line 495 "include/linux/pm.h"
 276struct pm_subsys_data {
 277   spinlock_t lock ;
 278   unsigned int refcount ;
 279};
 280#line 506
 281struct dev_pm_qos_request;
 282#line 506
 283struct pm_qos_constraints;
 284#line 506 "include/linux/pm.h"
 285struct dev_pm_info {
 286   pm_message_t power_state ;
 287   unsigned int can_wakeup : 1 ;
 288   unsigned int async_suspend : 1 ;
 289   bool is_prepared : 1 ;
 290   bool is_suspended : 1 ;
 291   bool ignore_children : 1 ;
 292   spinlock_t lock ;
 293   struct list_head entry ;
 294   struct completion completion ;
 295   struct wakeup_source *wakeup ;
 296   bool wakeup_path : 1 ;
 297   struct timer_list suspend_timer ;
 298   unsigned long timer_expires ;
 299   struct work_struct work ;
 300   wait_queue_head_t wait_queue ;
 301   atomic_t usage_count ;
 302   atomic_t child_count ;
 303   unsigned int disable_depth : 3 ;
 304   unsigned int idle_notification : 1 ;
 305   unsigned int request_pending : 1 ;
 306   unsigned int deferred_resume : 1 ;
 307   unsigned int run_wake : 1 ;
 308   unsigned int runtime_auto : 1 ;
 309   unsigned int no_callbacks : 1 ;
 310   unsigned int irq_safe : 1 ;
 311   unsigned int use_autosuspend : 1 ;
 312   unsigned int timer_autosuspends : 1 ;
 313   enum rpm_request request ;
 314   enum rpm_status runtime_status ;
 315   int runtime_error ;
 316   int autosuspend_delay ;
 317   unsigned long last_busy ;
 318   unsigned long active_jiffies ;
 319   unsigned long suspended_jiffies ;
 320   unsigned long accounting_timestamp ;
 321   ktime_t suspend_time ;
 322   s64 max_time_suspended_ns ;
 323   struct dev_pm_qos_request *pq_req ;
 324   struct pm_subsys_data *subsys_data ;
 325   struct pm_qos_constraints *constraints ;
 326};
 327#line 564 "include/linux/pm.h"
 328struct dev_pm_domain {
 329   struct dev_pm_ops ops ;
 330};
 331#line 8 "include/linux/vmalloc.h"
 332struct vm_area_struct;
 333#line 8
 334struct vm_area_struct;
 335#line 994 "include/linux/mmzone.h"
 336struct page;
 337#line 10 "include/linux/gfp.h"
 338struct vm_area_struct;
 339#line 29 "include/linux/sysctl.h"
 340struct completion;
 341#line 49 "include/linux/kmod.h"
 342struct file;
 343#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 344struct task_struct;
 345#line 18 "include/linux/elf.h"
 346typedef __u64 Elf64_Addr;
 347#line 19 "include/linux/elf.h"
 348typedef __u16 Elf64_Half;
 349#line 23 "include/linux/elf.h"
 350typedef __u32 Elf64_Word;
 351#line 24 "include/linux/elf.h"
 352typedef __u64 Elf64_Xword;
 353#line 194 "include/linux/elf.h"
 354struct elf64_sym {
 355   Elf64_Word st_name ;
 356   unsigned char st_info ;
 357   unsigned char st_other ;
 358   Elf64_Half st_shndx ;
 359   Elf64_Addr st_value ;
 360   Elf64_Xword st_size ;
 361};
 362#line 194 "include/linux/elf.h"
 363typedef struct elf64_sym Elf64_Sym;
 364#line 438
 365struct file;
 366#line 20 "include/linux/kobject_ns.h"
 367struct sock;
 368#line 20
 369struct sock;
 370#line 21
 371struct kobject;
 372#line 21
 373struct kobject;
 374#line 27
 375enum kobj_ns_type {
 376    KOBJ_NS_TYPE_NONE = 0,
 377    KOBJ_NS_TYPE_NET = 1,
 378    KOBJ_NS_TYPES = 2
 379} ;
 380#line 40 "include/linux/kobject_ns.h"
 381struct kobj_ns_type_operations {
 382   enum kobj_ns_type type ;
 383   void *(*grab_current_ns)(void) ;
 384   void const   *(*netlink_ns)(struct sock *sk ) ;
 385   void const   *(*initial_ns)(void) ;
 386   void (*drop_ns)(void * ) ;
 387};
 388#line 22 "include/linux/sysfs.h"
 389struct kobject;
 390#line 23
 391struct module;
 392#line 24
 393enum kobj_ns_type;
 394#line 26 "include/linux/sysfs.h"
 395struct attribute {
 396   char const   *name ;
 397   umode_t mode ;
 398};
 399#line 56 "include/linux/sysfs.h"
 400struct attribute_group {
 401   char const   *name ;
 402   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 403   struct attribute **attrs ;
 404};
 405#line 85
 406struct file;
 407#line 86
 408struct vm_area_struct;
 409#line 88 "include/linux/sysfs.h"
 410struct bin_attribute {
 411   struct attribute attr ;
 412   size_t size ;
 413   void *private ;
 414   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 415                   loff_t  , size_t  ) ;
 416   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 417                    loff_t  , size_t  ) ;
 418   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 419};
 420#line 112 "include/linux/sysfs.h"
 421struct sysfs_ops {
 422   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 423   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 424   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 425};
 426#line 118
 427struct sysfs_dirent;
 428#line 118
 429struct sysfs_dirent;
 430#line 22 "include/linux/kref.h"
 431struct kref {
 432   atomic_t refcount ;
 433};
 434#line 60 "include/linux/kobject.h"
 435struct kset;
 436#line 60
 437struct kobj_type;
 438#line 60 "include/linux/kobject.h"
 439struct kobject {
 440   char const   *name ;
 441   struct list_head entry ;
 442   struct kobject *parent ;
 443   struct kset *kset ;
 444   struct kobj_type *ktype ;
 445   struct sysfs_dirent *sd ;
 446   struct kref kref ;
 447   unsigned int state_initialized : 1 ;
 448   unsigned int state_in_sysfs : 1 ;
 449   unsigned int state_add_uevent_sent : 1 ;
 450   unsigned int state_remove_uevent_sent : 1 ;
 451   unsigned int uevent_suppress : 1 ;
 452};
 453#line 108 "include/linux/kobject.h"
 454struct kobj_type {
 455   void (*release)(struct kobject *kobj ) ;
 456   struct sysfs_ops  const  *sysfs_ops ;
 457   struct attribute **default_attrs ;
 458   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 459   void const   *(*namespace)(struct kobject *kobj ) ;
 460};
 461#line 116 "include/linux/kobject.h"
 462struct kobj_uevent_env {
 463   char *envp[32] ;
 464   int envp_idx ;
 465   char buf[2048] ;
 466   int buflen ;
 467};
 468#line 123 "include/linux/kobject.h"
 469struct kset_uevent_ops {
 470   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 471   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 472   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 473};
 474#line 140
 475struct sock;
 476#line 159 "include/linux/kobject.h"
 477struct kset {
 478   struct list_head list ;
 479   spinlock_t list_lock ;
 480   struct kobject kobj ;
 481   struct kset_uevent_ops  const  *uevent_ops ;
 482};
 483#line 39 "include/linux/moduleparam.h"
 484struct kernel_param;
 485#line 39
 486struct kernel_param;
 487#line 41 "include/linux/moduleparam.h"
 488struct kernel_param_ops {
 489   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 490   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 491   void (*free)(void *arg ) ;
 492};
 493#line 50
 494struct kparam_string;
 495#line 50
 496struct kparam_array;
 497#line 50 "include/linux/moduleparam.h"
 498union __anonunion____missing_field_name_199 {
 499   void *arg ;
 500   struct kparam_string  const  *str ;
 501   struct kparam_array  const  *arr ;
 502};
 503#line 50 "include/linux/moduleparam.h"
 504struct kernel_param {
 505   char const   *name ;
 506   struct kernel_param_ops  const  *ops ;
 507   u16 perm ;
 508   s16 level ;
 509   union __anonunion____missing_field_name_199 __annonCompField32 ;
 510};
 511#line 63 "include/linux/moduleparam.h"
 512struct kparam_string {
 513   unsigned int maxlen ;
 514   char *string ;
 515};
 516#line 69 "include/linux/moduleparam.h"
 517struct kparam_array {
 518   unsigned int max ;
 519   unsigned int elemsize ;
 520   unsigned int *num ;
 521   struct kernel_param_ops  const  *ops ;
 522   void *elem ;
 523};
 524#line 445
 525struct module;
 526#line 80 "include/linux/jump_label.h"
 527struct module;
 528#line 143 "include/linux/jump_label.h"
 529struct static_key {
 530   atomic_t enabled ;
 531};
 532#line 22 "include/linux/tracepoint.h"
 533struct module;
 534#line 23
 535struct tracepoint;
 536#line 23
 537struct tracepoint;
 538#line 25 "include/linux/tracepoint.h"
 539struct tracepoint_func {
 540   void *func ;
 541   void *data ;
 542};
 543#line 30 "include/linux/tracepoint.h"
 544struct tracepoint {
 545   char const   *name ;
 546   struct static_key key ;
 547   void (*regfunc)(void) ;
 548   void (*unregfunc)(void) ;
 549   struct tracepoint_func *funcs ;
 550};
 551#line 19 "include/linux/export.h"
 552struct kernel_symbol {
 553   unsigned long value ;
 554   char const   *name ;
 555};
 556#line 8 "include/asm-generic/module.h"
 557struct mod_arch_specific {
 558
 559};
 560#line 35 "include/linux/module.h"
 561struct module;
 562#line 37
 563struct module_param_attrs;
 564#line 37 "include/linux/module.h"
 565struct module_kobject {
 566   struct kobject kobj ;
 567   struct module *mod ;
 568   struct kobject *drivers_dir ;
 569   struct module_param_attrs *mp ;
 570};
 571#line 44 "include/linux/module.h"
 572struct module_attribute {
 573   struct attribute attr ;
 574   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 575   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 576                    size_t count ) ;
 577   void (*setup)(struct module * , char const   * ) ;
 578   int (*test)(struct module * ) ;
 579   void (*free)(struct module * ) ;
 580};
 581#line 71
 582struct exception_table_entry;
 583#line 71
 584struct exception_table_entry;
 585#line 199
 586enum module_state {
 587    MODULE_STATE_LIVE = 0,
 588    MODULE_STATE_COMING = 1,
 589    MODULE_STATE_GOING = 2
 590} ;
 591#line 215 "include/linux/module.h"
 592struct module_ref {
 593   unsigned long incs ;
 594   unsigned long decs ;
 595} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 596#line 220
 597struct module_sect_attrs;
 598#line 220
 599struct module_notes_attrs;
 600#line 220
 601struct ftrace_event_call;
 602#line 220 "include/linux/module.h"
 603struct module {
 604   enum module_state state ;
 605   struct list_head list ;
 606   char name[64UL - sizeof(unsigned long )] ;
 607   struct module_kobject mkobj ;
 608   struct module_attribute *modinfo_attrs ;
 609   char const   *version ;
 610   char const   *srcversion ;
 611   struct kobject *holders_dir ;
 612   struct kernel_symbol  const  *syms ;
 613   unsigned long const   *crcs ;
 614   unsigned int num_syms ;
 615   struct kernel_param *kp ;
 616   unsigned int num_kp ;
 617   unsigned int num_gpl_syms ;
 618   struct kernel_symbol  const  *gpl_syms ;
 619   unsigned long const   *gpl_crcs ;
 620   struct kernel_symbol  const  *unused_syms ;
 621   unsigned long const   *unused_crcs ;
 622   unsigned int num_unused_syms ;
 623   unsigned int num_unused_gpl_syms ;
 624   struct kernel_symbol  const  *unused_gpl_syms ;
 625   unsigned long const   *unused_gpl_crcs ;
 626   struct kernel_symbol  const  *gpl_future_syms ;
 627   unsigned long const   *gpl_future_crcs ;
 628   unsigned int num_gpl_future_syms ;
 629   unsigned int num_exentries ;
 630   struct exception_table_entry *extable ;
 631   int (*init)(void) ;
 632   void *module_init ;
 633   void *module_core ;
 634   unsigned int init_size ;
 635   unsigned int core_size ;
 636   unsigned int init_text_size ;
 637   unsigned int core_text_size ;
 638   unsigned int init_ro_size ;
 639   unsigned int core_ro_size ;
 640   struct mod_arch_specific arch ;
 641   unsigned int taints ;
 642   unsigned int num_bugs ;
 643   struct list_head bug_list ;
 644   struct bug_entry *bug_table ;
 645   Elf64_Sym *symtab ;
 646   Elf64_Sym *core_symtab ;
 647   unsigned int num_symtab ;
 648   unsigned int core_num_syms ;
 649   char *strtab ;
 650   char *core_strtab ;
 651   struct module_sect_attrs *sect_attrs ;
 652   struct module_notes_attrs *notes_attrs ;
 653   char *args ;
 654   void *percpu ;
 655   unsigned int percpu_size ;
 656   unsigned int num_tracepoints ;
 657   struct tracepoint * const  *tracepoints_ptrs ;
 658   unsigned int num_trace_bprintk_fmt ;
 659   char const   **trace_bprintk_fmt_start ;
 660   struct ftrace_event_call **trace_events ;
 661   unsigned int num_trace_events ;
 662   struct list_head source_list ;
 663   struct list_head target_list ;
 664   struct task_struct *waiter ;
 665   void (*exit)(void) ;
 666   struct module_ref *refptr ;
 667   ctor_fn_t *ctors ;
 668   unsigned int num_ctors ;
 669};
 670#line 19 "include/linux/klist.h"
 671struct klist_node;
 672#line 19
 673struct klist_node;
 674#line 39 "include/linux/klist.h"
 675struct klist_node {
 676   void *n_klist ;
 677   struct list_head n_node ;
 678   struct kref n_ref ;
 679};
 680#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 681struct dma_map_ops;
 682#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 683struct dev_archdata {
 684   void *acpi_handle ;
 685   struct dma_map_ops *dma_ops ;
 686   void *iommu ;
 687};
 688#line 28 "include/linux/device.h"
 689struct device;
 690#line 29
 691struct device_private;
 692#line 29
 693struct device_private;
 694#line 30
 695struct device_driver;
 696#line 30
 697struct device_driver;
 698#line 31
 699struct driver_private;
 700#line 31
 701struct driver_private;
 702#line 32
 703struct module;
 704#line 33
 705struct class;
 706#line 33
 707struct class;
 708#line 34
 709struct subsys_private;
 710#line 34
 711struct subsys_private;
 712#line 35
 713struct bus_type;
 714#line 35
 715struct bus_type;
 716#line 36
 717struct device_node;
 718#line 36
 719struct device_node;
 720#line 37
 721struct iommu_ops;
 722#line 37
 723struct iommu_ops;
 724#line 39 "include/linux/device.h"
 725struct bus_attribute {
 726   struct attribute attr ;
 727   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
 728   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
 729};
 730#line 89
 731struct device_attribute;
 732#line 89
 733struct driver_attribute;
 734#line 89 "include/linux/device.h"
 735struct bus_type {
 736   char const   *name ;
 737   char const   *dev_name ;
 738   struct device *dev_root ;
 739   struct bus_attribute *bus_attrs ;
 740   struct device_attribute *dev_attrs ;
 741   struct driver_attribute *drv_attrs ;
 742   int (*match)(struct device *dev , struct device_driver *drv ) ;
 743   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 744   int (*probe)(struct device *dev ) ;
 745   int (*remove)(struct device *dev ) ;
 746   void (*shutdown)(struct device *dev ) ;
 747   int (*suspend)(struct device *dev , pm_message_t state ) ;
 748   int (*resume)(struct device *dev ) ;
 749   struct dev_pm_ops  const  *pm ;
 750   struct iommu_ops *iommu_ops ;
 751   struct subsys_private *p ;
 752};
 753#line 127
 754struct device_type;
 755#line 214
 756struct of_device_id;
 757#line 214 "include/linux/device.h"
 758struct device_driver {
 759   char const   *name ;
 760   struct bus_type *bus ;
 761   struct module *owner ;
 762   char const   *mod_name ;
 763   bool suppress_bind_attrs ;
 764   struct of_device_id  const  *of_match_table ;
 765   int (*probe)(struct device *dev ) ;
 766   int (*remove)(struct device *dev ) ;
 767   void (*shutdown)(struct device *dev ) ;
 768   int (*suspend)(struct device *dev , pm_message_t state ) ;
 769   int (*resume)(struct device *dev ) ;
 770   struct attribute_group  const  **groups ;
 771   struct dev_pm_ops  const  *pm ;
 772   struct driver_private *p ;
 773};
 774#line 249 "include/linux/device.h"
 775struct driver_attribute {
 776   struct attribute attr ;
 777   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
 778   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
 779};
 780#line 330
 781struct class_attribute;
 782#line 330 "include/linux/device.h"
 783struct class {
 784   char const   *name ;
 785   struct module *owner ;
 786   struct class_attribute *class_attrs ;
 787   struct device_attribute *dev_attrs ;
 788   struct bin_attribute *dev_bin_attrs ;
 789   struct kobject *dev_kobj ;
 790   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 791   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 792   void (*class_release)(struct class *class ) ;
 793   void (*dev_release)(struct device *dev ) ;
 794   int (*suspend)(struct device *dev , pm_message_t state ) ;
 795   int (*resume)(struct device *dev ) ;
 796   struct kobj_ns_type_operations  const  *ns_type ;
 797   void const   *(*namespace)(struct device *dev ) ;
 798   struct dev_pm_ops  const  *pm ;
 799   struct subsys_private *p ;
 800};
 801#line 397 "include/linux/device.h"
 802struct class_attribute {
 803   struct attribute attr ;
 804   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
 805   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
 806                    size_t count ) ;
 807   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
 808};
 809#line 465 "include/linux/device.h"
 810struct device_type {
 811   char const   *name ;
 812   struct attribute_group  const  **groups ;
 813   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 814   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 815   void (*release)(struct device *dev ) ;
 816   struct dev_pm_ops  const  *pm ;
 817};
 818#line 476 "include/linux/device.h"
 819struct device_attribute {
 820   struct attribute attr ;
 821   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
 822   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
 823                    size_t count ) ;
 824};
 825#line 559 "include/linux/device.h"
 826struct device_dma_parameters {
 827   unsigned int max_segment_size ;
 828   unsigned long segment_boundary_mask ;
 829};
 830#line 627
 831struct dma_coherent_mem;
 832#line 627 "include/linux/device.h"
 833struct device {
 834   struct device *parent ;
 835   struct device_private *p ;
 836   struct kobject kobj ;
 837   char const   *init_name ;
 838   struct device_type  const  *type ;
 839   struct mutex mutex ;
 840   struct bus_type *bus ;
 841   struct device_driver *driver ;
 842   void *platform_data ;
 843   struct dev_pm_info power ;
 844   struct dev_pm_domain *pm_domain ;
 845   int numa_node ;
 846   u64 *dma_mask ;
 847   u64 coherent_dma_mask ;
 848   struct device_dma_parameters *dma_parms ;
 849   struct list_head dma_pools ;
 850   struct dma_coherent_mem *dma_mem ;
 851   struct dev_archdata archdata ;
 852   struct device_node *of_node ;
 853   dev_t devt ;
 854   u32 id ;
 855   spinlock_t devres_lock ;
 856   struct list_head devres_head ;
 857   struct klist_node knode_class ;
 858   struct class *class ;
 859   struct attribute_group  const  **groups ;
 860   void (*release)(struct device *dev ) ;
 861};
 862#line 43 "include/linux/pm_wakeup.h"
 863struct wakeup_source {
 864   char const   *name ;
 865   struct list_head entry ;
 866   spinlock_t lock ;
 867   struct timer_list timer ;
 868   unsigned long timer_expires ;
 869   ktime_t total_time ;
 870   ktime_t max_time ;
 871   ktime_t last_time ;
 872   unsigned long event_count ;
 873   unsigned long active_count ;
 874   unsigned long relax_count ;
 875   unsigned long hit_count ;
 876   unsigned int active : 1 ;
 877};
 878#line 46 "include/linux/slub_def.h"
 879struct kmem_cache_cpu {
 880   void **freelist ;
 881   unsigned long tid ;
 882   struct page *page ;
 883   struct page *partial ;
 884   int node ;
 885   unsigned int stat[26] ;
 886};
 887#line 57 "include/linux/slub_def.h"
 888struct kmem_cache_node {
 889   spinlock_t list_lock ;
 890   unsigned long nr_partial ;
 891   struct list_head partial ;
 892   atomic_long_t nr_slabs ;
 893   atomic_long_t total_objects ;
 894   struct list_head full ;
 895};
 896#line 73 "include/linux/slub_def.h"
 897struct kmem_cache_order_objects {
 898   unsigned long x ;
 899};
 900#line 80 "include/linux/slub_def.h"
 901struct kmem_cache {
 902   struct kmem_cache_cpu *cpu_slab ;
 903   unsigned long flags ;
 904   unsigned long min_partial ;
 905   int size ;
 906   int objsize ;
 907   int offset ;
 908   int cpu_partial ;
 909   struct kmem_cache_order_objects oo ;
 910   struct kmem_cache_order_objects max ;
 911   struct kmem_cache_order_objects min ;
 912   gfp_t allocflags ;
 913   int refcount ;
 914   void (*ctor)(void * ) ;
 915   int inuse ;
 916   int align ;
 917   int reserved ;
 918   char const   *name ;
 919   struct list_head list ;
 920   struct kobject kobj ;
 921   int remote_node_defrag_ratio ;
 922   struct kmem_cache_node *node[1 << 10] ;
 923};
 924#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
 925struct w1_reg_num {
 926   __u64 family : 8 ;
 927   __u64 id : 48 ;
 928   __u64 crc : 8 ;
 929};
 930#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1_family.h"
 931struct w1_slave;
 932#line 46
 933struct w1_slave;
 934#line 48 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1_family.h"
 935struct w1_family_ops {
 936   int (*add_slave)(struct w1_slave * ) ;
 937   void (*remove_slave)(struct w1_slave * ) ;
 938};
 939#line 54 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1_family.h"
 940struct w1_family {
 941   struct list_head family_entry ;
 942   u8 fid ;
 943   struct w1_family_ops *fops ;
 944   atomic_t refcnt ;
 945};
 946#line 62 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
 947struct w1_master;
 948#line 62 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
 949struct w1_slave {
 950   struct module *owner ;
 951   unsigned char name[32] ;
 952   struct list_head w1_slave_entry ;
 953   struct w1_reg_num reg_num ;
 954   atomic_t refcnt ;
 955   u8 rom[9] ;
 956   u32 flags ;
 957   int ttl ;
 958   struct w1_master *master ;
 959   struct w1_family *family ;
 960   void *family_data ;
 961   struct device dev ;
 962   struct completion released ;
 963};
 964#line 90 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
 965struct w1_bus_master {
 966   void *data ;
 967   u8 (*read_bit)(void * ) ;
 968   void (*write_bit)(void * , u8  ) ;
 969   u8 (*touch_bit)(void * , u8  ) ;
 970   u8 (*read_byte)(void * ) ;
 971   void (*write_byte)(void * , u8  ) ;
 972   u8 (*read_block)(void * , u8 * , int  ) ;
 973   void (*write_block)(void * , u8 const   * , int  ) ;
 974   u8 (*triplet)(void * , u8  ) ;
 975   u8 (*reset_bus)(void * ) ;
 976   u8 (*set_pullup)(void * , int  ) ;
 977   void (*search)(void * , struct w1_master * , u8  , void (*)(struct w1_master * ,
 978                                                               u64  ) ) ;
 979};
 980#line 158 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
 981struct w1_master {
 982   struct list_head w1_master_entry ;
 983   struct module *owner ;
 984   unsigned char name[32] ;
 985   struct list_head slist ;
 986   int max_slave_count ;
 987   int slave_count ;
 988   unsigned long attempts ;
 989   int slave_ttl ;
 990   int initialized ;
 991   u32 id ;
 992   int search_count ;
 993   atomic_t refcnt ;
 994   void *priv ;
 995   int priv_size ;
 996   int enable_pullup ;
 997   int pullup_duration ;
 998   struct task_struct *thread ;
 999   struct mutex mutex ;
1000   struct device_driver *driver ;
1001   struct device dev ;
1002   struct w1_bus_master *bus_master ;
1003   u32 seq ;
1004};
1005#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1006struct w1_f23_data {
1007   u8 memory[512] ;
1008   u32 validcrc ;
1009};
1010#line 1 "<compiler builtins>"
1011
1012#line 1
1013long __builtin_expect(long val , long res ) ;
1014#line 60 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
1015extern int memcmp(void const   *cs , void const   *ct , unsigned long count ) ;
1016#line 152 "include/linux/mutex.h"
1017void mutex_lock(struct mutex *lock ) ;
1018#line 153
1019int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
1020#line 154
1021int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
1022#line 168
1023int mutex_trylock(struct mutex *lock ) ;
1024#line 169
1025void mutex_unlock(struct mutex *lock ) ;
1026#line 170
1027int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1028#line 140 "include/linux/sysfs.h"
1029extern int __attribute__((__warn_unused_result__))  sysfs_create_bin_file(struct kobject *kobj ,
1030                                                                          struct bin_attribute  const  *attr ) ;
1031#line 142
1032extern void sysfs_remove_bin_file(struct kobject *kobj , struct bin_attribute  const  *attr ) ;
1033#line 67 "include/linux/module.h"
1034int init_module(void) ;
1035#line 68
1036void cleanup_module(void) ;
1037#line 891 "include/linux/device.h"
1038extern int ( /* format attribute */  dev_err)(struct device  const  *dev , char const   *fmt 
1039                                              , ...) ;
1040#line 46 "include/linux/delay.h"
1041extern void msleep(unsigned int msecs ) ;
1042#line 161 "include/linux/slab.h"
1043extern void kfree(void const   * ) ;
1044#line 221 "include/linux/slub_def.h"
1045extern void *__kmalloc(size_t size , gfp_t flags ) ;
1046#line 268
1047__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1048                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1049#line 268 "include/linux/slub_def.h"
1050__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1051                                                                    gfp_t flags ) 
1052{ void *tmp___2 ;
1053
1054  {
1055  {
1056#line 283
1057  tmp___2 = __kmalloc(size, flags);
1058  }
1059#line 283
1060  return (tmp___2);
1061}
1062}
1063#line 349 "include/linux/slab.h"
1064__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1065#line 349 "include/linux/slab.h"
1066__inline static void *kzalloc(size_t size , gfp_t flags ) 
1067{ void *tmp ;
1068  unsigned int __cil_tmp4 ;
1069
1070  {
1071  {
1072#line 351
1073  __cil_tmp4 = flags | 32768U;
1074#line 351
1075  tmp = kmalloc(size, __cil_tmp4);
1076  }
1077#line 351
1078  return (tmp);
1079}
1080}
1081#line 22 "include/linux/crc16.h"
1082extern u16 crc16(u16 crc , u8 const   *buffer , size_t len ) ;
1083#line 69 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1_family.h"
1084extern void w1_unregister_family(struct w1_family * ) ;
1085#line 70
1086extern int w1_register_family(struct w1_family * ) ;
1087#line 211 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
1088extern void w1_write_8(struct w1_master * , u8  ) ;
1089#line 213
1090extern int w1_reset_bus(struct w1_master * ) ;
1091#line 215
1092extern void w1_write_block(struct w1_master * , u8 const   * , int  ) ;
1093#line 217
1094extern u8 w1_read_block(struct w1_master * , u8 * , int  ) ;
1095#line 218
1096extern int w1_reset_select_slave(struct w1_slave *sl ) ;
1097#line 222
1098__inline static struct w1_slave *dev_to_w1_slave(struct device *dev )  __attribute__((__no_instrument_function__)) ;
1099#line 222 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
1100__inline static struct w1_slave *dev_to_w1_slave(struct device *dev ) 
1101{ struct device  const  *__mptr ;
1102  struct w1_slave *__cil_tmp3 ;
1103  unsigned long __cil_tmp4 ;
1104  unsigned long __cil_tmp5 ;
1105  struct device *__cil_tmp6 ;
1106  unsigned int __cil_tmp7 ;
1107  char *__cil_tmp8 ;
1108  char *__cil_tmp9 ;
1109
1110  {
1111#line 224
1112  __mptr = (struct device  const  *)dev;
1113  {
1114#line 224
1115  __cil_tmp3 = (struct w1_slave *)0;
1116#line 224
1117  __cil_tmp4 = (unsigned long )__cil_tmp3;
1118#line 224
1119  __cil_tmp5 = __cil_tmp4 + 112;
1120#line 224
1121  __cil_tmp6 = (struct device *)__cil_tmp5;
1122#line 224
1123  __cil_tmp7 = (unsigned int )__cil_tmp6;
1124#line 224
1125  __cil_tmp8 = (char *)__mptr;
1126#line 224
1127  __cil_tmp9 = __cil_tmp8 - __cil_tmp7;
1128#line 224
1129  return ((struct w1_slave *)__cil_tmp9);
1130  }
1131}
1132}
1133#line 227
1134__inline static struct w1_slave *kobj_to_w1_slave(struct kobject *kobj )  __attribute__((__no_instrument_function__)) ;
1135#line 227 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/w1/slaves/../w1.h"
1136__inline static struct w1_slave *kobj_to_w1_slave(struct kobject *kobj ) 
1137{ struct kobject  const  *__mptr ;
1138  struct w1_slave *tmp ;
1139  struct device *__cil_tmp4 ;
1140  unsigned long __cil_tmp5 ;
1141  unsigned long __cil_tmp6 ;
1142  struct kobject *__cil_tmp7 ;
1143  unsigned int __cil_tmp8 ;
1144  char *__cil_tmp9 ;
1145  char *__cil_tmp10 ;
1146  struct device *__cil_tmp11 ;
1147
1148  {
1149  {
1150#line 229
1151  __mptr = (struct kobject  const  *)kobj;
1152#line 229
1153  __cil_tmp4 = (struct device *)0;
1154#line 229
1155  __cil_tmp5 = (unsigned long )__cil_tmp4;
1156#line 229
1157  __cil_tmp6 = __cil_tmp5 + 16;
1158#line 229
1159  __cil_tmp7 = (struct kobject *)__cil_tmp6;
1160#line 229
1161  __cil_tmp8 = (unsigned int )__cil_tmp7;
1162#line 229
1163  __cil_tmp9 = (char *)__mptr;
1164#line 229
1165  __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
1166#line 229
1167  __cil_tmp11 = (struct device *)__cil_tmp10;
1168#line 229
1169  tmp = dev_to_w1_slave(__cil_tmp11);
1170  }
1171#line 229
1172  return (tmp);
1173}
1174}
1175#line 30 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1176static char const   __mod_license30[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1177__aligned__(1)))  = 
1178#line 30 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1179  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
1180        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
1181        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
1182#line 31 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1183static char const   __mod_author31[41]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1184__aligned__(1)))  = 
1185#line 31
1186  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
1187        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'B', 
1188        (char const   )'e',      (char const   )'n',      (char const   )' ',      (char const   )'G', 
1189        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'n', 
1190        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'<', 
1191        (char const   )'b',      (char const   )'g',      (char const   )'a',      (char const   )'r', 
1192        (char const   )'d',      (char const   )'n',      (char const   )'e',      (char const   )'r', 
1193        (char const   )'@',      (char const   )'w',      (char const   )'a',      (char const   )'b', 
1194        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'.', 
1195        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'>', 
1196        (char const   )'\000'};
1197#line 32 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1198static char const   __mod_description32[55]  __attribute__((__used__, __unused__,
1199__section__(".modinfo"), __aligned__(1)))  = 
1200#line 32
1201  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
1202        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
1203        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
1204        (char const   )'w',      (char const   )'1',      (char const   )' ',      (char const   )'f', 
1205        (char const   )'a',      (char const   )'m',      (char const   )'i',      (char const   )'l', 
1206        (char const   )'y',      (char const   )' ',      (char const   )'2',      (char const   )'3', 
1207        (char const   )' ',      (char const   )'d',      (char const   )'r',      (char const   )'i', 
1208        (char const   )'v',      (char const   )'e',      (char const   )'r',      (char const   )' ', 
1209        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )' ', 
1210        (char const   )'D',      (char const   )'S',      (char const   )'2',      (char const   )'4', 
1211        (char const   )'3',      (char const   )'3',      (char const   )',',      (char const   )' ', 
1212        (char const   )'4',      (char const   )'k',      (char const   )'b',      (char const   )' ', 
1213        (char const   )'E',      (char const   )'E',      (char const   )'P',      (char const   )'R', 
1214        (char const   )'O',      (char const   )'M',      (char const   )'\000'};
1215#line 56
1216__inline static size_t w1_f23_fix_count(loff_t off , size_t count , size_t size )  __attribute__((__no_instrument_function__)) ;
1217#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1218__inline static size_t w1_f23_fix_count(loff_t off , size_t count , size_t size ) 
1219{ loff_t __cil_tmp4 ;
1220  loff_t __cil_tmp5 ;
1221  loff_t __cil_tmp6 ;
1222  loff_t __cil_tmp7 ;
1223  loff_t __cil_tmp8 ;
1224  loff_t __cil_tmp9 ;
1225
1226  {
1227  {
1228#line 58
1229  __cil_tmp4 = (loff_t )size;
1230#line 58
1231  if (off > __cil_tmp4) {
1232#line 59
1233    return ((size_t )0);
1234  } else {
1235
1236  }
1237  }
1238  {
1239#line 61
1240  __cil_tmp5 = (loff_t )size;
1241#line 61
1242  __cil_tmp6 = (loff_t )count;
1243#line 61
1244  __cil_tmp7 = off + __cil_tmp6;
1245#line 61
1246  if (__cil_tmp7 > __cil_tmp5) {
1247    {
1248#line 62
1249    __cil_tmp8 = (loff_t )size;
1250#line 62
1251    __cil_tmp9 = __cil_tmp8 - off;
1252#line 62
1253    return ((size_t )__cil_tmp9);
1254    }
1255  } else {
1256
1257  }
1258  }
1259#line 64
1260  return (count);
1261}
1262}
1263#line 68 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1264static int w1_f23_refresh_block(struct w1_slave *sl , struct w1_f23_data *data , int block ) 
1265{ u8 wrbuf[3] ;
1266  int off ;
1267  int tmp ;
1268  u16 tmp___0 ;
1269  int __cil_tmp8 ;
1270  unsigned int __cil_tmp9 ;
1271  unsigned long __cil_tmp10 ;
1272  unsigned long __cil_tmp11 ;
1273  u32 __cil_tmp12 ;
1274  unsigned long __cil_tmp13 ;
1275  unsigned long __cil_tmp14 ;
1276  unsigned long __cil_tmp15 ;
1277  unsigned long __cil_tmp16 ;
1278  unsigned long __cil_tmp17 ;
1279  unsigned long __cil_tmp18 ;
1280  int __cil_tmp19 ;
1281  unsigned long __cil_tmp20 ;
1282  unsigned long __cil_tmp21 ;
1283  int __cil_tmp22 ;
1284  unsigned long __cil_tmp23 ;
1285  unsigned long __cil_tmp24 ;
1286  struct w1_master *__cil_tmp25 ;
1287  unsigned long __cil_tmp26 ;
1288  unsigned long __cil_tmp27 ;
1289  u8 *__cil_tmp28 ;
1290  u8 const   *__cil_tmp29 ;
1291  unsigned long __cil_tmp30 ;
1292  unsigned long __cil_tmp31 ;
1293  struct w1_master *__cil_tmp32 ;
1294  unsigned long __cil_tmp33 ;
1295  unsigned long __cil_tmp34 ;
1296  unsigned long __cil_tmp35 ;
1297  unsigned long __cil_tmp36 ;
1298  u8 *__cil_tmp37 ;
1299  u16 __cil_tmp38 ;
1300  unsigned long __cil_tmp39 ;
1301  unsigned long __cil_tmp40 ;
1302  unsigned long __cil_tmp41 ;
1303  unsigned long __cil_tmp42 ;
1304  u8 *__cil_tmp43 ;
1305  u8 const   *__cil_tmp44 ;
1306  size_t __cil_tmp45 ;
1307  int __cil_tmp46 ;
1308  unsigned long __cil_tmp47 ;
1309  unsigned long __cil_tmp48 ;
1310  int __cil_tmp49 ;
1311  unsigned int __cil_tmp50 ;
1312  unsigned long __cil_tmp51 ;
1313  unsigned long __cil_tmp52 ;
1314  u32 __cil_tmp53 ;
1315
1316  {
1317#line 72
1318  off = block * 32;
1319  {
1320#line 74
1321  __cil_tmp8 = 1 << block;
1322#line 74
1323  __cil_tmp9 = (unsigned int )__cil_tmp8;
1324#line 74
1325  __cil_tmp10 = (unsigned long )data;
1326#line 74
1327  __cil_tmp11 = __cil_tmp10 + 512;
1328#line 74
1329  __cil_tmp12 = *((u32 *)__cil_tmp11);
1330#line 74
1331  if (__cil_tmp12 & __cil_tmp9) {
1332#line 75
1333    return (0);
1334  } else {
1335
1336  }
1337  }
1338  {
1339#line 77
1340  tmp = w1_reset_select_slave(sl);
1341  }
1342#line 77
1343  if (tmp) {
1344#line 78
1345    __cil_tmp13 = (unsigned long )data;
1346#line 78
1347    __cil_tmp14 = __cil_tmp13 + 512;
1348#line 78
1349    *((u32 *)__cil_tmp14) = (u32 )0;
1350#line 79
1351    return (-5);
1352  } else {
1353
1354  }
1355  {
1356#line 82
1357  __cil_tmp15 = 0 * 1UL;
1358#line 82
1359  __cil_tmp16 = (unsigned long )(wrbuf) + __cil_tmp15;
1360#line 82
1361  *((u8 *)__cil_tmp16) = (u8 )240;
1362#line 83
1363  __cil_tmp17 = 1 * 1UL;
1364#line 83
1365  __cil_tmp18 = (unsigned long )(wrbuf) + __cil_tmp17;
1366#line 83
1367  __cil_tmp19 = off & 255;
1368#line 83
1369  *((u8 *)__cil_tmp18) = (u8 )__cil_tmp19;
1370#line 84
1371  __cil_tmp20 = 2 * 1UL;
1372#line 84
1373  __cil_tmp21 = (unsigned long )(wrbuf) + __cil_tmp20;
1374#line 84
1375  __cil_tmp22 = off >> 8;
1376#line 84
1377  *((u8 *)__cil_tmp21) = (u8 )__cil_tmp22;
1378#line 85
1379  __cil_tmp23 = (unsigned long )sl;
1380#line 85
1381  __cil_tmp24 = __cil_tmp23 + 88;
1382#line 85
1383  __cil_tmp25 = *((struct w1_master **)__cil_tmp24);
1384#line 85
1385  __cil_tmp26 = 0 * 1UL;
1386#line 85
1387  __cil_tmp27 = (unsigned long )(wrbuf) + __cil_tmp26;
1388#line 85
1389  __cil_tmp28 = (u8 *)__cil_tmp27;
1390#line 85
1391  __cil_tmp29 = (u8 const   *)__cil_tmp28;
1392#line 85
1393  w1_write_block(__cil_tmp25, __cil_tmp29, 3);
1394#line 86
1395  __cil_tmp30 = (unsigned long )sl;
1396#line 86
1397  __cil_tmp31 = __cil_tmp30 + 88;
1398#line 86
1399  __cil_tmp32 = *((struct w1_master **)__cil_tmp31);
1400#line 86
1401  __cil_tmp33 = off * 1UL;
1402#line 86
1403  __cil_tmp34 = 0 + __cil_tmp33;
1404#line 86
1405  __cil_tmp35 = (unsigned long )data;
1406#line 86
1407  __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
1408#line 86
1409  __cil_tmp37 = (u8 *)__cil_tmp36;
1410#line 86
1411  w1_read_block(__cil_tmp32, __cil_tmp37, 32);
1412#line 89
1413  __cil_tmp38 = (u16 )0;
1414#line 89
1415  __cil_tmp39 = off * 1UL;
1416#line 89
1417  __cil_tmp40 = 0 + __cil_tmp39;
1418#line 89
1419  __cil_tmp41 = (unsigned long )data;
1420#line 89
1421  __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
1422#line 89
1423  __cil_tmp43 = (u8 *)__cil_tmp42;
1424#line 89
1425  __cil_tmp44 = (u8 const   *)__cil_tmp43;
1426#line 89
1427  __cil_tmp45 = (size_t )32;
1428#line 89
1429  tmp___0 = crc16(__cil_tmp38, __cil_tmp44, __cil_tmp45);
1430  }
1431  {
1432#line 89
1433  __cil_tmp46 = (int )tmp___0;
1434#line 89
1435  if (__cil_tmp46 == 45057) {
1436#line 90
1437    __cil_tmp47 = (unsigned long )data;
1438#line 90
1439    __cil_tmp48 = __cil_tmp47 + 512;
1440#line 90
1441    __cil_tmp49 = 1 << block;
1442#line 90
1443    __cil_tmp50 = (unsigned int )__cil_tmp49;
1444#line 90
1445    __cil_tmp51 = (unsigned long )data;
1446#line 90
1447    __cil_tmp52 = __cil_tmp51 + 512;
1448#line 90
1449    __cil_tmp53 = *((u32 *)__cil_tmp52);
1450#line 90
1451    *((u32 *)__cil_tmp48) = __cil_tmp53 | __cil_tmp50;
1452  } else {
1453
1454  }
1455  }
1456#line 92
1457  return (0);
1458}
1459}
1460#line 96 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1461static ssize_t w1_f23_read_bin(struct file *filp , struct kobject *kobj , struct bin_attribute *bin_attr ,
1462                               char *buf , loff_t off , size_t count ) 
1463{ struct w1_slave *sl ;
1464  struct w1_slave *tmp ;
1465  struct w1_f23_data *data ;
1466  int i ;
1467  int min_page ;
1468  int max_page ;
1469  int tmp___0 ;
1470  size_t __len ;
1471  void *__ret ;
1472  unsigned long __cil_tmp16 ;
1473  unsigned long __cil_tmp17 ;
1474  void *__cil_tmp18 ;
1475  size_t __cil_tmp19 ;
1476  unsigned long __cil_tmp20 ;
1477  unsigned long __cil_tmp21 ;
1478  struct w1_master *__cil_tmp22 ;
1479  unsigned long __cil_tmp23 ;
1480  unsigned long __cil_tmp24 ;
1481  struct mutex *__cil_tmp25 ;
1482  loff_t __cil_tmp26 ;
1483  loff_t __cil_tmp27 ;
1484  loff_t __cil_tmp28 ;
1485  loff_t __cil_tmp29 ;
1486  loff_t __cil_tmp30 ;
1487  void *__cil_tmp31 ;
1488  unsigned long __cil_tmp32 ;
1489  unsigned long __cil_tmp33 ;
1490  unsigned long __cil_tmp34 ;
1491  unsigned long __cil_tmp35 ;
1492  u8 *__cil_tmp36 ;
1493  void const   *__cil_tmp37 ;
1494  unsigned long __cil_tmp38 ;
1495  unsigned long __cil_tmp39 ;
1496  struct w1_master *__cil_tmp40 ;
1497  unsigned long __cil_tmp41 ;
1498  unsigned long __cil_tmp42 ;
1499  struct mutex *__cil_tmp43 ;
1500
1501  {
1502  {
1503#line 100
1504  tmp = kobj_to_w1_slave(kobj);
1505#line 100
1506  sl = tmp;
1507#line 102
1508  __cil_tmp16 = (unsigned long )sl;
1509#line 102
1510  __cil_tmp17 = __cil_tmp16 + 104;
1511#line 102
1512  __cil_tmp18 = *((void **)__cil_tmp17);
1513#line 102
1514  data = (struct w1_f23_data *)__cil_tmp18;
1515#line 108
1516  __cil_tmp19 = (size_t )512;
1517#line 108
1518  count = w1_f23_fix_count(off, count, __cil_tmp19);
1519  }
1520#line 108
1521  if (count == 0UL) {
1522#line 109
1523    return ((ssize_t )0);
1524  } else {
1525
1526  }
1527  {
1528#line 111
1529  __cil_tmp20 = (unsigned long )sl;
1530#line 111
1531  __cil_tmp21 = __cil_tmp20 + 88;
1532#line 111
1533  __cil_tmp22 = *((struct w1_master **)__cil_tmp21);
1534#line 111
1535  __cil_tmp23 = (unsigned long )__cil_tmp22;
1536#line 111
1537  __cil_tmp24 = __cil_tmp23 + 144;
1538#line 111
1539  __cil_tmp25 = (struct mutex *)__cil_tmp24;
1540#line 111
1541  mutex_lock(__cil_tmp25);
1542#line 115
1543  __cil_tmp26 = off >> 5;
1544#line 115
1545  min_page = (int )__cil_tmp26;
1546#line 116
1547  __cil_tmp27 = (loff_t )count;
1548#line 116
1549  __cil_tmp28 = off + __cil_tmp27;
1550#line 116
1551  __cil_tmp29 = __cil_tmp28 - 1LL;
1552#line 116
1553  __cil_tmp30 = __cil_tmp29 >> 5;
1554#line 116
1555  max_page = (int )__cil_tmp30;
1556#line 117
1557  i = min_page;
1558  }
1559  {
1560#line 117
1561  while (1) {
1562    while_continue: /* CIL Label */ ;
1563#line 117
1564    if (i <= max_page) {
1565
1566    } else {
1567#line 117
1568      goto while_break;
1569    }
1570    {
1571#line 118
1572    tmp___0 = w1_f23_refresh_block(sl, data, i);
1573    }
1574#line 118
1575    if (tmp___0) {
1576#line 119
1577      count = (size_t )-5;
1578#line 120
1579      goto out_up;
1580    } else {
1581
1582    }
1583#line 117
1584    i = i + 1;
1585  }
1586  while_break: /* CIL Label */ ;
1587  }
1588  {
1589#line 123
1590  __len = count;
1591#line 123
1592  __cil_tmp31 = (void *)buf;
1593#line 123
1594  __cil_tmp32 = off * 1UL;
1595#line 123
1596  __cil_tmp33 = 0 + __cil_tmp32;
1597#line 123
1598  __cil_tmp34 = (unsigned long )data;
1599#line 123
1600  __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
1601#line 123
1602  __cil_tmp36 = (u8 *)__cil_tmp35;
1603#line 123
1604  __cil_tmp37 = (void const   *)__cil_tmp36;
1605#line 123
1606  __ret = __builtin_memcpy(__cil_tmp31, __cil_tmp37, __len);
1607  }
1608  out_up: 
1609  {
1610#line 142
1611  __cil_tmp38 = (unsigned long )sl;
1612#line 142
1613  __cil_tmp39 = __cil_tmp38 + 88;
1614#line 142
1615  __cil_tmp40 = *((struct w1_master **)__cil_tmp39);
1616#line 142
1617  __cil_tmp41 = (unsigned long )__cil_tmp40;
1618#line 142
1619  __cil_tmp42 = __cil_tmp41 + 144;
1620#line 142
1621  __cil_tmp43 = (struct mutex *)__cil_tmp42;
1622#line 142
1623  mutex_unlock(__cil_tmp43);
1624  }
1625#line 144
1626  return ((ssize_t )count);
1627}
1628}
1629#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
1630static int w1_f23_write(struct w1_slave *sl , int addr , int len , u8 const   *data ) 
1631{ struct w1_f23_data *f23 ;
1632  u8 wrbuf[4] ;
1633  u8 rdbuf[35] ;
1634  u8 es ;
1635  int tmp ;
1636  int tmp___0 ;
1637  int tmp___1 ;
1638  int tmp___2 ;
1639  unsigned long __cil_tmp13 ;
1640  unsigned long __cil_tmp14 ;
1641  void *__cil_tmp15 ;
1642  int __cil_tmp16 ;
1643  int __cil_tmp17 ;
1644  int __cil_tmp18 ;
1645  unsigned long __cil_tmp19 ;
1646  unsigned long __cil_tmp20 ;
1647  unsigned long __cil_tmp21 ;
1648  unsigned long __cil_tmp22 ;
1649  int __cil_tmp23 ;
1650  unsigned long __cil_tmp24 ;
1651  unsigned long __cil_tmp25 ;
1652  int __cil_tmp26 ;
1653  unsigned long __cil_tmp27 ;
1654  unsigned long __cil_tmp28 ;
1655  struct w1_master *__cil_tmp29 ;
1656  unsigned long __cil_tmp30 ;
1657  unsigned long __cil_tmp31 ;
1658  u8 *__cil_tmp32 ;
1659  u8 const   *__cil_tmp33 ;
1660  unsigned long __cil_tmp34 ;
1661  unsigned long __cil_tmp35 ;
1662  struct w1_master *__cil_tmp36 ;
1663  unsigned long __cil_tmp37 ;
1664  unsigned long __cil_tmp38 ;
1665  struct w1_master *__cil_tmp39 ;
1666  u8 __cil_tmp40 ;
1667  unsigned long __cil_tmp41 ;
1668  unsigned long __cil_tmp42 ;
1669  struct w1_master *__cil_tmp43 ;
1670  unsigned long __cil_tmp44 ;
1671  unsigned long __cil_tmp45 ;
1672  u8 *__cil_tmp46 ;
1673  int __cil_tmp47 ;
1674  unsigned long __cil_tmp48 ;
1675  unsigned long __cil_tmp49 ;
1676  u8 __cil_tmp50 ;
1677  int __cil_tmp51 ;
1678  unsigned long __cil_tmp52 ;
1679  unsigned long __cil_tmp53 ;
1680  u8 __cil_tmp54 ;
1681  int __cil_tmp55 ;
1682  unsigned long __cil_tmp56 ;
1683  unsigned long __cil_tmp57 ;
1684  u8 __cil_tmp58 ;
1685  int __cil_tmp59 ;
1686  unsigned long __cil_tmp60 ;
1687  unsigned long __cil_tmp61 ;
1688  u8 __cil_tmp62 ;
1689  int __cil_tmp63 ;
1690  int __cil_tmp64 ;
1691  unsigned long __cil_tmp65 ;
1692  unsigned long __cil_tmp66 ;
1693  u8 __cil_tmp67 ;
1694  int __cil_tmp68 ;
1695  void const   *__cil_tmp69 ;
1696  unsigned long __cil_tmp70 ;
1697  unsigned long __cil_tmp71 ;
1698  u8 *__cil_tmp72 ;
1699  void const   *__cil_tmp73 ;
1700  unsigned long __cil_tmp74 ;
1701  unsigned long __cil_tmp75 ;
1702  unsigned long __cil_tmp76 ;
1703  unsigned long __cil_tmp77 ;
1704  unsigned long __cil_tmp78 ;
1705  unsigned long __cil_tmp79 ;
1706  unsigned long __cil_tmp80 ;
1707  struct w1_master *__cil_tmp81 ;
1708  unsigned long __cil_tmp82 ;
1709  unsigned long __cil_tmp83 ;
1710  u8 *__cil_tmp84 ;
1711  u8 const   *__cil_tmp85 ;
1712  unsigned long __cil_tmp86 ;
1713  unsigned long __cil_tmp87 ;
1714  struct w1_master *__cil_tmp88 ;
1715  unsigned long __cil_tmp89 ;
1716  unsigned long __cil_tmp90 ;
1717  int __cil_tmp91 ;
1718  int __cil_tmp92 ;
1719  int __cil_tmp93 ;
1720  unsigned int __cil_tmp94 ;
1721  unsigned long __cil_tmp95 ;
1722  unsigned long __cil_tmp96 ;
1723  u32 __cil_tmp97 ;
1724
1725  {
1726  {
1727#line 162
1728  __cil_tmp13 = (unsigned long )sl;
1729#line 162
1730  __cil_tmp14 = __cil_tmp13 + 104;
1731#line 162
1732  __cil_tmp15 = *((void **)__cil_tmp14);
1733#line 162
1734  f23 = (struct w1_f23_data *)__cil_tmp15;
1735#line 166
1736  __cil_tmp16 = addr + len;
1737#line 166
1738  __cil_tmp17 = __cil_tmp16 - 1;
1739#line 166
1740  __cil_tmp18 = __cil_tmp17 & 31;
1741#line 166
1742  es = (u8 )__cil_tmp18;
1743#line 169
1744  tmp = w1_reset_select_slave(sl);
1745  }
1746#line 169
1747  if (tmp) {
1748#line 170
1749    return (-1);
1750  } else {
1751
1752  }
1753  {
1754#line 172
1755  __cil_tmp19 = 0 * 1UL;
1756#line 172
1757  __cil_tmp20 = (unsigned long )(wrbuf) + __cil_tmp19;
1758#line 172
1759  *((u8 *)__cil_tmp20) = (u8 )15;
1760#line 173
1761  __cil_tmp21 = 1 * 1UL;
1762#line 173
1763  __cil_tmp22 = (unsigned long )(wrbuf) + __cil_tmp21;
1764#line 173
1765  __cil_tmp23 = addr & 255;
1766#line 173
1767  *((u8 *)__cil_tmp22) = (u8 )__cil_tmp23;
1768#line 174
1769  __cil_tmp24 = 2 * 1UL;
1770#line 174
1771  __cil_tmp25 = (unsigned long )(wrbuf) + __cil_tmp24;
1772#line 174
1773  __cil_tmp26 = addr >> 8;
1774#line 174
1775  *((u8 *)__cil_tmp25) = (u8 )__cil_tmp26;
1776#line 176
1777  __cil_tmp27 = (unsigned long )sl;
1778#line 176
1779  __cil_tmp28 = __cil_tmp27 + 88;
1780#line 176
1781  __cil_tmp29 = *((struct w1_master **)__cil_tmp28);
1782#line 176
1783  __cil_tmp30 = 0 * 1UL;
1784#line 176
1785  __cil_tmp31 = (unsigned long )(wrbuf) + __cil_tmp30;
1786#line 176
1787  __cil_tmp32 = (u8 *)__cil_tmp31;
1788#line 176
1789  __cil_tmp33 = (u8 const   *)__cil_tmp32;
1790#line 176
1791  w1_write_block(__cil_tmp29, __cil_tmp33, 3);
1792#line 177
1793  __cil_tmp34 = (unsigned long )sl;
1794#line 177
1795  __cil_tmp35 = __cil_tmp34 + 88;
1796#line 177
1797  __cil_tmp36 = *((struct w1_master **)__cil_tmp35);
1798#line 177
1799  w1_write_block(__cil_tmp36, data, len);
1800#line 180
1801  tmp___0 = w1_reset_select_slave(sl);
1802  }
1803#line 180
1804  if (tmp___0) {
1805#line 181
1806    return (-1);
1807  } else {
1808
1809  }
1810  {
1811#line 183
1812  __cil_tmp37 = (unsigned long )sl;
1813#line 183
1814  __cil_tmp38 = __cil_tmp37 + 88;
1815#line 183
1816  __cil_tmp39 = *((struct w1_master **)__cil_tmp38);
1817#line 183
1818  __cil_tmp40 = (u8 )170;
1819#line 183
1820  w1_write_8(__cil_tmp39, __cil_tmp40);
1821#line 184
1822  __cil_tmp41 = (unsigned long )sl;
1823#line 184
1824  __cil_tmp42 = __cil_tmp41 + 88;
1825#line 184
1826  __cil_tmp43 = *((struct w1_master **)__cil_tmp42);
1827#line 184
1828  __cil_tmp44 = 0 * 1UL;
1829#line 184
1830  __cil_tmp45 = (unsigned long )(rdbuf) + __cil_tmp44;
1831#line 184
1832  __cil_tmp46 = (u8 *)__cil_tmp45;
1833#line 184
1834  __cil_tmp47 = len + 3;
1835#line 184
1836  w1_read_block(__cil_tmp43, __cil_tmp46, __cil_tmp47);
1837  }
1838  {
1839#line 187
1840  __cil_tmp48 = 1 * 1UL;
1841#line 187
1842  __cil_tmp49 = (unsigned long )(wrbuf) + __cil_tmp48;
1843#line 187
1844  __cil_tmp50 = *((u8 *)__cil_tmp49);
1845#line 187
1846  __cil_tmp51 = (int )__cil_tmp50;
1847#line 187
1848  __cil_tmp52 = 0 * 1UL;
1849#line 187
1850  __cil_tmp53 = (unsigned long )(rdbuf) + __cil_tmp52;
1851#line 187
1852  __cil_tmp54 = *((u8 *)__cil_tmp53);
1853#line 187
1854  __cil_tmp55 = (int )__cil_tmp54;
1855#line 187
1856  if (__cil_tmp55 != __cil_tmp51) {
1857#line 189
1858    return (-1);
1859  } else {
1860    {
1861#line 187
1862    __cil_tmp56 = 2 * 1UL;
1863#line 187
1864    __cil_tmp57 = (unsigned long )(wrbuf) + __cil_tmp56;
1865#line 187
1866    __cil_tmp58 = *((u8 *)__cil_tmp57);
1867#line 187
1868    __cil_tmp59 = (int )__cil_tmp58;
1869#line 187
1870    __cil_tmp60 = 1 * 1UL;
1871#line 187
1872    __cil_tmp61 = (unsigned long )(rdbuf) + __cil_tmp60;
1873#line 187
1874    __cil_tmp62 = *((u8 *)__cil_tmp61);
1875#line 187
1876    __cil_tmp63 = (int )__cil_tmp62;
1877#line 187
1878    if (__cil_tmp63 != __cil_tmp59) {
1879#line 189
1880      return (-1);
1881    } else {
1882      {
1883#line 187
1884      __cil_tmp64 = (int )es;
1885#line 187
1886      __cil_tmp65 = 2 * 1UL;
1887#line 187
1888      __cil_tmp66 = (unsigned long )(rdbuf) + __cil_tmp65;
1889#line 187
1890      __cil_tmp67 = *((u8 *)__cil_tmp66);
1891#line 187
1892      __cil_tmp68 = (int )__cil_tmp67;
1893#line 187
1894      if (__cil_tmp68 != __cil_tmp64) {
1895#line 189
1896        return (-1);
1897      } else {
1898        {
1899#line 187
1900        __cil_tmp69 = (void const   *)data;
1901#line 187
1902        __cil_tmp70 = 3 * 1UL;
1903#line 187
1904        __cil_tmp71 = (unsigned long )(rdbuf) + __cil_tmp70;
1905#line 187
1906        __cil_tmp72 = (u8 *)__cil_tmp71;
1907#line 187
1908        __cil_tmp73 = (void const   *)__cil_tmp72;
1909#line 187
1910        __cil_tmp74 = (unsigned long )len;
1911#line 187
1912        tmp___1 = memcmp(__cil_tmp69, __cil_tmp73, __cil_tmp74);
1913        }
1914#line 187
1915        if (tmp___1 != 0) {
1916#line 189
1917          return (-1);
1918        } else {
1919
1920        }
1921      }
1922      }
1923    }
1924    }
1925  }
1926  }
1927  {
1928#line 192
1929  tmp___2 = w1_reset_select_slave(sl);
1930  }
1931#line 192
1932  if (tmp___2) {
1933#line 193
1934    return (-1);
1935  } else {
1936
1937  }
1938  {
1939#line 195
1940  __cil_tmp75 = 0 * 1UL;
1941#line 195
1942  __cil_tmp76 = (unsigned long )(wrbuf) + __cil_tmp75;
1943#line 195
1944  *((u8 *)__cil_tmp76) = (u8 )85;
1945#line 196
1946  __cil_tmp77 = 3 * 1UL;
1947#line 196
1948  __cil_tmp78 = (unsigned long )(wrbuf) + __cil_tmp77;
1949#line 196
1950  *((u8 *)__cil_tmp78) = es;
1951#line 197
1952  __cil_tmp79 = (unsigned long )sl;
1953#line 197
1954  __cil_tmp80 = __cil_tmp79 + 88;
1955#line 197
1956  __cil_tmp81 = *((struct w1_master **)__cil_tmp80);
1957#line 197
1958  __cil_tmp82 = 0 * 1UL;
1959#line 197
1960  __cil_tmp83 = (unsigned long )(wrbuf) + __cil_tmp82;
1961#line 197
1962  __cil_tmp84 = (u8 *)__cil_tmp83;
1963#line 197
1964  __cil_tmp85 = (u8 const   *)__cil_tmp84;
1965#line 197
1966  w1_write_block(__cil_tmp81, __cil_tmp85, 4);
1967#line 200
1968  msleep(5U);
1969#line 203
1970  __cil_tmp86 = (unsigned long )sl;
1971#line 203
1972  __cil_tmp87 = __cil_tmp86 + 88;
1973#line 203
1974  __cil_tmp88 = *((struct w1_master **)__cil_tmp87);
1975#line 203
1976  w1_reset_bus(__cil_tmp88);
1977#line 205
1978  __cil_tmp89 = (unsigned long )f23;
1979#line 205
1980  __cil_tmp90 = __cil_tmp89 + 512;
1981#line 205
1982  __cil_tmp91 = addr >> 5;
1983#line 205
1984  __cil_tmp92 = 1 << __cil_tmp91;
1985#line 205
1986  __cil_tmp93 = ~ __cil_tmp92;
1987#line 205
1988  __cil_tmp94 = (unsigned int )__cil_tmp93;
1989#line 205
1990  __cil_tmp95 = (unsigned long )f23;
1991#line 205
1992  __cil_tmp96 = __cil_tmp95 + 512;
1993#line 205
1994  __cil_tmp97 = *((u32 *)__cil_tmp96);
1995#line 205
1996  *((u32 *)__cil_tmp90) = __cil_tmp97 & __cil_tmp94;
1997  }
1998#line 207
1999  return (0);
2000}
2001}
2002#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2003static ssize_t w1_f23_write_bin(struct file *filp , struct kobject *kobj , struct bin_attribute *bin_attr ,
2004                                char *buf , loff_t off , size_t count ) 
2005{ struct w1_slave *sl ;
2006  struct w1_slave *tmp ;
2007  int addr ;
2008  int len ;
2009  int idx ;
2010  u16 tmp___0 ;
2011  int tmp___1 ;
2012  size_t __cil_tmp14 ;
2013  unsigned long __cil_tmp15 ;
2014  unsigned long __cil_tmp16 ;
2015  struct device *__cil_tmp17 ;
2016  struct device  const  *__cil_tmp18 ;
2017  int __cil_tmp19 ;
2018  unsigned long __cil_tmp20 ;
2019  unsigned long __cil_tmp21 ;
2020  struct device *__cil_tmp22 ;
2021  struct device  const  *__cil_tmp23 ;
2022  int __cil_tmp24 ;
2023  size_t __cil_tmp25 ;
2024  u16 __cil_tmp26 ;
2025  char *__cil_tmp27 ;
2026  u8 const   *__cil_tmp28 ;
2027  size_t __cil_tmp29 ;
2028  int __cil_tmp30 ;
2029  unsigned long __cil_tmp31 ;
2030  unsigned long __cil_tmp32 ;
2031  struct device *__cil_tmp33 ;
2032  struct device  const  *__cil_tmp34 ;
2033  int __cil_tmp35 ;
2034  unsigned long __cil_tmp36 ;
2035  unsigned long __cil_tmp37 ;
2036  struct w1_master *__cil_tmp38 ;
2037  unsigned long __cil_tmp39 ;
2038  unsigned long __cil_tmp40 ;
2039  struct mutex *__cil_tmp41 ;
2040  size_t __cil_tmp42 ;
2041  loff_t __cil_tmp43 ;
2042  loff_t __cil_tmp44 ;
2043  int __cil_tmp45 ;
2044  size_t __cil_tmp46 ;
2045  size_t __cil_tmp47 ;
2046  size_t __cil_tmp48 ;
2047  size_t __cil_tmp49 ;
2048  size_t __cil_tmp50 ;
2049  char *__cil_tmp51 ;
2050  u8 const   *__cil_tmp52 ;
2051  unsigned long __cil_tmp53 ;
2052  unsigned long __cil_tmp54 ;
2053  struct w1_master *__cil_tmp55 ;
2054  unsigned long __cil_tmp56 ;
2055  unsigned long __cil_tmp57 ;
2056  struct mutex *__cil_tmp58 ;
2057
2058  {
2059  {
2060#line 214
2061  tmp = kobj_to_w1_slave(kobj);
2062#line 214
2063  sl = tmp;
2064#line 217
2065  __cil_tmp14 = (size_t )512;
2066#line 217
2067  count = w1_f23_fix_count(off, count, __cil_tmp14);
2068  }
2069#line 217
2070  if (count == 0UL) {
2071#line 218
2072    return ((ssize_t )0);
2073  } else {
2074
2075  }
2076#line 222
2077  if (off & 31LL) {
2078    {
2079#line 223
2080    __cil_tmp15 = (unsigned long )sl;
2081#line 223
2082    __cil_tmp16 = __cil_tmp15 + 112;
2083#line 223
2084    __cil_tmp17 = (struct device *)__cil_tmp16;
2085#line 223
2086    __cil_tmp18 = (struct device  const  *)__cil_tmp17;
2087#line 223
2088    __cil_tmp19 = (int )off;
2089#line 223
2090    dev_err(__cil_tmp18, "invalid offset/count off=%d cnt=%zd\n", __cil_tmp19, count);
2091    }
2092#line 225
2093    return ((ssize_t )-22);
2094  } else
2095#line 222
2096  if (count & 31UL) {
2097    {
2098#line 223
2099    __cil_tmp20 = (unsigned long )sl;
2100#line 223
2101    __cil_tmp21 = __cil_tmp20 + 112;
2102#line 223
2103    __cil_tmp22 = (struct device *)__cil_tmp21;
2104#line 223
2105    __cil_tmp23 = (struct device  const  *)__cil_tmp22;
2106#line 223
2107    __cil_tmp24 = (int )off;
2108#line 223
2109    dev_err(__cil_tmp23, "invalid offset/count off=%d cnt=%zd\n", __cil_tmp24, count);
2110    }
2111#line 225
2112    return ((ssize_t )-22);
2113  } else {
2114
2115  }
2116#line 229
2117  idx = 0;
2118  {
2119#line 229
2120  while (1) {
2121    while_continue: /* CIL Label */ ;
2122    {
2123#line 229
2124    __cil_tmp25 = (size_t )idx;
2125#line 229
2126    if (__cil_tmp25 < count) {
2127
2128    } else {
2129#line 229
2130      goto while_break;
2131    }
2132    }
2133    {
2134#line 230
2135    __cil_tmp26 = (u16 )0;
2136#line 230
2137    __cil_tmp27 = buf + idx;
2138#line 230
2139    __cil_tmp28 = (u8 const   *)__cil_tmp27;
2140#line 230
2141    __cil_tmp29 = (size_t )32;
2142#line 230
2143    tmp___0 = crc16(__cil_tmp26, __cil_tmp28, __cil_tmp29);
2144    }
2145    {
2146#line 230
2147    __cil_tmp30 = (int )tmp___0;
2148#line 230
2149    if (__cil_tmp30 != 45057) {
2150      {
2151#line 231
2152      __cil_tmp31 = (unsigned long )sl;
2153#line 231
2154      __cil_tmp32 = __cil_tmp31 + 112;
2155#line 231
2156      __cil_tmp33 = (struct device *)__cil_tmp32;
2157#line 231
2158      __cil_tmp34 = (struct device  const  *)__cil_tmp33;
2159#line 231
2160      __cil_tmp35 = (int )off;
2161#line 231
2162      dev_err(__cil_tmp34, "bad CRC at offset %d\n", __cil_tmp35);
2163      }
2164#line 232
2165      return ((ssize_t )-22);
2166    } else {
2167
2168    }
2169    }
2170#line 229
2171    idx = idx + 32;
2172  }
2173  while_break: /* CIL Label */ ;
2174  }
2175  {
2176#line 237
2177  __cil_tmp36 = (unsigned long )sl;
2178#line 237
2179  __cil_tmp37 = __cil_tmp36 + 88;
2180#line 237
2181  __cil_tmp38 = *((struct w1_master **)__cil_tmp37);
2182#line 237
2183  __cil_tmp39 = (unsigned long )__cil_tmp38;
2184#line 237
2185  __cil_tmp40 = __cil_tmp39 + 144;
2186#line 237
2187  __cil_tmp41 = (struct mutex *)__cil_tmp40;
2188#line 237
2189  mutex_lock(__cil_tmp41);
2190#line 240
2191  idx = 0;
2192  }
2193  {
2194#line 241
2195  while (1) {
2196    while_continue___0: /* CIL Label */ ;
2197    {
2198#line 241
2199    __cil_tmp42 = (size_t )idx;
2200#line 241
2201    if (__cil_tmp42 < count) {
2202
2203    } else {
2204#line 241
2205      goto while_break___0;
2206    }
2207    }
2208#line 242
2209    __cil_tmp43 = (loff_t )idx;
2210#line 242
2211    __cil_tmp44 = off + __cil_tmp43;
2212#line 242
2213    addr = (int )__cil_tmp44;
2214#line 243
2215    __cil_tmp45 = addr & 31;
2216#line 243
2217    len = 32 - __cil_tmp45;
2218    {
2219#line 244
2220    __cil_tmp46 = (size_t )idx;
2221#line 244
2222    __cil_tmp47 = count - __cil_tmp46;
2223#line 244
2224    __cil_tmp48 = (size_t )len;
2225#line 244
2226    if (__cil_tmp48 > __cil_tmp47) {
2227#line 245
2228      __cil_tmp49 = (size_t )idx;
2229#line 245
2230      __cil_tmp50 = count - __cil_tmp49;
2231#line 245
2232      len = (int )__cil_tmp50;
2233    } else {
2234
2235    }
2236    }
2237    {
2238#line 247
2239    __cil_tmp51 = buf + idx;
2240#line 247
2241    __cil_tmp52 = (u8 const   *)__cil_tmp51;
2242#line 247
2243    tmp___1 = w1_f23_write(sl, addr, len, __cil_tmp52);
2244    }
2245#line 247
2246    if (tmp___1 < 0) {
2247#line 248
2248      count = (size_t )-5;
2249#line 249
2250      goto out_up;
2251    } else {
2252
2253    }
2254#line 251
2255    idx = idx + len;
2256  }
2257  while_break___0: /* CIL Label */ ;
2258  }
2259  out_up: 
2260  {
2261#line 255
2262  __cil_tmp53 = (unsigned long )sl;
2263#line 255
2264  __cil_tmp54 = __cil_tmp53 + 88;
2265#line 255
2266  __cil_tmp55 = *((struct w1_master **)__cil_tmp54);
2267#line 255
2268  __cil_tmp56 = (unsigned long )__cil_tmp55;
2269#line 255
2270  __cil_tmp57 = __cil_tmp56 + 144;
2271#line 255
2272  __cil_tmp58 = (struct mutex *)__cil_tmp57;
2273#line 255
2274  mutex_unlock(__cil_tmp58);
2275  }
2276#line 257
2277  return ((ssize_t )count);
2278}
2279}
2280#line 260 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2281static struct bin_attribute w1_f23_bin_attr  =    {{"eeprom", (umode_t )420}, (size_t )512, (void *)0, & w1_f23_read_bin, & w1_f23_write_bin,
2282    (int (*)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ))0};
2283#line 270 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2284static int w1_f23_add_slave(struct w1_slave *sl ) 
2285{ int err ;
2286  struct w1_f23_data *data ;
2287  void *tmp ;
2288  unsigned long __cil_tmp5 ;
2289  unsigned long __cil_tmp6 ;
2290  unsigned long __cil_tmp7 ;
2291  unsigned long __cil_tmp8 ;
2292  unsigned long __cil_tmp9 ;
2293  struct kobject *__cil_tmp10 ;
2294  struct bin_attribute  const  *__cil_tmp11 ;
2295  void const   *__cil_tmp12 ;
2296
2297  {
2298  {
2299#line 276
2300  tmp = kzalloc(516UL, 208U);
2301#line 276
2302  data = (struct w1_f23_data *)tmp;
2303  }
2304#line 277
2305  if (! data) {
2306#line 278
2307    return (-12);
2308  } else {
2309
2310  }
2311  {
2312#line 279
2313  __cil_tmp5 = (unsigned long )sl;
2314#line 279
2315  __cil_tmp6 = __cil_tmp5 + 104;
2316#line 279
2317  *((void **)__cil_tmp6) = (void *)data;
2318#line 283
2319  __cil_tmp7 = 112 + 16;
2320#line 283
2321  __cil_tmp8 = (unsigned long )sl;
2322#line 283
2323  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
2324#line 283
2325  __cil_tmp10 = (struct kobject *)__cil_tmp9;
2326#line 283
2327  __cil_tmp11 = (struct bin_attribute  const  *)(& w1_f23_bin_attr);
2328#line 283
2329  err = (int )sysfs_create_bin_file(__cil_tmp10, __cil_tmp11);
2330  }
2331#line 286
2332  if (err) {
2333    {
2334#line 287
2335    __cil_tmp12 = (void const   *)data;
2336#line 287
2337    kfree(__cil_tmp12);
2338    }
2339  } else {
2340
2341  }
2342#line 290
2343  return (err);
2344}
2345}
2346#line 293 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2347static void w1_f23_remove_slave(struct w1_slave *sl ) 
2348{ unsigned long __cil_tmp2 ;
2349  unsigned long __cil_tmp3 ;
2350  void *__cil_tmp4 ;
2351  void const   *__cil_tmp5 ;
2352  unsigned long __cil_tmp6 ;
2353  unsigned long __cil_tmp7 ;
2354  unsigned long __cil_tmp8 ;
2355  unsigned long __cil_tmp9 ;
2356  unsigned long __cil_tmp10 ;
2357  struct kobject *__cil_tmp11 ;
2358  struct bin_attribute  const  *__cil_tmp12 ;
2359
2360  {
2361  {
2362#line 296
2363  __cil_tmp2 = (unsigned long )sl;
2364#line 296
2365  __cil_tmp3 = __cil_tmp2 + 104;
2366#line 296
2367  __cil_tmp4 = *((void **)__cil_tmp3);
2368#line 296
2369  __cil_tmp5 = (void const   *)__cil_tmp4;
2370#line 296
2371  kfree(__cil_tmp5);
2372#line 297
2373  __cil_tmp6 = (unsigned long )sl;
2374#line 297
2375  __cil_tmp7 = __cil_tmp6 + 104;
2376#line 297
2377  *((void **)__cil_tmp7) = (void *)0;
2378#line 299
2379  __cil_tmp8 = 112 + 16;
2380#line 299
2381  __cil_tmp9 = (unsigned long )sl;
2382#line 299
2383  __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
2384#line 299
2385  __cil_tmp11 = (struct kobject *)__cil_tmp10;
2386#line 299
2387  __cil_tmp12 = (struct bin_attribute  const  *)(& w1_f23_bin_attr);
2388#line 299
2389  sysfs_remove_bin_file(__cil_tmp11, __cil_tmp12);
2390  }
2391#line 300
2392  return;
2393}
2394}
2395#line 302 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2396static struct w1_family_ops w1_f23_fops  =    {& w1_f23_add_slave, & w1_f23_remove_slave};
2397#line 307 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2398static struct w1_family w1_family_23  =    {{(struct list_head *)0, (struct list_head *)0}, (u8 )35, & w1_f23_fops, {0}};
2399#line 312
2400static int w1_f23_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
2401#line 312 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2402static int w1_f23_init(void) 
2403{ int tmp ;
2404
2405  {
2406  {
2407#line 314
2408  tmp = w1_register_family(& w1_family_23);
2409  }
2410#line 314
2411  return (tmp);
2412}
2413}
2414#line 317
2415static void w1_f23_fini(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
2416#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2417static void w1_f23_fini(void) 
2418{ 
2419
2420  {
2421  {
2422#line 319
2423  w1_unregister_family(& w1_family_23);
2424  }
2425#line 320
2426  return;
2427}
2428}
2429#line 322 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2430int init_module(void) 
2431{ int tmp ;
2432
2433  {
2434  {
2435#line 322
2436  tmp = w1_f23_init();
2437  }
2438#line 322
2439  return (tmp);
2440}
2441}
2442#line 323 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2443void cleanup_module(void) 
2444{ 
2445
2446  {
2447  {
2448#line 323
2449  w1_f23_fini();
2450  }
2451#line 323
2452  return;
2453}
2454}
2455#line 341
2456void ldv_check_final_state(void) ;
2457#line 347
2458extern void ldv_initialize(void) ;
2459#line 350
2460extern int __VERIFIER_nondet_int(void) ;
2461#line 353 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2462int LDV_IN_INTERRUPT  ;
2463#line 356 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2464void main(void) 
2465{ struct file *var_group1 ;
2466  struct kobject *var_group2 ;
2467  struct bin_attribute *var_w1_f23_read_bin_2_p2 ;
2468  char *var_w1_f23_read_bin_2_p3 ;
2469  loff_t var_w1_f23_read_bin_2_p4 ;
2470  size_t var_w1_f23_read_bin_2_p5 ;
2471  struct bin_attribute *var_w1_f23_write_bin_4_p2 ;
2472  char *var_w1_f23_write_bin_4_p3 ;
2473  loff_t var_w1_f23_write_bin_4_p4 ;
2474  size_t var_w1_f23_write_bin_4_p5 ;
2475  struct w1_slave *var_group3 ;
2476  int tmp ;
2477  int tmp___0 ;
2478  int tmp___1 ;
2479
2480  {
2481  {
2482#line 534
2483  LDV_IN_INTERRUPT = 1;
2484#line 543
2485  ldv_initialize();
2486#line 584
2487  tmp = w1_f23_init();
2488  }
2489#line 584
2490  if (tmp) {
2491#line 585
2492    goto ldv_final;
2493  } else {
2494
2495  }
2496  {
2497#line 591
2498  while (1) {
2499    while_continue: /* CIL Label */ ;
2500    {
2501#line 591
2502    tmp___1 = __VERIFIER_nondet_int();
2503    }
2504#line 591
2505    if (tmp___1) {
2506
2507    } else {
2508#line 591
2509      goto while_break;
2510    }
2511    {
2512#line 594
2513    tmp___0 = __VERIFIER_nondet_int();
2514    }
2515#line 596
2516    if (tmp___0 == 0) {
2517#line 596
2518      goto case_0;
2519    } else
2520#line 643
2521    if (tmp___0 == 1) {
2522#line 643
2523      goto case_1;
2524    } else
2525#line 694
2526    if (tmp___0 == 2) {
2527#line 694
2528      goto case_2;
2529    } else
2530#line 743
2531    if (tmp___0 == 3) {
2532#line 743
2533      goto case_3;
2534    } else {
2535      {
2536#line 792
2537      goto switch_default;
2538#line 594
2539      if (0) {
2540        case_0: /* CIL Label */ 
2541        {
2542#line 621
2543        w1_f23_read_bin(var_group1, var_group2, var_w1_f23_read_bin_2_p2, var_w1_f23_read_bin_2_p3,
2544                        var_w1_f23_read_bin_2_p4, var_w1_f23_read_bin_2_p5);
2545        }
2546#line 642
2547        goto switch_break;
2548        case_1: /* CIL Label */ 
2549        {
2550#line 678
2551        w1_f23_write_bin(var_group1, var_group2, var_w1_f23_write_bin_4_p2, var_w1_f23_write_bin_4_p3,
2552                         var_w1_f23_write_bin_4_p4, var_w1_f23_write_bin_4_p5);
2553        }
2554#line 693
2555        goto switch_break;
2556        case_2: /* CIL Label */ 
2557        {
2558#line 731
2559        w1_f23_add_slave(var_group3);
2560        }
2561#line 742
2562        goto switch_break;
2563        case_3: /* CIL Label */ 
2564        {
2565#line 784
2566        w1_f23_remove_slave(var_group3);
2567        }
2568#line 791
2569        goto switch_break;
2570        switch_default: /* CIL Label */ 
2571#line 792
2572        goto switch_break;
2573      } else {
2574        switch_break: /* CIL Label */ ;
2575      }
2576      }
2577    }
2578  }
2579  while_break: /* CIL Label */ ;
2580  }
2581  {
2582#line 839
2583  w1_f23_fini();
2584  }
2585  ldv_final: 
2586  {
2587#line 842
2588  ldv_check_final_state();
2589  }
2590#line 845
2591  return;
2592}
2593}
2594#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
2595void ldv_blast_assert(void) 
2596{ 
2597
2598  {
2599  ERROR: 
2600#line 6
2601  goto ERROR;
2602}
2603}
2604#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
2605extern int __VERIFIER_nondet_int(void) ;
2606#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2607int ldv_mutex  =    1;
2608#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2609int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
2610{ int nondetermined ;
2611
2612  {
2613#line 29
2614  if (ldv_mutex == 1) {
2615
2616  } else {
2617    {
2618#line 29
2619    ldv_blast_assert();
2620    }
2621  }
2622  {
2623#line 32
2624  nondetermined = __VERIFIER_nondet_int();
2625  }
2626#line 35
2627  if (nondetermined) {
2628#line 38
2629    ldv_mutex = 2;
2630#line 40
2631    return (0);
2632  } else {
2633#line 45
2634    return (-4);
2635  }
2636}
2637}
2638#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2639int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
2640{ int nondetermined ;
2641
2642  {
2643#line 57
2644  if (ldv_mutex == 1) {
2645
2646  } else {
2647    {
2648#line 57
2649    ldv_blast_assert();
2650    }
2651  }
2652  {
2653#line 60
2654  nondetermined = __VERIFIER_nondet_int();
2655  }
2656#line 63
2657  if (nondetermined) {
2658#line 66
2659    ldv_mutex = 2;
2660#line 68
2661    return (0);
2662  } else {
2663#line 73
2664    return (-4);
2665  }
2666}
2667}
2668#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2669int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
2670{ int atomic_value_after_dec ;
2671
2672  {
2673#line 83
2674  if (ldv_mutex == 1) {
2675
2676  } else {
2677    {
2678#line 83
2679    ldv_blast_assert();
2680    }
2681  }
2682  {
2683#line 86
2684  atomic_value_after_dec = __VERIFIER_nondet_int();
2685  }
2686#line 89
2687  if (atomic_value_after_dec == 0) {
2688#line 92
2689    ldv_mutex = 2;
2690#line 94
2691    return (1);
2692  } else {
2693
2694  }
2695#line 98
2696  return (0);
2697}
2698}
2699#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2700void mutex_lock(struct mutex *lock ) 
2701{ 
2702
2703  {
2704#line 108
2705  if (ldv_mutex == 1) {
2706
2707  } else {
2708    {
2709#line 108
2710    ldv_blast_assert();
2711    }
2712  }
2713#line 110
2714  ldv_mutex = 2;
2715#line 111
2716  return;
2717}
2718}
2719#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2720int mutex_trylock(struct mutex *lock ) 
2721{ int nondetermined ;
2722
2723  {
2724#line 121
2725  if (ldv_mutex == 1) {
2726
2727  } else {
2728    {
2729#line 121
2730    ldv_blast_assert();
2731    }
2732  }
2733  {
2734#line 124
2735  nondetermined = __VERIFIER_nondet_int();
2736  }
2737#line 127
2738  if (nondetermined) {
2739#line 130
2740    ldv_mutex = 2;
2741#line 132
2742    return (1);
2743  } else {
2744#line 137
2745    return (0);
2746  }
2747}
2748}
2749#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2750void mutex_unlock(struct mutex *lock ) 
2751{ 
2752
2753  {
2754#line 147
2755  if (ldv_mutex == 2) {
2756
2757  } else {
2758    {
2759#line 147
2760    ldv_blast_assert();
2761    }
2762  }
2763#line 149
2764  ldv_mutex = 1;
2765#line 150
2766  return;
2767}
2768}
2769#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2770void ldv_check_final_state(void) 
2771{ 
2772
2773  {
2774#line 156
2775  if (ldv_mutex == 1) {
2776
2777  } else {
2778    {
2779#line 156
2780    ldv_blast_assert();
2781    }
2782  }
2783#line 157
2784  return;
2785}
2786}
2787#line 854 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12357/dscv_tempdir/dscv/ri/32_1/drivers/w1/slaves/w1_ds2433.c.common.c"
2788long s__builtin_expect(long val , long res ) 
2789{ 
2790
2791  {
2792#line 855
2793  return (val);
2794}
2795}