Showing error 79

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-drivers/module_get_put-drivers-block-loop.ko_unsafe.cil.out.i.pp.cil.c
Line in file: 13232
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

    1/* Generated by CIL v. 1.3.7 */
    2/* print_CIL_Input is true */
    3
    4#line 19 "include/asm-generic/int-ll64.h"
    5typedef signed char __s8;
    6#line 20 "include/asm-generic/int-ll64.h"
    7typedef unsigned char __u8;
    8#line 22 "include/asm-generic/int-ll64.h"
    9typedef short __s16;
   10#line 23 "include/asm-generic/int-ll64.h"
   11typedef unsigned short __u16;
   12#line 25 "include/asm-generic/int-ll64.h"
   13typedef int __s32;
   14#line 26 "include/asm-generic/int-ll64.h"
   15typedef unsigned int __u32;
   16#line 29 "include/asm-generic/int-ll64.h"
   17typedef long long __s64;
   18#line 30 "include/asm-generic/int-ll64.h"
   19typedef unsigned long long __u64;
   20#line 43 "include/asm-generic/int-ll64.h"
   21typedef unsigned char u8;
   22#line 46 "include/asm-generic/int-ll64.h"
   23typedef unsigned short u16;
   24#line 48 "include/asm-generic/int-ll64.h"
   25typedef int s32;
   26#line 49 "include/asm-generic/int-ll64.h"
   27typedef unsigned int u32;
   28#line 51 "include/asm-generic/int-ll64.h"
   29typedef long long s64;
   30#line 52 "include/asm-generic/int-ll64.h"
   31typedef unsigned long long u64;
   32#line 11 "include/asm-generic/types.h"
   33typedef unsigned short umode_t;
   34#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   35typedef unsigned int __kernel_mode_t;
   36#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   37typedef int __kernel_pid_t;
   38#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   39typedef unsigned int __kernel_uid_t;
   40#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   41typedef unsigned int __kernel_gid_t;
   42#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   43typedef unsigned long __kernel_size_t;
   44#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   45typedef long __kernel_ssize_t;
   46#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   47typedef long __kernel_time_t;
   48#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   49typedef long __kernel_clock_t;
   50#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   51typedef int __kernel_timer_t;
   52#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   53typedef int __kernel_clockid_t;
   54#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   55typedef long long __kernel_loff_t;
   56#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   57typedef __kernel_uid_t __kernel_uid32_t;
   58#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   59typedef __kernel_gid_t __kernel_gid32_t;
   60#line 44 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   61typedef unsigned long __kernel_old_dev_t;
   62#line 21 "include/linux/types.h"
   63typedef __u32 __kernel_dev_t;
   64#line 24 "include/linux/types.h"
   65typedef __kernel_dev_t dev_t;
   66#line 26 "include/linux/types.h"
   67typedef __kernel_mode_t mode_t;
   68#line 29 "include/linux/types.h"
   69typedef __kernel_pid_t pid_t;
   70#line 34 "include/linux/types.h"
   71typedef __kernel_clockid_t clockid_t;
   72#line 37 "include/linux/types.h"
   73typedef _Bool bool;
   74#line 39 "include/linux/types.h"
   75typedef __kernel_uid32_t uid_t;
   76#line 40 "include/linux/types.h"
   77typedef __kernel_gid32_t gid_t;
   78#line 53 "include/linux/types.h"
   79typedef __kernel_loff_t loff_t;
   80#line 62 "include/linux/types.h"
   81typedef __kernel_size_t size_t;
   82#line 67 "include/linux/types.h"
   83typedef __kernel_ssize_t ssize_t;
   84#line 77 "include/linux/types.h"
   85typedef __kernel_time_t time_t;
   86#line 110 "include/linux/types.h"
   87typedef __s32 int32_t;
   88#line 116 "include/linux/types.h"
   89typedef __u32 uint32_t;
   90#line 141 "include/linux/types.h"
   91typedef unsigned long sector_t;
   92#line 142 "include/linux/types.h"
   93typedef unsigned long blkcnt_t;
   94#line 201 "include/linux/types.h"
   95typedef unsigned int gfp_t;
   96#line 202 "include/linux/types.h"
   97typedef unsigned int fmode_t;
   98#line 214 "include/linux/types.h"
   99struct __anonstruct_atomic_t_6 {
  100   int counter ;
  101};
  102#line 214 "include/linux/types.h"
  103typedef struct __anonstruct_atomic_t_6 atomic_t;
  104#line 219 "include/linux/types.h"
  105struct __anonstruct_atomic64_t_7 {
  106   long counter ;
  107};
  108#line 219 "include/linux/types.h"
  109typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  110#line 220 "include/linux/types.h"
  111struct list_head {
  112   struct list_head *next ;
  113   struct list_head *prev ;
  114};
  115#line 225
  116struct hlist_node;
  117#line 225
  118struct hlist_node;
  119#line 225
  120struct hlist_node;
  121#line 225 "include/linux/types.h"
  122struct hlist_head {
  123   struct hlist_node *first ;
  124};
  125#line 229 "include/linux/types.h"
  126struct hlist_node {
  127   struct hlist_node *next ;
  128   struct hlist_node **pprev ;
  129};
  130#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
  131struct module;
  132#line 58
  133struct module;
  134#line 58
  135struct module;
  136#line 58
  137struct module;
  138#line 145 "include/linux/init.h"
  139typedef void (*ctor_fn_t)(void);
  140#line 48 "include/linux/dynamic_debug.h"
  141struct bug_entry {
  142   int bug_addr_disp ;
  143   int file_disp ;
  144   unsigned short line ;
  145   unsigned short flags ;
  146};
  147#line 70 "include/asm-generic/bug.h"
  148struct completion;
  149#line 70
  150struct completion;
  151#line 70
  152struct completion;
  153#line 70
  154struct completion;
  155#line 71
  156struct pt_regs;
  157#line 71
  158struct pt_regs;
  159#line 71
  160struct pt_regs;
  161#line 71
  162struct pt_regs;
  163#line 321 "include/linux/kernel.h"
  164struct pid;
  165#line 321
  166struct pid;
  167#line 321
  168struct pid;
  169#line 321
  170struct pid;
  171#line 671
  172struct timespec;
  173#line 671
  174struct timespec;
  175#line 671
  176struct timespec;
  177#line 671
  178struct timespec;
  179#line 672
  180struct compat_timespec;
  181#line 672
  182struct compat_timespec;
  183#line 672
  184struct compat_timespec;
  185#line 672
  186struct compat_timespec;
  187#line 673 "include/linux/kernel.h"
  188struct __anonstruct_futex_9 {
  189   u32 *uaddr ;
  190   u32 val ;
  191   u32 flags ;
  192   u32 bitset ;
  193   u64 time ;
  194   u32 *uaddr2 ;
  195};
  196#line 673 "include/linux/kernel.h"
  197struct __anonstruct_nanosleep_10 {
  198   clockid_t clockid ;
  199   struct timespec *rmtp ;
  200   struct compat_timespec *compat_rmtp ;
  201   u64 expires ;
  202};
  203#line 673
  204struct pollfd;
  205#line 673
  206struct pollfd;
  207#line 673
  208struct pollfd;
  209#line 673 "include/linux/kernel.h"
  210struct __anonstruct_poll_11 {
  211   struct pollfd *ufds ;
  212   int nfds ;
  213   int has_timeout ;
  214   unsigned long tv_sec ;
  215   unsigned long tv_nsec ;
  216};
  217#line 673 "include/linux/kernel.h"
  218union __anonunion_ldv_2052_8 {
  219   struct __anonstruct_futex_9 futex ;
  220   struct __anonstruct_nanosleep_10 nanosleep ;
  221   struct __anonstruct_poll_11 poll ;
  222};
  223#line 673 "include/linux/kernel.h"
  224struct restart_block {
  225   long (*fn)(struct restart_block * ) ;
  226   union __anonunion_ldv_2052_8 ldv_2052 ;
  227};
  228#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_types.h"
  229struct page;
  230#line 59
  231struct page;
  232#line 59
  233struct page;
  234#line 59
  235struct page;
  236#line 21 "include/asm-generic/getorder.h"
  237struct task_struct;
  238#line 21
  239struct task_struct;
  240#line 21
  241struct task_struct;
  242#line 21
  243struct task_struct;
  244#line 22
  245struct exec_domain;
  246#line 22
  247struct exec_domain;
  248#line 22
  249struct exec_domain;
  250#line 22
  251struct exec_domain;
  252#line 23
  253struct mm_struct;
  254#line 23
  255struct mm_struct;
  256#line 23
  257struct mm_struct;
  258#line 23
  259struct mm_struct;
  260#line 215 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/segment.h"
  261struct pt_regs {
  262   unsigned long r15 ;
  263   unsigned long r14 ;
  264   unsigned long r13 ;
  265   unsigned long r12 ;
  266   unsigned long bp ;
  267   unsigned long bx ;
  268   unsigned long r11 ;
  269   unsigned long r10 ;
  270   unsigned long r9 ;
  271   unsigned long r8 ;
  272   unsigned long ax ;
  273   unsigned long cx ;
  274   unsigned long dx ;
  275   unsigned long si ;
  276   unsigned long di ;
  277   unsigned long orig_ax ;
  278   unsigned long ip ;
  279   unsigned long cs ;
  280   unsigned long flags ;
  281   unsigned long sp ;
  282   unsigned long ss ;
  283};
  284#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
  285struct kernel_vm86_regs {
  286   struct pt_regs pt ;
  287   unsigned short es ;
  288   unsigned short __esh ;
  289   unsigned short ds ;
  290   unsigned short __dsh ;
  291   unsigned short fs ;
  292   unsigned short __fsh ;
  293   unsigned short gs ;
  294   unsigned short __gsh ;
  295};
  296#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  297union __anonunion_ldv_2292_12 {
  298   struct pt_regs *regs ;
  299   struct kernel_vm86_regs *vm86 ;
  300};
  301#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  302struct math_emu_info {
  303   long ___orig_eip ;
  304   union __anonunion_ldv_2292_12 ldv_2292 ;
  305};
  306#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  307typedef unsigned long pgdval_t;
  308#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  309typedef unsigned long pgprotval_t;
  310#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  311struct pgprot {
  312   pgprotval_t pgprot ;
  313};
  314#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  315typedef struct pgprot pgprot_t;
  316#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  317struct __anonstruct_pgd_t_15 {
  318   pgdval_t pgd ;
  319};
  320#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  321typedef struct __anonstruct_pgd_t_15 pgd_t;
  322#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  323typedef struct page *pgtable_t;
  324#line 288
  325struct file;
  326#line 288
  327struct file;
  328#line 288
  329struct file;
  330#line 288
  331struct file;
  332#line 303
  333struct seq_file;
  334#line 303
  335struct seq_file;
  336#line 303
  337struct seq_file;
  338#line 303
  339struct seq_file;
  340#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  341struct __anonstruct_ldv_2526_19 {
  342   unsigned int a ;
  343   unsigned int b ;
  344};
  345#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  346struct __anonstruct_ldv_2541_20 {
  347   u16 limit0 ;
  348   u16 base0 ;
  349   unsigned char base1 ;
  350   unsigned char type : 4 ;
  351   unsigned char s : 1 ;
  352   unsigned char dpl : 2 ;
  353   unsigned char p : 1 ;
  354   unsigned char limit : 4 ;
  355   unsigned char avl : 1 ;
  356   unsigned char l : 1 ;
  357   unsigned char d : 1 ;
  358   unsigned char g : 1 ;
  359   unsigned char base2 ;
  360};
  361#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  362union __anonunion_ldv_2542_18 {
  363   struct __anonstruct_ldv_2526_19 ldv_2526 ;
  364   struct __anonstruct_ldv_2541_20 ldv_2541 ;
  365};
  366#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  367struct desc_struct {
  368   union __anonunion_ldv_2542_18 ldv_2542 ;
  369};
  370#line 122 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  371struct thread_struct;
  372#line 122
  373struct thread_struct;
  374#line 122
  375struct thread_struct;
  376#line 122
  377struct thread_struct;
  378#line 124
  379struct cpumask;
  380#line 124
  381struct cpumask;
  382#line 124
  383struct cpumask;
  384#line 124
  385struct cpumask;
  386#line 320 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  387struct arch_spinlock;
  388#line 320
  389struct arch_spinlock;
  390#line 320
  391struct arch_spinlock;
  392#line 320
  393struct arch_spinlock;
  394#line 304 "include/linux/bitmap.h"
  395struct cpumask {
  396   unsigned long bits[64U] ;
  397};
  398#line 13 "include/linux/cpumask.h"
  399typedef struct cpumask cpumask_t;
  400#line 622 "include/linux/cpumask.h"
  401typedef struct cpumask *cpumask_var_t;
  402#line 90 "include/linux/personality.h"
  403struct map_segment;
  404#line 90
  405struct map_segment;
  406#line 90
  407struct map_segment;
  408#line 90 "include/linux/personality.h"
  409struct exec_domain {
  410   char const   *name ;
  411   void (*handler)(int  , struct pt_regs * ) ;
  412   unsigned char pers_low ;
  413   unsigned char pers_high ;
  414   unsigned long *signal_map ;
  415   unsigned long *signal_invmap ;
  416   struct map_segment *err_map ;
  417   struct map_segment *socktype_map ;
  418   struct map_segment *sockopt_map ;
  419   struct map_segment *af_map ;
  420   struct module *module ;
  421   struct exec_domain *next ;
  422};
  423#line 277 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  424struct i387_fsave_struct {
  425   u32 cwd ;
  426   u32 swd ;
  427   u32 twd ;
  428   u32 fip ;
  429   u32 fcs ;
  430   u32 foo ;
  431   u32 fos ;
  432   u32 st_space[20U] ;
  433   u32 status ;
  434};
  435#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  436struct __anonstruct_ldv_5171_24 {
  437   u64 rip ;
  438   u64 rdp ;
  439};
  440#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  441struct __anonstruct_ldv_5177_25 {
  442   u32 fip ;
  443   u32 fcs ;
  444   u32 foo ;
  445   u32 fos ;
  446};
  447#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  448union __anonunion_ldv_5178_23 {
  449   struct __anonstruct_ldv_5171_24 ldv_5171 ;
  450   struct __anonstruct_ldv_5177_25 ldv_5177 ;
  451};
  452#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  453union __anonunion_ldv_5187_26 {
  454   u32 padding1[12U] ;
  455   u32 sw_reserved[12U] ;
  456};
  457#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  458struct i387_fxsave_struct {
  459   u16 cwd ;
  460   u16 swd ;
  461   u16 twd ;
  462   u16 fop ;
  463   union __anonunion_ldv_5178_23 ldv_5178 ;
  464   u32 mxcsr ;
  465   u32 mxcsr_mask ;
  466   u32 st_space[32U] ;
  467   u32 xmm_space[64U] ;
  468   u32 padding[12U] ;
  469   union __anonunion_ldv_5187_26 ldv_5187 ;
  470};
  471#line 329 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  472struct i387_soft_struct {
  473   u32 cwd ;
  474   u32 swd ;
  475   u32 twd ;
  476   u32 fip ;
  477   u32 fcs ;
  478   u32 foo ;
  479   u32 fos ;
  480   u32 st_space[20U] ;
  481   u8 ftop ;
  482   u8 changed ;
  483   u8 lookahead ;
  484   u8 no_update ;
  485   u8 rm ;
  486   u8 alimit ;
  487   struct math_emu_info *info ;
  488   u32 entry_eip ;
  489};
  490#line 350 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  491struct ymmh_struct {
  492   u32 ymmh_space[64U] ;
  493};
  494#line 355 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  495struct xsave_hdr_struct {
  496   u64 xstate_bv ;
  497   u64 reserved1[2U] ;
  498   u64 reserved2[5U] ;
  499};
  500#line 361 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  501struct xsave_struct {
  502   struct i387_fxsave_struct i387 ;
  503   struct xsave_hdr_struct xsave_hdr ;
  504   struct ymmh_struct ymmh ;
  505};
  506#line 367 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  507union thread_xstate {
  508   struct i387_fsave_struct fsave ;
  509   struct i387_fxsave_struct fxsave ;
  510   struct i387_soft_struct soft ;
  511   struct xsave_struct xsave ;
  512};
  513#line 375 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  514struct fpu {
  515   union thread_xstate *state ;
  516};
  517#line 421
  518struct kmem_cache;
  519#line 421
  520struct kmem_cache;
  521#line 421
  522struct kmem_cache;
  523#line 422
  524struct perf_event;
  525#line 422
  526struct perf_event;
  527#line 422
  528struct perf_event;
  529#line 422
  530struct perf_event;
  531#line 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  532struct thread_struct {
  533   struct desc_struct tls_array[3U] ;
  534   unsigned long sp0 ;
  535   unsigned long sp ;
  536   unsigned long usersp ;
  537   unsigned short es ;
  538   unsigned short ds ;
  539   unsigned short fsindex ;
  540   unsigned short gsindex ;
  541   unsigned long fs ;
  542   unsigned long gs ;
  543   struct perf_event *ptrace_bps[4U] ;
  544   unsigned long debugreg6 ;
  545   unsigned long ptrace_dr7 ;
  546   unsigned long cr2 ;
  547   unsigned long trap_no ;
  548   unsigned long error_code ;
  549   struct fpu fpu ;
  550   unsigned long *io_bitmap_ptr ;
  551   unsigned long iopl ;
  552   unsigned int io_bitmap_max ;
  553};
  554#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  555struct __anonstruct_mm_segment_t_28 {
  556   unsigned long seg ;
  557};
  558#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  559typedef struct __anonstruct_mm_segment_t_28 mm_segment_t;
  560#line 23 "include/asm-generic/atomic-long.h"
  561typedef atomic64_t atomic_long_t;
  562#line 131 "include/asm-generic/atomic-long.h"
  563struct thread_info {
  564   struct task_struct *task ;
  565   struct exec_domain *exec_domain ;
  566   __u32 flags ;
  567   __u32 status ;
  568   __u32 cpu ;
  569   int preempt_count ;
  570   mm_segment_t addr_limit ;
  571   struct restart_block restart_block ;
  572   void *sysenter_return ;
  573   int uaccess_err ;
  574};
  575#line 8 "include/linux/bottom_half.h"
  576struct arch_spinlock {
  577   unsigned int slock ;
  578};
  579#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  580typedef struct arch_spinlock arch_spinlock_t;
  581#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  582struct __anonstruct_arch_rwlock_t_29 {
  583   unsigned int lock ;
  584};
  585#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  586typedef struct __anonstruct_arch_rwlock_t_29 arch_rwlock_t;
  587#line 17
  588struct lockdep_map;
  589#line 17
  590struct lockdep_map;
  591#line 17
  592struct lockdep_map;
  593#line 17
  594struct lockdep_map;
  595#line 55 "include/linux/debug_locks.h"
  596struct stack_trace {
  597   unsigned int nr_entries ;
  598   unsigned int max_entries ;
  599   unsigned long *entries ;
  600   int skip ;
  601};
  602#line 26 "include/linux/stacktrace.h"
  603struct lockdep_subclass_key {
  604   char __one_byte ;
  605};
  606#line 53 "include/linux/lockdep.h"
  607struct lock_class_key {
  608   struct lockdep_subclass_key subkeys[8U] ;
  609};
  610#line 59 "include/linux/lockdep.h"
  611struct lock_class {
  612   struct list_head hash_entry ;
  613   struct list_head lock_entry ;
  614   struct lockdep_subclass_key *key ;
  615   unsigned int subclass ;
  616   unsigned int dep_gen_id ;
  617   unsigned long usage_mask ;
  618   struct stack_trace usage_traces[13U] ;
  619   struct list_head locks_after ;
  620   struct list_head locks_before ;
  621   unsigned int version ;
  622   unsigned long ops ;
  623   char const   *name ;
  624   int name_version ;
  625   unsigned long contention_point[4U] ;
  626   unsigned long contending_point[4U] ;
  627};
  628#line 144 "include/linux/lockdep.h"
  629struct lockdep_map {
  630   struct lock_class_key *key ;
  631   struct lock_class *class_cache[2U] ;
  632   char const   *name ;
  633   int cpu ;
  634   unsigned long ip ;
  635};
  636#line 187 "include/linux/lockdep.h"
  637struct held_lock {
  638   u64 prev_chain_key ;
  639   unsigned long acquire_ip ;
  640   struct lockdep_map *instance ;
  641   struct lockdep_map *nest_lock ;
  642   u64 waittime_stamp ;
  643   u64 holdtime_stamp ;
  644   unsigned short class_idx : 13 ;
  645   unsigned char irq_context : 2 ;
  646   unsigned char trylock : 1 ;
  647   unsigned char read : 2 ;
  648   unsigned char check : 2 ;
  649   unsigned char hardirqs_off : 1 ;
  650   unsigned short references : 11 ;
  651};
  652#line 552 "include/linux/lockdep.h"
  653struct raw_spinlock {
  654   arch_spinlock_t raw_lock ;
  655   unsigned int magic ;
  656   unsigned int owner_cpu ;
  657   void *owner ;
  658   struct lockdep_map dep_map ;
  659};
  660#line 32 "include/linux/spinlock_types.h"
  661typedef struct raw_spinlock raw_spinlock_t;
  662#line 33 "include/linux/spinlock_types.h"
  663struct __anonstruct_ldv_6059_31 {
  664   u8 __padding[24U] ;
  665   struct lockdep_map dep_map ;
  666};
  667#line 33 "include/linux/spinlock_types.h"
  668union __anonunion_ldv_6060_30 {
  669   struct raw_spinlock rlock ;
  670   struct __anonstruct_ldv_6059_31 ldv_6059 ;
  671};
  672#line 33 "include/linux/spinlock_types.h"
  673struct spinlock {
  674   union __anonunion_ldv_6060_30 ldv_6060 ;
  675};
  676#line 76 "include/linux/spinlock_types.h"
  677typedef struct spinlock spinlock_t;
  678#line 23 "include/linux/rwlock_types.h"
  679struct __anonstruct_rwlock_t_32 {
  680   arch_rwlock_t raw_lock ;
  681   unsigned int magic ;
  682   unsigned int owner_cpu ;
  683   void *owner ;
  684   struct lockdep_map dep_map ;
  685};
  686#line 23 "include/linux/rwlock_types.h"
  687typedef struct __anonstruct_rwlock_t_32 rwlock_t;
  688#line 110 "include/linux/seqlock.h"
  689struct seqcount {
  690   unsigned int sequence ;
  691};
  692#line 121 "include/linux/seqlock.h"
  693typedef struct seqcount seqcount_t;
  694#line 233 "include/linux/seqlock.h"
  695struct timespec {
  696   __kernel_time_t tv_sec ;
  697   long tv_nsec ;
  698};
  699#line 286 "include/linux/time.h"
  700struct kstat {
  701   u64 ino ;
  702   dev_t dev ;
  703   umode_t mode ;
  704   unsigned int nlink ;
  705   uid_t uid ;
  706   gid_t gid ;
  707   dev_t rdev ;
  708   loff_t size ;
  709   struct timespec atime ;
  710   struct timespec mtime ;
  711   struct timespec ctime ;
  712   unsigned long blksize ;
  713   unsigned long long blocks ;
  714};
  715#line 28 "include/linux/wait.h"
  716struct __wait_queue;
  717#line 28
  718struct __wait_queue;
  719#line 28
  720struct __wait_queue;
  721#line 28 "include/linux/wait.h"
  722typedef struct __wait_queue wait_queue_t;
  723#line 31 "include/linux/wait.h"
  724struct __wait_queue {
  725   unsigned int flags ;
  726   void *private ;
  727   int (*func)(wait_queue_t * , unsigned int  , int  , void * ) ;
  728   struct list_head task_list ;
  729};
  730#line 49 "include/linux/wait.h"
  731struct __wait_queue_head {
  732   spinlock_t lock ;
  733   struct list_head task_list ;
  734};
  735#line 54 "include/linux/wait.h"
  736typedef struct __wait_queue_head wait_queue_head_t;
  737#line 96 "include/linux/nodemask.h"
  738struct __anonstruct_nodemask_t_34 {
  739   unsigned long bits[16U] ;
  740};
  741#line 96 "include/linux/nodemask.h"
  742typedef struct __anonstruct_nodemask_t_34 nodemask_t;
  743#line 640 "include/linux/mmzone.h"
  744struct mutex {
  745   atomic_t count ;
  746   spinlock_t wait_lock ;
  747   struct list_head wait_list ;
  748   struct task_struct *owner ;
  749   char const   *name ;
  750   void *magic ;
  751   struct lockdep_map dep_map ;
  752};
  753#line 63 "include/linux/mutex.h"
  754struct mutex_waiter {
  755   struct list_head list ;
  756   struct task_struct *task ;
  757   void *magic ;
  758};
  759#line 171
  760struct rw_semaphore;
  761#line 171
  762struct rw_semaphore;
  763#line 171
  764struct rw_semaphore;
  765#line 171
  766struct rw_semaphore;
  767#line 172 "include/linux/mutex.h"
  768struct rw_semaphore {
  769   long count ;
  770   spinlock_t wait_lock ;
  771   struct list_head wait_list ;
  772   struct lockdep_map dep_map ;
  773};
  774#line 175 "include/linux/ioport.h"
  775struct device;
  776#line 175
  777struct device;
  778#line 175
  779struct device;
  780#line 175
  781struct device;
  782#line 312 "include/linux/jiffies.h"
  783union ktime {
  784   s64 tv64 ;
  785};
  786#line 59 "include/linux/ktime.h"
  787typedef union ktime ktime_t;
  788#line 99 "include/linux/debugobjects.h"
  789struct tvec_base;
  790#line 99
  791struct tvec_base;
  792#line 99
  793struct tvec_base;
  794#line 99
  795struct tvec_base;
  796#line 100 "include/linux/debugobjects.h"
  797struct timer_list {
  798   struct list_head entry ;
  799   unsigned long expires ;
  800   struct tvec_base *base ;
  801   void (*function)(unsigned long  ) ;
  802   unsigned long data ;
  803   int slack ;
  804   int start_pid ;
  805   void *start_site ;
  806   char start_comm[16U] ;
  807   struct lockdep_map lockdep_map ;
  808};
  809#line 289 "include/linux/timer.h"
  810struct hrtimer;
  811#line 289
  812struct hrtimer;
  813#line 289
  814struct hrtimer;
  815#line 289
  816struct hrtimer;
  817#line 290
  818enum hrtimer_restart;
  819#line 290
  820enum hrtimer_restart;
  821#line 290
  822enum hrtimer_restart;
  823#line 302
  824struct work_struct;
  825#line 302
  826struct work_struct;
  827#line 302
  828struct work_struct;
  829#line 302
  830struct work_struct;
  831#line 45 "include/linux/workqueue.h"
  832struct work_struct {
  833   atomic_long_t data ;
  834   struct list_head entry ;
  835   void (*func)(struct work_struct * ) ;
  836   struct lockdep_map lockdep_map ;
  837};
  838#line 86 "include/linux/workqueue.h"
  839struct delayed_work {
  840   struct work_struct work ;
  841   struct timer_list timer ;
  842};
  843#line 443 "include/linux/workqueue.h"
  844struct completion {
  845   unsigned int done ;
  846   wait_queue_head_t wait ;
  847};
  848#line 46 "include/linux/pm.h"
  849struct pm_message {
  850   int event ;
  851};
  852#line 52 "include/linux/pm.h"
  853typedef struct pm_message pm_message_t;
  854#line 53 "include/linux/pm.h"
  855struct dev_pm_ops {
  856   int (*prepare)(struct device * ) ;
  857   void (*complete)(struct device * ) ;
  858   int (*suspend)(struct device * ) ;
  859   int (*resume)(struct device * ) ;
  860   int (*freeze)(struct device * ) ;
  861   int (*thaw)(struct device * ) ;
  862   int (*poweroff)(struct device * ) ;
  863   int (*restore)(struct device * ) ;
  864   int (*suspend_noirq)(struct device * ) ;
  865   int (*resume_noirq)(struct device * ) ;
  866   int (*freeze_noirq)(struct device * ) ;
  867   int (*thaw_noirq)(struct device * ) ;
  868   int (*poweroff_noirq)(struct device * ) ;
  869   int (*restore_noirq)(struct device * ) ;
  870   int (*runtime_suspend)(struct device * ) ;
  871   int (*runtime_resume)(struct device * ) ;
  872   int (*runtime_idle)(struct device * ) ;
  873};
  874#line 272
  875enum rpm_status {
  876    RPM_ACTIVE = 0,
  877    RPM_RESUMING = 1,
  878    RPM_SUSPENDED = 2,
  879    RPM_SUSPENDING = 3
  880} ;
  881#line 279
  882enum rpm_request {
  883    RPM_REQ_NONE = 0,
  884    RPM_REQ_IDLE = 1,
  885    RPM_REQ_SUSPEND = 2,
  886    RPM_REQ_AUTOSUSPEND = 3,
  887    RPM_REQ_RESUME = 4
  888} ;
  889#line 287
  890struct wakeup_source;
  891#line 287
  892struct wakeup_source;
  893#line 287
  894struct wakeup_source;
  895#line 287
  896struct wakeup_source;
  897#line 288 "include/linux/pm.h"
  898struct dev_pm_info {
  899   pm_message_t power_state ;
  900   unsigned char can_wakeup : 1 ;
  901   unsigned char async_suspend : 1 ;
  902   bool is_prepared ;
  903   bool is_suspended ;
  904   spinlock_t lock ;
  905   struct list_head entry ;
  906   struct completion completion ;
  907   struct wakeup_source *wakeup ;
  908   struct timer_list suspend_timer ;
  909   unsigned long timer_expires ;
  910   struct work_struct work ;
  911   wait_queue_head_t wait_queue ;
  912   atomic_t usage_count ;
  913   atomic_t child_count ;
  914   unsigned char disable_depth : 3 ;
  915   unsigned char ignore_children : 1 ;
  916   unsigned char idle_notification : 1 ;
  917   unsigned char request_pending : 1 ;
  918   unsigned char deferred_resume : 1 ;
  919   unsigned char run_wake : 1 ;
  920   unsigned char runtime_auto : 1 ;
  921   unsigned char no_callbacks : 1 ;
  922   unsigned char irq_safe : 1 ;
  923   unsigned char use_autosuspend : 1 ;
  924   unsigned char timer_autosuspends : 1 ;
  925   enum rpm_request request ;
  926   enum rpm_status runtime_status ;
  927   int runtime_error ;
  928   int autosuspend_delay ;
  929   unsigned long last_busy ;
  930   unsigned long active_jiffies ;
  931   unsigned long suspended_jiffies ;
  932   unsigned long accounting_timestamp ;
  933   void *subsys_data ;
  934};
  935#line 469 "include/linux/pm.h"
  936struct dev_power_domain {
  937   struct dev_pm_ops ops ;
  938};
  939#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
  940struct __anonstruct_mm_context_t_99 {
  941   void *ldt ;
  942   int size ;
  943   unsigned short ia32_compat ;
  944   struct mutex lock ;
  945   void *vdso ;
  946};
  947#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
  948typedef struct __anonstruct_mm_context_t_99 mm_context_t;
  949#line 71 "include/asm-generic/iomap.h"
  950struct vm_area_struct;
  951#line 71
  952struct vm_area_struct;
  953#line 71
  954struct vm_area_struct;
  955#line 71
  956struct vm_area_struct;
  957#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
  958struct bio_vec;
  959#line 335
  960struct bio_vec;
  961#line 335
  962struct bio_vec;
  963#line 335
  964struct bio_vec;
  965#line 18 "include/linux/smp.h"
  966struct call_single_data {
  967   struct list_head list ;
  968   void (*func)(void * ) ;
  969   void *info ;
  970   u16 flags ;
  971   u16 priv ;
  972};
  973#line 53 "include/linux/rcupdate.h"
  974struct rcu_head {
  975   struct rcu_head *next ;
  976   void (*func)(struct rcu_head * ) ;
  977};
  978#line 841
  979struct nsproxy;
  980#line 841
  981struct nsproxy;
  982#line 841
  983struct nsproxy;
  984#line 841
  985struct nsproxy;
  986#line 36 "include/linux/kmod.h"
  987struct cred;
  988#line 36
  989struct cred;
  990#line 36
  991struct cred;
  992#line 36
  993struct cred;
  994#line 27 "include/linux/elf.h"
  995typedef __u64 Elf64_Addr;
  996#line 28 "include/linux/elf.h"
  997typedef __u16 Elf64_Half;
  998#line 32 "include/linux/elf.h"
  999typedef __u32 Elf64_Word;
 1000#line 33 "include/linux/elf.h"
 1001typedef __u64 Elf64_Xword;
 1002#line 202 "include/linux/elf.h"
 1003struct elf64_sym {
 1004   Elf64_Word st_name ;
 1005   unsigned char st_info ;
 1006   unsigned char st_other ;
 1007   Elf64_Half st_shndx ;
 1008   Elf64_Addr st_value ;
 1009   Elf64_Xword st_size ;
 1010};
 1011#line 210 "include/linux/elf.h"
 1012typedef struct elf64_sym Elf64_Sym;
 1013#line 444
 1014struct sock;
 1015#line 444
 1016struct sock;
 1017#line 444
 1018struct sock;
 1019#line 444
 1020struct sock;
 1021#line 445
 1022struct kobject;
 1023#line 445
 1024struct kobject;
 1025#line 445
 1026struct kobject;
 1027#line 445
 1028struct kobject;
 1029#line 446
 1030enum kobj_ns_type {
 1031    KOBJ_NS_TYPE_NONE = 0,
 1032    KOBJ_NS_TYPE_NET = 1,
 1033    KOBJ_NS_TYPES = 2
 1034} ;
 1035#line 452 "include/linux/elf.h"
 1036struct kobj_ns_type_operations {
 1037   enum kobj_ns_type type ;
 1038   void *(*grab_current_ns)(void) ;
 1039   void const   *(*netlink_ns)(struct sock * ) ;
 1040   void const   *(*initial_ns)(void) ;
 1041   void (*drop_ns)(void * ) ;
 1042};
 1043#line 57 "include/linux/kobject_ns.h"
 1044struct attribute {
 1045   char const   *name ;
 1046   mode_t mode ;
 1047   struct lock_class_key *key ;
 1048   struct lock_class_key skey ;
 1049};
 1050#line 33 "include/linux/sysfs.h"
 1051struct attribute_group {
 1052   char const   *name ;
 1053   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 1054   struct attribute **attrs ;
 1055};
 1056#line 62 "include/linux/sysfs.h"
 1057struct bin_attribute {
 1058   struct attribute attr ;
 1059   size_t size ;
 1060   void *private ;
 1061   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1062                   loff_t  , size_t  ) ;
 1063   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1064                    loff_t  , size_t  ) ;
 1065   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 1066};
 1067#line 98 "include/linux/sysfs.h"
 1068struct sysfs_ops {
 1069   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 1070   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 1071};
 1072#line 116
 1073struct sysfs_dirent;
 1074#line 116
 1075struct sysfs_dirent;
 1076#line 116
 1077struct sysfs_dirent;
 1078#line 116
 1079struct sysfs_dirent;
 1080#line 181 "include/linux/sysfs.h"
 1081struct kref {
 1082   atomic_t refcount ;
 1083};
 1084#line 39 "include/linux/kobject.h"
 1085enum kobject_action {
 1086    KOBJ_ADD = 0,
 1087    KOBJ_REMOVE = 1,
 1088    KOBJ_CHANGE = 2,
 1089    KOBJ_MOVE = 3,
 1090    KOBJ_ONLINE = 4,
 1091    KOBJ_OFFLINE = 5,
 1092    KOBJ_MAX = 6
 1093} ;
 1094#line 49
 1095struct kset;
 1096#line 49
 1097struct kset;
 1098#line 49
 1099struct kset;
 1100#line 49
 1101struct kobj_type;
 1102#line 49
 1103struct kobj_type;
 1104#line 49
 1105struct kobj_type;
 1106#line 49 "include/linux/kobject.h"
 1107struct kobject {
 1108   char const   *name ;
 1109   struct list_head entry ;
 1110   struct kobject *parent ;
 1111   struct kset *kset ;
 1112   struct kobj_type *ktype ;
 1113   struct sysfs_dirent *sd ;
 1114   struct kref kref ;
 1115   unsigned char state_initialized : 1 ;
 1116   unsigned char state_in_sysfs : 1 ;
 1117   unsigned char state_add_uevent_sent : 1 ;
 1118   unsigned char state_remove_uevent_sent : 1 ;
 1119   unsigned char uevent_suppress : 1 ;
 1120};
 1121#line 109 "include/linux/kobject.h"
 1122struct kobj_type {
 1123   void (*release)(struct kobject * ) ;
 1124   struct sysfs_ops  const  *sysfs_ops ;
 1125   struct attribute **default_attrs ;
 1126   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 1127   void const   *(*namespace)(struct kobject * ) ;
 1128};
 1129#line 117 "include/linux/kobject.h"
 1130struct kobj_uevent_env {
 1131   char *envp[32U] ;
 1132   int envp_idx ;
 1133   char buf[2048U] ;
 1134   int buflen ;
 1135};
 1136#line 124 "include/linux/kobject.h"
 1137struct kset_uevent_ops {
 1138   int (* const  filter)(struct kset * , struct kobject * ) ;
 1139   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 1140   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 1141};
 1142#line 141 "include/linux/kobject.h"
 1143struct kset {
 1144   struct list_head list ;
 1145   spinlock_t list_lock ;
 1146   struct kobject kobj ;
 1147   struct kset_uevent_ops  const  *uevent_ops ;
 1148};
 1149#line 219
 1150struct kernel_param;
 1151#line 219
 1152struct kernel_param;
 1153#line 219
 1154struct kernel_param;
 1155#line 219
 1156struct kernel_param;
 1157#line 220 "include/linux/kobject.h"
 1158struct kernel_param_ops {
 1159   int (*set)(char const   * , struct kernel_param  const  * ) ;
 1160   int (*get)(char * , struct kernel_param  const  * ) ;
 1161   void (*free)(void * ) ;
 1162};
 1163#line 44 "include/linux/moduleparam.h"
 1164struct kparam_string;
 1165#line 44
 1166struct kparam_string;
 1167#line 44
 1168struct kparam_string;
 1169#line 44
 1170struct kparam_array;
 1171#line 44
 1172struct kparam_array;
 1173#line 44
 1174struct kparam_array;
 1175#line 44 "include/linux/moduleparam.h"
 1176union __anonunion_ldv_12924_129 {
 1177   void *arg ;
 1178   struct kparam_string  const  *str ;
 1179   struct kparam_array  const  *arr ;
 1180};
 1181#line 44 "include/linux/moduleparam.h"
 1182struct kernel_param {
 1183   char const   *name ;
 1184   struct kernel_param_ops  const  *ops ;
 1185   u16 perm ;
 1186   u16 flags ;
 1187   union __anonunion_ldv_12924_129 ldv_12924 ;
 1188};
 1189#line 59 "include/linux/moduleparam.h"
 1190struct kparam_string {
 1191   unsigned int maxlen ;
 1192   char *string ;
 1193};
 1194#line 65 "include/linux/moduleparam.h"
 1195struct kparam_array {
 1196   unsigned int max ;
 1197   unsigned int elemsize ;
 1198   unsigned int *num ;
 1199   struct kernel_param_ops  const  *ops ;
 1200   void *elem ;
 1201};
 1202#line 404 "include/linux/moduleparam.h"
 1203struct jump_label_key {
 1204   atomic_t enabled ;
 1205};
 1206#line 99 "include/linux/jump_label.h"
 1207struct tracepoint;
 1208#line 99
 1209struct tracepoint;
 1210#line 99
 1211struct tracepoint;
 1212#line 99
 1213struct tracepoint;
 1214#line 100 "include/linux/jump_label.h"
 1215struct tracepoint_func {
 1216   void *func ;
 1217   void *data ;
 1218};
 1219#line 29 "include/linux/tracepoint.h"
 1220struct tracepoint {
 1221   char const   *name ;
 1222   struct jump_label_key key ;
 1223   void (*regfunc)(void) ;
 1224   void (*unregfunc)(void) ;
 1225   struct tracepoint_func *funcs ;
 1226};
 1227#line 84 "include/linux/tracepoint.h"
 1228struct mod_arch_specific {
 1229
 1230};
 1231#line 127 "include/trace/events/module.h"
 1232struct kernel_symbol {
 1233   unsigned long value ;
 1234   char const   *name ;
 1235};
 1236#line 48 "include/linux/module.h"
 1237struct module_attribute {
 1238   struct attribute attr ;
 1239   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
 1240   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
 1241                    size_t  ) ;
 1242   void (*setup)(struct module * , char const   * ) ;
 1243   int (*test)(struct module * ) ;
 1244   void (*free)(struct module * ) ;
 1245};
 1246#line 68
 1247struct module_param_attrs;
 1248#line 68
 1249struct module_param_attrs;
 1250#line 68
 1251struct module_param_attrs;
 1252#line 68 "include/linux/module.h"
 1253struct module_kobject {
 1254   struct kobject kobj ;
 1255   struct module *mod ;
 1256   struct kobject *drivers_dir ;
 1257   struct module_param_attrs *mp ;
 1258};
 1259#line 81
 1260struct exception_table_entry;
 1261#line 81
 1262struct exception_table_entry;
 1263#line 81
 1264struct exception_table_entry;
 1265#line 81
 1266struct exception_table_entry;
 1267#line 218
 1268enum module_state {
 1269    MODULE_STATE_LIVE = 0,
 1270    MODULE_STATE_COMING = 1,
 1271    MODULE_STATE_GOING = 2
 1272} ;
 1273#line 224 "include/linux/module.h"
 1274struct module_ref {
 1275   unsigned int incs ;
 1276   unsigned int decs ;
 1277};
 1278#line 418
 1279struct module_sect_attrs;
 1280#line 418
 1281struct module_sect_attrs;
 1282#line 418
 1283struct module_sect_attrs;
 1284#line 418
 1285struct module_notes_attrs;
 1286#line 418
 1287struct module_notes_attrs;
 1288#line 418
 1289struct module_notes_attrs;
 1290#line 418
 1291struct ftrace_event_call;
 1292#line 418
 1293struct ftrace_event_call;
 1294#line 418
 1295struct ftrace_event_call;
 1296#line 418 "include/linux/module.h"
 1297struct module {
 1298   enum module_state state ;
 1299   struct list_head list ;
 1300   char name[56U] ;
 1301   struct module_kobject mkobj ;
 1302   struct module_attribute *modinfo_attrs ;
 1303   char const   *version ;
 1304   char const   *srcversion ;
 1305   struct kobject *holders_dir ;
 1306   struct kernel_symbol  const  *syms ;
 1307   unsigned long const   *crcs ;
 1308   unsigned int num_syms ;
 1309   struct kernel_param *kp ;
 1310   unsigned int num_kp ;
 1311   unsigned int num_gpl_syms ;
 1312   struct kernel_symbol  const  *gpl_syms ;
 1313   unsigned long const   *gpl_crcs ;
 1314   struct kernel_symbol  const  *unused_syms ;
 1315   unsigned long const   *unused_crcs ;
 1316   unsigned int num_unused_syms ;
 1317   unsigned int num_unused_gpl_syms ;
 1318   struct kernel_symbol  const  *unused_gpl_syms ;
 1319   unsigned long const   *unused_gpl_crcs ;
 1320   struct kernel_symbol  const  *gpl_future_syms ;
 1321   unsigned long const   *gpl_future_crcs ;
 1322   unsigned int num_gpl_future_syms ;
 1323   unsigned int num_exentries ;
 1324   struct exception_table_entry *extable ;
 1325   int (*init)(void) ;
 1326   void *module_init ;
 1327   void *module_core ;
 1328   unsigned int init_size ;
 1329   unsigned int core_size ;
 1330   unsigned int init_text_size ;
 1331   unsigned int core_text_size ;
 1332   unsigned int init_ro_size ;
 1333   unsigned int core_ro_size ;
 1334   struct mod_arch_specific arch ;
 1335   unsigned int taints ;
 1336   unsigned int num_bugs ;
 1337   struct list_head bug_list ;
 1338   struct bug_entry *bug_table ;
 1339   Elf64_Sym *symtab ;
 1340   Elf64_Sym *core_symtab ;
 1341   unsigned int num_symtab ;
 1342   unsigned int core_num_syms ;
 1343   char *strtab ;
 1344   char *core_strtab ;
 1345   struct module_sect_attrs *sect_attrs ;
 1346   struct module_notes_attrs *notes_attrs ;
 1347   char *args ;
 1348   void *percpu ;
 1349   unsigned int percpu_size ;
 1350   unsigned int num_tracepoints ;
 1351   struct tracepoint * const  *tracepoints_ptrs ;
 1352   unsigned int num_trace_bprintk_fmt ;
 1353   char const   **trace_bprintk_fmt_start ;
 1354   struct ftrace_event_call **trace_events ;
 1355   unsigned int num_trace_events ;
 1356   unsigned int num_ftrace_callsites ;
 1357   unsigned long *ftrace_callsites ;
 1358   struct list_head source_list ;
 1359   struct list_head target_list ;
 1360   struct task_struct *waiter ;
 1361   void (*exit)(void) ;
 1362   struct module_ref *refptr ;
 1363   ctor_fn_t (**ctors)(void) ;
 1364   unsigned int num_ctors ;
 1365};
 1366#line 93 "include/linux/capability.h"
 1367struct kernel_cap_struct {
 1368   __u32 cap[2U] ;
 1369};
 1370#line 96 "include/linux/capability.h"
 1371typedef struct kernel_cap_struct kernel_cap_t;
 1372#line 104
 1373struct dentry;
 1374#line 104
 1375struct dentry;
 1376#line 104
 1377struct dentry;
 1378#line 104
 1379struct dentry;
 1380#line 105
 1381struct user_namespace;
 1382#line 105
 1383struct user_namespace;
 1384#line 105
 1385struct user_namespace;
 1386#line 105
 1387struct user_namespace;
 1388#line 553 "include/linux/capability.h"
 1389struct rb_node {
 1390   unsigned long rb_parent_color ;
 1391   struct rb_node *rb_right ;
 1392   struct rb_node *rb_left ;
 1393};
 1394#line 108 "include/linux/rbtree.h"
 1395struct rb_root {
 1396   struct rb_node *rb_node ;
 1397};
 1398#line 176
 1399struct prio_tree_node;
 1400#line 176
 1401struct prio_tree_node;
 1402#line 176
 1403struct prio_tree_node;
 1404#line 176 "include/linux/rbtree.h"
 1405struct raw_prio_tree_node {
 1406   struct prio_tree_node *left ;
 1407   struct prio_tree_node *right ;
 1408   struct prio_tree_node *parent ;
 1409};
 1410#line 19 "include/linux/prio_tree.h"
 1411struct prio_tree_node {
 1412   struct prio_tree_node *left ;
 1413   struct prio_tree_node *right ;
 1414   struct prio_tree_node *parent ;
 1415   unsigned long start ;
 1416   unsigned long last ;
 1417};
 1418#line 27 "include/linux/prio_tree.h"
 1419struct prio_tree_root {
 1420   struct prio_tree_node *prio_tree_node ;
 1421   unsigned short index_bits ;
 1422   unsigned short raw ;
 1423};
 1424#line 115
 1425struct address_space;
 1426#line 115
 1427struct address_space;
 1428#line 115
 1429struct address_space;
 1430#line 115
 1431struct address_space;
 1432#line 116 "include/linux/prio_tree.h"
 1433struct __anonstruct_ldv_13930_132 {
 1434   u16 inuse ;
 1435   u16 objects ;
 1436};
 1437#line 116 "include/linux/prio_tree.h"
 1438union __anonunion_ldv_13931_131 {
 1439   atomic_t _mapcount ;
 1440   struct __anonstruct_ldv_13930_132 ldv_13930 ;
 1441};
 1442#line 116 "include/linux/prio_tree.h"
 1443struct __anonstruct_ldv_13936_134 {
 1444   unsigned long private ;
 1445   struct address_space *mapping ;
 1446};
 1447#line 116 "include/linux/prio_tree.h"
 1448union __anonunion_ldv_13939_133 {
 1449   struct __anonstruct_ldv_13936_134 ldv_13936 ;
 1450   struct kmem_cache *slab ;
 1451   struct page *first_page ;
 1452};
 1453#line 116 "include/linux/prio_tree.h"
 1454union __anonunion_ldv_13943_135 {
 1455   unsigned long index ;
 1456   void *freelist ;
 1457};
 1458#line 116 "include/linux/prio_tree.h"
 1459struct page {
 1460   unsigned long flags ;
 1461   atomic_t _count ;
 1462   union __anonunion_ldv_13931_131 ldv_13931 ;
 1463   union __anonunion_ldv_13939_133 ldv_13939 ;
 1464   union __anonunion_ldv_13943_135 ldv_13943 ;
 1465   struct list_head lru ;
 1466};
 1467#line 124 "include/linux/mm_types.h"
 1468struct __anonstruct_vm_set_137 {
 1469   struct list_head list ;
 1470   void *parent ;
 1471   struct vm_area_struct *head ;
 1472};
 1473#line 124 "include/linux/mm_types.h"
 1474union __anonunion_shared_136 {
 1475   struct __anonstruct_vm_set_137 vm_set ;
 1476   struct raw_prio_tree_node prio_tree_node ;
 1477};
 1478#line 124
 1479struct anon_vma;
 1480#line 124
 1481struct anon_vma;
 1482#line 124
 1483struct anon_vma;
 1484#line 124
 1485struct vm_operations_struct;
 1486#line 124
 1487struct vm_operations_struct;
 1488#line 124
 1489struct vm_operations_struct;
 1490#line 124
 1491struct mempolicy;
 1492#line 124
 1493struct mempolicy;
 1494#line 124
 1495struct mempolicy;
 1496#line 124 "include/linux/mm_types.h"
 1497struct vm_area_struct {
 1498   struct mm_struct *vm_mm ;
 1499   unsigned long vm_start ;
 1500   unsigned long vm_end ;
 1501   struct vm_area_struct *vm_next ;
 1502   struct vm_area_struct *vm_prev ;
 1503   pgprot_t vm_page_prot ;
 1504   unsigned long vm_flags ;
 1505   struct rb_node vm_rb ;
 1506   union __anonunion_shared_136 shared ;
 1507   struct list_head anon_vma_chain ;
 1508   struct anon_vma *anon_vma ;
 1509   struct vm_operations_struct  const  *vm_ops ;
 1510   unsigned long vm_pgoff ;
 1511   struct file *vm_file ;
 1512   void *vm_private_data ;
 1513   struct mempolicy *vm_policy ;
 1514};
 1515#line 187 "include/linux/mm_types.h"
 1516struct core_thread {
 1517   struct task_struct *task ;
 1518   struct core_thread *next ;
 1519};
 1520#line 193 "include/linux/mm_types.h"
 1521struct core_state {
 1522   atomic_t nr_threads ;
 1523   struct core_thread dumper ;
 1524   struct completion startup ;
 1525};
 1526#line 206 "include/linux/mm_types.h"
 1527struct mm_rss_stat {
 1528   atomic_long_t count[3U] ;
 1529};
 1530#line 219
 1531struct linux_binfmt;
 1532#line 219
 1533struct linux_binfmt;
 1534#line 219
 1535struct linux_binfmt;
 1536#line 219
 1537struct mmu_notifier_mm;
 1538#line 219
 1539struct mmu_notifier_mm;
 1540#line 219
 1541struct mmu_notifier_mm;
 1542#line 219 "include/linux/mm_types.h"
 1543struct mm_struct {
 1544   struct vm_area_struct *mmap ;
 1545   struct rb_root mm_rb ;
 1546   struct vm_area_struct *mmap_cache ;
 1547   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 1548                                      unsigned long  , unsigned long  ) ;
 1549   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
 1550   unsigned long mmap_base ;
 1551   unsigned long task_size ;
 1552   unsigned long cached_hole_size ;
 1553   unsigned long free_area_cache ;
 1554   pgd_t *pgd ;
 1555   atomic_t mm_users ;
 1556   atomic_t mm_count ;
 1557   int map_count ;
 1558   spinlock_t page_table_lock ;
 1559   struct rw_semaphore mmap_sem ;
 1560   struct list_head mmlist ;
 1561   unsigned long hiwater_rss ;
 1562   unsigned long hiwater_vm ;
 1563   unsigned long total_vm ;
 1564   unsigned long locked_vm ;
 1565   unsigned long shared_vm ;
 1566   unsigned long exec_vm ;
 1567   unsigned long stack_vm ;
 1568   unsigned long reserved_vm ;
 1569   unsigned long def_flags ;
 1570   unsigned long nr_ptes ;
 1571   unsigned long start_code ;
 1572   unsigned long end_code ;
 1573   unsigned long start_data ;
 1574   unsigned long end_data ;
 1575   unsigned long start_brk ;
 1576   unsigned long brk ;
 1577   unsigned long start_stack ;
 1578   unsigned long arg_start ;
 1579   unsigned long arg_end ;
 1580   unsigned long env_start ;
 1581   unsigned long env_end ;
 1582   unsigned long saved_auxv[44U] ;
 1583   struct mm_rss_stat rss_stat ;
 1584   struct linux_binfmt *binfmt ;
 1585   cpumask_var_t cpu_vm_mask_var ;
 1586   mm_context_t context ;
 1587   unsigned int faultstamp ;
 1588   unsigned int token_priority ;
 1589   unsigned int last_interval ;
 1590   atomic_t oom_disable_count ;
 1591   unsigned long flags ;
 1592   struct core_state *core_state ;
 1593   spinlock_t ioctx_lock ;
 1594   struct hlist_head ioctx_list ;
 1595   struct task_struct *owner ;
 1596   struct file *exe_file ;
 1597   unsigned long num_exe_file_vmas ;
 1598   struct mmu_notifier_mm *mmu_notifier_mm ;
 1599   pgtable_t pmd_huge_pte ;
 1600   struct cpumask cpumask_allocation ;
 1601};
 1602#line 7 "include/asm-generic/cputime.h"
 1603typedef unsigned long cputime_t;
 1604#line 118 "include/linux/sem.h"
 1605struct sem_undo_list;
 1606#line 118
 1607struct sem_undo_list;
 1608#line 118
 1609struct sem_undo_list;
 1610#line 131 "include/linux/sem.h"
 1611struct sem_undo_list {
 1612   atomic_t refcnt ;
 1613   spinlock_t lock ;
 1614   struct list_head list_proc ;
 1615};
 1616#line 140 "include/linux/sem.h"
 1617struct sysv_sem {
 1618   struct sem_undo_list *undo_list ;
 1619};
 1620#line 149
 1621struct siginfo;
 1622#line 149
 1623struct siginfo;
 1624#line 149
 1625struct siginfo;
 1626#line 149
 1627struct siginfo;
 1628#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1629struct __anonstruct_sigset_t_138 {
 1630   unsigned long sig[1U] ;
 1631};
 1632#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1633typedef struct __anonstruct_sigset_t_138 sigset_t;
 1634#line 17 "include/asm-generic/signal-defs.h"
 1635typedef void __signalfn_t(int  );
 1636#line 18 "include/asm-generic/signal-defs.h"
 1637typedef __signalfn_t *__sighandler_t;
 1638#line 20 "include/asm-generic/signal-defs.h"
 1639typedef void __restorefn_t(void);
 1640#line 21 "include/asm-generic/signal-defs.h"
 1641typedef __restorefn_t *__sigrestore_t;
 1642#line 126 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1643struct sigaction {
 1644   __sighandler_t sa_handler ;
 1645   unsigned long sa_flags ;
 1646   __sigrestore_t sa_restorer ;
 1647   sigset_t sa_mask ;
 1648};
 1649#line 173 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1650struct k_sigaction {
 1651   struct sigaction sa ;
 1652};
 1653#line 185 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1654union sigval {
 1655   int sival_int ;
 1656   void *sival_ptr ;
 1657};
 1658#line 10 "include/asm-generic/siginfo.h"
 1659typedef union sigval sigval_t;
 1660#line 11 "include/asm-generic/siginfo.h"
 1661struct __anonstruct__kill_140 {
 1662   __kernel_pid_t _pid ;
 1663   __kernel_uid32_t _uid ;
 1664};
 1665#line 11 "include/asm-generic/siginfo.h"
 1666struct __anonstruct__timer_141 {
 1667   __kernel_timer_t _tid ;
 1668   int _overrun ;
 1669   char _pad[0U] ;
 1670   sigval_t _sigval ;
 1671   int _sys_private ;
 1672};
 1673#line 11 "include/asm-generic/siginfo.h"
 1674struct __anonstruct__rt_142 {
 1675   __kernel_pid_t _pid ;
 1676   __kernel_uid32_t _uid ;
 1677   sigval_t _sigval ;
 1678};
 1679#line 11 "include/asm-generic/siginfo.h"
 1680struct __anonstruct__sigchld_143 {
 1681   __kernel_pid_t _pid ;
 1682   __kernel_uid32_t _uid ;
 1683   int _status ;
 1684   __kernel_clock_t _utime ;
 1685   __kernel_clock_t _stime ;
 1686};
 1687#line 11 "include/asm-generic/siginfo.h"
 1688struct __anonstruct__sigfault_144 {
 1689   void *_addr ;
 1690   short _addr_lsb ;
 1691};
 1692#line 11 "include/asm-generic/siginfo.h"
 1693struct __anonstruct__sigpoll_145 {
 1694   long _band ;
 1695   int _fd ;
 1696};
 1697#line 11 "include/asm-generic/siginfo.h"
 1698union __anonunion__sifields_139 {
 1699   int _pad[28U] ;
 1700   struct __anonstruct__kill_140 _kill ;
 1701   struct __anonstruct__timer_141 _timer ;
 1702   struct __anonstruct__rt_142 _rt ;
 1703   struct __anonstruct__sigchld_143 _sigchld ;
 1704   struct __anonstruct__sigfault_144 _sigfault ;
 1705   struct __anonstruct__sigpoll_145 _sigpoll ;
 1706};
 1707#line 11 "include/asm-generic/siginfo.h"
 1708struct siginfo {
 1709   int si_signo ;
 1710   int si_errno ;
 1711   int si_code ;
 1712   union __anonunion__sifields_139 _sifields ;
 1713};
 1714#line 94 "include/asm-generic/siginfo.h"
 1715typedef struct siginfo siginfo_t;
 1716#line 14 "include/linux/signal.h"
 1717struct user_struct;
 1718#line 14
 1719struct user_struct;
 1720#line 14
 1721struct user_struct;
 1722#line 24 "include/linux/signal.h"
 1723struct sigpending {
 1724   struct list_head list ;
 1725   sigset_t signal ;
 1726};
 1727#line 387
 1728enum pid_type {
 1729    PIDTYPE_PID = 0,
 1730    PIDTYPE_PGID = 1,
 1731    PIDTYPE_SID = 2,
 1732    PIDTYPE_MAX = 3
 1733} ;
 1734#line 394
 1735struct pid_namespace;
 1736#line 394
 1737struct pid_namespace;
 1738#line 394
 1739struct pid_namespace;
 1740#line 394 "include/linux/signal.h"
 1741struct upid {
 1742   int nr ;
 1743   struct pid_namespace *ns ;
 1744   struct hlist_node pid_chain ;
 1745};
 1746#line 56 "include/linux/pid.h"
 1747struct pid {
 1748   atomic_t count ;
 1749   unsigned int level ;
 1750   struct hlist_head tasks[3U] ;
 1751   struct rcu_head rcu ;
 1752   struct upid numbers[1U] ;
 1753};
 1754#line 68 "include/linux/pid.h"
 1755struct pid_link {
 1756   struct hlist_node node ;
 1757   struct pid *pid ;
 1758};
 1759#line 175 "include/linux/pid.h"
 1760struct percpu_counter {
 1761   spinlock_t lock ;
 1762   s64 count ;
 1763   struct list_head list ;
 1764   s32 *counters ;
 1765};
 1766#line 45 "include/linux/proportions.h"
 1767struct prop_local_percpu {
 1768   struct percpu_counter events ;
 1769   int shift ;
 1770   unsigned long period ;
 1771   spinlock_t lock ;
 1772};
 1773#line 90 "include/linux/proportions.h"
 1774struct prop_local_single {
 1775   unsigned long events ;
 1776   unsigned long period ;
 1777   int shift ;
 1778   spinlock_t lock ;
 1779};
 1780#line 10 "include/linux/seccomp.h"
 1781struct __anonstruct_seccomp_t_148 {
 1782   int mode ;
 1783};
 1784#line 10 "include/linux/seccomp.h"
 1785typedef struct __anonstruct_seccomp_t_148 seccomp_t;
 1786#line 427 "include/linux/rculist.h"
 1787struct plist_head {
 1788   struct list_head node_list ;
 1789   raw_spinlock_t *rawlock ;
 1790   spinlock_t *spinlock ;
 1791};
 1792#line 88 "include/linux/plist.h"
 1793struct plist_node {
 1794   int prio ;
 1795   struct list_head prio_list ;
 1796   struct list_head node_list ;
 1797};
 1798#line 38 "include/linux/rtmutex.h"
 1799struct rt_mutex_waiter;
 1800#line 38
 1801struct rt_mutex_waiter;
 1802#line 38
 1803struct rt_mutex_waiter;
 1804#line 38
 1805struct rt_mutex_waiter;
 1806#line 41 "include/linux/resource.h"
 1807struct rlimit {
 1808   unsigned long rlim_cur ;
 1809   unsigned long rlim_max ;
 1810};
 1811#line 85 "include/linux/resource.h"
 1812struct timerqueue_node {
 1813   struct rb_node node ;
 1814   ktime_t expires ;
 1815};
 1816#line 12 "include/linux/timerqueue.h"
 1817struct timerqueue_head {
 1818   struct rb_root head ;
 1819   struct timerqueue_node *next ;
 1820};
 1821#line 50
 1822struct hrtimer_clock_base;
 1823#line 50
 1824struct hrtimer_clock_base;
 1825#line 50
 1826struct hrtimer_clock_base;
 1827#line 50
 1828struct hrtimer_clock_base;
 1829#line 51
 1830struct hrtimer_cpu_base;
 1831#line 51
 1832struct hrtimer_cpu_base;
 1833#line 51
 1834struct hrtimer_cpu_base;
 1835#line 51
 1836struct hrtimer_cpu_base;
 1837#line 60
 1838enum hrtimer_restart {
 1839    HRTIMER_NORESTART = 0,
 1840    HRTIMER_RESTART = 1
 1841} ;
 1842#line 65 "include/linux/timerqueue.h"
 1843struct hrtimer {
 1844   struct timerqueue_node node ;
 1845   ktime_t _softexpires ;
 1846   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 1847   struct hrtimer_clock_base *base ;
 1848   unsigned long state ;
 1849   int start_pid ;
 1850   void *start_site ;
 1851   char start_comm[16U] ;
 1852};
 1853#line 132 "include/linux/hrtimer.h"
 1854struct hrtimer_clock_base {
 1855   struct hrtimer_cpu_base *cpu_base ;
 1856   int index ;
 1857   clockid_t clockid ;
 1858   struct timerqueue_head active ;
 1859   ktime_t resolution ;
 1860   ktime_t (*get_time)(void) ;
 1861   ktime_t softirq_time ;
 1862   ktime_t offset ;
 1863};
 1864#line 162 "include/linux/hrtimer.h"
 1865struct hrtimer_cpu_base {
 1866   raw_spinlock_t lock ;
 1867   unsigned long active_bases ;
 1868   ktime_t expires_next ;
 1869   int hres_active ;
 1870   int hang_detected ;
 1871   unsigned long nr_events ;
 1872   unsigned long nr_retries ;
 1873   unsigned long nr_hangs ;
 1874   ktime_t max_hang_time ;
 1875   struct hrtimer_clock_base clock_base[3U] ;
 1876};
 1877#line 452 "include/linux/hrtimer.h"
 1878struct task_io_accounting {
 1879   u64 rchar ;
 1880   u64 wchar ;
 1881   u64 syscr ;
 1882   u64 syscw ;
 1883   u64 read_bytes ;
 1884   u64 write_bytes ;
 1885   u64 cancelled_write_bytes ;
 1886};
 1887#line 45 "include/linux/task_io_accounting.h"
 1888struct latency_record {
 1889   unsigned long backtrace[12U] ;
 1890   unsigned int count ;
 1891   unsigned long time ;
 1892   unsigned long max ;
 1893};
 1894#line 29 "include/linux/key.h"
 1895typedef int32_t key_serial_t;
 1896#line 32 "include/linux/key.h"
 1897typedef uint32_t key_perm_t;
 1898#line 33
 1899struct key;
 1900#line 33
 1901struct key;
 1902#line 33
 1903struct key;
 1904#line 33
 1905struct key;
 1906#line 34
 1907struct signal_struct;
 1908#line 34
 1909struct signal_struct;
 1910#line 34
 1911struct signal_struct;
 1912#line 34
 1913struct signal_struct;
 1914#line 35
 1915struct key_type;
 1916#line 35
 1917struct key_type;
 1918#line 35
 1919struct key_type;
 1920#line 35
 1921struct key_type;
 1922#line 37
 1923struct keyring_list;
 1924#line 37
 1925struct keyring_list;
 1926#line 37
 1927struct keyring_list;
 1928#line 37
 1929struct keyring_list;
 1930#line 115
 1931struct key_user;
 1932#line 115
 1933struct key_user;
 1934#line 115
 1935struct key_user;
 1936#line 115 "include/linux/key.h"
 1937union __anonunion_ldv_15197_149 {
 1938   time_t expiry ;
 1939   time_t revoked_at ;
 1940};
 1941#line 115 "include/linux/key.h"
 1942union __anonunion_type_data_150 {
 1943   struct list_head link ;
 1944   unsigned long x[2U] ;
 1945   void *p[2U] ;
 1946   int reject_error ;
 1947};
 1948#line 115 "include/linux/key.h"
 1949union __anonunion_payload_151 {
 1950   unsigned long value ;
 1951   void *rcudata ;
 1952   void *data ;
 1953   struct keyring_list *subscriptions ;
 1954};
 1955#line 115 "include/linux/key.h"
 1956struct key {
 1957   atomic_t usage ;
 1958   key_serial_t serial ;
 1959   struct rb_node serial_node ;
 1960   struct key_type *type ;
 1961   struct rw_semaphore sem ;
 1962   struct key_user *user ;
 1963   void *security ;
 1964   union __anonunion_ldv_15197_149 ldv_15197 ;
 1965   uid_t uid ;
 1966   gid_t gid ;
 1967   key_perm_t perm ;
 1968   unsigned short quotalen ;
 1969   unsigned short datalen ;
 1970   unsigned long flags ;
 1971   char *description ;
 1972   union __anonunion_type_data_150 type_data ;
 1973   union __anonunion_payload_151 payload ;
 1974};
 1975#line 310
 1976struct audit_context;
 1977#line 310
 1978struct audit_context;
 1979#line 310
 1980struct audit_context;
 1981#line 310
 1982struct audit_context;
 1983#line 27 "include/linux/selinux.h"
 1984struct inode;
 1985#line 27
 1986struct inode;
 1987#line 27
 1988struct inode;
 1989#line 27
 1990struct inode;
 1991#line 28 "include/linux/selinux.h"
 1992struct group_info {
 1993   atomic_t usage ;
 1994   int ngroups ;
 1995   int nblocks ;
 1996   gid_t small_block[32U] ;
 1997   gid_t *blocks[0U] ;
 1998};
 1999#line 77 "include/linux/cred.h"
 2000struct thread_group_cred {
 2001   atomic_t usage ;
 2002   pid_t tgid ;
 2003   spinlock_t lock ;
 2004   struct key *session_keyring ;
 2005   struct key *process_keyring ;
 2006   struct rcu_head rcu ;
 2007};
 2008#line 91 "include/linux/cred.h"
 2009struct cred {
 2010   atomic_t usage ;
 2011   atomic_t subscribers ;
 2012   void *put_addr ;
 2013   unsigned int magic ;
 2014   uid_t uid ;
 2015   gid_t gid ;
 2016   uid_t suid ;
 2017   gid_t sgid ;
 2018   uid_t euid ;
 2019   gid_t egid ;
 2020   uid_t fsuid ;
 2021   gid_t fsgid ;
 2022   unsigned int securebits ;
 2023   kernel_cap_t cap_inheritable ;
 2024   kernel_cap_t cap_permitted ;
 2025   kernel_cap_t cap_effective ;
 2026   kernel_cap_t cap_bset ;
 2027   unsigned char jit_keyring ;
 2028   struct key *thread_keyring ;
 2029   struct key *request_key_auth ;
 2030   struct thread_group_cred *tgcred ;
 2031   void *security ;
 2032   struct user_struct *user ;
 2033   struct user_namespace *user_ns ;
 2034   struct group_info *group_info ;
 2035   struct rcu_head rcu ;
 2036};
 2037#line 264
 2038struct futex_pi_state;
 2039#line 264
 2040struct futex_pi_state;
 2041#line 264
 2042struct futex_pi_state;
 2043#line 264
 2044struct futex_pi_state;
 2045#line 265
 2046struct robust_list_head;
 2047#line 265
 2048struct robust_list_head;
 2049#line 265
 2050struct robust_list_head;
 2051#line 265
 2052struct robust_list_head;
 2053#line 266
 2054struct bio_list;
 2055#line 266
 2056struct bio_list;
 2057#line 266
 2058struct bio_list;
 2059#line 266
 2060struct bio_list;
 2061#line 267
 2062struct fs_struct;
 2063#line 267
 2064struct fs_struct;
 2065#line 267
 2066struct fs_struct;
 2067#line 267
 2068struct fs_struct;
 2069#line 268
 2070struct perf_event_context;
 2071#line 268
 2072struct perf_event_context;
 2073#line 268
 2074struct perf_event_context;
 2075#line 268
 2076struct perf_event_context;
 2077#line 269
 2078struct blk_plug;
 2079#line 269
 2080struct blk_plug;
 2081#line 269
 2082struct blk_plug;
 2083#line 269
 2084struct blk_plug;
 2085#line 149 "include/linux/sched.h"
 2086struct cfs_rq;
 2087#line 149
 2088struct cfs_rq;
 2089#line 149
 2090struct cfs_rq;
 2091#line 149
 2092struct cfs_rq;
 2093#line 44 "include/linux/aio_abi.h"
 2094struct io_event {
 2095   __u64 data ;
 2096   __u64 obj ;
 2097   __s64 res ;
 2098   __s64 res2 ;
 2099};
 2100#line 106 "include/linux/aio_abi.h"
 2101struct iovec {
 2102   void *iov_base ;
 2103   __kernel_size_t iov_len ;
 2104};
 2105#line 54 "include/linux/uio.h"
 2106struct kioctx;
 2107#line 54
 2108struct kioctx;
 2109#line 54
 2110struct kioctx;
 2111#line 54
 2112struct kioctx;
 2113#line 55 "include/linux/uio.h"
 2114union __anonunion_ki_obj_152 {
 2115   void *user ;
 2116   struct task_struct *tsk ;
 2117};
 2118#line 55
 2119struct eventfd_ctx;
 2120#line 55
 2121struct eventfd_ctx;
 2122#line 55
 2123struct eventfd_ctx;
 2124#line 55 "include/linux/uio.h"
 2125struct kiocb {
 2126   struct list_head ki_run_list ;
 2127   unsigned long ki_flags ;
 2128   int ki_users ;
 2129   unsigned int ki_key ;
 2130   struct file *ki_filp ;
 2131   struct kioctx *ki_ctx ;
 2132   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
 2133   ssize_t (*ki_retry)(struct kiocb * ) ;
 2134   void (*ki_dtor)(struct kiocb * ) ;
 2135   union __anonunion_ki_obj_152 ki_obj ;
 2136   __u64 ki_user_data ;
 2137   loff_t ki_pos ;
 2138   void *private ;
 2139   unsigned short ki_opcode ;
 2140   size_t ki_nbytes ;
 2141   char *ki_buf ;
 2142   size_t ki_left ;
 2143   struct iovec ki_inline_vec ;
 2144   struct iovec *ki_iovec ;
 2145   unsigned long ki_nr_segs ;
 2146   unsigned long ki_cur_seg ;
 2147   struct list_head ki_list ;
 2148   struct eventfd_ctx *ki_eventfd ;
 2149};
 2150#line 161 "include/linux/aio.h"
 2151struct aio_ring_info {
 2152   unsigned long mmap_base ;
 2153   unsigned long mmap_size ;
 2154   struct page **ring_pages ;
 2155   spinlock_t ring_lock ;
 2156   long nr_pages ;
 2157   unsigned int nr ;
 2158   unsigned int tail ;
 2159   struct page *internal_pages[8U] ;
 2160};
 2161#line 177 "include/linux/aio.h"
 2162struct kioctx {
 2163   atomic_t users ;
 2164   int dead ;
 2165   struct mm_struct *mm ;
 2166   unsigned long user_id ;
 2167   struct hlist_node list ;
 2168   wait_queue_head_t wait ;
 2169   spinlock_t ctx_lock ;
 2170   int reqs_active ;
 2171   struct list_head active_reqs ;
 2172   struct list_head run_list ;
 2173   unsigned int max_reqs ;
 2174   struct aio_ring_info ring_info ;
 2175   struct delayed_work wq ;
 2176   struct rcu_head rcu_head ;
 2177};
 2178#line 404 "include/linux/sched.h"
 2179struct sighand_struct {
 2180   atomic_t count ;
 2181   struct k_sigaction action[64U] ;
 2182   spinlock_t siglock ;
 2183   wait_queue_head_t signalfd_wqh ;
 2184};
 2185#line 447 "include/linux/sched.h"
 2186struct pacct_struct {
 2187   int ac_flag ;
 2188   long ac_exitcode ;
 2189   unsigned long ac_mem ;
 2190   cputime_t ac_utime ;
 2191   cputime_t ac_stime ;
 2192   unsigned long ac_minflt ;
 2193   unsigned long ac_majflt ;
 2194};
 2195#line 455 "include/linux/sched.h"
 2196struct cpu_itimer {
 2197   cputime_t expires ;
 2198   cputime_t incr ;
 2199   u32 error ;
 2200   u32 incr_error ;
 2201};
 2202#line 462 "include/linux/sched.h"
 2203struct task_cputime {
 2204   cputime_t utime ;
 2205   cputime_t stime ;
 2206   unsigned long long sum_exec_runtime ;
 2207};
 2208#line 479 "include/linux/sched.h"
 2209struct thread_group_cputimer {
 2210   struct task_cputime cputime ;
 2211   int running ;
 2212   spinlock_t lock ;
 2213};
 2214#line 515
 2215struct autogroup;
 2216#line 515
 2217struct autogroup;
 2218#line 515
 2219struct autogroup;
 2220#line 515
 2221struct autogroup;
 2222#line 516
 2223struct tty_struct;
 2224#line 516
 2225struct tty_struct;
 2226#line 516
 2227struct tty_struct;
 2228#line 516
 2229struct taskstats;
 2230#line 516
 2231struct taskstats;
 2232#line 516
 2233struct taskstats;
 2234#line 516
 2235struct tty_audit_buf;
 2236#line 516
 2237struct tty_audit_buf;
 2238#line 516
 2239struct tty_audit_buf;
 2240#line 516 "include/linux/sched.h"
 2241struct signal_struct {
 2242   atomic_t sigcnt ;
 2243   atomic_t live ;
 2244   int nr_threads ;
 2245   wait_queue_head_t wait_chldexit ;
 2246   struct task_struct *curr_target ;
 2247   struct sigpending shared_pending ;
 2248   int group_exit_code ;
 2249   int notify_count ;
 2250   struct task_struct *group_exit_task ;
 2251   int group_stop_count ;
 2252   unsigned int flags ;
 2253   struct list_head posix_timers ;
 2254   struct hrtimer real_timer ;
 2255   struct pid *leader_pid ;
 2256   ktime_t it_real_incr ;
 2257   struct cpu_itimer it[2U] ;
 2258   struct thread_group_cputimer cputimer ;
 2259   struct task_cputime cputime_expires ;
 2260   struct list_head cpu_timers[3U] ;
 2261   struct pid *tty_old_pgrp ;
 2262   int leader ;
 2263   struct tty_struct *tty ;
 2264   struct autogroup *autogroup ;
 2265   cputime_t utime ;
 2266   cputime_t stime ;
 2267   cputime_t cutime ;
 2268   cputime_t cstime ;
 2269   cputime_t gtime ;
 2270   cputime_t cgtime ;
 2271   cputime_t prev_utime ;
 2272   cputime_t prev_stime ;
 2273   unsigned long nvcsw ;
 2274   unsigned long nivcsw ;
 2275   unsigned long cnvcsw ;
 2276   unsigned long cnivcsw ;
 2277   unsigned long min_flt ;
 2278   unsigned long maj_flt ;
 2279   unsigned long cmin_flt ;
 2280   unsigned long cmaj_flt ;
 2281   unsigned long inblock ;
 2282   unsigned long oublock ;
 2283   unsigned long cinblock ;
 2284   unsigned long coublock ;
 2285   unsigned long maxrss ;
 2286   unsigned long cmaxrss ;
 2287   struct task_io_accounting ioac ;
 2288   unsigned long long sum_sched_runtime ;
 2289   struct rlimit rlim[16U] ;
 2290   struct pacct_struct pacct ;
 2291   struct taskstats *stats ;
 2292   unsigned int audit_tty ;
 2293   struct tty_audit_buf *tty_audit_buf ;
 2294   struct rw_semaphore threadgroup_fork_lock ;
 2295   int oom_adj ;
 2296   int oom_score_adj ;
 2297   int oom_score_adj_min ;
 2298   struct mutex cred_guard_mutex ;
 2299};
 2300#line 683 "include/linux/sched.h"
 2301struct user_struct {
 2302   atomic_t __count ;
 2303   atomic_t processes ;
 2304   atomic_t files ;
 2305   atomic_t sigpending ;
 2306   atomic_t inotify_watches ;
 2307   atomic_t inotify_devs ;
 2308   atomic_t fanotify_listeners ;
 2309   atomic_long_t epoll_watches ;
 2310   unsigned long mq_bytes ;
 2311   unsigned long locked_shm ;
 2312   struct key *uid_keyring ;
 2313   struct key *session_keyring ;
 2314   struct hlist_node uidhash_node ;
 2315   uid_t uid ;
 2316   struct user_namespace *user_ns ;
 2317   atomic_long_t locked_vm ;
 2318};
 2319#line 728
 2320struct backing_dev_info;
 2321#line 728
 2322struct backing_dev_info;
 2323#line 728
 2324struct backing_dev_info;
 2325#line 728
 2326struct backing_dev_info;
 2327#line 729
 2328struct reclaim_state;
 2329#line 729
 2330struct reclaim_state;
 2331#line 729
 2332struct reclaim_state;
 2333#line 729
 2334struct reclaim_state;
 2335#line 730 "include/linux/sched.h"
 2336struct sched_info {
 2337   unsigned long pcount ;
 2338   unsigned long long run_delay ;
 2339   unsigned long long last_arrival ;
 2340   unsigned long long last_queued ;
 2341};
 2342#line 744 "include/linux/sched.h"
 2343struct task_delay_info {
 2344   spinlock_t lock ;
 2345   unsigned int flags ;
 2346   struct timespec blkio_start ;
 2347   struct timespec blkio_end ;
 2348   u64 blkio_delay ;
 2349   u64 swapin_delay ;
 2350   u32 blkio_count ;
 2351   u32 swapin_count ;
 2352   struct timespec freepages_start ;
 2353   struct timespec freepages_end ;
 2354   u64 freepages_delay ;
 2355   u32 freepages_count ;
 2356};
 2357#line 1037
 2358struct io_context;
 2359#line 1037
 2360struct io_context;
 2361#line 1037
 2362struct io_context;
 2363#line 1037
 2364struct io_context;
 2365#line 1059
 2366struct pipe_inode_info;
 2367#line 1059
 2368struct pipe_inode_info;
 2369#line 1059
 2370struct pipe_inode_info;
 2371#line 1059
 2372struct pipe_inode_info;
 2373#line 1061
 2374struct rq;
 2375#line 1061
 2376struct rq;
 2377#line 1061
 2378struct rq;
 2379#line 1061
 2380struct rq;
 2381#line 1062 "include/linux/sched.h"
 2382struct sched_class {
 2383   struct sched_class  const  *next ;
 2384   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
 2385   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
 2386   void (*yield_task)(struct rq * ) ;
 2387   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
 2388   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
 2389   struct task_struct *(*pick_next_task)(struct rq * ) ;
 2390   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
 2391   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
 2392   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
 2393   void (*post_schedule)(struct rq * ) ;
 2394   void (*task_waking)(struct task_struct * ) ;
 2395   void (*task_woken)(struct rq * , struct task_struct * ) ;
 2396   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
 2397   void (*rq_online)(struct rq * ) ;
 2398   void (*rq_offline)(struct rq * ) ;
 2399   void (*set_curr_task)(struct rq * ) ;
 2400   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
 2401   void (*task_fork)(struct task_struct * ) ;
 2402   void (*switched_from)(struct rq * , struct task_struct * ) ;
 2403   void (*switched_to)(struct rq * , struct task_struct * ) ;
 2404   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
 2405   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
 2406   void (*task_move_group)(struct task_struct * , int  ) ;
 2407};
 2408#line 1127 "include/linux/sched.h"
 2409struct load_weight {
 2410   unsigned long weight ;
 2411   unsigned long inv_weight ;
 2412};
 2413#line 1132 "include/linux/sched.h"
 2414struct sched_statistics {
 2415   u64 wait_start ;
 2416   u64 wait_max ;
 2417   u64 wait_count ;
 2418   u64 wait_sum ;
 2419   u64 iowait_count ;
 2420   u64 iowait_sum ;
 2421   u64 sleep_start ;
 2422   u64 sleep_max ;
 2423   s64 sum_sleep_runtime ;
 2424   u64 block_start ;
 2425   u64 block_max ;
 2426   u64 exec_max ;
 2427   u64 slice_max ;
 2428   u64 nr_migrations_cold ;
 2429   u64 nr_failed_migrations_affine ;
 2430   u64 nr_failed_migrations_running ;
 2431   u64 nr_failed_migrations_hot ;
 2432   u64 nr_forced_migrations ;
 2433   u64 nr_wakeups ;
 2434   u64 nr_wakeups_sync ;
 2435   u64 nr_wakeups_migrate ;
 2436   u64 nr_wakeups_local ;
 2437   u64 nr_wakeups_remote ;
 2438   u64 nr_wakeups_affine ;
 2439   u64 nr_wakeups_affine_attempts ;
 2440   u64 nr_wakeups_passive ;
 2441   u64 nr_wakeups_idle ;
 2442};
 2443#line 1167 "include/linux/sched.h"
 2444struct sched_entity {
 2445   struct load_weight load ;
 2446   struct rb_node run_node ;
 2447   struct list_head group_node ;
 2448   unsigned int on_rq ;
 2449   u64 exec_start ;
 2450   u64 sum_exec_runtime ;
 2451   u64 vruntime ;
 2452   u64 prev_sum_exec_runtime ;
 2453   u64 nr_migrations ;
 2454   struct sched_statistics statistics ;
 2455   struct sched_entity *parent ;
 2456   struct cfs_rq *cfs_rq ;
 2457   struct cfs_rq *my_q ;
 2458};
 2459#line 1193
 2460struct rt_rq;
 2461#line 1193
 2462struct rt_rq;
 2463#line 1193
 2464struct rt_rq;
 2465#line 1193 "include/linux/sched.h"
 2466struct sched_rt_entity {
 2467   struct list_head run_list ;
 2468   unsigned long timeout ;
 2469   unsigned int time_slice ;
 2470   int nr_cpus_allowed ;
 2471   struct sched_rt_entity *back ;
 2472   struct sched_rt_entity *parent ;
 2473   struct rt_rq *rt_rq ;
 2474   struct rt_rq *my_q ;
 2475};
 2476#line 1217
 2477struct mem_cgroup;
 2478#line 1217
 2479struct mem_cgroup;
 2480#line 1217
 2481struct mem_cgroup;
 2482#line 1217 "include/linux/sched.h"
 2483struct memcg_batch_info {
 2484   int do_batch ;
 2485   struct mem_cgroup *memcg ;
 2486   unsigned long nr_pages ;
 2487   unsigned long memsw_nr_pages ;
 2488};
 2489#line 1569
 2490struct files_struct;
 2491#line 1569
 2492struct files_struct;
 2493#line 1569
 2494struct files_struct;
 2495#line 1569
 2496struct irqaction;
 2497#line 1569
 2498struct irqaction;
 2499#line 1569
 2500struct irqaction;
 2501#line 1569
 2502struct css_set;
 2503#line 1569
 2504struct css_set;
 2505#line 1569
 2506struct css_set;
 2507#line 1569
 2508struct compat_robust_list_head;
 2509#line 1569
 2510struct compat_robust_list_head;
 2511#line 1569
 2512struct compat_robust_list_head;
 2513#line 1569
 2514struct ftrace_ret_stack;
 2515#line 1569
 2516struct ftrace_ret_stack;
 2517#line 1569
 2518struct ftrace_ret_stack;
 2519#line 1569 "include/linux/sched.h"
 2520struct task_struct {
 2521   long volatile   state ;
 2522   void *stack ;
 2523   atomic_t usage ;
 2524   unsigned int flags ;
 2525   unsigned int ptrace ;
 2526   struct task_struct *wake_entry ;
 2527   int on_cpu ;
 2528   int on_rq ;
 2529   int prio ;
 2530   int static_prio ;
 2531   int normal_prio ;
 2532   unsigned int rt_priority ;
 2533   struct sched_class  const  *sched_class ;
 2534   struct sched_entity se ;
 2535   struct sched_rt_entity rt ;
 2536   struct hlist_head preempt_notifiers ;
 2537   unsigned char fpu_counter ;
 2538   unsigned int btrace_seq ;
 2539   unsigned int policy ;
 2540   cpumask_t cpus_allowed ;
 2541   struct sched_info sched_info ;
 2542   struct list_head tasks ;
 2543   struct plist_node pushable_tasks ;
 2544   struct mm_struct *mm ;
 2545   struct mm_struct *active_mm ;
 2546   unsigned char brk_randomized : 1 ;
 2547   int exit_state ;
 2548   int exit_code ;
 2549   int exit_signal ;
 2550   int pdeath_signal ;
 2551   unsigned int group_stop ;
 2552   unsigned int personality ;
 2553   unsigned char did_exec : 1 ;
 2554   unsigned char in_execve : 1 ;
 2555   unsigned char in_iowait : 1 ;
 2556   unsigned char sched_reset_on_fork : 1 ;
 2557   unsigned char sched_contributes_to_load : 1 ;
 2558   pid_t pid ;
 2559   pid_t tgid ;
 2560   unsigned long stack_canary ;
 2561   struct task_struct *real_parent ;
 2562   struct task_struct *parent ;
 2563   struct list_head children ;
 2564   struct list_head sibling ;
 2565   struct task_struct *group_leader ;
 2566   struct list_head ptraced ;
 2567   struct list_head ptrace_entry ;
 2568   struct pid_link pids[3U] ;
 2569   struct list_head thread_group ;
 2570   struct completion *vfork_done ;
 2571   int *set_child_tid ;
 2572   int *clear_child_tid ;
 2573   cputime_t utime ;
 2574   cputime_t stime ;
 2575   cputime_t utimescaled ;
 2576   cputime_t stimescaled ;
 2577   cputime_t gtime ;
 2578   cputime_t prev_utime ;
 2579   cputime_t prev_stime ;
 2580   unsigned long nvcsw ;
 2581   unsigned long nivcsw ;
 2582   struct timespec start_time ;
 2583   struct timespec real_start_time ;
 2584   unsigned long min_flt ;
 2585   unsigned long maj_flt ;
 2586   struct task_cputime cputime_expires ;
 2587   struct list_head cpu_timers[3U] ;
 2588   struct cred  const  *real_cred ;
 2589   struct cred  const  *cred ;
 2590   struct cred *replacement_session_keyring ;
 2591   char comm[16U] ;
 2592   int link_count ;
 2593   int total_link_count ;
 2594   struct sysv_sem sysvsem ;
 2595   unsigned long last_switch_count ;
 2596   struct thread_struct thread ;
 2597   struct fs_struct *fs ;
 2598   struct files_struct *files ;
 2599   struct nsproxy *nsproxy ;
 2600   struct signal_struct *signal ;
 2601   struct sighand_struct *sighand ;
 2602   sigset_t blocked ;
 2603   sigset_t real_blocked ;
 2604   sigset_t saved_sigmask ;
 2605   struct sigpending pending ;
 2606   unsigned long sas_ss_sp ;
 2607   size_t sas_ss_size ;
 2608   int (*notifier)(void * ) ;
 2609   void *notifier_data ;
 2610   sigset_t *notifier_mask ;
 2611   struct audit_context *audit_context ;
 2612   uid_t loginuid ;
 2613   unsigned int sessionid ;
 2614   seccomp_t seccomp ;
 2615   u32 parent_exec_id ;
 2616   u32 self_exec_id ;
 2617   spinlock_t alloc_lock ;
 2618   struct irqaction *irqaction ;
 2619   raw_spinlock_t pi_lock ;
 2620   struct plist_head pi_waiters ;
 2621   struct rt_mutex_waiter *pi_blocked_on ;
 2622   struct mutex_waiter *blocked_on ;
 2623   unsigned int irq_events ;
 2624   unsigned long hardirq_enable_ip ;
 2625   unsigned long hardirq_disable_ip ;
 2626   unsigned int hardirq_enable_event ;
 2627   unsigned int hardirq_disable_event ;
 2628   int hardirqs_enabled ;
 2629   int hardirq_context ;
 2630   unsigned long softirq_disable_ip ;
 2631   unsigned long softirq_enable_ip ;
 2632   unsigned int softirq_disable_event ;
 2633   unsigned int softirq_enable_event ;
 2634   int softirqs_enabled ;
 2635   int softirq_context ;
 2636   u64 curr_chain_key ;
 2637   int lockdep_depth ;
 2638   unsigned int lockdep_recursion ;
 2639   struct held_lock held_locks[48U] ;
 2640   gfp_t lockdep_reclaim_gfp ;
 2641   void *journal_info ;
 2642   struct bio_list *bio_list ;
 2643   struct blk_plug *plug ;
 2644   struct reclaim_state *reclaim_state ;
 2645   struct backing_dev_info *backing_dev_info ;
 2646   struct io_context *io_context ;
 2647   unsigned long ptrace_message ;
 2648   siginfo_t *last_siginfo ;
 2649   struct task_io_accounting ioac ;
 2650   u64 acct_rss_mem1 ;
 2651   u64 acct_vm_mem1 ;
 2652   cputime_t acct_timexpd ;
 2653   nodemask_t mems_allowed ;
 2654   int mems_allowed_change_disable ;
 2655   int cpuset_mem_spread_rotor ;
 2656   int cpuset_slab_spread_rotor ;
 2657   struct css_set *cgroups ;
 2658   struct list_head cg_list ;
 2659   struct robust_list_head *robust_list ;
 2660   struct compat_robust_list_head *compat_robust_list ;
 2661   struct list_head pi_state_list ;
 2662   struct futex_pi_state *pi_state_cache ;
 2663   struct perf_event_context *perf_event_ctxp[2U] ;
 2664   struct mutex perf_event_mutex ;
 2665   struct list_head perf_event_list ;
 2666   struct mempolicy *mempolicy ;
 2667   short il_next ;
 2668   short pref_node_fork ;
 2669   atomic_t fs_excl ;
 2670   struct rcu_head rcu ;
 2671   struct pipe_inode_info *splice_pipe ;
 2672   struct task_delay_info *delays ;
 2673   int make_it_fail ;
 2674   struct prop_local_single dirties ;
 2675   int latency_record_count ;
 2676   struct latency_record latency_record[32U] ;
 2677   unsigned long timer_slack_ns ;
 2678   unsigned long default_timer_slack_ns ;
 2679   struct list_head *scm_work_list ;
 2680   int curr_ret_stack ;
 2681   struct ftrace_ret_stack *ret_stack ;
 2682   unsigned long long ftrace_timestamp ;
 2683   atomic_t trace_overrun ;
 2684   atomic_t tracing_graph_pause ;
 2685   unsigned long trace ;
 2686   unsigned long trace_recursion ;
 2687   struct memcg_batch_info memcg_batch ;
 2688   atomic_t ptrace_bp_refcnt ;
 2689};
 2690#line 2699
 2691struct bio;
 2692#line 2699
 2693struct bio;
 2694#line 2699
 2695struct bio;
 2696#line 2699
 2697struct bio;
 2698#line 2700
 2699struct bio_integrity_payload;
 2700#line 2700
 2701struct bio_integrity_payload;
 2702#line 2700
 2703struct bio_integrity_payload;
 2704#line 2700
 2705struct bio_integrity_payload;
 2706#line 2701
 2707struct block_device;
 2708#line 2701
 2709struct block_device;
 2710#line 2701
 2711struct block_device;
 2712#line 2701
 2713struct block_device;
 2714#line 17 "include/linux/blk_types.h"
 2715typedef void bio_end_io_t(struct bio * , int  );
 2716#line 18 "include/linux/blk_types.h"
 2717typedef void bio_destructor_t(struct bio * );
 2718#line 19 "include/linux/blk_types.h"
 2719struct bio_vec {
 2720   struct page *bv_page ;
 2721   unsigned int bv_len ;
 2722   unsigned int bv_offset ;
 2723};
 2724#line 28 "include/linux/blk_types.h"
 2725struct bio {
 2726   sector_t bi_sector ;
 2727   struct bio *bi_next ;
 2728   struct block_device *bi_bdev ;
 2729   unsigned long bi_flags ;
 2730   unsigned long bi_rw ;
 2731   unsigned short bi_vcnt ;
 2732   unsigned short bi_idx ;
 2733   unsigned int bi_phys_segments ;
 2734   unsigned int bi_size ;
 2735   unsigned int bi_seg_front_size ;
 2736   unsigned int bi_seg_back_size ;
 2737   unsigned int bi_max_vecs ;
 2738   unsigned int bi_comp_cpu ;
 2739   atomic_t bi_cnt ;
 2740   struct bio_vec *bi_io_vec ;
 2741   bio_end_io_t *bi_end_io ;
 2742   void *bi_private ;
 2743   struct bio_integrity_payload *bi_integrity ;
 2744   bio_destructor_t *bi_destructor ;
 2745   struct bio_vec bi_inline_vecs[0U] ;
 2746};
 2747#line 92 "include/linux/bit_spinlock.h"
 2748struct hlist_bl_node;
 2749#line 92
 2750struct hlist_bl_node;
 2751#line 92
 2752struct hlist_bl_node;
 2753#line 92 "include/linux/bit_spinlock.h"
 2754struct hlist_bl_head {
 2755   struct hlist_bl_node *first ;
 2756};
 2757#line 36 "include/linux/list_bl.h"
 2758struct hlist_bl_node {
 2759   struct hlist_bl_node *next ;
 2760   struct hlist_bl_node **pprev ;
 2761};
 2762#line 114 "include/linux/rculist_bl.h"
 2763struct nameidata;
 2764#line 114
 2765struct nameidata;
 2766#line 114
 2767struct nameidata;
 2768#line 114
 2769struct nameidata;
 2770#line 115
 2771struct path;
 2772#line 115
 2773struct path;
 2774#line 115
 2775struct path;
 2776#line 115
 2777struct path;
 2778#line 116
 2779struct vfsmount;
 2780#line 116
 2781struct vfsmount;
 2782#line 116
 2783struct vfsmount;
 2784#line 116
 2785struct vfsmount;
 2786#line 117 "include/linux/rculist_bl.h"
 2787struct qstr {
 2788   unsigned int hash ;
 2789   unsigned int len ;
 2790   unsigned char const   *name ;
 2791};
 2792#line 100 "include/linux/dcache.h"
 2793struct dentry_operations;
 2794#line 100
 2795struct dentry_operations;
 2796#line 100
 2797struct dentry_operations;
 2798#line 100
 2799struct super_block;
 2800#line 100
 2801struct super_block;
 2802#line 100
 2803struct super_block;
 2804#line 100 "include/linux/dcache.h"
 2805union __anonunion_d_u_154 {
 2806   struct list_head d_child ;
 2807   struct rcu_head d_rcu ;
 2808};
 2809#line 100 "include/linux/dcache.h"
 2810struct dentry {
 2811   unsigned int d_flags ;
 2812   seqcount_t d_seq ;
 2813   struct hlist_bl_node d_hash ;
 2814   struct dentry *d_parent ;
 2815   struct qstr d_name ;
 2816   struct inode *d_inode ;
 2817   unsigned char d_iname[32U] ;
 2818   unsigned int d_count ;
 2819   spinlock_t d_lock ;
 2820   struct dentry_operations  const  *d_op ;
 2821   struct super_block *d_sb ;
 2822   unsigned long d_time ;
 2823   void *d_fsdata ;
 2824   struct list_head d_lru ;
 2825   union __anonunion_d_u_154 d_u ;
 2826   struct list_head d_subdirs ;
 2827   struct list_head d_alias ;
 2828};
 2829#line 151 "include/linux/dcache.h"
 2830struct dentry_operations {
 2831   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 2832   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 2833   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 2834                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 2835   int (*d_delete)(struct dentry  const  * ) ;
 2836   void (*d_release)(struct dentry * ) ;
 2837   void (*d_iput)(struct dentry * , struct inode * ) ;
 2838   char *(*d_dname)(struct dentry * , char * , int  ) ;
 2839   struct vfsmount *(*d_automount)(struct path * ) ;
 2840   int (*d_manage)(struct dentry * , bool  ) ;
 2841};
 2842#line 422 "include/linux/dcache.h"
 2843struct path {
 2844   struct vfsmount *mnt ;
 2845   struct dentry *dentry ;
 2846};
 2847#line 51 "include/linux/radix-tree.h"
 2848struct radix_tree_node;
 2849#line 51
 2850struct radix_tree_node;
 2851#line 51
 2852struct radix_tree_node;
 2853#line 51 "include/linux/radix-tree.h"
 2854struct radix_tree_root {
 2855   unsigned int height ;
 2856   gfp_t gfp_mask ;
 2857   struct radix_tree_node *rnode ;
 2858};
 2859#line 45 "include/linux/semaphore.h"
 2860struct fiemap_extent {
 2861   __u64 fe_logical ;
 2862   __u64 fe_physical ;
 2863   __u64 fe_length ;
 2864   __u64 fe_reserved64[2U] ;
 2865   __u32 fe_flags ;
 2866   __u32 fe_reserved[3U] ;
 2867};
 2868#line 38 "include/linux/fiemap.h"
 2869struct export_operations;
 2870#line 38
 2871struct export_operations;
 2872#line 38
 2873struct export_operations;
 2874#line 38
 2875struct export_operations;
 2876#line 39
 2877struct hd_geometry;
 2878#line 39
 2879struct hd_geometry;
 2880#line 39
 2881struct hd_geometry;
 2882#line 39
 2883struct hd_geometry;
 2884#line 40
 2885struct poll_table_struct;
 2886#line 40
 2887struct poll_table_struct;
 2888#line 40
 2889struct poll_table_struct;
 2890#line 40
 2891struct poll_table_struct;
 2892#line 41
 2893struct kstatfs;
 2894#line 41
 2895struct kstatfs;
 2896#line 41
 2897struct kstatfs;
 2898#line 41
 2899struct kstatfs;
 2900#line 426 "include/linux/fs.h"
 2901struct iattr {
 2902   unsigned int ia_valid ;
 2903   umode_t ia_mode ;
 2904   uid_t ia_uid ;
 2905   gid_t ia_gid ;
 2906   loff_t ia_size ;
 2907   struct timespec ia_atime ;
 2908   struct timespec ia_mtime ;
 2909   struct timespec ia_ctime ;
 2910   struct file *ia_file ;
 2911};
 2912#line 119 "include/linux/quota.h"
 2913struct if_dqinfo {
 2914   __u64 dqi_bgrace ;
 2915   __u64 dqi_igrace ;
 2916   __u32 dqi_flags ;
 2917   __u32 dqi_valid ;
 2918};
 2919#line 152 "include/linux/quota.h"
 2920struct fs_disk_quota {
 2921   __s8 d_version ;
 2922   __s8 d_flags ;
 2923   __u16 d_fieldmask ;
 2924   __u32 d_id ;
 2925   __u64 d_blk_hardlimit ;
 2926   __u64 d_blk_softlimit ;
 2927   __u64 d_ino_hardlimit ;
 2928   __u64 d_ino_softlimit ;
 2929   __u64 d_bcount ;
 2930   __u64 d_icount ;
 2931   __s32 d_itimer ;
 2932   __s32 d_btimer ;
 2933   __u16 d_iwarns ;
 2934   __u16 d_bwarns ;
 2935   __s32 d_padding2 ;
 2936   __u64 d_rtb_hardlimit ;
 2937   __u64 d_rtb_softlimit ;
 2938   __u64 d_rtbcount ;
 2939   __s32 d_rtbtimer ;
 2940   __u16 d_rtbwarns ;
 2941   __s16 d_padding3 ;
 2942   char d_padding4[8U] ;
 2943};
 2944#line 75 "include/linux/dqblk_xfs.h"
 2945struct fs_qfilestat {
 2946   __u64 qfs_ino ;
 2947   __u64 qfs_nblks ;
 2948   __u32 qfs_nextents ;
 2949};
 2950#line 150 "include/linux/dqblk_xfs.h"
 2951typedef struct fs_qfilestat fs_qfilestat_t;
 2952#line 151 "include/linux/dqblk_xfs.h"
 2953struct fs_quota_stat {
 2954   __s8 qs_version ;
 2955   __u16 qs_flags ;
 2956   __s8 qs_pad ;
 2957   fs_qfilestat_t qs_uquota ;
 2958   fs_qfilestat_t qs_gquota ;
 2959   __u32 qs_incoredqs ;
 2960   __s32 qs_btimelimit ;
 2961   __s32 qs_itimelimit ;
 2962   __s32 qs_rtbtimelimit ;
 2963   __u16 qs_bwarnlimit ;
 2964   __u16 qs_iwarnlimit ;
 2965};
 2966#line 165
 2967struct dquot;
 2968#line 165
 2969struct dquot;
 2970#line 165
 2971struct dquot;
 2972#line 165
 2973struct dquot;
 2974#line 185 "include/linux/quota.h"
 2975typedef __kernel_uid32_t qid_t;
 2976#line 186 "include/linux/quota.h"
 2977typedef long long qsize_t;
 2978#line 189 "include/linux/quota.h"
 2979struct mem_dqblk {
 2980   qsize_t dqb_bhardlimit ;
 2981   qsize_t dqb_bsoftlimit ;
 2982   qsize_t dqb_curspace ;
 2983   qsize_t dqb_rsvspace ;
 2984   qsize_t dqb_ihardlimit ;
 2985   qsize_t dqb_isoftlimit ;
 2986   qsize_t dqb_curinodes ;
 2987   time_t dqb_btime ;
 2988   time_t dqb_itime ;
 2989};
 2990#line 211
 2991struct quota_format_type;
 2992#line 211
 2993struct quota_format_type;
 2994#line 211
 2995struct quota_format_type;
 2996#line 211
 2997struct quota_format_type;
 2998#line 212 "include/linux/quota.h"
 2999struct mem_dqinfo {
 3000   struct quota_format_type *dqi_format ;
 3001   int dqi_fmt_id ;
 3002   struct list_head dqi_dirty_list ;
 3003   unsigned long dqi_flags ;
 3004   unsigned int dqi_bgrace ;
 3005   unsigned int dqi_igrace ;
 3006   qsize_t dqi_maxblimit ;
 3007   qsize_t dqi_maxilimit ;
 3008   void *dqi_priv ;
 3009};
 3010#line 271 "include/linux/quota.h"
 3011struct dquot {
 3012   struct hlist_node dq_hash ;
 3013   struct list_head dq_inuse ;
 3014   struct list_head dq_free ;
 3015   struct list_head dq_dirty ;
 3016   struct mutex dq_lock ;
 3017   atomic_t dq_count ;
 3018   wait_queue_head_t dq_wait_unused ;
 3019   struct super_block *dq_sb ;
 3020   unsigned int dq_id ;
 3021   loff_t dq_off ;
 3022   unsigned long dq_flags ;
 3023   short dq_type ;
 3024   struct mem_dqblk dq_dqb ;
 3025};
 3026#line 299 "include/linux/quota.h"
 3027struct quota_format_ops {
 3028   int (*check_quota_file)(struct super_block * , int  ) ;
 3029   int (*read_file_info)(struct super_block * , int  ) ;
 3030   int (*write_file_info)(struct super_block * , int  ) ;
 3031   int (*free_file_info)(struct super_block * , int  ) ;
 3032   int (*read_dqblk)(struct dquot * ) ;
 3033   int (*commit_dqblk)(struct dquot * ) ;
 3034   int (*release_dqblk)(struct dquot * ) ;
 3035};
 3036#line 310 "include/linux/quota.h"
 3037struct dquot_operations {
 3038   int (*write_dquot)(struct dquot * ) ;
 3039   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
 3040   void (*destroy_dquot)(struct dquot * ) ;
 3041   int (*acquire_dquot)(struct dquot * ) ;
 3042   int (*release_dquot)(struct dquot * ) ;
 3043   int (*mark_dirty)(struct dquot * ) ;
 3044   int (*write_info)(struct super_block * , int  ) ;
 3045   qsize_t *(*get_reserved_space)(struct inode * ) ;
 3046};
 3047#line 324 "include/linux/quota.h"
 3048struct quotactl_ops {
 3049   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
 3050   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
 3051   int (*quota_off)(struct super_block * , int  ) ;
 3052   int (*quota_sync)(struct super_block * , int  , int  ) ;
 3053   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 3054   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 3055   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 3056   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 3057   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
 3058   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
 3059};
 3060#line 340 "include/linux/quota.h"
 3061struct quota_format_type {
 3062   int qf_fmt_id ;
 3063   struct quota_format_ops  const  *qf_ops ;
 3064   struct module *qf_owner ;
 3065   struct quota_format_type *qf_next ;
 3066};
 3067#line 386 "include/linux/quota.h"
 3068struct quota_info {
 3069   unsigned int flags ;
 3070   struct mutex dqio_mutex ;
 3071   struct mutex dqonoff_mutex ;
 3072   struct rw_semaphore dqptr_sem ;
 3073   struct inode *files[2U] ;
 3074   struct mem_dqinfo info[2U] ;
 3075   struct quota_format_ops  const  *ops[2U] ;
 3076};
 3077#line 417
 3078struct writeback_control;
 3079#line 417
 3080struct writeback_control;
 3081#line 417
 3082struct writeback_control;
 3083#line 417
 3084struct writeback_control;
 3085#line 576 "include/linux/fs.h"
 3086union __anonunion_arg_156 {
 3087   char *buf ;
 3088   void *data ;
 3089};
 3090#line 576 "include/linux/fs.h"
 3091struct __anonstruct_read_descriptor_t_155 {
 3092   size_t written ;
 3093   size_t count ;
 3094   union __anonunion_arg_156 arg ;
 3095   int error ;
 3096};
 3097#line 576 "include/linux/fs.h"
 3098typedef struct __anonstruct_read_descriptor_t_155 read_descriptor_t;
 3099#line 579 "include/linux/fs.h"
 3100struct address_space_operations {
 3101   int (*writepage)(struct page * , struct writeback_control * ) ;
 3102   int (*readpage)(struct file * , struct page * ) ;
 3103   int (*writepages)(struct address_space * , struct writeback_control * ) ;
 3104   int (*set_page_dirty)(struct page * ) ;
 3105   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
 3106                    unsigned int  ) ;
 3107   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 3108                      unsigned int  , struct page ** , void ** ) ;
 3109   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 3110                    unsigned int  , struct page * , void * ) ;
 3111   sector_t (*bmap)(struct address_space * , sector_t  ) ;
 3112   void (*invalidatepage)(struct page * , unsigned long  ) ;
 3113   int (*releasepage)(struct page * , gfp_t  ) ;
 3114   void (*freepage)(struct page * ) ;
 3115   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
 3116                        unsigned long  ) ;
 3117   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
 3118   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
 3119   int (*launder_page)(struct page * ) ;
 3120   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
 3121   int (*error_remove_page)(struct address_space * , struct page * ) ;
 3122};
 3123#line 630 "include/linux/fs.h"
 3124struct address_space {
 3125   struct inode *host ;
 3126   struct radix_tree_root page_tree ;
 3127   spinlock_t tree_lock ;
 3128   unsigned int i_mmap_writable ;
 3129   struct prio_tree_root i_mmap ;
 3130   struct list_head i_mmap_nonlinear ;
 3131   struct mutex i_mmap_mutex ;
 3132   unsigned long nrpages ;
 3133   unsigned long writeback_index ;
 3134   struct address_space_operations  const  *a_ops ;
 3135   unsigned long flags ;
 3136   struct backing_dev_info *backing_dev_info ;
 3137   spinlock_t private_lock ;
 3138   struct list_head private_list ;
 3139   struct address_space *assoc_mapping ;
 3140};
 3141#line 652
 3142struct hd_struct;
 3143#line 652
 3144struct hd_struct;
 3145#line 652
 3146struct hd_struct;
 3147#line 652
 3148struct gendisk;
 3149#line 652
 3150struct gendisk;
 3151#line 652
 3152struct gendisk;
 3153#line 652 "include/linux/fs.h"
 3154struct block_device {
 3155   dev_t bd_dev ;
 3156   int bd_openers ;
 3157   struct inode *bd_inode ;
 3158   struct super_block *bd_super ;
 3159   struct mutex bd_mutex ;
 3160   struct list_head bd_inodes ;
 3161   void *bd_claiming ;
 3162   void *bd_holder ;
 3163   int bd_holders ;
 3164   bool bd_write_holder ;
 3165   struct list_head bd_holder_disks ;
 3166   struct block_device *bd_contains ;
 3167   unsigned int bd_block_size ;
 3168   struct hd_struct *bd_part ;
 3169   unsigned int bd_part_count ;
 3170   int bd_invalidated ;
 3171   struct gendisk *bd_disk ;
 3172   struct list_head bd_list ;
 3173   unsigned long bd_private ;
 3174   int bd_fsfreeze_count ;
 3175   struct mutex bd_fsfreeze_mutex ;
 3176};
 3177#line 723
 3178struct posix_acl;
 3179#line 723
 3180struct posix_acl;
 3181#line 723
 3182struct posix_acl;
 3183#line 723
 3184struct posix_acl;
 3185#line 724
 3186struct inode_operations;
 3187#line 724
 3188struct inode_operations;
 3189#line 724
 3190struct inode_operations;
 3191#line 724 "include/linux/fs.h"
 3192union __anonunion_ldv_18121_157 {
 3193   struct list_head i_dentry ;
 3194   struct rcu_head i_rcu ;
 3195};
 3196#line 724
 3197struct file_operations;
 3198#line 724
 3199struct file_operations;
 3200#line 724
 3201struct file_operations;
 3202#line 724
 3203struct file_lock;
 3204#line 724
 3205struct file_lock;
 3206#line 724
 3207struct file_lock;
 3208#line 724
 3209struct cdev;
 3210#line 724
 3211struct cdev;
 3212#line 724
 3213struct cdev;
 3214#line 724 "include/linux/fs.h"
 3215union __anonunion_ldv_18148_158 {
 3216   struct pipe_inode_info *i_pipe ;
 3217   struct block_device *i_bdev ;
 3218   struct cdev *i_cdev ;
 3219};
 3220#line 724 "include/linux/fs.h"
 3221struct inode {
 3222   umode_t i_mode ;
 3223   uid_t i_uid ;
 3224   gid_t i_gid ;
 3225   struct inode_operations  const  *i_op ;
 3226   struct super_block *i_sb ;
 3227   spinlock_t i_lock ;
 3228   unsigned int i_flags ;
 3229   unsigned long i_state ;
 3230   void *i_security ;
 3231   struct mutex i_mutex ;
 3232   unsigned long dirtied_when ;
 3233   struct hlist_node i_hash ;
 3234   struct list_head i_wb_list ;
 3235   struct list_head i_lru ;
 3236   struct list_head i_sb_list ;
 3237   union __anonunion_ldv_18121_157 ldv_18121 ;
 3238   unsigned long i_ino ;
 3239   atomic_t i_count ;
 3240   unsigned int i_nlink ;
 3241   dev_t i_rdev ;
 3242   unsigned int i_blkbits ;
 3243   u64 i_version ;
 3244   loff_t i_size ;
 3245   struct timespec i_atime ;
 3246   struct timespec i_mtime ;
 3247   struct timespec i_ctime ;
 3248   blkcnt_t i_blocks ;
 3249   unsigned short i_bytes ;
 3250   struct rw_semaphore i_alloc_sem ;
 3251   struct file_operations  const  *i_fop ;
 3252   struct file_lock *i_flock ;
 3253   struct address_space *i_mapping ;
 3254   struct address_space i_data ;
 3255   struct dquot *i_dquot[2U] ;
 3256   struct list_head i_devices ;
 3257   union __anonunion_ldv_18148_158 ldv_18148 ;
 3258   __u32 i_generation ;
 3259   __u32 i_fsnotify_mask ;
 3260   struct hlist_head i_fsnotify_marks ;
 3261   atomic_t i_readcount ;
 3262   atomic_t i_writecount ;
 3263   struct posix_acl *i_acl ;
 3264   struct posix_acl *i_default_acl ;
 3265   void *i_private ;
 3266};
 3267#line 902 "include/linux/fs.h"
 3268struct fown_struct {
 3269   rwlock_t lock ;
 3270   struct pid *pid ;
 3271   enum pid_type pid_type ;
 3272   uid_t uid ;
 3273   uid_t euid ;
 3274   int signum ;
 3275};
 3276#line 910 "include/linux/fs.h"
 3277struct file_ra_state {
 3278   unsigned long start ;
 3279   unsigned int size ;
 3280   unsigned int async_size ;
 3281   unsigned int ra_pages ;
 3282   unsigned int mmap_miss ;
 3283   loff_t prev_pos ;
 3284};
 3285#line 933 "include/linux/fs.h"
 3286union __anonunion_f_u_159 {
 3287   struct list_head fu_list ;
 3288   struct rcu_head fu_rcuhead ;
 3289};
 3290#line 933 "include/linux/fs.h"
 3291struct file {
 3292   union __anonunion_f_u_159 f_u ;
 3293   struct path f_path ;
 3294   struct file_operations  const  *f_op ;
 3295   spinlock_t f_lock ;
 3296   int f_sb_list_cpu ;
 3297   atomic_long_t f_count ;
 3298   unsigned int f_flags ;
 3299   fmode_t f_mode ;
 3300   loff_t f_pos ;
 3301   struct fown_struct f_owner ;
 3302   struct cred  const  *f_cred ;
 3303   struct file_ra_state f_ra ;
 3304   u64 f_version ;
 3305   void *f_security ;
 3306   void *private_data ;
 3307   struct list_head f_ep_links ;
 3308   struct address_space *f_mapping ;
 3309   unsigned long f_mnt_write_state ;
 3310};
 3311#line 1064 "include/linux/fs.h"
 3312typedef struct files_struct *fl_owner_t;
 3313#line 1065 "include/linux/fs.h"
 3314struct file_lock_operations {
 3315   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
 3316   void (*fl_release_private)(struct file_lock * ) ;
 3317};
 3318#line 1070 "include/linux/fs.h"
 3319struct lock_manager_operations {
 3320   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
 3321   void (*fl_notify)(struct file_lock * ) ;
 3322   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
 3323   void (*fl_release_private)(struct file_lock * ) ;
 3324   void (*fl_break)(struct file_lock * ) ;
 3325   int (*fl_change)(struct file_lock ** , int  ) ;
 3326};
 3327#line 163 "include/linux/nfs.h"
 3328struct nlm_lockowner;
 3329#line 163
 3330struct nlm_lockowner;
 3331#line 163
 3332struct nlm_lockowner;
 3333#line 163
 3334struct nlm_lockowner;
 3335#line 164 "include/linux/nfs.h"
 3336struct nfs_lock_info {
 3337   u32 state ;
 3338   struct nlm_lockowner *owner ;
 3339   struct list_head list ;
 3340};
 3341#line 18 "include/linux/nfs_fs_i.h"
 3342struct nfs4_lock_state;
 3343#line 18
 3344struct nfs4_lock_state;
 3345#line 18
 3346struct nfs4_lock_state;
 3347#line 18
 3348struct nfs4_lock_state;
 3349#line 19 "include/linux/nfs_fs_i.h"
 3350struct nfs4_lock_info {
 3351   struct nfs4_lock_state *owner ;
 3352};
 3353#line 23
 3354struct fasync_struct;
 3355#line 23
 3356struct fasync_struct;
 3357#line 23
 3358struct fasync_struct;
 3359#line 23 "include/linux/nfs_fs_i.h"
 3360struct __anonstruct_afs_161 {
 3361   struct list_head link ;
 3362   int state ;
 3363};
 3364#line 23 "include/linux/nfs_fs_i.h"
 3365union __anonunion_fl_u_160 {
 3366   struct nfs_lock_info nfs_fl ;
 3367   struct nfs4_lock_info nfs4_fl ;
 3368   struct __anonstruct_afs_161 afs ;
 3369};
 3370#line 23 "include/linux/nfs_fs_i.h"
 3371struct file_lock {
 3372   struct file_lock *fl_next ;
 3373   struct list_head fl_link ;
 3374   struct list_head fl_block ;
 3375   fl_owner_t fl_owner ;
 3376   unsigned char fl_flags ;
 3377   unsigned char fl_type ;
 3378   unsigned int fl_pid ;
 3379   struct pid *fl_nspid ;
 3380   wait_queue_head_t fl_wait ;
 3381   struct file *fl_file ;
 3382   loff_t fl_start ;
 3383   loff_t fl_end ;
 3384   struct fasync_struct *fl_fasync ;
 3385   unsigned long fl_break_time ;
 3386   struct file_lock_operations  const  *fl_ops ;
 3387   struct lock_manager_operations  const  *fl_lmops ;
 3388   union __anonunion_fl_u_160 fl_u ;
 3389};
 3390#line 1171 "include/linux/fs.h"
 3391struct fasync_struct {
 3392   spinlock_t fa_lock ;
 3393   int magic ;
 3394   int fa_fd ;
 3395   struct fasync_struct *fa_next ;
 3396   struct file *fa_file ;
 3397   struct rcu_head fa_rcu ;
 3398};
 3399#line 1363
 3400struct file_system_type;
 3401#line 1363
 3402struct file_system_type;
 3403#line 1363
 3404struct file_system_type;
 3405#line 1363
 3406struct super_operations;
 3407#line 1363
 3408struct super_operations;
 3409#line 1363
 3410struct super_operations;
 3411#line 1363
 3412struct xattr_handler;
 3413#line 1363
 3414struct xattr_handler;
 3415#line 1363
 3416struct xattr_handler;
 3417#line 1363
 3418struct mtd_info;
 3419#line 1363
 3420struct mtd_info;
 3421#line 1363
 3422struct mtd_info;
 3423#line 1363 "include/linux/fs.h"
 3424struct super_block {
 3425   struct list_head s_list ;
 3426   dev_t s_dev ;
 3427   unsigned char s_dirt ;
 3428   unsigned char s_blocksize_bits ;
 3429   unsigned long s_blocksize ;
 3430   loff_t s_maxbytes ;
 3431   struct file_system_type *s_type ;
 3432   struct super_operations  const  *s_op ;
 3433   struct dquot_operations  const  *dq_op ;
 3434   struct quotactl_ops  const  *s_qcop ;
 3435   struct export_operations  const  *s_export_op ;
 3436   unsigned long s_flags ;
 3437   unsigned long s_magic ;
 3438   struct dentry *s_root ;
 3439   struct rw_semaphore s_umount ;
 3440   struct mutex s_lock ;
 3441   int s_count ;
 3442   atomic_t s_active ;
 3443   void *s_security ;
 3444   struct xattr_handler  const  **s_xattr ;
 3445   struct list_head s_inodes ;
 3446   struct hlist_bl_head s_anon ;
 3447   struct list_head *s_files ;
 3448   struct list_head s_dentry_lru ;
 3449   int s_nr_dentry_unused ;
 3450   struct block_device *s_bdev ;
 3451   struct backing_dev_info *s_bdi ;
 3452   struct mtd_info *s_mtd ;
 3453   struct list_head s_instances ;
 3454   struct quota_info s_dquot ;
 3455   int s_frozen ;
 3456   wait_queue_head_t s_wait_unfrozen ;
 3457   char s_id[32U] ;
 3458   u8 s_uuid[16U] ;
 3459   void *s_fs_info ;
 3460   fmode_t s_mode ;
 3461   u32 s_time_gran ;
 3462   struct mutex s_vfs_rename_mutex ;
 3463   char *s_subtype ;
 3464   char *s_options ;
 3465   struct dentry_operations  const  *s_d_op ;
 3466   int cleancache_poolid ;
 3467};
 3468#line 1495 "include/linux/fs.h"
 3469struct fiemap_extent_info {
 3470   unsigned int fi_flags ;
 3471   unsigned int fi_extents_mapped ;
 3472   unsigned int fi_extents_max ;
 3473   struct fiemap_extent *fi_extents_start ;
 3474};
 3475#line 1533
 3476struct block_device_operations;
 3477#line 1533
 3478struct block_device_operations;
 3479#line 1533
 3480struct block_device_operations;
 3481#line 1533
 3482struct block_device_operations;
 3483#line 1534 "include/linux/fs.h"
 3484struct file_operations {
 3485   struct module *owner ;
 3486   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
 3487   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
 3488   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
 3489   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 3490                       loff_t  ) ;
 3491   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 3492                        loff_t  ) ;
 3493   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
 3494                                                   loff_t  , u64  , unsigned int  ) ) ;
 3495   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
 3496   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 3497   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 3498   int (*mmap)(struct file * , struct vm_area_struct * ) ;
 3499   int (*open)(struct inode * , struct file * ) ;
 3500   int (*flush)(struct file * , fl_owner_t  ) ;
 3501   int (*release)(struct inode * , struct file * ) ;
 3502   int (*fsync)(struct file * , int  ) ;
 3503   int (*aio_fsync)(struct kiocb * , int  ) ;
 3504   int (*fasync)(int  , struct file * , int  ) ;
 3505   int (*lock)(struct file * , int  , struct file_lock * ) ;
 3506   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
 3507                       int  ) ;
 3508   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 3509                                      unsigned long  , unsigned long  ) ;
 3510   int (*check_flags)(int  ) ;
 3511   int (*flock)(struct file * , int  , struct file_lock * ) ;
 3512   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
 3513                           unsigned int  ) ;
 3514   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
 3515                          unsigned int  ) ;
 3516   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
 3517   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
 3518};
 3519#line 1574 "include/linux/fs.h"
 3520struct inode_operations {
 3521   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
 3522   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
 3523   int (*permission)(struct inode * , int  , unsigned int  ) ;
 3524   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
 3525   int (*readlink)(struct dentry * , char * , int  ) ;
 3526   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
 3527   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
 3528   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
 3529   int (*unlink)(struct inode * , struct dentry * ) ;
 3530   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
 3531   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
 3532   int (*rmdir)(struct inode * , struct dentry * ) ;
 3533   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
 3534   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
 3535   void (*truncate)(struct inode * ) ;
 3536   int (*setattr)(struct dentry * , struct iattr * ) ;
 3537   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
 3538   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
 3539   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
 3540   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
 3541   int (*removexattr)(struct dentry * , char const   * ) ;
 3542   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
 3543   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
 3544};
 3545#line 1620 "include/linux/fs.h"
 3546struct super_operations {
 3547   struct inode *(*alloc_inode)(struct super_block * ) ;
 3548   void (*destroy_inode)(struct inode * ) ;
 3549   void (*dirty_inode)(struct inode * , int  ) ;
 3550   int (*write_inode)(struct inode * , struct writeback_control * ) ;
 3551   int (*drop_inode)(struct inode * ) ;
 3552   void (*evict_inode)(struct inode * ) ;
 3553   void (*put_super)(struct super_block * ) ;
 3554   void (*write_super)(struct super_block * ) ;
 3555   int (*sync_fs)(struct super_block * , int  ) ;
 3556   int (*freeze_fs)(struct super_block * ) ;
 3557   int (*unfreeze_fs)(struct super_block * ) ;
 3558   int (*statfs)(struct dentry * , struct kstatfs * ) ;
 3559   int (*remount_fs)(struct super_block * , int * , char * ) ;
 3560   void (*umount_begin)(struct super_block * ) ;
 3561   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
 3562   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
 3563   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
 3564   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
 3565   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
 3566   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
 3567                          loff_t  ) ;
 3568   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
 3569};
 3570#line 1801 "include/linux/fs.h"
 3571struct file_system_type {
 3572   char const   *name ;
 3573   int fs_flags ;
 3574   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
 3575   void (*kill_sb)(struct super_block * ) ;
 3576   struct module *owner ;
 3577   struct file_system_type *next ;
 3578   struct list_head fs_supers ;
 3579   struct lock_class_key s_lock_key ;
 3580   struct lock_class_key s_umount_key ;
 3581   struct lock_class_key s_vfs_rename_key ;
 3582   struct lock_class_key i_lock_key ;
 3583   struct lock_class_key i_mutex_key ;
 3584   struct lock_class_key i_mutex_dir_key ;
 3585   struct lock_class_key i_alloc_sem_key ;
 3586};
 3587#line 118 "include/linux/kmemleak.h"
 3588struct kmem_cache_cpu {
 3589   void **freelist ;
 3590   unsigned long tid ;
 3591   struct page *page ;
 3592   int node ;
 3593   unsigned int stat[19U] ;
 3594};
 3595#line 46 "include/linux/slub_def.h"
 3596struct kmem_cache_node {
 3597   spinlock_t list_lock ;
 3598   unsigned long nr_partial ;
 3599   struct list_head partial ;
 3600   atomic_long_t nr_slabs ;
 3601   atomic_long_t total_objects ;
 3602   struct list_head full ;
 3603};
 3604#line 57 "include/linux/slub_def.h"
 3605struct kmem_cache_order_objects {
 3606   unsigned long x ;
 3607};
 3608#line 67 "include/linux/slub_def.h"
 3609struct kmem_cache {
 3610   struct kmem_cache_cpu *cpu_slab ;
 3611   unsigned long flags ;
 3612   unsigned long min_partial ;
 3613   int size ;
 3614   int objsize ;
 3615   int offset ;
 3616   struct kmem_cache_order_objects oo ;
 3617   struct kmem_cache_order_objects max ;
 3618   struct kmem_cache_order_objects min ;
 3619   gfp_t allocflags ;
 3620   int refcount ;
 3621   void (*ctor)(void * ) ;
 3622   int inuse ;
 3623   int align ;
 3624   int reserved ;
 3625   char const   *name ;
 3626   struct list_head list ;
 3627   struct kobject kobj ;
 3628   int remote_node_defrag_ratio ;
 3629   struct kmem_cache_node *node[1024U] ;
 3630};
 3631#line 25 "include/linux/genhd.h"
 3632struct device_type;
 3633#line 25
 3634struct device_type;
 3635#line 25
 3636struct device_type;
 3637#line 27
 3638struct class;
 3639#line 27
 3640struct class;
 3641#line 27
 3642struct class;
 3643#line 51
 3644struct klist_node;
 3645#line 51
 3646struct klist_node;
 3647#line 51
 3648struct klist_node;
 3649#line 51
 3650struct klist_node;
 3651#line 37 "include/linux/klist.h"
 3652struct klist_node {
 3653   void *n_klist ;
 3654   struct list_head n_node ;
 3655   struct kref n_ref ;
 3656};
 3657#line 67
 3658struct dma_map_ops;
 3659#line 67
 3660struct dma_map_ops;
 3661#line 67
 3662struct dma_map_ops;
 3663#line 67 "include/linux/klist.h"
 3664struct dev_archdata {
 3665   void *acpi_handle ;
 3666   struct dma_map_ops *dma_ops ;
 3667   void *iommu ;
 3668};
 3669#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 3670struct device_private;
 3671#line 17
 3672struct device_private;
 3673#line 17
 3674struct device_private;
 3675#line 17
 3676struct device_private;
 3677#line 18
 3678struct device_driver;
 3679#line 18
 3680struct device_driver;
 3681#line 18
 3682struct device_driver;
 3683#line 18
 3684struct device_driver;
 3685#line 19
 3686struct driver_private;
 3687#line 19
 3688struct driver_private;
 3689#line 19
 3690struct driver_private;
 3691#line 19
 3692struct driver_private;
 3693#line 20
 3694struct subsys_private;
 3695#line 20
 3696struct subsys_private;
 3697#line 20
 3698struct subsys_private;
 3699#line 20
 3700struct subsys_private;
 3701#line 21
 3702struct bus_type;
 3703#line 21
 3704struct bus_type;
 3705#line 21
 3706struct bus_type;
 3707#line 21
 3708struct bus_type;
 3709#line 22
 3710struct device_node;
 3711#line 22
 3712struct device_node;
 3713#line 22
 3714struct device_node;
 3715#line 22
 3716struct device_node;
 3717#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 3718struct bus_attribute {
 3719   struct attribute attr ;
 3720   ssize_t (*show)(struct bus_type * , char * ) ;
 3721   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 3722};
 3723#line 49 "include/linux/device.h"
 3724struct device_attribute;
 3725#line 49
 3726struct device_attribute;
 3727#line 49
 3728struct device_attribute;
 3729#line 49
 3730struct driver_attribute;
 3731#line 49
 3732struct driver_attribute;
 3733#line 49
 3734struct driver_attribute;
 3735#line 49 "include/linux/device.h"
 3736struct bus_type {
 3737   char const   *name ;
 3738   struct bus_attribute *bus_attrs ;
 3739   struct device_attribute *dev_attrs ;
 3740   struct driver_attribute *drv_attrs ;
 3741   int (*match)(struct device * , struct device_driver * ) ;
 3742   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 3743   int (*probe)(struct device * ) ;
 3744   int (*remove)(struct device * ) ;
 3745   void (*shutdown)(struct device * ) ;
 3746   int (*suspend)(struct device * , pm_message_t  ) ;
 3747   int (*resume)(struct device * ) ;
 3748   struct dev_pm_ops  const  *pm ;
 3749   struct subsys_private *p ;
 3750};
 3751#line 153
 3752struct of_device_id;
 3753#line 153
 3754struct of_device_id;
 3755#line 153
 3756struct of_device_id;
 3757#line 153 "include/linux/device.h"
 3758struct device_driver {
 3759   char const   *name ;
 3760   struct bus_type *bus ;
 3761   struct module *owner ;
 3762   char const   *mod_name ;
 3763   bool suppress_bind_attrs ;
 3764   struct of_device_id  const  *of_match_table ;
 3765   int (*probe)(struct device * ) ;
 3766   int (*remove)(struct device * ) ;
 3767   void (*shutdown)(struct device * ) ;
 3768   int (*suspend)(struct device * , pm_message_t  ) ;
 3769   int (*resume)(struct device * ) ;
 3770   struct attribute_group  const  **groups ;
 3771   struct dev_pm_ops  const  *pm ;
 3772   struct driver_private *p ;
 3773};
 3774#line 218 "include/linux/device.h"
 3775struct driver_attribute {
 3776   struct attribute attr ;
 3777   ssize_t (*show)(struct device_driver * , char * ) ;
 3778   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 3779};
 3780#line 248
 3781struct class_attribute;
 3782#line 248
 3783struct class_attribute;
 3784#line 248
 3785struct class_attribute;
 3786#line 248 "include/linux/device.h"
 3787struct class {
 3788   char const   *name ;
 3789   struct module *owner ;
 3790   struct class_attribute *class_attrs ;
 3791   struct device_attribute *dev_attrs ;
 3792   struct bin_attribute *dev_bin_attrs ;
 3793   struct kobject *dev_kobj ;
 3794   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 3795   char *(*devnode)(struct device * , mode_t * ) ;
 3796   void (*class_release)(struct class * ) ;
 3797   void (*dev_release)(struct device * ) ;
 3798   int (*suspend)(struct device * , pm_message_t  ) ;
 3799   int (*resume)(struct device * ) ;
 3800   struct kobj_ns_type_operations  const  *ns_type ;
 3801   void const   *(*namespace)(struct device * ) ;
 3802   struct dev_pm_ops  const  *pm ;
 3803   struct subsys_private *p ;
 3804};
 3805#line 344 "include/linux/device.h"
 3806struct class_attribute {
 3807   struct attribute attr ;
 3808   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 3809   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 3810};
 3811#line 395 "include/linux/device.h"
 3812struct device_type {
 3813   char const   *name ;
 3814   struct attribute_group  const  **groups ;
 3815   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 3816   char *(*devnode)(struct device * , mode_t * ) ;
 3817   void (*release)(struct device * ) ;
 3818   struct dev_pm_ops  const  *pm ;
 3819};
 3820#line 422 "include/linux/device.h"
 3821struct device_attribute {
 3822   struct attribute attr ;
 3823   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 3824   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 3825                    size_t  ) ;
 3826};
 3827#line 483 "include/linux/device.h"
 3828struct device_dma_parameters {
 3829   unsigned int max_segment_size ;
 3830   unsigned long segment_boundary_mask ;
 3831};
 3832#line 492
 3833struct dma_coherent_mem;
 3834#line 492
 3835struct dma_coherent_mem;
 3836#line 492
 3837struct dma_coherent_mem;
 3838#line 492 "include/linux/device.h"
 3839struct device {
 3840   struct device *parent ;
 3841   struct device_private *p ;
 3842   struct kobject kobj ;
 3843   char const   *init_name ;
 3844   struct device_type  const  *type ;
 3845   struct mutex mutex ;
 3846   struct bus_type *bus ;
 3847   struct device_driver *driver ;
 3848   void *platform_data ;
 3849   struct dev_pm_info power ;
 3850   struct dev_power_domain *pwr_domain ;
 3851   int numa_node ;
 3852   u64 *dma_mask ;
 3853   u64 coherent_dma_mask ;
 3854   struct device_dma_parameters *dma_parms ;
 3855   struct list_head dma_pools ;
 3856   struct dma_coherent_mem *dma_mem ;
 3857   struct dev_archdata archdata ;
 3858   struct device_node *of_node ;
 3859   dev_t devt ;
 3860   spinlock_t devres_lock ;
 3861   struct list_head devres_head ;
 3862   struct klist_node knode_class ;
 3863   struct class *class ;
 3864   struct attribute_group  const  **groups ;
 3865   void (*release)(struct device * ) ;
 3866};
 3867#line 604 "include/linux/device.h"
 3868struct wakeup_source {
 3869   char *name ;
 3870   struct list_head entry ;
 3871   spinlock_t lock ;
 3872   struct timer_list timer ;
 3873   unsigned long timer_expires ;
 3874   ktime_t total_time ;
 3875   ktime_t max_time ;
 3876   ktime_t last_time ;
 3877   unsigned long event_count ;
 3878   unsigned long active_count ;
 3879   unsigned long relax_count ;
 3880   unsigned long hit_count ;
 3881   unsigned char active : 1 ;
 3882};
 3883#line 81 "include/linux/genhd.h"
 3884struct disk_stats {
 3885   unsigned long sectors[2U] ;
 3886   unsigned long ios[2U] ;
 3887   unsigned long merges[2U] ;
 3888   unsigned long ticks[2U] ;
 3889   unsigned long io_ticks ;
 3890   unsigned long time_in_queue ;
 3891};
 3892#line 90 "include/linux/genhd.h"
 3893struct partition_meta_info {
 3894   u8 uuid[16U] ;
 3895   u8 volname[64U] ;
 3896};
 3897#line 98 "include/linux/genhd.h"
 3898struct hd_struct {
 3899   sector_t start_sect ;
 3900   sector_t nr_sects ;
 3901   sector_t alignment_offset ;
 3902   unsigned int discard_alignment ;
 3903   struct device __dev ;
 3904   struct kobject *holder_dir ;
 3905   int policy ;
 3906   int partno ;
 3907   struct partition_meta_info *info ;
 3908   int make_it_fail ;
 3909   unsigned long stamp ;
 3910   atomic_t in_flight[2U] ;
 3911   struct disk_stats *dkstats ;
 3912   atomic_t ref ;
 3913   struct rcu_head rcu_head ;
 3914};
 3915#line 145 "include/linux/genhd.h"
 3916struct disk_part_tbl {
 3917   struct rcu_head rcu_head ;
 3918   int len ;
 3919   struct hd_struct *last_lookup ;
 3920   struct hd_struct *part[0U] ;
 3921};
 3922#line 152
 3923struct disk_events;
 3924#line 152
 3925struct disk_events;
 3926#line 152
 3927struct disk_events;
 3928#line 152
 3929struct disk_events;
 3930#line 153
 3931struct request_queue;
 3932#line 153
 3933struct request_queue;
 3934#line 153
 3935struct request_queue;
 3936#line 153
 3937struct timer_rand_state;
 3938#line 153
 3939struct timer_rand_state;
 3940#line 153
 3941struct timer_rand_state;
 3942#line 153
 3943struct blk_integrity;
 3944#line 153
 3945struct blk_integrity;
 3946#line 153
 3947struct blk_integrity;
 3948#line 153 "include/linux/genhd.h"
 3949struct gendisk {
 3950   int major ;
 3951   int first_minor ;
 3952   int minors ;
 3953   char disk_name[32U] ;
 3954   char *(*devnode)(struct gendisk * , mode_t * ) ;
 3955   unsigned int events ;
 3956   unsigned int async_events ;
 3957   struct disk_part_tbl *part_tbl ;
 3958   struct hd_struct part0 ;
 3959   struct block_device_operations  const  *fops ;
 3960   struct request_queue *queue ;
 3961   void *private_data ;
 3962   int flags ;
 3963   struct device *driverfs_dev ;
 3964   struct kobject *slave_dir ;
 3965   struct timer_rand_state *random ;
 3966   atomic_t sync_io ;
 3967   struct disk_events *ev ;
 3968   struct blk_integrity *integrity ;
 3969   int node_id ;
 3970};
 3971#line 175 "include/linux/mm.h"
 3972struct vm_fault {
 3973   unsigned int flags ;
 3974   unsigned long pgoff ;
 3975   void *virtual_address ;
 3976   struct page *page ;
 3977};
 3978#line 192 "include/linux/mm.h"
 3979struct vm_operations_struct {
 3980   void (*open)(struct vm_area_struct * ) ;
 3981   void (*close)(struct vm_area_struct * ) ;
 3982   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
 3983   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
 3984   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
 3985   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
 3986   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
 3987   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
 3988                  unsigned long  ) ;
 3989};
 3990#line 1652 "include/linux/mm.h"
 3991struct exception_table_entry {
 3992   unsigned long insn ;
 3993   unsigned long fixup ;
 3994};
 3995#line 13 "include/linux/writeback.h"
 3996enum writeback_sync_modes {
 3997    WB_SYNC_NONE = 0,
 3998    WB_SYNC_ALL = 1
 3999} ;
 4000#line 18 "include/linux/writeback.h"
 4001struct writeback_control {
 4002   enum writeback_sync_modes sync_mode ;
 4003   unsigned long *older_than_this ;
 4004   unsigned long wb_start ;
 4005   long nr_to_write ;
 4006   long pages_skipped ;
 4007   loff_t range_start ;
 4008   loff_t range_end ;
 4009   unsigned char nonblocking : 1 ;
 4010   unsigned char encountered_congestion : 1 ;
 4011   unsigned char for_kupdate : 1 ;
 4012   unsigned char for_background : 1 ;
 4013   unsigned char for_reclaim : 1 ;
 4014   unsigned char range_cyclic : 1 ;
 4015   unsigned char more_io : 1 ;
 4016};
 4017#line 54
 4018struct bdi_writeback;
 4019#line 54
 4020struct bdi_writeback;
 4021#line 54
 4022struct bdi_writeback;
 4023#line 54
 4024struct bdi_writeback;
 4025#line 38 "include/linux/backing-dev.h"
 4026typedef int congested_fn(void * , int  );
 4027#line 45 "include/linux/backing-dev.h"
 4028struct bdi_writeback {
 4029   struct backing_dev_info *bdi ;
 4030   unsigned int nr ;
 4031   unsigned long last_old_flush ;
 4032   unsigned long last_active ;
 4033   struct task_struct *task ;
 4034   struct timer_list wakeup_timer ;
 4035   struct list_head b_dirty ;
 4036   struct list_head b_io ;
 4037   struct list_head b_more_io ;
 4038};
 4039#line 61 "include/linux/backing-dev.h"
 4040struct backing_dev_info {
 4041   struct list_head bdi_list ;
 4042   unsigned long ra_pages ;
 4043   unsigned long state ;
 4044   unsigned int capabilities ;
 4045   congested_fn *congested_fn ;
 4046   void *congested_data ;
 4047   char *name ;
 4048   struct percpu_counter bdi_stat[2U] ;
 4049   struct prop_local_percpu completions ;
 4050   int dirty_exceeded ;
 4051   unsigned int min_ratio ;
 4052   unsigned int max_ratio ;
 4053   unsigned int max_prop_frac ;
 4054   struct bdi_writeback wb ;
 4055   spinlock_t wb_lock ;
 4056   struct list_head work_list ;
 4057   struct device *dev ;
 4058   struct timer_list laptop_mode_wb_timer ;
 4059   struct dentry *debug_dir ;
 4060   struct dentry *debug_stats ;
 4061};
 4062#line 11 "include/linux/mempool.h"
 4063typedef void *mempool_alloc_t(gfp_t  , void * );
 4064#line 12 "include/linux/mempool.h"
 4065typedef void mempool_free_t(void * , void * );
 4066#line 13 "include/linux/mempool.h"
 4067struct mempool_s {
 4068   spinlock_t lock ;
 4069   int min_nr ;
 4070   int curr_nr ;
 4071   void **elements ;
 4072   void *pool_data ;
 4073   mempool_alloc_t *alloc ;
 4074   mempool_free_t *free ;
 4075   wait_queue_head_t wait ;
 4076};
 4077#line 24 "include/linux/mempool.h"
 4078typedef struct mempool_s mempool_t;
 4079#line 29 "include/linux/iocontext.h"
 4080struct io_context {
 4081   atomic_long_t refcount ;
 4082   atomic_t nr_tasks ;
 4083   spinlock_t lock ;
 4084   unsigned short ioprio ;
 4085   unsigned short ioprio_changed ;
 4086   unsigned short cgroup_changed ;
 4087   int nr_batch_requests ;
 4088   unsigned long last_waited ;
 4089   struct radix_tree_root radix_root ;
 4090   struct hlist_head cic_list ;
 4091   void *ioc_data ;
 4092};
 4093#line 90 "include/linux/bio.h"
 4094struct bio_integrity_payload {
 4095   struct bio *bip_bio ;
 4096   sector_t bip_sector ;
 4097   void *bip_buf ;
 4098   bio_end_io_t *bip_end_io ;
 4099   unsigned int bip_size ;
 4100   unsigned short bip_slab ;
 4101   unsigned short bip_vcnt ;
 4102   unsigned short bip_idx ;
 4103   struct work_struct bip_work ;
 4104   struct bio_vec bip_vec[0U] ;
 4105};
 4106#line 373 "include/linux/bio.h"
 4107struct bio_list {
 4108   struct bio *head ;
 4109   struct bio *tail ;
 4110};
 4111#line 63 "include/linux/bsg.h"
 4112struct bsg_class_device {
 4113   struct device *class_dev ;
 4114   struct device *parent ;
 4115   int minor ;
 4116   struct request_queue *queue ;
 4117   struct kref ref ;
 4118   void (*release)(struct device * ) ;
 4119};
 4120#line 18 "include/asm-generic/scatterlist.h"
 4121struct elevator_queue;
 4122#line 18
 4123struct elevator_queue;
 4124#line 18
 4125struct elevator_queue;
 4126#line 18
 4127struct elevator_queue;
 4128#line 20
 4129struct blk_trace;
 4130#line 20
 4131struct blk_trace;
 4132#line 20
 4133struct blk_trace;
 4134#line 20
 4135struct blk_trace;
 4136#line 21
 4137struct request;
 4138#line 21
 4139struct request;
 4140#line 21
 4141struct request;
 4142#line 21
 4143struct request;
 4144#line 38 "include/linux/blkdev.h"
 4145typedef void rq_end_io_fn(struct request * , int  );
 4146#line 39 "include/linux/blkdev.h"
 4147struct request_list {
 4148   int count[2U] ;
 4149   int starved[2U] ;
 4150   int elvpriv ;
 4151   mempool_t *rq_pool ;
 4152   wait_queue_head_t wait[2U] ;
 4153};
 4154#line 51
 4155enum rq_cmd_type_bits {
 4156    REQ_TYPE_FS = 1,
 4157    REQ_TYPE_BLOCK_PC = 2,
 4158    REQ_TYPE_SENSE = 3,
 4159    REQ_TYPE_PM_SUSPEND = 4,
 4160    REQ_TYPE_PM_RESUME = 5,
 4161    REQ_TYPE_PM_SHUTDOWN = 6,
 4162    REQ_TYPE_SPECIAL = 7,
 4163    REQ_TYPE_ATA_TASKFILE = 8,
 4164    REQ_TYPE_ATA_PC = 9
 4165} ;
 4166#line 63 "include/linux/blkdev.h"
 4167union __anonunion_ldv_26248_163 {
 4168   struct rb_node rb_node ;
 4169   void *completion_data ;
 4170};
 4171#line 63 "include/linux/blkdev.h"
 4172struct __anonstruct_flush_165 {
 4173   unsigned int seq ;
 4174   struct list_head list ;
 4175};
 4176#line 63 "include/linux/blkdev.h"
 4177union __anonunion_ldv_26255_164 {
 4178   void *elevator_private[3U] ;
 4179   struct __anonstruct_flush_165 flush ;
 4180};
 4181#line 63 "include/linux/blkdev.h"
 4182struct request {
 4183   struct list_head queuelist ;
 4184   struct call_single_data csd ;
 4185   struct request_queue *q ;
 4186   unsigned int cmd_flags ;
 4187   enum rq_cmd_type_bits cmd_type ;
 4188   unsigned long atomic_flags ;
 4189   int cpu ;
 4190   unsigned int __data_len ;
 4191   sector_t __sector ;
 4192   struct bio *bio ;
 4193   struct bio *biotail ;
 4194   struct hlist_node hash ;
 4195   union __anonunion_ldv_26248_163 ldv_26248 ;
 4196   union __anonunion_ldv_26255_164 ldv_26255 ;
 4197   struct gendisk *rq_disk ;
 4198   struct hd_struct *part ;
 4199   unsigned long start_time ;
 4200   unsigned short nr_phys_segments ;
 4201   unsigned short nr_integrity_segments ;
 4202   unsigned short ioprio ;
 4203   int ref_count ;
 4204   void *special ;
 4205   char *buffer ;
 4206   int tag ;
 4207   int errors ;
 4208   unsigned char __cmd[16U] ;
 4209   unsigned char *cmd ;
 4210   unsigned short cmd_len ;
 4211   unsigned int extra_len ;
 4212   unsigned int sense_len ;
 4213   unsigned int resid_len ;
 4214   void *sense ;
 4215   unsigned long deadline ;
 4216   struct list_head timeout_list ;
 4217   unsigned int timeout ;
 4218   int retries ;
 4219   rq_end_io_fn *end_io ;
 4220   void *end_io_data ;
 4221   struct request *next_rq ;
 4222};
 4223#line 8 "include/linux/elevator.h"
 4224typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
 4225#line 11 "include/linux/elevator.h"
 4226typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
 4227#line 13 "include/linux/elevator.h"
 4228typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
 4229#line 15 "include/linux/elevator.h"
 4230typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
 4231#line 17 "include/linux/elevator.h"
 4232typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
 4233#line 20 "include/linux/elevator.h"
 4234typedef int elevator_dispatch_fn(struct request_queue * , int  );
 4235#line 22 "include/linux/elevator.h"
 4236typedef void elevator_add_req_fn(struct request_queue * , struct request * );
 4237#line 23 "include/linux/elevator.h"
 4238typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
 4239#line 24 "include/linux/elevator.h"
 4240typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
 4241#line 25 "include/linux/elevator.h"
 4242typedef int elevator_may_queue_fn(struct request_queue * , int  );
 4243#line 27 "include/linux/elevator.h"
 4244typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
 4245#line 28 "include/linux/elevator.h"
 4246typedef void elevator_put_req_fn(struct request * );
 4247#line 29 "include/linux/elevator.h"
 4248typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
 4249#line 30 "include/linux/elevator.h"
 4250typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
 4251#line 32 "include/linux/elevator.h"
 4252typedef void *elevator_init_fn(struct request_queue * );
 4253#line 33 "include/linux/elevator.h"
 4254typedef void elevator_exit_fn(struct elevator_queue * );
 4255#line 34 "include/linux/elevator.h"
 4256struct elevator_ops {
 4257   elevator_merge_fn *elevator_merge_fn ;
 4258   elevator_merged_fn *elevator_merged_fn ;
 4259   elevator_merge_req_fn *elevator_merge_req_fn ;
 4260   elevator_allow_merge_fn *elevator_allow_merge_fn ;
 4261   elevator_bio_merged_fn *elevator_bio_merged_fn ;
 4262   elevator_dispatch_fn *elevator_dispatch_fn ;
 4263   elevator_add_req_fn *elevator_add_req_fn ;
 4264   elevator_activate_req_fn *elevator_activate_req_fn ;
 4265   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
 4266   elevator_completed_req_fn *elevator_completed_req_fn ;
 4267   elevator_request_list_fn *elevator_former_req_fn ;
 4268   elevator_request_list_fn *elevator_latter_req_fn ;
 4269   elevator_set_req_fn *elevator_set_req_fn ;
 4270   elevator_put_req_fn *elevator_put_req_fn ;
 4271   elevator_may_queue_fn *elevator_may_queue_fn ;
 4272   elevator_init_fn *elevator_init_fn ;
 4273   elevator_exit_fn *elevator_exit_fn ;
 4274   void (*trim)(struct io_context * ) ;
 4275};
 4276#line 62 "include/linux/elevator.h"
 4277struct elv_fs_entry {
 4278   struct attribute attr ;
 4279   ssize_t (*show)(struct elevator_queue * , char * ) ;
 4280   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
 4281};
 4282#line 70 "include/linux/elevator.h"
 4283struct elevator_type {
 4284   struct list_head list ;
 4285   struct elevator_ops ops ;
 4286   struct elv_fs_entry *elevator_attrs ;
 4287   char elevator_name[16U] ;
 4288   struct module *elevator_owner ;
 4289};
 4290#line 82 "include/linux/elevator.h"
 4291struct elevator_queue {
 4292   struct elevator_ops *ops ;
 4293   void *elevator_data ;
 4294   struct kobject kobj ;
 4295   struct elevator_type *elevator_type ;
 4296   struct mutex sysfs_lock ;
 4297   struct hlist_head *hash ;
 4298   unsigned char registered : 1 ;
 4299};
 4300#line 195 "include/linux/blkdev.h"
 4301typedef void request_fn_proc(struct request_queue * );
 4302#line 196 "include/linux/blkdev.h"
 4303typedef int make_request_fn(struct request_queue * , struct bio * );
 4304#line 197 "include/linux/blkdev.h"
 4305typedef int prep_rq_fn(struct request_queue * , struct request * );
 4306#line 198 "include/linux/blkdev.h"
 4307typedef void unprep_rq_fn(struct request_queue * , struct request * );
 4308#line 199 "include/linux/blkdev.h"
 4309struct bvec_merge_data {
 4310   struct block_device *bi_bdev ;
 4311   sector_t bi_sector ;
 4312   unsigned int bi_size ;
 4313   unsigned long bi_rw ;
 4314};
 4315#line 207 "include/linux/blkdev.h"
 4316typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
 4317#line 209 "include/linux/blkdev.h"
 4318typedef void softirq_done_fn(struct request * );
 4319#line 210 "include/linux/blkdev.h"
 4320typedef int dma_drain_needed_fn(struct request * );
 4321#line 211 "include/linux/blkdev.h"
 4322typedef int lld_busy_fn(struct request_queue * );
 4323#line 212
 4324enum blk_eh_timer_return {
 4325    BLK_EH_NOT_HANDLED = 0,
 4326    BLK_EH_HANDLED = 1,
 4327    BLK_EH_RESET_TIMER = 2
 4328} ;
 4329#line 219 "include/linux/blkdev.h"
 4330typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
 4331#line 225 "include/linux/blkdev.h"
 4332struct blk_queue_tag {
 4333   struct request **tag_index ;
 4334   unsigned long *tag_map ;
 4335   int busy ;
 4336   int max_depth ;
 4337   int real_max_depth ;
 4338   atomic_t refcnt ;
 4339};
 4340#line 234 "include/linux/blkdev.h"
 4341struct queue_limits {
 4342   unsigned long bounce_pfn ;
 4343   unsigned long seg_boundary_mask ;
 4344   unsigned int max_hw_sectors ;
 4345   unsigned int max_sectors ;
 4346   unsigned int max_segment_size ;
 4347   unsigned int physical_block_size ;
 4348   unsigned int alignment_offset ;
 4349   unsigned int io_min ;
 4350   unsigned int io_opt ;
 4351   unsigned int max_discard_sectors ;
 4352   unsigned int discard_granularity ;
 4353   unsigned int discard_alignment ;
 4354   unsigned short logical_block_size ;
 4355   unsigned short max_segments ;
 4356   unsigned short max_integrity_segments ;
 4357   unsigned char misaligned ;
 4358   unsigned char discard_misaligned ;
 4359   unsigned char cluster ;
 4360   unsigned char discard_zeroes_data ;
 4361};
 4362#line 262 "include/linux/blkdev.h"
 4363struct request_queue {
 4364   struct list_head queue_head ;
 4365   struct request *last_merge ;
 4366   struct elevator_queue *elevator ;
 4367   struct request_list rq ;
 4368   request_fn_proc *request_fn ;
 4369   make_request_fn *make_request_fn ;
 4370   prep_rq_fn *prep_rq_fn ;
 4371   unprep_rq_fn *unprep_rq_fn ;
 4372   merge_bvec_fn *merge_bvec_fn ;
 4373   softirq_done_fn *softirq_done_fn ;
 4374   rq_timed_out_fn *rq_timed_out_fn ;
 4375   dma_drain_needed_fn *dma_drain_needed ;
 4376   lld_busy_fn *lld_busy_fn ;
 4377   sector_t end_sector ;
 4378   struct request *boundary_rq ;
 4379   struct delayed_work delay_work ;
 4380   struct backing_dev_info backing_dev_info ;
 4381   void *queuedata ;
 4382   gfp_t bounce_gfp ;
 4383   unsigned long queue_flags ;
 4384   spinlock_t __queue_lock ;
 4385   spinlock_t *queue_lock ;
 4386   struct kobject kobj ;
 4387   unsigned long nr_requests ;
 4388   unsigned int nr_congestion_on ;
 4389   unsigned int nr_congestion_off ;
 4390   unsigned int nr_batching ;
 4391   void *dma_drain_buffer ;
 4392   unsigned int dma_drain_size ;
 4393   unsigned int dma_pad_mask ;
 4394   unsigned int dma_alignment ;
 4395   struct blk_queue_tag *queue_tags ;
 4396   struct list_head tag_busy_list ;
 4397   unsigned int nr_sorted ;
 4398   unsigned int in_flight[2U] ;
 4399   unsigned int rq_timeout ;
 4400   struct timer_list timeout ;
 4401   struct list_head timeout_list ;
 4402   struct queue_limits limits ;
 4403   unsigned int sg_timeout ;
 4404   unsigned int sg_reserved_size ;
 4405   int node ;
 4406   struct blk_trace *blk_trace ;
 4407   unsigned int flush_flags ;
 4408   unsigned char flush_not_queueable : 1 ;
 4409   unsigned char flush_queue_delayed : 1 ;
 4410   unsigned char flush_pending_idx : 1 ;
 4411   unsigned char flush_running_idx : 1 ;
 4412   unsigned long flush_pending_since ;
 4413   struct list_head flush_queue[2U] ;
 4414   struct list_head flush_data_in_flight ;
 4415   struct request flush_rq ;
 4416   struct mutex sysfs_lock ;
 4417   struct bsg_class_device bsg_dev ;
 4418};
 4419#line 859 "include/linux/blkdev.h"
 4420struct blk_plug {
 4421   unsigned long magic ;
 4422   struct list_head list ;
 4423   struct list_head cb_list ;
 4424   unsigned int should_sort ;
 4425};
 4426#line 1192 "include/linux/blkdev.h"
 4427struct blk_integrity_exchg {
 4428   void *prot_buf ;
 4429   void *data_buf ;
 4430   sector_t sector ;
 4431   unsigned int data_size ;
 4432   unsigned short sector_size ;
 4433   char const   *disk_name ;
 4434};
 4435#line 1212 "include/linux/blkdev.h"
 4436typedef void integrity_gen_fn(struct blk_integrity_exchg * );
 4437#line 1213 "include/linux/blkdev.h"
 4438typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
 4439#line 1214 "include/linux/blkdev.h"
 4440typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
 4441#line 1215 "include/linux/blkdev.h"
 4442typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
 4443#line 1216 "include/linux/blkdev.h"
 4444struct blk_integrity {
 4445   integrity_gen_fn *generate_fn ;
 4446   integrity_vrfy_fn *verify_fn ;
 4447   integrity_set_tag_fn *set_tag_fn ;
 4448   integrity_get_tag_fn *get_tag_fn ;
 4449   unsigned short flags ;
 4450   unsigned short tuple_size ;
 4451   unsigned short sector_size ;
 4452   unsigned short tag_size ;
 4453   char const   *name ;
 4454   struct kobject kobj ;
 4455};
 4456#line 1275 "include/linux/blkdev.h"
 4457struct block_device_operations {
 4458   int (*open)(struct block_device * , fmode_t  ) ;
 4459   int (*release)(struct gendisk * , fmode_t  ) ;
 4460   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4461   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4462   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
 4463   unsigned int (*check_events)(struct gendisk * , unsigned int  ) ;
 4464   int (*media_changed)(struct gendisk * ) ;
 4465   void (*unlock_native_capacity)(struct gendisk * ) ;
 4466   int (*revalidate_disk)(struct gendisk * ) ;
 4467   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
 4468   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
 4469   struct module *owner ;
 4470};
 4471#line 57 "include/linux/blkpg.h"
 4472struct taskstats {
 4473   __u16 version ;
 4474   __u32 ac_exitcode ;
 4475   __u8 ac_flag ;
 4476   __u8 ac_nice ;
 4477   __u64 cpu_count ;
 4478   __u64 cpu_delay_total ;
 4479   __u64 blkio_count ;
 4480   __u64 blkio_delay_total ;
 4481   __u64 swapin_count ;
 4482   __u64 swapin_delay_total ;
 4483   __u64 cpu_run_real_total ;
 4484   __u64 cpu_run_virtual_total ;
 4485   char ac_comm[32U] ;
 4486   __u8 ac_sched ;
 4487   __u8 ac_pad[3U] ;
 4488   __u32 ac_uid ;
 4489   __u32 ac_gid ;
 4490   __u32 ac_pid ;
 4491   __u32 ac_ppid ;
 4492   __u32 ac_btime ;
 4493   __u64 ac_etime ;
 4494   __u64 ac_utime ;
 4495   __u64 ac_stime ;
 4496   __u64 ac_minflt ;
 4497   __u64 ac_majflt ;
 4498   __u64 coremem ;
 4499   __u64 virtmem ;
 4500   __u64 hiwater_rss ;
 4501   __u64 hiwater_vm ;
 4502   __u64 read_char ;
 4503   __u64 write_char ;
 4504   __u64 read_syscalls ;
 4505   __u64 write_syscalls ;
 4506   __u64 read_bytes ;
 4507   __u64 write_bytes ;
 4508   __u64 cancelled_write_bytes ;
 4509   __u64 nvcsw ;
 4510   __u64 nivcsw ;
 4511   __u64 ac_utimescaled ;
 4512   __u64 ac_stimescaled ;
 4513   __u64 cpu_scaled_run_real_total ;
 4514   __u64 freepages_count ;
 4515   __u64 freepages_delay_total ;
 4516};
 4517#line 150 "include/linux/idr.h"
 4518struct cgroupfs_root;
 4519#line 150
 4520struct cgroupfs_root;
 4521#line 150
 4522struct cgroupfs_root;
 4523#line 150
 4524struct cgroupfs_root;
 4525#line 152
 4526struct cgroup;
 4527#line 152
 4528struct cgroup;
 4529#line 152
 4530struct cgroup;
 4531#line 152
 4532struct cgroup;
 4533#line 153
 4534struct css_id;
 4535#line 153
 4536struct css_id;
 4537#line 153
 4538struct css_id;
 4539#line 153
 4540struct css_id;
 4541#line 56 "include/linux/cgroup.h"
 4542struct cgroup_subsys_state {
 4543   struct cgroup *cgroup ;
 4544   atomic_t refcnt ;
 4545   unsigned long flags ;
 4546   struct css_id *id ;
 4547};
 4548#line 194 "include/linux/cgroup.h"
 4549struct cgroup {
 4550   unsigned long flags ;
 4551   atomic_t count ;
 4552   struct list_head sibling ;
 4553   struct list_head children ;
 4554   struct cgroup *parent ;
 4555   struct dentry *dentry ;
 4556   struct cgroup_subsys_state *subsys[64U] ;
 4557   struct cgroupfs_root *root ;
 4558   struct cgroup *top_cgroup ;
 4559   struct list_head css_sets ;
 4560   struct list_head release_list ;
 4561   struct list_head pidlists ;
 4562   struct mutex pidlist_mutex ;
 4563   struct rcu_head rcu_head ;
 4564   struct list_head event_list ;
 4565   spinlock_t event_list_lock ;
 4566};
 4567#line 247 "include/linux/cgroup.h"
 4568struct css_set {
 4569   atomic_t refcount ;
 4570   struct hlist_node hlist ;
 4571   struct list_head tasks ;
 4572   struct list_head cg_links ;
 4573   struct cgroup_subsys_state *subsys[64U] ;
 4574   struct rcu_head rcu_head ;
 4575};
 4576#line 105 "include/linux/swap.h"
 4577struct reclaim_state {
 4578   unsigned long reclaimed_slab ;
 4579};
 4580#line 382
 4581struct loop_func_table;
 4582#line 382
 4583struct loop_func_table;
 4584#line 382
 4585struct loop_func_table;
 4586#line 382
 4587struct loop_func_table;
 4588#line 383 "include/linux/swap.h"
 4589struct loop_device {
 4590   int lo_number ;
 4591   int lo_refcnt ;
 4592   loff_t lo_offset ;
 4593   loff_t lo_sizelimit ;
 4594   int lo_flags ;
 4595   int (*transfer)(struct loop_device * , int  , struct page * , unsigned int  , struct page * ,
 4596                   unsigned int  , int  , sector_t  ) ;
 4597   char lo_file_name[64U] ;
 4598   char lo_crypt_name[64U] ;
 4599   char lo_encrypt_key[32U] ;
 4600   int lo_encrypt_key_size ;
 4601   struct loop_func_table *lo_encryption ;
 4602   __u32 lo_init[2U] ;
 4603   uid_t lo_key_owner ;
 4604   int (*ioctl)(struct loop_device * , int  , unsigned long  ) ;
 4605   struct file *lo_backing_file ;
 4606   struct block_device *lo_device ;
 4607   unsigned int lo_blocksize ;
 4608   void *key_data ;
 4609   gfp_t old_gfp_mask ;
 4610   spinlock_t lo_lock ;
 4611   struct bio_list lo_bio_list ;
 4612   int lo_state ;
 4613   struct mutex lo_ctl_mutex ;
 4614   struct task_struct *lo_thread ;
 4615   wait_queue_head_t lo_event ;
 4616   struct request_queue *lo_queue ;
 4617   struct gendisk *lo_disk ;
 4618   struct list_head lo_list ;
 4619};
 4620#line 75 "include/linux/loop.h"
 4621struct loop_info {
 4622   int lo_number ;
 4623   __kernel_old_dev_t lo_device ;
 4624   unsigned long lo_inode ;
 4625   __kernel_old_dev_t lo_rdevice ;
 4626   int lo_offset ;
 4627   int lo_encrypt_type ;
 4628   int lo_encrypt_key_size ;
 4629   int lo_flags ;
 4630   char lo_name[64U] ;
 4631   unsigned char lo_encrypt_key[32U] ;
 4632   unsigned long lo_init[2U] ;
 4633   char reserved[4U] ;
 4634};
 4635#line 99 "include/linux/loop.h"
 4636struct loop_info64 {
 4637   __u64 lo_device ;
 4638   __u64 lo_inode ;
 4639   __u64 lo_rdevice ;
 4640   __u64 lo_offset ;
 4641   __u64 lo_sizelimit ;
 4642   __u32 lo_number ;
 4643   __u32 lo_encrypt_type ;
 4644   __u32 lo_encrypt_key_size ;
 4645   __u32 lo_flags ;
 4646   __u8 lo_file_name[64U] ;
 4647   __u8 lo_crypt_name[64U] ;
 4648   __u8 lo_encrypt_key[32U] ;
 4649   __u64 lo_init[2U] ;
 4650};
 4651#line 115 "include/linux/loop.h"
 4652struct loop_func_table {
 4653   int number ;
 4654   int (*transfer)(struct loop_device * , int  , struct page * , unsigned int  , struct page * ,
 4655                   unsigned int  , int  , sector_t  ) ;
 4656   int (*init)(struct loop_device * , struct loop_info64  const  * ) ;
 4657   int (*release)(struct loop_device * ) ;
 4658   int (*ioctl)(struct loop_device * , int  , unsigned long  ) ;
 4659   struct module *owner ;
 4660};
 4661#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4662typedef s32 compat_time_t;
 4663#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4664typedef u16 compat_dev_t;
 4665#line 36 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4666typedef s32 compat_int_t;
 4667#line 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4668typedef s32 compat_long_t;
 4669#line 40 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4670typedef u32 compat_ulong_t;
 4671#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4672struct compat_timespec {
 4673   compat_time_t tv_sec ;
 4674   s32 tv_nsec ;
 4675};
 4676#line 196 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4677typedef u32 compat_uptr_t;
 4678#line 205 "include/linux/compat.h"
 4679struct compat_robust_list {
 4680   compat_uptr_t next ;
 4681};
 4682#line 209 "include/linux/compat.h"
 4683struct compat_robust_list_head {
 4684   struct compat_robust_list list ;
 4685   compat_long_t futex_offset ;
 4686   compat_uptr_t list_op_pending ;
 4687};
 4688#line 132 "include/linux/kthread.h"
 4689struct pipe_buf_operations;
 4690#line 132
 4691struct pipe_buf_operations;
 4692#line 132
 4693struct pipe_buf_operations;
 4694#line 132 "include/linux/kthread.h"
 4695struct pipe_buffer {
 4696   struct page *page ;
 4697   unsigned int offset ;
 4698   unsigned int len ;
 4699   struct pipe_buf_operations  const  *ops ;
 4700   unsigned int flags ;
 4701   unsigned long private ;
 4702};
 4703#line 28 "include/linux/pipe_fs_i.h"
 4704struct pipe_inode_info {
 4705   wait_queue_head_t wait ;
 4706   unsigned int nrbufs ;
 4707   unsigned int curbuf ;
 4708   unsigned int buffers ;
 4709   unsigned int readers ;
 4710   unsigned int writers ;
 4711   unsigned int waiting_writers ;
 4712   unsigned int r_counter ;
 4713   unsigned int w_counter ;
 4714   struct page *tmp_page ;
 4715   struct fasync_struct *fasync_readers ;
 4716   struct fasync_struct *fasync_writers ;
 4717   struct inode *inode ;
 4718   struct pipe_buffer *bufs ;
 4719};
 4720#line 60 "include/linux/pipe_fs_i.h"
 4721struct pipe_buf_operations {
 4722   int can_merge ;
 4723   void *(*map)(struct pipe_inode_info * , struct pipe_buffer * , int  ) ;
 4724   void (*unmap)(struct pipe_inode_info * , struct pipe_buffer * , void * ) ;
 4725   int (*confirm)(struct pipe_inode_info * , struct pipe_buffer * ) ;
 4726   void (*release)(struct pipe_inode_info * , struct pipe_buffer * ) ;
 4727   int (*steal)(struct pipe_inode_info * , struct pipe_buffer * ) ;
 4728   void (*get)(struct pipe_inode_info * , struct pipe_buffer * ) ;
 4729};
 4730#line 165 "include/linux/pipe_fs_i.h"
 4731union __anonunion_u_187 {
 4732   void *userptr ;
 4733   struct file *file ;
 4734   void *data ;
 4735};
 4736#line 165 "include/linux/pipe_fs_i.h"
 4737struct splice_desc {
 4738   unsigned int len ;
 4739   unsigned int total_len ;
 4740   unsigned int flags ;
 4741   union __anonunion_u_187 u ;
 4742   loff_t pos ;
 4743   size_t num_spliced ;
 4744   bool need_wakeup ;
 4745};
 4746#line 60 "include/linux/splice.h"
 4747typedef int splice_actor(struct pipe_inode_info * , struct pipe_buffer * , struct splice_desc * );
 4748#line 62 "include/linux/splice.h"
 4749typedef int splice_direct_actor(struct pipe_inode_info * , struct splice_desc * );
 4750#line 389 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 4751struct lo_read_data {
 4752   struct loop_device *lo ;
 4753   struct page *page ;
 4754   unsigned int offset ;
 4755   int bsize ;
 4756};
 4757#line 550 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 4758struct switch_request {
 4759   struct file *file ;
 4760   struct completion wait ;
 4761};
 4762#line 1338 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 4763struct compat_loop_info {
 4764   compat_int_t lo_number ;
 4765   compat_dev_t lo_device ;
 4766   compat_ulong_t lo_inode ;
 4767   compat_dev_t lo_rdevice ;
 4768   compat_int_t lo_offset ;
 4769   compat_int_t lo_encrypt_type ;
 4770   compat_int_t lo_encrypt_key_size ;
 4771   compat_int_t lo_flags ;
 4772   char lo_name[64U] ;
 4773   unsigned char lo_encrypt_key[32U] ;
 4774   compat_ulong_t lo_init[2U] ;
 4775   char reserved[4U] ;
 4776};
 4777#line 1 "<compiler builtins>"
 4778
 4779#line 1
 4780
 4781#line 1
 4782long __builtin_expect(long  , long  ) ;
 4783#line 47 "include/linux/list.h"
 4784extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
 4785#line 74 "include/linux/list.h"
 4786__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
 4787{ struct list_head *__cil_tmp3 ;
 4788
 4789  {
 4790  {
 4791#line 76
 4792  __cil_tmp3 = head->prev;
 4793#line 76
 4794  __list_add(new, __cil_tmp3, head);
 4795  }
 4796#line 77
 4797  return;
 4798}
 4799}
 4800#line 112
 4801extern void list_del(struct list_head * ) ;
 4802#line 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 4803__inline static int variable_test_bit(int nr , unsigned long const volatile   *addr ) 
 4804{ int oldbit ;
 4805  unsigned long *__cil_tmp4 ;
 4806
 4807  {
 4808#line 319
 4809  __cil_tmp4 = (unsigned long *)addr;
 4810#line 319
 4811  __asm__  volatile   ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4),
 4812                       "Ir" (nr));
 4813#line 324
 4814  return (oldbit);
 4815}
 4816}
 4817#line 422 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 4818__inline static int fls(int x ) 
 4819{ int r ;
 4820
 4821  {
 4822#line 426
 4823  __asm__  ("bsrl %1,%0\n\tcmovzl %2,%0": "=&r" (r): "rm" (x), "rm" (-1));
 4824#line 435
 4825  return (r + 1);
 4826}
 4827}
 4828#line 101 "include/linux/printk.h"
 4829extern int printk(char const   *  , ...) ;
 4830#line 64 "include/asm-generic/bug.h"
 4831extern void warn_slowpath_fmt(char const   * , int  , char const   *  , ...) ;
 4832#line 125 "include/linux/kernel.h"
 4833extern void __might_sleep(char const   * , int  , int  ) ;
 4834#line 170
 4835extern void might_fault(void) ;
 4836#line 291
 4837extern int sprintf(char * , char const   *  , ...) ;
 4838#line 88 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/percpu.h"
 4839extern void __bad_percpu_size(void) ;
 4840#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
 4841extern struct task_struct *current_task ;
 4842#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
 4843__inline static struct task_struct *get_current(void) 
 4844{ struct task_struct *pfo_ret__ ;
 4845
 4846  {
 4847#line 14
 4848  if (1) {
 4849#line 14
 4850    goto case_8;
 4851  } else {
 4852#line 14
 4853    goto switch_default;
 4854#line 14
 4855    if (0) {
 4856#line 14
 4857      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
 4858#line 14
 4859      goto ldv_2386;
 4860#line 14
 4861      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
 4862#line 14
 4863      goto ldv_2386;
 4864#line 14
 4865      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
 4866#line 14
 4867      goto ldv_2386;
 4868      case_8: 
 4869#line 14
 4870      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
 4871#line 14
 4872      goto ldv_2386;
 4873      switch_default: 
 4874      {
 4875#line 14
 4876      __bad_percpu_size();
 4877      }
 4878    } else {
 4879
 4880    }
 4881  }
 4882  ldv_2386: ;
 4883#line 14
 4884  return (pfo_ret__);
 4885}
 4886}
 4887#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
 4888extern void *__memcpy(void * , void const   * , size_t  ) ;
 4889#line 55
 4890extern void *memset(void * , int  , size_t  ) ;
 4891#line 58
 4892extern void *memmove(void * , void const   * , size_t  ) ;
 4893#line 61
 4894extern size_t strlen(char const   * ) ;
 4895#line 22 "include/linux/err.h"
 4896__inline static void *ERR_PTR(long error ) 
 4897{ 
 4898
 4899  {
 4900#line 24
 4901  return ((void *)error);
 4902}
 4903}
 4904#line 27 "include/linux/err.h"
 4905__inline static long PTR_ERR(void const   *ptr ) 
 4906{ 
 4907
 4908  {
 4909#line 29
 4910  return ((long )ptr);
 4911}
 4912}
 4913#line 32 "include/linux/err.h"
 4914__inline static long IS_ERR(void const   *ptr ) 
 4915{ long tmp ;
 4916  unsigned long __cil_tmp3 ;
 4917  int __cil_tmp4 ;
 4918  long __cil_tmp5 ;
 4919
 4920  {
 4921  {
 4922#line 34
 4923  __cil_tmp3 = (unsigned long )ptr;
 4924#line 34
 4925  __cil_tmp4 = __cil_tmp3 > 1152921504606842880UL;
 4926#line 34
 4927  __cil_tmp5 = (long )__cil_tmp4;
 4928#line 34
 4929  tmp = __builtin_expect(__cil_tmp5, 0L);
 4930  }
 4931#line 34
 4932  return (tmp);
 4933}
 4934}
 4935#line 37 "include/linux/err.h"
 4936__inline static long IS_ERR_OR_NULL(void const   *ptr ) 
 4937{ long tmp ;
 4938  int tmp___0 ;
 4939  void const   *__cil_tmp4 ;
 4940  unsigned long __cil_tmp5 ;
 4941  unsigned long __cil_tmp6 ;
 4942  unsigned long __cil_tmp7 ;
 4943  int __cil_tmp8 ;
 4944  long __cil_tmp9 ;
 4945
 4946  {
 4947  {
 4948#line 39
 4949  __cil_tmp4 = (void const   *)0;
 4950#line 39
 4951  __cil_tmp5 = (unsigned long )__cil_tmp4;
 4952#line 39
 4953  __cil_tmp6 = (unsigned long )ptr;
 4954#line 39
 4955  if (__cil_tmp6 == __cil_tmp5) {
 4956#line 39
 4957    tmp___0 = 1;
 4958  } else {
 4959    {
 4960#line 39
 4961    __cil_tmp7 = (unsigned long )ptr;
 4962#line 39
 4963    __cil_tmp8 = __cil_tmp7 > 1152921504606842880UL;
 4964#line 39
 4965    __cil_tmp9 = (long )__cil_tmp8;
 4966#line 39
 4967    tmp = __builtin_expect(__cil_tmp9, 0L);
 4968    }
 4969#line 39
 4970    if (tmp != 0L) {
 4971#line 39
 4972      tmp___0 = 1;
 4973    } else {
 4974#line 39
 4975      tmp___0 = 0;
 4976    }
 4977  }
 4978  }
 4979#line 39
 4980  return ((long )tmp___0);
 4981}
 4982}
 4983#line 217 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 4984extern unsigned long kernel_stack ;
 4985#line 219 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 4986__inline static struct thread_info *current_thread_info(void) 
 4987{ struct thread_info *ti ;
 4988  unsigned long pfo_ret__ ;
 4989  unsigned long __cil_tmp3 ;
 4990
 4991  {
 4992#line 222
 4993  if (1) {
 4994#line 222
 4995    goto case_8;
 4996  } else {
 4997#line 222
 4998    goto switch_default;
 4999#line 222
 5000    if (0) {
 5001#line 222
 5002      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& kernel_stack));
 5003#line 222
 5004      goto ldv_5782;
 5005#line 222
 5006      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 5007#line 222
 5008      goto ldv_5782;
 5009#line 222
 5010      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 5011#line 222
 5012      goto ldv_5782;
 5013      case_8: 
 5014#line 222
 5015      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 5016#line 222
 5017      goto ldv_5782;
 5018      switch_default: 
 5019      {
 5020#line 222
 5021      __bad_percpu_size();
 5022      }
 5023    } else {
 5024
 5025    }
 5026  }
 5027  ldv_5782: 
 5028#line 222
 5029  __cil_tmp3 = pfo_ret__ - 8152UL;
 5030#line 222
 5031  ti = (struct thread_info *)__cil_tmp3;
 5032#line 224
 5033  return (ti);
 5034}
 5035}
 5036#line 82 "include/linux/thread_info.h"
 5037__inline static int test_ti_thread_flag(struct thread_info *ti , int flag ) 
 5038{ int tmp ;
 5039  __u32 *__cil_tmp4 ;
 5040  unsigned long const volatile   *__cil_tmp5 ;
 5041
 5042  {
 5043  {
 5044#line 84
 5045  __cil_tmp4 = & ti->flags;
 5046#line 84
 5047  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
 5048#line 84
 5049  tmp = variable_test_bit(flag, __cil_tmp5);
 5050  }
 5051#line 84
 5052  return (tmp);
 5053}
 5054}
 5055#line 93 "include/linux/spinlock.h"
 5056extern void __raw_spin_lock_init(raw_spinlock_t * , char const   * , struct lock_class_key * ) ;
 5057#line 29 "include/linux/spinlock_api_smp.h"
 5058extern void _raw_spin_lock_irq(raw_spinlock_t * ) ;
 5059#line 41
 5060extern void _raw_spin_unlock_irq(raw_spinlock_t * ) ;
 5061#line 272 "include/linux/spinlock.h"
 5062__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
 5063{ 
 5064
 5065  {
 5066#line 274
 5067  return (& lock->ldv_6060.rlock);
 5068}
 5069}
 5070#line 308 "include/linux/spinlock.h"
 5071__inline static void spin_lock_irq(spinlock_t *lock ) 
 5072{ struct raw_spinlock *__cil_tmp2 ;
 5073
 5074  {
 5075  {
 5076#line 310
 5077  __cil_tmp2 = & lock->ldv_6060.rlock;
 5078#line 310
 5079  _raw_spin_lock_irq(__cil_tmp2);
 5080  }
 5081#line 311
 5082  return;
 5083}
 5084}
 5085#line 333 "include/linux/spinlock.h"
 5086__inline static void spin_unlock_irq(spinlock_t *lock ) 
 5087{ struct raw_spinlock *__cil_tmp2 ;
 5088
 5089  {
 5090  {
 5091#line 335
 5092  __cil_tmp2 = & lock->ldv_6060.rlock;
 5093#line 335
 5094  _raw_spin_unlock_irq(__cil_tmp2);
 5095  }
 5096#line 336
 5097  return;
 5098}
 5099}
 5100#line 80 "include/linux/wait.h"
 5101extern void __init_waitqueue_head(wait_queue_head_t * , struct lock_class_key * ) ;
 5102#line 156
 5103extern void __wake_up(wait_queue_head_t * , unsigned int  , int  , void * ) ;
 5104#line 584
 5105extern void prepare_to_wait(wait_queue_head_t * , wait_queue_t * , int  ) ;
 5106#line 586
 5107extern void finish_wait(wait_queue_head_t * , wait_queue_t * ) ;
 5108#line 589
 5109extern int autoremove_wake_function(wait_queue_t * , unsigned int  , int  , void * ) ;
 5110#line 115 "include/linux/mutex.h"
 5111extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
 5112#line 134
 5113extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
 5114#line 169
 5115extern void mutex_unlock(struct mutex * ) ;
 5116#line 73 "include/linux/completion.h"
 5117__inline static void init_completion(struct completion *x ) 
 5118{ struct lock_class_key __key ;
 5119  wait_queue_head_t *__cil_tmp3 ;
 5120
 5121  {
 5122  {
 5123#line 75
 5124  x->done = 0U;
 5125#line 76
 5126  __cil_tmp3 = & x->wait;
 5127#line 76
 5128  __init_waitqueue_head(__cil_tmp3, & __key);
 5129  }
 5130#line 78
 5131  return;
 5132}
 5133}
 5134#line 79
 5135extern void wait_for_completion(struct completion * ) ;
 5136#line 91
 5137extern void complete(struct completion * ) ;
 5138#line 322 "include/linux/gfp.h"
 5139extern struct page *alloc_pages_current(gfp_t  , unsigned int  ) ;
 5140#line 325 "include/linux/gfp.h"
 5141__inline static struct page *alloc_pages(gfp_t gfp_mask , unsigned int order ) 
 5142{ struct page *tmp ;
 5143
 5144  {
 5145  {
 5146#line 327
 5147  tmp = alloc_pages_current(gfp_mask, order);
 5148  }
 5149#line 327
 5150  return (tmp);
 5151}
 5152}
 5153#line 358
 5154extern void __free_pages(struct page * , unsigned int  ) ;
 5155#line 830 "include/linux/rcupdate.h"
 5156extern void kfree(void const   * ) ;
 5157#line 157 "include/linux/sysfs.h"
 5158extern int sysfs_create_group(struct kobject * , struct attribute_group  const  * ) ;
 5159#line 161
 5160extern void sysfs_remove_group(struct kobject * , struct attribute_group  const  * ) ;
 5161#line 211 "include/linux/kobject.h"
 5162extern int kobject_uevent(struct kobject * , enum kobject_action  ) ;
 5163#line 99 "include/linux/module.h"
 5164extern struct module __this_module ;
 5165#line 519
 5166__inline static void ldv___module_get_1(struct module *module ) ;
 5167#line 541
 5168__inline static int ldv_try_module_get_4(struct module *module ) ;
 5169#line 547
 5170void ldv_module_put_2(struct module *ldv_func_arg1 ) ;
 5171#line 551
 5172void ldv_module_put_3(struct module *ldv_func_arg1 ) ;
 5173#line 555
 5174void ldv_module_put_5(struct module *ldv_func_arg1 ) ;
 5175#line 559
 5176void ldv_module_put_6(struct module *ldv_func_arg1 ) ;
 5177#line 3 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5178int ldv_try_module_get(struct module *module ) ;
 5179#line 4
 5180void ldv_module_get(struct module *module ) ;
 5181#line 5
 5182void ldv_module_put(struct module *module ) ;
 5183#line 6
 5184unsigned int ldv_module_refcount(void) ;
 5185#line 7
 5186void ldv_module_put_and_exit(void) ;
 5187#line 546 "include/linux/capability.h"
 5188extern bool capable(int  ) ;
 5189#line 361 "include/linux/sched.h"
 5190extern void schedule(void) ;
 5191#line 2037
 5192extern void set_user_nice(struct task_struct * , long  ) ;
 5193#line 2112
 5194extern int wake_up_process(struct task_struct * ) ;
 5195#line 2441 "include/linux/sched.h"
 5196__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag ) 
 5197{ int tmp ;
 5198  void *__cil_tmp4 ;
 5199  struct thread_info *__cil_tmp5 ;
 5200
 5201  {
 5202  {
 5203#line 2443
 5204  __cil_tmp4 = tsk->stack;
 5205#line 2443
 5206  __cil_tmp5 = (struct thread_info *)__cil_tmp4;
 5207#line 2443
 5208  tmp = test_ti_thread_flag(__cil_tmp5, flag);
 5209  }
 5210#line 2443
 5211  return (tmp);
 5212}
 5213}
 5214#line 2467 "include/linux/sched.h"
 5215__inline static int signal_pending(struct task_struct *p ) 
 5216{ int tmp ;
 5217  long tmp___0 ;
 5218  int __cil_tmp4 ;
 5219  long __cil_tmp5 ;
 5220
 5221  {
 5222  {
 5223#line 2469
 5224  tmp = test_tsk_thread_flag(p, 2);
 5225#line 2469
 5226  __cil_tmp4 = tmp != 0;
 5227#line 2469
 5228  __cil_tmp5 = (long )__cil_tmp4;
 5229#line 2469
 5230  tmp___0 = __builtin_expect(__cil_tmp5, 0L);
 5231  }
 5232#line 2469
 5233  return ((int )tmp___0);
 5234}
 5235}
 5236#line 2504
 5237extern int _cond_resched(void) ;
 5238#line 41 "include/linux/kdev_t.h"
 5239__inline static u32 new_encode_dev(dev_t dev ) 
 5240{ unsigned int major ;
 5241  unsigned int minor ;
 5242  unsigned int __cil_tmp4 ;
 5243  unsigned int __cil_tmp5 ;
 5244  unsigned int __cil_tmp6 ;
 5245  unsigned int __cil_tmp7 ;
 5246  unsigned int __cil_tmp8 ;
 5247
 5248  {
 5249#line 43
 5250  major = dev >> 20;
 5251#line 44
 5252  minor = dev & 1048575U;
 5253  {
 5254#line 45
 5255  __cil_tmp4 = minor & 4294967040U;
 5256#line 45
 5257  __cil_tmp5 = __cil_tmp4 << 12;
 5258#line 45
 5259  __cil_tmp6 = major << 8;
 5260#line 45
 5261  __cil_tmp7 = minor & 255U;
 5262#line 45
 5263  __cil_tmp8 = __cil_tmp7 | __cil_tmp6;
 5264#line 45
 5265  return (__cil_tmp8 | __cil_tmp5);
 5266  }
 5267}
 5268}
 5269#line 60 "include/linux/kdev_t.h"
 5270__inline static u64 huge_encode_dev(dev_t dev ) 
 5271{ u32 tmp ;
 5272
 5273  {
 5274  {
 5275#line 62
 5276  tmp = new_encode_dev(dev);
 5277  }
 5278#line 62
 5279  return ((u64 )tmp);
 5280}
 5281}
 5282#line 344 "include/linux/dcache.h"
 5283extern char *d_path(struct path  const  * , char * , int  ) ;
 5284#line 625 "include/linux/fs.h"
 5285extern int pagecache_write_begin(struct file * , struct address_space * , loff_t  ,
 5286                                 unsigned int  , unsigned int  , struct page ** ,
 5287                                 void ** ) ;
 5288#line 629
 5289extern int pagecache_write_end(struct file * , struct address_space * , loff_t  ,
 5290                               unsigned int  , unsigned int  , struct page * , void * ) ;
 5291#line 848 "include/linux/fs.h"
 5292__inline static loff_t i_size_read(struct inode  const  *inode ) 
 5293{ loff_t __cil_tmp2 ;
 5294
 5295  {
 5296  {
 5297#line 867
 5298  __cil_tmp2 = inode->i_size;
 5299#line 867
 5300  return ((loff_t )__cil_tmp2);
 5301  }
 5302}
 5303}
 5304#line 2025
 5305extern int register_blkdev(unsigned int  , char const   * ) ;
 5306#line 2026
 5307extern void unregister_blkdev(unsigned int  , char const   * ) ;
 5308#line 2029
 5309extern void bd_set_size(struct block_device * , loff_t  ) ;
 5310#line 2032
 5311extern void invalidate_bdev(struct block_device * ) ;
 5312#line 2059
 5313extern int ioctl_by_bdev(struct block_device * , unsigned int  , unsigned long  ) ;
 5314#line 2181
 5315extern int vfs_fsync(struct file * , int  ) ;
 5316#line 2296
 5317extern int set_blocksize(struct block_device * , int  ) ;
 5318#line 2403
 5319extern int vfs_getattr(struct vfsmount * , struct dentry * , struct kstat * ) ;
 5320#line 2487
 5321extern void file_update_time(struct file * ) ;
 5322#line 14 "include/linux/file.h"
 5323extern void fput(struct file * ) ;
 5324#line 30
 5325extern struct file *fget(unsigned int  ) ;
 5326#line 221 "include/linux/slub_def.h"
 5327extern void *__kmalloc(size_t  , gfp_t  ) ;
 5328#line 255 "include/linux/slub_def.h"
 5329__inline static void *kmalloc(size_t size , gfp_t flags ) 
 5330{ void *tmp___2 ;
 5331
 5332  {
 5333  {
 5334#line 270
 5335  tmp___2 = __kmalloc(size, flags);
 5336  }
 5337#line 270
 5338  return (tmp___2);
 5339}
 5340}
 5341#line 318 "include/linux/slab.h"
 5342__inline static void *kzalloc(size_t size , gfp_t flags ) 
 5343{ void *tmp ;
 5344  unsigned int __cil_tmp4 ;
 5345
 5346  {
 5347  {
 5348#line 320
 5349  __cil_tmp4 = flags | 32768U;
 5350#line 320
 5351  tmp = kmalloc(size, __cil_tmp4);
 5352  }
 5353#line 320
 5354  return (tmp);
 5355}
 5356}
 5357#line 408 "include/linux/genhd.h"
 5358extern void add_disk(struct gendisk * ) ;
 5359#line 409
 5360extern void del_gendisk(struct gendisk * ) ;
 5361#line 413
 5362extern void set_device_ro(struct block_device * , int  ) ;
 5363#line 434 "include/linux/genhd.h"
 5364__inline static sector_t get_capacity(struct gendisk *disk ) 
 5365{ 
 5366
 5367  {
 5368#line 436
 5369  return (disk->part0.nr_sects);
 5370}
 5371}
 5372#line 438 "include/linux/genhd.h"
 5373__inline static void set_capacity(struct gendisk *disk , sector_t size ) 
 5374{ 
 5375
 5376  {
 5377#line 440
 5378  disk->part0.nr_sects = size;
 5379#line 441
 5380  return;
 5381}
 5382}
 5383#line 607
 5384extern struct gendisk *alloc_disk(int  ) ;
 5385#line 608
 5386extern struct kobject *get_disk(struct gendisk * ) ;
 5387#line 609
 5388extern void put_disk(struct gendisk * ) ;
 5389#line 610
 5390extern void blk_register_region(dev_t  , unsigned long  , struct module * , struct kobject *(*)(dev_t  ,
 5391                                                                                                int * ,
 5392                                                                                                void * ) ,
 5393                                int (*)(dev_t  , void * ) , void * ) ;
 5394#line 615
 5395extern void blk_unregister_region(dev_t  , unsigned long  ) ;
 5396#line 720 "include/linux/mm.h"
 5397__inline static void *lowmem_page_address(struct page *page ) 
 5398{ long __cil_tmp2 ;
 5399  long __cil_tmp3 ;
 5400  long __cil_tmp4 ;
 5401  unsigned long long __cil_tmp5 ;
 5402  unsigned long long __cil_tmp6 ;
 5403  unsigned long __cil_tmp7 ;
 5404  unsigned long __cil_tmp8 ;
 5405
 5406  {
 5407  {
 5408#line 722
 5409  __cil_tmp2 = (long )page;
 5410#line 722
 5411  __cil_tmp3 = __cil_tmp2 + 24189255811072L;
 5412#line 722
 5413  __cil_tmp4 = __cil_tmp3 / 56L;
 5414#line 722
 5415  __cil_tmp5 = (unsigned long long )__cil_tmp4;
 5416#line 722
 5417  __cil_tmp6 = __cil_tmp5 << 12;
 5418#line 722
 5419  __cil_tmp7 = (unsigned long )__cil_tmp6;
 5420#line 722
 5421  __cil_tmp8 = __cil_tmp7 + 1152789563211513856UL;
 5422#line 722
 5423  return ((void *)__cil_tmp8);
 5424  }
 5425}
 5426}
 5427#line 40 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 5428extern unsigned long _copy_to_user(void * , void const   * , unsigned int  ) ;
 5429#line 42
 5430extern unsigned long _copy_from_user(void * , void const   * , unsigned int  ) ;
 5431#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 5432__inline static unsigned long copy_from_user(void *to , void const   *from , unsigned long n ) 
 5433{ int sz ;
 5434  unsigned long tmp ;
 5435  int __ret_warn_on ;
 5436  long tmp___0 ;
 5437  long tmp___1 ;
 5438  long tmp___2 ;
 5439  void const   *__cil_tmp10 ;
 5440  void *__cil_tmp11 ;
 5441  int __cil_tmp12 ;
 5442  long __cil_tmp13 ;
 5443  unsigned int __cil_tmp14 ;
 5444  unsigned long __cil_tmp15 ;
 5445  int __cil_tmp16 ;
 5446  long __cil_tmp17 ;
 5447  unsigned int __cil_tmp18 ;
 5448  int __cil_tmp19 ;
 5449  long __cil_tmp20 ;
 5450  int __cil_tmp21 ;
 5451  int __cil_tmp22 ;
 5452  int __cil_tmp23 ;
 5453  long __cil_tmp24 ;
 5454
 5455  {
 5456  {
 5457#line 50
 5458  __cil_tmp10 = (void const   *)to;
 5459#line 50
 5460  __cil_tmp11 = (void *)__cil_tmp10;
 5461#line 50
 5462  tmp = __builtin_object_size(__cil_tmp11, 0);
 5463#line 50
 5464  sz = (int )tmp;
 5465#line 52
 5466  might_fault();
 5467#line 53
 5468  __cil_tmp12 = sz == -1;
 5469#line 53
 5470  __cil_tmp13 = (long )__cil_tmp12;
 5471#line 53
 5472  tmp___1 = __builtin_expect(__cil_tmp13, 1L);
 5473  }
 5474#line 53
 5475  if (tmp___1 != 0L) {
 5476    {
 5477#line 54
 5478    __cil_tmp14 = (unsigned int )n;
 5479#line 54
 5480    n = _copy_from_user(to, from, __cil_tmp14);
 5481    }
 5482  } else {
 5483    {
 5484#line 53
 5485    __cil_tmp15 = (unsigned long )sz;
 5486#line 53
 5487    __cil_tmp16 = __cil_tmp15 >= n;
 5488#line 53
 5489    __cil_tmp17 = (long )__cil_tmp16;
 5490#line 53
 5491    tmp___2 = __builtin_expect(__cil_tmp17, 1L);
 5492    }
 5493#line 53
 5494    if (tmp___2 != 0L) {
 5495      {
 5496#line 54
 5497      __cil_tmp18 = (unsigned int )n;
 5498#line 54
 5499      n = _copy_from_user(to, from, __cil_tmp18);
 5500      }
 5501    } else {
 5502      {
 5503#line 57
 5504      __ret_warn_on = 1;
 5505#line 57
 5506      __cil_tmp19 = __ret_warn_on != 0;
 5507#line 57
 5508      __cil_tmp20 = (long )__cil_tmp19;
 5509#line 57
 5510      tmp___0 = __builtin_expect(__cil_tmp20, 0L);
 5511      }
 5512#line 57
 5513      if (tmp___0 != 0L) {
 5514        {
 5515#line 57
 5516        __cil_tmp21 = (int const   )57;
 5517#line 57
 5518        __cil_tmp22 = (int )__cil_tmp21;
 5519#line 57
 5520        warn_slowpath_fmt("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h",
 5521                          __cil_tmp22, "Buffer overflow detected!\n");
 5522        }
 5523      } else {
 5524
 5525      }
 5526      {
 5527#line 57
 5528      __cil_tmp23 = __ret_warn_on != 0;
 5529#line 57
 5530      __cil_tmp24 = (long )__cil_tmp23;
 5531#line 57
 5532      __builtin_expect(__cil_tmp24, 0L);
 5533      }
 5534    }
 5535  }
 5536#line 59
 5537  return (n);
 5538}
 5539}
 5540#line 63 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 5541__inline static int copy_to_user(void *dst , void const   *src , unsigned int size ) 
 5542{ unsigned long tmp ;
 5543
 5544  {
 5545  {
 5546#line 65
 5547  might_fault();
 5548#line 67
 5549  tmp = _copy_to_user(dst, src, size);
 5550  }
 5551#line 67
 5552  return ((int )tmp);
 5553}
 5554}
 5555#line 16 "include/linux/uaccess.h"
 5556__inline static void pagefault_disable(void) 
 5557{ struct thread_info *tmp ;
 5558  int __cil_tmp2 ;
 5559
 5560  {
 5561  {
 5562#line 18
 5563  tmp = current_thread_info();
 5564#line 18
 5565  __cil_tmp2 = tmp->preempt_count;
 5566#line 18
 5567  tmp->preempt_count = __cil_tmp2 + 1;
 5568#line 23
 5569  __asm__  volatile   ("": : : "memory");
 5570  }
 5571#line 24
 5572  return;
 5573}
 5574}
 5575#line 26 "include/linux/uaccess.h"
 5576__inline static void pagefault_enable(void) 
 5577{ struct thread_info *tmp ;
 5578  int __cil_tmp2 ;
 5579
 5580  {
 5581  {
 5582#line 32
 5583  __asm__  volatile   ("": : : "memory");
 5584#line 33
 5585  tmp = current_thread_info();
 5586#line 33
 5587  __cil_tmp2 = tmp->preempt_count;
 5588#line 33
 5589  tmp->preempt_count = __cil_tmp2 + -1;
 5590#line 37
 5591  __asm__  volatile   ("": : : "memory");
 5592  }
 5593#line 38
 5594  return;
 5595}
 5596}
 5597#line 48 "include/linux/highmem.h"
 5598__inline static void *kmap(struct page *page ) 
 5599{ void *tmp ;
 5600
 5601  {
 5602  {
 5603#line 50
 5604  __might_sleep("include/linux/highmem.h", 50, 0);
 5605#line 51
 5606  tmp = lowmem_page_address(page);
 5607  }
 5608#line 51
 5609  return (tmp);
 5610}
 5611}
 5612#line 54 "include/linux/highmem.h"
 5613__inline static void kunmap(struct page *page ) 
 5614{ 
 5615
 5616  {
 5617#line 56
 5618  return;
 5619}
 5620}
 5621#line 58 "include/linux/highmem.h"
 5622__inline static void *__kmap_atomic(struct page *page ) 
 5623{ void *tmp ;
 5624
 5625  {
 5626  {
 5627#line 60
 5628  pagefault_disable();
 5629#line 61
 5630  tmp = lowmem_page_address(page);
 5631  }
 5632#line 61
 5633  return (tmp);
 5634}
 5635}
 5636#line 65 "include/linux/highmem.h"
 5637__inline static void __kunmap_atomic(void *addr ) 
 5638{ 
 5639
 5640  {
 5641  {
 5642#line 67
 5643  pagefault_enable();
 5644  }
 5645#line 68
 5646  return;
 5647}
 5648}
 5649#line 56 "include/linux/pagemap.h"
 5650__inline static gfp_t mapping_gfp_mask(struct address_space *mapping ) 
 5651{ unsigned long __cil_tmp2 ;
 5652  gfp_t __cil_tmp3 ;
 5653
 5654  {
 5655  {
 5656#line 58
 5657  __cil_tmp2 = mapping->flags;
 5658#line 58
 5659  __cil_tmp3 = (gfp_t )__cil_tmp2;
 5660#line 58
 5661  return (__cil_tmp3 & 8388607U);
 5662  }
 5663}
 5664}
 5665#line 65 "include/linux/pagemap.h"
 5666__inline static void mapping_set_gfp_mask(struct address_space *m , gfp_t mask ) 
 5667{ unsigned long __cil_tmp3 ;
 5668  unsigned long __cil_tmp4 ;
 5669  unsigned long __cil_tmp5 ;
 5670
 5671  {
 5672#line 67
 5673  __cil_tmp3 = (unsigned long )mask;
 5674#line 67
 5675  __cil_tmp4 = m->flags;
 5676#line 67
 5677  __cil_tmp5 = __cil_tmp4 & 1152921504598458368UL;
 5678#line 67
 5679  m->flags = __cil_tmp5 | __cil_tmp3;
 5680#line 69
 5681  return;
 5682}
 5683}
 5684#line 214 "include/linux/bio.h"
 5685extern struct bio *bio_alloc(gfp_t  , int  ) ;
 5686#line 217
 5687extern void bio_put(struct bio * ) ;
 5688#line 220
 5689extern void bio_endio(struct bio * , int  ) ;
 5690#line 386 "include/linux/bio.h"
 5691__inline static int bio_list_empty(struct bio_list  const  *bl ) 
 5692{ struct bio *__cil_tmp2 ;
 5693  unsigned long __cil_tmp3 ;
 5694  struct bio *__cil_tmp4 ;
 5695  unsigned long __cil_tmp5 ;
 5696
 5697  {
 5698  {
 5699#line 388
 5700  __cil_tmp2 = (struct bio * const  )0;
 5701#line 388
 5702  __cil_tmp3 = (unsigned long )__cil_tmp2;
 5703#line 388
 5704  __cil_tmp4 = bl->head;
 5705#line 388
 5706  __cil_tmp5 = (unsigned long )__cil_tmp4;
 5707#line 388
 5708  return (__cil_tmp5 == __cil_tmp3);
 5709  }
 5710}
 5711}
 5712#line 391 "include/linux/bio.h"
 5713__inline static void bio_list_init(struct bio_list *bl ) 
 5714{ struct bio *tmp ;
 5715
 5716  {
 5717#line 393
 5718  tmp = (struct bio *)0;
 5719#line 393
 5720  bl->tail = tmp;
 5721#line 393
 5722  bl->head = tmp;
 5723#line 394
 5724  return;
 5725}
 5726}
 5727#line 410 "include/linux/bio.h"
 5728__inline static void bio_list_add(struct bio_list *bl , struct bio *bio ) 
 5729{ struct bio *__cil_tmp3 ;
 5730  unsigned long __cil_tmp4 ;
 5731  struct bio *__cil_tmp5 ;
 5732  unsigned long __cil_tmp6 ;
 5733  struct bio *__cil_tmp7 ;
 5734
 5735  {
 5736#line 412
 5737  bio->bi_next = (struct bio *)0;
 5738  {
 5739#line 414
 5740  __cil_tmp3 = (struct bio *)0;
 5741#line 414
 5742  __cil_tmp4 = (unsigned long )__cil_tmp3;
 5743#line 414
 5744  __cil_tmp5 = bl->tail;
 5745#line 414
 5746  __cil_tmp6 = (unsigned long )__cil_tmp5;
 5747#line 414
 5748  if (__cil_tmp6 != __cil_tmp4) {
 5749#line 415
 5750    __cil_tmp7 = bl->tail;
 5751#line 415
 5752    __cil_tmp7->bi_next = bio;
 5753  } else {
 5754#line 417
 5755    bl->head = bio;
 5756  }
 5757  }
 5758#line 419
 5759  bl->tail = bio;
 5760#line 420
 5761  return;
 5762}
 5763}
 5764#line 464 "include/linux/bio.h"
 5765__inline static struct bio *bio_list_pop(struct bio_list *bl ) 
 5766{ struct bio *bio ;
 5767  struct bio *__cil_tmp3 ;
 5768  unsigned long __cil_tmp4 ;
 5769  unsigned long __cil_tmp5 ;
 5770  struct bio *__cil_tmp6 ;
 5771  struct bio *__cil_tmp7 ;
 5772  unsigned long __cil_tmp8 ;
 5773  struct bio *__cil_tmp9 ;
 5774  unsigned long __cil_tmp10 ;
 5775
 5776  {
 5777#line 466
 5778  bio = bl->head;
 5779  {
 5780#line 468
 5781  __cil_tmp3 = (struct bio *)0;
 5782#line 468
 5783  __cil_tmp4 = (unsigned long )__cil_tmp3;
 5784#line 468
 5785  __cil_tmp5 = (unsigned long )bio;
 5786#line 468
 5787  if (__cil_tmp5 != __cil_tmp4) {
 5788#line 469
 5789    __cil_tmp6 = bl->head;
 5790#line 469
 5791    bl->head = __cil_tmp6->bi_next;
 5792    {
 5793#line 470
 5794    __cil_tmp7 = (struct bio *)0;
 5795#line 470
 5796    __cil_tmp8 = (unsigned long )__cil_tmp7;
 5797#line 470
 5798    __cil_tmp9 = bl->head;
 5799#line 470
 5800    __cil_tmp10 = (unsigned long )__cil_tmp9;
 5801#line 470
 5802    if (__cil_tmp10 == __cil_tmp8) {
 5803#line 471
 5804      bl->tail = (struct bio *)0;
 5805    } else {
 5806
 5807    }
 5808    }
 5809#line 473
 5810    bio->bi_next = (struct bio *)0;
 5811  } else {
 5812
 5813  }
 5814  }
 5815#line 476
 5816  return (bio);
 5817}
 5818}
 5819#line 807 "include/linux/blkdev.h"
 5820extern void blk_cleanup_queue(struct request_queue * ) ;
 5821#line 808
 5822extern void blk_queue_make_request(struct request_queue * , make_request_fn * ) ;
 5823#line 847
 5824extern void blk_queue_flush(struct request_queue * , unsigned int  ) ;
 5825#line 856
 5826extern struct request_queue *blk_alloc_queue(gfp_t  ) ;
 5827#line 147 "include/linux/loop.h"
 5828int loop_register_transfer(struct loop_func_table *funcs ) ;
 5829#line 148
 5830int loop_unregister_transfer(int number ) ;
 5831#line 198 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 5832__inline static void *compat_ptr(compat_uptr_t uptr ) 
 5833{ unsigned long __cil_tmp2 ;
 5834
 5835  {
 5836  {
 5837#line 200
 5838  __cil_tmp2 = (unsigned long )uptr;
 5839#line 200
 5840  return ((void *)__cil_tmp2);
 5841  }
 5842}
 5843}
 5844#line 7 "include/linux/kthread.h"
 5845extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int  ,
 5846                                                  char const   *  , ...) ;
 5847#line 36
 5848extern int kthread_stop(struct task_struct * ) ;
 5849#line 37
 5850extern int kthread_should_stop(void) ;
 5851#line 68 "include/linux/splice.h"
 5852extern ssize_t __splice_from_pipe(struct pipe_inode_info * , struct splice_desc * ,
 5853                                  splice_actor * ) ;
 5854#line 82
 5855extern ssize_t splice_direct_to_actor(struct file * , struct splice_desc * , splice_direct_actor * ) ;
 5856#line 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5857static struct list_head loop_devices  =    {& loop_devices, & loop_devices};
 5858#line 90 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5859static struct mutex loop_devices_mutex  =    {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
 5860                                                                            {(struct lock_class *)0,
 5861                                                                             (struct lock_class *)0},
 5862                                                                            "loop_devices_mutex.wait_lock",
 5863                                                                            0, 0UL}}}},
 5864    {& loop_devices_mutex.wait_list, & loop_devices_mutex.wait_list}, (struct task_struct *)0,
 5865    (char const   *)0, (void *)(& loop_devices_mutex), {(struct lock_class_key *)0,
 5866                                                        {(struct lock_class *)0, (struct lock_class *)0},
 5867                                                        "loop_devices_mutex", 0, 0UL}};
 5868#line 92 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5869static int max_part  ;
 5870#line 93 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5871static int part_shift  ;
 5872#line 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5873static int transfer_none(struct loop_device *lo , int cmd , struct page *raw_page ,
 5874                         unsigned int raw_off , struct page *loop_page , unsigned int loop_off ,
 5875                         int size , sector_t real_block ) 
 5876{ char *raw_buf ;
 5877  void *tmp ;
 5878  char *loop_buf ;
 5879  void *tmp___0 ;
 5880  size_t __len ;
 5881  void *__ret ;
 5882  size_t __len___0 ;
 5883  void *__ret___0 ;
 5884  unsigned long __cil_tmp17 ;
 5885  char *__cil_tmp18 ;
 5886  unsigned long __cil_tmp19 ;
 5887  char *__cil_tmp20 ;
 5888  void *__cil_tmp21 ;
 5889  void const   *__cil_tmp22 ;
 5890  void *__cil_tmp23 ;
 5891  void const   *__cil_tmp24 ;
 5892  void *__cil_tmp25 ;
 5893  void *__cil_tmp26 ;
 5894
 5895  {
 5896  {
 5897#line 103
 5898  tmp = __kmap_atomic(raw_page);
 5899#line 103
 5900  __cil_tmp17 = (unsigned long )raw_off;
 5901#line 103
 5902  __cil_tmp18 = (char *)tmp;
 5903#line 103
 5904  raw_buf = __cil_tmp18 + __cil_tmp17;
 5905#line 104
 5906  tmp___0 = __kmap_atomic(loop_page);
 5907#line 104
 5908  __cil_tmp19 = (unsigned long )loop_off;
 5909#line 104
 5910  __cil_tmp20 = (char *)tmp___0;
 5911#line 104
 5912  loop_buf = __cil_tmp20 + __cil_tmp19;
 5913  }
 5914#line 106
 5915  if (cmd == 0) {
 5916    {
 5917#line 107
 5918    __len = (size_t )size;
 5919#line 107
 5920    __cil_tmp21 = (void *)loop_buf;
 5921#line 107
 5922    __cil_tmp22 = (void const   *)raw_buf;
 5923#line 107
 5924    __ret = __builtin_memcpy(__cil_tmp21, __cil_tmp22, __len);
 5925    }
 5926  } else {
 5927    {
 5928#line 109
 5929    __len___0 = (size_t )size;
 5930#line 109
 5931    __cil_tmp23 = (void *)raw_buf;
 5932#line 109
 5933    __cil_tmp24 = (void const   *)loop_buf;
 5934#line 109
 5935    __ret___0 = __builtin_memcpy(__cil_tmp23, __cil_tmp24, __len___0);
 5936    }
 5937  }
 5938  {
 5939#line 111
 5940  __cil_tmp25 = (void *)loop_buf;
 5941#line 111
 5942  __kunmap_atomic(__cil_tmp25);
 5943#line 112
 5944  __cil_tmp26 = (void *)raw_buf;
 5945#line 112
 5946  __kunmap_atomic(__cil_tmp26);
 5947#line 113
 5948  __might_sleep("/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p",
 5949                113, 0);
 5950#line 113
 5951  _cond_resched();
 5952  }
 5953#line 114
 5954  return (0);
 5955}
 5956}
 5957#line 117 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 5958static int transfer_xor(struct loop_device *lo , int cmd , struct page *raw_page ,
 5959                        unsigned int raw_off , struct page *loop_page , unsigned int loop_off ,
 5960                        int size , sector_t real_block ) 
 5961{ char *raw_buf ;
 5962  void *tmp ;
 5963  char *loop_buf ;
 5964  void *tmp___0 ;
 5965  char *in ;
 5966  char *out ;
 5967  char *key ;
 5968  int i ;
 5969  int keysize ;
 5970  char *tmp___1 ;
 5971  char *tmp___2 ;
 5972  unsigned long __cil_tmp20 ;
 5973  char *__cil_tmp21 ;
 5974  unsigned long __cil_tmp22 ;
 5975  char *__cil_tmp23 ;
 5976  char (*__cil_tmp24)[32U] ;
 5977  int __cil_tmp25 ;
 5978  int __cil_tmp26 ;
 5979  unsigned long __cil_tmp27 ;
 5980  char *__cil_tmp28 ;
 5981  char __cil_tmp29 ;
 5982  signed char __cil_tmp30 ;
 5983  int __cil_tmp31 ;
 5984  char __cil_tmp32 ;
 5985  signed char __cil_tmp33 ;
 5986  int __cil_tmp34 ;
 5987  int __cil_tmp35 ;
 5988  void *__cil_tmp36 ;
 5989  void *__cil_tmp37 ;
 5990
 5991  {
 5992  {
 5993#line 122
 5994  tmp = __kmap_atomic(raw_page);
 5995#line 122
 5996  __cil_tmp20 = (unsigned long )raw_off;
 5997#line 122
 5998  __cil_tmp21 = (char *)tmp;
 5999#line 122
 6000  raw_buf = __cil_tmp21 + __cil_tmp20;
 6001#line 123
 6002  tmp___0 = __kmap_atomic(loop_page);
 6003#line 123
 6004  __cil_tmp22 = (unsigned long )loop_off;
 6005#line 123
 6006  __cil_tmp23 = (char *)tmp___0;
 6007#line 123
 6008  loop_buf = __cil_tmp23 + __cil_tmp22;
 6009  }
 6010#line 127
 6011  if (cmd == 0) {
 6012#line 128
 6013    in = raw_buf;
 6014#line 129
 6015    out = loop_buf;
 6016  } else {
 6017#line 131
 6018    in = loop_buf;
 6019#line 132
 6020    out = raw_buf;
 6021  }
 6022#line 135
 6023  __cil_tmp24 = & lo->lo_encrypt_key;
 6024#line 135
 6025  key = (char *)__cil_tmp24;
 6026#line 136
 6027  keysize = lo->lo_encrypt_key_size;
 6028#line 137
 6029  i = 0;
 6030#line 137
 6031  goto ldv_30396;
 6032  ldv_30395: 
 6033#line 138
 6034  tmp___1 = out;
 6035#line 138
 6036  out = out + 1;
 6037#line 138
 6038  tmp___2 = in;
 6039#line 138
 6040  in = in + 1;
 6041#line 138
 6042  __cil_tmp25 = i & 511;
 6043#line 138
 6044  __cil_tmp26 = __cil_tmp25 % keysize;
 6045#line 138
 6046  __cil_tmp27 = (unsigned long )__cil_tmp26;
 6047#line 138
 6048  __cil_tmp28 = key + __cil_tmp27;
 6049#line 138
 6050  __cil_tmp29 = *__cil_tmp28;
 6051#line 138
 6052  __cil_tmp30 = (signed char )__cil_tmp29;
 6053#line 138
 6054  __cil_tmp31 = (int )__cil_tmp30;
 6055#line 138
 6056  __cil_tmp32 = *tmp___2;
 6057#line 138
 6058  __cil_tmp33 = (signed char )__cil_tmp32;
 6059#line 138
 6060  __cil_tmp34 = (int )__cil_tmp33;
 6061#line 138
 6062  __cil_tmp35 = __cil_tmp34 ^ __cil_tmp31;
 6063#line 138
 6064  *tmp___1 = (char )__cil_tmp35;
 6065#line 137
 6066  i = i + 1;
 6067  ldv_30396: ;
 6068#line 137
 6069  if (i < size) {
 6070#line 138
 6071    goto ldv_30395;
 6072  } else {
 6073#line 140
 6074    goto ldv_30397;
 6075  }
 6076  ldv_30397: 
 6077  {
 6078#line 140
 6079  __cil_tmp36 = (void *)loop_buf;
 6080#line 140
 6081  __kunmap_atomic(__cil_tmp36);
 6082#line 141
 6083  __cil_tmp37 = (void *)raw_buf;
 6084#line 141
 6085  __kunmap_atomic(__cil_tmp37);
 6086#line 142
 6087  __might_sleep("/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p",
 6088                142, 0);
 6089#line 142
 6090  _cond_resched();
 6091  }
 6092#line 143
 6093  return (0);
 6094}
 6095}
 6096#line 146 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6097static int xor_init(struct loop_device *lo , struct loop_info64  const  *info ) 
 6098{ long tmp ;
 6099  __u32 __cil_tmp4 ;
 6100  unsigned int __cil_tmp5 ;
 6101  int __cil_tmp6 ;
 6102  long __cil_tmp7 ;
 6103
 6104  {
 6105  {
 6106#line 148
 6107  __cil_tmp4 = info->lo_encrypt_key_size;
 6108#line 148
 6109  __cil_tmp5 = (unsigned int )__cil_tmp4;
 6110#line 148
 6111  __cil_tmp6 = __cil_tmp5 == 0U;
 6112#line 148
 6113  __cil_tmp7 = (long )__cil_tmp6;
 6114#line 148
 6115  tmp = __builtin_expect(__cil_tmp7, 0L);
 6116  }
 6117#line 148
 6118  if (tmp != 0L) {
 6119#line 149
 6120    return (-22);
 6121  } else {
 6122
 6123  }
 6124#line 150
 6125  return (0);
 6126}
 6127}
 6128#line 153 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6129static struct loop_func_table none_funcs  =    {0, & transfer_none, (int (*)(struct loop_device * , struct loop_info64  const  * ))0,
 6130    (int (*)(struct loop_device * ))0, (int (*)(struct loop_device * , int  , unsigned long  ))0,
 6131    (struct module *)0};
 6132#line 158 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6133static struct loop_func_table xor_funcs  =    {1, & transfer_xor, & xor_init, (int (*)(struct loop_device * ))0, (int (*)(struct loop_device * ,
 6134                                                                               int  ,
 6135                                                                               unsigned long  ))0,
 6136    (struct module *)0};
 6137#line 165 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6138static struct loop_func_table *xfer_funcs[20U]  = {      & none_funcs,      & xor_funcs};
 6139#line 170 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6140static loff_t get_loop_size(struct loop_device *lo , struct file *file ) 
 6141{ loff_t size ;
 6142  loff_t offset ;
 6143  loff_t loopsize ;
 6144  struct address_space *__cil_tmp6 ;
 6145  struct inode *__cil_tmp7 ;
 6146  struct inode  const  *__cil_tmp8 ;
 6147  loff_t __cil_tmp9 ;
 6148  loff_t __cil_tmp10 ;
 6149
 6150  {
 6151  {
 6152#line 175
 6153  __cil_tmp6 = file->f_mapping;
 6154#line 175
 6155  __cil_tmp7 = __cil_tmp6->host;
 6156#line 175
 6157  __cil_tmp8 = (struct inode  const  *)__cil_tmp7;
 6158#line 175
 6159  size = i_size_read(__cil_tmp8);
 6160#line 176
 6161  offset = lo->lo_offset;
 6162#line 177
 6163  loopsize = size - offset;
 6164  }
 6165  {
 6166#line 178
 6167  __cil_tmp9 = lo->lo_sizelimit;
 6168#line 178
 6169  if (__cil_tmp9 > 0LL) {
 6170    {
 6171#line 178
 6172    __cil_tmp10 = lo->lo_sizelimit;
 6173#line 178
 6174    if (__cil_tmp10 < loopsize) {
 6175#line 179
 6176      loopsize = lo->lo_sizelimit;
 6177    } else {
 6178
 6179    }
 6180    }
 6181  } else {
 6182
 6183  }
 6184  }
 6185#line 185
 6186  return (loopsize >> 9);
 6187}
 6188}
 6189#line 189 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6190static int figure_loop_size(struct loop_device *lo ) 
 6191{ loff_t size ;
 6192  loff_t tmp ;
 6193  sector_t x ;
 6194  long tmp___0 ;
 6195  struct file *__cil_tmp6 ;
 6196  long long __cil_tmp7 ;
 6197  int __cil_tmp8 ;
 6198  long __cil_tmp9 ;
 6199  struct gendisk *__cil_tmp10 ;
 6200
 6201  {
 6202  {
 6203#line 191
 6204  __cil_tmp6 = lo->lo_backing_file;
 6205#line 191
 6206  tmp = get_loop_size(lo, __cil_tmp6);
 6207#line 191
 6208  size = tmp;
 6209#line 192
 6210  x = (unsigned long )size;
 6211#line 194
 6212  __cil_tmp7 = (long long )x;
 6213#line 194
 6214  __cil_tmp8 = __cil_tmp7 != size;
 6215#line 194
 6216  __cil_tmp9 = (long )__cil_tmp8;
 6217#line 194
 6218  tmp___0 = __builtin_expect(__cil_tmp9, 0L);
 6219  }
 6220#line 194
 6221  if (tmp___0 != 0L) {
 6222#line 195
 6223    return (-27);
 6224  } else {
 6225
 6226  }
 6227  {
 6228#line 197
 6229  __cil_tmp10 = lo->lo_disk;
 6230#line 197
 6231  set_capacity(__cil_tmp10, x);
 6232  }
 6233#line 198
 6234  return (0);
 6235}
 6236}
 6237#line 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6238__inline static int lo_do_transfer(struct loop_device *lo , int cmd , struct page *rpage ,
 6239                                   unsigned int roffs , struct page *lpage , unsigned int loffs ,
 6240                                   int size , sector_t rblock ) 
 6241{ long tmp ;
 6242  int tmp___0 ;
 6243  int (*__cil_tmp11)(struct loop_device * , int  , struct page * , unsigned int  ,
 6244                     struct page * , unsigned int  , int  , sector_t  ) ;
 6245  unsigned long __cil_tmp12 ;
 6246  int (*__cil_tmp13)(struct loop_device * , int  , struct page * , unsigned int  ,
 6247                     struct page * , unsigned int  , int  , sector_t  ) ;
 6248  unsigned long __cil_tmp14 ;
 6249  int __cil_tmp15 ;
 6250  long __cil_tmp16 ;
 6251  int (*__cil_tmp17)(struct loop_device * , int  , struct page * , unsigned int  ,
 6252                     struct page * , unsigned int  , int  , sector_t  ) ;
 6253
 6254  {
 6255  {
 6256#line 207
 6257  __cil_tmp11 = (int (*)(struct loop_device * , int  , struct page * , unsigned int  ,
 6258                         struct page * , unsigned int  , int  , sector_t  ))0;
 6259#line 207
 6260  __cil_tmp12 = (unsigned long )__cil_tmp11;
 6261#line 207
 6262  __cil_tmp13 = lo->transfer;
 6263#line 207
 6264  __cil_tmp14 = (unsigned long )__cil_tmp13;
 6265#line 207
 6266  __cil_tmp15 = __cil_tmp14 == __cil_tmp12;
 6267#line 207
 6268  __cil_tmp16 = (long )__cil_tmp15;
 6269#line 207
 6270  tmp = __builtin_expect(__cil_tmp16, 0L);
 6271  }
 6272#line 207
 6273  if (tmp != 0L) {
 6274#line 208
 6275    return (0);
 6276  } else {
 6277
 6278  }
 6279  {
 6280#line 210
 6281  __cil_tmp17 = lo->transfer;
 6282#line 210
 6283  tmp___0 = (*__cil_tmp17)(lo, cmd, rpage, roffs, lpage, loffs, size, rblock);
 6284  }
 6285#line 210
 6286  return (tmp___0);
 6287}
 6288}
 6289#line 219 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6290static int do_lo_send_aops(struct loop_device *lo , struct bio_vec *bvec , loff_t pos ,
 6291                           struct page *unused ) 
 6292{ struct file *file ;
 6293  struct address_space *mapping ;
 6294  unsigned long index ;
 6295  unsigned int offset ;
 6296  unsigned int bv_offs ;
 6297  int len ;
 6298  int ret ;
 6299  sector_t IV ;
 6300  unsigned int size ;
 6301  unsigned int copied ;
 6302  int transfer_result ;
 6303  struct page *page ;
 6304  void *fsdata ;
 6305  long tmp ;
 6306  long tmp___0 ;
 6307  struct inode *__cil_tmp20 ;
 6308  struct mutex *__cil_tmp21 ;
 6309  loff_t __cil_tmp22 ;
 6310  unsigned int __cil_tmp23 ;
 6311  unsigned int __cil_tmp24 ;
 6312  unsigned int __cil_tmp25 ;
 6313  unsigned long __cil_tmp26 ;
 6314  unsigned long __cil_tmp27 ;
 6315  unsigned int __cil_tmp28 ;
 6316  struct page *__cil_tmp29 ;
 6317  int __cil_tmp30 ;
 6318  int __cil_tmp31 ;
 6319  long __cil_tmp32 ;
 6320  unsigned int __cil_tmp33 ;
 6321  int __cil_tmp34 ;
 6322  long __cil_tmp35 ;
 6323  unsigned int __cil_tmp36 ;
 6324  unsigned int __cil_tmp37 ;
 6325  loff_t __cil_tmp38 ;
 6326  struct inode *__cil_tmp39 ;
 6327  struct mutex *__cil_tmp40 ;
 6328
 6329  {
 6330  {
 6331#line 222
 6332  file = lo->lo_backing_file;
 6333#line 223
 6334  mapping = file->f_mapping;
 6335#line 228
 6336  __cil_tmp20 = mapping->host;
 6337#line 228
 6338  __cil_tmp21 = & __cil_tmp20->i_mutex;
 6339#line 228
 6340  mutex_lock_nested(__cil_tmp21, 0U);
 6341#line 229
 6342  __cil_tmp22 = pos >> 12;
 6343#line 229
 6344  index = (unsigned long )__cil_tmp22;
 6345#line 230
 6346  __cil_tmp23 = (unsigned int )pos;
 6347#line 230
 6348  offset = __cil_tmp23 & 4095U;
 6349#line 231
 6350  bv_offs = bvec->bv_offset;
 6351#line 232
 6352  __cil_tmp24 = bvec->bv_len;
 6353#line 232
 6354  len = (int )__cil_tmp24;
 6355  }
 6356#line 233
 6357  goto ldv_30449;
 6358  ldv_30448: 
 6359#line 240
 6360  __cil_tmp25 = offset >> 9;
 6361#line 240
 6362  __cil_tmp26 = (unsigned long )__cil_tmp25;
 6363#line 240
 6364  __cil_tmp27 = index << 3;
 6365#line 240
 6366  IV = __cil_tmp27 + __cil_tmp26;
 6367#line 241
 6368  size = 4096U - offset;
 6369  {
 6370#line 242
 6371  __cil_tmp28 = (unsigned int )len;
 6372#line 242
 6373  if (__cil_tmp28 < size) {
 6374#line 243
 6375    size = (unsigned int )len;
 6376  } else {
 6377
 6378  }
 6379  }
 6380  {
 6381#line 245
 6382  ret = pagecache_write_begin(file, mapping, pos, size, 0U, & page, & fsdata);
 6383  }
 6384#line 247
 6385  if (ret != 0) {
 6386#line 248
 6387    goto fail;
 6388  } else {
 6389
 6390  }
 6391  {
 6392#line 250
 6393  file_update_time(file);
 6394#line 252
 6395  __cil_tmp29 = bvec->bv_page;
 6396#line 252
 6397  __cil_tmp30 = (int )size;
 6398#line 252
 6399  transfer_result = lo_do_transfer(lo, 1, page, offset, __cil_tmp29, bv_offs, __cil_tmp30,
 6400                                   IV);
 6401#line 254
 6402  copied = size;
 6403#line 255
 6404  __cil_tmp31 = transfer_result != 0;
 6405#line 255
 6406  __cil_tmp32 = (long )__cil_tmp31;
 6407#line 255
 6408  tmp = __builtin_expect(__cil_tmp32, 0L);
 6409  }
 6410#line 255
 6411  if (tmp != 0L) {
 6412#line 256
 6413    copied = 0U;
 6414  } else {
 6415
 6416  }
 6417  {
 6418#line 258
 6419  ret = pagecache_write_end(file, mapping, pos, size, copied, page, fsdata);
 6420  }
 6421#line 260
 6422  if (ret < 0) {
 6423#line 261
 6424    goto fail;
 6425  } else {
 6426    {
 6427#line 260
 6428    __cil_tmp33 = (unsigned int )ret;
 6429#line 260
 6430    if (__cil_tmp33 != copied) {
 6431#line 261
 6432      goto fail;
 6433    } else {
 6434
 6435    }
 6436    }
 6437  }
 6438  {
 6439#line 263
 6440  __cil_tmp34 = transfer_result != 0;
 6441#line 263
 6442  __cil_tmp35 = (long )__cil_tmp34;
 6443#line 263
 6444  tmp___0 = __builtin_expect(__cil_tmp35, 0L);
 6445  }
 6446#line 263
 6447  if (tmp___0 != 0L) {
 6448#line 264
 6449    goto fail;
 6450  } else {
 6451
 6452  }
 6453#line 266
 6454  bv_offs = bv_offs + copied;
 6455#line 267
 6456  __cil_tmp36 = (unsigned int )len;
 6457#line 267
 6458  __cil_tmp37 = __cil_tmp36 - copied;
 6459#line 267
 6460  len = (int )__cil_tmp37;
 6461#line 268
 6462  offset = 0U;
 6463#line 269
 6464  index = index + 1UL;
 6465#line 270
 6466  __cil_tmp38 = (loff_t )copied;
 6467#line 270
 6468  pos = __cil_tmp38 + pos;
 6469  ldv_30449: ;
 6470#line 233
 6471  if (len > 0) {
 6472#line 234
 6473    goto ldv_30448;
 6474  } else {
 6475#line 236
 6476    goto ldv_30450;
 6477  }
 6478  ldv_30450: 
 6479#line 272
 6480  ret = 0;
 6481  out: 
 6482  {
 6483#line 274
 6484  __cil_tmp39 = mapping->host;
 6485#line 274
 6486  __cil_tmp40 = & __cil_tmp39->i_mutex;
 6487#line 274
 6488  mutex_unlock(__cil_tmp40);
 6489  }
 6490#line 275
 6491  return (ret);
 6492  fail: 
 6493#line 277
 6494  ret = -1;
 6495#line 278
 6496  goto out;
 6497}
 6498}
 6499#line 287 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6500static int __do_lo_send_write(struct file *file , u8 *buf , int len , loff_t pos ) 
 6501{ ssize_t bw ;
 6502  mm_segment_t old_fs ;
 6503  struct thread_info *tmp ;
 6504  struct thread_info *tmp___0 ;
 6505  mm_segment_t __constr_expr_0 ;
 6506  struct thread_info *tmp___1 ;
 6507  long tmp___2 ;
 6508  struct file_operations  const  *__cil_tmp12 ;
 6509  ssize_t (*__cil_tmp13)(struct file * , char const   * , size_t  , loff_t * ) ;
 6510  char const   *__cil_tmp14 ;
 6511  size_t __cil_tmp15 ;
 6512  ssize_t __cil_tmp16 ;
 6513  int __cil_tmp17 ;
 6514  long __cil_tmp18 ;
 6515  unsigned long long __cil_tmp19 ;
 6516
 6517  {
 6518  {
 6519#line 291
 6520  tmp = current_thread_info();
 6521#line 291
 6522  old_fs = tmp->addr_limit;
 6523#line 293
 6524  tmp___0 = current_thread_info();
 6525#line 293
 6526  __constr_expr_0.seg = 1152921504606846975UL;
 6527#line 293
 6528  tmp___0->addr_limit = __constr_expr_0;
 6529#line 294
 6530  __cil_tmp12 = file->f_op;
 6531#line 294
 6532  __cil_tmp13 = __cil_tmp12->write;
 6533#line 294
 6534  __cil_tmp14 = (char const   *)buf;
 6535#line 294
 6536  __cil_tmp15 = (size_t )len;
 6537#line 294
 6538  bw = (*__cil_tmp13)(file, __cil_tmp14, __cil_tmp15, & pos);
 6539#line 295
 6540  tmp___1 = current_thread_info();
 6541#line 295
 6542  tmp___1->addr_limit = old_fs;
 6543#line 296
 6544  __cil_tmp16 = (ssize_t )len;
 6545#line 296
 6546  __cil_tmp17 = __cil_tmp16 == bw;
 6547#line 296
 6548  __cil_tmp18 = (long )__cil_tmp17;
 6549#line 296
 6550  tmp___2 = __builtin_expect(__cil_tmp18, 1L);
 6551  }
 6552#line 296
 6553  if (tmp___2 != 0L) {
 6554#line 297
 6555    return (0);
 6556  } else {
 6557
 6558  }
 6559  {
 6560#line 298
 6561  __cil_tmp19 = (unsigned long long )pos;
 6562#line 298
 6563  printk("<3>loop: Write error at byte offset %llu, length %i.\n", __cil_tmp19, len);
 6564  }
 6565#line 300
 6566  if (bw >= 0L) {
 6567#line 301
 6568    bw = -5L;
 6569  } else {
 6570
 6571  }
 6572#line 302
 6573  return ((int )bw);
 6574}
 6575}
 6576#line 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6577static int do_lo_send_direct_write(struct loop_device *lo , struct bio_vec *bvec ,
 6578                                   loff_t pos , struct page *page ) 
 6579{ ssize_t bw ;
 6580  void *tmp ;
 6581  int tmp___0 ;
 6582  struct page *__cil_tmp8 ;
 6583  struct file *__cil_tmp9 ;
 6584  unsigned int __cil_tmp10 ;
 6585  unsigned long __cil_tmp11 ;
 6586  u8 *__cil_tmp12 ;
 6587  u8 *__cil_tmp13 ;
 6588  unsigned int __cil_tmp14 ;
 6589  int __cil_tmp15 ;
 6590  int __cil_tmp16 ;
 6591  struct page *__cil_tmp17 ;
 6592
 6593  {
 6594  {
 6595#line 316
 6596  __cil_tmp8 = bvec->bv_page;
 6597#line 316
 6598  tmp = kmap(__cil_tmp8);
 6599#line 316
 6600  __cil_tmp9 = lo->lo_backing_file;
 6601#line 316
 6602  __cil_tmp10 = bvec->bv_offset;
 6603#line 316
 6604  __cil_tmp11 = (unsigned long )__cil_tmp10;
 6605#line 316
 6606  __cil_tmp12 = (u8 *)tmp;
 6607#line 316
 6608  __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
 6609#line 316
 6610  __cil_tmp14 = bvec->bv_len;
 6611#line 316
 6612  __cil_tmp15 = (int const   )__cil_tmp14;
 6613#line 316
 6614  __cil_tmp16 = (int )__cil_tmp15;
 6615#line 316
 6616  tmp___0 = __do_lo_send_write(__cil_tmp9, __cil_tmp13, __cil_tmp16, pos);
 6617#line 316
 6618  bw = (ssize_t )tmp___0;
 6619#line 319
 6620  __cil_tmp17 = bvec->bv_page;
 6621#line 319
 6622  kunmap(__cil_tmp17);
 6623#line 320
 6624  __might_sleep("/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p",
 6625                320, 0);
 6626#line 320
 6627  _cond_resched();
 6628  }
 6629#line 321
 6630  return ((int )bw);
 6631}
 6632}
 6633#line 337 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6634static int do_lo_send_write(struct loop_device *lo , struct bio_vec *bvec , loff_t pos ,
 6635                            struct page *page ) 
 6636{ int ret ;
 6637  int tmp ;
 6638  void *tmp___0 ;
 6639  int tmp___1 ;
 6640  long tmp___2 ;
 6641  struct page *__cil_tmp10 ;
 6642  unsigned int __cil_tmp11 ;
 6643  unsigned int __cil_tmp12 ;
 6644  int __cil_tmp13 ;
 6645  loff_t __cil_tmp14 ;
 6646  sector_t __cil_tmp15 ;
 6647  int __cil_tmp16 ;
 6648  long __cil_tmp17 ;
 6649  struct file *__cil_tmp18 ;
 6650  u8 *__cil_tmp19 ;
 6651  unsigned int __cil_tmp20 ;
 6652  int __cil_tmp21 ;
 6653  int __cil_tmp22 ;
 6654  unsigned long long __cil_tmp23 ;
 6655  unsigned int __cil_tmp24 ;
 6656
 6657  {
 6658  {
 6659#line 340
 6660  __cil_tmp10 = bvec->bv_page;
 6661#line 340
 6662  __cil_tmp11 = bvec->bv_offset;
 6663#line 340
 6664  __cil_tmp12 = bvec->bv_len;
 6665#line 340
 6666  __cil_tmp13 = (int )__cil_tmp12;
 6667#line 340
 6668  __cil_tmp14 = pos >> 9;
 6669#line 340
 6670  __cil_tmp15 = (sector_t )__cil_tmp14;
 6671#line 340
 6672  tmp = lo_do_transfer(lo, 1, page, 0U, __cil_tmp10, __cil_tmp11, __cil_tmp13, __cil_tmp15);
 6673#line 340
 6674  ret = tmp;
 6675#line 342
 6676  __cil_tmp16 = ret == 0;
 6677#line 342
 6678  __cil_tmp17 = (long )__cil_tmp16;
 6679#line 342
 6680  tmp___2 = __builtin_expect(__cil_tmp17, 1L);
 6681  }
 6682#line 342
 6683  if (tmp___2 != 0L) {
 6684    {
 6685#line 343
 6686    tmp___0 = lowmem_page_address(page);
 6687#line 343
 6688    __cil_tmp18 = lo->lo_backing_file;
 6689#line 343
 6690    __cil_tmp19 = (u8 *)tmp___0;
 6691#line 343
 6692    __cil_tmp20 = bvec->bv_len;
 6693#line 343
 6694    __cil_tmp21 = (int const   )__cil_tmp20;
 6695#line 343
 6696    __cil_tmp22 = (int )__cil_tmp21;
 6697#line 343
 6698    tmp___1 = __do_lo_send_write(__cil_tmp18, __cil_tmp19, __cil_tmp22, pos);
 6699    }
 6700#line 343
 6701    return (tmp___1);
 6702  } else {
 6703
 6704  }
 6705  {
 6706#line 346
 6707  __cil_tmp23 = (unsigned long long )pos;
 6708#line 346
 6709  __cil_tmp24 = bvec->bv_len;
 6710#line 346
 6711  printk("<3>loop: Transfer error at byte offset %llu, length %i.\n", __cil_tmp23,
 6712         __cil_tmp24);
 6713  }
 6714#line 348
 6715  if (ret > 0) {
 6716#line 349
 6717    ret = -5;
 6718  } else {
 6719
 6720  }
 6721#line 350
 6722  return (ret);
 6723}
 6724}
 6725#line 353 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6726static int lo_send(struct loop_device *lo , struct bio *bio , loff_t pos ) 
 6727{ int (*do_lo_send)(struct loop_device * , struct bio_vec * , loff_t  , struct page * ) ;
 6728  struct bio_vec *bvec ;
 6729  struct page *page ;
 6730  int i ;
 6731  int ret ;
 6732  long tmp ;
 6733  int __cil_tmp10 ;
 6734  int __cil_tmp11 ;
 6735  unsigned long __cil_tmp12 ;
 6736  int (*__cil_tmp13)(struct loop_device * , int  , struct page * , unsigned int  ,
 6737                     struct page * , unsigned int  , int  , sector_t  ) ;
 6738  unsigned long __cil_tmp14 ;
 6739  struct page *__cil_tmp15 ;
 6740  unsigned long __cil_tmp16 ;
 6741  unsigned long __cil_tmp17 ;
 6742  int __cil_tmp18 ;
 6743  long __cil_tmp19 ;
 6744  unsigned short __cil_tmp20 ;
 6745  unsigned long __cil_tmp21 ;
 6746  struct bio_vec *__cil_tmp22 ;
 6747  unsigned short __cil_tmp23 ;
 6748  unsigned int __cil_tmp24 ;
 6749  loff_t __cil_tmp25 ;
 6750  unsigned short __cil_tmp26 ;
 6751  int __cil_tmp27 ;
 6752  struct page *__cil_tmp28 ;
 6753  unsigned long __cil_tmp29 ;
 6754  unsigned long __cil_tmp30 ;
 6755
 6756  {
 6757#line 358
 6758  page = (struct page *)0;
 6759#line 359
 6760  ret = 0;
 6761#line 361
 6762  do_lo_send = & do_lo_send_aops;
 6763  {
 6764#line 362
 6765  __cil_tmp10 = lo->lo_flags;
 6766#line 362
 6767  __cil_tmp11 = __cil_tmp10 & 2;
 6768#line 362
 6769  if (__cil_tmp11 == 0) {
 6770#line 363
 6771    do_lo_send = & do_lo_send_direct_write;
 6772    {
 6773#line 364
 6774    __cil_tmp12 = (unsigned long )(& transfer_none);
 6775#line 364
 6776    __cil_tmp13 = lo->transfer;
 6777#line 364
 6778    __cil_tmp14 = (unsigned long )__cil_tmp13;
 6779#line 364
 6780    if (__cil_tmp14 != __cil_tmp12) {
 6781      {
 6782#line 365
 6783      page = alloc_pages(18U, 0U);
 6784#line 366
 6785      __cil_tmp15 = (struct page *)0;
 6786#line 366
 6787      __cil_tmp16 = (unsigned long )__cil_tmp15;
 6788#line 366
 6789      __cil_tmp17 = (unsigned long )page;
 6790#line 366
 6791      __cil_tmp18 = __cil_tmp17 == __cil_tmp16;
 6792#line 366
 6793      __cil_tmp19 = (long )__cil_tmp18;
 6794#line 366
 6795      tmp = __builtin_expect(__cil_tmp19, 0L);
 6796      }
 6797#line 366
 6798      if (tmp != 0L) {
 6799#line 367
 6800        goto fail;
 6801      } else {
 6802
 6803      }
 6804      {
 6805#line 368
 6806      kmap(page);
 6807#line 369
 6808      do_lo_send = & do_lo_send_write;
 6809      }
 6810    } else {
 6811
 6812    }
 6813    }
 6814  } else {
 6815
 6816  }
 6817  }
 6818#line 372
 6819  __cil_tmp20 = bio->bi_idx;
 6820#line 372
 6821  __cil_tmp21 = (unsigned long )__cil_tmp20;
 6822#line 372
 6823  __cil_tmp22 = bio->bi_io_vec;
 6824#line 372
 6825  bvec = __cil_tmp22 + __cil_tmp21;
 6826#line 372
 6827  __cil_tmp23 = bio->bi_idx;
 6828#line 372
 6829  i = (int )__cil_tmp23;
 6830#line 372
 6831  goto ldv_30493;
 6832  ldv_30492: 
 6833  {
 6834#line 373
 6835  ret = (*do_lo_send)(lo, bvec, pos, page);
 6836  }
 6837#line 374
 6838  if (ret < 0) {
 6839#line 375
 6840    goto ldv_30491;
 6841  } else {
 6842
 6843  }
 6844#line 376
 6845  __cil_tmp24 = bvec->bv_len;
 6846#line 376
 6847  __cil_tmp25 = (loff_t )__cil_tmp24;
 6848#line 376
 6849  pos = __cil_tmp25 + pos;
 6850#line 372
 6851  bvec = bvec + 1;
 6852#line 372
 6853  i = i + 1;
 6854  ldv_30493: ;
 6855  {
 6856#line 372
 6857  __cil_tmp26 = bio->bi_vcnt;
 6858#line 372
 6859  __cil_tmp27 = (int )__cil_tmp26;
 6860#line 372
 6861  if (__cil_tmp27 > i) {
 6862#line 373
 6863    goto ldv_30492;
 6864  } else {
 6865#line 375
 6866    goto ldv_30491;
 6867  }
 6868  }
 6869  ldv_30491: ;
 6870  {
 6871#line 378
 6872  __cil_tmp28 = (struct page *)0;
 6873#line 378
 6874  __cil_tmp29 = (unsigned long )__cil_tmp28;
 6875#line 378
 6876  __cil_tmp30 = (unsigned long )page;
 6877#line 378
 6878  if (__cil_tmp30 != __cil_tmp29) {
 6879    {
 6880#line 379
 6881    kunmap(page);
 6882#line 380
 6883    __free_pages(page, 0U);
 6884    }
 6885  } else {
 6886
 6887  }
 6888  }
 6889  out: ;
 6890#line 383
 6891  return (ret);
 6892  fail: 
 6893  {
 6894#line 385
 6895  printk("<3>loop: Failed to allocate temporary page for write.\n");
 6896#line 386
 6897  ret = -12;
 6898  }
 6899#line 387
 6900  goto out;
 6901}
 6902}
 6903#line 398 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 6904static int lo_splice_actor(struct pipe_inode_info *pipe , struct pipe_buffer *buf ,
 6905                           struct splice_desc *sd ) 
 6906{ struct lo_read_data *p ;
 6907  struct loop_device *lo ;
 6908  struct page *page ;
 6909  sector_t IV ;
 6910  int size ;
 6911  int tmp ;
 6912  void *__cil_tmp10 ;
 6913  unsigned int __cil_tmp11 ;
 6914  unsigned int __cil_tmp12 ;
 6915  unsigned long __cil_tmp13 ;
 6916  unsigned long __cil_tmp14 ;
 6917  unsigned long __cil_tmp15 ;
 6918  unsigned int __cil_tmp16 ;
 6919  int __cil_tmp17 ;
 6920  unsigned int __cil_tmp18 ;
 6921  struct page *__cil_tmp19 ;
 6922  unsigned int __cil_tmp20 ;
 6923  unsigned long __cil_tmp21 ;
 6924  unsigned int __cil_tmp22 ;
 6925  unsigned int __cil_tmp23 ;
 6926
 6927  {
 6928#line 401
 6929  __cil_tmp10 = sd->u.data;
 6930#line 401
 6931  p = (struct lo_read_data *)__cil_tmp10;
 6932#line 402
 6933  lo = p->lo;
 6934#line 403
 6935  page = buf->page;
 6936#line 407
 6937  __cil_tmp11 = buf->offset;
 6938#line 407
 6939  __cil_tmp12 = __cil_tmp11 >> 9;
 6940#line 407
 6941  __cil_tmp13 = (unsigned long )__cil_tmp12;
 6942#line 407
 6943  __cil_tmp14 = page->ldv_13943.index;
 6944#line 407
 6945  __cil_tmp15 = __cil_tmp14 << 3;
 6946#line 407
 6947  IV = __cil_tmp15 + __cil_tmp13;
 6948#line 409
 6949  __cil_tmp16 = sd->len;
 6950#line 409
 6951  size = (int )__cil_tmp16;
 6952  {
 6953#line 410
 6954  __cil_tmp17 = p->bsize;
 6955#line 410
 6956  if (__cil_tmp17 < size) {
 6957#line 411
 6958    size = p->bsize;
 6959  } else {
 6960
 6961  }
 6962  }
 6963  {
 6964#line 413
 6965  __cil_tmp18 = buf->offset;
 6966#line 413
 6967  __cil_tmp19 = p->page;
 6968#line 413
 6969  __cil_tmp20 = p->offset;
 6970#line 413
 6971  tmp = lo_do_transfer(lo, 0, page, __cil_tmp18, __cil_tmp19, __cil_tmp20, size, IV);
 6972  }
 6973#line 413
 6974  if (tmp != 0) {
 6975    {
 6976#line 414
 6977    __cil_tmp21 = page->ldv_13943.index;
 6978#line 414
 6979    printk("<3>loop: transfer error block %ld\n", __cil_tmp21);
 6980#line 416
 6981    size = -22;
 6982    }
 6983  } else {
 6984
 6985  }
 6986#line 421
 6987  if (size > 0) {
 6988#line 422
 6989    __cil_tmp22 = (unsigned int )size;
 6990#line 422
 6991    __cil_tmp23 = p->offset;
 6992#line 422
 6993    p->offset = __cil_tmp23 + __cil_tmp22;
 6994  } else {
 6995
 6996  }
 6997#line 424
 6998  return (size);
 6999}
 7000}
 7001#line 428 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7002static int lo_direct_splice_actor(struct pipe_inode_info *pipe , struct splice_desc *sd ) 
 7003{ ssize_t tmp ;
 7004
 7005  {
 7006  {
 7007#line 430
 7008  tmp = __splice_from_pipe(pipe, sd, & lo_splice_actor);
 7009  }
 7010#line 430
 7011  return ((int )tmp);
 7012}
 7013}
 7014#line 434 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7015static int do_lo_receive(struct loop_device *lo , struct bio_vec *bvec , int bsize ,
 7016                         loff_t pos ) 
 7017{ struct lo_read_data cookie ;
 7018  struct splice_desc sd ;
 7019  struct file *file ;
 7020  long retval ;
 7021
 7022  {
 7023  {
 7024#line 442
 7025  cookie.lo = lo;
 7026#line 443
 7027  cookie.page = bvec->bv_page;
 7028#line 444
 7029  cookie.offset = bvec->bv_offset;
 7030#line 445
 7031  cookie.bsize = bsize;
 7032#line 447
 7033  sd.len = 0U;
 7034#line 448
 7035  sd.total_len = bvec->bv_len;
 7036#line 449
 7037  sd.flags = 0U;
 7038#line 450
 7039  sd.pos = pos;
 7040#line 451
 7041  sd.u.data = (void *)(& cookie);
 7042#line 453
 7043  file = lo->lo_backing_file;
 7044#line 454
 7045  retval = splice_direct_to_actor(file, & sd, & lo_direct_splice_actor);
 7046  }
 7047#line 456
 7048  if (retval < 0L) {
 7049#line 457
 7050    return ((int )retval);
 7051  } else {
 7052
 7053  }
 7054#line 459
 7055  return (0);
 7056}
 7057}
 7058#line 463 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7059static int lo_receive(struct loop_device *lo , struct bio *bio , int bsize , loff_t pos ) 
 7060{ struct bio_vec *bvec ;
 7061  int i ;
 7062  int ret ;
 7063  unsigned short __cil_tmp8 ;
 7064  unsigned long __cil_tmp9 ;
 7065  struct bio_vec *__cil_tmp10 ;
 7066  unsigned short __cil_tmp11 ;
 7067  unsigned int __cil_tmp12 ;
 7068  loff_t __cil_tmp13 ;
 7069  unsigned short __cil_tmp14 ;
 7070  int __cil_tmp15 ;
 7071
 7072  {
 7073#line 466
 7074  ret = 0;
 7075#line 468
 7076  __cil_tmp8 = bio->bi_idx;
 7077#line 468
 7078  __cil_tmp9 = (unsigned long )__cil_tmp8;
 7079#line 468
 7080  __cil_tmp10 = bio->bi_io_vec;
 7081#line 468
 7082  bvec = __cil_tmp10 + __cil_tmp9;
 7083#line 468
 7084  __cil_tmp11 = bio->bi_idx;
 7085#line 468
 7086  i = (int )__cil_tmp11;
 7087#line 468
 7088  goto ldv_30535;
 7089  ldv_30534: 
 7090  {
 7091#line 469
 7092  ret = do_lo_receive(lo, bvec, bsize, pos);
 7093  }
 7094#line 470
 7095  if (ret < 0) {
 7096#line 471
 7097    goto ldv_30533;
 7098  } else {
 7099
 7100  }
 7101#line 472
 7102  __cil_tmp12 = bvec->bv_len;
 7103#line 472
 7104  __cil_tmp13 = (loff_t )__cil_tmp12;
 7105#line 472
 7106  pos = __cil_tmp13 + pos;
 7107#line 468
 7108  bvec = bvec + 1;
 7109#line 468
 7110  i = i + 1;
 7111  ldv_30535: ;
 7112  {
 7113#line 468
 7114  __cil_tmp14 = bio->bi_vcnt;
 7115#line 468
 7116  __cil_tmp15 = (int )__cil_tmp14;
 7117#line 468
 7118  if (__cil_tmp15 > i) {
 7119#line 469
 7120    goto ldv_30534;
 7121  } else {
 7122#line 471
 7123    goto ldv_30533;
 7124  }
 7125  }
 7126  ldv_30533: ;
 7127#line 474
 7128  return (ret);
 7129}
 7130}
 7131#line 477 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7132static int do_bio_filebacked(struct loop_device *lo , struct bio *bio ) 
 7133{ loff_t pos ;
 7134  int ret ;
 7135  struct file *file ;
 7136  long tmp ;
 7137  long tmp___0 ;
 7138  long tmp___1 ;
 7139  long tmp___2 ;
 7140  loff_t __cil_tmp10 ;
 7141  sector_t __cil_tmp11 ;
 7142  long long __cil_tmp12 ;
 7143  long long __cil_tmp13 ;
 7144  unsigned long __cil_tmp14 ;
 7145  unsigned long __cil_tmp15 ;
 7146  unsigned long __cil_tmp16 ;
 7147  unsigned long __cil_tmp17 ;
 7148  int __cil_tmp18 ;
 7149  long __cil_tmp19 ;
 7150  int __cil_tmp20 ;
 7151  long __cil_tmp21 ;
 7152  unsigned long __cil_tmp22 ;
 7153  unsigned long __cil_tmp23 ;
 7154  int __cil_tmp24 ;
 7155  long __cil_tmp25 ;
 7156  int __cil_tmp26 ;
 7157  long __cil_tmp27 ;
 7158  unsigned int __cil_tmp28 ;
 7159  int __cil_tmp29 ;
 7160
 7161  {
 7162#line 482
 7163  __cil_tmp10 = lo->lo_offset;
 7164#line 482
 7165  __cil_tmp11 = bio->bi_sector;
 7166#line 482
 7167  __cil_tmp12 = (long long )__cil_tmp11;
 7168#line 482
 7169  __cil_tmp13 = __cil_tmp12 << 9;
 7170#line 482
 7171  pos = __cil_tmp13 + __cil_tmp10;
 7172  {
 7173#line 484
 7174  __cil_tmp14 = bio->bi_rw;
 7175#line 484
 7176  __cil_tmp15 = __cil_tmp14 & 257UL;
 7177#line 484
 7178  if (__cil_tmp15 == 1UL) {
 7179#line 485
 7180    file = lo->lo_backing_file;
 7181    {
 7182#line 487
 7183    __cil_tmp16 = bio->bi_rw;
 7184#line 487
 7185    __cil_tmp17 = __cil_tmp16 & 8388608UL;
 7186#line 487
 7187    if (__cil_tmp17 != 0UL) {
 7188      {
 7189#line 488
 7190      ret = vfs_fsync(file, 0);
 7191#line 489
 7192      __cil_tmp18 = ret != 0;
 7193#line 489
 7194      __cil_tmp19 = (long )__cil_tmp18;
 7195#line 489
 7196      tmp = __builtin_expect(__cil_tmp19, 0L);
 7197      }
 7198#line 489
 7199      if (tmp != 0L) {
 7200        {
 7201#line 489
 7202        __cil_tmp20 = ret != -22;
 7203#line 489
 7204        __cil_tmp21 = (long )__cil_tmp20;
 7205#line 489
 7206        tmp___0 = __builtin_expect(__cil_tmp21, 0L);
 7207        }
 7208#line 489
 7209        if (tmp___0 != 0L) {
 7210#line 490
 7211          ret = -5;
 7212#line 491
 7213          goto out;
 7214        } else {
 7215
 7216        }
 7217      } else {
 7218
 7219      }
 7220    } else {
 7221
 7222    }
 7223    }
 7224    {
 7225#line 495
 7226    ret = lo_send(lo, bio, pos);
 7227    }
 7228    {
 7229#line 497
 7230    __cil_tmp22 = bio->bi_rw;
 7231#line 497
 7232    __cil_tmp23 = __cil_tmp22 & 4096UL;
 7233#line 497
 7234    if (__cil_tmp23 != 0UL) {
 7235#line 497
 7236      if (ret == 0) {
 7237        {
 7238#line 498
 7239        ret = vfs_fsync(file, 0);
 7240#line 499
 7241        __cil_tmp24 = ret != 0;
 7242#line 499
 7243        __cil_tmp25 = (long )__cil_tmp24;
 7244#line 499
 7245        tmp___1 = __builtin_expect(__cil_tmp25, 0L);
 7246        }
 7247#line 499
 7248        if (tmp___1 != 0L) {
 7249          {
 7250#line 499
 7251          __cil_tmp26 = ret != -22;
 7252#line 499
 7253          __cil_tmp27 = (long )__cil_tmp26;
 7254#line 499
 7255          tmp___2 = __builtin_expect(__cil_tmp27, 0L);
 7256          }
 7257#line 499
 7258          if (tmp___2 != 0L) {
 7259#line 500
 7260            ret = -5;
 7261          } else {
 7262
 7263          }
 7264        } else {
 7265
 7266        }
 7267      } else {
 7268
 7269      }
 7270    } else {
 7271
 7272    }
 7273    }
 7274  } else {
 7275    {
 7276#line 503
 7277    __cil_tmp28 = lo->lo_blocksize;
 7278#line 503
 7279    __cil_tmp29 = (int )__cil_tmp28;
 7280#line 503
 7281    ret = lo_receive(lo, bio, __cil_tmp29, pos);
 7282    }
 7283  }
 7284  }
 7285  out: ;
 7286#line 506
 7287  return (ret);
 7288}
 7289}
 7290#line 512 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7291static void loop_add_bio(struct loop_device *lo , struct bio *bio ) 
 7292{ struct bio_list *__cil_tmp3 ;
 7293
 7294  {
 7295  {
 7296#line 514
 7297  __cil_tmp3 = & lo->lo_bio_list;
 7298#line 514
 7299  bio_list_add(__cil_tmp3, bio);
 7300  }
 7301#line 515
 7302  return;
 7303}
 7304}
 7305#line 520 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7306static struct bio *loop_get_bio(struct loop_device *lo ) 
 7307{ struct bio *tmp ;
 7308  struct bio_list *__cil_tmp3 ;
 7309
 7310  {
 7311  {
 7312#line 522
 7313  __cil_tmp3 = & lo->lo_bio_list;
 7314#line 522
 7315  tmp = bio_list_pop(__cil_tmp3);
 7316  }
 7317#line 522
 7318  return (tmp);
 7319}
 7320}
 7321#line 525 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7322static int loop_make_request(struct request_queue *q , struct bio *old_bio ) 
 7323{ struct loop_device *lo ;
 7324  int rw ;
 7325  long tmp ;
 7326  long tmp___0 ;
 7327  long tmp___1 ;
 7328  int tmp___2 ;
 7329  long tmp___3 ;
 7330  long tmp___4 ;
 7331  void *__cil_tmp11 ;
 7332  unsigned long __cil_tmp12 ;
 7333  int __cil_tmp13 ;
 7334  struct loop_device *__cil_tmp14 ;
 7335  unsigned long __cil_tmp15 ;
 7336  unsigned long __cil_tmp16 ;
 7337  int __cil_tmp17 ;
 7338  long __cil_tmp18 ;
 7339  int __cil_tmp19 ;
 7340  long __cil_tmp20 ;
 7341  int __cil_tmp21 ;
 7342  long __cil_tmp22 ;
 7343  spinlock_t *__cil_tmp23 ;
 7344  int __cil_tmp24 ;
 7345  int __cil_tmp25 ;
 7346  long __cil_tmp26 ;
 7347  int __cil_tmp27 ;
 7348  long __cil_tmp28 ;
 7349  long __cil_tmp29 ;
 7350  wait_queue_head_t *__cil_tmp30 ;
 7351  void *__cil_tmp31 ;
 7352  spinlock_t *__cil_tmp32 ;
 7353  spinlock_t *__cil_tmp33 ;
 7354
 7355  {
 7356#line 527
 7357  __cil_tmp11 = q->queuedata;
 7358#line 527
 7359  lo = (struct loop_device *)__cil_tmp11;
 7360#line 528
 7361  __cil_tmp12 = old_bio->bi_rw;
 7362#line 528
 7363  __cil_tmp13 = (int )__cil_tmp12;
 7364#line 528
 7365  rw = __cil_tmp13 & 257;
 7366#line 530
 7367  if (rw == 256) {
 7368#line 531
 7369    rw = 0;
 7370  } else {
 7371
 7372  }
 7373  {
 7374#line 533
 7375  __cil_tmp14 = (struct loop_device *)0;
 7376#line 533
 7377  __cil_tmp15 = (unsigned long )__cil_tmp14;
 7378#line 533
 7379  __cil_tmp16 = (unsigned long )lo;
 7380#line 533
 7381  __cil_tmp17 = __cil_tmp16 == __cil_tmp15;
 7382#line 533
 7383  __cil_tmp18 = (long )__cil_tmp17;
 7384#line 533
 7385  tmp = __builtin_expect(__cil_tmp18, 0L);
 7386  }
 7387#line 533
 7388  if (tmp != 0L) {
 7389#line 533
 7390    goto _L;
 7391  } else {
 7392    {
 7393#line 533
 7394    __cil_tmp19 = rw != 0;
 7395#line 533
 7396    __cil_tmp20 = (long )__cil_tmp19;
 7397#line 533
 7398    tmp___0 = __builtin_expect(__cil_tmp20, 0L);
 7399    }
 7400#line 533
 7401    if (tmp___0 != 0L) {
 7402      {
 7403#line 533
 7404      __cil_tmp21 = rw != 1;
 7405#line 533
 7406      __cil_tmp22 = (long )__cil_tmp21;
 7407#line 533
 7408      tmp___1 = __builtin_expect(__cil_tmp22, 0L);
 7409      }
 7410#line 533
 7411      if (tmp___1 != 0L) {
 7412#line 533
 7413        tmp___2 = 1;
 7414      } else {
 7415#line 533
 7416        tmp___2 = 0;
 7417      }
 7418    } else {
 7419#line 533
 7420      tmp___2 = 0;
 7421    }
 7422#line 533
 7423    if (tmp___2 != 0) {
 7424      _L: 
 7425#line 533
 7426      __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"),
 7427                           "i" (533), "i" (12UL));
 7428      ldv_30557: ;
 7429#line 533
 7430      goto ldv_30557;
 7431    } else {
 7432
 7433    }
 7434  }
 7435  {
 7436#line 535
 7437  __cil_tmp23 = & lo->lo_lock;
 7438#line 535
 7439  spin_lock_irq(__cil_tmp23);
 7440  }
 7441  {
 7442#line 536
 7443  __cil_tmp24 = lo->lo_state;
 7444#line 536
 7445  if (__cil_tmp24 != 1) {
 7446#line 537
 7447    goto out;
 7448  } else {
 7449
 7450  }
 7451  }
 7452  {
 7453#line 538
 7454  __cil_tmp25 = rw == 1;
 7455#line 538
 7456  __cil_tmp26 = (long )__cil_tmp25;
 7457#line 538
 7458  tmp___3 = __builtin_expect(__cil_tmp26, 0L);
 7459  }
 7460#line 538
 7461  if (tmp___3 != 0L) {
 7462    {
 7463#line 538
 7464    __cil_tmp27 = lo->lo_flags;
 7465#line 538
 7466    __cil_tmp28 = (long )__cil_tmp27;
 7467#line 538
 7468    __cil_tmp29 = __cil_tmp28 & 1L;
 7469#line 538
 7470    tmp___4 = __builtin_expect(__cil_tmp29, 0L);
 7471    }
 7472#line 538
 7473    if (tmp___4 != 0L) {
 7474#line 539
 7475      goto out;
 7476    } else {
 7477
 7478    }
 7479  } else {
 7480
 7481  }
 7482  {
 7483#line 540
 7484  loop_add_bio(lo, old_bio);
 7485#line 541
 7486  __cil_tmp30 = & lo->lo_event;
 7487#line 541
 7488  __cil_tmp31 = (void *)0;
 7489#line 541
 7490  __wake_up(__cil_tmp30, 3U, 1, __cil_tmp31);
 7491#line 542
 7492  __cil_tmp32 = & lo->lo_lock;
 7493#line 542
 7494  spin_unlock_irq(__cil_tmp32);
 7495  }
 7496#line 543
 7497  return (0);
 7498  out: 
 7499  {
 7500#line 546
 7501  __cil_tmp33 = & lo->lo_lock;
 7502#line 546
 7503  spin_unlock_irq(__cil_tmp33);
 7504#line 547
 7505  bio_endio(old_bio, -5);
 7506  }
 7507#line 548
 7508  return (0);
 7509}
 7510}
 7511#line 556
 7512static void do_loop_switch(struct loop_device *lo , struct switch_request *p ) ;
 7513#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7514__inline static void loop_handle_bio(struct loop_device *lo , struct bio *bio ) 
 7515{ int ret ;
 7516  int tmp ;
 7517  long tmp___0 ;
 7518  struct block_device *__cil_tmp6 ;
 7519  unsigned long __cil_tmp7 ;
 7520  struct block_device *__cil_tmp8 ;
 7521  unsigned long __cil_tmp9 ;
 7522  int __cil_tmp10 ;
 7523  long __cil_tmp11 ;
 7524  void *__cil_tmp12 ;
 7525  struct switch_request *__cil_tmp13 ;
 7526
 7527  {
 7528  {
 7529#line 560
 7530  __cil_tmp6 = (struct block_device *)0;
 7531#line 560
 7532  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7533#line 560
 7534  __cil_tmp8 = bio->bi_bdev;
 7535#line 560
 7536  __cil_tmp9 = (unsigned long )__cil_tmp8;
 7537#line 560
 7538  __cil_tmp10 = __cil_tmp9 == __cil_tmp7;
 7539#line 560
 7540  __cil_tmp11 = (long )__cil_tmp10;
 7541#line 560
 7542  tmp___0 = __builtin_expect(__cil_tmp11, 0L);
 7543  }
 7544#line 560
 7545  if (tmp___0 != 0L) {
 7546    {
 7547#line 561
 7548    __cil_tmp12 = bio->bi_private;
 7549#line 561
 7550    __cil_tmp13 = (struct switch_request *)__cil_tmp12;
 7551#line 561
 7552    do_loop_switch(lo, __cil_tmp13);
 7553#line 562
 7554    bio_put(bio);
 7555    }
 7556  } else {
 7557    {
 7558#line 564
 7559    tmp = do_bio_filebacked(lo, bio);
 7560#line 564
 7561    ret = tmp;
 7562#line 565
 7563    bio_endio(bio, ret);
 7564    }
 7565  }
 7566#line 567
 7567  return;
 7568}
 7569}
 7570#line 581 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7571static int loop_thread(void *data ) 
 7572{ struct loop_device *lo ;
 7573  struct bio *bio ;
 7574  struct task_struct *tmp ;
 7575  int __ret ;
 7576  wait_queue_t __wait ;
 7577  struct task_struct *tmp___0 ;
 7578  int tmp___1 ;
 7579  int tmp___2 ;
 7580  struct task_struct *tmp___3 ;
 7581  int tmp___4 ;
 7582  int tmp___5 ;
 7583  int tmp___6 ;
 7584  int tmp___7 ;
 7585  long tmp___8 ;
 7586  int tmp___9 ;
 7587  int tmp___10 ;
 7588  struct bio_list *__cil_tmp18 ;
 7589  struct bio_list  const  *__cil_tmp19 ;
 7590  wait_queue_head_t *__cil_tmp20 ;
 7591  struct bio_list *__cil_tmp21 ;
 7592  struct bio_list  const  *__cil_tmp22 ;
 7593  wait_queue_head_t *__cil_tmp23 ;
 7594  struct bio_list *__cil_tmp24 ;
 7595  struct bio_list  const  *__cil_tmp25 ;
 7596  spinlock_t *__cil_tmp26 ;
 7597  spinlock_t *__cil_tmp27 ;
 7598  struct bio *__cil_tmp28 ;
 7599  unsigned long __cil_tmp29 ;
 7600  unsigned long __cil_tmp30 ;
 7601  int __cil_tmp31 ;
 7602  long __cil_tmp32 ;
 7603  struct bio_list *__cil_tmp33 ;
 7604  struct bio_list  const  *__cil_tmp34 ;
 7605
 7606  {
 7607  {
 7608#line 583
 7609  lo = (struct loop_device *)data;
 7610#line 586
 7611  tmp = get_current();
 7612#line 586
 7613  set_user_nice(tmp, -20L);
 7614  }
 7615#line 588
 7616  goto ldv_30581;
 7617  ldv_30583: 
 7618  {
 7619#line 590
 7620  __ret = 0;
 7621#line 590
 7622  __cil_tmp18 = & lo->lo_bio_list;
 7623#line 590
 7624  __cil_tmp19 = (struct bio_list  const  *)__cil_tmp18;
 7625#line 590
 7626  tmp___5 = bio_list_empty(__cil_tmp19);
 7627  }
 7628#line 590
 7629  if (tmp___5 != 0) {
 7630    {
 7631#line 590
 7632    tmp___6 = kthread_should_stop();
 7633    }
 7634#line 590
 7635    if (tmp___6 == 0) {
 7636      {
 7637#line 590
 7638      tmp___0 = get_current();
 7639#line 590
 7640      __wait.flags = 0U;
 7641#line 590
 7642      __wait.private = (void *)tmp___0;
 7643#line 590
 7644      __wait.func = & autoremove_wake_function;
 7645#line 590
 7646      __wait.task_list.next = & __wait.task_list;
 7647#line 590
 7648      __wait.task_list.prev = & __wait.task_list;
 7649      }
 7650      ldv_30579: 
 7651      {
 7652#line 590
 7653      __cil_tmp20 = & lo->lo_event;
 7654#line 590
 7655      prepare_to_wait(__cil_tmp20, & __wait, 1);
 7656#line 590
 7657      __cil_tmp21 = & lo->lo_bio_list;
 7658#line 590
 7659      __cil_tmp22 = (struct bio_list  const  *)__cil_tmp21;
 7660#line 590
 7661      tmp___1 = bio_list_empty(__cil_tmp22);
 7662      }
 7663#line 590
 7664      if (tmp___1 == 0) {
 7665#line 590
 7666        goto ldv_30577;
 7667      } else {
 7668        {
 7669#line 590
 7670        tmp___2 = kthread_should_stop();
 7671        }
 7672#line 590
 7673        if (tmp___2 != 0) {
 7674#line 590
 7675          goto ldv_30577;
 7676        } else {
 7677
 7678        }
 7679      }
 7680      {
 7681#line 590
 7682      tmp___3 = get_current();
 7683#line 590
 7684      tmp___4 = signal_pending(tmp___3);
 7685      }
 7686#line 590
 7687      if (tmp___4 == 0) {
 7688        {
 7689#line 590
 7690        schedule();
 7691        }
 7692#line 590
 7693        goto ldv_30578;
 7694      } else {
 7695
 7696      }
 7697#line 590
 7698      __ret = -512;
 7699#line 590
 7700      goto ldv_30577;
 7701      ldv_30578: ;
 7702#line 590
 7703      goto ldv_30579;
 7704      ldv_30577: 
 7705      {
 7706#line 590
 7707      __cil_tmp23 = & lo->lo_event;
 7708#line 590
 7709      finish_wait(__cil_tmp23, & __wait);
 7710      }
 7711    } else {
 7712
 7713    }
 7714  } else {
 7715
 7716  }
 7717  {
 7718#line 594
 7719  __cil_tmp24 = & lo->lo_bio_list;
 7720#line 594
 7721  __cil_tmp25 = (struct bio_list  const  *)__cil_tmp24;
 7722#line 594
 7723  tmp___7 = bio_list_empty(__cil_tmp25);
 7724  }
 7725#line 594
 7726  if (tmp___7 != 0) {
 7727#line 595
 7728    goto ldv_30581;
 7729  } else {
 7730
 7731  }
 7732  {
 7733#line 596
 7734  __cil_tmp26 = & lo->lo_lock;
 7735#line 596
 7736  spin_lock_irq(__cil_tmp26);
 7737#line 597
 7738  bio = loop_get_bio(lo);
 7739#line 598
 7740  __cil_tmp27 = & lo->lo_lock;
 7741#line 598
 7742  spin_unlock_irq(__cil_tmp27);
 7743#line 600
 7744  __cil_tmp28 = (struct bio *)0;
 7745#line 600
 7746  __cil_tmp29 = (unsigned long )__cil_tmp28;
 7747#line 600
 7748  __cil_tmp30 = (unsigned long )bio;
 7749#line 600
 7750  __cil_tmp31 = __cil_tmp30 == __cil_tmp29;
 7751#line 600
 7752  __cil_tmp32 = (long )__cil_tmp31;
 7753#line 600
 7754  tmp___8 = __builtin_expect(__cil_tmp32, 0L);
 7755  }
 7756#line 600
 7757  if (tmp___8 != 0L) {
 7758#line 600
 7759    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"),
 7760                         "i" (600), "i" (12UL));
 7761    ldv_30582: ;
 7762#line 600
 7763    goto ldv_30582;
 7764  } else {
 7765
 7766  }
 7767  {
 7768#line 601
 7769  loop_handle_bio(lo, bio);
 7770  }
 7771  ldv_30581: 
 7772  {
 7773#line 588
 7774  tmp___9 = kthread_should_stop();
 7775  }
 7776#line 588
 7777  if (tmp___9 == 0) {
 7778#line 589
 7779    goto ldv_30583;
 7780  } else {
 7781    {
 7782#line 588
 7783    __cil_tmp33 = & lo->lo_bio_list;
 7784#line 588
 7785    __cil_tmp34 = (struct bio_list  const  *)__cil_tmp33;
 7786#line 588
 7787    tmp___10 = bio_list_empty(__cil_tmp34);
 7788    }
 7789#line 588
 7790    if (tmp___10 == 0) {
 7791#line 589
 7792      goto ldv_30583;
 7793    } else {
 7794#line 591
 7795      goto ldv_30584;
 7796    }
 7797  }
 7798  ldv_30584: ;
 7799#line 604
 7800  return (0);
 7801}
 7802}
 7803#line 612 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7804static int loop_switch(struct loop_device *lo , struct file *file ) 
 7805{ struct switch_request w ;
 7806  struct bio *bio ;
 7807  struct bio *tmp ;
 7808  struct bio *__cil_tmp6 ;
 7809  unsigned long __cil_tmp7 ;
 7810  unsigned long __cil_tmp8 ;
 7811  struct completion *__cil_tmp9 ;
 7812  struct request_queue *__cil_tmp10 ;
 7813  struct completion *__cil_tmp11 ;
 7814
 7815  {
 7816  {
 7817#line 615
 7818  tmp = bio_alloc(208U, 0);
 7819#line 615
 7820  bio = tmp;
 7821  }
 7822  {
 7823#line 616
 7824  __cil_tmp6 = (struct bio *)0;
 7825#line 616
 7826  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7827#line 616
 7828  __cil_tmp8 = (unsigned long )bio;
 7829#line 616
 7830  if (__cil_tmp8 == __cil_tmp7) {
 7831#line 617
 7832    return (-12);
 7833  } else {
 7834
 7835  }
 7836  }
 7837  {
 7838#line 618
 7839  __cil_tmp9 = & w.wait;
 7840#line 618
 7841  init_completion(__cil_tmp9);
 7842#line 619
 7843  w.file = file;
 7844#line 620
 7845  bio->bi_private = (void *)(& w);
 7846#line 621
 7847  bio->bi_bdev = (struct block_device *)0;
 7848#line 622
 7849  __cil_tmp10 = lo->lo_queue;
 7850#line 622
 7851  loop_make_request(__cil_tmp10, bio);
 7852#line 623
 7853  __cil_tmp11 = & w.wait;
 7854#line 623
 7855  wait_for_completion(__cil_tmp11);
 7856  }
 7857#line 624
 7858  return (0);
 7859}
 7860}
 7861#line 630 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7862static int loop_flush(struct loop_device *lo ) 
 7863{ int tmp ;
 7864  struct task_struct *__cil_tmp3 ;
 7865  unsigned long __cil_tmp4 ;
 7866  struct task_struct *__cil_tmp5 ;
 7867  unsigned long __cil_tmp6 ;
 7868  struct file *__cil_tmp7 ;
 7869
 7870  {
 7871  {
 7872#line 633
 7873  __cil_tmp3 = (struct task_struct *)0;
 7874#line 633
 7875  __cil_tmp4 = (unsigned long )__cil_tmp3;
 7876#line 633
 7877  __cil_tmp5 = lo->lo_thread;
 7878#line 633
 7879  __cil_tmp6 = (unsigned long )__cil_tmp5;
 7880#line 633
 7881  if (__cil_tmp6 == __cil_tmp4) {
 7882#line 634
 7883    return (0);
 7884  } else {
 7885
 7886  }
 7887  }
 7888  {
 7889#line 636
 7890  __cil_tmp7 = (struct file *)0;
 7891#line 636
 7892  tmp = loop_switch(lo, __cil_tmp7);
 7893  }
 7894#line 636
 7895  return (tmp);
 7896}
 7897}
 7898#line 642 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7899static void do_loop_switch(struct loop_device *lo , struct switch_request *p ) 
 7900{ struct file *file ;
 7901  struct file *old_file ;
 7902  struct address_space *mapping ;
 7903  struct file *__cil_tmp6 ;
 7904  unsigned long __cil_tmp7 ;
 7905  unsigned long __cil_tmp8 ;
 7906  struct address_space *__cil_tmp9 ;
 7907  gfp_t __cil_tmp10 ;
 7908  struct inode *__cil_tmp11 ;
 7909  umode_t __cil_tmp12 ;
 7910  int __cil_tmp13 ;
 7911  int __cil_tmp14 ;
 7912  struct inode *__cil_tmp15 ;
 7913  struct block_device *__cil_tmp16 ;
 7914  gfp_t __cil_tmp17 ;
 7915  unsigned int __cil_tmp18 ;
 7916  struct completion *__cil_tmp19 ;
 7917
 7918  {
 7919#line 644
 7920  file = p->file;
 7921#line 645
 7922  old_file = lo->lo_backing_file;
 7923  {
 7924#line 649
 7925  __cil_tmp6 = (struct file *)0;
 7926#line 649
 7927  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7928#line 649
 7929  __cil_tmp8 = (unsigned long )file;
 7930#line 649
 7931  if (__cil_tmp8 == __cil_tmp7) {
 7932#line 650
 7933    goto out;
 7934  } else {
 7935
 7936  }
 7937  }
 7938  {
 7939#line 652
 7940  mapping = file->f_mapping;
 7941#line 653
 7942  __cil_tmp9 = old_file->f_mapping;
 7943#line 653
 7944  __cil_tmp10 = lo->old_gfp_mask;
 7945#line 653
 7946  mapping_set_gfp_mask(__cil_tmp9, __cil_tmp10);
 7947#line 654
 7948  lo->lo_backing_file = file;
 7949  }
 7950  {
 7951#line 655
 7952  __cil_tmp11 = mapping->host;
 7953#line 655
 7954  __cil_tmp12 = __cil_tmp11->i_mode;
 7955#line 655
 7956  __cil_tmp13 = (int )__cil_tmp12;
 7957#line 655
 7958  __cil_tmp14 = __cil_tmp13 & 61440;
 7959#line 655
 7960  if (__cil_tmp14 == 24576) {
 7961#line 655
 7962    __cil_tmp15 = mapping->host;
 7963#line 655
 7964    __cil_tmp16 = __cil_tmp15->ldv_18148.i_bdev;
 7965#line 655
 7966    lo->lo_blocksize = __cil_tmp16->bd_block_size;
 7967  } else {
 7968#line 655
 7969    lo->lo_blocksize = 4096U;
 7970  }
 7971  }
 7972  {
 7973#line 657
 7974  lo->old_gfp_mask = mapping_gfp_mask(mapping);
 7975#line 658
 7976  __cil_tmp17 = lo->old_gfp_mask;
 7977#line 658
 7978  __cil_tmp18 = __cil_tmp17 & 4294967103U;
 7979#line 658
 7980  mapping_set_gfp_mask(mapping, __cil_tmp18);
 7981  }
 7982  out: 
 7983  {
 7984#line 660
 7985  __cil_tmp19 = & p->wait;
 7986#line 660
 7987  complete(__cil_tmp19);
 7988  }
 7989#line 661
 7990  return;
 7991}
 7992}
 7993#line 672 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 7994static int loop_change_fd(struct loop_device *lo , struct block_device *bdev , unsigned int arg ) 
 7995{ struct file *file ;
 7996  struct file *old_file ;
 7997  struct inode *inode ;
 7998  int error ;
 7999  loff_t tmp ;
 8000  loff_t tmp___0 ;
 8001  int __cil_tmp10 ;
 8002  int __cil_tmp11 ;
 8003  int __cil_tmp12 ;
 8004  struct file *__cil_tmp13 ;
 8005  unsigned long __cil_tmp14 ;
 8006  unsigned long __cil_tmp15 ;
 8007  struct address_space *__cil_tmp16 ;
 8008  umode_t __cil_tmp17 ;
 8009  int __cil_tmp18 ;
 8010  int __cil_tmp19 ;
 8011  umode_t __cil_tmp20 ;
 8012  int __cil_tmp21 ;
 8013  int __cil_tmp22 ;
 8014
 8015  {
 8016#line 679
 8017  error = -6;
 8018  {
 8019#line 680
 8020  __cil_tmp10 = lo->lo_state;
 8021#line 680
 8022  if (__cil_tmp10 != 1) {
 8023#line 681
 8024    goto out;
 8025  } else {
 8026
 8027  }
 8028  }
 8029#line 684
 8030  error = -22;
 8031  {
 8032#line 685
 8033  __cil_tmp11 = lo->lo_flags;
 8034#line 685
 8035  __cil_tmp12 = __cil_tmp11 & 1;
 8036#line 685
 8037  if (__cil_tmp12 == 0) {
 8038#line 686
 8039    goto out;
 8040  } else {
 8041
 8042  }
 8043  }
 8044  {
 8045#line 688
 8046  error = -9;
 8047#line 689
 8048  file = fget(arg);
 8049  }
 8050  {
 8051#line 690
 8052  __cil_tmp13 = (struct file *)0;
 8053#line 690
 8054  __cil_tmp14 = (unsigned long )__cil_tmp13;
 8055#line 690
 8056  __cil_tmp15 = (unsigned long )file;
 8057#line 690
 8058  if (__cil_tmp15 == __cil_tmp14) {
 8059#line 691
 8060    goto out;
 8061  } else {
 8062
 8063  }
 8064  }
 8065#line 693
 8066  __cil_tmp16 = file->f_mapping;
 8067#line 693
 8068  inode = __cil_tmp16->host;
 8069#line 694
 8070  old_file = lo->lo_backing_file;
 8071#line 696
 8072  error = -22;
 8073  {
 8074#line 698
 8075  __cil_tmp17 = inode->i_mode;
 8076#line 698
 8077  __cil_tmp18 = (int )__cil_tmp17;
 8078#line 698
 8079  __cil_tmp19 = __cil_tmp18 & 61440;
 8080#line 698
 8081  if (__cil_tmp19 != 32768) {
 8082    {
 8083#line 698
 8084    __cil_tmp20 = inode->i_mode;
 8085#line 698
 8086    __cil_tmp21 = (int )__cil_tmp20;
 8087#line 698
 8088    __cil_tmp22 = __cil_tmp21 & 61440;
 8089#line 698
 8090    if (__cil_tmp22 != 24576) {
 8091#line 699
 8092      goto out_putf;
 8093    } else {
 8094
 8095    }
 8096    }
 8097  } else {
 8098
 8099  }
 8100  }
 8101  {
 8102#line 702
 8103  tmp = get_loop_size(lo, file);
 8104#line 702
 8105  tmp___0 = get_loop_size(lo, old_file);
 8106  }
 8107#line 702
 8108  if (tmp != tmp___0) {
 8109#line 703
 8110    goto out_putf;
 8111  } else {
 8112
 8113  }
 8114  {
 8115#line 706
 8116  error = loop_switch(lo, file);
 8117  }
 8118#line 707
 8119  if (error != 0) {
 8120#line 708
 8121    goto out_putf;
 8122  } else {
 8123
 8124  }
 8125  {
 8126#line 710
 8127  fput(old_file);
 8128  }
 8129#line 711
 8130  if (max_part > 0) {
 8131    {
 8132#line 712
 8133    ioctl_by_bdev(bdev, 4703U, 0UL);
 8134    }
 8135  } else {
 8136
 8137  }
 8138#line 713
 8139  return (0);
 8140  out_putf: 
 8141  {
 8142#line 716
 8143  fput(file);
 8144  }
 8145  out: ;
 8146#line 718
 8147  return (error);
 8148}
 8149}
 8150#line 721 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8151__inline static int is_loop_device(struct file *file ) 
 8152{ struct inode *i ;
 8153  int tmp ;
 8154  struct address_space *__cil_tmp4 ;
 8155  struct inode *__cil_tmp5 ;
 8156  unsigned long __cil_tmp6 ;
 8157  unsigned long __cil_tmp7 ;
 8158  umode_t __cil_tmp8 ;
 8159  int __cil_tmp9 ;
 8160  int __cil_tmp10 ;
 8161  dev_t __cil_tmp11 ;
 8162  dev_t __cil_tmp12 ;
 8163
 8164  {
 8165#line 723
 8166  __cil_tmp4 = file->f_mapping;
 8167#line 723
 8168  i = __cil_tmp4->host;
 8169  {
 8170#line 725
 8171  __cil_tmp5 = (struct inode *)0;
 8172#line 725
 8173  __cil_tmp6 = (unsigned long )__cil_tmp5;
 8174#line 725
 8175  __cil_tmp7 = (unsigned long )i;
 8176#line 725
 8177  if (__cil_tmp7 != __cil_tmp6) {
 8178    {
 8179#line 725
 8180    __cil_tmp8 = i->i_mode;
 8181#line 725
 8182    __cil_tmp9 = (int )__cil_tmp8;
 8183#line 725
 8184    __cil_tmp10 = __cil_tmp9 & 61440;
 8185#line 725
 8186    if (__cil_tmp10 == 24576) {
 8187      {
 8188#line 725
 8189      __cil_tmp11 = i->i_rdev;
 8190#line 725
 8191      __cil_tmp12 = __cil_tmp11 >> 20;
 8192#line 725
 8193      if (__cil_tmp12 == 7U) {
 8194#line 725
 8195        tmp = 1;
 8196      } else {
 8197#line 725
 8198        tmp = 0;
 8199      }
 8200      }
 8201    } else {
 8202#line 725
 8203      tmp = 0;
 8204    }
 8205    }
 8206  } else {
 8207#line 725
 8208    tmp = 0;
 8209  }
 8210  }
 8211#line 725
 8212  return (tmp);
 8213}
 8214}
 8215#line 730 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8216static ssize_t loop_attr_show(struct device *dev , char *page , ssize_t (*callback)(struct loop_device * ,
 8217                                                                                    char * ) ) 
 8218{ struct loop_device *l ;
 8219  struct loop_device *lo ;
 8220  struct list_head  const  *__mptr ;
 8221  struct list_head  const  *__mptr___0 ;
 8222  ssize_t tmp ;
 8223  ssize_t tmp___0 ;
 8224  struct loop_device *__cil_tmp10 ;
 8225  unsigned long __cil_tmp11 ;
 8226  struct gendisk *__cil_tmp12 ;
 8227  struct device *__cil_tmp13 ;
 8228  unsigned long __cil_tmp14 ;
 8229  struct list_head *__cil_tmp15 ;
 8230  struct loop_device *__cil_tmp16 ;
 8231  unsigned long __cil_tmp17 ;
 8232  struct list_head *__cil_tmp18 ;
 8233  unsigned long __cil_tmp19 ;
 8234  struct loop_device *__cil_tmp20 ;
 8235  unsigned long __cil_tmp21 ;
 8236  unsigned long __cil_tmp22 ;
 8237
 8238  {
 8239  {
 8240#line 733
 8241  lo = (struct loop_device *)0;
 8242#line 735
 8243  mutex_lock_nested(& loop_devices_mutex, 0U);
 8244#line 736
 8245  __mptr = (struct list_head  const  *)loop_devices.next;
 8246#line 736
 8247  __cil_tmp10 = (struct loop_device *)__mptr;
 8248#line 736
 8249  l = __cil_tmp10 + 1152921504606846320UL;
 8250  }
 8251#line 736
 8252  goto ldv_30632;
 8253  ldv_30631: ;
 8254  {
 8255#line 737
 8256  __cil_tmp11 = (unsigned long )dev;
 8257#line 737
 8258  __cil_tmp12 = l->lo_disk;
 8259#line 737
 8260  __cil_tmp13 = & __cil_tmp12->part0.__dev;
 8261#line 737
 8262  __cil_tmp14 = (unsigned long )__cil_tmp13;
 8263#line 737
 8264  if (__cil_tmp14 == __cil_tmp11) {
 8265#line 738
 8266    lo = l;
 8267#line 739
 8268    goto ldv_30630;
 8269  } else {
 8270
 8271  }
 8272  }
 8273#line 736
 8274  __cil_tmp15 = l->lo_list.next;
 8275#line 736
 8276  __mptr___0 = (struct list_head  const  *)__cil_tmp15;
 8277#line 736
 8278  __cil_tmp16 = (struct loop_device *)__mptr___0;
 8279#line 736
 8280  l = __cil_tmp16 + 1152921504606846320UL;
 8281  ldv_30632: ;
 8282  {
 8283#line 736
 8284  __cil_tmp17 = (unsigned long )(& loop_devices);
 8285#line 736
 8286  __cil_tmp18 = & l->lo_list;
 8287#line 736
 8288  __cil_tmp19 = (unsigned long )__cil_tmp18;
 8289#line 736
 8290  if (__cil_tmp19 != __cil_tmp17) {
 8291#line 737
 8292    goto ldv_30631;
 8293  } else {
 8294#line 739
 8295    goto ldv_30630;
 8296  }
 8297  }
 8298  ldv_30630: 
 8299  {
 8300#line 741
 8301  mutex_unlock(& loop_devices_mutex);
 8302  }
 8303  {
 8304#line 743
 8305  __cil_tmp20 = (struct loop_device *)0;
 8306#line 743
 8307  __cil_tmp21 = (unsigned long )__cil_tmp20;
 8308#line 743
 8309  __cil_tmp22 = (unsigned long )lo;
 8310#line 743
 8311  if (__cil_tmp22 != __cil_tmp21) {
 8312    {
 8313#line 743
 8314    tmp = (*callback)(lo, page);
 8315#line 743
 8316    tmp___0 = tmp;
 8317    }
 8318  } else {
 8319#line 743
 8320    tmp___0 = -5L;
 8321  }
 8322  }
 8323#line 743
 8324  return (tmp___0);
 8325}
 8326}
 8327#line 756 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8328static ssize_t loop_attr_backing_file_show(struct loop_device *lo , char *buf ) 
 8329{ ssize_t ret ;
 8330  char *p ;
 8331  size_t tmp ;
 8332  ssize_t tmp___0 ;
 8333  long tmp___1 ;
 8334  struct mutex *__cil_tmp8 ;
 8335  struct file *__cil_tmp9 ;
 8336  unsigned long __cil_tmp10 ;
 8337  struct file *__cil_tmp11 ;
 8338  unsigned long __cil_tmp12 ;
 8339  struct file *__cil_tmp13 ;
 8340  struct path *__cil_tmp14 ;
 8341  struct path  const  *__cil_tmp15 ;
 8342  struct mutex *__cil_tmp16 ;
 8343  void const   *__cil_tmp17 ;
 8344  void const   *__cil_tmp18 ;
 8345  char const   *__cil_tmp19 ;
 8346  void *__cil_tmp20 ;
 8347  void const   *__cil_tmp21 ;
 8348  size_t __cil_tmp22 ;
 8349  unsigned long __cil_tmp23 ;
 8350  char *__cil_tmp24 ;
 8351  unsigned long __cil_tmp25 ;
 8352  char *__cil_tmp26 ;
 8353
 8354  {
 8355  {
 8356#line 759
 8357  p = (char *)0;
 8358#line 761
 8359  __cil_tmp8 = & lo->lo_ctl_mutex;
 8360#line 761
 8361  mutex_lock_nested(__cil_tmp8, 0U);
 8362  }
 8363  {
 8364#line 762
 8365  __cil_tmp9 = (struct file *)0;
 8366#line 762
 8367  __cil_tmp10 = (unsigned long )__cil_tmp9;
 8368#line 762
 8369  __cil_tmp11 = lo->lo_backing_file;
 8370#line 762
 8371  __cil_tmp12 = (unsigned long )__cil_tmp11;
 8372#line 762
 8373  if (__cil_tmp12 != __cil_tmp10) {
 8374    {
 8375#line 763
 8376    __cil_tmp13 = lo->lo_backing_file;
 8377#line 763
 8378    __cil_tmp14 = & __cil_tmp13->f_path;
 8379#line 763
 8380    __cil_tmp15 = (struct path  const  *)__cil_tmp14;
 8381#line 763
 8382    p = d_path(__cil_tmp15, buf, 4095);
 8383    }
 8384  } else {
 8385
 8386  }
 8387  }
 8388  {
 8389#line 764
 8390  __cil_tmp16 = & lo->lo_ctl_mutex;
 8391#line 764
 8392  mutex_unlock(__cil_tmp16);
 8393#line 766
 8394  __cil_tmp17 = (void const   *)p;
 8395#line 766
 8396  tmp___1 = IS_ERR_OR_NULL(__cil_tmp17);
 8397  }
 8398#line 766
 8399  if (tmp___1 != 0L) {
 8400    {
 8401#line 767
 8402    __cil_tmp18 = (void const   *)p;
 8403#line 767
 8404    ret = PTR_ERR(__cil_tmp18);
 8405    }
 8406  } else {
 8407    {
 8408#line 769
 8409    __cil_tmp19 = (char const   *)p;
 8410#line 769
 8411    tmp = strlen(__cil_tmp19);
 8412#line 769
 8413    ret = (ssize_t )tmp;
 8414#line 770
 8415    __cil_tmp20 = (void *)buf;
 8416#line 770
 8417    __cil_tmp21 = (void const   *)p;
 8418#line 770
 8419    __cil_tmp22 = (size_t )ret;
 8420#line 770
 8421    memmove(__cil_tmp20, __cil_tmp21, __cil_tmp22);
 8422#line 771
 8423    tmp___0 = ret;
 8424#line 771
 8425    ret = ret + 1L;
 8426#line 771
 8427    __cil_tmp23 = (unsigned long )tmp___0;
 8428#line 771
 8429    __cil_tmp24 = buf + __cil_tmp23;
 8430#line 771
 8431    *__cil_tmp24 = (char)10;
 8432#line 772
 8433    __cil_tmp25 = (unsigned long )ret;
 8434#line 772
 8435    __cil_tmp26 = buf + __cil_tmp25;
 8436#line 772
 8437    *__cil_tmp26 = (char)0;
 8438    }
 8439  }
 8440#line 775
 8441  return (ret);
 8442}
 8443}
 8444#line 778 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8445static ssize_t loop_attr_offset_show(struct loop_device *lo , char *buf ) 
 8446{ int tmp ;
 8447  loff_t __cil_tmp4 ;
 8448  unsigned long long __cil_tmp5 ;
 8449
 8450  {
 8451  {
 8452#line 780
 8453  __cil_tmp4 = lo->lo_offset;
 8454#line 780
 8455  __cil_tmp5 = (unsigned long long )__cil_tmp4;
 8456#line 780
 8457  tmp = sprintf(buf, "%llu\n", __cil_tmp5);
 8458  }
 8459#line 780
 8460  return ((ssize_t )tmp);
 8461}
 8462}
 8463#line 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8464static ssize_t loop_attr_sizelimit_show(struct loop_device *lo , char *buf ) 
 8465{ int tmp ;
 8466  loff_t __cil_tmp4 ;
 8467  unsigned long long __cil_tmp5 ;
 8468
 8469  {
 8470  {
 8471#line 785
 8472  __cil_tmp4 = lo->lo_sizelimit;
 8473#line 785
 8474  __cil_tmp5 = (unsigned long long )__cil_tmp4;
 8475#line 785
 8476  tmp = sprintf(buf, "%llu\n", __cil_tmp5);
 8477  }
 8478#line 785
 8479  return ((ssize_t )tmp);
 8480}
 8481}
 8482#line 788 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8483static ssize_t loop_attr_autoclear_show(struct loop_device *lo , char *buf ) 
 8484{ int autoclear ;
 8485  char *tmp ;
 8486  int tmp___0 ;
 8487  int __cil_tmp6 ;
 8488
 8489  {
 8490#line 790
 8491  __cil_tmp6 = lo->lo_flags;
 8492#line 790
 8493  autoclear = __cil_tmp6 & 4;
 8494#line 792
 8495  if (autoclear != 0) {
 8496#line 792
 8497    tmp = (char *)"1";
 8498  } else {
 8499#line 792
 8500    tmp = (char *)"0";
 8501  }
 8502  {
 8503#line 792
 8504  tmp___0 = sprintf(buf, "%s\n", tmp);
 8505  }
 8506#line 792
 8507  return ((ssize_t )tmp___0);
 8508}
 8509}
 8510#line 795 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8511static ssize_t loop_attr_do_show_backing_file(struct device *d , struct device_attribute *attr ,
 8512                                              char *b ) 
 8513{ ssize_t tmp ;
 8514
 8515  {
 8516  {
 8517#line 795
 8518  tmp = loop_attr_show(d, b, & loop_attr_backing_file_show);
 8519  }
 8520#line 795
 8521  return (tmp);
 8522}
 8523}
 8524#line 795 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8525static struct device_attribute loop_attr_backing_file  =    {{"backing_file", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 8526                                                         {(char)0}, {(char)0}, {(char)0},
 8527                                                         {(char)0}, {(char)0}}}},
 8528    & loop_attr_do_show_backing_file, (ssize_t (*)(struct device * , struct device_attribute * ,
 8529                                                   char const   * , size_t  ))0};
 8530#line 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8531static ssize_t loop_attr_do_show_offset(struct device *d , struct device_attribute *attr ,
 8532                                        char *b ) 
 8533{ ssize_t tmp ;
 8534
 8535  {
 8536  {
 8537#line 796
 8538  tmp = loop_attr_show(d, b, & loop_attr_offset_show);
 8539  }
 8540#line 796
 8541  return (tmp);
 8542}
 8543}
 8544#line 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8545static struct device_attribute loop_attr_offset  =    {{"offset", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 8546                                                   {(char)0}, {(char)0}, {(char)0},
 8547                                                   {(char)0}, {(char)0}}}}, & loop_attr_do_show_offset,
 8548    (ssize_t (*)(struct device * , struct device_attribute * , char const   * , size_t  ))0};
 8549#line 797 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8550static ssize_t loop_attr_do_show_sizelimit(struct device *d , struct device_attribute *attr ,
 8551                                           char *b ) 
 8552{ ssize_t tmp ;
 8553
 8554  {
 8555  {
 8556#line 797
 8557  tmp = loop_attr_show(d, b, & loop_attr_sizelimit_show);
 8558  }
 8559#line 797
 8560  return (tmp);
 8561}
 8562}
 8563#line 797 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8564static struct device_attribute loop_attr_sizelimit  =    {{"sizelimit", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 8565                                                      {(char)0}, {(char)0}, {(char)0},
 8566                                                      {(char)0}, {(char)0}}}}, & loop_attr_do_show_sizelimit,
 8567    (ssize_t (*)(struct device * , struct device_attribute * , char const   * , size_t  ))0};
 8568#line 798 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8569static ssize_t loop_attr_do_show_autoclear(struct device *d , struct device_attribute *attr ,
 8570                                           char *b ) 
 8571{ ssize_t tmp ;
 8572
 8573  {
 8574  {
 8575#line 798
 8576  tmp = loop_attr_show(d, b, & loop_attr_autoclear_show);
 8577  }
 8578#line 798
 8579  return (tmp);
 8580}
 8581}
 8582#line 798 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8583static struct device_attribute loop_attr_autoclear  =    {{"autoclear", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 8584                                                      {(char)0}, {(char)0}, {(char)0},
 8585                                                      {(char)0}, {(char)0}}}}, & loop_attr_do_show_autoclear,
 8586    (ssize_t (*)(struct device * , struct device_attribute * , char const   * , size_t  ))0};
 8587#line 800 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8588static struct attribute *loop_attrs[5U]  = {      & loop_attr_backing_file.attr,      & loop_attr_offset.attr,      & loop_attr_sizelimit.attr,      & loop_attr_autoclear.attr, 
 8589        (struct attribute *)0};
 8590#line 808 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8591static struct attribute_group loop_attribute_group  =    {"loop", (mode_t (*)(struct kobject * , struct attribute * , int  ))0, (struct attribute **)(& loop_attrs)};
 8592#line 813 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8593static int loop_sysfs_init(struct loop_device *lo ) 
 8594{ int tmp ;
 8595  struct gendisk *__cil_tmp3 ;
 8596  struct kobject *__cil_tmp4 ;
 8597  struct attribute_group  const  *__cil_tmp5 ;
 8598
 8599  {
 8600  {
 8601#line 815
 8602  __cil_tmp3 = lo->lo_disk;
 8603#line 815
 8604  __cil_tmp4 = & __cil_tmp3->part0.__dev.kobj;
 8605#line 815
 8606  __cil_tmp5 = (struct attribute_group  const  *)(& loop_attribute_group);
 8607#line 815
 8608  tmp = sysfs_create_group(__cil_tmp4, __cil_tmp5);
 8609  }
 8610#line 815
 8611  return (tmp);
 8612}
 8613}
 8614#line 819 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8615static void loop_sysfs_exit(struct loop_device *lo ) 
 8616{ struct gendisk *__cil_tmp2 ;
 8617  struct kobject *__cil_tmp3 ;
 8618  struct attribute_group  const  *__cil_tmp4 ;
 8619
 8620  {
 8621  {
 8622#line 821
 8623  __cil_tmp2 = lo->lo_disk;
 8624#line 821
 8625  __cil_tmp3 = & __cil_tmp2->part0.__dev.kobj;
 8626#line 821
 8627  __cil_tmp4 = (struct attribute_group  const  *)(& loop_attribute_group);
 8628#line 821
 8629  sysfs_remove_group(__cil_tmp3, __cil_tmp4);
 8630  }
 8631#line 823
 8632  return;
 8633}
 8634}
 8635#line 825 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 8636static int loop_set_fd(struct loop_device *lo , fmode_t mode , struct block_device *bdev ,
 8637                       unsigned int arg ) 
 8638{ struct file *file ;
 8639  struct file *f ;
 8640  struct inode *inode ;
 8641  struct address_space *mapping ;
 8642  unsigned int lo_blocksize ;
 8643  int lo_flags ;
 8644  int error ;
 8645  loff_t size ;
 8646  struct loop_device *l ;
 8647  int tmp ;
 8648  struct address_space_operations  const  *aops ;
 8649  long tmp___0 ;
 8650  long tmp___1 ;
 8651  struct file *__cil_tmp18 ;
 8652  unsigned long __cil_tmp19 ;
 8653  unsigned long __cil_tmp20 ;
 8654  int __cil_tmp21 ;
 8655  unsigned long __cil_tmp22 ;
 8656  struct address_space *__cil_tmp23 ;
 8657  struct inode *__cil_tmp24 ;
 8658  struct block_device *__cil_tmp25 ;
 8659  unsigned long __cil_tmp26 ;
 8660  struct address_space *__cil_tmp27 ;
 8661  struct inode *__cil_tmp28 ;
 8662  struct block_device *__cil_tmp29 ;
 8663  struct gendisk *__cil_tmp30 ;
 8664  void *__cil_tmp31 ;
 8665  int __cil_tmp32 ;
 8666  fmode_t __cil_tmp33 ;
 8667  unsigned int __cil_tmp34 ;
 8668  umode_t __cil_tmp35 ;
 8669  int __cil_tmp36 ;
 8670  int __cil_tmp37 ;
 8671  umode_t __cil_tmp38 ;
 8672  int __cil_tmp39 ;
 8673  int __cil_tmp40 ;
 8674  int (*__cil_tmp41)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 8675                     unsigned int  , struct page ** , void ** ) ;
 8676  unsigned long __cil_tmp42 ;
 8677  int (*__cil_tmp43)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 8678                     unsigned int  , struct page ** , void ** ) ;
 8679  unsigned long __cil_tmp44 ;
 8680  int __cil_tmp45 ;
 8681  ssize_t (*__cil_tmp46)(struct file * , char const   * , size_t  , loff_t * ) ;
 8682  unsigned long __cil_tmp47 ;
 8683  struct file_operations  const  *__cil_tmp48 ;
 8684  ssize_t (*__cil_tmp49)(struct file * , char const   * , size_t  , loff_t * ) ;
 8685  unsigned long __cil_tmp50 ;
 8686  umode_t __cil_tmp51 ;
 8687  int __cil_tmp52 ;
 8688  int __cil_tmp53 ;
 8689  struct block_device *__cil_tmp54 ;
 8690  unsigned int __cil_tmp55 ;
 8691  int __cil_tmp56 ;
 8692  gfp_t __cil_tmp57 ;
 8693  unsigned int __cil_tmp58 ;
 8694  struct bio_list *__cil_tmp59 ;
 8695  struct request_queue *__cil_tmp60 ;
 8696  struct request_queue *__cil_tmp61 ;
 8697  int __cil_tmp62 ;
 8698  int (*__cil_tmp63)(struct file * , int  ) ;
 8699  unsigned long __cil_tmp64 ;
 8700  struct file_operations  const  *__cil_tmp65 ;
 8701  int (*__cil_tmp66)(struct file * , int  ) ;
 8702  unsigned long __cil_tmp67 ;
 8703  struct request_queue *__cil_tmp68 ;
 8704  struct gendisk *__cil_tmp69 ;
 8705  sector_t __cil_tmp70 ;
 8706  loff_t __cil_tmp71 ;
 8707  struct gendisk *__cil_tmp72 ;
 8708  struct kobject *__cil_tmp73 ;
 8709  enum kobject_action __cil_tmp74 ;
 8710  int __cil_tmp75 ;
 8711  void *__cil_tmp76 ;
 8712  int __cil_tmp77 ;
 8713  struct task_struct *__cil_tmp78 ;
 8714  void const   *__cil_tmp79 ;
 8715  struct task_struct *__cil_tmp80 ;
 8716  void const   *__cil_tmp81 ;
 8717  struct task_struct *__cil_tmp82 ;
 8718  struct gendisk *__cil_tmp83 ;
 8719  struct gendisk *__cil_tmp84 ;
 8720  struct kobject *__cil_tmp85 ;
 8721  enum kobject_action __cil_tmp86 ;
 8722  gfp_t __cil_tmp87 ;
 8723
 8724  {
 8725  {
 8726#line 832
 8727  lo_flags = 0;
 8728#line 837
 8729  ldv___module_get_1(& __this_module);
 8730#line 839
 8731  error = -9;
 8732#line 840
 8733  file = fget(arg);
 8734  }
 8735  {
 8736#line 841
 8737  __cil_tmp18 = (struct file *)0;
 8738#line 841
 8739  __cil_tmp19 = (unsigned long )__cil_tmp18;
 8740#line 841
 8741  __cil_tmp20 = (unsigned long )file;
 8742#line 841
 8743  if (__cil_tmp20 == __cil_tmp19) {
 8744#line 842
 8745    goto out;
 8746  } else {
 8747
 8748  }
 8749  }
 8750#line 844
 8751  error = -16;
 8752  {
 8753#line 845
 8754  __cil_tmp21 = lo->lo_state;
 8755#line 845
 8756  if (__cil_tmp21 != 0) {
 8757#line 846
 8758    goto out_putf;
 8759  } else {
 8760
 8761  }
 8762  }
 8763#line 849
 8764  f = file;
 8765#line 850
 8766  goto ldv_30722;
 8767  ldv_30721: ;
 8768  {
 8769#line 853
 8770  __cil_tmp22 = (unsigned long )bdev;
 8771#line 853
 8772  __cil_tmp23 = f->f_mapping;
 8773#line 853
 8774  __cil_tmp24 = __cil_tmp23->host;
 8775#line 853
 8776  __cil_tmp25 = __cil_tmp24->ldv_18148.i_bdev;
 8777#line 853
 8778  __cil_tmp26 = (unsigned long )__cil_tmp25;
 8779#line 853
 8780  if (__cil_tmp26 == __cil_tmp22) {
 8781#line 854
 8782    goto out_putf;
 8783  } else {
 8784
 8785  }
 8786  }
 8787#line 856
 8788  __cil_tmp27 = f->f_mapping;
 8789#line 856
 8790  __cil_tmp28 = __cil_tmp27->host;
 8791#line 856
 8792  __cil_tmp29 = __cil_tmp28->ldv_18148.i_bdev;
 8793#line 856
 8794  __cil_tmp30 = __cil_tmp29->bd_disk;
 8795#line 856
 8796  __cil_tmp31 = __cil_tmp30->private_data;
 8797#line 856
 8798  l = (struct loop_device *)__cil_tmp31;
 8799  {
 8800#line 857
 8801  __cil_tmp32 = l->lo_state;
 8802#line 857
 8803  if (__cil_tmp32 == 0) {
 8804#line 858
 8805    error = -22;
 8806#line 859
 8807    goto out_putf;
 8808  } else {
 8809
 8810  }
 8811  }
 8812#line 861
 8813  f = l->lo_backing_file;
 8814  ldv_30722: 
 8815  {
 8816#line 850
 8817  tmp = is_loop_device(f);
 8818  }
 8819#line 850
 8820  if (tmp != 0) {
 8821#line 851
 8822    goto ldv_30721;
 8823  } else {
 8824#line 853
 8825    goto ldv_30723;
 8826  }
 8827  ldv_30723: 
 8828#line 864
 8829  mapping = file->f_mapping;
 8830#line 865
 8831  inode = mapping->host;
 8832  {
 8833#line 867
 8834  __cil_tmp33 = file->f_mode;
 8835#line 867
 8836  __cil_tmp34 = __cil_tmp33 & 2U;
 8837#line 867
 8838  if (__cil_tmp34 == 0U) {
 8839#line 868
 8840    lo_flags = lo_flags | 1;
 8841  } else {
 8842
 8843  }
 8844  }
 8845#line 870
 8846  error = -22;
 8847  {
 8848#line 871
 8849  __cil_tmp35 = inode->i_mode;
 8850#line 871
 8851  __cil_tmp36 = (int )__cil_tmp35;
 8852#line 871
 8853  __cil_tmp37 = __cil_tmp36 & 61440;
 8854#line 871
 8855  if (__cil_tmp37 == 32768) {
 8856#line 871
 8857    goto _L;
 8858  } else {
 8859    {
 8860#line 871
 8861    __cil_tmp38 = inode->i_mode;
 8862#line 871
 8863    __cil_tmp39 = (int )__cil_tmp38;
 8864#line 871
 8865    __cil_tmp40 = __cil_tmp39 & 61440;
 8866#line 871
 8867    if (__cil_tmp40 == 24576) {
 8868      _L: 
 8869#line 872
 8870      aops = mapping->a_ops;
 8871      {
 8872#line 874
 8873      __cil_tmp41 = (int (* const  )(struct file * , struct address_space * , loff_t  ,
 8874                                     unsigned int  , unsigned int  , struct page ** ,
 8875                                     void ** ))0;
 8876#line 874
 8877      __cil_tmp42 = (unsigned long )__cil_tmp41;
 8878#line 874
 8879      __cil_tmp43 = aops->write_begin;
 8880#line 874
 8881      __cil_tmp44 = (unsigned long )__cil_tmp43;
 8882#line 874
 8883      if (__cil_tmp44 != __cil_tmp42) {
 8884#line 875
 8885        lo_flags = lo_flags | 2;
 8886      } else {
 8887
 8888      }
 8889      }
 8890      {
 8891#line 876
 8892      __cil_tmp45 = lo_flags & 2;
 8893#line 876
 8894      if (__cil_tmp45 == 0) {
 8895        {
 8896#line 876
 8897        __cil_tmp46 = (ssize_t (* const  )(struct file * , char const   * , size_t  ,
 8898                                           loff_t * ))0;
 8899#line 876
 8900        __cil_tmp47 = (unsigned long )__cil_tmp46;
 8901#line 876
 8902        __cil_tmp48 = file->f_op;
 8903#line 876
 8904        __cil_tmp49 = __cil_tmp48->write;
 8905#line 876
 8906        __cil_tmp50 = (unsigned long )__cil_tmp49;
 8907#line 876
 8908        if (__cil_tmp50 == __cil_tmp47) {
 8909#line 877
 8910          lo_flags = lo_flags | 1;
 8911        } else {
 8912
 8913        }
 8914        }
 8915      } else {
 8916
 8917      }
 8918      }
 8919      {
 8920#line 879
 8921      __cil_tmp51 = inode->i_mode;
 8922#line 879
 8923      __cil_tmp52 = (int )__cil_tmp51;
 8924#line 879
 8925      __cil_tmp53 = __cil_tmp52 & 61440;
 8926#line 879
 8927      if (__cil_tmp53 == 24576) {
 8928#line 879
 8929        __cil_tmp54 = inode->ldv_18148.i_bdev;
 8930#line 879
 8931        lo_blocksize = __cil_tmp54->bd_block_size;
 8932      } else {
 8933#line 879
 8934        lo_blocksize = 4096U;
 8935      }
 8936      }
 8937#line 882
 8938      error = 0;
 8939    } else {
 8940#line 884
 8941      goto out_putf;
 8942    }
 8943    }
 8944  }
 8945  }
 8946  {
 8947#line 887
 8948  size = get_loop_size(lo, file);
 8949  }
 8950  {
 8951#line 894
 8952  __cil_tmp55 = mode & 2U;
 8953#line 894
 8954  if (__cil_tmp55 == 0U) {
 8955#line 895
 8956    lo_flags = lo_flags | 1;
 8957  } else {
 8958
 8959  }
 8960  }
 8961  {
 8962#line 897
 8963  __cil_tmp56 = lo_flags & 1;
 8964#line 897
 8965  set_device_ro(bdev, __cil_tmp56);
 8966#line 899
 8967  lo->lo_blocksize = lo_blocksize;
 8968#line 900
 8969  lo->lo_device = bdev;
 8970#line 901
 8971  lo->lo_flags = lo_flags;
 8972#line 902
 8973  lo->lo_backing_file = file;
 8974#line 903
 8975  lo->transfer = & transfer_none;
 8976#line 904
 8977  lo->ioctl = (int (*)(struct loop_device * , int  , unsigned long  ))0;
 8978#line 905
 8979  lo->lo_sizelimit = 0LL;
 8980#line 906
 8981  lo->old_gfp_mask = mapping_gfp_mask(mapping);
 8982#line 907
 8983  __cil_tmp57 = lo->old_gfp_mask;
 8984#line 907
 8985  __cil_tmp58 = __cil_tmp57 & 4294967103U;
 8986#line 907
 8987  mapping_set_gfp_mask(mapping, __cil_tmp58);
 8988#line 909
 8989  __cil_tmp59 = & lo->lo_bio_list;
 8990#line 909
 8991  bio_list_init(__cil_tmp59);
 8992#line 915
 8993  __cil_tmp60 = lo->lo_queue;
 8994#line 915
 8995  blk_queue_make_request(__cil_tmp60, & loop_make_request);
 8996#line 916
 8997  __cil_tmp61 = lo->lo_queue;
 8998#line 916
 8999  __cil_tmp61->queuedata = (void *)lo;
 9000  }
 9001  {
 9002#line 918
 9003  __cil_tmp62 = lo_flags & 1;
 9004#line 918
 9005  if (__cil_tmp62 == 0) {
 9006    {
 9007#line 918
 9008    __cil_tmp63 = (int (* const  )(struct file * , int  ))0;
 9009#line 918
 9010    __cil_tmp64 = (unsigned long )__cil_tmp63;
 9011#line 918
 9012    __cil_tmp65 = file->f_op;
 9013#line 918
 9014    __cil_tmp66 = __cil_tmp65->fsync;
 9015#line 918
 9016    __cil_tmp67 = (unsigned long )__cil_tmp66;
 9017#line 918
 9018    if (__cil_tmp67 != __cil_tmp64) {
 9019      {
 9020#line 919
 9021      __cil_tmp68 = lo->lo_queue;
 9022#line 919
 9023      blk_queue_flush(__cil_tmp68, 8388608U);
 9024      }
 9025    } else {
 9026
 9027    }
 9028    }
 9029  } else {
 9030
 9031  }
 9032  }
 9033  {
 9034#line 921
 9035  __cil_tmp69 = lo->lo_disk;
 9036#line 921
 9037  __cil_tmp70 = (sector_t )size;
 9038#line 921
 9039  set_capacity(__cil_tmp69, __cil_tmp70);
 9040#line 922
 9041  __cil_tmp71 = size << 9;
 9042#line 922
 9043  bd_set_size(bdev, __cil_tmp71);
 9044#line 923
 9045  loop_sysfs_init(lo);
 9046#line 925
 9047  __cil_tmp72 = bdev->bd_disk;
 9048#line 925
 9049  __cil_tmp73 = & __cil_tmp72->part0.__dev.kobj;
 9050#line 925
 9051  __cil_tmp74 = (enum kobject_action )2;
 9052#line 925
 9053  kobject_uevent(__cil_tmp73, __cil_tmp74);
 9054#line 927
 9055  __cil_tmp75 = (int )lo_blocksize;
 9056#line 927
 9057  set_blocksize(bdev, __cil_tmp75);
 9058#line 929
 9059  __cil_tmp76 = (void *)lo;
 9060#line 929
 9061  __cil_tmp77 = lo->lo_number;
 9062#line 929
 9063  lo->lo_thread = kthread_create_on_node(& loop_thread, __cil_tmp76, -1, "loop%d",
 9064                                         __cil_tmp77);
 9065#line 931
 9066  __cil_tmp78 = lo->lo_thread;
 9067#line 931
 9068  __cil_tmp79 = (void const   *)__cil_tmp78;
 9069#line 931
 9070  tmp___1 = IS_ERR(__cil_tmp79);
 9071  }
 9072#line 931
 9073  if (tmp___1 != 0L) {
 9074    {
 9075#line 932
 9076    __cil_tmp80 = lo->lo_thread;
 9077#line 932
 9078    __cil_tmp81 = (void const   *)__cil_tmp80;
 9079#line 932
 9080    tmp___0 = PTR_ERR(__cil_tmp81);
 9081#line 932
 9082    error = (int )tmp___0;
 9083    }
 9084#line 933
 9085    goto out_clr;
 9086  } else {
 9087
 9088  }
 9089  {
 9090#line 935
 9091  lo->lo_state = 1;
 9092#line 936
 9093  __cil_tmp82 = lo->lo_thread;
 9094#line 936
 9095  wake_up_process(__cil_tmp82);
 9096  }
 9097#line 937
 9098  if (max_part > 0) {
 9099    {
 9100#line 938
 9101    ioctl_by_bdev(bdev, 4703U, 0UL);
 9102    }
 9103  } else {
 9104
 9105  }
 9106#line 939
 9107  return (0);
 9108  out_clr: 
 9109  {
 9110#line 942
 9111  loop_sysfs_exit(lo);
 9112#line 943
 9113  lo->lo_thread = (struct task_struct *)0;
 9114#line 944
 9115  lo->lo_device = (struct block_device *)0;
 9116#line 945
 9117  lo->lo_backing_file = (struct file *)0;
 9118#line 946
 9119  lo->lo_flags = 0;
 9120#line 947
 9121  __cil_tmp83 = lo->lo_disk;
 9122#line 947
 9123  set_capacity(__cil_tmp83, 0UL);
 9124#line 948
 9125  invalidate_bdev(bdev);
 9126#line 949
 9127  bd_set_size(bdev, 0LL);
 9128#line 950
 9129  __cil_tmp84 = bdev->bd_disk;
 9130#line 950
 9131  __cil_tmp85 = & __cil_tmp84->part0.__dev.kobj;
 9132#line 950
 9133  __cil_tmp86 = (enum kobject_action )2;
 9134#line 950
 9135  kobject_uevent(__cil_tmp85, __cil_tmp86);
 9136#line 951
 9137  __cil_tmp87 = lo->old_gfp_mask;
 9138#line 951
 9139  mapping_set_gfp_mask(mapping, __cil_tmp87);
 9140#line 952
 9141  lo->lo_state = 0;
 9142  }
 9143  out_putf: 
 9144  {
 9145#line 954
 9146  fput(file);
 9147  }
 9148  out: 
 9149  {
 9150#line 957
 9151  ldv_module_put_2(& __this_module);
 9152  }
 9153#line 958
 9154  return (error);
 9155}
 9156}
 9157#line 962 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 9158static int loop_release_xfer(struct loop_device *lo ) 
 9159{ int err ;
 9160  struct loop_func_table *xfer ;
 9161  struct loop_func_table *__cil_tmp4 ;
 9162  unsigned long __cil_tmp5 ;
 9163  unsigned long __cil_tmp6 ;
 9164  int (*__cil_tmp7)(struct loop_device * ) ;
 9165  unsigned long __cil_tmp8 ;
 9166  int (*__cil_tmp9)(struct loop_device * ) ;
 9167  unsigned long __cil_tmp10 ;
 9168  int (*__cil_tmp11)(struct loop_device * ) ;
 9169  struct module *__cil_tmp12 ;
 9170
 9171  {
 9172#line 964
 9173  err = 0;
 9174#line 965
 9175  xfer = lo->lo_encryption;
 9176  {
 9177#line 967
 9178  __cil_tmp4 = (struct loop_func_table *)0;
 9179#line 967
 9180  __cil_tmp5 = (unsigned long )__cil_tmp4;
 9181#line 967
 9182  __cil_tmp6 = (unsigned long )xfer;
 9183#line 967
 9184  if (__cil_tmp6 != __cil_tmp5) {
 9185    {
 9186#line 968
 9187    __cil_tmp7 = (int (*)(struct loop_device * ))0;
 9188#line 968
 9189    __cil_tmp8 = (unsigned long )__cil_tmp7;
 9190#line 968
 9191    __cil_tmp9 = xfer->release;
 9192#line 968
 9193    __cil_tmp10 = (unsigned long )__cil_tmp9;
 9194#line 968
 9195    if (__cil_tmp10 != __cil_tmp8) {
 9196      {
 9197#line 969
 9198      __cil_tmp11 = xfer->release;
 9199#line 969
 9200      err = (*__cil_tmp11)(lo);
 9201      }
 9202    } else {
 9203
 9204    }
 9205    }
 9206    {
 9207#line 970
 9208    lo->transfer = (int (*)(struct loop_device * , int  , struct page * , unsigned int  ,
 9209                            struct page * , unsigned int  , int  , sector_t  ))0;
 9210#line 971
 9211    lo->lo_encryption = (struct loop_func_table *)0;
 9212#line 972
 9213    __cil_tmp12 = xfer->owner;
 9214#line 972
 9215    ldv_module_put_3(__cil_tmp12);
 9216    }
 9217  } else {
 9218
 9219  }
 9220  }
 9221#line 974
 9222  return (err);
 9223}
 9224}
 9225#line 978 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 9226static int loop_init_xfer(struct loop_device *lo , struct loop_func_table *xfer ,
 9227                          struct loop_info64  const  *i ) 
 9228{ int err ;
 9229  struct module *owner ;
 9230  int tmp ;
 9231  struct loop_func_table *__cil_tmp7 ;
 9232  unsigned long __cil_tmp8 ;
 9233  unsigned long __cil_tmp9 ;
 9234  int (*__cil_tmp10)(struct loop_device * , struct loop_info64  const  * ) ;
 9235  unsigned long __cil_tmp11 ;
 9236  int (*__cil_tmp12)(struct loop_device * , struct loop_info64  const  * ) ;
 9237  unsigned long __cil_tmp13 ;
 9238  int (*__cil_tmp14)(struct loop_device * , struct loop_info64  const  * ) ;
 9239
 9240  {
 9241#line 981
 9242  err = 0;
 9243  {
 9244#line 983
 9245  __cil_tmp7 = (struct loop_func_table *)0;
 9246#line 983
 9247  __cil_tmp8 = (unsigned long )__cil_tmp7;
 9248#line 983
 9249  __cil_tmp9 = (unsigned long )xfer;
 9250#line 983
 9251  if (__cil_tmp9 != __cil_tmp8) {
 9252    {
 9253#line 984
 9254    owner = xfer->owner;
 9255#line 986
 9256    tmp = ldv_try_module_get_4(owner);
 9257    }
 9258#line 986
 9259    if (tmp == 0) {
 9260#line 987
 9261      return (-22);
 9262    } else {
 9263
 9264    }
 9265    {
 9266#line 988
 9267    __cil_tmp10 = (int (*)(struct loop_device * , struct loop_info64  const  * ))0;
 9268#line 988
 9269    __cil_tmp11 = (unsigned long )__cil_tmp10;
 9270#line 988
 9271    __cil_tmp12 = xfer->init;
 9272#line 988
 9273    __cil_tmp13 = (unsigned long )__cil_tmp12;
 9274#line 988
 9275    if (__cil_tmp13 != __cil_tmp11) {
 9276      {
 9277#line 989
 9278      __cil_tmp14 = xfer->init;
 9279#line 989
 9280      err = (*__cil_tmp14)(lo, i);
 9281      }
 9282    } else {
 9283
 9284    }
 9285    }
 9286#line 990
 9287    if (err != 0) {
 9288      {
 9289#line 991
 9290      ldv_module_put_5(owner);
 9291      }
 9292    } else {
 9293#line 993
 9294      lo->lo_encryption = xfer;
 9295    }
 9296  } else {
 9297
 9298  }
 9299  }
 9300#line 995
 9301  return (err);
 9302}
 9303}
 9304#line 998 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 9305static int loop_clr_fd(struct loop_device *lo , struct block_device *bdev ) 
 9306{ struct file *filp ;
 9307  gfp_t gfp ;
 9308  int __cil_tmp5 ;
 9309  int __cil_tmp6 ;
 9310  struct file *__cil_tmp7 ;
 9311  unsigned long __cil_tmp8 ;
 9312  unsigned long __cil_tmp9 ;
 9313  spinlock_t *__cil_tmp10 ;
 9314  spinlock_t *__cil_tmp11 ;
 9315  struct task_struct *__cil_tmp12 ;
 9316  char (*__cil_tmp13)[32U] ;
 9317  void *__cil_tmp14 ;
 9318  char (*__cil_tmp15)[64U] ;
 9319  void *__cil_tmp16 ;
 9320  char (*__cil_tmp17)[64U] ;
 9321  void *__cil_tmp18 ;
 9322  struct block_device *__cil_tmp19 ;
 9323  unsigned long __cil_tmp20 ;
 9324  unsigned long __cil_tmp21 ;
 9325  struct gendisk *__cil_tmp22 ;
 9326  struct block_device *__cil_tmp23 ;
 9327  unsigned long __cil_tmp24 ;
 9328  unsigned long __cil_tmp25 ;
 9329  struct gendisk *__cil_tmp26 ;
 9330  struct kobject *__cil_tmp27 ;
 9331  enum kobject_action __cil_tmp28 ;
 9332  struct address_space *__cil_tmp29 ;
 9333  struct block_device *__cil_tmp30 ;
 9334  unsigned long __cil_tmp31 ;
 9335  unsigned long __cil_tmp32 ;
 9336  struct mutex *__cil_tmp33 ;
 9337
 9338  {
 9339#line 1000
 9340  filp = lo->lo_backing_file;
 9341#line 1001
 9342  gfp = lo->old_gfp_mask;
 9343  {
 9344#line 1003
 9345  __cil_tmp5 = lo->lo_state;
 9346#line 1003
 9347  if (__cil_tmp5 != 1) {
 9348#line 1004
 9349    return (-6);
 9350  } else {
 9351
 9352  }
 9353  }
 9354  {
 9355#line 1006
 9356  __cil_tmp6 = lo->lo_refcnt;
 9357#line 1006
 9358  if (__cil_tmp6 > 1) {
 9359#line 1007
 9360    return (-16);
 9361  } else {
 9362
 9363  }
 9364  }
 9365  {
 9366#line 1009
 9367  __cil_tmp7 = (struct file *)0;
 9368#line 1009
 9369  __cil_tmp8 = (unsigned long )__cil_tmp7;
 9370#line 1009
 9371  __cil_tmp9 = (unsigned long )filp;
 9372#line 1009
 9373  if (__cil_tmp9 == __cil_tmp8) {
 9374#line 1010
 9375    return (-22);
 9376  } else {
 9377
 9378  }
 9379  }
 9380  {
 9381#line 1012
 9382  __cil_tmp10 = & lo->lo_lock;
 9383#line 1012
 9384  spin_lock_irq(__cil_tmp10);
 9385#line 1013
 9386  lo->lo_state = 2;
 9387#line 1014
 9388  __cil_tmp11 = & lo->lo_lock;
 9389#line 1014
 9390  spin_unlock_irq(__cil_tmp11);
 9391#line 1016
 9392  __cil_tmp12 = lo->lo_thread;
 9393#line 1016
 9394  kthread_stop(__cil_tmp12);
 9395#line 1018
 9396  lo->lo_backing_file = (struct file *)0;
 9397#line 1020
 9398  loop_release_xfer(lo);
 9399#line 1021
 9400  lo->transfer = (int (*)(struct loop_device * , int  , struct page * , unsigned int  ,
 9401                          struct page * , unsigned int  , int  , sector_t  ))0;
 9402#line 1022
 9403  lo->ioctl = (int (*)(struct loop_device * , int  , unsigned long  ))0;
 9404#line 1023
 9405  lo->lo_device = (struct block_device *)0;
 9406#line 1024
 9407  lo->lo_encryption = (struct loop_func_table *)0;
 9408#line 1025
 9409  lo->lo_offset = 0LL;
 9410#line 1026
 9411  lo->lo_sizelimit = 0LL;
 9412#line 1027
 9413  lo->lo_encrypt_key_size = 0;
 9414#line 1028
 9415  lo->lo_flags = 0;
 9416#line 1029
 9417  lo->lo_thread = (struct task_struct *)0;
 9418#line 1030
 9419  __cil_tmp13 = & lo->lo_encrypt_key;
 9420#line 1030
 9421  __cil_tmp14 = (void *)__cil_tmp13;
 9422#line 1030
 9423  memset(__cil_tmp14, 0, 32UL);
 9424#line 1031
 9425  __cil_tmp15 = & lo->lo_crypt_name;
 9426#line 1031
 9427  __cil_tmp16 = (void *)__cil_tmp15;
 9428#line 1031
 9429  memset(__cil_tmp16, 0, 64UL);
 9430#line 1032
 9431  __cil_tmp17 = & lo->lo_file_name;
 9432#line 1032
 9433  __cil_tmp18 = (void *)__cil_tmp17;
 9434#line 1032
 9435  memset(__cil_tmp18, 0, 64UL);
 9436  }
 9437  {
 9438#line 1033
 9439  __cil_tmp19 = (struct block_device *)0;
 9440#line 1033
 9441  __cil_tmp20 = (unsigned long )__cil_tmp19;
 9442#line 1033
 9443  __cil_tmp21 = (unsigned long )bdev;
 9444#line 1033
 9445  if (__cil_tmp21 != __cil_tmp20) {
 9446    {
 9447#line 1034
 9448    invalidate_bdev(bdev);
 9449    }
 9450  } else {
 9451
 9452  }
 9453  }
 9454  {
 9455#line 1035
 9456  __cil_tmp22 = lo->lo_disk;
 9457#line 1035
 9458  set_capacity(__cil_tmp22, 0UL);
 9459#line 1036
 9460  loop_sysfs_exit(lo);
 9461  }
 9462  {
 9463#line 1037
 9464  __cil_tmp23 = (struct block_device *)0;
 9465#line 1037
 9466  __cil_tmp24 = (unsigned long )__cil_tmp23;
 9467#line 1037
 9468  __cil_tmp25 = (unsigned long )bdev;
 9469#line 1037
 9470  if (__cil_tmp25 != __cil_tmp24) {
 9471    {
 9472#line 1038
 9473    bd_set_size(bdev, 0LL);
 9474#line 1040
 9475    __cil_tmp26 = bdev->bd_disk;
 9476#line 1040
 9477    __cil_tmp27 = & __cil_tmp26->part0.__dev.kobj;
 9478#line 1040
 9479    __cil_tmp28 = (enum kobject_action )2;
 9480#line 1040
 9481    kobject_uevent(__cil_tmp27, __cil_tmp28);
 9482    }
 9483  } else {
 9484
 9485  }
 9486  }
 9487  {
 9488#line 1042
 9489  __cil_tmp29 = filp->f_mapping;
 9490#line 1042
 9491  mapping_set_gfp_mask(__cil_tmp29, gfp);
 9492#line 1043
 9493  lo->lo_state = 0;
 9494#line 1045
 9495  ldv_module_put_6(& __this_module);
 9496  }
 9497#line 1046
 9498  if (max_part > 0) {
 9499    {
 9500#line 1046
 9501    __cil_tmp30 = (struct block_device *)0;
 9502#line 1046
 9503    __cil_tmp31 = (unsigned long )__cil_tmp30;
 9504#line 1046
 9505    __cil_tmp32 = (unsigned long )bdev;
 9506#line 1046
 9507    if (__cil_tmp32 != __cil_tmp31) {
 9508      {
 9509#line 1047
 9510      ioctl_by_bdev(bdev, 4703U, 0UL);
 9511      }
 9512    } else {
 9513
 9514    }
 9515    }
 9516  } else {
 9517
 9518  }
 9519  {
 9520#line 1048
 9521  __cil_tmp33 = & lo->lo_ctl_mutex;
 9522#line 1048
 9523  mutex_unlock(__cil_tmp33);
 9524#line 1055
 9525  fput(filp);
 9526  }
 9527#line 1056
 9528  return (0);
 9529}
 9530}
 9531#line 1060 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 9532static int loop_set_status(struct loop_device *lo , struct loop_info64  const  *info ) 
 9533{ int err ;
 9534  struct loop_func_table *xfer ;
 9535  uid_t uid ;
 9536  struct task_struct *tmp ;
 9537  bool tmp___0 ;
 9538  int tmp___1 ;
 9539  unsigned int type ;
 9540  int tmp___2 ;
 9541  size_t __len ;
 9542  void *__ret ;
 9543  size_t __len___0 ;
 9544  void *__ret___0 ;
 9545  size_t __len___1 ;
 9546  void *__ret___1 ;
 9547  struct cred  const  *__cil_tmp17 ;
 9548  uid_t __cil_tmp18 ;
 9549  int __cil_tmp19 ;
 9550  uid_t __cil_tmp20 ;
 9551  int __cil_tmp21 ;
 9552  __u32 __cil_tmp22 ;
 9553  unsigned int __cil_tmp23 ;
 9554  __u32 __cil_tmp24 ;
 9555  unsigned int __cil_tmp25 ;
 9556  __u32 __cil_tmp26 ;
 9557  struct loop_func_table *__cil_tmp27 ;
 9558  unsigned long __cil_tmp28 ;
 9559  unsigned long __cil_tmp29 ;
 9560  __u64 __cil_tmp30 ;
 9561  unsigned long long __cil_tmp31 ;
 9562  loff_t __cil_tmp32 ;
 9563  unsigned long long __cil_tmp33 ;
 9564  __u64 __cil_tmp34 ;
 9565  unsigned long long __cil_tmp35 ;
 9566  loff_t __cil_tmp36 ;
 9567  unsigned long long __cil_tmp37 ;
 9568  __u64 __cil_tmp38 ;
 9569  __u64 __cil_tmp39 ;
 9570  char (*__cil_tmp40)[64U] ;
 9571  void *__cil_tmp41 ;
 9572  __u8 (*__cil_tmp42)[64U] ;
 9573  void const   *__cil_tmp43 ;
 9574  char (*__cil_tmp44)[64U] ;
 9575  void *__cil_tmp45 ;
 9576  __u8 (*__cil_tmp46)[64U] ;
 9577  void const   *__cil_tmp47 ;
 9578  char (*__cil_tmp48)[64U] ;
 9579  void *__cil_tmp49 ;
 9580  __u8 (*__cil_tmp50)[64U] ;
 9581  void const   *__cil_tmp51 ;
 9582  char (*__cil_tmp52)[64U] ;
 9583  void *__cil_tmp53 ;
 9584  __u8 (*__cil_tmp54)[64U] ;
 9585  void const   *__cil_tmp55 ;
 9586  struct loop_func_table *__cil_tmp56 ;
 9587  unsigned long __cil_tmp57 ;
 9588  unsigned long __cil_tmp58 ;
 9589  __u32 __cil_tmp59 ;
 9590  unsigned int __cil_tmp60 ;
 9591  int __cil_tmp61 ;
 9592  unsigned int __cil_tmp62 ;
 9593  unsigned int __cil_tmp63 ;
 9594  unsigned int __cil_tmp64 ;
 9595  int __cil_tmp65 ;
 9596  __u32 __cil_tmp66 ;
 9597  __u64 __cil_tmp67 ;
 9598  __u64 __cil_tmp68 ;
 9599  __u32 __cil_tmp69 ;
 9600  unsigned int __cil_tmp70 ;
 9601  __u32 __cil_tmp71 ;
 9602  char (*__cil_tmp72)[32U] ;
 9603  void *__cil_tmp73 ;
 9604  __u8 (*__cil_tmp74)[32U] ;
 9605  void const   *__cil_tmp75 ;
 9606
 9607  {
 9608  {
 9609#line 1064
 9610  tmp = get_current();
 9611#line 1064
 9612  __cil_tmp17 = tmp->cred;
 9613#line 1064
 9614  __cil_tmp18 = __cil_tmp17->uid;
 9615#line 1064
 9616  uid = (uid_t )__cil_tmp18;
 9617  }
 9618  {
 9619#line 1066
 9620  __cil_tmp19 = lo->lo_encrypt_key_size;
 9621#line 1066
 9622  if (__cil_tmp19 != 0) {
 9623    {
 9624#line 1066
 9625    __cil_tmp20 = lo->lo_key_owner;
 9626#line 1066
 9627    if (__cil_tmp20 != uid) {
 9628      {
 9629#line 1066
 9630      tmp___0 = capable(21);
 9631      }
 9632#line 1066
 9633      if (tmp___0) {
 9634#line 1066
 9635        tmp___1 = 0;
 9636      } else {
 9637#line 1066
 9638        tmp___1 = 1;
 9639      }
 9640#line 1066
 9641      if (tmp___1) {
 9642#line 1069
 9643        return (-1);
 9644      } else {
 9645
 9646      }
 9647    } else {
 9648
 9649    }
 9650    }
 9651  } else {
 9652
 9653  }
 9654  }
 9655  {
 9656#line 1070
 9657  __cil_tmp21 = lo->lo_state;
 9658#line 1070
 9659  if (__cil_tmp21 != 1) {
 9660#line 1071
 9661    return (-6);
 9662  } else {
 9663
 9664  }
 9665  }
 9666  {
 9667#line 1072
 9668  __cil_tmp22 = info->lo_encrypt_key_size;
 9669#line 1072
 9670  __cil_tmp23 = (unsigned int )__cil_tmp22;
 9671#line 1072
 9672  if (__cil_tmp23 > 32U) {
 9673#line 1073
 9674    return (-22);
 9675  } else {
 9676
 9677  }
 9678  }
 9679  {
 9680#line 1075
 9681  err = loop_release_xfer(lo);
 9682  }
 9683#line 1076
 9684  if (err != 0) {
 9685#line 1077
 9686    return (err);
 9687  } else {
 9688
 9689  }
 9690  {
 9691#line 1079
 9692  __cil_tmp24 = info->lo_encrypt_type;
 9693#line 1079
 9694  __cil_tmp25 = (unsigned int )__cil_tmp24;
 9695#line 1079
 9696  if (__cil_tmp25 != 0U) {
 9697#line 1080
 9698    __cil_tmp26 = info->lo_encrypt_type;
 9699#line 1080
 9700    type = (unsigned int )__cil_tmp26;
 9701#line 1082
 9702    if (type > 19U) {
 9703#line 1083
 9704      return (-22);
 9705    } else {
 9706
 9707    }
 9708#line 1084
 9709    xfer = xfer_funcs[type];
 9710    {
 9711#line 1085
 9712    __cil_tmp27 = (struct loop_func_table *)0;
 9713#line 1085
 9714    __cil_tmp28 = (unsigned long )__cil_tmp27;
 9715#line 1085
 9716    __cil_tmp29 = (unsigned long )xfer;
 9717#line 1085
 9718    if (__cil_tmp29 == __cil_tmp28) {
 9719#line 1086
 9720      return (-22);
 9721    } else {
 9722
 9723    }
 9724    }
 9725  } else {
 9726#line 1088
 9727    xfer = (struct loop_func_table *)0;
 9728  }
 9729  }
 9730  {
 9731#line 1090
 9732  err = loop_init_xfer(lo, xfer, info);
 9733  }
 9734#line 1091
 9735  if (err != 0) {
 9736#line 1092
 9737    return (err);
 9738  } else {
 9739
 9740  }
 9741  {
 9742#line 1094
 9743  __cil_tmp30 = info->lo_offset;
 9744#line 1094
 9745  __cil_tmp31 = (unsigned long long )__cil_tmp30;
 9746#line 1094
 9747  __cil_tmp32 = lo->lo_offset;
 9748#line 1094
 9749  __cil_tmp33 = (unsigned long long )__cil_tmp32;
 9750#line 1094
 9751  if (__cil_tmp33 != __cil_tmp31) {
 9752#line 1094
 9753    goto _L;
 9754  } else {
 9755    {
 9756#line 1094
 9757    __cil_tmp34 = info->lo_sizelimit;
 9758#line 1094
 9759    __cil_tmp35 = (unsigned long long )__cil_tmp34;
 9760#line 1094
 9761    __cil_tmp36 = lo->lo_sizelimit;
 9762#line 1094
 9763    __cil_tmp37 = (unsigned long long )__cil_tmp36;
 9764#line 1094
 9765    if (__cil_tmp37 != __cil_tmp35) {
 9766      _L: 
 9767      {
 9768#line 1096
 9769      __cil_tmp38 = info->lo_offset;
 9770#line 1096
 9771      lo->lo_offset = (loff_t )__cil_tmp38;
 9772#line 1097
 9773      __cil_tmp39 = info->lo_sizelimit;
 9774#line 1097
 9775      lo->lo_sizelimit = (loff_t )__cil_tmp39;
 9776#line 1098
 9777      tmp___2 = figure_loop_size(lo);
 9778      }
 9779#line 1098
 9780      if (tmp___2 != 0) {
 9781#line 1099
 9782        return (-27);
 9783      } else {
 9784
 9785      }
 9786    } else {
 9787
 9788    }
 9789    }
 9790  }
 9791  }
 9792#line 1102
 9793  __len = 64UL;
 9794#line 1102
 9795  if (__len > 63UL) {
 9796    {
 9797#line 1102
 9798    __cil_tmp40 = & lo->lo_file_name;
 9799#line 1102
 9800    __cil_tmp41 = (void *)__cil_tmp40;
 9801#line 1102
 9802    __cil_tmp42 = & info->lo_file_name;
 9803#line 1102
 9804    __cil_tmp43 = (void const   *)__cil_tmp42;
 9805#line 1102
 9806    __ret = __memcpy(__cil_tmp41, __cil_tmp43, __len);
 9807    }
 9808  } else {
 9809    {
 9810#line 1102
 9811    __cil_tmp44 = & lo->lo_file_name;
 9812#line 1102
 9813    __cil_tmp45 = (void *)__cil_tmp44;
 9814#line 1102
 9815    __cil_tmp46 = & info->lo_file_name;
 9816#line 1102
 9817    __cil_tmp47 = (void const   *)__cil_tmp46;
 9818#line 1102
 9819    __ret = __builtin_memcpy(__cil_tmp45, __cil_tmp47, __len);
 9820    }
 9821  }
 9822#line 1103
 9823  __len___0 = 64UL;
 9824#line 1103
 9825  if (__len___0 > 63UL) {
 9826    {
 9827#line 1103
 9828    __cil_tmp48 = & lo->lo_crypt_name;
 9829#line 1103
 9830    __cil_tmp49 = (void *)__cil_tmp48;
 9831#line 1103
 9832    __cil_tmp50 = & info->lo_crypt_name;
 9833#line 1103
 9834    __cil_tmp51 = (void const   *)__cil_tmp50;
 9835#line 1103
 9836    __ret___0 = __memcpy(__cil_tmp49, __cil_tmp51, __len___0);
 9837    }
 9838  } else {
 9839    {
 9840#line 1103
 9841    __cil_tmp52 = & lo->lo_crypt_name;
 9842#line 1103
 9843    __cil_tmp53 = (void *)__cil_tmp52;
 9844#line 1103
 9845    __cil_tmp54 = & info->lo_crypt_name;
 9846#line 1103
 9847    __cil_tmp55 = (void const   *)__cil_tmp54;
 9848#line 1103
 9849    __ret___0 = __builtin_memcpy(__cil_tmp53, __cil_tmp55, __len___0);
 9850    }
 9851  }
 9852#line 1104
 9853  lo->lo_file_name[63] = (char)0;
 9854#line 1105
 9855  lo->lo_crypt_name[63] = (char)0;
 9856  {
 9857#line 1107
 9858  __cil_tmp56 = (struct loop_func_table *)0;
 9859#line 1107
 9860  __cil_tmp57 = (unsigned long )__cil_tmp56;
 9861#line 1107
 9862  __cil_tmp58 = (unsigned long )xfer;
 9863#line 1107
 9864  if (__cil_tmp58 == __cil_tmp57) {
 9865#line 1108
 9866    xfer = & none_funcs;
 9867  } else {
 9868
 9869  }
 9870  }
 9871#line 1109
 9872  lo->transfer = xfer->transfer;
 9873#line 1110
 9874  lo->ioctl = xfer->ioctl;
 9875  {
 9876#line 1112
 9877  __cil_tmp59 = info->lo_flags;
 9878#line 1112
 9879  __cil_tmp60 = (unsigned int )__cil_tmp59;
 9880#line 1112
 9881  __cil_tmp61 = lo->lo_flags;
 9882#line 1112
 9883  __cil_tmp62 = (unsigned int )__cil_tmp61;
 9884#line 1112
 9885  __cil_tmp63 = __cil_tmp62 ^ __cil_tmp60;
 9886#line 1112
 9887  __cil_tmp64 = __cil_tmp63 & 4U;
 9888#line 1112
 9889  if (__cil_tmp64 != 0U) {
 9890#line 1114
 9891    __cil_tmp65 = lo->lo_flags;
 9892#line 1114
 9893    lo->lo_flags = __cil_tmp65 ^ 4;
 9894  } else {
 9895
 9896  }
 9897  }
 9898#line 1116
 9899  __cil_tmp66 = info->lo_encrypt_key_size;
 9900#line 1116
 9901  lo->lo_encrypt_key_size = (int )__cil_tmp66;
 9902#line 1117
 9903  __cil_tmp67 = info->lo_init[0];
 9904#line 1117
 9905  lo->lo_init[0] = (__u32 )__cil_tmp67;
 9906#line 1118
 9907  __cil_tmp68 = info->lo_init[1];
 9908#line 1118
 9909  lo->lo_init[1] = (__u32 )__cil_tmp68;
 9910  {
 9911#line 1119
 9912  __cil_tmp69 = info->lo_encrypt_key_size;
 9913#line 1119
 9914  __cil_tmp70 = (unsigned int )__cil_tmp69;
 9915#line 1119
 9916  if (__cil_tmp70 != 0U) {
 9917    {
 9918#line 1120
 9919    __cil_tmp71 = info->lo_encrypt_key_size;
 9920#line 1120
 9921    __len___1 = (size_t )__cil_tmp71;
 9922#line 1120
 9923    __cil_tmp72 = & lo->lo_encrypt_key;
 9924#line 1120
 9925    __cil_tmp73 = (void *)__cil_tmp72;
 9926#line 1120
 9927    __cil_tmp74 = & info->lo_encrypt_key;
 9928#line 1120
 9929    __cil_tmp75 = (void const   *)__cil_tmp74;
 9930#line 1120
 9931    __ret___1 = __builtin_memcpy(__cil_tmp73, __cil_tmp75, __len___1);
 9932#line 1122
 9933    lo->lo_key_owner = uid;
 9934    }
 9935  } else {
 9936
 9937  }
 9938  }
 9939#line 1125
 9940  return (0);
 9941}
 9942}
 9943#line 1129 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
 9944static int loop_get_status(struct loop_device *lo , struct loop_info64 *info ) 
 9945{ struct file *file ;
 9946  struct kstat stat ;
 9947  int error ;
 9948  dev_t tmp ;
 9949  size_t __len ;
 9950  void *__ret ;
 9951  size_t __len___0 ;
 9952  void *__ret___0 ;
 9953  size_t __len___1 ;
 9954  void *__ret___1 ;
 9955  bool tmp___0 ;
 9956  int __cil_tmp14 ;
 9957  struct vfsmount *__cil_tmp15 ;
 9958  struct dentry *__cil_tmp16 ;
 9959  void *__cil_tmp17 ;
 9960  int __cil_tmp18 ;
 9961  struct block_device *__cil_tmp19 ;
 9962  unsigned long __cil_tmp20 ;
 9963  struct block_device *__cil_tmp21 ;
 9964  unsigned long __cil_tmp22 ;
 9965  loff_t __cil_tmp23 ;
 9966  loff_t __cil_tmp24 ;
 9967  int __cil_tmp25 ;
 9968  __u8 (*__cil_tmp26)[64U] ;
 9969  void *__cil_tmp27 ;
 9970  char (*__cil_tmp28)[64U] ;
 9971  void const   *__cil_tmp29 ;
 9972  __u8 (*__cil_tmp30)[64U] ;
 9973  void *__cil_tmp31 ;
 9974  char (*__cil_tmp32)[64U] ;
 9975  void const   *__cil_tmp33 ;
 9976  __u8 (*__cil_tmp34)[64U] ;
 9977  void *__cil_tmp35 ;
 9978  char (*__cil_tmp36)[64U] ;
 9979  void const   *__cil_tmp37 ;
 9980  __u8 (*__cil_tmp38)[64U] ;
 9981  void *__cil_tmp39 ;
 9982  char (*__cil_tmp40)[64U] ;
 9983  void const   *__cil_tmp41 ;
 9984  struct loop_func_table *__cil_tmp42 ;
 9985  unsigned long __cil_tmp43 ;
 9986  struct loop_func_table *__cil_tmp44 ;
 9987  unsigned long __cil_tmp45 ;
 9988  struct loop_func_table *__cil_tmp46 ;
 9989  int __cil_tmp47 ;
 9990  int __cil_tmp48 ;
 9991  int __cil_tmp49 ;
 9992  int __cil_tmp50 ;
 9993  __u8 (*__cil_tmp51)[32U] ;
 9994  void *__cil_tmp52 ;
 9995  char (*__cil_tmp53)[32U] ;
 9996  void const   *__cil_tmp54 ;
 9997
 9998  {
 9999#line 1131
10000  file = lo->lo_backing_file;
10001  {
10002#line 1135
10003  __cil_tmp14 = lo->lo_state;
10004#line 1135
10005  if (__cil_tmp14 != 1) {
10006#line 1136
10007    return (-6);
10008  } else {
10009
10010  }
10011  }
10012  {
10013#line 1137
10014  __cil_tmp15 = file->f_path.mnt;
10015#line 1137
10016  __cil_tmp16 = file->f_path.dentry;
10017#line 1137
10018  error = vfs_getattr(__cil_tmp15, __cil_tmp16, & stat);
10019  }
10020#line 1138
10021  if (error != 0) {
10022#line 1139
10023    return (error);
10024  } else {
10025
10026  }
10027  {
10028#line 1140
10029  __cil_tmp17 = (void *)info;
10030#line 1140
10031  memset(__cil_tmp17, 0, 232UL);
10032#line 1141
10033  __cil_tmp18 = lo->lo_number;
10034#line 1141
10035  info->lo_number = (__u32 )__cil_tmp18;
10036#line 1142
10037  info->lo_device = huge_encode_dev(stat.dev);
10038#line 1143
10039  info->lo_inode = stat.ino;
10040  }
10041  {
10042#line 1144
10043  __cil_tmp19 = (struct block_device *)0;
10044#line 1144
10045  __cil_tmp20 = (unsigned long )__cil_tmp19;
10046#line 1144
10047  __cil_tmp21 = lo->lo_device;
10048#line 1144
10049  __cil_tmp22 = (unsigned long )__cil_tmp21;
10050#line 1144
10051  if (__cil_tmp22 != __cil_tmp20) {
10052#line 1144
10053    tmp = stat.rdev;
10054  } else {
10055#line 1144
10056    tmp = stat.dev;
10057  }
10058  }
10059  {
10060#line 1144
10061  info->lo_rdevice = huge_encode_dev(tmp);
10062#line 1145
10063  __cil_tmp23 = lo->lo_offset;
10064#line 1145
10065  info->lo_offset = (__u64 )__cil_tmp23;
10066#line 1146
10067  __cil_tmp24 = lo->lo_sizelimit;
10068#line 1146
10069  info->lo_sizelimit = (__u64 )__cil_tmp24;
10070#line 1147
10071  __cil_tmp25 = lo->lo_flags;
10072#line 1147
10073  info->lo_flags = (__u32 )__cil_tmp25;
10074#line 1148
10075  __len = 64UL;
10076  }
10077#line 1148
10078  if (__len > 63UL) {
10079    {
10080#line 1148
10081    __cil_tmp26 = & info->lo_file_name;
10082#line 1148
10083    __cil_tmp27 = (void *)__cil_tmp26;
10084#line 1148
10085    __cil_tmp28 = & lo->lo_file_name;
10086#line 1148
10087    __cil_tmp29 = (void const   *)__cil_tmp28;
10088#line 1148
10089    __ret = __memcpy(__cil_tmp27, __cil_tmp29, __len);
10090    }
10091  } else {
10092    {
10093#line 1148
10094    __cil_tmp30 = & info->lo_file_name;
10095#line 1148
10096    __cil_tmp31 = (void *)__cil_tmp30;
10097#line 1148
10098    __cil_tmp32 = & lo->lo_file_name;
10099#line 1148
10100    __cil_tmp33 = (void const   *)__cil_tmp32;
10101#line 1148
10102    __ret = __builtin_memcpy(__cil_tmp31, __cil_tmp33, __len);
10103    }
10104  }
10105#line 1149
10106  __len___0 = 64UL;
10107#line 1149
10108  if (__len___0 > 63UL) {
10109    {
10110#line 1149
10111    __cil_tmp34 = & info->lo_crypt_name;
10112#line 1149
10113    __cil_tmp35 = (void *)__cil_tmp34;
10114#line 1149
10115    __cil_tmp36 = & lo->lo_crypt_name;
10116#line 1149
10117    __cil_tmp37 = (void const   *)__cil_tmp36;
10118#line 1149
10119    __ret___0 = __memcpy(__cil_tmp35, __cil_tmp37, __len___0);
10120    }
10121  } else {
10122    {
10123#line 1149
10124    __cil_tmp38 = & info->lo_crypt_name;
10125#line 1149
10126    __cil_tmp39 = (void *)__cil_tmp38;
10127#line 1149
10128    __cil_tmp40 = & lo->lo_crypt_name;
10129#line 1149
10130    __cil_tmp41 = (void const   *)__cil_tmp40;
10131#line 1149
10132    __ret___0 = __builtin_memcpy(__cil_tmp39, __cil_tmp41, __len___0);
10133    }
10134  }
10135  {
10136#line 1150
10137  __cil_tmp42 = (struct loop_func_table *)0;
10138#line 1150
10139  __cil_tmp43 = (unsigned long )__cil_tmp42;
10140#line 1150
10141  __cil_tmp44 = lo->lo_encryption;
10142#line 1150
10143  __cil_tmp45 = (unsigned long )__cil_tmp44;
10144#line 1150
10145  if (__cil_tmp45 != __cil_tmp43) {
10146#line 1150
10147    __cil_tmp46 = lo->lo_encryption;
10148#line 1150
10149    __cil_tmp47 = __cil_tmp46->number;
10150#line 1150
10151    info->lo_encrypt_type = (__u32 )__cil_tmp47;
10152  } else {
10153#line 1150
10154    info->lo_encrypt_type = 0U;
10155  }
10156  }
10157  {
10158#line 1152
10159  __cil_tmp48 = lo->lo_encrypt_key_size;
10160#line 1152
10161  if (__cil_tmp48 != 0) {
10162    {
10163#line 1152
10164    tmp___0 = capable(21);
10165    }
10166#line 1152
10167    if ((int )tmp___0) {
10168      {
10169#line 1153
10170      __cil_tmp49 = lo->lo_encrypt_key_size;
10171#line 1153
10172      info->lo_encrypt_key_size = (__u32 )__cil_tmp49;
10173#line 1154
10174      __cil_tmp50 = lo->lo_encrypt_key_size;
10175#line 1154
10176      __len___1 = (size_t )__cil_tmp50;
10177#line 1154
10178      __cil_tmp51 = & info->lo_encrypt_key;
10179#line 1154
10180      __cil_tmp52 = (void *)__cil_tmp51;
10181#line 1154
10182      __cil_tmp53 = & lo->lo_encrypt_key;
10183#line 1154
10184      __cil_tmp54 = (void const   *)__cil_tmp53;
10185#line 1154
10186      __ret___1 = __builtin_memcpy(__cil_tmp52, __cil_tmp54, __len___1);
10187      }
10188    } else {
10189
10190    }
10191  } else {
10192
10193  }
10194  }
10195#line 1157
10196  return (0);
10197}
10198}
10199#line 1161 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10200static void loop_info64_from_old(struct loop_info  const  *info , struct loop_info64 *info64 ) 
10201{ size_t __len ;
10202  void *__ret ;
10203  size_t __len___0 ;
10204  void *__ret___0 ;
10205  size_t __len___1 ;
10206  void *__ret___1 ;
10207  void *__cil_tmp9 ;
10208  int __cil_tmp10 ;
10209  __kernel_old_dev_t __cil_tmp11 ;
10210  unsigned long __cil_tmp12 ;
10211  __kernel_old_dev_t __cil_tmp13 ;
10212  int __cil_tmp14 ;
10213  int __cil_tmp15 ;
10214  int __cil_tmp16 ;
10215  int __cil_tmp17 ;
10216  unsigned long __cil_tmp18 ;
10217  unsigned long __cil_tmp19 ;
10218  int __cil_tmp20 ;
10219  int __cil_tmp21 ;
10220  __u8 (*__cil_tmp22)[64U] ;
10221  void *__cil_tmp23 ;
10222  char (*__cil_tmp24)[64U] ;
10223  void const   *__cil_tmp25 ;
10224  __u8 (*__cil_tmp26)[64U] ;
10225  void *__cil_tmp27 ;
10226  char (*__cil_tmp28)[64U] ;
10227  void const   *__cil_tmp29 ;
10228  __u8 (*__cil_tmp30)[64U] ;
10229  void *__cil_tmp31 ;
10230  char (*__cil_tmp32)[64U] ;
10231  void const   *__cil_tmp33 ;
10232  __u8 (*__cil_tmp34)[64U] ;
10233  void *__cil_tmp35 ;
10234  char (*__cil_tmp36)[64U] ;
10235  void const   *__cil_tmp37 ;
10236  __u8 (*__cil_tmp38)[32U] ;
10237  void *__cil_tmp39 ;
10238  unsigned char (*__cil_tmp40)[32U] ;
10239  void const   *__cil_tmp41 ;
10240  __u8 (*__cil_tmp42)[32U] ;
10241  void *__cil_tmp43 ;
10242  unsigned char (*__cil_tmp44)[32U] ;
10243  void const   *__cil_tmp45 ;
10244
10245  {
10246  {
10247#line 1163
10248  __cil_tmp9 = (void *)info64;
10249#line 1163
10250  memset(__cil_tmp9, 0, 232UL);
10251#line 1164
10252  __cil_tmp10 = info->lo_number;
10253#line 1164
10254  info64->lo_number = (__u32 )__cil_tmp10;
10255#line 1165
10256  __cil_tmp11 = info->lo_device;
10257#line 1165
10258  info64->lo_device = (__u64 )__cil_tmp11;
10259#line 1166
10260  __cil_tmp12 = info->lo_inode;
10261#line 1166
10262  info64->lo_inode = (__u64 )__cil_tmp12;
10263#line 1167
10264  __cil_tmp13 = info->lo_rdevice;
10265#line 1167
10266  info64->lo_rdevice = (__u64 )__cil_tmp13;
10267#line 1168
10268  __cil_tmp14 = info->lo_offset;
10269#line 1168
10270  info64->lo_offset = (__u64 )__cil_tmp14;
10271#line 1169
10272  info64->lo_sizelimit = 0ULL;
10273#line 1170
10274  __cil_tmp15 = info->lo_encrypt_type;
10275#line 1170
10276  info64->lo_encrypt_type = (__u32 )__cil_tmp15;
10277#line 1171
10278  __cil_tmp16 = info->lo_encrypt_key_size;
10279#line 1171
10280  info64->lo_encrypt_key_size = (__u32 )__cil_tmp16;
10281#line 1172
10282  __cil_tmp17 = info->lo_flags;
10283#line 1172
10284  info64->lo_flags = (__u32 )__cil_tmp17;
10285#line 1173
10286  __cil_tmp18 = info->lo_init[0];
10287#line 1173
10288  info64->lo_init[0] = (__u64 )__cil_tmp18;
10289#line 1174
10290  __cil_tmp19 = info->lo_init[1];
10291#line 1174
10292  info64->lo_init[1] = (__u64 )__cil_tmp19;
10293  }
10294  {
10295#line 1175
10296  __cil_tmp20 = info->lo_encrypt_type;
10297#line 1175
10298  __cil_tmp21 = (int )__cil_tmp20;
10299#line 1175
10300  if (__cil_tmp21 == 18) {
10301#line 1176
10302    __len = 64UL;
10303#line 1176
10304    if (__len > 63UL) {
10305      {
10306#line 1176
10307      __cil_tmp22 = & info64->lo_crypt_name;
10308#line 1176
10309      __cil_tmp23 = (void *)__cil_tmp22;
10310#line 1176
10311      __cil_tmp24 = & info->lo_name;
10312#line 1176
10313      __cil_tmp25 = (void const   *)__cil_tmp24;
10314#line 1176
10315      __ret = __memcpy(__cil_tmp23, __cil_tmp25, __len);
10316      }
10317    } else {
10318      {
10319#line 1176
10320      __cil_tmp26 = & info64->lo_crypt_name;
10321#line 1176
10322      __cil_tmp27 = (void *)__cil_tmp26;
10323#line 1176
10324      __cil_tmp28 = & info->lo_name;
10325#line 1176
10326      __cil_tmp29 = (void const   *)__cil_tmp28;
10327#line 1176
10328      __ret = __builtin_memcpy(__cil_tmp27, __cil_tmp29, __len);
10329      }
10330    }
10331  } else {
10332#line 1178
10333    __len___0 = 64UL;
10334#line 1178
10335    if (__len___0 > 63UL) {
10336      {
10337#line 1178
10338      __cil_tmp30 = & info64->lo_file_name;
10339#line 1178
10340      __cil_tmp31 = (void *)__cil_tmp30;
10341#line 1178
10342      __cil_tmp32 = & info->lo_name;
10343#line 1178
10344      __cil_tmp33 = (void const   *)__cil_tmp32;
10345#line 1178
10346      __ret___0 = __memcpy(__cil_tmp31, __cil_tmp33, __len___0);
10347      }
10348    } else {
10349      {
10350#line 1178
10351      __cil_tmp34 = & info64->lo_file_name;
10352#line 1178
10353      __cil_tmp35 = (void *)__cil_tmp34;
10354#line 1178
10355      __cil_tmp36 = & info->lo_name;
10356#line 1178
10357      __cil_tmp37 = (void const   *)__cil_tmp36;
10358#line 1178
10359      __ret___0 = __builtin_memcpy(__cil_tmp35, __cil_tmp37, __len___0);
10360      }
10361    }
10362  }
10363  }
10364#line 1179
10365  __len___1 = 32UL;
10366#line 1179
10367  if (__len___1 > 63UL) {
10368    {
10369#line 1179
10370    __cil_tmp38 = & info64->lo_encrypt_key;
10371#line 1179
10372    __cil_tmp39 = (void *)__cil_tmp38;
10373#line 1179
10374    __cil_tmp40 = & info->lo_encrypt_key;
10375#line 1179
10376    __cil_tmp41 = (void const   *)__cil_tmp40;
10377#line 1179
10378    __ret___1 = __memcpy(__cil_tmp39, __cil_tmp41, __len___1);
10379    }
10380  } else {
10381    {
10382#line 1179
10383    __cil_tmp42 = & info64->lo_encrypt_key;
10384#line 1179
10385    __cil_tmp43 = (void *)__cil_tmp42;
10386#line 1179
10387    __cil_tmp44 = & info->lo_encrypt_key;
10388#line 1179
10389    __cil_tmp45 = (void const   *)__cil_tmp44;
10390#line 1179
10391    __ret___1 = __builtin_memcpy(__cil_tmp43, __cil_tmp45, __len___1);
10392    }
10393  }
10394#line 1181
10395  return;
10396}
10397}
10398#line 1183 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10399static int loop_info64_to_old(struct loop_info64  const  *info64 , struct loop_info *info ) 
10400{ size_t __len ;
10401  void *__ret ;
10402  size_t __len___0 ;
10403  void *__ret___0 ;
10404  size_t __len___1 ;
10405  void *__ret___1 ;
10406  void *__cil_tmp9 ;
10407  __u32 __cil_tmp10 ;
10408  __u64 __cil_tmp11 ;
10409  __u64 __cil_tmp12 ;
10410  __u64 __cil_tmp13 ;
10411  __u64 __cil_tmp14 ;
10412  __u32 __cil_tmp15 ;
10413  __u32 __cil_tmp16 ;
10414  __u32 __cil_tmp17 ;
10415  __u64 __cil_tmp18 ;
10416  __u64 __cil_tmp19 ;
10417  int __cil_tmp20 ;
10418  char (*__cil_tmp21)[64U] ;
10419  void *__cil_tmp22 ;
10420  __u8 (*__cil_tmp23)[64U] ;
10421  void const   *__cil_tmp24 ;
10422  char (*__cil_tmp25)[64U] ;
10423  void *__cil_tmp26 ;
10424  __u8 (*__cil_tmp27)[64U] ;
10425  void const   *__cil_tmp28 ;
10426  char (*__cil_tmp29)[64U] ;
10427  void *__cil_tmp30 ;
10428  __u8 (*__cil_tmp31)[64U] ;
10429  void const   *__cil_tmp32 ;
10430  char (*__cil_tmp33)[64U] ;
10431  void *__cil_tmp34 ;
10432  __u8 (*__cil_tmp35)[64U] ;
10433  void const   *__cil_tmp36 ;
10434  unsigned char (*__cil_tmp37)[32U] ;
10435  void *__cil_tmp38 ;
10436  __u8 (*__cil_tmp39)[32U] ;
10437  void const   *__cil_tmp40 ;
10438  unsigned char (*__cil_tmp41)[32U] ;
10439  void *__cil_tmp42 ;
10440  __u8 (*__cil_tmp43)[32U] ;
10441  void const   *__cil_tmp44 ;
10442  __u64 __cil_tmp45 ;
10443  unsigned long long __cil_tmp46 ;
10444  __kernel_old_dev_t __cil_tmp47 ;
10445  unsigned long long __cil_tmp48 ;
10446  __u64 __cil_tmp49 ;
10447  unsigned long long __cil_tmp50 ;
10448  __kernel_old_dev_t __cil_tmp51 ;
10449  unsigned long long __cil_tmp52 ;
10450  __u64 __cil_tmp53 ;
10451  unsigned long long __cil_tmp54 ;
10452  unsigned long __cil_tmp55 ;
10453  unsigned long long __cil_tmp56 ;
10454  __u64 __cil_tmp57 ;
10455  unsigned long long __cil_tmp58 ;
10456  int __cil_tmp59 ;
10457  unsigned long long __cil_tmp60 ;
10458
10459  {
10460  {
10461#line 1185
10462  __cil_tmp9 = (void *)info;
10463#line 1185
10464  memset(__cil_tmp9, 0, 168UL);
10465#line 1186
10466  __cil_tmp10 = info64->lo_number;
10467#line 1186
10468  info->lo_number = (int )__cil_tmp10;
10469#line 1187
10470  __cil_tmp11 = info64->lo_device;
10471#line 1187
10472  info->lo_device = (__kernel_old_dev_t )__cil_tmp11;
10473#line 1188
10474  __cil_tmp12 = info64->lo_inode;
10475#line 1188
10476  info->lo_inode = (unsigned long )__cil_tmp12;
10477#line 1189
10478  __cil_tmp13 = info64->lo_rdevice;
10479#line 1189
10480  info->lo_rdevice = (__kernel_old_dev_t )__cil_tmp13;
10481#line 1190
10482  __cil_tmp14 = info64->lo_offset;
10483#line 1190
10484  info->lo_offset = (int )__cil_tmp14;
10485#line 1191
10486  __cil_tmp15 = info64->lo_encrypt_type;
10487#line 1191
10488  info->lo_encrypt_type = (int )__cil_tmp15;
10489#line 1192
10490  __cil_tmp16 = info64->lo_encrypt_key_size;
10491#line 1192
10492  info->lo_encrypt_key_size = (int )__cil_tmp16;
10493#line 1193
10494  __cil_tmp17 = info64->lo_flags;
10495#line 1193
10496  info->lo_flags = (int )__cil_tmp17;
10497#line 1194
10498  __cil_tmp18 = info64->lo_init[0];
10499#line 1194
10500  info->lo_init[0] = (unsigned long )__cil_tmp18;
10501#line 1195
10502  __cil_tmp19 = info64->lo_init[1];
10503#line 1195
10504  info->lo_init[1] = (unsigned long )__cil_tmp19;
10505  }
10506  {
10507#line 1196
10508  __cil_tmp20 = info->lo_encrypt_type;
10509#line 1196
10510  if (__cil_tmp20 == 18) {
10511#line 1197
10512    __len = 64UL;
10513#line 1197
10514    if (__len > 63UL) {
10515      {
10516#line 1197
10517      __cil_tmp21 = & info->lo_name;
10518#line 1197
10519      __cil_tmp22 = (void *)__cil_tmp21;
10520#line 1197
10521      __cil_tmp23 = & info64->lo_crypt_name;
10522#line 1197
10523      __cil_tmp24 = (void const   *)__cil_tmp23;
10524#line 1197
10525      __ret = __memcpy(__cil_tmp22, __cil_tmp24, __len);
10526      }
10527    } else {
10528      {
10529#line 1197
10530      __cil_tmp25 = & info->lo_name;
10531#line 1197
10532      __cil_tmp26 = (void *)__cil_tmp25;
10533#line 1197
10534      __cil_tmp27 = & info64->lo_crypt_name;
10535#line 1197
10536      __cil_tmp28 = (void const   *)__cil_tmp27;
10537#line 1197
10538      __ret = __builtin_memcpy(__cil_tmp26, __cil_tmp28, __len);
10539      }
10540    }
10541  } else {
10542#line 1199
10543    __len___0 = 64UL;
10544#line 1199
10545    if (__len___0 > 63UL) {
10546      {
10547#line 1199
10548      __cil_tmp29 = & info->lo_name;
10549#line 1199
10550      __cil_tmp30 = (void *)__cil_tmp29;
10551#line 1199
10552      __cil_tmp31 = & info64->lo_file_name;
10553#line 1199
10554      __cil_tmp32 = (void const   *)__cil_tmp31;
10555#line 1199
10556      __ret___0 = __memcpy(__cil_tmp30, __cil_tmp32, __len___0);
10557      }
10558    } else {
10559      {
10560#line 1199
10561      __cil_tmp33 = & info->lo_name;
10562#line 1199
10563      __cil_tmp34 = (void *)__cil_tmp33;
10564#line 1199
10565      __cil_tmp35 = & info64->lo_file_name;
10566#line 1199
10567      __cil_tmp36 = (void const   *)__cil_tmp35;
10568#line 1199
10569      __ret___0 = __builtin_memcpy(__cil_tmp34, __cil_tmp36, __len___0);
10570      }
10571    }
10572  }
10573  }
10574#line 1200
10575  __len___1 = 32UL;
10576#line 1200
10577  if (__len___1 > 63UL) {
10578    {
10579#line 1200
10580    __cil_tmp37 = & info->lo_encrypt_key;
10581#line 1200
10582    __cil_tmp38 = (void *)__cil_tmp37;
10583#line 1200
10584    __cil_tmp39 = & info64->lo_encrypt_key;
10585#line 1200
10586    __cil_tmp40 = (void const   *)__cil_tmp39;
10587#line 1200
10588    __ret___1 = __memcpy(__cil_tmp38, __cil_tmp40, __len___1);
10589    }
10590  } else {
10591    {
10592#line 1200
10593    __cil_tmp41 = & info->lo_encrypt_key;
10594#line 1200
10595    __cil_tmp42 = (void *)__cil_tmp41;
10596#line 1200
10597    __cil_tmp43 = & info64->lo_encrypt_key;
10598#line 1200
10599    __cil_tmp44 = (void const   *)__cil_tmp43;
10600#line 1200
10601    __ret___1 = __builtin_memcpy(__cil_tmp42, __cil_tmp44, __len___1);
10602    }
10603  }
10604  {
10605#line 1203
10606  __cil_tmp45 = info64->lo_device;
10607#line 1203
10608  __cil_tmp46 = (unsigned long long )__cil_tmp45;
10609#line 1203
10610  __cil_tmp47 = info->lo_device;
10611#line 1203
10612  __cil_tmp48 = (unsigned long long )__cil_tmp47;
10613#line 1203
10614  if (__cil_tmp48 != __cil_tmp46) {
10615#line 1207
10616    return (-75);
10617  } else {
10618    {
10619#line 1203
10620    __cil_tmp49 = info64->lo_rdevice;
10621#line 1203
10622    __cil_tmp50 = (unsigned long long )__cil_tmp49;
10623#line 1203
10624    __cil_tmp51 = info->lo_rdevice;
10625#line 1203
10626    __cil_tmp52 = (unsigned long long )__cil_tmp51;
10627#line 1203
10628    if (__cil_tmp52 != __cil_tmp50) {
10629#line 1207
10630      return (-75);
10631    } else {
10632      {
10633#line 1203
10634      __cil_tmp53 = info64->lo_inode;
10635#line 1203
10636      __cil_tmp54 = (unsigned long long )__cil_tmp53;
10637#line 1203
10638      __cil_tmp55 = info->lo_inode;
10639#line 1203
10640      __cil_tmp56 = (unsigned long long )__cil_tmp55;
10641#line 1203
10642      if (__cil_tmp56 != __cil_tmp54) {
10643#line 1207
10644        return (-75);
10645      } else {
10646        {
10647#line 1203
10648        __cil_tmp57 = info64->lo_offset;
10649#line 1203
10650        __cil_tmp58 = (unsigned long long )__cil_tmp57;
10651#line 1203
10652        __cil_tmp59 = info->lo_offset;
10653#line 1203
10654        __cil_tmp60 = (unsigned long long )__cil_tmp59;
10655#line 1203
10656        if (__cil_tmp60 != __cil_tmp58) {
10657#line 1207
10658          return (-75);
10659        } else {
10660
10661        }
10662        }
10663      }
10664      }
10665    }
10666    }
10667  }
10668  }
10669#line 1209
10670  return (0);
10671}
10672}
10673#line 1213 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10674static int loop_set_status_old(struct loop_device *lo , struct loop_info  const  *arg ) 
10675{ struct loop_info info ;
10676  struct loop_info64 info64 ;
10677  unsigned long tmp ;
10678  int tmp___0 ;
10679  void *__cil_tmp7 ;
10680  void const   *__cil_tmp8 ;
10681  struct loop_info  const  *__cil_tmp9 ;
10682  struct loop_info64  const  *__cil_tmp10 ;
10683
10684  {
10685  {
10686#line 1218
10687  __cil_tmp7 = (void *)(& info);
10688#line 1218
10689  __cil_tmp8 = (void const   *)arg;
10690#line 1218
10691  tmp = copy_from_user(__cil_tmp7, __cil_tmp8, 168UL);
10692  }
10693#line 1218
10694  if (tmp != 0UL) {
10695#line 1219
10696    return (-14);
10697  } else {
10698
10699  }
10700  {
10701#line 1220
10702  __cil_tmp9 = (struct loop_info  const  *)(& info);
10703#line 1220
10704  loop_info64_from_old(__cil_tmp9, & info64);
10705#line 1221
10706  __cil_tmp10 = (struct loop_info64  const  *)(& info64);
10707#line 1221
10708  tmp___0 = loop_set_status(lo, __cil_tmp10);
10709  }
10710#line 1221
10711  return (tmp___0);
10712}
10713}
10714#line 1225 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10715static int loop_set_status64(struct loop_device *lo , struct loop_info64  const  *arg ) 
10716{ struct loop_info64 info64 ;
10717  unsigned long tmp ;
10718  int tmp___0 ;
10719  void *__cil_tmp6 ;
10720  void const   *__cil_tmp7 ;
10721  struct loop_info64  const  *__cil_tmp8 ;
10722
10723  {
10724  {
10725#line 1229
10726  __cil_tmp6 = (void *)(& info64);
10727#line 1229
10728  __cil_tmp7 = (void const   *)arg;
10729#line 1229
10730  tmp = copy_from_user(__cil_tmp6, __cil_tmp7, 232UL);
10731  }
10732#line 1229
10733  if (tmp != 0UL) {
10734#line 1230
10735    return (-14);
10736  } else {
10737
10738  }
10739  {
10740#line 1231
10741  __cil_tmp8 = (struct loop_info64  const  *)(& info64);
10742#line 1231
10743  tmp___0 = loop_set_status(lo, __cil_tmp8);
10744  }
10745#line 1231
10746  return (tmp___0);
10747}
10748}
10749#line 1235 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10750static int loop_get_status_old(struct loop_device *lo , struct loop_info *arg ) 
10751{ struct loop_info info ;
10752  struct loop_info64 info64 ;
10753  int err ;
10754  int tmp ;
10755  struct loop_info *__cil_tmp7 ;
10756  unsigned long __cil_tmp8 ;
10757  unsigned long __cil_tmp9 ;
10758  struct loop_info64  const  *__cil_tmp10 ;
10759  void *__cil_tmp11 ;
10760  void const   *__cil_tmp12 ;
10761
10762  {
10763#line 1238
10764  err = 0;
10765  {
10766#line 1240
10767  __cil_tmp7 = (struct loop_info *)0;
10768#line 1240
10769  __cil_tmp8 = (unsigned long )__cil_tmp7;
10770#line 1240
10771  __cil_tmp9 = (unsigned long )arg;
10772#line 1240
10773  if (__cil_tmp9 == __cil_tmp8) {
10774#line 1241
10775    err = -22;
10776  } else {
10777
10778  }
10779  }
10780#line 1242
10781  if (err == 0) {
10782    {
10783#line 1243
10784    err = loop_get_status(lo, & info64);
10785    }
10786  } else {
10787
10788  }
10789#line 1244
10790  if (err == 0) {
10791    {
10792#line 1245
10793    __cil_tmp10 = (struct loop_info64  const  *)(& info64);
10794#line 1245
10795    err = loop_info64_to_old(__cil_tmp10, & info);
10796    }
10797  } else {
10798
10799  }
10800#line 1246
10801  if (err == 0) {
10802    {
10803#line 1246
10804    __cil_tmp11 = (void *)arg;
10805#line 1246
10806    __cil_tmp12 = (void const   *)(& info);
10807#line 1246
10808    tmp = copy_to_user(__cil_tmp11, __cil_tmp12, 168U);
10809    }
10810#line 1246
10811    if (tmp != 0) {
10812#line 1247
10813      err = -14;
10814    } else {
10815
10816    }
10817  } else {
10818
10819  }
10820#line 1249
10821  return (err);
10822}
10823}
10824#line 1253 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10825static int loop_get_status64(struct loop_device *lo , struct loop_info64 *arg ) 
10826{ struct loop_info64 info64 ;
10827  int err ;
10828  int tmp ;
10829  struct loop_info64 *__cil_tmp6 ;
10830  unsigned long __cil_tmp7 ;
10831  unsigned long __cil_tmp8 ;
10832  void *__cil_tmp9 ;
10833  void const   *__cil_tmp10 ;
10834
10835  {
10836#line 1255
10837  err = 0;
10838  {
10839#line 1257
10840  __cil_tmp6 = (struct loop_info64 *)0;
10841#line 1257
10842  __cil_tmp7 = (unsigned long )__cil_tmp6;
10843#line 1257
10844  __cil_tmp8 = (unsigned long )arg;
10845#line 1257
10846  if (__cil_tmp8 == __cil_tmp7) {
10847#line 1258
10848    err = -22;
10849  } else {
10850
10851  }
10852  }
10853#line 1259
10854  if (err == 0) {
10855    {
10856#line 1260
10857    err = loop_get_status(lo, & info64);
10858    }
10859  } else {
10860
10861  }
10862#line 1261
10863  if (err == 0) {
10864    {
10865#line 1261
10866    __cil_tmp9 = (void *)arg;
10867#line 1261
10868    __cil_tmp10 = (void const   *)(& info64);
10869#line 1261
10870    tmp = copy_to_user(__cil_tmp9, __cil_tmp10, 232U);
10871    }
10872#line 1261
10873    if (tmp != 0) {
10874#line 1262
10875      err = -14;
10876    } else {
10877
10878    }
10879  } else {
10880
10881  }
10882#line 1264
10883  return (err);
10884}
10885}
10886#line 1267 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10887static int loop_set_capacity(struct loop_device *lo , struct block_device *bdev ) 
10888{ int err ;
10889  sector_t sec ;
10890  loff_t sz ;
10891  long tmp ;
10892  long tmp___0 ;
10893  int __cil_tmp8 ;
10894  int __cil_tmp9 ;
10895  long __cil_tmp10 ;
10896  int __cil_tmp11 ;
10897  long __cil_tmp12 ;
10898  struct gendisk *__cil_tmp13 ;
10899  struct mutex *__cil_tmp14 ;
10900  struct gendisk *__cil_tmp15 ;
10901  struct kobject *__cil_tmp16 ;
10902  enum kobject_action __cil_tmp17 ;
10903  struct mutex *__cil_tmp18 ;
10904
10905  {
10906  {
10907#line 1273
10908  err = -6;
10909#line 1274
10910  __cil_tmp8 = lo->lo_state;
10911#line 1274
10912  __cil_tmp9 = __cil_tmp8 != 1;
10913#line 1274
10914  __cil_tmp10 = (long )__cil_tmp9;
10915#line 1274
10916  tmp = __builtin_expect(__cil_tmp10, 0L);
10917  }
10918#line 1274
10919  if (tmp != 0L) {
10920#line 1275
10921    goto out;
10922  } else {
10923
10924  }
10925  {
10926#line 1276
10927  err = figure_loop_size(lo);
10928#line 1277
10929  __cil_tmp11 = err != 0;
10930#line 1277
10931  __cil_tmp12 = (long )__cil_tmp11;
10932#line 1277
10933  tmp___0 = __builtin_expect(__cil_tmp12, 0L);
10934  }
10935#line 1277
10936  if (tmp___0 != 0L) {
10937#line 1278
10938    goto out;
10939  } else {
10940
10941  }
10942  {
10943#line 1279
10944  __cil_tmp13 = lo->lo_disk;
10945#line 1279
10946  sec = get_capacity(__cil_tmp13);
10947#line 1281
10948  sz = (loff_t )sec;
10949#line 1282
10950  sz = sz << 9;
10951#line 1283
10952  __cil_tmp14 = & bdev->bd_mutex;
10953#line 1283
10954  mutex_lock_nested(__cil_tmp14, 0U);
10955#line 1284
10956  bd_set_size(bdev, sz);
10957#line 1286
10958  __cil_tmp15 = bdev->bd_disk;
10959#line 1286
10960  __cil_tmp16 = & __cil_tmp15->part0.__dev.kobj;
10961#line 1286
10962  __cil_tmp17 = (enum kobject_action )2;
10963#line 1286
10964  kobject_uevent(__cil_tmp16, __cil_tmp17);
10965#line 1287
10966  __cil_tmp18 = & bdev->bd_mutex;
10967#line 1287
10968  mutex_unlock(__cil_tmp18);
10969  }
10970  out: ;
10971#line 1290
10972  return (err);
10973}
10974}
10975#line 1293 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
10976static int lo_ioctl(struct block_device *bdev , fmode_t mode , unsigned int cmd ,
10977                    unsigned long arg ) 
10978{ struct loop_device *lo ;
10979  int err ;
10980  bool tmp ;
10981  int tmp___0 ;
10982  struct gendisk *__cil_tmp9 ;
10983  void *__cil_tmp10 ;
10984  struct mutex *__cil_tmp11 ;
10985  int __cil_tmp12 ;
10986  int __cil_tmp13 ;
10987  int __cil_tmp14 ;
10988  int __cil_tmp15 ;
10989  int __cil_tmp16 ;
10990  int __cil_tmp17 ;
10991  int __cil_tmp18 ;
10992  int __cil_tmp19 ;
10993  unsigned int __cil_tmp20 ;
10994  unsigned int __cil_tmp21 ;
10995  struct loop_info  const  *__cil_tmp22 ;
10996  struct loop_info *__cil_tmp23 ;
10997  struct loop_info64  const  *__cil_tmp24 ;
10998  struct loop_info64 *__cil_tmp25 ;
10999  unsigned int __cil_tmp26 ;
11000  int (*__cil_tmp27)(struct loop_device * , int  , unsigned long  ) ;
11001  unsigned long __cil_tmp28 ;
11002  int (*__cil_tmp29)(struct loop_device * , int  , unsigned long  ) ;
11003  unsigned long __cil_tmp30 ;
11004  int (*__cil_tmp31)(struct loop_device * , int  , unsigned long  ) ;
11005  int __cil_tmp32 ;
11006  struct mutex *__cil_tmp33 ;
11007
11008  {
11009  {
11010#line 1296
11011  __cil_tmp9 = bdev->bd_disk;
11012#line 1296
11013  __cil_tmp10 = __cil_tmp9->private_data;
11014#line 1296
11015  lo = (struct loop_device *)__cil_tmp10;
11016#line 1299
11017  __cil_tmp11 = & lo->lo_ctl_mutex;
11018#line 1299
11019  mutex_lock_nested(__cil_tmp11, 1U);
11020  }
11021  {
11022#line 1301
11023  __cil_tmp12 = (int )cmd;
11024#line 1301
11025  if (__cil_tmp12 == 19456) {
11026#line 1301
11027    goto case_19456;
11028  } else {
11029    {
11030#line 1304
11031    __cil_tmp13 = (int )cmd;
11032#line 1304
11033    if (__cil_tmp13 == 19462) {
11034#line 1304
11035      goto case_19462;
11036    } else {
11037      {
11038#line 1307
11039      __cil_tmp14 = (int )cmd;
11040#line 1307
11041      if (__cil_tmp14 == 19457) {
11042#line 1307
11043        goto case_19457;
11044      } else {
11045        {
11046#line 1313
11047        __cil_tmp15 = (int )cmd;
11048#line 1313
11049        if (__cil_tmp15 == 19458) {
11050#line 1313
11051          goto case_19458;
11052        } else {
11053          {
11054#line 1316
11055          __cil_tmp16 = (int )cmd;
11056#line 1316
11057          if (__cil_tmp16 == 19459) {
11058#line 1316
11059            goto case_19459;
11060          } else {
11061            {
11062#line 1319
11063            __cil_tmp17 = (int )cmd;
11064#line 1319
11065            if (__cil_tmp17 == 19460) {
11066#line 1319
11067              goto case_19460;
11068            } else {
11069              {
11070#line 1322
11071              __cil_tmp18 = (int )cmd;
11072#line 1322
11073              if (__cil_tmp18 == 19461) {
11074#line 1322
11075                goto case_19461;
11076              } else {
11077                {
11078#line 1325
11079                __cil_tmp19 = (int )cmd;
11080#line 1325
11081                if (__cil_tmp19 == 19463) {
11082#line 1325
11083                  goto case_19463;
11084                } else {
11085#line 1330
11086                  goto switch_default;
11087#line 1300
11088                  if (0) {
11089                    case_19456: 
11090                    {
11091#line 1302
11092                    __cil_tmp20 = (unsigned int )arg;
11093#line 1302
11094                    err = loop_set_fd(lo, mode, bdev, __cil_tmp20);
11095                    }
11096#line 1303
11097                    goto ldv_30844;
11098                    case_19462: 
11099                    {
11100#line 1305
11101                    __cil_tmp21 = (unsigned int )arg;
11102#line 1305
11103                    err = loop_change_fd(lo, bdev, __cil_tmp21);
11104                    }
11105#line 1306
11106                    goto ldv_30844;
11107                    case_19457: 
11108                    {
11109#line 1309
11110                    err = loop_clr_fd(lo, bdev);
11111                    }
11112#line 1310
11113                    if (err == 0) {
11114#line 1311
11115                      goto out_unlocked;
11116                    } else {
11117
11118                    }
11119#line 1312
11120                    goto ldv_30844;
11121                    case_19458: 
11122                    {
11123#line 1314
11124                    __cil_tmp22 = (struct loop_info  const  *)arg;
11125#line 1314
11126                    err = loop_set_status_old(lo, __cil_tmp22);
11127                    }
11128#line 1315
11129                    goto ldv_30844;
11130                    case_19459: 
11131                    {
11132#line 1317
11133                    __cil_tmp23 = (struct loop_info *)arg;
11134#line 1317
11135                    err = loop_get_status_old(lo, __cil_tmp23);
11136                    }
11137#line 1318
11138                    goto ldv_30844;
11139                    case_19460: 
11140                    {
11141#line 1320
11142                    __cil_tmp24 = (struct loop_info64  const  *)arg;
11143#line 1320
11144                    err = loop_set_status64(lo, __cil_tmp24);
11145                    }
11146#line 1321
11147                    goto ldv_30844;
11148                    case_19461: 
11149                    {
11150#line 1323
11151                    __cil_tmp25 = (struct loop_info64 *)arg;
11152#line 1323
11153                    err = loop_get_status64(lo, __cil_tmp25);
11154                    }
11155#line 1324
11156                    goto ldv_30844;
11157                    case_19463: 
11158#line 1326
11159                    err = -1;
11160                    {
11161#line 1327
11162                    __cil_tmp26 = mode & 2U;
11163#line 1327
11164                    if (__cil_tmp26 != 0U) {
11165                      {
11166#line 1328
11167                      err = loop_set_capacity(lo, bdev);
11168                      }
11169                    } else {
11170                      {
11171#line 1327
11172                      tmp = capable(21);
11173                      }
11174#line 1327
11175                      if ((int )tmp) {
11176                        {
11177#line 1328
11178                        err = loop_set_capacity(lo, bdev);
11179                        }
11180                      } else {
11181
11182                      }
11183                    }
11184                    }
11185#line 1329
11186                    goto ldv_30844;
11187                    switch_default: ;
11188                    {
11189#line 1331
11190                    __cil_tmp27 = (int (*)(struct loop_device * , int  , unsigned long  ))0;
11191#line 1331
11192                    __cil_tmp28 = (unsigned long )__cil_tmp27;
11193#line 1331
11194                    __cil_tmp29 = lo->ioctl;
11195#line 1331
11196                    __cil_tmp30 = (unsigned long )__cil_tmp29;
11197#line 1331
11198                    if (__cil_tmp30 != __cil_tmp28) {
11199                      {
11200#line 1331
11201                      __cil_tmp31 = lo->ioctl;
11202#line 1331
11203                      __cil_tmp32 = (int )cmd;
11204#line 1331
11205                      tmp___0 = (*__cil_tmp31)(lo, __cil_tmp32, arg);
11206#line 1331
11207                      err = tmp___0;
11208                      }
11209                    } else {
11210#line 1331
11211                      err = -22;
11212                    }
11213                    }
11214                  } else {
11215
11216                  }
11217                }
11218                }
11219              }
11220              }
11221            }
11222            }
11223          }
11224          }
11225        }
11226        }
11227      }
11228      }
11229    }
11230    }
11231  }
11232  }
11233  ldv_30844: 
11234  {
11235#line 1333
11236  __cil_tmp33 = & lo->lo_ctl_mutex;
11237#line 1333
11238  mutex_unlock(__cil_tmp33);
11239  }
11240  out_unlocked: ;
11241#line 1336
11242  return (err);
11243}
11244}
11245#line 1360 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
11246static int loop_info64_from_compat(struct compat_loop_info  const  *arg , struct loop_info64 *info64 ) 
11247{ struct compat_loop_info info ;
11248  unsigned long tmp ;
11249  size_t __len ;
11250  void *__ret ;
11251  size_t __len___0 ;
11252  void *__ret___0 ;
11253  size_t __len___1 ;
11254  void *__ret___1 ;
11255  void *__cil_tmp11 ;
11256  void const   *__cil_tmp12 ;
11257  void *__cil_tmp13 ;
11258  __u8 (*__cil_tmp14)[64U] ;
11259  void *__cil_tmp15 ;
11260  char (*__cil_tmp16)[64U] ;
11261  void const   *__cil_tmp17 ;
11262  __u8 (*__cil_tmp18)[64U] ;
11263  void *__cil_tmp19 ;
11264  char (*__cil_tmp20)[64U] ;
11265  void const   *__cil_tmp21 ;
11266  __u8 (*__cil_tmp22)[64U] ;
11267  void *__cil_tmp23 ;
11268  char (*__cil_tmp24)[64U] ;
11269  void const   *__cil_tmp25 ;
11270  __u8 (*__cil_tmp26)[64U] ;
11271  void *__cil_tmp27 ;
11272  char (*__cil_tmp28)[64U] ;
11273  void const   *__cil_tmp29 ;
11274  __u8 (*__cil_tmp30)[32U] ;
11275  void *__cil_tmp31 ;
11276  unsigned char (*__cil_tmp32)[32U] ;
11277  void const   *__cil_tmp33 ;
11278  __u8 (*__cil_tmp34)[32U] ;
11279  void *__cil_tmp35 ;
11280  unsigned char (*__cil_tmp36)[32U] ;
11281  void const   *__cil_tmp37 ;
11282
11283  {
11284  {
11285#line 1365
11286  __cil_tmp11 = (void *)(& info);
11287#line 1365
11288  __cil_tmp12 = (void const   *)arg;
11289#line 1365
11290  tmp = copy_from_user(__cil_tmp11, __cil_tmp12, 140UL);
11291  }
11292#line 1365
11293  if (tmp != 0UL) {
11294#line 1366
11295    return (-14);
11296  } else {
11297
11298  }
11299  {
11300#line 1368
11301  __cil_tmp13 = (void *)info64;
11302#line 1368
11303  memset(__cil_tmp13, 0, 232UL);
11304#line 1369
11305  info64->lo_number = (__u32 )info.lo_number;
11306#line 1370
11307  info64->lo_device = (__u64 )info.lo_device;
11308#line 1371
11309  info64->lo_inode = (__u64 )info.lo_inode;
11310#line 1372
11311  info64->lo_rdevice = (__u64 )info.lo_rdevice;
11312#line 1373
11313  info64->lo_offset = (__u64 )info.lo_offset;
11314#line 1374
11315  info64->lo_sizelimit = 0ULL;
11316#line 1375
11317  info64->lo_encrypt_type = (__u32 )info.lo_encrypt_type;
11318#line 1376
11319  info64->lo_encrypt_key_size = (__u32 )info.lo_encrypt_key_size;
11320#line 1377
11321  info64->lo_flags = (__u32 )info.lo_flags;
11322#line 1378
11323  info64->lo_init[0] = (__u64 )info.lo_init[0];
11324#line 1379
11325  info64->lo_init[1] = (__u64 )info.lo_init[1];
11326  }
11327#line 1380
11328  if (info.lo_encrypt_type == 18) {
11329#line 1381
11330    __len = 64UL;
11331#line 1381
11332    if (__len > 63UL) {
11333      {
11334#line 1381
11335      __cil_tmp14 = & info64->lo_crypt_name;
11336#line 1381
11337      __cil_tmp15 = (void *)__cil_tmp14;
11338#line 1381
11339      __cil_tmp16 = & info.lo_name;
11340#line 1381
11341      __cil_tmp17 = (void const   *)__cil_tmp16;
11342#line 1381
11343      __ret = __memcpy(__cil_tmp15, __cil_tmp17, __len);
11344      }
11345    } else {
11346      {
11347#line 1381
11348      __cil_tmp18 = & info64->lo_crypt_name;
11349#line 1381
11350      __cil_tmp19 = (void *)__cil_tmp18;
11351#line 1381
11352      __cil_tmp20 = & info.lo_name;
11353#line 1381
11354      __cil_tmp21 = (void const   *)__cil_tmp20;
11355#line 1381
11356      __ret = __builtin_memcpy(__cil_tmp19, __cil_tmp21, __len);
11357      }
11358    }
11359  } else {
11360#line 1383
11361    __len___0 = 64UL;
11362#line 1383
11363    if (__len___0 > 63UL) {
11364      {
11365#line 1383
11366      __cil_tmp22 = & info64->lo_file_name;
11367#line 1383
11368      __cil_tmp23 = (void *)__cil_tmp22;
11369#line 1383
11370      __cil_tmp24 = & info.lo_name;
11371#line 1383
11372      __cil_tmp25 = (void const   *)__cil_tmp24;
11373#line 1383
11374      __ret___0 = __memcpy(__cil_tmp23, __cil_tmp25, __len___0);
11375      }
11376    } else {
11377      {
11378#line 1383
11379      __cil_tmp26 = & info64->lo_file_name;
11380#line 1383
11381      __cil_tmp27 = (void *)__cil_tmp26;
11382#line 1383
11383      __cil_tmp28 = & info.lo_name;
11384#line 1383
11385      __cil_tmp29 = (void const   *)__cil_tmp28;
11386#line 1383
11387      __ret___0 = __builtin_memcpy(__cil_tmp27, __cil_tmp29, __len___0);
11388      }
11389    }
11390  }
11391#line 1384
11392  __len___1 = 32UL;
11393#line 1384
11394  if (__len___1 > 63UL) {
11395    {
11396#line 1384
11397    __cil_tmp30 = & info64->lo_encrypt_key;
11398#line 1384
11399    __cil_tmp31 = (void *)__cil_tmp30;
11400#line 1384
11401    __cil_tmp32 = & info.lo_encrypt_key;
11402#line 1384
11403    __cil_tmp33 = (void const   *)__cil_tmp32;
11404#line 1384
11405    __ret___1 = __memcpy(__cil_tmp31, __cil_tmp33, __len___1);
11406    }
11407  } else {
11408    {
11409#line 1384
11410    __cil_tmp34 = & info64->lo_encrypt_key;
11411#line 1384
11412    __cil_tmp35 = (void *)__cil_tmp34;
11413#line 1384
11414    __cil_tmp36 = & info.lo_encrypt_key;
11415#line 1384
11416    __cil_tmp37 = (void const   *)__cil_tmp36;
11417#line 1384
11418    __ret___1 = __builtin_memcpy(__cil_tmp35, __cil_tmp37, __len___1);
11419    }
11420  }
11421#line 1385
11422  return (0);
11423}
11424}
11425#line 1393 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
11426static int loop_info64_to_compat(struct loop_info64  const  *info64 , struct compat_loop_info *arg ) 
11427{ struct compat_loop_info info ;
11428  size_t __len ;
11429  void *__ret ;
11430  size_t __len___0 ;
11431  void *__ret___0 ;
11432  size_t __len___1 ;
11433  void *__ret___1 ;
11434  int tmp ;
11435  void *__cil_tmp11 ;
11436  __u32 __cil_tmp12 ;
11437  __u64 __cil_tmp13 ;
11438  __u64 __cil_tmp14 ;
11439  __u64 __cil_tmp15 ;
11440  __u64 __cil_tmp16 ;
11441  __u32 __cil_tmp17 ;
11442  __u32 __cil_tmp18 ;
11443  __u32 __cil_tmp19 ;
11444  __u64 __cil_tmp20 ;
11445  __u64 __cil_tmp21 ;
11446  char (*__cil_tmp22)[64U] ;
11447  void *__cil_tmp23 ;
11448  __u8 (*__cil_tmp24)[64U] ;
11449  void const   *__cil_tmp25 ;
11450  char (*__cil_tmp26)[64U] ;
11451  void *__cil_tmp27 ;
11452  __u8 (*__cil_tmp28)[64U] ;
11453  void const   *__cil_tmp29 ;
11454  char (*__cil_tmp30)[64U] ;
11455  void *__cil_tmp31 ;
11456  __u8 (*__cil_tmp32)[64U] ;
11457  void const   *__cil_tmp33 ;
11458  char (*__cil_tmp34)[64U] ;
11459  void *__cil_tmp35 ;
11460  __u8 (*__cil_tmp36)[64U] ;
11461  void const   *__cil_tmp37 ;
11462  unsigned char (*__cil_tmp38)[32U] ;
11463  void *__cil_tmp39 ;
11464  __u8 (*__cil_tmp40)[32U] ;
11465  void const   *__cil_tmp41 ;
11466  unsigned char (*__cil_tmp42)[32U] ;
11467  void *__cil_tmp43 ;
11468  __u8 (*__cil_tmp44)[32U] ;
11469  void const   *__cil_tmp45 ;
11470  __u64 __cil_tmp46 ;
11471  unsigned long long __cil_tmp47 ;
11472  unsigned long long __cil_tmp48 ;
11473  __u64 __cil_tmp49 ;
11474  unsigned long long __cil_tmp50 ;
11475  unsigned long long __cil_tmp51 ;
11476  __u64 __cil_tmp52 ;
11477  unsigned long long __cil_tmp53 ;
11478  unsigned long long __cil_tmp54 ;
11479  __u64 __cil_tmp55 ;
11480  unsigned long long __cil_tmp56 ;
11481  unsigned long long __cil_tmp57 ;
11482  __u64 __cil_tmp58 ;
11483  unsigned long long __cil_tmp59 ;
11484  __u64 __cil_tmp60 ;
11485  unsigned long long __cil_tmp61 ;
11486  void *__cil_tmp62 ;
11487  void const   *__cil_tmp63 ;
11488
11489  {
11490  {
11491#line 1398
11492  __cil_tmp11 = (void *)(& info);
11493#line 1398
11494  memset(__cil_tmp11, 0, 140UL);
11495#line 1399
11496  __cil_tmp12 = info64->lo_number;
11497#line 1399
11498  info.lo_number = (compat_int_t )__cil_tmp12;
11499#line 1400
11500  __cil_tmp13 = info64->lo_device;
11501#line 1400
11502  info.lo_device = (compat_dev_t )__cil_tmp13;
11503#line 1401
11504  __cil_tmp14 = info64->lo_inode;
11505#line 1401
11506  info.lo_inode = (compat_ulong_t )__cil_tmp14;
11507#line 1402
11508  __cil_tmp15 = info64->lo_rdevice;
11509#line 1402
11510  info.lo_rdevice = (compat_dev_t )__cil_tmp15;
11511#line 1403
11512  __cil_tmp16 = info64->lo_offset;
11513#line 1403
11514  info.lo_offset = (compat_int_t )__cil_tmp16;
11515#line 1404
11516  __cil_tmp17 = info64->lo_encrypt_type;
11517#line 1404
11518  info.lo_encrypt_type = (compat_int_t )__cil_tmp17;
11519#line 1405
11520  __cil_tmp18 = info64->lo_encrypt_key_size;
11521#line 1405
11522  info.lo_encrypt_key_size = (compat_int_t )__cil_tmp18;
11523#line 1406
11524  __cil_tmp19 = info64->lo_flags;
11525#line 1406
11526  info.lo_flags = (compat_int_t )__cil_tmp19;
11527#line 1407
11528  __cil_tmp20 = info64->lo_init[0];
11529#line 1407
11530  info.lo_init[0] = (compat_ulong_t )__cil_tmp20;
11531#line 1408
11532  __cil_tmp21 = info64->lo_init[1];
11533#line 1408
11534  info.lo_init[1] = (compat_ulong_t )__cil_tmp21;
11535  }
11536#line 1409
11537  if (info.lo_encrypt_type == 18) {
11538#line 1410
11539    __len = 64UL;
11540#line 1410
11541    if (__len > 63UL) {
11542      {
11543#line 1410
11544      __cil_tmp22 = & info.lo_name;
11545#line 1410
11546      __cil_tmp23 = (void *)__cil_tmp22;
11547#line 1410
11548      __cil_tmp24 = & info64->lo_crypt_name;
11549#line 1410
11550      __cil_tmp25 = (void const   *)__cil_tmp24;
11551#line 1410
11552      __ret = __memcpy(__cil_tmp23, __cil_tmp25, __len);
11553      }
11554    } else {
11555      {
11556#line 1410
11557      __cil_tmp26 = & info.lo_name;
11558#line 1410
11559      __cil_tmp27 = (void *)__cil_tmp26;
11560#line 1410
11561      __cil_tmp28 = & info64->lo_crypt_name;
11562#line 1410
11563      __cil_tmp29 = (void const   *)__cil_tmp28;
11564#line 1410
11565      __ret = __builtin_memcpy(__cil_tmp27, __cil_tmp29, __len);
11566      }
11567    }
11568  } else {
11569#line 1412
11570    __len___0 = 64UL;
11571#line 1412
11572    if (__len___0 > 63UL) {
11573      {
11574#line 1412
11575      __cil_tmp30 = & info.lo_name;
11576#line 1412
11577      __cil_tmp31 = (void *)__cil_tmp30;
11578#line 1412
11579      __cil_tmp32 = & info64->lo_file_name;
11580#line 1412
11581      __cil_tmp33 = (void const   *)__cil_tmp32;
11582#line 1412
11583      __ret___0 = __memcpy(__cil_tmp31, __cil_tmp33, __len___0);
11584      }
11585    } else {
11586      {
11587#line 1412
11588      __cil_tmp34 = & info.lo_name;
11589#line 1412
11590      __cil_tmp35 = (void *)__cil_tmp34;
11591#line 1412
11592      __cil_tmp36 = & info64->lo_file_name;
11593#line 1412
11594      __cil_tmp37 = (void const   *)__cil_tmp36;
11595#line 1412
11596      __ret___0 = __builtin_memcpy(__cil_tmp35, __cil_tmp37, __len___0);
11597      }
11598    }
11599  }
11600#line 1413
11601  __len___1 = 32UL;
11602#line 1413
11603  if (__len___1 > 63UL) {
11604    {
11605#line 1413
11606    __cil_tmp38 = & info.lo_encrypt_key;
11607#line 1413
11608    __cil_tmp39 = (void *)__cil_tmp38;
11609#line 1413
11610    __cil_tmp40 = & info64->lo_encrypt_key;
11611#line 1413
11612    __cil_tmp41 = (void const   *)__cil_tmp40;
11613#line 1413
11614    __ret___1 = __memcpy(__cil_tmp39, __cil_tmp41, __len___1);
11615    }
11616  } else {
11617    {
11618#line 1413
11619    __cil_tmp42 = & info.lo_encrypt_key;
11620#line 1413
11621    __cil_tmp43 = (void *)__cil_tmp42;
11622#line 1413
11623    __cil_tmp44 = & info64->lo_encrypt_key;
11624#line 1413
11625    __cil_tmp45 = (void const   *)__cil_tmp44;
11626#line 1413
11627    __ret___1 = __builtin_memcpy(__cil_tmp43, __cil_tmp45, __len___1);
11628    }
11629  }
11630  {
11631#line 1416
11632  __cil_tmp46 = info64->lo_device;
11633#line 1416
11634  __cil_tmp47 = (unsigned long long )__cil_tmp46;
11635#line 1416
11636  __cil_tmp48 = (unsigned long long )info.lo_device;
11637#line 1416
11638  if (__cil_tmp48 != __cil_tmp47) {
11639#line 1422
11640    return (-75);
11641  } else {
11642    {
11643#line 1416
11644    __cil_tmp49 = info64->lo_rdevice;
11645#line 1416
11646    __cil_tmp50 = (unsigned long long )__cil_tmp49;
11647#line 1416
11648    __cil_tmp51 = (unsigned long long )info.lo_rdevice;
11649#line 1416
11650    if (__cil_tmp51 != __cil_tmp50) {
11651#line 1422
11652      return (-75);
11653    } else {
11654      {
11655#line 1416
11656      __cil_tmp52 = info64->lo_inode;
11657#line 1416
11658      __cil_tmp53 = (unsigned long long )__cil_tmp52;
11659#line 1416
11660      __cil_tmp54 = (unsigned long long )info.lo_inode;
11661#line 1416
11662      if (__cil_tmp54 != __cil_tmp53) {
11663#line 1422
11664        return (-75);
11665      } else {
11666        {
11667#line 1416
11668        __cil_tmp55 = info64->lo_offset;
11669#line 1416
11670        __cil_tmp56 = (unsigned long long )__cil_tmp55;
11671#line 1416
11672        __cil_tmp57 = (unsigned long long )info.lo_offset;
11673#line 1416
11674        if (__cil_tmp57 != __cil_tmp56) {
11675#line 1422
11676          return (-75);
11677        } else {
11678          {
11679#line 1416
11680          __cil_tmp58 = info64->lo_init[0];
11681#line 1416
11682          __cil_tmp59 = (unsigned long long )info.lo_init[0];
11683#line 1416
11684          if (__cil_tmp59 != __cil_tmp58) {
11685#line 1422
11686            return (-75);
11687          } else {
11688            {
11689#line 1416
11690            __cil_tmp60 = info64->lo_init[1];
11691#line 1416
11692            __cil_tmp61 = (unsigned long long )info.lo_init[1];
11693#line 1416
11694            if (__cil_tmp61 != __cil_tmp60) {
11695#line 1422
11696              return (-75);
11697            } else {
11698
11699            }
11700            }
11701          }
11702          }
11703        }
11704        }
11705      }
11706      }
11707    }
11708    }
11709  }
11710  }
11711  {
11712#line 1424
11713  __cil_tmp62 = (void *)arg;
11714#line 1424
11715  __cil_tmp63 = (void const   *)(& info);
11716#line 1424
11717  tmp = copy_to_user(__cil_tmp62, __cil_tmp63, 140U);
11718  }
11719#line 1424
11720  if (tmp != 0) {
11721#line 1425
11722    return (-14);
11723  } else {
11724
11725  }
11726#line 1426
11727  return (0);
11728}
11729}
11730#line 1430 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
11731static int loop_set_status_compat(struct loop_device *lo , struct compat_loop_info  const  *arg ) 
11732{ struct loop_info64 info64 ;
11733  int ret ;
11734  int tmp ;
11735  struct loop_info64  const  *__cil_tmp6 ;
11736
11737  {
11738  {
11739#line 1436
11740  ret = loop_info64_from_compat(arg, & info64);
11741  }
11742#line 1437
11743  if (ret < 0) {
11744#line 1438
11745    return (ret);
11746  } else {
11747
11748  }
11749  {
11750#line 1439
11751  __cil_tmp6 = (struct loop_info64  const  *)(& info64);
11752#line 1439
11753  tmp = loop_set_status(lo, __cil_tmp6);
11754  }
11755#line 1439
11756  return (tmp);
11757}
11758}
11759#line 1443 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
11760static int loop_get_status_compat(struct loop_device *lo , struct compat_loop_info *arg ) 
11761{ struct loop_info64 info64 ;
11762  int err ;
11763  struct compat_loop_info *__cil_tmp5 ;
11764  unsigned long __cil_tmp6 ;
11765  unsigned long __cil_tmp7 ;
11766  struct loop_info64  const  *__cil_tmp8 ;
11767
11768  {
11769#line 1447
11770  err = 0;
11771  {
11772#line 1449
11773  __cil_tmp5 = (struct compat_loop_info *)0;
11774#line 1449
11775  __cil_tmp6 = (unsigned long )__cil_tmp5;
11776#line 1449
11777  __cil_tmp7 = (unsigned long )arg;
11778#line 1449
11779  if (__cil_tmp7 == __cil_tmp6) {
11780#line 1450
11781    err = -22;
11782  } else {
11783
11784  }
11785  }
11786#line 1451
11787  if (err == 0) {
11788    {
11789#line 1452
11790    err = loop_get_status(lo, & info64);
11791    }
11792  } else {
11793
11794  }
11795#line 1453
11796  if (err == 0) {
11797    {
11798#line 1454
11799    __cil_tmp8 = (struct loop_info64  const  *)(& info64);
11800#line 1454
11801    err = loop_info64_to_compat(__cil_tmp8, arg);
11802    }
11803  } else {
11804
11805  }
11806#line 1455
11807  return (err);
11808}
11809}
11810#line 1458 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
11811static int lo_compat_ioctl(struct block_device *bdev , fmode_t mode , unsigned int cmd ,
11812                           unsigned long arg ) 
11813{ struct loop_device *lo ;
11814  int err ;
11815  void *tmp ;
11816  struct gendisk *__cil_tmp8 ;
11817  void *__cil_tmp9 ;
11818  int __cil_tmp10 ;
11819  int __cil_tmp11 ;
11820  int __cil_tmp12 ;
11821  int __cil_tmp13 ;
11822  int __cil_tmp14 ;
11823  int __cil_tmp15 ;
11824  int __cil_tmp16 ;
11825  int __cil_tmp17 ;
11826  struct mutex *__cil_tmp18 ;
11827  struct compat_loop_info  const  *__cil_tmp19 ;
11828  struct mutex *__cil_tmp20 ;
11829  struct mutex *__cil_tmp21 ;
11830  struct compat_loop_info *__cil_tmp22 ;
11831  struct mutex *__cil_tmp23 ;
11832  compat_uptr_t __cil_tmp24 ;
11833
11834  {
11835#line 1461
11836  __cil_tmp8 = bdev->bd_disk;
11837#line 1461
11838  __cil_tmp9 = __cil_tmp8->private_data;
11839#line 1461
11840  lo = (struct loop_device *)__cil_tmp9;
11841  {
11842#line 1465
11843  __cil_tmp10 = (int )cmd;
11844#line 1465
11845  if (__cil_tmp10 == 19458) {
11846#line 1465
11847    goto case_19458;
11848  } else {
11849    {
11850#line 1471
11851    __cil_tmp11 = (int )cmd;
11852#line 1471
11853    if (__cil_tmp11 == 19459) {
11854#line 1471
11855      goto case_19459;
11856    } else {
11857      {
11858#line 1477
11859      __cil_tmp12 = (int )cmd;
11860#line 1477
11861      if (__cil_tmp12 == 19463) {
11862#line 1477
11863        goto case_19463;
11864      } else {
11865        {
11866#line 1478
11867        __cil_tmp13 = (int )cmd;
11868#line 1478
11869        if (__cil_tmp13 == 19457) {
11870#line 1478
11871          goto case_19457;
11872        } else {
11873          {
11874#line 1479
11875          __cil_tmp14 = (int )cmd;
11876#line 1479
11877          if (__cil_tmp14 == 19461) {
11878#line 1479
11879            goto case_19461;
11880          } else {
11881            {
11882#line 1480
11883            __cil_tmp15 = (int )cmd;
11884#line 1480
11885            if (__cil_tmp15 == 19460) {
11886#line 1480
11887              goto case_19460;
11888            } else {
11889              {
11890#line 1482
11891              __cil_tmp16 = (int )cmd;
11892#line 1482
11893              if (__cil_tmp16 == 19456) {
11894#line 1482
11895                goto case_19456;
11896              } else {
11897                {
11898#line 1483
11899                __cil_tmp17 = (int )cmd;
11900#line 1483
11901                if (__cil_tmp17 == 19462) {
11902#line 1483
11903                  goto case_19462;
11904                } else {
11905#line 1486
11906                  goto switch_default;
11907#line 1464
11908                  if (0) {
11909                    case_19458: 
11910                    {
11911#line 1466
11912                    __cil_tmp18 = & lo->lo_ctl_mutex;
11913#line 1466
11914                    mutex_lock_nested(__cil_tmp18, 0U);
11915#line 1467
11916                    __cil_tmp19 = (struct compat_loop_info  const  *)arg;
11917#line 1467
11918                    err = loop_set_status_compat(lo, __cil_tmp19);
11919#line 1469
11920                    __cil_tmp20 = & lo->lo_ctl_mutex;
11921#line 1469
11922                    mutex_unlock(__cil_tmp20);
11923                    }
11924#line 1470
11925                    goto ldv_30916;
11926                    case_19459: 
11927                    {
11928#line 1472
11929                    __cil_tmp21 = & lo->lo_ctl_mutex;
11930#line 1472
11931                    mutex_lock_nested(__cil_tmp21, 0U);
11932#line 1473
11933                    __cil_tmp22 = (struct compat_loop_info *)arg;
11934#line 1473
11935                    err = loop_get_status_compat(lo, __cil_tmp22);
11936#line 1475
11937                    __cil_tmp23 = & lo->lo_ctl_mutex;
11938#line 1475
11939                    mutex_unlock(__cil_tmp23);
11940                    }
11941#line 1476
11942                    goto ldv_30916;
11943                    case_19463: ;
11944                    case_19457: ;
11945                    case_19461: ;
11946                    case_19460: 
11947                    {
11948#line 1481
11949                    __cil_tmp24 = (compat_uptr_t )arg;
11950#line 1481
11951                    tmp = compat_ptr(__cil_tmp24);
11952#line 1481
11953                    arg = (unsigned long )tmp;
11954                    }
11955                    case_19456: ;
11956                    case_19462: 
11957                    {
11958#line 1484
11959                    err = lo_ioctl(bdev, mode, cmd, arg);
11960                    }
11961#line 1485
11962                    goto ldv_30916;
11963                    switch_default: 
11964#line 1487
11965                    err = -515;
11966#line 1488
11967                    goto ldv_30916;
11968                  } else {
11969
11970                  }
11971                }
11972                }
11973              }
11974              }
11975            }
11976            }
11977          }
11978          }
11979        }
11980        }
11981      }
11982      }
11983    }
11984    }
11985  }
11986  }
11987  ldv_30916: ;
11988#line 1490
11989  return (err);
11990}
11991}
11992#line 1494 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
11993static int lo_open(struct block_device *bdev , fmode_t mode ) 
11994{ struct loop_device *lo ;
11995  struct gendisk *__cil_tmp4 ;
11996  void *__cil_tmp5 ;
11997  struct mutex *__cil_tmp6 ;
11998  int __cil_tmp7 ;
11999  struct mutex *__cil_tmp8 ;
12000
12001  {
12002  {
12003#line 1496
12004  __cil_tmp4 = bdev->bd_disk;
12005#line 1496
12006  __cil_tmp5 = __cil_tmp4->private_data;
12007#line 1496
12008  lo = (struct loop_device *)__cil_tmp5;
12009#line 1498
12010  __cil_tmp6 = & lo->lo_ctl_mutex;
12011#line 1498
12012  mutex_lock_nested(__cil_tmp6, 0U);
12013#line 1499
12014  __cil_tmp7 = lo->lo_refcnt;
12015#line 1499
12016  lo->lo_refcnt = __cil_tmp7 + 1;
12017#line 1500
12018  __cil_tmp8 = & lo->lo_ctl_mutex;
12019#line 1500
12020  mutex_unlock(__cil_tmp8);
12021  }
12022#line 1502
12023  return (0);
12024}
12025}
12026#line 1505 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12027static int lo_release(struct gendisk *disk , fmode_t mode ) 
12028{ struct loop_device *lo ;
12029  int err ;
12030  void *__cil_tmp5 ;
12031  struct mutex *__cil_tmp6 ;
12032  int __cil_tmp7 ;
12033  int __cil_tmp8 ;
12034  int __cil_tmp9 ;
12035  int __cil_tmp10 ;
12036  struct block_device *__cil_tmp11 ;
12037  struct mutex *__cil_tmp12 ;
12038
12039  {
12040  {
12041#line 1507
12042  __cil_tmp5 = disk->private_data;
12043#line 1507
12044  lo = (struct loop_device *)__cil_tmp5;
12045#line 1510
12046  __cil_tmp6 = & lo->lo_ctl_mutex;
12047#line 1510
12048  mutex_lock_nested(__cil_tmp6, 0U);
12049#line 1512
12050  __cil_tmp7 = lo->lo_refcnt;
12051#line 1512
12052  lo->lo_refcnt = __cil_tmp7 - 1;
12053  }
12054  {
12055#line 1512
12056  __cil_tmp8 = lo->lo_refcnt;
12057#line 1512
12058  if (__cil_tmp8 != 0) {
12059#line 1513
12060    goto out;
12061  } else {
12062
12063  }
12064  }
12065  {
12066#line 1515
12067  __cil_tmp9 = lo->lo_flags;
12068#line 1515
12069  __cil_tmp10 = __cil_tmp9 & 4;
12070#line 1515
12071  if (__cil_tmp10 != 0) {
12072    {
12073#line 1520
12074    __cil_tmp11 = (struct block_device *)0;
12075#line 1520
12076    err = loop_clr_fd(lo, __cil_tmp11);
12077    }
12078#line 1521
12079    if (err == 0) {
12080#line 1522
12081      goto out_unlocked;
12082    } else {
12083
12084    }
12085  } else {
12086    {
12087#line 1528
12088    loop_flush(lo);
12089    }
12090  }
12091  }
12092  out: 
12093  {
12094#line 1532
12095  __cil_tmp12 = & lo->lo_ctl_mutex;
12096#line 1532
12097  mutex_unlock(__cil_tmp12);
12098  }
12099  out_unlocked: ;
12100#line 1534
12101  return (0);
12102}
12103}
12104#line 1537 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12105static struct block_device_operations  const  lo_fops  = 
12106#line 1537
12107     {& lo_open, & lo_release, & lo_ioctl, & lo_compat_ioctl, (int (*)(struct block_device * ,
12108                                                                     sector_t  , void ** ,
12109                                                                     unsigned long * ))0,
12110    (unsigned int (*)(struct gendisk * , unsigned int  ))0, (int (*)(struct gendisk * ))0,
12111    (void (*)(struct gendisk * ))0, (int (*)(struct gendisk * ))0, (int (*)(struct block_device * ,
12112                                                                            struct hd_geometry * ))0,
12113    (void (*)(struct block_device * , unsigned long  ))0, & __this_module};
12114#line 1550 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12115static int max_loop  ;
12116#line 1558 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12117int loop_register_transfer(struct loop_func_table *funcs ) 
12118{ unsigned int n ;
12119  int __cil_tmp3 ;
12120  struct loop_func_table *__cil_tmp4 ;
12121  unsigned long __cil_tmp5 ;
12122  unsigned long __cil_tmp6 ;
12123
12124  {
12125#line 1560
12126  __cil_tmp3 = funcs->number;
12127#line 1560
12128  n = (unsigned int )__cil_tmp3;
12129#line 1562
12130  if (n > 19U) {
12131#line 1563
12132    return (-22);
12133  } else {
12134    {
12135#line 1562
12136    __cil_tmp4 = (struct loop_func_table *)0;
12137#line 1562
12138    __cil_tmp5 = (unsigned long )__cil_tmp4;
12139#line 1562
12140    __cil_tmp6 = (unsigned long )xfer_funcs[n];
12141#line 1562
12142    if (__cil_tmp6 != __cil_tmp5) {
12143#line 1563
12144      return (-22);
12145    } else {
12146
12147    }
12148    }
12149  }
12150#line 1564
12151  xfer_funcs[n] = funcs;
12152#line 1565
12153  return (0);
12154}
12155}
12156#line 1568 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12157int loop_unregister_transfer(int number ) 
12158{ unsigned int n ;
12159  struct loop_device *lo ;
12160  struct loop_func_table *xfer ;
12161  struct list_head  const  *__mptr ;
12162  struct list_head  const  *__mptr___0 ;
12163  struct loop_func_table *__cil_tmp7 ;
12164  unsigned long __cil_tmp8 ;
12165  unsigned long __cil_tmp9 ;
12166  struct loop_device *__cil_tmp10 ;
12167  struct mutex *__cil_tmp11 ;
12168  unsigned long __cil_tmp12 ;
12169  struct loop_func_table *__cil_tmp13 ;
12170  unsigned long __cil_tmp14 ;
12171  struct mutex *__cil_tmp15 ;
12172  struct list_head *__cil_tmp16 ;
12173  struct loop_device *__cil_tmp17 ;
12174  unsigned long __cil_tmp18 ;
12175  struct list_head *__cil_tmp19 ;
12176  unsigned long __cil_tmp20 ;
12177
12178  {
12179#line 1570
12180  n = (unsigned int )number;
12181#line 1574
12182  if (n == 0U) {
12183#line 1575
12184    return (-22);
12185  } else
12186#line 1574
12187  if (n > 19U) {
12188#line 1575
12189    return (-22);
12190  } else {
12191#line 1574
12192    xfer = xfer_funcs[n];
12193    {
12194#line 1574
12195    __cil_tmp7 = (struct loop_func_table *)0;
12196#line 1574
12197    __cil_tmp8 = (unsigned long )__cil_tmp7;
12198#line 1574
12199    __cil_tmp9 = (unsigned long )xfer;
12200#line 1574
12201    if (__cil_tmp9 == __cil_tmp8) {
12202#line 1575
12203      return (-22);
12204    } else {
12205
12206    }
12207    }
12208  }
12209#line 1577
12210  xfer_funcs[n] = (struct loop_func_table *)0;
12211#line 1579
12212  __mptr = (struct list_head  const  *)loop_devices.next;
12213#line 1579
12214  __cil_tmp10 = (struct loop_device *)__mptr;
12215#line 1579
12216  lo = __cil_tmp10 + 1152921504606846320UL;
12217#line 1579
12218  goto ldv_30981;
12219  ldv_30980: 
12220  {
12221#line 1580
12222  __cil_tmp11 = & lo->lo_ctl_mutex;
12223#line 1580
12224  mutex_lock_nested(__cil_tmp11, 0U);
12225  }
12226  {
12227#line 1582
12228  __cil_tmp12 = (unsigned long )xfer;
12229#line 1582
12230  __cil_tmp13 = lo->lo_encryption;
12231#line 1582
12232  __cil_tmp14 = (unsigned long )__cil_tmp13;
12233#line 1582
12234  if (__cil_tmp14 == __cil_tmp12) {
12235    {
12236#line 1583
12237    loop_release_xfer(lo);
12238    }
12239  } else {
12240
12241  }
12242  }
12243  {
12244#line 1585
12245  __cil_tmp15 = & lo->lo_ctl_mutex;
12246#line 1585
12247  mutex_unlock(__cil_tmp15);
12248#line 1579
12249  __cil_tmp16 = lo->lo_list.next;
12250#line 1579
12251  __mptr___0 = (struct list_head  const  *)__cil_tmp16;
12252#line 1579
12253  __cil_tmp17 = (struct loop_device *)__mptr___0;
12254#line 1579
12255  lo = __cil_tmp17 + 1152921504606846320UL;
12256  }
12257  ldv_30981: ;
12258  {
12259#line 1579
12260  __cil_tmp18 = (unsigned long )(& loop_devices);
12261#line 1579
12262  __cil_tmp19 = & lo->lo_list;
12263#line 1579
12264  __cil_tmp20 = (unsigned long )__cil_tmp19;
12265#line 1579
12266  if (__cil_tmp20 != __cil_tmp18) {
12267#line 1580
12268    goto ldv_30980;
12269  } else {
12270#line 1582
12271    goto ldv_30982;
12272  }
12273  }
12274  ldv_30982: ;
12275#line 1588
12276  return (0);
12277}
12278}
12279#line 1594 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12280static struct loop_device *loop_alloc(int i ) 
12281{ struct loop_device *lo ;
12282  struct gendisk *disk ;
12283  void *tmp ;
12284  struct gendisk *tmp___0 ;
12285  struct lock_class_key __key ;
12286  struct lock_class_key __key___0 ;
12287  struct lock_class_key __key___1 ;
12288  struct loop_device *__cil_tmp9 ;
12289  unsigned long __cil_tmp10 ;
12290  unsigned long __cil_tmp11 ;
12291  struct request_queue *__cil_tmp12 ;
12292  unsigned long __cil_tmp13 ;
12293  struct request_queue *__cil_tmp14 ;
12294  unsigned long __cil_tmp15 ;
12295  int __cil_tmp16 ;
12296  struct gendisk *__cil_tmp17 ;
12297  unsigned long __cil_tmp18 ;
12298  unsigned long __cil_tmp19 ;
12299  struct mutex *__cil_tmp20 ;
12300  wait_queue_head_t *__cil_tmp21 ;
12301  spinlock_t *__cil_tmp22 ;
12302  struct raw_spinlock *__cil_tmp23 ;
12303  char (*__cil_tmp24)[32U] ;
12304  char *__cil_tmp25 ;
12305  struct request_queue *__cil_tmp26 ;
12306  void const   *__cil_tmp27 ;
12307
12308  {
12309  {
12310#line 1599
12311  tmp = kzalloc(672UL, 208U);
12312#line 1599
12313  lo = (struct loop_device *)tmp;
12314  }
12315  {
12316#line 1600
12317  __cil_tmp9 = (struct loop_device *)0;
12318#line 1600
12319  __cil_tmp10 = (unsigned long )__cil_tmp9;
12320#line 1600
12321  __cil_tmp11 = (unsigned long )lo;
12322#line 1600
12323  if (__cil_tmp11 == __cil_tmp10) {
12324#line 1601
12325    goto out;
12326  } else {
12327
12328  }
12329  }
12330  {
12331#line 1603
12332  lo->lo_queue = blk_alloc_queue(208U);
12333  }
12334  {
12335#line 1604
12336  __cil_tmp12 = (struct request_queue *)0;
12337#line 1604
12338  __cil_tmp13 = (unsigned long )__cil_tmp12;
12339#line 1604
12340  __cil_tmp14 = lo->lo_queue;
12341#line 1604
12342  __cil_tmp15 = (unsigned long )__cil_tmp14;
12343#line 1604
12344  if (__cil_tmp15 == __cil_tmp13) {
12345#line 1605
12346    goto out_free_dev;
12347  } else {
12348
12349  }
12350  }
12351  {
12352#line 1607
12353  __cil_tmp16 = 1 << part_shift;
12354#line 1607
12355  tmp___0 = alloc_disk(__cil_tmp16);
12356#line 1607
12357  lo->lo_disk = tmp___0;
12358#line 1607
12359  disk = tmp___0;
12360  }
12361  {
12362#line 1608
12363  __cil_tmp17 = (struct gendisk *)0;
12364#line 1608
12365  __cil_tmp18 = (unsigned long )__cil_tmp17;
12366#line 1608
12367  __cil_tmp19 = (unsigned long )disk;
12368#line 1608
12369  if (__cil_tmp19 == __cil_tmp18) {
12370#line 1609
12371    goto out_free_queue;
12372  } else {
12373
12374  }
12375  }
12376  {
12377#line 1611
12378  __cil_tmp20 = & lo->lo_ctl_mutex;
12379#line 1611
12380  __mutex_init(__cil_tmp20, "&lo->lo_ctl_mutex", & __key);
12381#line 1612
12382  lo->lo_number = i;
12383#line 1613
12384  lo->lo_thread = (struct task_struct *)0;
12385#line 1614
12386  __cil_tmp21 = & lo->lo_event;
12387#line 1614
12388  __init_waitqueue_head(__cil_tmp21, & __key___0);
12389#line 1615
12390  __cil_tmp22 = & lo->lo_lock;
12391#line 1615
12392  spinlock_check(__cil_tmp22);
12393#line 1615
12394  __cil_tmp23 = & lo->lo_lock.ldv_6060.rlock;
12395#line 1615
12396  __raw_spin_lock_init(__cil_tmp23, "&(&lo->lo_lock)->rlock", & __key___1);
12397#line 1616
12398  disk->major = 7;
12399#line 1617
12400  disk->first_minor = i << part_shift;
12401#line 1618
12402  disk->fops = & lo_fops;
12403#line 1619
12404  disk->private_data = (void *)lo;
12405#line 1620
12406  disk->queue = lo->lo_queue;
12407#line 1621
12408  __cil_tmp24 = & disk->disk_name;
12409#line 1621
12410  __cil_tmp25 = (char *)__cil_tmp24;
12411#line 1621
12412  sprintf(__cil_tmp25, "loop%d", i);
12413  }
12414#line 1622
12415  return (lo);
12416  out_free_queue: 
12417  {
12418#line 1625
12419  __cil_tmp26 = lo->lo_queue;
12420#line 1625
12421  blk_cleanup_queue(__cil_tmp26);
12422  }
12423  out_free_dev: 
12424  {
12425#line 1627
12426  __cil_tmp27 = (void const   *)lo;
12427#line 1627
12428  kfree(__cil_tmp27);
12429  }
12430  out: ;
12431#line 1629
12432  return ((struct loop_device *)0);
12433}
12434}
12435#line 1632 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12436static void loop_free(struct loop_device *lo ) 
12437{ struct request_queue *__cil_tmp2 ;
12438  struct gendisk *__cil_tmp3 ;
12439  struct list_head *__cil_tmp4 ;
12440  void const   *__cil_tmp5 ;
12441
12442  {
12443  {
12444#line 1634
12445  __cil_tmp2 = lo->lo_queue;
12446#line 1634
12447  blk_cleanup_queue(__cil_tmp2);
12448#line 1635
12449  __cil_tmp3 = lo->lo_disk;
12450#line 1635
12451  put_disk(__cil_tmp3);
12452#line 1636
12453  __cil_tmp4 = & lo->lo_list;
12454#line 1636
12455  list_del(__cil_tmp4);
12456#line 1637
12457  __cil_tmp5 = (void const   *)lo;
12458#line 1637
12459  kfree(__cil_tmp5);
12460  }
12461#line 1638
12462  return;
12463}
12464}
12465#line 1640 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12466static struct loop_device *loop_init_one(int i ) 
12467{ struct loop_device *lo ;
12468  struct list_head  const  *__mptr ;
12469  struct list_head  const  *__mptr___0 ;
12470  struct loop_device *__cil_tmp5 ;
12471  int __cil_tmp6 ;
12472  struct list_head *__cil_tmp7 ;
12473  struct loop_device *__cil_tmp8 ;
12474  unsigned long __cil_tmp9 ;
12475  struct list_head *__cil_tmp10 ;
12476  unsigned long __cil_tmp11 ;
12477  struct loop_device *__cil_tmp12 ;
12478  unsigned long __cil_tmp13 ;
12479  unsigned long __cil_tmp14 ;
12480  struct gendisk *__cil_tmp15 ;
12481  struct list_head *__cil_tmp16 ;
12482
12483  {
12484#line 1644
12485  __mptr = (struct list_head  const  *)loop_devices.next;
12486#line 1644
12487  __cil_tmp5 = (struct loop_device *)__mptr;
12488#line 1644
12489  lo = __cil_tmp5 + 1152921504606846320UL;
12490#line 1644
12491  goto ldv_31018;
12492  ldv_31017: ;
12493  {
12494#line 1645
12495  __cil_tmp6 = lo->lo_number;
12496#line 1645
12497  if (__cil_tmp6 == i) {
12498#line 1646
12499    return (lo);
12500  } else {
12501
12502  }
12503  }
12504#line 1644
12505  __cil_tmp7 = lo->lo_list.next;
12506#line 1644
12507  __mptr___0 = (struct list_head  const  *)__cil_tmp7;
12508#line 1644
12509  __cil_tmp8 = (struct loop_device *)__mptr___0;
12510#line 1644
12511  lo = __cil_tmp8 + 1152921504606846320UL;
12512  ldv_31018: ;
12513  {
12514#line 1644
12515  __cil_tmp9 = (unsigned long )(& loop_devices);
12516#line 1644
12517  __cil_tmp10 = & lo->lo_list;
12518#line 1644
12519  __cil_tmp11 = (unsigned long )__cil_tmp10;
12520#line 1644
12521  if (__cil_tmp11 != __cil_tmp9) {
12522#line 1645
12523    goto ldv_31017;
12524  } else {
12525#line 1647
12526    goto ldv_31019;
12527  }
12528  }
12529  ldv_31019: 
12530  {
12531#line 1649
12532  lo = loop_alloc(i);
12533  }
12534  {
12535#line 1650
12536  __cil_tmp12 = (struct loop_device *)0;
12537#line 1650
12538  __cil_tmp13 = (unsigned long )__cil_tmp12;
12539#line 1650
12540  __cil_tmp14 = (unsigned long )lo;
12541#line 1650
12542  if (__cil_tmp14 != __cil_tmp13) {
12543    {
12544#line 1651
12545    __cil_tmp15 = lo->lo_disk;
12546#line 1651
12547    add_disk(__cil_tmp15);
12548#line 1652
12549    __cil_tmp16 = & lo->lo_list;
12550#line 1652
12551    list_add_tail(__cil_tmp16, & loop_devices);
12552    }
12553  } else {
12554
12555  }
12556  }
12557#line 1654
12558  return (lo);
12559}
12560}
12561#line 1657 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12562static void loop_del_one(struct loop_device *lo ) 
12563{ struct gendisk *__cil_tmp2 ;
12564
12565  {
12566  {
12567#line 1659
12568  __cil_tmp2 = lo->lo_disk;
12569#line 1659
12570  del_gendisk(__cil_tmp2);
12571#line 1660
12572  loop_free(lo);
12573  }
12574#line 1661
12575  return;
12576}
12577}
12578#line 1663 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12579static struct kobject *loop_probe(dev_t dev , int *part , void *data ) 
12580{ struct loop_device *lo ;
12581  struct kobject *kobj ;
12582  struct kobject *tmp ;
12583  void *tmp___0 ;
12584  unsigned int __cil_tmp8 ;
12585  unsigned int __cil_tmp9 ;
12586  int __cil_tmp10 ;
12587  struct loop_device *__cil_tmp11 ;
12588  unsigned long __cil_tmp12 ;
12589  unsigned long __cil_tmp13 ;
12590  struct gendisk *__cil_tmp14 ;
12591
12592  {
12593  {
12594#line 1668
12595  mutex_lock_nested(& loop_devices_mutex, 0U);
12596#line 1669
12597  __cil_tmp8 = dev & 1048575U;
12598#line 1669
12599  __cil_tmp9 = __cil_tmp8 >> part_shift;
12600#line 1669
12601  __cil_tmp10 = (int )__cil_tmp9;
12602#line 1669
12603  lo = loop_init_one(__cil_tmp10);
12604  }
12605  {
12606#line 1670
12607  __cil_tmp11 = (struct loop_device *)0;
12608#line 1670
12609  __cil_tmp12 = (unsigned long )__cil_tmp11;
12610#line 1670
12611  __cil_tmp13 = (unsigned long )lo;
12612#line 1670
12613  if (__cil_tmp13 != __cil_tmp12) {
12614    {
12615#line 1670
12616    __cil_tmp14 = lo->lo_disk;
12617#line 1670
12618    tmp = get_disk(__cil_tmp14);
12619#line 1670
12620    kobj = tmp;
12621    }
12622  } else {
12623    {
12624#line 1670
12625    tmp___0 = ERR_PTR(-12L);
12626#line 1670
12627    kobj = (struct kobject *)tmp___0;
12628    }
12629  }
12630  }
12631  {
12632#line 1671
12633  mutex_unlock(& loop_devices_mutex);
12634#line 1673
12635  *part = 0;
12636  }
12637#line 1674
12638  return (kobj);
12639}
12640}
12641#line 1677 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12642static int loop_init(void) 
12643{ int i ;
12644  int nr ;
12645  unsigned long range ;
12646  struct loop_device *lo ;
12647  struct loop_device *next ;
12648  int tmp ;
12649  struct list_head  const  *__mptr ;
12650  struct list_head  const  *__mptr___0 ;
12651  struct list_head  const  *__mptr___1 ;
12652  struct list_head  const  *__mptr___2 ;
12653  struct list_head  const  *__mptr___3 ;
12654  unsigned long __cil_tmp12 ;
12655  unsigned int __cil_tmp13 ;
12656  unsigned int __cil_tmp14 ;
12657  unsigned long __cil_tmp15 ;
12658  int __cil_tmp16 ;
12659  unsigned long __cil_tmp17 ;
12660  unsigned long __cil_tmp18 ;
12661  int __cil_tmp19 ;
12662  struct loop_device *__cil_tmp20 ;
12663  unsigned long __cil_tmp21 ;
12664  unsigned long __cil_tmp22 ;
12665  struct list_head *__cil_tmp23 ;
12666  struct loop_device *__cil_tmp24 ;
12667  struct gendisk *__cil_tmp25 ;
12668  struct list_head *__cil_tmp26 ;
12669  struct loop_device *__cil_tmp27 ;
12670  unsigned long __cil_tmp28 ;
12671  struct list_head *__cil_tmp29 ;
12672  unsigned long __cil_tmp30 ;
12673  int (*__cil_tmp31)(dev_t  , void * ) ;
12674  void *__cil_tmp32 ;
12675  struct loop_device *__cil_tmp33 ;
12676  struct list_head *__cil_tmp34 ;
12677  struct loop_device *__cil_tmp35 ;
12678  struct list_head *__cil_tmp36 ;
12679  struct loop_device *__cil_tmp37 ;
12680  unsigned long __cil_tmp38 ;
12681  struct list_head *__cil_tmp39 ;
12682  unsigned long __cil_tmp40 ;
12683
12684  {
12685#line 1698
12686  part_shift = 0;
12687#line 1699
12688  if (max_part > 0) {
12689    {
12690#line 1700
12691    part_shift = fls(max_part);
12692#line 1710
12693    __cil_tmp12 = 1UL << part_shift;
12694#line 1710
12695    __cil_tmp13 = (unsigned int )__cil_tmp12;
12696#line 1710
12697    __cil_tmp14 = __cil_tmp13 - 1U;
12698#line 1710
12699    max_part = (int )__cil_tmp14;
12700    }
12701  } else {
12702
12703  }
12704  {
12705#line 1713
12706  __cil_tmp15 = 1UL << part_shift;
12707#line 1713
12708  if (__cil_tmp15 > 256UL) {
12709#line 1714
12710    return (-22);
12711  } else {
12712
12713  }
12714  }
12715  {
12716#line 1716
12717  __cil_tmp16 = 20 - part_shift;
12718#line 1716
12719  __cil_tmp17 = 1UL << __cil_tmp16;
12720#line 1716
12721  __cil_tmp18 = (unsigned long )max_loop;
12722#line 1716
12723  if (__cil_tmp18 > __cil_tmp17) {
12724#line 1717
12725    return (-22);
12726  } else {
12727
12728  }
12729  }
12730#line 1719
12731  if (max_loop != 0) {
12732#line 1720
12733    nr = max_loop;
12734#line 1721
12735    __cil_tmp19 = max_loop << part_shift;
12736#line 1721
12737    range = (unsigned long )__cil_tmp19;
12738  } else {
12739#line 1723
12740    nr = 8;
12741#line 1724
12742    range = 1048576UL;
12743  }
12744  {
12745#line 1727
12746  tmp = register_blkdev(7U, "loop");
12747  }
12748#line 1727
12749  if (tmp != 0) {
12750#line 1728
12751    return (-5);
12752  } else {
12753
12754  }
12755#line 1730
12756  i = 0;
12757#line 1730
12758  goto ldv_31040;
12759  ldv_31039: 
12760  {
12761#line 1731
12762  lo = loop_alloc(i);
12763  }
12764  {
12765#line 1732
12766  __cil_tmp20 = (struct loop_device *)0;
12767#line 1732
12768  __cil_tmp21 = (unsigned long )__cil_tmp20;
12769#line 1732
12770  __cil_tmp22 = (unsigned long )lo;
12771#line 1732
12772  if (__cil_tmp22 == __cil_tmp21) {
12773#line 1733
12774    goto Enomem;
12775  } else {
12776
12777  }
12778  }
12779  {
12780#line 1734
12781  __cil_tmp23 = & lo->lo_list;
12782#line 1734
12783  list_add_tail(__cil_tmp23, & loop_devices);
12784#line 1730
12785  i = i + 1;
12786  }
12787  ldv_31040: ;
12788#line 1730
12789  if (i < nr) {
12790#line 1731
12791    goto ldv_31039;
12792  } else {
12793#line 1733
12794    goto ldv_31041;
12795  }
12796  ldv_31041: 
12797#line 1739
12798  __mptr = (struct list_head  const  *)loop_devices.next;
12799#line 1739
12800  __cil_tmp24 = (struct loop_device *)__mptr;
12801#line 1739
12802  lo = __cil_tmp24 + 1152921504606846320UL;
12803#line 1739
12804  goto ldv_31047;
12805  ldv_31046: 
12806  {
12807#line 1740
12808  __cil_tmp25 = lo->lo_disk;
12809#line 1740
12810  add_disk(__cil_tmp25);
12811#line 1739
12812  __cil_tmp26 = lo->lo_list.next;
12813#line 1739
12814  __mptr___0 = (struct list_head  const  *)__cil_tmp26;
12815#line 1739
12816  __cil_tmp27 = (struct loop_device *)__mptr___0;
12817#line 1739
12818  lo = __cil_tmp27 + 1152921504606846320UL;
12819  }
12820  ldv_31047: ;
12821  {
12822#line 1739
12823  __cil_tmp28 = (unsigned long )(& loop_devices);
12824#line 1739
12825  __cil_tmp29 = & lo->lo_list;
12826#line 1739
12827  __cil_tmp30 = (unsigned long )__cil_tmp29;
12828#line 1739
12829  if (__cil_tmp30 != __cil_tmp28) {
12830#line 1740
12831    goto ldv_31046;
12832  } else {
12833#line 1742
12834    goto ldv_31048;
12835  }
12836  }
12837  ldv_31048: 
12838  {
12839#line 1742
12840  __cil_tmp31 = (int (*)(dev_t  , void * ))0;
12841#line 1742
12842  __cil_tmp32 = (void *)0;
12843#line 1742
12844  blk_register_region(7340032U, range, & __this_module, & loop_probe, __cil_tmp31,
12845                      __cil_tmp32);
12846#line 1745
12847  printk("<6>loop: module loaded\n");
12848  }
12849#line 1746
12850  return (0);
12851  Enomem: 
12852  {
12853#line 1749
12854  printk("<6>loop: out of memory\n");
12855#line 1751
12856  __mptr___1 = (struct list_head  const  *)loop_devices.next;
12857#line 1751
12858  __cil_tmp33 = (struct loop_device *)__mptr___1;
12859#line 1751
12860  lo = __cil_tmp33 + 1152921504606846320UL;
12861#line 1751
12862  __cil_tmp34 = lo->lo_list.next;
12863#line 1751
12864  __mptr___2 = (struct list_head  const  *)__cil_tmp34;
12865#line 1751
12866  __cil_tmp35 = (struct loop_device *)__mptr___2;
12867#line 1751
12868  next = __cil_tmp35 + 1152921504606846320UL;
12869  }
12870#line 1751
12871  goto ldv_31056;
12872  ldv_31055: 
12873  {
12874#line 1752
12875  loop_free(lo);
12876#line 1751
12877  lo = next;
12878#line 1751
12879  __cil_tmp36 = next->lo_list.next;
12880#line 1751
12881  __mptr___3 = (struct list_head  const  *)__cil_tmp36;
12882#line 1751
12883  __cil_tmp37 = (struct loop_device *)__mptr___3;
12884#line 1751
12885  next = __cil_tmp37 + 1152921504606846320UL;
12886  }
12887  ldv_31056: ;
12888  {
12889#line 1751
12890  __cil_tmp38 = (unsigned long )(& loop_devices);
12891#line 1751
12892  __cil_tmp39 = & lo->lo_list;
12893#line 1751
12894  __cil_tmp40 = (unsigned long )__cil_tmp39;
12895#line 1751
12896  if (__cil_tmp40 != __cil_tmp38) {
12897#line 1752
12898    goto ldv_31055;
12899  } else {
12900#line 1754
12901    goto ldv_31057;
12902  }
12903  }
12904  ldv_31057: 
12905  {
12906#line 1754
12907  unregister_blkdev(7U, "loop");
12908  }
12909#line 1755
12910  return (-12);
12911}
12912}
12913#line 1758 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
12914static void loop_exit(void) 
12915{ unsigned long range ;
12916  struct loop_device *lo ;
12917  struct loop_device *next ;
12918  struct list_head  const  *__mptr ;
12919  struct list_head  const  *__mptr___0 ;
12920  struct list_head  const  *__mptr___1 ;
12921  int __cil_tmp7 ;
12922  struct loop_device *__cil_tmp8 ;
12923  struct list_head *__cil_tmp9 ;
12924  struct loop_device *__cil_tmp10 ;
12925  struct list_head *__cil_tmp11 ;
12926  struct loop_device *__cil_tmp12 ;
12927  unsigned long __cil_tmp13 ;
12928  struct list_head *__cil_tmp14 ;
12929  unsigned long __cil_tmp15 ;
12930
12931  {
12932#line 1763
12933  if (max_loop != 0) {
12934#line 1763
12935    __cil_tmp7 = max_loop << part_shift;
12936#line 1763
12937    range = (unsigned long )__cil_tmp7;
12938  } else {
12939#line 1763
12940    range = 1048576UL;
12941  }
12942#line 1765
12943  __mptr = (struct list_head  const  *)loop_devices.next;
12944#line 1765
12945  __cil_tmp8 = (struct loop_device *)__mptr;
12946#line 1765
12947  lo = __cil_tmp8 + 1152921504606846320UL;
12948#line 1765
12949  __cil_tmp9 = lo->lo_list.next;
12950#line 1765
12951  __mptr___0 = (struct list_head  const  *)__cil_tmp9;
12952#line 1765
12953  __cil_tmp10 = (struct loop_device *)__mptr___0;
12954#line 1765
12955  next = __cil_tmp10 + 1152921504606846320UL;
12956#line 1765
12957  goto ldv_31071;
12958  ldv_31070: 
12959  {
12960#line 1766
12961  loop_del_one(lo);
12962#line 1765
12963  lo = next;
12964#line 1765
12965  __cil_tmp11 = next->lo_list.next;
12966#line 1765
12967  __mptr___1 = (struct list_head  const  *)__cil_tmp11;
12968#line 1765
12969  __cil_tmp12 = (struct loop_device *)__mptr___1;
12970#line 1765
12971  next = __cil_tmp12 + 1152921504606846320UL;
12972  }
12973  ldv_31071: ;
12974  {
12975#line 1765
12976  __cil_tmp13 = (unsigned long )(& loop_devices);
12977#line 1765
12978  __cil_tmp14 = & lo->lo_list;
12979#line 1765
12980  __cil_tmp15 = (unsigned long )__cil_tmp14;
12981#line 1765
12982  if (__cil_tmp15 != __cil_tmp13) {
12983#line 1766
12984    goto ldv_31070;
12985  } else {
12986#line 1768
12987    goto ldv_31072;
12988  }
12989  }
12990  ldv_31072: 
12991  {
12992#line 1768
12993  blk_unregister_region(7340032U, range);
12994#line 1769
12995  unregister_blkdev(7U, "loop");
12996  }
12997#line 1770
12998  return;
12999}
13000}
13001#line 1801
13002void ldv_check_final_state(void) ;
13003#line 1804
13004extern void ldv_check_return_value(int  ) ;
13005#line 1807
13006extern void ldv_initialize(void) ;
13007#line 1810
13008extern int nondet_int(void) ;
13009#line 1813 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13010int LDV_IN_INTERRUPT  ;
13011#line 1816 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13012void main(void) 
13013{ struct loop_device *var_group1 ;
13014  int var_transfer_none_0_p1 ;
13015  struct page *var_transfer_none_0_p2 ;
13016  unsigned int var_transfer_none_0_p3 ;
13017  struct page *var_transfer_none_0_p4 ;
13018  unsigned int var_transfer_none_0_p5 ;
13019  int var_transfer_none_0_p6 ;
13020  sector_t var_transfer_none_0_p7 ;
13021  int var_transfer_xor_1_p1 ;
13022  struct page *var_transfer_xor_1_p2 ;
13023  unsigned int var_transfer_xor_1_p3 ;
13024  struct page *var_transfer_xor_1_p4 ;
13025  unsigned int var_transfer_xor_1_p5 ;
13026  int var_transfer_xor_1_p6 ;
13027  sector_t var_transfer_xor_1_p7 ;
13028  struct loop_info64  const  *var_xor_init_2_p1 ;
13029  struct block_device *var_group2 ;
13030  fmode_t var_lo_open_51_p1 ;
13031  int res_lo_open_51 ;
13032  struct gendisk *var_group3 ;
13033  fmode_t var_lo_release_52_p1 ;
13034  fmode_t var_lo_ioctl_45_p1 ;
13035  unsigned int var_lo_ioctl_45_p2 ;
13036  unsigned long var_lo_ioctl_45_p3 ;
13037  fmode_t var_lo_compat_ioctl_50_p1 ;
13038  unsigned int var_lo_compat_ioctl_50_p2 ;
13039  unsigned long var_lo_compat_ioctl_50_p3 ;
13040  int ldv_s_lo_fops_block_device_operations ;
13041  int tmp ;
13042  int tmp___0 ;
13043  int tmp___1 ;
13044
13045  {
13046  {
13047#line 2064
13048  ldv_s_lo_fops_block_device_operations = 0;
13049#line 2025
13050  LDV_IN_INTERRUPT = 1;
13051#line 2034
13052  ldv_initialize();
13053#line 2054
13054  tmp = loop_init();
13055  }
13056#line 2054
13057  if (tmp != 0) {
13058#line 2055
13059    goto ldv_final;
13060  } else {
13061
13062  }
13063#line 2068
13064  goto ldv_31135;
13065  ldv_31134: 
13066  {
13067#line 2072
13068  tmp___0 = nondet_int();
13069  }
13070#line 2074
13071  if (tmp___0 == 0) {
13072#line 2074
13073    goto case_0;
13074  } else
13075#line 2107
13076  if (tmp___0 == 1) {
13077#line 2107
13078    goto case_1;
13079  } else
13080#line 2140
13081  if (tmp___0 == 2) {
13082#line 2140
13083    goto case_2;
13084  } else
13085#line 2173
13086  if (tmp___0 == 3) {
13087#line 2173
13088    goto case_3;
13089  } else
13090#line 2210
13091  if (tmp___0 == 4) {
13092#line 2210
13093    goto case_4;
13094  } else
13095#line 2244
13096  if (tmp___0 == 5) {
13097#line 2244
13098    goto case_5;
13099  } else
13100#line 2278
13101  if (tmp___0 == 6) {
13102#line 2278
13103    goto case_6;
13104  } else {
13105#line 2312
13106    goto switch_default;
13107#line 2072
13108    if (0) {
13109      case_0: 
13110      {
13111#line 2082
13112      transfer_none(var_group1, var_transfer_none_0_p1, var_transfer_none_0_p2, var_transfer_none_0_p3,
13113                    var_transfer_none_0_p4, var_transfer_none_0_p5, var_transfer_none_0_p6,
13114                    var_transfer_none_0_p7);
13115      }
13116#line 2106
13117      goto ldv_31125;
13118      case_1: 
13119      {
13120#line 2115
13121      transfer_xor(var_group1, var_transfer_xor_1_p1, var_transfer_xor_1_p2, var_transfer_xor_1_p3,
13122                   var_transfer_xor_1_p4, var_transfer_xor_1_p5, var_transfer_xor_1_p6,
13123                   var_transfer_xor_1_p7);
13124      }
13125#line 2139
13126      goto ldv_31125;
13127      case_2: 
13128      {
13129#line 2148
13130      xor_init(var_group1, var_xor_init_2_p1);
13131      }
13132#line 2172
13133      goto ldv_31125;
13134      case_3: ;
13135#line 2176
13136      if (ldv_s_lo_fops_block_device_operations == 0) {
13137        {
13138#line 2193
13139        res_lo_open_51 = lo_open(var_group2, var_lo_open_51_p1);
13140#line 2194
13141        ldv_check_return_value(res_lo_open_51);
13142        }
13143#line 2195
13144        if (res_lo_open_51 != 0) {
13145#line 2196
13146          goto ldv_module_exit;
13147        } else {
13148
13149        }
13150#line 2203
13151        ldv_s_lo_fops_block_device_operations = ldv_s_lo_fops_block_device_operations + 1;
13152      } else {
13153
13154      }
13155#line 2209
13156      goto ldv_31125;
13157      case_4: ;
13158#line 2213
13159      if (ldv_s_lo_fops_block_device_operations == 1) {
13160        {
13161#line 2230
13162        lo_release(var_group3, var_lo_release_52_p1);
13163#line 2237
13164        ldv_s_lo_fops_block_device_operations = 0;
13165        }
13166      } else {
13167
13168      }
13169#line 2243
13170      goto ldv_31125;
13171      case_5: 
13172      {
13173#line 2262
13174      lo_ioctl(var_group2, var_lo_ioctl_45_p1, var_lo_ioctl_45_p2, var_lo_ioctl_45_p3);
13175      }
13176#line 2277
13177      goto ldv_31125;
13178      case_6: 
13179      {
13180#line 2297
13181      lo_compat_ioctl(var_group2, var_lo_compat_ioctl_50_p1, var_lo_compat_ioctl_50_p2,
13182                      var_lo_compat_ioctl_50_p3);
13183      }
13184#line 2311
13185      goto ldv_31125;
13186      switch_default: ;
13187#line 2312
13188      goto ldv_31125;
13189    } else {
13190
13191    }
13192  }
13193  ldv_31125: ;
13194  ldv_31135: 
13195  {
13196#line 2068
13197  tmp___1 = nondet_int();
13198  }
13199#line 2068
13200  if (tmp___1 != 0) {
13201#line 2070
13202    goto ldv_31134;
13203  } else
13204#line 2068
13205  if (ldv_s_lo_fops_block_device_operations != 0) {
13206#line 2070
13207    goto ldv_31134;
13208  } else {
13209#line 2072
13210    goto ldv_31136;
13211  }
13212  ldv_31136: ;
13213  ldv_module_exit: 
13214  {
13215#line 2338
13216  loop_exit();
13217  }
13218  ldv_final: 
13219  {
13220#line 2345
13221  ldv_check_final_state();
13222  }
13223#line 2348
13224  return;
13225}
13226}
13227#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast-assert.h"
13228void ldv_blast_assert(void) 
13229{ 
13230
13231  {
13232  ERROR: ;
13233#line 6
13234  goto ERROR;
13235}
13236}
13237#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast.h"
13238extern int ldv_undefined_int(void) ;
13239#line 2365 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13240int ldv_module_refcounter  =    1;
13241#line 2368 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13242void ldv_module_get(struct module *module ) 
13243{ struct module *__cil_tmp2 ;
13244  unsigned long __cil_tmp3 ;
13245  unsigned long __cil_tmp4 ;
13246
13247  {
13248  {
13249#line 2371
13250  __cil_tmp2 = (struct module *)0;
13251#line 2371
13252  __cil_tmp3 = (unsigned long )__cil_tmp2;
13253#line 2371
13254  __cil_tmp4 = (unsigned long )module;
13255#line 2371
13256  if (__cil_tmp4 != __cil_tmp3) {
13257#line 2373
13258    ldv_module_refcounter = ldv_module_refcounter + 1;
13259  } else {
13260
13261  }
13262  }
13263#line 2374
13264  return;
13265}
13266}
13267#line 2378 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13268int ldv_try_module_get(struct module *module ) 
13269{ int module_get_succeeded ;
13270  struct module *__cil_tmp3 ;
13271  unsigned long __cil_tmp4 ;
13272  unsigned long __cil_tmp5 ;
13273
13274  {
13275  {
13276#line 2383
13277  __cil_tmp3 = (struct module *)0;
13278#line 2383
13279  __cil_tmp4 = (unsigned long )__cil_tmp3;
13280#line 2383
13281  __cil_tmp5 = (unsigned long )module;
13282#line 2383
13283  if (__cil_tmp5 != __cil_tmp4) {
13284    {
13285#line 2386
13286    module_get_succeeded = ldv_undefined_int();
13287    }
13288#line 2388
13289    if (module_get_succeeded == 1) {
13290#line 2390
13291      ldv_module_refcounter = ldv_module_refcounter + 1;
13292#line 2392
13293      return (1);
13294    } else {
13295#line 2397
13296      return (0);
13297    }
13298  } else {
13299
13300  }
13301  }
13302#line 2399
13303  return (0);
13304}
13305}
13306#line 2403 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13307void ldv_module_put(struct module *module ) 
13308{ struct module *__cil_tmp2 ;
13309  unsigned long __cil_tmp3 ;
13310  unsigned long __cil_tmp4 ;
13311
13312  {
13313  {
13314#line 2406
13315  __cil_tmp2 = (struct module *)0;
13316#line 2406
13317  __cil_tmp3 = (unsigned long )__cil_tmp2;
13318#line 2406
13319  __cil_tmp4 = (unsigned long )module;
13320#line 2406
13321  if (__cil_tmp4 != __cil_tmp3) {
13322#line 2408
13323    if (ldv_module_refcounter <= 1) {
13324      {
13325#line 2408
13326      ldv_blast_assert();
13327      }
13328    } else {
13329
13330    }
13331#line 2410
13332    ldv_module_refcounter = ldv_module_refcounter - 1;
13333  } else {
13334
13335  }
13336  }
13337#line 2412
13338  return;
13339}
13340}
13341#line 2415 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13342void ldv_module_put_and_exit(void) 
13343{ struct module *__cil_tmp1 ;
13344
13345  {
13346  {
13347#line 2417
13348  __cil_tmp1 = (struct module *)1;
13349#line 2417
13350  ldv_module_put(__cil_tmp1);
13351  }
13352  LDV_STOP: ;
13353#line 2419
13354  goto LDV_STOP;
13355}
13356}
13357#line 2423 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13358unsigned int ldv_module_refcount(void) 
13359{ int __cil_tmp1 ;
13360
13361  {
13362  {
13363#line 2426
13364  __cil_tmp1 = ldv_module_refcounter + -1;
13365#line 2426
13366  return ((unsigned int )__cil_tmp1);
13367  }
13368}
13369}
13370#line 2430 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13371void ldv_check_final_state(void) 
13372{ 
13373
13374  {
13375#line 2433
13376  if (ldv_module_refcounter != 1) {
13377    {
13378#line 2433
13379    ldv_blast_assert();
13380    }
13381  } else {
13382
13383  }
13384#line 2436
13385  return;
13386}
13387}
13388#line 2436 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13389__inline static void ldv___module_get_1(struct module *module ) 
13390{ 
13391
13392  {
13393  {
13394#line 2441
13395  ldv_module_get(module);
13396  }
13397#line 2442
13398  return;
13399}
13400}
13401#line 2444 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13402void ldv_module_put_2(struct module *ldv_func_arg1 ) 
13403{ 
13404
13405  {
13406  {
13407#line 2449
13408  ldv_module_put(ldv_func_arg1);
13409  }
13410#line 2450
13411  return;
13412}
13413}
13414#line 2452 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13415void ldv_module_put_3(struct module *ldv_func_arg1 ) 
13416{ 
13417
13418  {
13419  {
13420#line 2457
13421  ldv_module_put(ldv_func_arg1);
13422  }
13423#line 2458
13424  return;
13425}
13426}
13427#line 2460 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13428__inline static int ldv_try_module_get_4(struct module *module ) 
13429{ int tmp ;
13430
13431  {
13432  {
13433#line 2465
13434  tmp = ldv_try_module_get(module);
13435  }
13436#line 2465
13437  return (tmp);
13438}
13439}
13440#line 2468 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13441void ldv_module_put_5(struct module *ldv_func_arg1 ) 
13442{ 
13443
13444  {
13445  {
13446#line 2473
13447  ldv_module_put(ldv_func_arg1);
13448  }
13449#line 2474
13450  return;
13451}
13452}
13453#line 2476 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/loop.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/loop.c.p"
13454void ldv_module_put_6(struct module *ldv_func_arg1 ) 
13455{ 
13456
13457  {
13458  {
13459#line 2481
13460  ldv_module_put(ldv_func_arg1);
13461  }
13462#line 2482
13463  return;
13464}
13465}