Showing error 857

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--input--mouse--vsxxxaa.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4286
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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