Showing error 1211

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--staging--android--switch--switch_class.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2978
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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