Showing error 855

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