Showing error 83

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-pktcdvd.ko_unsafe.cil.out.i.pp.cil.c
Line in file: 19129
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 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   37typedef unsigned long __kernel_nlink_t;
   38#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   39typedef long __kernel_off_t;
   40#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"
   41typedef int __kernel_pid_t;
   42#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"
   43typedef unsigned int __kernel_uid_t;
   44#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"
   45typedef unsigned int __kernel_gid_t;
   46#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"
   47typedef unsigned long __kernel_size_t;
   48#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"
   49typedef long __kernel_ssize_t;
   50#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"
   51typedef long __kernel_time_t;
   52#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"
   53typedef long __kernel_clock_t;
   54#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"
   55typedef int __kernel_timer_t;
   56#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"
   57typedef int __kernel_clockid_t;
   58#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"
   59typedef long long __kernel_loff_t;
   60#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"
   61typedef __kernel_uid_t __kernel_uid32_t;
   62#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"
   63typedef __kernel_gid_t __kernel_gid32_t;
   64#line 21 "include/linux/types.h"
   65typedef __u32 __kernel_dev_t;
   66#line 24 "include/linux/types.h"
   67typedef __kernel_dev_t dev_t;
   68#line 26 "include/linux/types.h"
   69typedef __kernel_mode_t mode_t;
   70#line 27 "include/linux/types.h"
   71typedef __kernel_nlink_t nlink_t;
   72#line 28 "include/linux/types.h"
   73typedef __kernel_off_t off_t;
   74#line 29 "include/linux/types.h"
   75typedef __kernel_pid_t pid_t;
   76#line 34 "include/linux/types.h"
   77typedef __kernel_clockid_t clockid_t;
   78#line 37 "include/linux/types.h"
   79typedef _Bool bool;
   80#line 39 "include/linux/types.h"
   81typedef __kernel_uid32_t uid_t;
   82#line 40 "include/linux/types.h"
   83typedef __kernel_gid32_t gid_t;
   84#line 53 "include/linux/types.h"
   85typedef __kernel_loff_t loff_t;
   86#line 62 "include/linux/types.h"
   87typedef __kernel_size_t size_t;
   88#line 67 "include/linux/types.h"
   89typedef __kernel_ssize_t ssize_t;
   90#line 77 "include/linux/types.h"
   91typedef __kernel_time_t time_t;
   92#line 110 "include/linux/types.h"
   93typedef __s32 int32_t;
   94#line 116 "include/linux/types.h"
   95typedef __u32 uint32_t;
   96#line 141 "include/linux/types.h"
   97typedef unsigned long sector_t;
   98#line 142 "include/linux/types.h"
   99typedef unsigned long blkcnt_t;
  100#line 154 "include/linux/types.h"
  101typedef u64 dma_addr_t;
  102#line 178 "include/linux/types.h"
  103typedef __u16 __be16;
  104#line 180 "include/linux/types.h"
  105typedef __u32 __be32;
  106#line 201 "include/linux/types.h"
  107typedef unsigned int gfp_t;
  108#line 202 "include/linux/types.h"
  109typedef unsigned int fmode_t;
  110#line 214 "include/linux/types.h"
  111struct __anonstruct_atomic_t_6 {
  112   int counter ;
  113};
  114#line 214 "include/linux/types.h"
  115typedef struct __anonstruct_atomic_t_6 atomic_t;
  116#line 219 "include/linux/types.h"
  117struct __anonstruct_atomic64_t_7 {
  118   long counter ;
  119};
  120#line 219 "include/linux/types.h"
  121typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  122#line 220 "include/linux/types.h"
  123struct list_head {
  124   struct list_head *next ;
  125   struct list_head *prev ;
  126};
  127#line 225
  128struct hlist_node;
  129#line 225
  130struct hlist_node;
  131#line 225
  132struct hlist_node;
  133#line 225 "include/linux/types.h"
  134struct hlist_head {
  135   struct hlist_node *first ;
  136};
  137#line 229 "include/linux/types.h"
  138struct hlist_node {
  139   struct hlist_node *next ;
  140   struct hlist_node **pprev ;
  141};
  142#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
  143struct module;
  144#line 58
  145struct module;
  146#line 58
  147struct module;
  148#line 58
  149struct module;
  150#line 145 "include/linux/init.h"
  151typedef void (*ctor_fn_t)(void);
  152#line 48 "include/linux/dynamic_debug.h"
  153struct bug_entry {
  154   int bug_addr_disp ;
  155   int file_disp ;
  156   unsigned short line ;
  157   unsigned short flags ;
  158};
  159#line 70 "include/asm-generic/bug.h"
  160struct completion;
  161#line 70
  162struct completion;
  163#line 70
  164struct completion;
  165#line 70
  166struct completion;
  167#line 71
  168struct pt_regs;
  169#line 71
  170struct pt_regs;
  171#line 71
  172struct pt_regs;
  173#line 71
  174struct pt_regs;
  175#line 321 "include/linux/kernel.h"
  176struct pid;
  177#line 321
  178struct pid;
  179#line 321
  180struct pid;
  181#line 321
  182struct pid;
  183#line 671
  184struct timespec;
  185#line 671
  186struct timespec;
  187#line 671
  188struct timespec;
  189#line 671
  190struct timespec;
  191#line 672
  192struct compat_timespec;
  193#line 672
  194struct compat_timespec;
  195#line 672
  196struct compat_timespec;
  197#line 672
  198struct compat_timespec;
  199#line 673 "include/linux/kernel.h"
  200struct __anonstruct_futex_9 {
  201   u32 *uaddr ;
  202   u32 val ;
  203   u32 flags ;
  204   u32 bitset ;
  205   u64 time ;
  206   u32 *uaddr2 ;
  207};
  208#line 673 "include/linux/kernel.h"
  209struct __anonstruct_nanosleep_10 {
  210   clockid_t clockid ;
  211   struct timespec *rmtp ;
  212   struct compat_timespec *compat_rmtp ;
  213   u64 expires ;
  214};
  215#line 673
  216struct pollfd;
  217#line 673
  218struct pollfd;
  219#line 673
  220struct pollfd;
  221#line 673 "include/linux/kernel.h"
  222struct __anonstruct_poll_11 {
  223   struct pollfd *ufds ;
  224   int nfds ;
  225   int has_timeout ;
  226   unsigned long tv_sec ;
  227   unsigned long tv_nsec ;
  228};
  229#line 673 "include/linux/kernel.h"
  230union __anonunion_ldv_2052_8 {
  231   struct __anonstruct_futex_9 futex ;
  232   struct __anonstruct_nanosleep_10 nanosleep ;
  233   struct __anonstruct_poll_11 poll ;
  234};
  235#line 673 "include/linux/kernel.h"
  236struct restart_block {
  237   long (*fn)(struct restart_block * ) ;
  238   union __anonunion_ldv_2052_8 ldv_2052 ;
  239};
  240#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_types.h"
  241struct page;
  242#line 59
  243struct page;
  244#line 59
  245struct page;
  246#line 59
  247struct page;
  248#line 21 "include/asm-generic/getorder.h"
  249struct task_struct;
  250#line 21
  251struct task_struct;
  252#line 21
  253struct task_struct;
  254#line 21
  255struct task_struct;
  256#line 22
  257struct exec_domain;
  258#line 22
  259struct exec_domain;
  260#line 22
  261struct exec_domain;
  262#line 22
  263struct exec_domain;
  264#line 23
  265struct mm_struct;
  266#line 23
  267struct mm_struct;
  268#line 23
  269struct mm_struct;
  270#line 23
  271struct mm_struct;
  272#line 215 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/segment.h"
  273struct pt_regs {
  274   unsigned long r15 ;
  275   unsigned long r14 ;
  276   unsigned long r13 ;
  277   unsigned long r12 ;
  278   unsigned long bp ;
  279   unsigned long bx ;
  280   unsigned long r11 ;
  281   unsigned long r10 ;
  282   unsigned long r9 ;
  283   unsigned long r8 ;
  284   unsigned long ax ;
  285   unsigned long cx ;
  286   unsigned long dx ;
  287   unsigned long si ;
  288   unsigned long di ;
  289   unsigned long orig_ax ;
  290   unsigned long ip ;
  291   unsigned long cs ;
  292   unsigned long flags ;
  293   unsigned long sp ;
  294   unsigned long ss ;
  295};
  296#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
  297struct kernel_vm86_regs {
  298   struct pt_regs pt ;
  299   unsigned short es ;
  300   unsigned short __esh ;
  301   unsigned short ds ;
  302   unsigned short __dsh ;
  303   unsigned short fs ;
  304   unsigned short __fsh ;
  305   unsigned short gs ;
  306   unsigned short __gsh ;
  307};
  308#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  309union __anonunion_ldv_2292_12 {
  310   struct pt_regs *regs ;
  311   struct kernel_vm86_regs *vm86 ;
  312};
  313#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  314struct math_emu_info {
  315   long ___orig_eip ;
  316   union __anonunion_ldv_2292_12 ldv_2292 ;
  317};
  318#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"
  319typedef unsigned long pgdval_t;
  320#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"
  321typedef unsigned long pgprotval_t;
  322#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"
  323struct pgprot {
  324   pgprotval_t pgprot ;
  325};
  326#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  327typedef struct pgprot pgprot_t;
  328#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  329struct __anonstruct_pgd_t_15 {
  330   pgdval_t pgd ;
  331};
  332#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  333typedef struct __anonstruct_pgd_t_15 pgd_t;
  334#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  335typedef struct page *pgtable_t;
  336#line 288
  337struct file;
  338#line 288
  339struct file;
  340#line 288
  341struct file;
  342#line 288
  343struct file;
  344#line 303
  345struct seq_file;
  346#line 303
  347struct seq_file;
  348#line 303
  349struct seq_file;
  350#line 303
  351struct seq_file;
  352#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  353struct __anonstruct_ldv_2526_19 {
  354   unsigned int a ;
  355   unsigned int b ;
  356};
  357#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  358struct __anonstruct_ldv_2541_20 {
  359   u16 limit0 ;
  360   u16 base0 ;
  361   unsigned char base1 ;
  362   unsigned char type : 4 ;
  363   unsigned char s : 1 ;
  364   unsigned char dpl : 2 ;
  365   unsigned char p : 1 ;
  366   unsigned char limit : 4 ;
  367   unsigned char avl : 1 ;
  368   unsigned char l : 1 ;
  369   unsigned char d : 1 ;
  370   unsigned char g : 1 ;
  371   unsigned char base2 ;
  372};
  373#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  374union __anonunion_ldv_2542_18 {
  375   struct __anonstruct_ldv_2526_19 ldv_2526 ;
  376   struct __anonstruct_ldv_2541_20 ldv_2541 ;
  377};
  378#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  379struct desc_struct {
  380   union __anonunion_ldv_2542_18 ldv_2542 ;
  381};
  382#line 122 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  383struct thread_struct;
  384#line 122
  385struct thread_struct;
  386#line 122
  387struct thread_struct;
  388#line 122
  389struct thread_struct;
  390#line 124
  391struct cpumask;
  392#line 124
  393struct cpumask;
  394#line 124
  395struct cpumask;
  396#line 124
  397struct cpumask;
  398#line 320 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  399struct arch_spinlock;
  400#line 320
  401struct arch_spinlock;
  402#line 320
  403struct arch_spinlock;
  404#line 320
  405struct arch_spinlock;
  406#line 304 "include/linux/bitmap.h"
  407struct cpumask {
  408   unsigned long bits[64U] ;
  409};
  410#line 13 "include/linux/cpumask.h"
  411typedef struct cpumask cpumask_t;
  412#line 622 "include/linux/cpumask.h"
  413typedef struct cpumask *cpumask_var_t;
  414#line 90 "include/linux/personality.h"
  415struct map_segment;
  416#line 90
  417struct map_segment;
  418#line 90
  419struct map_segment;
  420#line 90 "include/linux/personality.h"
  421struct exec_domain {
  422   char const   *name ;
  423   void (*handler)(int  , struct pt_regs * ) ;
  424   unsigned char pers_low ;
  425   unsigned char pers_high ;
  426   unsigned long *signal_map ;
  427   unsigned long *signal_invmap ;
  428   struct map_segment *err_map ;
  429   struct map_segment *socktype_map ;
  430   struct map_segment *sockopt_map ;
  431   struct map_segment *af_map ;
  432   struct module *module ;
  433   struct exec_domain *next ;
  434};
  435#line 145 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  436struct seq_operations;
  437#line 145
  438struct seq_operations;
  439#line 145
  440struct seq_operations;
  441#line 277 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  442struct i387_fsave_struct {
  443   u32 cwd ;
  444   u32 swd ;
  445   u32 twd ;
  446   u32 fip ;
  447   u32 fcs ;
  448   u32 foo ;
  449   u32 fos ;
  450   u32 st_space[20U] ;
  451   u32 status ;
  452};
  453#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  454struct __anonstruct_ldv_5171_24 {
  455   u64 rip ;
  456   u64 rdp ;
  457};
  458#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  459struct __anonstruct_ldv_5177_25 {
  460   u32 fip ;
  461   u32 fcs ;
  462   u32 foo ;
  463   u32 fos ;
  464};
  465#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  466union __anonunion_ldv_5178_23 {
  467   struct __anonstruct_ldv_5171_24 ldv_5171 ;
  468   struct __anonstruct_ldv_5177_25 ldv_5177 ;
  469};
  470#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  471union __anonunion_ldv_5187_26 {
  472   u32 padding1[12U] ;
  473   u32 sw_reserved[12U] ;
  474};
  475#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  476struct i387_fxsave_struct {
  477   u16 cwd ;
  478   u16 swd ;
  479   u16 twd ;
  480   u16 fop ;
  481   union __anonunion_ldv_5178_23 ldv_5178 ;
  482   u32 mxcsr ;
  483   u32 mxcsr_mask ;
  484   u32 st_space[32U] ;
  485   u32 xmm_space[64U] ;
  486   u32 padding[12U] ;
  487   union __anonunion_ldv_5187_26 ldv_5187 ;
  488};
  489#line 329 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  490struct i387_soft_struct {
  491   u32 cwd ;
  492   u32 swd ;
  493   u32 twd ;
  494   u32 fip ;
  495   u32 fcs ;
  496   u32 foo ;
  497   u32 fos ;
  498   u32 st_space[20U] ;
  499   u8 ftop ;
  500   u8 changed ;
  501   u8 lookahead ;
  502   u8 no_update ;
  503   u8 rm ;
  504   u8 alimit ;
  505   struct math_emu_info *info ;
  506   u32 entry_eip ;
  507};
  508#line 350 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  509struct ymmh_struct {
  510   u32 ymmh_space[64U] ;
  511};
  512#line 355 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  513struct xsave_hdr_struct {
  514   u64 xstate_bv ;
  515   u64 reserved1[2U] ;
  516   u64 reserved2[5U] ;
  517};
  518#line 361 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  519struct xsave_struct {
  520   struct i387_fxsave_struct i387 ;
  521   struct xsave_hdr_struct xsave_hdr ;
  522   struct ymmh_struct ymmh ;
  523};
  524#line 367 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  525union thread_xstate {
  526   struct i387_fsave_struct fsave ;
  527   struct i387_fxsave_struct fxsave ;
  528   struct i387_soft_struct soft ;
  529   struct xsave_struct xsave ;
  530};
  531#line 375 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  532struct fpu {
  533   union thread_xstate *state ;
  534};
  535#line 421
  536struct kmem_cache;
  537#line 421
  538struct kmem_cache;
  539#line 421
  540struct kmem_cache;
  541#line 422
  542struct perf_event;
  543#line 422
  544struct perf_event;
  545#line 422
  546struct perf_event;
  547#line 422
  548struct perf_event;
  549#line 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  550struct thread_struct {
  551   struct desc_struct tls_array[3U] ;
  552   unsigned long sp0 ;
  553   unsigned long sp ;
  554   unsigned long usersp ;
  555   unsigned short es ;
  556   unsigned short ds ;
  557   unsigned short fsindex ;
  558   unsigned short gsindex ;
  559   unsigned long fs ;
  560   unsigned long gs ;
  561   struct perf_event *ptrace_bps[4U] ;
  562   unsigned long debugreg6 ;
  563   unsigned long ptrace_dr7 ;
  564   unsigned long cr2 ;
  565   unsigned long trap_no ;
  566   unsigned long error_code ;
  567   struct fpu fpu ;
  568   unsigned long *io_bitmap_ptr ;
  569   unsigned long iopl ;
  570   unsigned int io_bitmap_max ;
  571};
  572#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  573struct __anonstruct_mm_segment_t_28 {
  574   unsigned long seg ;
  575};
  576#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  577typedef struct __anonstruct_mm_segment_t_28 mm_segment_t;
  578#line 23 "include/asm-generic/atomic-long.h"
  579typedef atomic64_t atomic_long_t;
  580#line 131 "include/asm-generic/atomic-long.h"
  581struct thread_info {
  582   struct task_struct *task ;
  583   struct exec_domain *exec_domain ;
  584   __u32 flags ;
  585   __u32 status ;
  586   __u32 cpu ;
  587   int preempt_count ;
  588   mm_segment_t addr_limit ;
  589   struct restart_block restart_block ;
  590   void *sysenter_return ;
  591   int uaccess_err ;
  592};
  593#line 8 "include/linux/bottom_half.h"
  594struct arch_spinlock {
  595   unsigned int slock ;
  596};
  597#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  598typedef struct arch_spinlock arch_spinlock_t;
  599#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  600struct __anonstruct_arch_rwlock_t_29 {
  601   unsigned int lock ;
  602};
  603#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  604typedef struct __anonstruct_arch_rwlock_t_29 arch_rwlock_t;
  605#line 17
  606struct lockdep_map;
  607#line 17
  608struct lockdep_map;
  609#line 17
  610struct lockdep_map;
  611#line 17
  612struct lockdep_map;
  613#line 55 "include/linux/debug_locks.h"
  614struct stack_trace {
  615   unsigned int nr_entries ;
  616   unsigned int max_entries ;
  617   unsigned long *entries ;
  618   int skip ;
  619};
  620#line 26 "include/linux/stacktrace.h"
  621struct lockdep_subclass_key {
  622   char __one_byte ;
  623};
  624#line 53 "include/linux/lockdep.h"
  625struct lock_class_key {
  626   struct lockdep_subclass_key subkeys[8U] ;
  627};
  628#line 59 "include/linux/lockdep.h"
  629struct lock_class {
  630   struct list_head hash_entry ;
  631   struct list_head lock_entry ;
  632   struct lockdep_subclass_key *key ;
  633   unsigned int subclass ;
  634   unsigned int dep_gen_id ;
  635   unsigned long usage_mask ;
  636   struct stack_trace usage_traces[13U] ;
  637   struct list_head locks_after ;
  638   struct list_head locks_before ;
  639   unsigned int version ;
  640   unsigned long ops ;
  641   char const   *name ;
  642   int name_version ;
  643   unsigned long contention_point[4U] ;
  644   unsigned long contending_point[4U] ;
  645};
  646#line 144 "include/linux/lockdep.h"
  647struct lockdep_map {
  648   struct lock_class_key *key ;
  649   struct lock_class *class_cache[2U] ;
  650   char const   *name ;
  651   int cpu ;
  652   unsigned long ip ;
  653};
  654#line 187 "include/linux/lockdep.h"
  655struct held_lock {
  656   u64 prev_chain_key ;
  657   unsigned long acquire_ip ;
  658   struct lockdep_map *instance ;
  659   struct lockdep_map *nest_lock ;
  660   u64 waittime_stamp ;
  661   u64 holdtime_stamp ;
  662   unsigned short class_idx : 13 ;
  663   unsigned char irq_context : 2 ;
  664   unsigned char trylock : 1 ;
  665   unsigned char read : 2 ;
  666   unsigned char check : 2 ;
  667   unsigned char hardirqs_off : 1 ;
  668   unsigned short references : 11 ;
  669};
  670#line 552 "include/linux/lockdep.h"
  671struct raw_spinlock {
  672   arch_spinlock_t raw_lock ;
  673   unsigned int magic ;
  674   unsigned int owner_cpu ;
  675   void *owner ;
  676   struct lockdep_map dep_map ;
  677};
  678#line 32 "include/linux/spinlock_types.h"
  679typedef struct raw_spinlock raw_spinlock_t;
  680#line 33 "include/linux/spinlock_types.h"
  681struct __anonstruct_ldv_6059_31 {
  682   u8 __padding[24U] ;
  683   struct lockdep_map dep_map ;
  684};
  685#line 33 "include/linux/spinlock_types.h"
  686union __anonunion_ldv_6060_30 {
  687   struct raw_spinlock rlock ;
  688   struct __anonstruct_ldv_6059_31 ldv_6059 ;
  689};
  690#line 33 "include/linux/spinlock_types.h"
  691struct spinlock {
  692   union __anonunion_ldv_6060_30 ldv_6060 ;
  693};
  694#line 76 "include/linux/spinlock_types.h"
  695typedef struct spinlock spinlock_t;
  696#line 23 "include/linux/rwlock_types.h"
  697struct __anonstruct_rwlock_t_32 {
  698   arch_rwlock_t raw_lock ;
  699   unsigned int magic ;
  700   unsigned int owner_cpu ;
  701   void *owner ;
  702   struct lockdep_map dep_map ;
  703};
  704#line 23 "include/linux/rwlock_types.h"
  705typedef struct __anonstruct_rwlock_t_32 rwlock_t;
  706#line 110 "include/linux/seqlock.h"
  707struct seqcount {
  708   unsigned int sequence ;
  709};
  710#line 121 "include/linux/seqlock.h"
  711typedef struct seqcount seqcount_t;
  712#line 233 "include/linux/seqlock.h"
  713struct timespec {
  714   __kernel_time_t tv_sec ;
  715   long tv_nsec ;
  716};
  717#line 286 "include/linux/time.h"
  718struct kstat {
  719   u64 ino ;
  720   dev_t dev ;
  721   umode_t mode ;
  722   unsigned int nlink ;
  723   uid_t uid ;
  724   gid_t gid ;
  725   dev_t rdev ;
  726   loff_t size ;
  727   struct timespec atime ;
  728   struct timespec mtime ;
  729   struct timespec ctime ;
  730   unsigned long blksize ;
  731   unsigned long long blocks ;
  732};
  733#line 28 "include/linux/wait.h"
  734struct __wait_queue;
  735#line 28
  736struct __wait_queue;
  737#line 28
  738struct __wait_queue;
  739#line 28 "include/linux/wait.h"
  740typedef struct __wait_queue wait_queue_t;
  741#line 31 "include/linux/wait.h"
  742struct __wait_queue {
  743   unsigned int flags ;
  744   void *private ;
  745   int (*func)(wait_queue_t * , unsigned int  , int  , void * ) ;
  746   struct list_head task_list ;
  747};
  748#line 49 "include/linux/wait.h"
  749struct __wait_queue_head {
  750   spinlock_t lock ;
  751   struct list_head task_list ;
  752};
  753#line 54 "include/linux/wait.h"
  754typedef struct __wait_queue_head wait_queue_head_t;
  755#line 96 "include/linux/nodemask.h"
  756struct __anonstruct_nodemask_t_34 {
  757   unsigned long bits[16U] ;
  758};
  759#line 96 "include/linux/nodemask.h"
  760typedef struct __anonstruct_nodemask_t_34 nodemask_t;
  761#line 640 "include/linux/mmzone.h"
  762struct mutex {
  763   atomic_t count ;
  764   spinlock_t wait_lock ;
  765   struct list_head wait_list ;
  766   struct task_struct *owner ;
  767   char const   *name ;
  768   void *magic ;
  769   struct lockdep_map dep_map ;
  770};
  771#line 63 "include/linux/mutex.h"
  772struct mutex_waiter {
  773   struct list_head list ;
  774   struct task_struct *task ;
  775   void *magic ;
  776};
  777#line 171
  778struct rw_semaphore;
  779#line 171
  780struct rw_semaphore;
  781#line 171
  782struct rw_semaphore;
  783#line 171
  784struct rw_semaphore;
  785#line 172 "include/linux/mutex.h"
  786struct rw_semaphore {
  787   long count ;
  788   spinlock_t wait_lock ;
  789   struct list_head wait_list ;
  790   struct lockdep_map dep_map ;
  791};
  792#line 763 "include/linux/mmzone.h"
  793struct ctl_table;
  794#line 763
  795struct ctl_table;
  796#line 763
  797struct ctl_table;
  798#line 763
  799struct ctl_table;
  800#line 175 "include/linux/ioport.h"
  801struct device;
  802#line 175
  803struct device;
  804#line 175
  805struct device;
  806#line 175
  807struct device;
  808#line 312 "include/linux/jiffies.h"
  809union ktime {
  810   s64 tv64 ;
  811};
  812#line 59 "include/linux/ktime.h"
  813typedef union ktime ktime_t;
  814#line 99 "include/linux/debugobjects.h"
  815struct tvec_base;
  816#line 99
  817struct tvec_base;
  818#line 99
  819struct tvec_base;
  820#line 99
  821struct tvec_base;
  822#line 100 "include/linux/debugobjects.h"
  823struct timer_list {
  824   struct list_head entry ;
  825   unsigned long expires ;
  826   struct tvec_base *base ;
  827   void (*function)(unsigned long  ) ;
  828   unsigned long data ;
  829   int slack ;
  830   int start_pid ;
  831   void *start_site ;
  832   char start_comm[16U] ;
  833   struct lockdep_map lockdep_map ;
  834};
  835#line 289 "include/linux/timer.h"
  836struct hrtimer;
  837#line 289
  838struct hrtimer;
  839#line 289
  840struct hrtimer;
  841#line 289
  842struct hrtimer;
  843#line 290
  844enum hrtimer_restart;
  845#line 290
  846enum hrtimer_restart;
  847#line 290
  848enum hrtimer_restart;
  849#line 302
  850struct work_struct;
  851#line 302
  852struct work_struct;
  853#line 302
  854struct work_struct;
  855#line 302
  856struct work_struct;
  857#line 45 "include/linux/workqueue.h"
  858struct work_struct {
  859   atomic_long_t data ;
  860   struct list_head entry ;
  861   void (*func)(struct work_struct * ) ;
  862   struct lockdep_map lockdep_map ;
  863};
  864#line 86 "include/linux/workqueue.h"
  865struct delayed_work {
  866   struct work_struct work ;
  867   struct timer_list timer ;
  868};
  869#line 443 "include/linux/workqueue.h"
  870struct completion {
  871   unsigned int done ;
  872   wait_queue_head_t wait ;
  873};
  874#line 46 "include/linux/pm.h"
  875struct pm_message {
  876   int event ;
  877};
  878#line 52 "include/linux/pm.h"
  879typedef struct pm_message pm_message_t;
  880#line 53 "include/linux/pm.h"
  881struct dev_pm_ops {
  882   int (*prepare)(struct device * ) ;
  883   void (*complete)(struct device * ) ;
  884   int (*suspend)(struct device * ) ;
  885   int (*resume)(struct device * ) ;
  886   int (*freeze)(struct device * ) ;
  887   int (*thaw)(struct device * ) ;
  888   int (*poweroff)(struct device * ) ;
  889   int (*restore)(struct device * ) ;
  890   int (*suspend_noirq)(struct device * ) ;
  891   int (*resume_noirq)(struct device * ) ;
  892   int (*freeze_noirq)(struct device * ) ;
  893   int (*thaw_noirq)(struct device * ) ;
  894   int (*poweroff_noirq)(struct device * ) ;
  895   int (*restore_noirq)(struct device * ) ;
  896   int (*runtime_suspend)(struct device * ) ;
  897   int (*runtime_resume)(struct device * ) ;
  898   int (*runtime_idle)(struct device * ) ;
  899};
  900#line 272
  901enum rpm_status {
  902    RPM_ACTIVE = 0,
  903    RPM_RESUMING = 1,
  904    RPM_SUSPENDED = 2,
  905    RPM_SUSPENDING = 3
  906} ;
  907#line 279
  908enum rpm_request {
  909    RPM_REQ_NONE = 0,
  910    RPM_REQ_IDLE = 1,
  911    RPM_REQ_SUSPEND = 2,
  912    RPM_REQ_AUTOSUSPEND = 3,
  913    RPM_REQ_RESUME = 4
  914} ;
  915#line 287
  916struct wakeup_source;
  917#line 287
  918struct wakeup_source;
  919#line 287
  920struct wakeup_source;
  921#line 287
  922struct wakeup_source;
  923#line 288 "include/linux/pm.h"
  924struct dev_pm_info {
  925   pm_message_t power_state ;
  926   unsigned char can_wakeup : 1 ;
  927   unsigned char async_suspend : 1 ;
  928   bool is_prepared ;
  929   bool is_suspended ;
  930   spinlock_t lock ;
  931   struct list_head entry ;
  932   struct completion completion ;
  933   struct wakeup_source *wakeup ;
  934   struct timer_list suspend_timer ;
  935   unsigned long timer_expires ;
  936   struct work_struct work ;
  937   wait_queue_head_t wait_queue ;
  938   atomic_t usage_count ;
  939   atomic_t child_count ;
  940   unsigned char disable_depth : 3 ;
  941   unsigned char ignore_children : 1 ;
  942   unsigned char idle_notification : 1 ;
  943   unsigned char request_pending : 1 ;
  944   unsigned char deferred_resume : 1 ;
  945   unsigned char run_wake : 1 ;
  946   unsigned char runtime_auto : 1 ;
  947   unsigned char no_callbacks : 1 ;
  948   unsigned char irq_safe : 1 ;
  949   unsigned char use_autosuspend : 1 ;
  950   unsigned char timer_autosuspends : 1 ;
  951   enum rpm_request request ;
  952   enum rpm_status runtime_status ;
  953   int runtime_error ;
  954   int autosuspend_delay ;
  955   unsigned long last_busy ;
  956   unsigned long active_jiffies ;
  957   unsigned long suspended_jiffies ;
  958   unsigned long accounting_timestamp ;
  959   void *subsys_data ;
  960};
  961#line 469 "include/linux/pm.h"
  962struct dev_power_domain {
  963   struct dev_pm_ops ops ;
  964};
  965#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
  966struct __anonstruct_mm_context_t_99 {
  967   void *ldt ;
  968   int size ;
  969   unsigned short ia32_compat ;
  970   struct mutex lock ;
  971   void *vdso ;
  972};
  973#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
  974typedef struct __anonstruct_mm_context_t_99 mm_context_t;
  975#line 71 "include/asm-generic/iomap.h"
  976struct vm_area_struct;
  977#line 71
  978struct vm_area_struct;
  979#line 71
  980struct vm_area_struct;
  981#line 71
  982struct vm_area_struct;
  983#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
  984struct bio_vec;
  985#line 335
  986struct bio_vec;
  987#line 335
  988struct bio_vec;
  989#line 335
  990struct bio_vec;
  991#line 18 "include/linux/smp.h"
  992struct call_single_data {
  993   struct list_head list ;
  994   void (*func)(void * ) ;
  995   void *info ;
  996   u16 flags ;
  997   u16 priv ;
  998};
  999#line 53 "include/linux/rcupdate.h"
 1000struct rcu_head {
 1001   struct rcu_head *next ;
 1002   void (*func)(struct rcu_head * ) ;
 1003};
 1004#line 841
 1005struct nsproxy;
 1006#line 841
 1007struct nsproxy;
 1008#line 841
 1009struct nsproxy;
 1010#line 841
 1011struct nsproxy;
 1012#line 842
 1013struct ctl_table_root;
 1014#line 842
 1015struct ctl_table_root;
 1016#line 842
 1017struct ctl_table_root;
 1018#line 842
 1019struct ctl_table_root;
 1020#line 843 "include/linux/rcupdate.h"
 1021struct ctl_table_set {
 1022   struct list_head list ;
 1023   struct ctl_table_set *parent ;
 1024   int (*is_seen)(struct ctl_table_set * ) ;
 1025};
 1026#line 947 "include/linux/sysctl.h"
 1027struct ctl_table_header;
 1028#line 947
 1029struct ctl_table_header;
 1030#line 947
 1031struct ctl_table_header;
 1032#line 947
 1033struct ctl_table_header;
 1034#line 965 "include/linux/sysctl.h"
 1035typedef int proc_handler(struct ctl_table * , int  , void * , size_t * , loff_t * );
 1036#line 985 "include/linux/sysctl.h"
 1037struct ctl_table {
 1038   char const   *procname ;
 1039   void *data ;
 1040   int maxlen ;
 1041   mode_t mode ;
 1042   struct ctl_table *child ;
 1043   struct ctl_table *parent ;
 1044   proc_handler *proc_handler ;
 1045   void *extra1 ;
 1046   void *extra2 ;
 1047};
 1048#line 1027 "include/linux/sysctl.h"
 1049struct ctl_table_root {
 1050   struct list_head root_list ;
 1051   struct ctl_table_set default_set ;
 1052   struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ;
 1053   int (*permissions)(struct ctl_table_root * , struct nsproxy * , struct ctl_table * ) ;
 1054};
 1055#line 1035 "include/linux/sysctl.h"
 1056struct __anonstruct_ldv_12193_124 {
 1057   struct ctl_table *ctl_table ;
 1058   struct list_head ctl_entry ;
 1059   int used ;
 1060   int count ;
 1061};
 1062#line 1035 "include/linux/sysctl.h"
 1063union __anonunion_ldv_12195_123 {
 1064   struct __anonstruct_ldv_12193_124 ldv_12193 ;
 1065   struct rcu_head rcu ;
 1066};
 1067#line 1035 "include/linux/sysctl.h"
 1068struct ctl_table_header {
 1069   union __anonunion_ldv_12195_123 ldv_12195 ;
 1070   struct completion *unregistering ;
 1071   struct ctl_table *ctl_table_arg ;
 1072   struct ctl_table_root *root ;
 1073   struct ctl_table_set *set ;
 1074   struct ctl_table *attached_by ;
 1075   struct ctl_table *attached_to ;
 1076   struct ctl_table_header *parent ;
 1077};
 1078#line 36 "include/linux/kmod.h"
 1079struct cred;
 1080#line 36
 1081struct cred;
 1082#line 36
 1083struct cred;
 1084#line 36
 1085struct cred;
 1086#line 27 "include/linux/elf.h"
 1087typedef __u64 Elf64_Addr;
 1088#line 28 "include/linux/elf.h"
 1089typedef __u16 Elf64_Half;
 1090#line 32 "include/linux/elf.h"
 1091typedef __u32 Elf64_Word;
 1092#line 33 "include/linux/elf.h"
 1093typedef __u64 Elf64_Xword;
 1094#line 202 "include/linux/elf.h"
 1095struct elf64_sym {
 1096   Elf64_Word st_name ;
 1097   unsigned char st_info ;
 1098   unsigned char st_other ;
 1099   Elf64_Half st_shndx ;
 1100   Elf64_Addr st_value ;
 1101   Elf64_Xword st_size ;
 1102};
 1103#line 210 "include/linux/elf.h"
 1104typedef struct elf64_sym Elf64_Sym;
 1105#line 444
 1106struct sock;
 1107#line 444
 1108struct sock;
 1109#line 444
 1110struct sock;
 1111#line 444
 1112struct sock;
 1113#line 445
 1114struct kobject;
 1115#line 445
 1116struct kobject;
 1117#line 445
 1118struct kobject;
 1119#line 445
 1120struct kobject;
 1121#line 446
 1122enum kobj_ns_type {
 1123    KOBJ_NS_TYPE_NONE = 0,
 1124    KOBJ_NS_TYPE_NET = 1,
 1125    KOBJ_NS_TYPES = 2
 1126} ;
 1127#line 452 "include/linux/elf.h"
 1128struct kobj_ns_type_operations {
 1129   enum kobj_ns_type type ;
 1130   void *(*grab_current_ns)(void) ;
 1131   void const   *(*netlink_ns)(struct sock * ) ;
 1132   void const   *(*initial_ns)(void) ;
 1133   void (*drop_ns)(void * ) ;
 1134};
 1135#line 57 "include/linux/kobject_ns.h"
 1136struct attribute {
 1137   char const   *name ;
 1138   mode_t mode ;
 1139   struct lock_class_key *key ;
 1140   struct lock_class_key skey ;
 1141};
 1142#line 33 "include/linux/sysfs.h"
 1143struct attribute_group {
 1144   char const   *name ;
 1145   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 1146   struct attribute **attrs ;
 1147};
 1148#line 62 "include/linux/sysfs.h"
 1149struct bin_attribute {
 1150   struct attribute attr ;
 1151   size_t size ;
 1152   void *private ;
 1153   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1154                   loff_t  , size_t  ) ;
 1155   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1156                    loff_t  , size_t  ) ;
 1157   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 1158};
 1159#line 98 "include/linux/sysfs.h"
 1160struct sysfs_ops {
 1161   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 1162   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 1163};
 1164#line 116
 1165struct sysfs_dirent;
 1166#line 116
 1167struct sysfs_dirent;
 1168#line 116
 1169struct sysfs_dirent;
 1170#line 116
 1171struct sysfs_dirent;
 1172#line 181 "include/linux/sysfs.h"
 1173struct kref {
 1174   atomic_t refcount ;
 1175};
 1176#line 39 "include/linux/kobject.h"
 1177enum kobject_action {
 1178    KOBJ_ADD = 0,
 1179    KOBJ_REMOVE = 1,
 1180    KOBJ_CHANGE = 2,
 1181    KOBJ_MOVE = 3,
 1182    KOBJ_ONLINE = 4,
 1183    KOBJ_OFFLINE = 5,
 1184    KOBJ_MAX = 6
 1185} ;
 1186#line 49
 1187struct kset;
 1188#line 49
 1189struct kset;
 1190#line 49
 1191struct kset;
 1192#line 49
 1193struct kobj_type;
 1194#line 49
 1195struct kobj_type;
 1196#line 49
 1197struct kobj_type;
 1198#line 49 "include/linux/kobject.h"
 1199struct kobject {
 1200   char const   *name ;
 1201   struct list_head entry ;
 1202   struct kobject *parent ;
 1203   struct kset *kset ;
 1204   struct kobj_type *ktype ;
 1205   struct sysfs_dirent *sd ;
 1206   struct kref kref ;
 1207   unsigned char state_initialized : 1 ;
 1208   unsigned char state_in_sysfs : 1 ;
 1209   unsigned char state_add_uevent_sent : 1 ;
 1210   unsigned char state_remove_uevent_sent : 1 ;
 1211   unsigned char uevent_suppress : 1 ;
 1212};
 1213#line 109 "include/linux/kobject.h"
 1214struct kobj_type {
 1215   void (*release)(struct kobject * ) ;
 1216   struct sysfs_ops  const  *sysfs_ops ;
 1217   struct attribute **default_attrs ;
 1218   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 1219   void const   *(*namespace)(struct kobject * ) ;
 1220};
 1221#line 117 "include/linux/kobject.h"
 1222struct kobj_uevent_env {
 1223   char *envp[32U] ;
 1224   int envp_idx ;
 1225   char buf[2048U] ;
 1226   int buflen ;
 1227};
 1228#line 124 "include/linux/kobject.h"
 1229struct kset_uevent_ops {
 1230   int (* const  filter)(struct kset * , struct kobject * ) ;
 1231   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 1232   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 1233};
 1234#line 141 "include/linux/kobject.h"
 1235struct kset {
 1236   struct list_head list ;
 1237   spinlock_t list_lock ;
 1238   struct kobject kobj ;
 1239   struct kset_uevent_ops  const  *uevent_ops ;
 1240};
 1241#line 219
 1242struct kernel_param;
 1243#line 219
 1244struct kernel_param;
 1245#line 219
 1246struct kernel_param;
 1247#line 219
 1248struct kernel_param;
 1249#line 220 "include/linux/kobject.h"
 1250struct kernel_param_ops {
 1251   int (*set)(char const   * , struct kernel_param  const  * ) ;
 1252   int (*get)(char * , struct kernel_param  const  * ) ;
 1253   void (*free)(void * ) ;
 1254};
 1255#line 44 "include/linux/moduleparam.h"
 1256struct kparam_string;
 1257#line 44
 1258struct kparam_string;
 1259#line 44
 1260struct kparam_string;
 1261#line 44
 1262struct kparam_array;
 1263#line 44
 1264struct kparam_array;
 1265#line 44
 1266struct kparam_array;
 1267#line 44 "include/linux/moduleparam.h"
 1268union __anonunion_ldv_12924_129 {
 1269   void *arg ;
 1270   struct kparam_string  const  *str ;
 1271   struct kparam_array  const  *arr ;
 1272};
 1273#line 44 "include/linux/moduleparam.h"
 1274struct kernel_param {
 1275   char const   *name ;
 1276   struct kernel_param_ops  const  *ops ;
 1277   u16 perm ;
 1278   u16 flags ;
 1279   union __anonunion_ldv_12924_129 ldv_12924 ;
 1280};
 1281#line 59 "include/linux/moduleparam.h"
 1282struct kparam_string {
 1283   unsigned int maxlen ;
 1284   char *string ;
 1285};
 1286#line 65 "include/linux/moduleparam.h"
 1287struct kparam_array {
 1288   unsigned int max ;
 1289   unsigned int elemsize ;
 1290   unsigned int *num ;
 1291   struct kernel_param_ops  const  *ops ;
 1292   void *elem ;
 1293};
 1294#line 404 "include/linux/moduleparam.h"
 1295struct jump_label_key {
 1296   atomic_t enabled ;
 1297};
 1298#line 99 "include/linux/jump_label.h"
 1299struct tracepoint;
 1300#line 99
 1301struct tracepoint;
 1302#line 99
 1303struct tracepoint;
 1304#line 99
 1305struct tracepoint;
 1306#line 100 "include/linux/jump_label.h"
 1307struct tracepoint_func {
 1308   void *func ;
 1309   void *data ;
 1310};
 1311#line 29 "include/linux/tracepoint.h"
 1312struct tracepoint {
 1313   char const   *name ;
 1314   struct jump_label_key key ;
 1315   void (*regfunc)(void) ;
 1316   void (*unregfunc)(void) ;
 1317   struct tracepoint_func *funcs ;
 1318};
 1319#line 84 "include/linux/tracepoint.h"
 1320struct mod_arch_specific {
 1321
 1322};
 1323#line 127 "include/trace/events/module.h"
 1324struct kernel_symbol {
 1325   unsigned long value ;
 1326   char const   *name ;
 1327};
 1328#line 48 "include/linux/module.h"
 1329struct module_attribute {
 1330   struct attribute attr ;
 1331   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
 1332   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
 1333                    size_t  ) ;
 1334   void (*setup)(struct module * , char const   * ) ;
 1335   int (*test)(struct module * ) ;
 1336   void (*free)(struct module * ) ;
 1337};
 1338#line 68
 1339struct module_param_attrs;
 1340#line 68
 1341struct module_param_attrs;
 1342#line 68
 1343struct module_param_attrs;
 1344#line 68 "include/linux/module.h"
 1345struct module_kobject {
 1346   struct kobject kobj ;
 1347   struct module *mod ;
 1348   struct kobject *drivers_dir ;
 1349   struct module_param_attrs *mp ;
 1350};
 1351#line 81
 1352struct exception_table_entry;
 1353#line 81
 1354struct exception_table_entry;
 1355#line 81
 1356struct exception_table_entry;
 1357#line 81
 1358struct exception_table_entry;
 1359#line 218
 1360enum module_state {
 1361    MODULE_STATE_LIVE = 0,
 1362    MODULE_STATE_COMING = 1,
 1363    MODULE_STATE_GOING = 2
 1364} ;
 1365#line 224 "include/linux/module.h"
 1366struct module_ref {
 1367   unsigned int incs ;
 1368   unsigned int decs ;
 1369};
 1370#line 418
 1371struct module_sect_attrs;
 1372#line 418
 1373struct module_sect_attrs;
 1374#line 418
 1375struct module_sect_attrs;
 1376#line 418
 1377struct module_notes_attrs;
 1378#line 418
 1379struct module_notes_attrs;
 1380#line 418
 1381struct module_notes_attrs;
 1382#line 418
 1383struct ftrace_event_call;
 1384#line 418
 1385struct ftrace_event_call;
 1386#line 418
 1387struct ftrace_event_call;
 1388#line 418 "include/linux/module.h"
 1389struct module {
 1390   enum module_state state ;
 1391   struct list_head list ;
 1392   char name[56U] ;
 1393   struct module_kobject mkobj ;
 1394   struct module_attribute *modinfo_attrs ;
 1395   char const   *version ;
 1396   char const   *srcversion ;
 1397   struct kobject *holders_dir ;
 1398   struct kernel_symbol  const  *syms ;
 1399   unsigned long const   *crcs ;
 1400   unsigned int num_syms ;
 1401   struct kernel_param *kp ;
 1402   unsigned int num_kp ;
 1403   unsigned int num_gpl_syms ;
 1404   struct kernel_symbol  const  *gpl_syms ;
 1405   unsigned long const   *gpl_crcs ;
 1406   struct kernel_symbol  const  *unused_syms ;
 1407   unsigned long const   *unused_crcs ;
 1408   unsigned int num_unused_syms ;
 1409   unsigned int num_unused_gpl_syms ;
 1410   struct kernel_symbol  const  *unused_gpl_syms ;
 1411   unsigned long const   *unused_gpl_crcs ;
 1412   struct kernel_symbol  const  *gpl_future_syms ;
 1413   unsigned long const   *gpl_future_crcs ;
 1414   unsigned int num_gpl_future_syms ;
 1415   unsigned int num_exentries ;
 1416   struct exception_table_entry *extable ;
 1417   int (*init)(void) ;
 1418   void *module_init ;
 1419   void *module_core ;
 1420   unsigned int init_size ;
 1421   unsigned int core_size ;
 1422   unsigned int init_text_size ;
 1423   unsigned int core_text_size ;
 1424   unsigned int init_ro_size ;
 1425   unsigned int core_ro_size ;
 1426   struct mod_arch_specific arch ;
 1427   unsigned int taints ;
 1428   unsigned int num_bugs ;
 1429   struct list_head bug_list ;
 1430   struct bug_entry *bug_table ;
 1431   Elf64_Sym *symtab ;
 1432   Elf64_Sym *core_symtab ;
 1433   unsigned int num_symtab ;
 1434   unsigned int core_num_syms ;
 1435   char *strtab ;
 1436   char *core_strtab ;
 1437   struct module_sect_attrs *sect_attrs ;
 1438   struct module_notes_attrs *notes_attrs ;
 1439   char *args ;
 1440   void *percpu ;
 1441   unsigned int percpu_size ;
 1442   unsigned int num_tracepoints ;
 1443   struct tracepoint * const  *tracepoints_ptrs ;
 1444   unsigned int num_trace_bprintk_fmt ;
 1445   char const   **trace_bprintk_fmt_start ;
 1446   struct ftrace_event_call **trace_events ;
 1447   unsigned int num_trace_events ;
 1448   unsigned int num_ftrace_callsites ;
 1449   unsigned long *ftrace_callsites ;
 1450   struct list_head source_list ;
 1451   struct list_head target_list ;
 1452   struct task_struct *waiter ;
 1453   void (*exit)(void) ;
 1454   struct module_ref *refptr ;
 1455   ctor_fn_t (**ctors)(void) ;
 1456   unsigned int num_ctors ;
 1457};
 1458#line 8 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 1459struct pkt_ctrl_command {
 1460   __u32 command ;
 1461   __u32 dev_index ;
 1462   __u32 dev ;
 1463   __u32 pkt_dev ;
 1464   __u32 num_devices ;
 1465   __u32 padding ;
 1466};
 1467#line 93 "include/linux/capability.h"
 1468struct kernel_cap_struct {
 1469   __u32 cap[2U] ;
 1470};
 1471#line 96 "include/linux/capability.h"
 1472typedef struct kernel_cap_struct kernel_cap_t;
 1473#line 104
 1474struct dentry;
 1475#line 104
 1476struct dentry;
 1477#line 104
 1478struct dentry;
 1479#line 104
 1480struct dentry;
 1481#line 105
 1482struct user_namespace;
 1483#line 105
 1484struct user_namespace;
 1485#line 105
 1486struct user_namespace;
 1487#line 105
 1488struct user_namespace;
 1489#line 553 "include/linux/capability.h"
 1490struct rb_node {
 1491   unsigned long rb_parent_color ;
 1492   struct rb_node *rb_right ;
 1493   struct rb_node *rb_left ;
 1494};
 1495#line 108 "include/linux/rbtree.h"
 1496struct rb_root {
 1497   struct rb_node *rb_node ;
 1498};
 1499#line 176
 1500struct prio_tree_node;
 1501#line 176
 1502struct prio_tree_node;
 1503#line 176
 1504struct prio_tree_node;
 1505#line 176 "include/linux/rbtree.h"
 1506struct raw_prio_tree_node {
 1507   struct prio_tree_node *left ;
 1508   struct prio_tree_node *right ;
 1509   struct prio_tree_node *parent ;
 1510};
 1511#line 19 "include/linux/prio_tree.h"
 1512struct prio_tree_node {
 1513   struct prio_tree_node *left ;
 1514   struct prio_tree_node *right ;
 1515   struct prio_tree_node *parent ;
 1516   unsigned long start ;
 1517   unsigned long last ;
 1518};
 1519#line 27 "include/linux/prio_tree.h"
 1520struct prio_tree_root {
 1521   struct prio_tree_node *prio_tree_node ;
 1522   unsigned short index_bits ;
 1523   unsigned short raw ;
 1524};
 1525#line 115
 1526struct address_space;
 1527#line 115
 1528struct address_space;
 1529#line 115
 1530struct address_space;
 1531#line 115
 1532struct address_space;
 1533#line 116 "include/linux/prio_tree.h"
 1534struct __anonstruct_ldv_13933_132 {
 1535   u16 inuse ;
 1536   u16 objects ;
 1537};
 1538#line 116 "include/linux/prio_tree.h"
 1539union __anonunion_ldv_13934_131 {
 1540   atomic_t _mapcount ;
 1541   struct __anonstruct_ldv_13933_132 ldv_13933 ;
 1542};
 1543#line 116 "include/linux/prio_tree.h"
 1544struct __anonstruct_ldv_13939_134 {
 1545   unsigned long private ;
 1546   struct address_space *mapping ;
 1547};
 1548#line 116 "include/linux/prio_tree.h"
 1549union __anonunion_ldv_13942_133 {
 1550   struct __anonstruct_ldv_13939_134 ldv_13939 ;
 1551   struct kmem_cache *slab ;
 1552   struct page *first_page ;
 1553};
 1554#line 116 "include/linux/prio_tree.h"
 1555union __anonunion_ldv_13946_135 {
 1556   unsigned long index ;
 1557   void *freelist ;
 1558};
 1559#line 116 "include/linux/prio_tree.h"
 1560struct page {
 1561   unsigned long flags ;
 1562   atomic_t _count ;
 1563   union __anonunion_ldv_13934_131 ldv_13934 ;
 1564   union __anonunion_ldv_13942_133 ldv_13942 ;
 1565   union __anonunion_ldv_13946_135 ldv_13946 ;
 1566   struct list_head lru ;
 1567};
 1568#line 124 "include/linux/mm_types.h"
 1569struct __anonstruct_vm_set_137 {
 1570   struct list_head list ;
 1571   void *parent ;
 1572   struct vm_area_struct *head ;
 1573};
 1574#line 124 "include/linux/mm_types.h"
 1575union __anonunion_shared_136 {
 1576   struct __anonstruct_vm_set_137 vm_set ;
 1577   struct raw_prio_tree_node prio_tree_node ;
 1578};
 1579#line 124
 1580struct anon_vma;
 1581#line 124
 1582struct anon_vma;
 1583#line 124
 1584struct anon_vma;
 1585#line 124
 1586struct vm_operations_struct;
 1587#line 124
 1588struct vm_operations_struct;
 1589#line 124
 1590struct vm_operations_struct;
 1591#line 124
 1592struct mempolicy;
 1593#line 124
 1594struct mempolicy;
 1595#line 124
 1596struct mempolicy;
 1597#line 124 "include/linux/mm_types.h"
 1598struct vm_area_struct {
 1599   struct mm_struct *vm_mm ;
 1600   unsigned long vm_start ;
 1601   unsigned long vm_end ;
 1602   struct vm_area_struct *vm_next ;
 1603   struct vm_area_struct *vm_prev ;
 1604   pgprot_t vm_page_prot ;
 1605   unsigned long vm_flags ;
 1606   struct rb_node vm_rb ;
 1607   union __anonunion_shared_136 shared ;
 1608   struct list_head anon_vma_chain ;
 1609   struct anon_vma *anon_vma ;
 1610   struct vm_operations_struct  const  *vm_ops ;
 1611   unsigned long vm_pgoff ;
 1612   struct file *vm_file ;
 1613   void *vm_private_data ;
 1614   struct mempolicy *vm_policy ;
 1615};
 1616#line 187 "include/linux/mm_types.h"
 1617struct core_thread {
 1618   struct task_struct *task ;
 1619   struct core_thread *next ;
 1620};
 1621#line 193 "include/linux/mm_types.h"
 1622struct core_state {
 1623   atomic_t nr_threads ;
 1624   struct core_thread dumper ;
 1625   struct completion startup ;
 1626};
 1627#line 206 "include/linux/mm_types.h"
 1628struct mm_rss_stat {
 1629   atomic_long_t count[3U] ;
 1630};
 1631#line 219
 1632struct linux_binfmt;
 1633#line 219
 1634struct linux_binfmt;
 1635#line 219
 1636struct linux_binfmt;
 1637#line 219
 1638struct mmu_notifier_mm;
 1639#line 219
 1640struct mmu_notifier_mm;
 1641#line 219
 1642struct mmu_notifier_mm;
 1643#line 219 "include/linux/mm_types.h"
 1644struct mm_struct {
 1645   struct vm_area_struct *mmap ;
 1646   struct rb_root mm_rb ;
 1647   struct vm_area_struct *mmap_cache ;
 1648   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 1649                                      unsigned long  , unsigned long  ) ;
 1650   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
 1651   unsigned long mmap_base ;
 1652   unsigned long task_size ;
 1653   unsigned long cached_hole_size ;
 1654   unsigned long free_area_cache ;
 1655   pgd_t *pgd ;
 1656   atomic_t mm_users ;
 1657   atomic_t mm_count ;
 1658   int map_count ;
 1659   spinlock_t page_table_lock ;
 1660   struct rw_semaphore mmap_sem ;
 1661   struct list_head mmlist ;
 1662   unsigned long hiwater_rss ;
 1663   unsigned long hiwater_vm ;
 1664   unsigned long total_vm ;
 1665   unsigned long locked_vm ;
 1666   unsigned long shared_vm ;
 1667   unsigned long exec_vm ;
 1668   unsigned long stack_vm ;
 1669   unsigned long reserved_vm ;
 1670   unsigned long def_flags ;
 1671   unsigned long nr_ptes ;
 1672   unsigned long start_code ;
 1673   unsigned long end_code ;
 1674   unsigned long start_data ;
 1675   unsigned long end_data ;
 1676   unsigned long start_brk ;
 1677   unsigned long brk ;
 1678   unsigned long start_stack ;
 1679   unsigned long arg_start ;
 1680   unsigned long arg_end ;
 1681   unsigned long env_start ;
 1682   unsigned long env_end ;
 1683   unsigned long saved_auxv[44U] ;
 1684   struct mm_rss_stat rss_stat ;
 1685   struct linux_binfmt *binfmt ;
 1686   cpumask_var_t cpu_vm_mask_var ;
 1687   mm_context_t context ;
 1688   unsigned int faultstamp ;
 1689   unsigned int token_priority ;
 1690   unsigned int last_interval ;
 1691   atomic_t oom_disable_count ;
 1692   unsigned long flags ;
 1693   struct core_state *core_state ;
 1694   spinlock_t ioctx_lock ;
 1695   struct hlist_head ioctx_list ;
 1696   struct task_struct *owner ;
 1697   struct file *exe_file ;
 1698   unsigned long num_exe_file_vmas ;
 1699   struct mmu_notifier_mm *mmu_notifier_mm ;
 1700   pgtable_t pmd_huge_pte ;
 1701   struct cpumask cpumask_allocation ;
 1702};
 1703#line 7 "include/asm-generic/cputime.h"
 1704typedef unsigned long cputime_t;
 1705#line 118 "include/linux/sem.h"
 1706struct sem_undo_list;
 1707#line 118
 1708struct sem_undo_list;
 1709#line 118
 1710struct sem_undo_list;
 1711#line 131 "include/linux/sem.h"
 1712struct sem_undo_list {
 1713   atomic_t refcnt ;
 1714   spinlock_t lock ;
 1715   struct list_head list_proc ;
 1716};
 1717#line 140 "include/linux/sem.h"
 1718struct sysv_sem {
 1719   struct sem_undo_list *undo_list ;
 1720};
 1721#line 149
 1722struct siginfo;
 1723#line 149
 1724struct siginfo;
 1725#line 149
 1726struct siginfo;
 1727#line 149
 1728struct siginfo;
 1729#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1730struct __anonstruct_sigset_t_138 {
 1731   unsigned long sig[1U] ;
 1732};
 1733#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1734typedef struct __anonstruct_sigset_t_138 sigset_t;
 1735#line 17 "include/asm-generic/signal-defs.h"
 1736typedef void __signalfn_t(int  );
 1737#line 18 "include/asm-generic/signal-defs.h"
 1738typedef __signalfn_t *__sighandler_t;
 1739#line 20 "include/asm-generic/signal-defs.h"
 1740typedef void __restorefn_t(void);
 1741#line 21 "include/asm-generic/signal-defs.h"
 1742typedef __restorefn_t *__sigrestore_t;
 1743#line 126 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1744struct sigaction {
 1745   __sighandler_t sa_handler ;
 1746   unsigned long sa_flags ;
 1747   __sigrestore_t sa_restorer ;
 1748   sigset_t sa_mask ;
 1749};
 1750#line 173 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1751struct k_sigaction {
 1752   struct sigaction sa ;
 1753};
 1754#line 185 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1755union sigval {
 1756   int sival_int ;
 1757   void *sival_ptr ;
 1758};
 1759#line 10 "include/asm-generic/siginfo.h"
 1760typedef union sigval sigval_t;
 1761#line 11 "include/asm-generic/siginfo.h"
 1762struct __anonstruct__kill_140 {
 1763   __kernel_pid_t _pid ;
 1764   __kernel_uid32_t _uid ;
 1765};
 1766#line 11 "include/asm-generic/siginfo.h"
 1767struct __anonstruct__timer_141 {
 1768   __kernel_timer_t _tid ;
 1769   int _overrun ;
 1770   char _pad[0U] ;
 1771   sigval_t _sigval ;
 1772   int _sys_private ;
 1773};
 1774#line 11 "include/asm-generic/siginfo.h"
 1775struct __anonstruct__rt_142 {
 1776   __kernel_pid_t _pid ;
 1777   __kernel_uid32_t _uid ;
 1778   sigval_t _sigval ;
 1779};
 1780#line 11 "include/asm-generic/siginfo.h"
 1781struct __anonstruct__sigchld_143 {
 1782   __kernel_pid_t _pid ;
 1783   __kernel_uid32_t _uid ;
 1784   int _status ;
 1785   __kernel_clock_t _utime ;
 1786   __kernel_clock_t _stime ;
 1787};
 1788#line 11 "include/asm-generic/siginfo.h"
 1789struct __anonstruct__sigfault_144 {
 1790   void *_addr ;
 1791   short _addr_lsb ;
 1792};
 1793#line 11 "include/asm-generic/siginfo.h"
 1794struct __anonstruct__sigpoll_145 {
 1795   long _band ;
 1796   int _fd ;
 1797};
 1798#line 11 "include/asm-generic/siginfo.h"
 1799union __anonunion__sifields_139 {
 1800   int _pad[28U] ;
 1801   struct __anonstruct__kill_140 _kill ;
 1802   struct __anonstruct__timer_141 _timer ;
 1803   struct __anonstruct__rt_142 _rt ;
 1804   struct __anonstruct__sigchld_143 _sigchld ;
 1805   struct __anonstruct__sigfault_144 _sigfault ;
 1806   struct __anonstruct__sigpoll_145 _sigpoll ;
 1807};
 1808#line 11 "include/asm-generic/siginfo.h"
 1809struct siginfo {
 1810   int si_signo ;
 1811   int si_errno ;
 1812   int si_code ;
 1813   union __anonunion__sifields_139 _sifields ;
 1814};
 1815#line 94 "include/asm-generic/siginfo.h"
 1816typedef struct siginfo siginfo_t;
 1817#line 14 "include/linux/signal.h"
 1818struct user_struct;
 1819#line 14
 1820struct user_struct;
 1821#line 14
 1822struct user_struct;
 1823#line 24 "include/linux/signal.h"
 1824struct sigpending {
 1825   struct list_head list ;
 1826   sigset_t signal ;
 1827};
 1828#line 387
 1829enum pid_type {
 1830    PIDTYPE_PID = 0,
 1831    PIDTYPE_PGID = 1,
 1832    PIDTYPE_SID = 2,
 1833    PIDTYPE_MAX = 3
 1834} ;
 1835#line 394
 1836struct pid_namespace;
 1837#line 394
 1838struct pid_namespace;
 1839#line 394
 1840struct pid_namespace;
 1841#line 394 "include/linux/signal.h"
 1842struct upid {
 1843   int nr ;
 1844   struct pid_namespace *ns ;
 1845   struct hlist_node pid_chain ;
 1846};
 1847#line 56 "include/linux/pid.h"
 1848struct pid {
 1849   atomic_t count ;
 1850   unsigned int level ;
 1851   struct hlist_head tasks[3U] ;
 1852   struct rcu_head rcu ;
 1853   struct upid numbers[1U] ;
 1854};
 1855#line 68 "include/linux/pid.h"
 1856struct pid_link {
 1857   struct hlist_node node ;
 1858   struct pid *pid ;
 1859};
 1860#line 175 "include/linux/pid.h"
 1861struct percpu_counter {
 1862   spinlock_t lock ;
 1863   s64 count ;
 1864   struct list_head list ;
 1865   s32 *counters ;
 1866};
 1867#line 45 "include/linux/proportions.h"
 1868struct prop_local_percpu {
 1869   struct percpu_counter events ;
 1870   int shift ;
 1871   unsigned long period ;
 1872   spinlock_t lock ;
 1873};
 1874#line 90 "include/linux/proportions.h"
 1875struct prop_local_single {
 1876   unsigned long events ;
 1877   unsigned long period ;
 1878   int shift ;
 1879   spinlock_t lock ;
 1880};
 1881#line 10 "include/linux/seccomp.h"
 1882struct __anonstruct_seccomp_t_148 {
 1883   int mode ;
 1884};
 1885#line 10 "include/linux/seccomp.h"
 1886typedef struct __anonstruct_seccomp_t_148 seccomp_t;
 1887#line 427 "include/linux/rculist.h"
 1888struct plist_head {
 1889   struct list_head node_list ;
 1890   raw_spinlock_t *rawlock ;
 1891   spinlock_t *spinlock ;
 1892};
 1893#line 88 "include/linux/plist.h"
 1894struct plist_node {
 1895   int prio ;
 1896   struct list_head prio_list ;
 1897   struct list_head node_list ;
 1898};
 1899#line 38 "include/linux/rtmutex.h"
 1900struct rt_mutex_waiter;
 1901#line 38
 1902struct rt_mutex_waiter;
 1903#line 38
 1904struct rt_mutex_waiter;
 1905#line 38
 1906struct rt_mutex_waiter;
 1907#line 41 "include/linux/resource.h"
 1908struct rlimit {
 1909   unsigned long rlim_cur ;
 1910   unsigned long rlim_max ;
 1911};
 1912#line 85 "include/linux/resource.h"
 1913struct timerqueue_node {
 1914   struct rb_node node ;
 1915   ktime_t expires ;
 1916};
 1917#line 12 "include/linux/timerqueue.h"
 1918struct timerqueue_head {
 1919   struct rb_root head ;
 1920   struct timerqueue_node *next ;
 1921};
 1922#line 50
 1923struct hrtimer_clock_base;
 1924#line 50
 1925struct hrtimer_clock_base;
 1926#line 50
 1927struct hrtimer_clock_base;
 1928#line 50
 1929struct hrtimer_clock_base;
 1930#line 51
 1931struct hrtimer_cpu_base;
 1932#line 51
 1933struct hrtimer_cpu_base;
 1934#line 51
 1935struct hrtimer_cpu_base;
 1936#line 51
 1937struct hrtimer_cpu_base;
 1938#line 60
 1939enum hrtimer_restart {
 1940    HRTIMER_NORESTART = 0,
 1941    HRTIMER_RESTART = 1
 1942} ;
 1943#line 65 "include/linux/timerqueue.h"
 1944struct hrtimer {
 1945   struct timerqueue_node node ;
 1946   ktime_t _softexpires ;
 1947   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 1948   struct hrtimer_clock_base *base ;
 1949   unsigned long state ;
 1950   int start_pid ;
 1951   void *start_site ;
 1952   char start_comm[16U] ;
 1953};
 1954#line 132 "include/linux/hrtimer.h"
 1955struct hrtimer_clock_base {
 1956   struct hrtimer_cpu_base *cpu_base ;
 1957   int index ;
 1958   clockid_t clockid ;
 1959   struct timerqueue_head active ;
 1960   ktime_t resolution ;
 1961   ktime_t (*get_time)(void) ;
 1962   ktime_t softirq_time ;
 1963   ktime_t offset ;
 1964};
 1965#line 162 "include/linux/hrtimer.h"
 1966struct hrtimer_cpu_base {
 1967   raw_spinlock_t lock ;
 1968   unsigned long active_bases ;
 1969   ktime_t expires_next ;
 1970   int hres_active ;
 1971   int hang_detected ;
 1972   unsigned long nr_events ;
 1973   unsigned long nr_retries ;
 1974   unsigned long nr_hangs ;
 1975   ktime_t max_hang_time ;
 1976   struct hrtimer_clock_base clock_base[3U] ;
 1977};
 1978#line 452 "include/linux/hrtimer.h"
 1979struct task_io_accounting {
 1980   u64 rchar ;
 1981   u64 wchar ;
 1982   u64 syscr ;
 1983   u64 syscw ;
 1984   u64 read_bytes ;
 1985   u64 write_bytes ;
 1986   u64 cancelled_write_bytes ;
 1987};
 1988#line 45 "include/linux/task_io_accounting.h"
 1989struct latency_record {
 1990   unsigned long backtrace[12U] ;
 1991   unsigned int count ;
 1992   unsigned long time ;
 1993   unsigned long max ;
 1994};
 1995#line 29 "include/linux/key.h"
 1996typedef int32_t key_serial_t;
 1997#line 32 "include/linux/key.h"
 1998typedef uint32_t key_perm_t;
 1999#line 33
 2000struct key;
 2001#line 33
 2002struct key;
 2003#line 33
 2004struct key;
 2005#line 33
 2006struct key;
 2007#line 34
 2008struct signal_struct;
 2009#line 34
 2010struct signal_struct;
 2011#line 34
 2012struct signal_struct;
 2013#line 34
 2014struct signal_struct;
 2015#line 35
 2016struct key_type;
 2017#line 35
 2018struct key_type;
 2019#line 35
 2020struct key_type;
 2021#line 35
 2022struct key_type;
 2023#line 37
 2024struct keyring_list;
 2025#line 37
 2026struct keyring_list;
 2027#line 37
 2028struct keyring_list;
 2029#line 37
 2030struct keyring_list;
 2031#line 115
 2032struct key_user;
 2033#line 115
 2034struct key_user;
 2035#line 115
 2036struct key_user;
 2037#line 115 "include/linux/key.h"
 2038union __anonunion_ldv_15200_149 {
 2039   time_t expiry ;
 2040   time_t revoked_at ;
 2041};
 2042#line 115 "include/linux/key.h"
 2043union __anonunion_type_data_150 {
 2044   struct list_head link ;
 2045   unsigned long x[2U] ;
 2046   void *p[2U] ;
 2047   int reject_error ;
 2048};
 2049#line 115 "include/linux/key.h"
 2050union __anonunion_payload_151 {
 2051   unsigned long value ;
 2052   void *rcudata ;
 2053   void *data ;
 2054   struct keyring_list *subscriptions ;
 2055};
 2056#line 115 "include/linux/key.h"
 2057struct key {
 2058   atomic_t usage ;
 2059   key_serial_t serial ;
 2060   struct rb_node serial_node ;
 2061   struct key_type *type ;
 2062   struct rw_semaphore sem ;
 2063   struct key_user *user ;
 2064   void *security ;
 2065   union __anonunion_ldv_15200_149 ldv_15200 ;
 2066   uid_t uid ;
 2067   gid_t gid ;
 2068   key_perm_t perm ;
 2069   unsigned short quotalen ;
 2070   unsigned short datalen ;
 2071   unsigned long flags ;
 2072   char *description ;
 2073   union __anonunion_type_data_150 type_data ;
 2074   union __anonunion_payload_151 payload ;
 2075};
 2076#line 310
 2077struct audit_context;
 2078#line 310
 2079struct audit_context;
 2080#line 310
 2081struct audit_context;
 2082#line 310
 2083struct audit_context;
 2084#line 27 "include/linux/selinux.h"
 2085struct inode;
 2086#line 27
 2087struct inode;
 2088#line 27
 2089struct inode;
 2090#line 27
 2091struct inode;
 2092#line 28 "include/linux/selinux.h"
 2093struct group_info {
 2094   atomic_t usage ;
 2095   int ngroups ;
 2096   int nblocks ;
 2097   gid_t small_block[32U] ;
 2098   gid_t *blocks[0U] ;
 2099};
 2100#line 77 "include/linux/cred.h"
 2101struct thread_group_cred {
 2102   atomic_t usage ;
 2103   pid_t tgid ;
 2104   spinlock_t lock ;
 2105   struct key *session_keyring ;
 2106   struct key *process_keyring ;
 2107   struct rcu_head rcu ;
 2108};
 2109#line 91 "include/linux/cred.h"
 2110struct cred {
 2111   atomic_t usage ;
 2112   atomic_t subscribers ;
 2113   void *put_addr ;
 2114   unsigned int magic ;
 2115   uid_t uid ;
 2116   gid_t gid ;
 2117   uid_t suid ;
 2118   gid_t sgid ;
 2119   uid_t euid ;
 2120   gid_t egid ;
 2121   uid_t fsuid ;
 2122   gid_t fsgid ;
 2123   unsigned int securebits ;
 2124   kernel_cap_t cap_inheritable ;
 2125   kernel_cap_t cap_permitted ;
 2126   kernel_cap_t cap_effective ;
 2127   kernel_cap_t cap_bset ;
 2128   unsigned char jit_keyring ;
 2129   struct key *thread_keyring ;
 2130   struct key *request_key_auth ;
 2131   struct thread_group_cred *tgcred ;
 2132   void *security ;
 2133   struct user_struct *user ;
 2134   struct user_namespace *user_ns ;
 2135   struct group_info *group_info ;
 2136   struct rcu_head rcu ;
 2137};
 2138#line 264
 2139struct futex_pi_state;
 2140#line 264
 2141struct futex_pi_state;
 2142#line 264
 2143struct futex_pi_state;
 2144#line 264
 2145struct futex_pi_state;
 2146#line 265
 2147struct robust_list_head;
 2148#line 265
 2149struct robust_list_head;
 2150#line 265
 2151struct robust_list_head;
 2152#line 265
 2153struct robust_list_head;
 2154#line 266
 2155struct bio_list;
 2156#line 266
 2157struct bio_list;
 2158#line 266
 2159struct bio_list;
 2160#line 266
 2161struct bio_list;
 2162#line 267
 2163struct fs_struct;
 2164#line 267
 2165struct fs_struct;
 2166#line 267
 2167struct fs_struct;
 2168#line 267
 2169struct fs_struct;
 2170#line 268
 2171struct perf_event_context;
 2172#line 268
 2173struct perf_event_context;
 2174#line 268
 2175struct perf_event_context;
 2176#line 268
 2177struct perf_event_context;
 2178#line 269
 2179struct blk_plug;
 2180#line 269
 2181struct blk_plug;
 2182#line 269
 2183struct blk_plug;
 2184#line 269
 2185struct blk_plug;
 2186#line 149 "include/linux/sched.h"
 2187struct cfs_rq;
 2188#line 149
 2189struct cfs_rq;
 2190#line 149
 2191struct cfs_rq;
 2192#line 149
 2193struct cfs_rq;
 2194#line 44 "include/linux/aio_abi.h"
 2195struct io_event {
 2196   __u64 data ;
 2197   __u64 obj ;
 2198   __s64 res ;
 2199   __s64 res2 ;
 2200};
 2201#line 106 "include/linux/aio_abi.h"
 2202struct iovec {
 2203   void *iov_base ;
 2204   __kernel_size_t iov_len ;
 2205};
 2206#line 54 "include/linux/uio.h"
 2207struct kioctx;
 2208#line 54
 2209struct kioctx;
 2210#line 54
 2211struct kioctx;
 2212#line 54
 2213struct kioctx;
 2214#line 55 "include/linux/uio.h"
 2215union __anonunion_ki_obj_152 {
 2216   void *user ;
 2217   struct task_struct *tsk ;
 2218};
 2219#line 55
 2220struct eventfd_ctx;
 2221#line 55
 2222struct eventfd_ctx;
 2223#line 55
 2224struct eventfd_ctx;
 2225#line 55 "include/linux/uio.h"
 2226struct kiocb {
 2227   struct list_head ki_run_list ;
 2228   unsigned long ki_flags ;
 2229   int ki_users ;
 2230   unsigned int ki_key ;
 2231   struct file *ki_filp ;
 2232   struct kioctx *ki_ctx ;
 2233   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
 2234   ssize_t (*ki_retry)(struct kiocb * ) ;
 2235   void (*ki_dtor)(struct kiocb * ) ;
 2236   union __anonunion_ki_obj_152 ki_obj ;
 2237   __u64 ki_user_data ;
 2238   loff_t ki_pos ;
 2239   void *private ;
 2240   unsigned short ki_opcode ;
 2241   size_t ki_nbytes ;
 2242   char *ki_buf ;
 2243   size_t ki_left ;
 2244   struct iovec ki_inline_vec ;
 2245   struct iovec *ki_iovec ;
 2246   unsigned long ki_nr_segs ;
 2247   unsigned long ki_cur_seg ;
 2248   struct list_head ki_list ;
 2249   struct eventfd_ctx *ki_eventfd ;
 2250};
 2251#line 161 "include/linux/aio.h"
 2252struct aio_ring_info {
 2253   unsigned long mmap_base ;
 2254   unsigned long mmap_size ;
 2255   struct page **ring_pages ;
 2256   spinlock_t ring_lock ;
 2257   long nr_pages ;
 2258   unsigned int nr ;
 2259   unsigned int tail ;
 2260   struct page *internal_pages[8U] ;
 2261};
 2262#line 177 "include/linux/aio.h"
 2263struct kioctx {
 2264   atomic_t users ;
 2265   int dead ;
 2266   struct mm_struct *mm ;
 2267   unsigned long user_id ;
 2268   struct hlist_node list ;
 2269   wait_queue_head_t wait ;
 2270   spinlock_t ctx_lock ;
 2271   int reqs_active ;
 2272   struct list_head active_reqs ;
 2273   struct list_head run_list ;
 2274   unsigned int max_reqs ;
 2275   struct aio_ring_info ring_info ;
 2276   struct delayed_work wq ;
 2277   struct rcu_head rcu_head ;
 2278};
 2279#line 404 "include/linux/sched.h"
 2280struct sighand_struct {
 2281   atomic_t count ;
 2282   struct k_sigaction action[64U] ;
 2283   spinlock_t siglock ;
 2284   wait_queue_head_t signalfd_wqh ;
 2285};
 2286#line 447 "include/linux/sched.h"
 2287struct pacct_struct {
 2288   int ac_flag ;
 2289   long ac_exitcode ;
 2290   unsigned long ac_mem ;
 2291   cputime_t ac_utime ;
 2292   cputime_t ac_stime ;
 2293   unsigned long ac_minflt ;
 2294   unsigned long ac_majflt ;
 2295};
 2296#line 455 "include/linux/sched.h"
 2297struct cpu_itimer {
 2298   cputime_t expires ;
 2299   cputime_t incr ;
 2300   u32 error ;
 2301   u32 incr_error ;
 2302};
 2303#line 462 "include/linux/sched.h"
 2304struct task_cputime {
 2305   cputime_t utime ;
 2306   cputime_t stime ;
 2307   unsigned long long sum_exec_runtime ;
 2308};
 2309#line 479 "include/linux/sched.h"
 2310struct thread_group_cputimer {
 2311   struct task_cputime cputime ;
 2312   int running ;
 2313   spinlock_t lock ;
 2314};
 2315#line 515
 2316struct autogroup;
 2317#line 515
 2318struct autogroup;
 2319#line 515
 2320struct autogroup;
 2321#line 515
 2322struct autogroup;
 2323#line 516
 2324struct tty_struct;
 2325#line 516
 2326struct tty_struct;
 2327#line 516
 2328struct tty_struct;
 2329#line 516
 2330struct taskstats;
 2331#line 516
 2332struct taskstats;
 2333#line 516
 2334struct taskstats;
 2335#line 516
 2336struct tty_audit_buf;
 2337#line 516
 2338struct tty_audit_buf;
 2339#line 516
 2340struct tty_audit_buf;
 2341#line 516 "include/linux/sched.h"
 2342struct signal_struct {
 2343   atomic_t sigcnt ;
 2344   atomic_t live ;
 2345   int nr_threads ;
 2346   wait_queue_head_t wait_chldexit ;
 2347   struct task_struct *curr_target ;
 2348   struct sigpending shared_pending ;
 2349   int group_exit_code ;
 2350   int notify_count ;
 2351   struct task_struct *group_exit_task ;
 2352   int group_stop_count ;
 2353   unsigned int flags ;
 2354   struct list_head posix_timers ;
 2355   struct hrtimer real_timer ;
 2356   struct pid *leader_pid ;
 2357   ktime_t it_real_incr ;
 2358   struct cpu_itimer it[2U] ;
 2359   struct thread_group_cputimer cputimer ;
 2360   struct task_cputime cputime_expires ;
 2361   struct list_head cpu_timers[3U] ;
 2362   struct pid *tty_old_pgrp ;
 2363   int leader ;
 2364   struct tty_struct *tty ;
 2365   struct autogroup *autogroup ;
 2366   cputime_t utime ;
 2367   cputime_t stime ;
 2368   cputime_t cutime ;
 2369   cputime_t cstime ;
 2370   cputime_t gtime ;
 2371   cputime_t cgtime ;
 2372   cputime_t prev_utime ;
 2373   cputime_t prev_stime ;
 2374   unsigned long nvcsw ;
 2375   unsigned long nivcsw ;
 2376   unsigned long cnvcsw ;
 2377   unsigned long cnivcsw ;
 2378   unsigned long min_flt ;
 2379   unsigned long maj_flt ;
 2380   unsigned long cmin_flt ;
 2381   unsigned long cmaj_flt ;
 2382   unsigned long inblock ;
 2383   unsigned long oublock ;
 2384   unsigned long cinblock ;
 2385   unsigned long coublock ;
 2386   unsigned long maxrss ;
 2387   unsigned long cmaxrss ;
 2388   struct task_io_accounting ioac ;
 2389   unsigned long long sum_sched_runtime ;
 2390   struct rlimit rlim[16U] ;
 2391   struct pacct_struct pacct ;
 2392   struct taskstats *stats ;
 2393   unsigned int audit_tty ;
 2394   struct tty_audit_buf *tty_audit_buf ;
 2395   struct rw_semaphore threadgroup_fork_lock ;
 2396   int oom_adj ;
 2397   int oom_score_adj ;
 2398   int oom_score_adj_min ;
 2399   struct mutex cred_guard_mutex ;
 2400};
 2401#line 683 "include/linux/sched.h"
 2402struct user_struct {
 2403   atomic_t __count ;
 2404   atomic_t processes ;
 2405   atomic_t files ;
 2406   atomic_t sigpending ;
 2407   atomic_t inotify_watches ;
 2408   atomic_t inotify_devs ;
 2409   atomic_t fanotify_listeners ;
 2410   atomic_long_t epoll_watches ;
 2411   unsigned long mq_bytes ;
 2412   unsigned long locked_shm ;
 2413   struct key *uid_keyring ;
 2414   struct key *session_keyring ;
 2415   struct hlist_node uidhash_node ;
 2416   uid_t uid ;
 2417   struct user_namespace *user_ns ;
 2418   atomic_long_t locked_vm ;
 2419};
 2420#line 728
 2421struct backing_dev_info;
 2422#line 728
 2423struct backing_dev_info;
 2424#line 728
 2425struct backing_dev_info;
 2426#line 728
 2427struct backing_dev_info;
 2428#line 729
 2429struct reclaim_state;
 2430#line 729
 2431struct reclaim_state;
 2432#line 729
 2433struct reclaim_state;
 2434#line 729
 2435struct reclaim_state;
 2436#line 730 "include/linux/sched.h"
 2437struct sched_info {
 2438   unsigned long pcount ;
 2439   unsigned long long run_delay ;
 2440   unsigned long long last_arrival ;
 2441   unsigned long long last_queued ;
 2442};
 2443#line 744 "include/linux/sched.h"
 2444struct task_delay_info {
 2445   spinlock_t lock ;
 2446   unsigned int flags ;
 2447   struct timespec blkio_start ;
 2448   struct timespec blkio_end ;
 2449   u64 blkio_delay ;
 2450   u64 swapin_delay ;
 2451   u32 blkio_count ;
 2452   u32 swapin_count ;
 2453   struct timespec freepages_start ;
 2454   struct timespec freepages_end ;
 2455   u64 freepages_delay ;
 2456   u32 freepages_count ;
 2457};
 2458#line 1037
 2459struct io_context;
 2460#line 1037
 2461struct io_context;
 2462#line 1037
 2463struct io_context;
 2464#line 1037
 2465struct io_context;
 2466#line 1059
 2467struct pipe_inode_info;
 2468#line 1059
 2469struct pipe_inode_info;
 2470#line 1059
 2471struct pipe_inode_info;
 2472#line 1059
 2473struct pipe_inode_info;
 2474#line 1061
 2475struct rq;
 2476#line 1061
 2477struct rq;
 2478#line 1061
 2479struct rq;
 2480#line 1061
 2481struct rq;
 2482#line 1062 "include/linux/sched.h"
 2483struct sched_class {
 2484   struct sched_class  const  *next ;
 2485   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
 2486   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
 2487   void (*yield_task)(struct rq * ) ;
 2488   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
 2489   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
 2490   struct task_struct *(*pick_next_task)(struct rq * ) ;
 2491   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
 2492   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
 2493   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
 2494   void (*post_schedule)(struct rq * ) ;
 2495   void (*task_waking)(struct task_struct * ) ;
 2496   void (*task_woken)(struct rq * , struct task_struct * ) ;
 2497   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
 2498   void (*rq_online)(struct rq * ) ;
 2499   void (*rq_offline)(struct rq * ) ;
 2500   void (*set_curr_task)(struct rq * ) ;
 2501   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
 2502   void (*task_fork)(struct task_struct * ) ;
 2503   void (*switched_from)(struct rq * , struct task_struct * ) ;
 2504   void (*switched_to)(struct rq * , struct task_struct * ) ;
 2505   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
 2506   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
 2507   void (*task_move_group)(struct task_struct * , int  ) ;
 2508};
 2509#line 1127 "include/linux/sched.h"
 2510struct load_weight {
 2511   unsigned long weight ;
 2512   unsigned long inv_weight ;
 2513};
 2514#line 1132 "include/linux/sched.h"
 2515struct sched_statistics {
 2516   u64 wait_start ;
 2517   u64 wait_max ;
 2518   u64 wait_count ;
 2519   u64 wait_sum ;
 2520   u64 iowait_count ;
 2521   u64 iowait_sum ;
 2522   u64 sleep_start ;
 2523   u64 sleep_max ;
 2524   s64 sum_sleep_runtime ;
 2525   u64 block_start ;
 2526   u64 block_max ;
 2527   u64 exec_max ;
 2528   u64 slice_max ;
 2529   u64 nr_migrations_cold ;
 2530   u64 nr_failed_migrations_affine ;
 2531   u64 nr_failed_migrations_running ;
 2532   u64 nr_failed_migrations_hot ;
 2533   u64 nr_forced_migrations ;
 2534   u64 nr_wakeups ;
 2535   u64 nr_wakeups_sync ;
 2536   u64 nr_wakeups_migrate ;
 2537   u64 nr_wakeups_local ;
 2538   u64 nr_wakeups_remote ;
 2539   u64 nr_wakeups_affine ;
 2540   u64 nr_wakeups_affine_attempts ;
 2541   u64 nr_wakeups_passive ;
 2542   u64 nr_wakeups_idle ;
 2543};
 2544#line 1167 "include/linux/sched.h"
 2545struct sched_entity {
 2546   struct load_weight load ;
 2547   struct rb_node run_node ;
 2548   struct list_head group_node ;
 2549   unsigned int on_rq ;
 2550   u64 exec_start ;
 2551   u64 sum_exec_runtime ;
 2552   u64 vruntime ;
 2553   u64 prev_sum_exec_runtime ;
 2554   u64 nr_migrations ;
 2555   struct sched_statistics statistics ;
 2556   struct sched_entity *parent ;
 2557   struct cfs_rq *cfs_rq ;
 2558   struct cfs_rq *my_q ;
 2559};
 2560#line 1193
 2561struct rt_rq;
 2562#line 1193
 2563struct rt_rq;
 2564#line 1193
 2565struct rt_rq;
 2566#line 1193 "include/linux/sched.h"
 2567struct sched_rt_entity {
 2568   struct list_head run_list ;
 2569   unsigned long timeout ;
 2570   unsigned int time_slice ;
 2571   int nr_cpus_allowed ;
 2572   struct sched_rt_entity *back ;
 2573   struct sched_rt_entity *parent ;
 2574   struct rt_rq *rt_rq ;
 2575   struct rt_rq *my_q ;
 2576};
 2577#line 1217
 2578struct mem_cgroup;
 2579#line 1217
 2580struct mem_cgroup;
 2581#line 1217
 2582struct mem_cgroup;
 2583#line 1217 "include/linux/sched.h"
 2584struct memcg_batch_info {
 2585   int do_batch ;
 2586   struct mem_cgroup *memcg ;
 2587   unsigned long nr_pages ;
 2588   unsigned long memsw_nr_pages ;
 2589};
 2590#line 1569
 2591struct files_struct;
 2592#line 1569
 2593struct files_struct;
 2594#line 1569
 2595struct files_struct;
 2596#line 1569
 2597struct irqaction;
 2598#line 1569
 2599struct irqaction;
 2600#line 1569
 2601struct irqaction;
 2602#line 1569
 2603struct css_set;
 2604#line 1569
 2605struct css_set;
 2606#line 1569
 2607struct css_set;
 2608#line 1569
 2609struct compat_robust_list_head;
 2610#line 1569
 2611struct compat_robust_list_head;
 2612#line 1569
 2613struct compat_robust_list_head;
 2614#line 1569
 2615struct ftrace_ret_stack;
 2616#line 1569
 2617struct ftrace_ret_stack;
 2618#line 1569
 2619struct ftrace_ret_stack;
 2620#line 1569 "include/linux/sched.h"
 2621struct task_struct {
 2622   long volatile   state ;
 2623   void *stack ;
 2624   atomic_t usage ;
 2625   unsigned int flags ;
 2626   unsigned int ptrace ;
 2627   struct task_struct *wake_entry ;
 2628   int on_cpu ;
 2629   int on_rq ;
 2630   int prio ;
 2631   int static_prio ;
 2632   int normal_prio ;
 2633   unsigned int rt_priority ;
 2634   struct sched_class  const  *sched_class ;
 2635   struct sched_entity se ;
 2636   struct sched_rt_entity rt ;
 2637   struct hlist_head preempt_notifiers ;
 2638   unsigned char fpu_counter ;
 2639   unsigned int btrace_seq ;
 2640   unsigned int policy ;
 2641   cpumask_t cpus_allowed ;
 2642   struct sched_info sched_info ;
 2643   struct list_head tasks ;
 2644   struct plist_node pushable_tasks ;
 2645   struct mm_struct *mm ;
 2646   struct mm_struct *active_mm ;
 2647   unsigned char brk_randomized : 1 ;
 2648   int exit_state ;
 2649   int exit_code ;
 2650   int exit_signal ;
 2651   int pdeath_signal ;
 2652   unsigned int group_stop ;
 2653   unsigned int personality ;
 2654   unsigned char did_exec : 1 ;
 2655   unsigned char in_execve : 1 ;
 2656   unsigned char in_iowait : 1 ;
 2657   unsigned char sched_reset_on_fork : 1 ;
 2658   unsigned char sched_contributes_to_load : 1 ;
 2659   pid_t pid ;
 2660   pid_t tgid ;
 2661   unsigned long stack_canary ;
 2662   struct task_struct *real_parent ;
 2663   struct task_struct *parent ;
 2664   struct list_head children ;
 2665   struct list_head sibling ;
 2666   struct task_struct *group_leader ;
 2667   struct list_head ptraced ;
 2668   struct list_head ptrace_entry ;
 2669   struct pid_link pids[3U] ;
 2670   struct list_head thread_group ;
 2671   struct completion *vfork_done ;
 2672   int *set_child_tid ;
 2673   int *clear_child_tid ;
 2674   cputime_t utime ;
 2675   cputime_t stime ;
 2676   cputime_t utimescaled ;
 2677   cputime_t stimescaled ;
 2678   cputime_t gtime ;
 2679   cputime_t prev_utime ;
 2680   cputime_t prev_stime ;
 2681   unsigned long nvcsw ;
 2682   unsigned long nivcsw ;
 2683   struct timespec start_time ;
 2684   struct timespec real_start_time ;
 2685   unsigned long min_flt ;
 2686   unsigned long maj_flt ;
 2687   struct task_cputime cputime_expires ;
 2688   struct list_head cpu_timers[3U] ;
 2689   struct cred  const  *real_cred ;
 2690   struct cred  const  *cred ;
 2691   struct cred *replacement_session_keyring ;
 2692   char comm[16U] ;
 2693   int link_count ;
 2694   int total_link_count ;
 2695   struct sysv_sem sysvsem ;
 2696   unsigned long last_switch_count ;
 2697   struct thread_struct thread ;
 2698   struct fs_struct *fs ;
 2699   struct files_struct *files ;
 2700   struct nsproxy *nsproxy ;
 2701   struct signal_struct *signal ;
 2702   struct sighand_struct *sighand ;
 2703   sigset_t blocked ;
 2704   sigset_t real_blocked ;
 2705   sigset_t saved_sigmask ;
 2706   struct sigpending pending ;
 2707   unsigned long sas_ss_sp ;
 2708   size_t sas_ss_size ;
 2709   int (*notifier)(void * ) ;
 2710   void *notifier_data ;
 2711   sigset_t *notifier_mask ;
 2712   struct audit_context *audit_context ;
 2713   uid_t loginuid ;
 2714   unsigned int sessionid ;
 2715   seccomp_t seccomp ;
 2716   u32 parent_exec_id ;
 2717   u32 self_exec_id ;
 2718   spinlock_t alloc_lock ;
 2719   struct irqaction *irqaction ;
 2720   raw_spinlock_t pi_lock ;
 2721   struct plist_head pi_waiters ;
 2722   struct rt_mutex_waiter *pi_blocked_on ;
 2723   struct mutex_waiter *blocked_on ;
 2724   unsigned int irq_events ;
 2725   unsigned long hardirq_enable_ip ;
 2726   unsigned long hardirq_disable_ip ;
 2727   unsigned int hardirq_enable_event ;
 2728   unsigned int hardirq_disable_event ;
 2729   int hardirqs_enabled ;
 2730   int hardirq_context ;
 2731   unsigned long softirq_disable_ip ;
 2732   unsigned long softirq_enable_ip ;
 2733   unsigned int softirq_disable_event ;
 2734   unsigned int softirq_enable_event ;
 2735   int softirqs_enabled ;
 2736   int softirq_context ;
 2737   u64 curr_chain_key ;
 2738   int lockdep_depth ;
 2739   unsigned int lockdep_recursion ;
 2740   struct held_lock held_locks[48U] ;
 2741   gfp_t lockdep_reclaim_gfp ;
 2742   void *journal_info ;
 2743   struct bio_list *bio_list ;
 2744   struct blk_plug *plug ;
 2745   struct reclaim_state *reclaim_state ;
 2746   struct backing_dev_info *backing_dev_info ;
 2747   struct io_context *io_context ;
 2748   unsigned long ptrace_message ;
 2749   siginfo_t *last_siginfo ;
 2750   struct task_io_accounting ioac ;
 2751   u64 acct_rss_mem1 ;
 2752   u64 acct_vm_mem1 ;
 2753   cputime_t acct_timexpd ;
 2754   nodemask_t mems_allowed ;
 2755   int mems_allowed_change_disable ;
 2756   int cpuset_mem_spread_rotor ;
 2757   int cpuset_slab_spread_rotor ;
 2758   struct css_set *cgroups ;
 2759   struct list_head cg_list ;
 2760   struct robust_list_head *robust_list ;
 2761   struct compat_robust_list_head *compat_robust_list ;
 2762   struct list_head pi_state_list ;
 2763   struct futex_pi_state *pi_state_cache ;
 2764   struct perf_event_context *perf_event_ctxp[2U] ;
 2765   struct mutex perf_event_mutex ;
 2766   struct list_head perf_event_list ;
 2767   struct mempolicy *mempolicy ;
 2768   short il_next ;
 2769   short pref_node_fork ;
 2770   atomic_t fs_excl ;
 2771   struct rcu_head rcu ;
 2772   struct pipe_inode_info *splice_pipe ;
 2773   struct task_delay_info *delays ;
 2774   int make_it_fail ;
 2775   struct prop_local_single dirties ;
 2776   int latency_record_count ;
 2777   struct latency_record latency_record[32U] ;
 2778   unsigned long timer_slack_ns ;
 2779   unsigned long default_timer_slack_ns ;
 2780   struct list_head *scm_work_list ;
 2781   int curr_ret_stack ;
 2782   struct ftrace_ret_stack *ret_stack ;
 2783   unsigned long long ftrace_timestamp ;
 2784   atomic_t trace_overrun ;
 2785   atomic_t tracing_graph_pause ;
 2786   unsigned long trace ;
 2787   unsigned long trace_recursion ;
 2788   struct memcg_batch_info memcg_batch ;
 2789   atomic_t ptrace_bp_refcnt ;
 2790};
 2791#line 118 "include/linux/kmemleak.h"
 2792struct kmem_cache_cpu {
 2793   void **freelist ;
 2794   unsigned long tid ;
 2795   struct page *page ;
 2796   int node ;
 2797   unsigned int stat[19U] ;
 2798};
 2799#line 46 "include/linux/slub_def.h"
 2800struct kmem_cache_node {
 2801   spinlock_t list_lock ;
 2802   unsigned long nr_partial ;
 2803   struct list_head partial ;
 2804   atomic_long_t nr_slabs ;
 2805   atomic_long_t total_objects ;
 2806   struct list_head full ;
 2807};
 2808#line 57 "include/linux/slub_def.h"
 2809struct kmem_cache_order_objects {
 2810   unsigned long x ;
 2811};
 2812#line 67 "include/linux/slub_def.h"
 2813struct kmem_cache {
 2814   struct kmem_cache_cpu *cpu_slab ;
 2815   unsigned long flags ;
 2816   unsigned long min_partial ;
 2817   int size ;
 2818   int objsize ;
 2819   int offset ;
 2820   struct kmem_cache_order_objects oo ;
 2821   struct kmem_cache_order_objects max ;
 2822   struct kmem_cache_order_objects min ;
 2823   gfp_t allocflags ;
 2824   int refcount ;
 2825   void (*ctor)(void * ) ;
 2826   int inuse ;
 2827   int align ;
 2828   int reserved ;
 2829   char const   *name ;
 2830   struct list_head list ;
 2831   struct kobject kobj ;
 2832   int remote_node_defrag_ratio ;
 2833   struct kmem_cache_node *node[1024U] ;
 2834};
 2835#line 25 "include/linux/genhd.h"
 2836struct device_type;
 2837#line 25
 2838struct device_type;
 2839#line 25
 2840struct device_type;
 2841#line 27
 2842struct class;
 2843#line 27
 2844struct class;
 2845#line 27
 2846struct class;
 2847#line 51
 2848struct klist_node;
 2849#line 51
 2850struct klist_node;
 2851#line 51
 2852struct klist_node;
 2853#line 51
 2854struct klist_node;
 2855#line 37 "include/linux/klist.h"
 2856struct klist_node {
 2857   void *n_klist ;
 2858   struct list_head n_node ;
 2859   struct kref n_ref ;
 2860};
 2861#line 67
 2862struct dma_map_ops;
 2863#line 67
 2864struct dma_map_ops;
 2865#line 67
 2866struct dma_map_ops;
 2867#line 67 "include/linux/klist.h"
 2868struct dev_archdata {
 2869   void *acpi_handle ;
 2870   struct dma_map_ops *dma_ops ;
 2871   void *iommu ;
 2872};
 2873#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 2874struct device_private;
 2875#line 17
 2876struct device_private;
 2877#line 17
 2878struct device_private;
 2879#line 17
 2880struct device_private;
 2881#line 18
 2882struct device_driver;
 2883#line 18
 2884struct device_driver;
 2885#line 18
 2886struct device_driver;
 2887#line 18
 2888struct device_driver;
 2889#line 19
 2890struct driver_private;
 2891#line 19
 2892struct driver_private;
 2893#line 19
 2894struct driver_private;
 2895#line 19
 2896struct driver_private;
 2897#line 20
 2898struct subsys_private;
 2899#line 20
 2900struct subsys_private;
 2901#line 20
 2902struct subsys_private;
 2903#line 20
 2904struct subsys_private;
 2905#line 21
 2906struct bus_type;
 2907#line 21
 2908struct bus_type;
 2909#line 21
 2910struct bus_type;
 2911#line 21
 2912struct bus_type;
 2913#line 22
 2914struct device_node;
 2915#line 22
 2916struct device_node;
 2917#line 22
 2918struct device_node;
 2919#line 22
 2920struct device_node;
 2921#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 2922struct bus_attribute {
 2923   struct attribute attr ;
 2924   ssize_t (*show)(struct bus_type * , char * ) ;
 2925   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 2926};
 2927#line 49 "include/linux/device.h"
 2928struct device_attribute;
 2929#line 49
 2930struct device_attribute;
 2931#line 49
 2932struct device_attribute;
 2933#line 49
 2934struct driver_attribute;
 2935#line 49
 2936struct driver_attribute;
 2937#line 49
 2938struct driver_attribute;
 2939#line 49 "include/linux/device.h"
 2940struct bus_type {
 2941   char const   *name ;
 2942   struct bus_attribute *bus_attrs ;
 2943   struct device_attribute *dev_attrs ;
 2944   struct driver_attribute *drv_attrs ;
 2945   int (*match)(struct device * , struct device_driver * ) ;
 2946   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 2947   int (*probe)(struct device * ) ;
 2948   int (*remove)(struct device * ) ;
 2949   void (*shutdown)(struct device * ) ;
 2950   int (*suspend)(struct device * , pm_message_t  ) ;
 2951   int (*resume)(struct device * ) ;
 2952   struct dev_pm_ops  const  *pm ;
 2953   struct subsys_private *p ;
 2954};
 2955#line 153
 2956struct of_device_id;
 2957#line 153
 2958struct of_device_id;
 2959#line 153
 2960struct of_device_id;
 2961#line 153 "include/linux/device.h"
 2962struct device_driver {
 2963   char const   *name ;
 2964   struct bus_type *bus ;
 2965   struct module *owner ;
 2966   char const   *mod_name ;
 2967   bool suppress_bind_attrs ;
 2968   struct of_device_id  const  *of_match_table ;
 2969   int (*probe)(struct device * ) ;
 2970   int (*remove)(struct device * ) ;
 2971   void (*shutdown)(struct device * ) ;
 2972   int (*suspend)(struct device * , pm_message_t  ) ;
 2973   int (*resume)(struct device * ) ;
 2974   struct attribute_group  const  **groups ;
 2975   struct dev_pm_ops  const  *pm ;
 2976   struct driver_private *p ;
 2977};
 2978#line 218 "include/linux/device.h"
 2979struct driver_attribute {
 2980   struct attribute attr ;
 2981   ssize_t (*show)(struct device_driver * , char * ) ;
 2982   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 2983};
 2984#line 248
 2985struct class_attribute;
 2986#line 248
 2987struct class_attribute;
 2988#line 248
 2989struct class_attribute;
 2990#line 248 "include/linux/device.h"
 2991struct class {
 2992   char const   *name ;
 2993   struct module *owner ;
 2994   struct class_attribute *class_attrs ;
 2995   struct device_attribute *dev_attrs ;
 2996   struct bin_attribute *dev_bin_attrs ;
 2997   struct kobject *dev_kobj ;
 2998   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 2999   char *(*devnode)(struct device * , mode_t * ) ;
 3000   void (*class_release)(struct class * ) ;
 3001   void (*dev_release)(struct device * ) ;
 3002   int (*suspend)(struct device * , pm_message_t  ) ;
 3003   int (*resume)(struct device * ) ;
 3004   struct kobj_ns_type_operations  const  *ns_type ;
 3005   void const   *(*namespace)(struct device * ) ;
 3006   struct dev_pm_ops  const  *pm ;
 3007   struct subsys_private *p ;
 3008};
 3009#line 344 "include/linux/device.h"
 3010struct class_attribute {
 3011   struct attribute attr ;
 3012   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 3013   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 3014};
 3015#line 395 "include/linux/device.h"
 3016struct device_type {
 3017   char const   *name ;
 3018   struct attribute_group  const  **groups ;
 3019   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 3020   char *(*devnode)(struct device * , mode_t * ) ;
 3021   void (*release)(struct device * ) ;
 3022   struct dev_pm_ops  const  *pm ;
 3023};
 3024#line 422 "include/linux/device.h"
 3025struct device_attribute {
 3026   struct attribute attr ;
 3027   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 3028   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 3029                    size_t  ) ;
 3030};
 3031#line 483 "include/linux/device.h"
 3032struct device_dma_parameters {
 3033   unsigned int max_segment_size ;
 3034   unsigned long segment_boundary_mask ;
 3035};
 3036#line 492
 3037struct dma_coherent_mem;
 3038#line 492
 3039struct dma_coherent_mem;
 3040#line 492
 3041struct dma_coherent_mem;
 3042#line 492 "include/linux/device.h"
 3043struct device {
 3044   struct device *parent ;
 3045   struct device_private *p ;
 3046   struct kobject kobj ;
 3047   char const   *init_name ;
 3048   struct device_type  const  *type ;
 3049   struct mutex mutex ;
 3050   struct bus_type *bus ;
 3051   struct device_driver *driver ;
 3052   void *platform_data ;
 3053   struct dev_pm_info power ;
 3054   struct dev_power_domain *pwr_domain ;
 3055   int numa_node ;
 3056   u64 *dma_mask ;
 3057   u64 coherent_dma_mask ;
 3058   struct device_dma_parameters *dma_parms ;
 3059   struct list_head dma_pools ;
 3060   struct dma_coherent_mem *dma_mem ;
 3061   struct dev_archdata archdata ;
 3062   struct device_node *of_node ;
 3063   dev_t devt ;
 3064   spinlock_t devres_lock ;
 3065   struct list_head devres_head ;
 3066   struct klist_node knode_class ;
 3067   struct class *class ;
 3068   struct attribute_group  const  **groups ;
 3069   void (*release)(struct device * ) ;
 3070};
 3071#line 604 "include/linux/device.h"
 3072struct wakeup_source {
 3073   char *name ;
 3074   struct list_head entry ;
 3075   spinlock_t lock ;
 3076   struct timer_list timer ;
 3077   unsigned long timer_expires ;
 3078   ktime_t total_time ;
 3079   ktime_t max_time ;
 3080   ktime_t last_time ;
 3081   unsigned long event_count ;
 3082   unsigned long active_count ;
 3083   unsigned long relax_count ;
 3084   unsigned long hit_count ;
 3085   unsigned char active : 1 ;
 3086};
 3087#line 904
 3088struct bio;
 3089#line 904
 3090struct bio;
 3091#line 904
 3092struct bio;
 3093#line 904
 3094struct bio;
 3095#line 905
 3096struct bio_integrity_payload;
 3097#line 905
 3098struct bio_integrity_payload;
 3099#line 905
 3100struct bio_integrity_payload;
 3101#line 905
 3102struct bio_integrity_payload;
 3103#line 906
 3104struct block_device;
 3105#line 906
 3106struct block_device;
 3107#line 906
 3108struct block_device;
 3109#line 906
 3110struct block_device;
 3111#line 17 "include/linux/blk_types.h"
 3112typedef void bio_end_io_t(struct bio * , int  );
 3113#line 18 "include/linux/blk_types.h"
 3114typedef void bio_destructor_t(struct bio * );
 3115#line 19 "include/linux/blk_types.h"
 3116struct bio_vec {
 3117   struct page *bv_page ;
 3118   unsigned int bv_len ;
 3119   unsigned int bv_offset ;
 3120};
 3121#line 28 "include/linux/blk_types.h"
 3122struct bio {
 3123   sector_t bi_sector ;
 3124   struct bio *bi_next ;
 3125   struct block_device *bi_bdev ;
 3126   unsigned long bi_flags ;
 3127   unsigned long bi_rw ;
 3128   unsigned short bi_vcnt ;
 3129   unsigned short bi_idx ;
 3130   unsigned int bi_phys_segments ;
 3131   unsigned int bi_size ;
 3132   unsigned int bi_seg_front_size ;
 3133   unsigned int bi_seg_back_size ;
 3134   unsigned int bi_max_vecs ;
 3135   unsigned int bi_comp_cpu ;
 3136   atomic_t bi_cnt ;
 3137   struct bio_vec *bi_io_vec ;
 3138   bio_end_io_t *bi_end_io ;
 3139   void *bi_private ;
 3140   struct bio_integrity_payload *bi_integrity ;
 3141   bio_destructor_t *bi_destructor ;
 3142   struct bio_vec bi_inline_vecs[0U] ;
 3143};
 3144#line 92 "include/linux/bit_spinlock.h"
 3145struct hlist_bl_node;
 3146#line 92
 3147struct hlist_bl_node;
 3148#line 92
 3149struct hlist_bl_node;
 3150#line 92 "include/linux/bit_spinlock.h"
 3151struct hlist_bl_head {
 3152   struct hlist_bl_node *first ;
 3153};
 3154#line 36 "include/linux/list_bl.h"
 3155struct hlist_bl_node {
 3156   struct hlist_bl_node *next ;
 3157   struct hlist_bl_node **pprev ;
 3158};
 3159#line 114 "include/linux/rculist_bl.h"
 3160struct nameidata;
 3161#line 114
 3162struct nameidata;
 3163#line 114
 3164struct nameidata;
 3165#line 114
 3166struct nameidata;
 3167#line 115
 3168struct path;
 3169#line 115
 3170struct path;
 3171#line 115
 3172struct path;
 3173#line 115
 3174struct path;
 3175#line 116
 3176struct vfsmount;
 3177#line 116
 3178struct vfsmount;
 3179#line 116
 3180struct vfsmount;
 3181#line 116
 3182struct vfsmount;
 3183#line 117 "include/linux/rculist_bl.h"
 3184struct qstr {
 3185   unsigned int hash ;
 3186   unsigned int len ;
 3187   unsigned char const   *name ;
 3188};
 3189#line 100 "include/linux/dcache.h"
 3190struct dentry_operations;
 3191#line 100
 3192struct dentry_operations;
 3193#line 100
 3194struct dentry_operations;
 3195#line 100
 3196struct super_block;
 3197#line 100
 3198struct super_block;
 3199#line 100
 3200struct super_block;
 3201#line 100 "include/linux/dcache.h"
 3202union __anonunion_d_u_154 {
 3203   struct list_head d_child ;
 3204   struct rcu_head d_rcu ;
 3205};
 3206#line 100 "include/linux/dcache.h"
 3207struct dentry {
 3208   unsigned int d_flags ;
 3209   seqcount_t d_seq ;
 3210   struct hlist_bl_node d_hash ;
 3211   struct dentry *d_parent ;
 3212   struct qstr d_name ;
 3213   struct inode *d_inode ;
 3214   unsigned char d_iname[32U] ;
 3215   unsigned int d_count ;
 3216   spinlock_t d_lock ;
 3217   struct dentry_operations  const  *d_op ;
 3218   struct super_block *d_sb ;
 3219   unsigned long d_time ;
 3220   void *d_fsdata ;
 3221   struct list_head d_lru ;
 3222   union __anonunion_d_u_154 d_u ;
 3223   struct list_head d_subdirs ;
 3224   struct list_head d_alias ;
 3225};
 3226#line 151 "include/linux/dcache.h"
 3227struct dentry_operations {
 3228   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 3229   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 3230   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 3231                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 3232   int (*d_delete)(struct dentry  const  * ) ;
 3233   void (*d_release)(struct dentry * ) ;
 3234   void (*d_iput)(struct dentry * , struct inode * ) ;
 3235   char *(*d_dname)(struct dentry * , char * , int  ) ;
 3236   struct vfsmount *(*d_automount)(struct path * ) ;
 3237   int (*d_manage)(struct dentry * , bool  ) ;
 3238};
 3239#line 422 "include/linux/dcache.h"
 3240struct path {
 3241   struct vfsmount *mnt ;
 3242   struct dentry *dentry ;
 3243};
 3244#line 51 "include/linux/radix-tree.h"
 3245struct radix_tree_node;
 3246#line 51
 3247struct radix_tree_node;
 3248#line 51
 3249struct radix_tree_node;
 3250#line 51 "include/linux/radix-tree.h"
 3251struct radix_tree_root {
 3252   unsigned int height ;
 3253   gfp_t gfp_mask ;
 3254   struct radix_tree_node *rnode ;
 3255};
 3256#line 45 "include/linux/semaphore.h"
 3257struct fiemap_extent {
 3258   __u64 fe_logical ;
 3259   __u64 fe_physical ;
 3260   __u64 fe_length ;
 3261   __u64 fe_reserved64[2U] ;
 3262   __u32 fe_flags ;
 3263   __u32 fe_reserved[3U] ;
 3264};
 3265#line 38 "include/linux/fiemap.h"
 3266struct export_operations;
 3267#line 38
 3268struct export_operations;
 3269#line 38
 3270struct export_operations;
 3271#line 38
 3272struct export_operations;
 3273#line 39
 3274struct hd_geometry;
 3275#line 39
 3276struct hd_geometry;
 3277#line 39
 3278struct hd_geometry;
 3279#line 39
 3280struct hd_geometry;
 3281#line 40
 3282struct poll_table_struct;
 3283#line 40
 3284struct poll_table_struct;
 3285#line 40
 3286struct poll_table_struct;
 3287#line 40
 3288struct poll_table_struct;
 3289#line 41
 3290struct kstatfs;
 3291#line 41
 3292struct kstatfs;
 3293#line 41
 3294struct kstatfs;
 3295#line 41
 3296struct kstatfs;
 3297#line 426 "include/linux/fs.h"
 3298struct iattr {
 3299   unsigned int ia_valid ;
 3300   umode_t ia_mode ;
 3301   uid_t ia_uid ;
 3302   gid_t ia_gid ;
 3303   loff_t ia_size ;
 3304   struct timespec ia_atime ;
 3305   struct timespec ia_mtime ;
 3306   struct timespec ia_ctime ;
 3307   struct file *ia_file ;
 3308};
 3309#line 119 "include/linux/quota.h"
 3310struct if_dqinfo {
 3311   __u64 dqi_bgrace ;
 3312   __u64 dqi_igrace ;
 3313   __u32 dqi_flags ;
 3314   __u32 dqi_valid ;
 3315};
 3316#line 152 "include/linux/quota.h"
 3317struct fs_disk_quota {
 3318   __s8 d_version ;
 3319   __s8 d_flags ;
 3320   __u16 d_fieldmask ;
 3321   __u32 d_id ;
 3322   __u64 d_blk_hardlimit ;
 3323   __u64 d_blk_softlimit ;
 3324   __u64 d_ino_hardlimit ;
 3325   __u64 d_ino_softlimit ;
 3326   __u64 d_bcount ;
 3327   __u64 d_icount ;
 3328   __s32 d_itimer ;
 3329   __s32 d_btimer ;
 3330   __u16 d_iwarns ;
 3331   __u16 d_bwarns ;
 3332   __s32 d_padding2 ;
 3333   __u64 d_rtb_hardlimit ;
 3334   __u64 d_rtb_softlimit ;
 3335   __u64 d_rtbcount ;
 3336   __s32 d_rtbtimer ;
 3337   __u16 d_rtbwarns ;
 3338   __s16 d_padding3 ;
 3339   char d_padding4[8U] ;
 3340};
 3341#line 75 "include/linux/dqblk_xfs.h"
 3342struct fs_qfilestat {
 3343   __u64 qfs_ino ;
 3344   __u64 qfs_nblks ;
 3345   __u32 qfs_nextents ;
 3346};
 3347#line 150 "include/linux/dqblk_xfs.h"
 3348typedef struct fs_qfilestat fs_qfilestat_t;
 3349#line 151 "include/linux/dqblk_xfs.h"
 3350struct fs_quota_stat {
 3351   __s8 qs_version ;
 3352   __u16 qs_flags ;
 3353   __s8 qs_pad ;
 3354   fs_qfilestat_t qs_uquota ;
 3355   fs_qfilestat_t qs_gquota ;
 3356   __u32 qs_incoredqs ;
 3357   __s32 qs_btimelimit ;
 3358   __s32 qs_itimelimit ;
 3359   __s32 qs_rtbtimelimit ;
 3360   __u16 qs_bwarnlimit ;
 3361   __u16 qs_iwarnlimit ;
 3362};
 3363#line 165
 3364struct dquot;
 3365#line 165
 3366struct dquot;
 3367#line 165
 3368struct dquot;
 3369#line 165
 3370struct dquot;
 3371#line 185 "include/linux/quota.h"
 3372typedef __kernel_uid32_t qid_t;
 3373#line 186 "include/linux/quota.h"
 3374typedef long long qsize_t;
 3375#line 189 "include/linux/quota.h"
 3376struct mem_dqblk {
 3377   qsize_t dqb_bhardlimit ;
 3378   qsize_t dqb_bsoftlimit ;
 3379   qsize_t dqb_curspace ;
 3380   qsize_t dqb_rsvspace ;
 3381   qsize_t dqb_ihardlimit ;
 3382   qsize_t dqb_isoftlimit ;
 3383   qsize_t dqb_curinodes ;
 3384   time_t dqb_btime ;
 3385   time_t dqb_itime ;
 3386};
 3387#line 211
 3388struct quota_format_type;
 3389#line 211
 3390struct quota_format_type;
 3391#line 211
 3392struct quota_format_type;
 3393#line 211
 3394struct quota_format_type;
 3395#line 212 "include/linux/quota.h"
 3396struct mem_dqinfo {
 3397   struct quota_format_type *dqi_format ;
 3398   int dqi_fmt_id ;
 3399   struct list_head dqi_dirty_list ;
 3400   unsigned long dqi_flags ;
 3401   unsigned int dqi_bgrace ;
 3402   unsigned int dqi_igrace ;
 3403   qsize_t dqi_maxblimit ;
 3404   qsize_t dqi_maxilimit ;
 3405   void *dqi_priv ;
 3406};
 3407#line 271 "include/linux/quota.h"
 3408struct dquot {
 3409   struct hlist_node dq_hash ;
 3410   struct list_head dq_inuse ;
 3411   struct list_head dq_free ;
 3412   struct list_head dq_dirty ;
 3413   struct mutex dq_lock ;
 3414   atomic_t dq_count ;
 3415   wait_queue_head_t dq_wait_unused ;
 3416   struct super_block *dq_sb ;
 3417   unsigned int dq_id ;
 3418   loff_t dq_off ;
 3419   unsigned long dq_flags ;
 3420   short dq_type ;
 3421   struct mem_dqblk dq_dqb ;
 3422};
 3423#line 299 "include/linux/quota.h"
 3424struct quota_format_ops {
 3425   int (*check_quota_file)(struct super_block * , int  ) ;
 3426   int (*read_file_info)(struct super_block * , int  ) ;
 3427   int (*write_file_info)(struct super_block * , int  ) ;
 3428   int (*free_file_info)(struct super_block * , int  ) ;
 3429   int (*read_dqblk)(struct dquot * ) ;
 3430   int (*commit_dqblk)(struct dquot * ) ;
 3431   int (*release_dqblk)(struct dquot * ) ;
 3432};
 3433#line 310 "include/linux/quota.h"
 3434struct dquot_operations {
 3435   int (*write_dquot)(struct dquot * ) ;
 3436   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
 3437   void (*destroy_dquot)(struct dquot * ) ;
 3438   int (*acquire_dquot)(struct dquot * ) ;
 3439   int (*release_dquot)(struct dquot * ) ;
 3440   int (*mark_dirty)(struct dquot * ) ;
 3441   int (*write_info)(struct super_block * , int  ) ;
 3442   qsize_t *(*get_reserved_space)(struct inode * ) ;
 3443};
 3444#line 324 "include/linux/quota.h"
 3445struct quotactl_ops {
 3446   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
 3447   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
 3448   int (*quota_off)(struct super_block * , int  ) ;
 3449   int (*quota_sync)(struct super_block * , int  , int  ) ;
 3450   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 3451   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 3452   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 3453   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 3454   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
 3455   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
 3456};
 3457#line 340 "include/linux/quota.h"
 3458struct quota_format_type {
 3459   int qf_fmt_id ;
 3460   struct quota_format_ops  const  *qf_ops ;
 3461   struct module *qf_owner ;
 3462   struct quota_format_type *qf_next ;
 3463};
 3464#line 386 "include/linux/quota.h"
 3465struct quota_info {
 3466   unsigned int flags ;
 3467   struct mutex dqio_mutex ;
 3468   struct mutex dqonoff_mutex ;
 3469   struct rw_semaphore dqptr_sem ;
 3470   struct inode *files[2U] ;
 3471   struct mem_dqinfo info[2U] ;
 3472   struct quota_format_ops  const  *ops[2U] ;
 3473};
 3474#line 417
 3475struct writeback_control;
 3476#line 417
 3477struct writeback_control;
 3478#line 417
 3479struct writeback_control;
 3480#line 417
 3481struct writeback_control;
 3482#line 576 "include/linux/fs.h"
 3483union __anonunion_arg_156 {
 3484   char *buf ;
 3485   void *data ;
 3486};
 3487#line 576 "include/linux/fs.h"
 3488struct __anonstruct_read_descriptor_t_155 {
 3489   size_t written ;
 3490   size_t count ;
 3491   union __anonunion_arg_156 arg ;
 3492   int error ;
 3493};
 3494#line 576 "include/linux/fs.h"
 3495typedef struct __anonstruct_read_descriptor_t_155 read_descriptor_t;
 3496#line 579 "include/linux/fs.h"
 3497struct address_space_operations {
 3498   int (*writepage)(struct page * , struct writeback_control * ) ;
 3499   int (*readpage)(struct file * , struct page * ) ;
 3500   int (*writepages)(struct address_space * , struct writeback_control * ) ;
 3501   int (*set_page_dirty)(struct page * ) ;
 3502   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
 3503                    unsigned int  ) ;
 3504   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 3505                      unsigned int  , struct page ** , void ** ) ;
 3506   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 3507                    unsigned int  , struct page * , void * ) ;
 3508   sector_t (*bmap)(struct address_space * , sector_t  ) ;
 3509   void (*invalidatepage)(struct page * , unsigned long  ) ;
 3510   int (*releasepage)(struct page * , gfp_t  ) ;
 3511   void (*freepage)(struct page * ) ;
 3512   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
 3513                        unsigned long  ) ;
 3514   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
 3515   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
 3516   int (*launder_page)(struct page * ) ;
 3517   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
 3518   int (*error_remove_page)(struct address_space * , struct page * ) ;
 3519};
 3520#line 630 "include/linux/fs.h"
 3521struct address_space {
 3522   struct inode *host ;
 3523   struct radix_tree_root page_tree ;
 3524   spinlock_t tree_lock ;
 3525   unsigned int i_mmap_writable ;
 3526   struct prio_tree_root i_mmap ;
 3527   struct list_head i_mmap_nonlinear ;
 3528   struct mutex i_mmap_mutex ;
 3529   unsigned long nrpages ;
 3530   unsigned long writeback_index ;
 3531   struct address_space_operations  const  *a_ops ;
 3532   unsigned long flags ;
 3533   struct backing_dev_info *backing_dev_info ;
 3534   spinlock_t private_lock ;
 3535   struct list_head private_list ;
 3536   struct address_space *assoc_mapping ;
 3537};
 3538#line 652
 3539struct hd_struct;
 3540#line 652
 3541struct hd_struct;
 3542#line 652
 3543struct hd_struct;
 3544#line 652
 3545struct gendisk;
 3546#line 652
 3547struct gendisk;
 3548#line 652
 3549struct gendisk;
 3550#line 652 "include/linux/fs.h"
 3551struct block_device {
 3552   dev_t bd_dev ;
 3553   int bd_openers ;
 3554   struct inode *bd_inode ;
 3555   struct super_block *bd_super ;
 3556   struct mutex bd_mutex ;
 3557   struct list_head bd_inodes ;
 3558   void *bd_claiming ;
 3559   void *bd_holder ;
 3560   int bd_holders ;
 3561   bool bd_write_holder ;
 3562   struct list_head bd_holder_disks ;
 3563   struct block_device *bd_contains ;
 3564   unsigned int bd_block_size ;
 3565   struct hd_struct *bd_part ;
 3566   unsigned int bd_part_count ;
 3567   int bd_invalidated ;
 3568   struct gendisk *bd_disk ;
 3569   struct list_head bd_list ;
 3570   unsigned long bd_private ;
 3571   int bd_fsfreeze_count ;
 3572   struct mutex bd_fsfreeze_mutex ;
 3573};
 3574#line 723
 3575struct posix_acl;
 3576#line 723
 3577struct posix_acl;
 3578#line 723
 3579struct posix_acl;
 3580#line 723
 3581struct posix_acl;
 3582#line 724
 3583struct inode_operations;
 3584#line 724
 3585struct inode_operations;
 3586#line 724
 3587struct inode_operations;
 3588#line 724 "include/linux/fs.h"
 3589union __anonunion_ldv_19050_157 {
 3590   struct list_head i_dentry ;
 3591   struct rcu_head i_rcu ;
 3592};
 3593#line 724
 3594struct file_operations;
 3595#line 724
 3596struct file_operations;
 3597#line 724
 3598struct file_operations;
 3599#line 724
 3600struct file_lock;
 3601#line 724
 3602struct file_lock;
 3603#line 724
 3604struct file_lock;
 3605#line 724
 3606struct cdev;
 3607#line 724
 3608struct cdev;
 3609#line 724
 3610struct cdev;
 3611#line 724 "include/linux/fs.h"
 3612union __anonunion_ldv_19077_158 {
 3613   struct pipe_inode_info *i_pipe ;
 3614   struct block_device *i_bdev ;
 3615   struct cdev *i_cdev ;
 3616};
 3617#line 724 "include/linux/fs.h"
 3618struct inode {
 3619   umode_t i_mode ;
 3620   uid_t i_uid ;
 3621   gid_t i_gid ;
 3622   struct inode_operations  const  *i_op ;
 3623   struct super_block *i_sb ;
 3624   spinlock_t i_lock ;
 3625   unsigned int i_flags ;
 3626   unsigned long i_state ;
 3627   void *i_security ;
 3628   struct mutex i_mutex ;
 3629   unsigned long dirtied_when ;
 3630   struct hlist_node i_hash ;
 3631   struct list_head i_wb_list ;
 3632   struct list_head i_lru ;
 3633   struct list_head i_sb_list ;
 3634   union __anonunion_ldv_19050_157 ldv_19050 ;
 3635   unsigned long i_ino ;
 3636   atomic_t i_count ;
 3637   unsigned int i_nlink ;
 3638   dev_t i_rdev ;
 3639   unsigned int i_blkbits ;
 3640   u64 i_version ;
 3641   loff_t i_size ;
 3642   struct timespec i_atime ;
 3643   struct timespec i_mtime ;
 3644   struct timespec i_ctime ;
 3645   blkcnt_t i_blocks ;
 3646   unsigned short i_bytes ;
 3647   struct rw_semaphore i_alloc_sem ;
 3648   struct file_operations  const  *i_fop ;
 3649   struct file_lock *i_flock ;
 3650   struct address_space *i_mapping ;
 3651   struct address_space i_data ;
 3652   struct dquot *i_dquot[2U] ;
 3653   struct list_head i_devices ;
 3654   union __anonunion_ldv_19077_158 ldv_19077 ;
 3655   __u32 i_generation ;
 3656   __u32 i_fsnotify_mask ;
 3657   struct hlist_head i_fsnotify_marks ;
 3658   atomic_t i_readcount ;
 3659   atomic_t i_writecount ;
 3660   struct posix_acl *i_acl ;
 3661   struct posix_acl *i_default_acl ;
 3662   void *i_private ;
 3663};
 3664#line 902 "include/linux/fs.h"
 3665struct fown_struct {
 3666   rwlock_t lock ;
 3667   struct pid *pid ;
 3668   enum pid_type pid_type ;
 3669   uid_t uid ;
 3670   uid_t euid ;
 3671   int signum ;
 3672};
 3673#line 910 "include/linux/fs.h"
 3674struct file_ra_state {
 3675   unsigned long start ;
 3676   unsigned int size ;
 3677   unsigned int async_size ;
 3678   unsigned int ra_pages ;
 3679   unsigned int mmap_miss ;
 3680   loff_t prev_pos ;
 3681};
 3682#line 933 "include/linux/fs.h"
 3683union __anonunion_f_u_159 {
 3684   struct list_head fu_list ;
 3685   struct rcu_head fu_rcuhead ;
 3686};
 3687#line 933 "include/linux/fs.h"
 3688struct file {
 3689   union __anonunion_f_u_159 f_u ;
 3690   struct path f_path ;
 3691   struct file_operations  const  *f_op ;
 3692   spinlock_t f_lock ;
 3693   int f_sb_list_cpu ;
 3694   atomic_long_t f_count ;
 3695   unsigned int f_flags ;
 3696   fmode_t f_mode ;
 3697   loff_t f_pos ;
 3698   struct fown_struct f_owner ;
 3699   struct cred  const  *f_cred ;
 3700   struct file_ra_state f_ra ;
 3701   u64 f_version ;
 3702   void *f_security ;
 3703   void *private_data ;
 3704   struct list_head f_ep_links ;
 3705   struct address_space *f_mapping ;
 3706   unsigned long f_mnt_write_state ;
 3707};
 3708#line 1064 "include/linux/fs.h"
 3709typedef struct files_struct *fl_owner_t;
 3710#line 1065 "include/linux/fs.h"
 3711struct file_lock_operations {
 3712   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
 3713   void (*fl_release_private)(struct file_lock * ) ;
 3714};
 3715#line 1070 "include/linux/fs.h"
 3716struct lock_manager_operations {
 3717   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
 3718   void (*fl_notify)(struct file_lock * ) ;
 3719   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
 3720   void (*fl_release_private)(struct file_lock * ) ;
 3721   void (*fl_break)(struct file_lock * ) ;
 3722   int (*fl_change)(struct file_lock ** , int  ) ;
 3723};
 3724#line 163 "include/linux/nfs.h"
 3725struct nlm_lockowner;
 3726#line 163
 3727struct nlm_lockowner;
 3728#line 163
 3729struct nlm_lockowner;
 3730#line 163
 3731struct nlm_lockowner;
 3732#line 164 "include/linux/nfs.h"
 3733struct nfs_lock_info {
 3734   u32 state ;
 3735   struct nlm_lockowner *owner ;
 3736   struct list_head list ;
 3737};
 3738#line 18 "include/linux/nfs_fs_i.h"
 3739struct nfs4_lock_state;
 3740#line 18
 3741struct nfs4_lock_state;
 3742#line 18
 3743struct nfs4_lock_state;
 3744#line 18
 3745struct nfs4_lock_state;
 3746#line 19 "include/linux/nfs_fs_i.h"
 3747struct nfs4_lock_info {
 3748   struct nfs4_lock_state *owner ;
 3749};
 3750#line 23
 3751struct fasync_struct;
 3752#line 23
 3753struct fasync_struct;
 3754#line 23
 3755struct fasync_struct;
 3756#line 23 "include/linux/nfs_fs_i.h"
 3757struct __anonstruct_afs_161 {
 3758   struct list_head link ;
 3759   int state ;
 3760};
 3761#line 23 "include/linux/nfs_fs_i.h"
 3762union __anonunion_fl_u_160 {
 3763   struct nfs_lock_info nfs_fl ;
 3764   struct nfs4_lock_info nfs4_fl ;
 3765   struct __anonstruct_afs_161 afs ;
 3766};
 3767#line 23 "include/linux/nfs_fs_i.h"
 3768struct file_lock {
 3769   struct file_lock *fl_next ;
 3770   struct list_head fl_link ;
 3771   struct list_head fl_block ;
 3772   fl_owner_t fl_owner ;
 3773   unsigned char fl_flags ;
 3774   unsigned char fl_type ;
 3775   unsigned int fl_pid ;
 3776   struct pid *fl_nspid ;
 3777   wait_queue_head_t fl_wait ;
 3778   struct file *fl_file ;
 3779   loff_t fl_start ;
 3780   loff_t fl_end ;
 3781   struct fasync_struct *fl_fasync ;
 3782   unsigned long fl_break_time ;
 3783   struct file_lock_operations  const  *fl_ops ;
 3784   struct lock_manager_operations  const  *fl_lmops ;
 3785   union __anonunion_fl_u_160 fl_u ;
 3786};
 3787#line 1171 "include/linux/fs.h"
 3788struct fasync_struct {
 3789   spinlock_t fa_lock ;
 3790   int magic ;
 3791   int fa_fd ;
 3792   struct fasync_struct *fa_next ;
 3793   struct file *fa_file ;
 3794   struct rcu_head fa_rcu ;
 3795};
 3796#line 1363
 3797struct file_system_type;
 3798#line 1363
 3799struct file_system_type;
 3800#line 1363
 3801struct file_system_type;
 3802#line 1363
 3803struct super_operations;
 3804#line 1363
 3805struct super_operations;
 3806#line 1363
 3807struct super_operations;
 3808#line 1363
 3809struct xattr_handler;
 3810#line 1363
 3811struct xattr_handler;
 3812#line 1363
 3813struct xattr_handler;
 3814#line 1363
 3815struct mtd_info;
 3816#line 1363
 3817struct mtd_info;
 3818#line 1363
 3819struct mtd_info;
 3820#line 1363 "include/linux/fs.h"
 3821struct super_block {
 3822   struct list_head s_list ;
 3823   dev_t s_dev ;
 3824   unsigned char s_dirt ;
 3825   unsigned char s_blocksize_bits ;
 3826   unsigned long s_blocksize ;
 3827   loff_t s_maxbytes ;
 3828   struct file_system_type *s_type ;
 3829   struct super_operations  const  *s_op ;
 3830   struct dquot_operations  const  *dq_op ;
 3831   struct quotactl_ops  const  *s_qcop ;
 3832   struct export_operations  const  *s_export_op ;
 3833   unsigned long s_flags ;
 3834   unsigned long s_magic ;
 3835   struct dentry *s_root ;
 3836   struct rw_semaphore s_umount ;
 3837   struct mutex s_lock ;
 3838   int s_count ;
 3839   atomic_t s_active ;
 3840   void *s_security ;
 3841   struct xattr_handler  const  **s_xattr ;
 3842   struct list_head s_inodes ;
 3843   struct hlist_bl_head s_anon ;
 3844   struct list_head *s_files ;
 3845   struct list_head s_dentry_lru ;
 3846   int s_nr_dentry_unused ;
 3847   struct block_device *s_bdev ;
 3848   struct backing_dev_info *s_bdi ;
 3849   struct mtd_info *s_mtd ;
 3850   struct list_head s_instances ;
 3851   struct quota_info s_dquot ;
 3852   int s_frozen ;
 3853   wait_queue_head_t s_wait_unfrozen ;
 3854   char s_id[32U] ;
 3855   u8 s_uuid[16U] ;
 3856   void *s_fs_info ;
 3857   fmode_t s_mode ;
 3858   u32 s_time_gran ;
 3859   struct mutex s_vfs_rename_mutex ;
 3860   char *s_subtype ;
 3861   char *s_options ;
 3862   struct dentry_operations  const  *s_d_op ;
 3863   int cleancache_poolid ;
 3864};
 3865#line 1495 "include/linux/fs.h"
 3866struct fiemap_extent_info {
 3867   unsigned int fi_flags ;
 3868   unsigned int fi_extents_mapped ;
 3869   unsigned int fi_extents_max ;
 3870   struct fiemap_extent *fi_extents_start ;
 3871};
 3872#line 1533
 3873struct block_device_operations;
 3874#line 1533
 3875struct block_device_operations;
 3876#line 1533
 3877struct block_device_operations;
 3878#line 1533
 3879struct block_device_operations;
 3880#line 1534 "include/linux/fs.h"
 3881struct file_operations {
 3882   struct module *owner ;
 3883   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
 3884   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
 3885   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
 3886   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 3887                       loff_t  ) ;
 3888   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 3889                        loff_t  ) ;
 3890   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
 3891                                                   loff_t  , u64  , unsigned int  ) ) ;
 3892   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
 3893   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 3894   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 3895   int (*mmap)(struct file * , struct vm_area_struct * ) ;
 3896   int (*open)(struct inode * , struct file * ) ;
 3897   int (*flush)(struct file * , fl_owner_t  ) ;
 3898   int (*release)(struct inode * , struct file * ) ;
 3899   int (*fsync)(struct file * , int  ) ;
 3900   int (*aio_fsync)(struct kiocb * , int  ) ;
 3901   int (*fasync)(int  , struct file * , int  ) ;
 3902   int (*lock)(struct file * , int  , struct file_lock * ) ;
 3903   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
 3904                       int  ) ;
 3905   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 3906                                      unsigned long  , unsigned long  ) ;
 3907   int (*check_flags)(int  ) ;
 3908   int (*flock)(struct file * , int  , struct file_lock * ) ;
 3909   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
 3910                           unsigned int  ) ;
 3911   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
 3912                          unsigned int  ) ;
 3913   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
 3914   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
 3915};
 3916#line 1574 "include/linux/fs.h"
 3917struct inode_operations {
 3918   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
 3919   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
 3920   int (*permission)(struct inode * , int  , unsigned int  ) ;
 3921   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
 3922   int (*readlink)(struct dentry * , char * , int  ) ;
 3923   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
 3924   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
 3925   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
 3926   int (*unlink)(struct inode * , struct dentry * ) ;
 3927   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
 3928   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
 3929   int (*rmdir)(struct inode * , struct dentry * ) ;
 3930   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
 3931   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
 3932   void (*truncate)(struct inode * ) ;
 3933   int (*setattr)(struct dentry * , struct iattr * ) ;
 3934   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
 3935   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
 3936   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
 3937   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
 3938   int (*removexattr)(struct dentry * , char const   * ) ;
 3939   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
 3940   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
 3941};
 3942#line 1620 "include/linux/fs.h"
 3943struct super_operations {
 3944   struct inode *(*alloc_inode)(struct super_block * ) ;
 3945   void (*destroy_inode)(struct inode * ) ;
 3946   void (*dirty_inode)(struct inode * , int  ) ;
 3947   int (*write_inode)(struct inode * , struct writeback_control * ) ;
 3948   int (*drop_inode)(struct inode * ) ;
 3949   void (*evict_inode)(struct inode * ) ;
 3950   void (*put_super)(struct super_block * ) ;
 3951   void (*write_super)(struct super_block * ) ;
 3952   int (*sync_fs)(struct super_block * , int  ) ;
 3953   int (*freeze_fs)(struct super_block * ) ;
 3954   int (*unfreeze_fs)(struct super_block * ) ;
 3955   int (*statfs)(struct dentry * , struct kstatfs * ) ;
 3956   int (*remount_fs)(struct super_block * , int * , char * ) ;
 3957   void (*umount_begin)(struct super_block * ) ;
 3958   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
 3959   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
 3960   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
 3961   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
 3962   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
 3963   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
 3964                          loff_t  ) ;
 3965   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
 3966};
 3967#line 1801 "include/linux/fs.h"
 3968struct file_system_type {
 3969   char const   *name ;
 3970   int fs_flags ;
 3971   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
 3972   void (*kill_sb)(struct super_block * ) ;
 3973   struct module *owner ;
 3974   struct file_system_type *next ;
 3975   struct list_head fs_supers ;
 3976   struct lock_class_key s_lock_key ;
 3977   struct lock_class_key s_umount_key ;
 3978   struct lock_class_key s_vfs_rename_key ;
 3979   struct lock_class_key i_lock_key ;
 3980   struct lock_class_key i_mutex_key ;
 3981   struct lock_class_key i_mutex_dir_key ;
 3982   struct lock_class_key i_alloc_sem_key ;
 3983};
 3984#line 81 "include/linux/genhd.h"
 3985struct disk_stats {
 3986   unsigned long sectors[2U] ;
 3987   unsigned long ios[2U] ;
 3988   unsigned long merges[2U] ;
 3989   unsigned long ticks[2U] ;
 3990   unsigned long io_ticks ;
 3991   unsigned long time_in_queue ;
 3992};
 3993#line 90 "include/linux/genhd.h"
 3994struct partition_meta_info {
 3995   u8 uuid[16U] ;
 3996   u8 volname[64U] ;
 3997};
 3998#line 98 "include/linux/genhd.h"
 3999struct hd_struct {
 4000   sector_t start_sect ;
 4001   sector_t nr_sects ;
 4002   sector_t alignment_offset ;
 4003   unsigned int discard_alignment ;
 4004   struct device __dev ;
 4005   struct kobject *holder_dir ;
 4006   int policy ;
 4007   int partno ;
 4008   struct partition_meta_info *info ;
 4009   int make_it_fail ;
 4010   unsigned long stamp ;
 4011   atomic_t in_flight[2U] ;
 4012   struct disk_stats *dkstats ;
 4013   atomic_t ref ;
 4014   struct rcu_head rcu_head ;
 4015};
 4016#line 145 "include/linux/genhd.h"
 4017struct disk_part_tbl {
 4018   struct rcu_head rcu_head ;
 4019   int len ;
 4020   struct hd_struct *last_lookup ;
 4021   struct hd_struct *part[0U] ;
 4022};
 4023#line 152
 4024struct disk_events;
 4025#line 152
 4026struct disk_events;
 4027#line 152
 4028struct disk_events;
 4029#line 152
 4030struct disk_events;
 4031#line 153
 4032struct request_queue;
 4033#line 153
 4034struct request_queue;
 4035#line 153
 4036struct request_queue;
 4037#line 153
 4038struct timer_rand_state;
 4039#line 153
 4040struct timer_rand_state;
 4041#line 153
 4042struct timer_rand_state;
 4043#line 153
 4044struct blk_integrity;
 4045#line 153
 4046struct blk_integrity;
 4047#line 153
 4048struct blk_integrity;
 4049#line 153 "include/linux/genhd.h"
 4050struct gendisk {
 4051   int major ;
 4052   int first_minor ;
 4053   int minors ;
 4054   char disk_name[32U] ;
 4055   char *(*devnode)(struct gendisk * , mode_t * ) ;
 4056   unsigned int events ;
 4057   unsigned int async_events ;
 4058   struct disk_part_tbl *part_tbl ;
 4059   struct hd_struct part0 ;
 4060   struct block_device_operations  const  *fops ;
 4061   struct request_queue *queue ;
 4062   void *private_data ;
 4063   int flags ;
 4064   struct device *driverfs_dev ;
 4065   struct kobject *slave_dir ;
 4066   struct timer_rand_state *random ;
 4067   atomic_t sync_io ;
 4068   struct disk_events *ev ;
 4069   struct blk_integrity *integrity ;
 4070   int node_id ;
 4071};
 4072#line 175 "include/linux/mm.h"
 4073struct vm_fault {
 4074   unsigned int flags ;
 4075   unsigned long pgoff ;
 4076   void *virtual_address ;
 4077   struct page *page ;
 4078};
 4079#line 192 "include/linux/mm.h"
 4080struct vm_operations_struct {
 4081   void (*open)(struct vm_area_struct * ) ;
 4082   void (*close)(struct vm_area_struct * ) ;
 4083   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
 4084   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
 4085   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
 4086   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
 4087   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
 4088   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
 4089                  unsigned long  ) ;
 4090};
 4091#line 1652 "include/linux/mm.h"
 4092struct exception_table_entry {
 4093   unsigned long insn ;
 4094   unsigned long fixup ;
 4095};
 4096#line 331 "include/linux/irq.h"
 4097struct proc_dir_entry;
 4098#line 331
 4099struct proc_dir_entry;
 4100#line 331
 4101struct proc_dir_entry;
 4102#line 331
 4103struct proc_dir_entry;
 4104#line 13 "include/linux/writeback.h"
 4105enum writeback_sync_modes {
 4106    WB_SYNC_NONE = 0,
 4107    WB_SYNC_ALL = 1
 4108} ;
 4109#line 18 "include/linux/writeback.h"
 4110struct writeback_control {
 4111   enum writeback_sync_modes sync_mode ;
 4112   unsigned long *older_than_this ;
 4113   unsigned long wb_start ;
 4114   long nr_to_write ;
 4115   long pages_skipped ;
 4116   loff_t range_start ;
 4117   loff_t range_end ;
 4118   unsigned char nonblocking : 1 ;
 4119   unsigned char encountered_congestion : 1 ;
 4120   unsigned char for_kupdate : 1 ;
 4121   unsigned char for_background : 1 ;
 4122   unsigned char for_reclaim : 1 ;
 4123   unsigned char range_cyclic : 1 ;
 4124   unsigned char more_io : 1 ;
 4125};
 4126#line 54
 4127struct bdi_writeback;
 4128#line 54
 4129struct bdi_writeback;
 4130#line 54
 4131struct bdi_writeback;
 4132#line 54
 4133struct bdi_writeback;
 4134#line 38 "include/linux/backing-dev.h"
 4135typedef int congested_fn(void * , int  );
 4136#line 45 "include/linux/backing-dev.h"
 4137struct bdi_writeback {
 4138   struct backing_dev_info *bdi ;
 4139   unsigned int nr ;
 4140   unsigned long last_old_flush ;
 4141   unsigned long last_active ;
 4142   struct task_struct *task ;
 4143   struct timer_list wakeup_timer ;
 4144   struct list_head b_dirty ;
 4145   struct list_head b_io ;
 4146   struct list_head b_more_io ;
 4147};
 4148#line 61 "include/linux/backing-dev.h"
 4149struct backing_dev_info {
 4150   struct list_head bdi_list ;
 4151   unsigned long ra_pages ;
 4152   unsigned long state ;
 4153   unsigned int capabilities ;
 4154   congested_fn *congested_fn ;
 4155   void *congested_data ;
 4156   char *name ;
 4157   struct percpu_counter bdi_stat[2U] ;
 4158   struct prop_local_percpu completions ;
 4159   int dirty_exceeded ;
 4160   unsigned int min_ratio ;
 4161   unsigned int max_ratio ;
 4162   unsigned int max_prop_frac ;
 4163   struct bdi_writeback wb ;
 4164   spinlock_t wb_lock ;
 4165   struct list_head work_list ;
 4166   struct device *dev ;
 4167   struct timer_list laptop_mode_wb_timer ;
 4168   struct dentry *debug_dir ;
 4169   struct dentry *debug_stats ;
 4170};
 4171#line 11 "include/linux/mempool.h"
 4172typedef void *mempool_alloc_t(gfp_t  , void * );
 4173#line 12 "include/linux/mempool.h"
 4174typedef void mempool_free_t(void * , void * );
 4175#line 13 "include/linux/mempool.h"
 4176struct mempool_s {
 4177   spinlock_t lock ;
 4178   int min_nr ;
 4179   int curr_nr ;
 4180   void **elements ;
 4181   void *pool_data ;
 4182   mempool_alloc_t *alloc ;
 4183   mempool_free_t *free ;
 4184   wait_queue_head_t wait ;
 4185};
 4186#line 24 "include/linux/mempool.h"
 4187typedef struct mempool_s mempool_t;
 4188#line 29 "include/linux/iocontext.h"
 4189struct io_context {
 4190   atomic_long_t refcount ;
 4191   atomic_t nr_tasks ;
 4192   spinlock_t lock ;
 4193   unsigned short ioprio ;
 4194   unsigned short ioprio_changed ;
 4195   unsigned short cgroup_changed ;
 4196   int nr_batch_requests ;
 4197   unsigned long last_waited ;
 4198   struct radix_tree_root radix_root ;
 4199   struct hlist_head cic_list ;
 4200   void *ioc_data ;
 4201};
 4202#line 90 "include/linux/bio.h"
 4203struct bio_integrity_payload {
 4204   struct bio *bip_bio ;
 4205   sector_t bip_sector ;
 4206   void *bip_buf ;
 4207   bio_end_io_t *bip_end_io ;
 4208   unsigned int bip_size ;
 4209   unsigned short bip_slab ;
 4210   unsigned short bip_vcnt ;
 4211   unsigned short bip_idx ;
 4212   struct work_struct bip_work ;
 4213   struct bio_vec bip_vec[0U] ;
 4214};
 4215#line 186 "include/linux/bio.h"
 4216struct bio_pair {
 4217   struct bio bio1 ;
 4218   struct bio bio2 ;
 4219   struct bio_vec bv1 ;
 4220   struct bio_vec bv2 ;
 4221   struct bio_integrity_payload bip1 ;
 4222   struct bio_integrity_payload bip2 ;
 4223   struct bio_vec iv1 ;
 4224   struct bio_vec iv2 ;
 4225   atomic_t cnt ;
 4226   int error ;
 4227};
 4228#line 373 "include/linux/bio.h"
 4229struct bio_list {
 4230   struct bio *head ;
 4231   struct bio *tail ;
 4232};
 4233#line 63 "include/linux/bsg.h"
 4234struct bsg_class_device {
 4235   struct device *class_dev ;
 4236   struct device *parent ;
 4237   int minor ;
 4238   struct request_queue *queue ;
 4239   struct kref ref ;
 4240   void (*release)(struct device * ) ;
 4241};
 4242#line 80 "include/linux/bsg.h"
 4243struct scatterlist {
 4244   unsigned long sg_magic ;
 4245   unsigned long page_link ;
 4246   unsigned int offset ;
 4247   unsigned int length ;
 4248   dma_addr_t dma_address ;
 4249   unsigned int dma_length ;
 4250};
 4251#line 18 "include/asm-generic/scatterlist.h"
 4252struct elevator_queue;
 4253#line 18
 4254struct elevator_queue;
 4255#line 18
 4256struct elevator_queue;
 4257#line 18
 4258struct elevator_queue;
 4259#line 20
 4260struct blk_trace;
 4261#line 20
 4262struct blk_trace;
 4263#line 20
 4264struct blk_trace;
 4265#line 20
 4266struct blk_trace;
 4267#line 21
 4268struct request;
 4269#line 21
 4270struct request;
 4271#line 21
 4272struct request;
 4273#line 21
 4274struct request;
 4275#line 38 "include/linux/blkdev.h"
 4276typedef void rq_end_io_fn(struct request * , int  );
 4277#line 39 "include/linux/blkdev.h"
 4278struct request_list {
 4279   int count[2U] ;
 4280   int starved[2U] ;
 4281   int elvpriv ;
 4282   mempool_t *rq_pool ;
 4283   wait_queue_head_t wait[2U] ;
 4284};
 4285#line 51
 4286enum rq_cmd_type_bits {
 4287    REQ_TYPE_FS = 1,
 4288    REQ_TYPE_BLOCK_PC = 2,
 4289    REQ_TYPE_SENSE = 3,
 4290    REQ_TYPE_PM_SUSPEND = 4,
 4291    REQ_TYPE_PM_RESUME = 5,
 4292    REQ_TYPE_PM_SHUTDOWN = 6,
 4293    REQ_TYPE_SPECIAL = 7,
 4294    REQ_TYPE_ATA_TASKFILE = 8,
 4295    REQ_TYPE_ATA_PC = 9
 4296} ;
 4297#line 63 "include/linux/blkdev.h"
 4298union __anonunion_ldv_26214_163 {
 4299   struct rb_node rb_node ;
 4300   void *completion_data ;
 4301};
 4302#line 63 "include/linux/blkdev.h"
 4303struct __anonstruct_flush_165 {
 4304   unsigned int seq ;
 4305   struct list_head list ;
 4306};
 4307#line 63 "include/linux/blkdev.h"
 4308union __anonunion_ldv_26221_164 {
 4309   void *elevator_private[3U] ;
 4310   struct __anonstruct_flush_165 flush ;
 4311};
 4312#line 63 "include/linux/blkdev.h"
 4313struct request {
 4314   struct list_head queuelist ;
 4315   struct call_single_data csd ;
 4316   struct request_queue *q ;
 4317   unsigned int cmd_flags ;
 4318   enum rq_cmd_type_bits cmd_type ;
 4319   unsigned long atomic_flags ;
 4320   int cpu ;
 4321   unsigned int __data_len ;
 4322   sector_t __sector ;
 4323   struct bio *bio ;
 4324   struct bio *biotail ;
 4325   struct hlist_node hash ;
 4326   union __anonunion_ldv_26214_163 ldv_26214 ;
 4327   union __anonunion_ldv_26221_164 ldv_26221 ;
 4328   struct gendisk *rq_disk ;
 4329   struct hd_struct *part ;
 4330   unsigned long start_time ;
 4331   unsigned short nr_phys_segments ;
 4332   unsigned short nr_integrity_segments ;
 4333   unsigned short ioprio ;
 4334   int ref_count ;
 4335   void *special ;
 4336   char *buffer ;
 4337   int tag ;
 4338   int errors ;
 4339   unsigned char __cmd[16U] ;
 4340   unsigned char *cmd ;
 4341   unsigned short cmd_len ;
 4342   unsigned int extra_len ;
 4343   unsigned int sense_len ;
 4344   unsigned int resid_len ;
 4345   void *sense ;
 4346   unsigned long deadline ;
 4347   struct list_head timeout_list ;
 4348   unsigned int timeout ;
 4349   int retries ;
 4350   rq_end_io_fn *end_io ;
 4351   void *end_io_data ;
 4352   struct request *next_rq ;
 4353};
 4354#line 8 "include/linux/elevator.h"
 4355typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
 4356#line 11 "include/linux/elevator.h"
 4357typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
 4358#line 13 "include/linux/elevator.h"
 4359typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
 4360#line 15 "include/linux/elevator.h"
 4361typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
 4362#line 17 "include/linux/elevator.h"
 4363typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
 4364#line 20 "include/linux/elevator.h"
 4365typedef int elevator_dispatch_fn(struct request_queue * , int  );
 4366#line 22 "include/linux/elevator.h"
 4367typedef void elevator_add_req_fn(struct request_queue * , struct request * );
 4368#line 23 "include/linux/elevator.h"
 4369typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
 4370#line 24 "include/linux/elevator.h"
 4371typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
 4372#line 25 "include/linux/elevator.h"
 4373typedef int elevator_may_queue_fn(struct request_queue * , int  );
 4374#line 27 "include/linux/elevator.h"
 4375typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
 4376#line 28 "include/linux/elevator.h"
 4377typedef void elevator_put_req_fn(struct request * );
 4378#line 29 "include/linux/elevator.h"
 4379typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
 4380#line 30 "include/linux/elevator.h"
 4381typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
 4382#line 32 "include/linux/elevator.h"
 4383typedef void *elevator_init_fn(struct request_queue * );
 4384#line 33 "include/linux/elevator.h"
 4385typedef void elevator_exit_fn(struct elevator_queue * );
 4386#line 34 "include/linux/elevator.h"
 4387struct elevator_ops {
 4388   elevator_merge_fn *elevator_merge_fn ;
 4389   elevator_merged_fn *elevator_merged_fn ;
 4390   elevator_merge_req_fn *elevator_merge_req_fn ;
 4391   elevator_allow_merge_fn *elevator_allow_merge_fn ;
 4392   elevator_bio_merged_fn *elevator_bio_merged_fn ;
 4393   elevator_dispatch_fn *elevator_dispatch_fn ;
 4394   elevator_add_req_fn *elevator_add_req_fn ;
 4395   elevator_activate_req_fn *elevator_activate_req_fn ;
 4396   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
 4397   elevator_completed_req_fn *elevator_completed_req_fn ;
 4398   elevator_request_list_fn *elevator_former_req_fn ;
 4399   elevator_request_list_fn *elevator_latter_req_fn ;
 4400   elevator_set_req_fn *elevator_set_req_fn ;
 4401   elevator_put_req_fn *elevator_put_req_fn ;
 4402   elevator_may_queue_fn *elevator_may_queue_fn ;
 4403   elevator_init_fn *elevator_init_fn ;
 4404   elevator_exit_fn *elevator_exit_fn ;
 4405   void (*trim)(struct io_context * ) ;
 4406};
 4407#line 62 "include/linux/elevator.h"
 4408struct elv_fs_entry {
 4409   struct attribute attr ;
 4410   ssize_t (*show)(struct elevator_queue * , char * ) ;
 4411   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
 4412};
 4413#line 70 "include/linux/elevator.h"
 4414struct elevator_type {
 4415   struct list_head list ;
 4416   struct elevator_ops ops ;
 4417   struct elv_fs_entry *elevator_attrs ;
 4418   char elevator_name[16U] ;
 4419   struct module *elevator_owner ;
 4420};
 4421#line 82 "include/linux/elevator.h"
 4422struct elevator_queue {
 4423   struct elevator_ops *ops ;
 4424   void *elevator_data ;
 4425   struct kobject kobj ;
 4426   struct elevator_type *elevator_type ;
 4427   struct mutex sysfs_lock ;
 4428   struct hlist_head *hash ;
 4429   unsigned char registered : 1 ;
 4430};
 4431#line 195 "include/linux/blkdev.h"
 4432typedef void request_fn_proc(struct request_queue * );
 4433#line 196 "include/linux/blkdev.h"
 4434typedef int make_request_fn(struct request_queue * , struct bio * );
 4435#line 197 "include/linux/blkdev.h"
 4436typedef int prep_rq_fn(struct request_queue * , struct request * );
 4437#line 198 "include/linux/blkdev.h"
 4438typedef void unprep_rq_fn(struct request_queue * , struct request * );
 4439#line 199 "include/linux/blkdev.h"
 4440struct bvec_merge_data {
 4441   struct block_device *bi_bdev ;
 4442   sector_t bi_sector ;
 4443   unsigned int bi_size ;
 4444   unsigned long bi_rw ;
 4445};
 4446#line 207 "include/linux/blkdev.h"
 4447typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
 4448#line 209 "include/linux/blkdev.h"
 4449typedef void softirq_done_fn(struct request * );
 4450#line 210 "include/linux/blkdev.h"
 4451typedef int dma_drain_needed_fn(struct request * );
 4452#line 211 "include/linux/blkdev.h"
 4453typedef int lld_busy_fn(struct request_queue * );
 4454#line 212
 4455enum blk_eh_timer_return {
 4456    BLK_EH_NOT_HANDLED = 0,
 4457    BLK_EH_HANDLED = 1,
 4458    BLK_EH_RESET_TIMER = 2
 4459} ;
 4460#line 219 "include/linux/blkdev.h"
 4461typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
 4462#line 225 "include/linux/blkdev.h"
 4463struct blk_queue_tag {
 4464   struct request **tag_index ;
 4465   unsigned long *tag_map ;
 4466   int busy ;
 4467   int max_depth ;
 4468   int real_max_depth ;
 4469   atomic_t refcnt ;
 4470};
 4471#line 234 "include/linux/blkdev.h"
 4472struct queue_limits {
 4473   unsigned long bounce_pfn ;
 4474   unsigned long seg_boundary_mask ;
 4475   unsigned int max_hw_sectors ;
 4476   unsigned int max_sectors ;
 4477   unsigned int max_segment_size ;
 4478   unsigned int physical_block_size ;
 4479   unsigned int alignment_offset ;
 4480   unsigned int io_min ;
 4481   unsigned int io_opt ;
 4482   unsigned int max_discard_sectors ;
 4483   unsigned int discard_granularity ;
 4484   unsigned int discard_alignment ;
 4485   unsigned short logical_block_size ;
 4486   unsigned short max_segments ;
 4487   unsigned short max_integrity_segments ;
 4488   unsigned char misaligned ;
 4489   unsigned char discard_misaligned ;
 4490   unsigned char cluster ;
 4491   unsigned char discard_zeroes_data ;
 4492};
 4493#line 262 "include/linux/blkdev.h"
 4494struct request_queue {
 4495   struct list_head queue_head ;
 4496   struct request *last_merge ;
 4497   struct elevator_queue *elevator ;
 4498   struct request_list rq ;
 4499   request_fn_proc *request_fn ;
 4500   make_request_fn *make_request_fn ;
 4501   prep_rq_fn *prep_rq_fn ;
 4502   unprep_rq_fn *unprep_rq_fn ;
 4503   merge_bvec_fn *merge_bvec_fn ;
 4504   softirq_done_fn *softirq_done_fn ;
 4505   rq_timed_out_fn *rq_timed_out_fn ;
 4506   dma_drain_needed_fn *dma_drain_needed ;
 4507   lld_busy_fn *lld_busy_fn ;
 4508   sector_t end_sector ;
 4509   struct request *boundary_rq ;
 4510   struct delayed_work delay_work ;
 4511   struct backing_dev_info backing_dev_info ;
 4512   void *queuedata ;
 4513   gfp_t bounce_gfp ;
 4514   unsigned long queue_flags ;
 4515   spinlock_t __queue_lock ;
 4516   spinlock_t *queue_lock ;
 4517   struct kobject kobj ;
 4518   unsigned long nr_requests ;
 4519   unsigned int nr_congestion_on ;
 4520   unsigned int nr_congestion_off ;
 4521   unsigned int nr_batching ;
 4522   void *dma_drain_buffer ;
 4523   unsigned int dma_drain_size ;
 4524   unsigned int dma_pad_mask ;
 4525   unsigned int dma_alignment ;
 4526   struct blk_queue_tag *queue_tags ;
 4527   struct list_head tag_busy_list ;
 4528   unsigned int nr_sorted ;
 4529   unsigned int in_flight[2U] ;
 4530   unsigned int rq_timeout ;
 4531   struct timer_list timeout ;
 4532   struct list_head timeout_list ;
 4533   struct queue_limits limits ;
 4534   unsigned int sg_timeout ;
 4535   unsigned int sg_reserved_size ;
 4536   int node ;
 4537   struct blk_trace *blk_trace ;
 4538   unsigned int flush_flags ;
 4539   unsigned char flush_not_queueable : 1 ;
 4540   unsigned char flush_queue_delayed : 1 ;
 4541   unsigned char flush_pending_idx : 1 ;
 4542   unsigned char flush_running_idx : 1 ;
 4543   unsigned long flush_pending_since ;
 4544   struct list_head flush_queue[2U] ;
 4545   struct list_head flush_data_in_flight ;
 4546   struct request flush_rq ;
 4547   struct mutex sysfs_lock ;
 4548   struct bsg_class_device bsg_dev ;
 4549};
 4550#line 859 "include/linux/blkdev.h"
 4551struct blk_plug {
 4552   unsigned long magic ;
 4553   struct list_head list ;
 4554   struct list_head cb_list ;
 4555   unsigned int should_sort ;
 4556};
 4557#line 1192 "include/linux/blkdev.h"
 4558struct blk_integrity_exchg {
 4559   void *prot_buf ;
 4560   void *data_buf ;
 4561   sector_t sector ;
 4562   unsigned int data_size ;
 4563   unsigned short sector_size ;
 4564   char const   *disk_name ;
 4565};
 4566#line 1212 "include/linux/blkdev.h"
 4567typedef void integrity_gen_fn(struct blk_integrity_exchg * );
 4568#line 1213 "include/linux/blkdev.h"
 4569typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
 4570#line 1214 "include/linux/blkdev.h"
 4571typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
 4572#line 1215 "include/linux/blkdev.h"
 4573typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
 4574#line 1216 "include/linux/blkdev.h"
 4575struct blk_integrity {
 4576   integrity_gen_fn *generate_fn ;
 4577   integrity_vrfy_fn *verify_fn ;
 4578   integrity_set_tag_fn *set_tag_fn ;
 4579   integrity_get_tag_fn *get_tag_fn ;
 4580   unsigned short flags ;
 4581   unsigned short tuple_size ;
 4582   unsigned short sector_size ;
 4583   unsigned short tag_size ;
 4584   char const   *name ;
 4585   struct kobject kobj ;
 4586};
 4587#line 1275 "include/linux/blkdev.h"
 4588struct block_device_operations {
 4589   int (*open)(struct block_device * , fmode_t  ) ;
 4590   int (*release)(struct gendisk * , fmode_t  ) ;
 4591   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4592   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4593   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
 4594   unsigned int (*check_events)(struct gendisk * , unsigned int  ) ;
 4595   int (*media_changed)(struct gendisk * ) ;
 4596   void (*unlock_native_capacity)(struct gendisk * ) ;
 4597   int (*revalidate_disk)(struct gendisk * ) ;
 4598   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
 4599   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
 4600   struct module *owner ;
 4601};
 4602#line 272 "include/linux/cdrom.h"
 4603struct request_sense;
 4604#line 272
 4605struct request_sense;
 4606#line 272
 4607struct request_sense;
 4608#line 696 "include/linux/cdrom.h"
 4609struct request_sense {
 4610   unsigned char error_code : 7 ;
 4611   unsigned char valid : 1 ;
 4612   __u8 segment_number ;
 4613   unsigned char sense_key : 4 ;
 4614   unsigned char reserved2 : 1 ;
 4615   unsigned char ili : 1 ;
 4616   unsigned char reserved1 : 2 ;
 4617   __u8 information[4U] ;
 4618   __u8 add_sense_len ;
 4619   __u8 command_info[4U] ;
 4620   __u8 asc ;
 4621   __u8 ascq ;
 4622   __u8 fruc ;
 4623   __u8 sks[3U] ;
 4624   __u8 asb[46U] ;
 4625};
 4626#line 853 "include/linux/cdrom.h"
 4627struct __anonstruct_disc_information_169 {
 4628   __be16 disc_information_length ;
 4629   unsigned char disc_status : 2 ;
 4630   unsigned char border_status : 2 ;
 4631   unsigned char erasable : 1 ;
 4632   unsigned char reserved1 : 3 ;
 4633   __u8 n_first_track ;
 4634   __u8 n_sessions_lsb ;
 4635   __u8 first_track_lsb ;
 4636   __u8 last_track_lsb ;
 4637   unsigned char mrw_status : 2 ;
 4638   unsigned char dbit : 1 ;
 4639   unsigned char reserved2 : 2 ;
 4640   unsigned char uru : 1 ;
 4641   unsigned char dbc_v : 1 ;
 4642   unsigned char did_v : 1 ;
 4643   __u8 disc_type ;
 4644   __u8 n_sessions_msb ;
 4645   __u8 first_track_msb ;
 4646   __u8 last_track_msb ;
 4647   __u32 disc_id ;
 4648   __u32 lead_in ;
 4649   __u32 lead_out ;
 4650   __u8 disc_bar_code[8U] ;
 4651   __u8 reserved3 ;
 4652   __u8 n_opc ;
 4653};
 4654#line 853 "include/linux/cdrom.h"
 4655typedef struct __anonstruct_disc_information_169 disc_information;
 4656#line 893 "include/linux/cdrom.h"
 4657struct __anonstruct_track_information_170 {
 4658   __be16 track_information_length ;
 4659   __u8 track_lsb ;
 4660   __u8 session_lsb ;
 4661   __u8 reserved1 ;
 4662   unsigned char track_mode : 4 ;
 4663   unsigned char copy : 1 ;
 4664   unsigned char damage : 1 ;
 4665   unsigned char reserved2 : 2 ;
 4666   unsigned char data_mode : 4 ;
 4667   unsigned char fp : 1 ;
 4668   unsigned char packet : 1 ;
 4669   unsigned char blank : 1 ;
 4670   unsigned char rt : 1 ;
 4671   unsigned char nwa_v : 1 ;
 4672   unsigned char lra_v : 1 ;
 4673   unsigned char reserved3 : 6 ;
 4674   __be32 track_start ;
 4675   __be32 next_writable ;
 4676   __be32 free_blocks ;
 4677   __be32 fixed_packet_size ;
 4678   __be32 track_size ;
 4679   __be32 last_rec_address ;
 4680};
 4681#line 893 "include/linux/cdrom.h"
 4682typedef struct __anonstruct_track_information_170 track_information;
 4683#line 910 "include/linux/cdrom.h"
 4684struct packet_command {
 4685   unsigned char cmd[12U] ;
 4686   unsigned char *buffer ;
 4687   unsigned int buflen ;
 4688   int stat ;
 4689   struct request_sense *sense ;
 4690   unsigned char data_direction ;
 4691   int quiet ;
 4692   int timeout ;
 4693   void *reserved[1U] ;
 4694};
 4695#line 1128 "include/linux/cdrom.h"
 4696struct __anonstruct_write_param_page_172 {
 4697   unsigned char page_code : 6 ;
 4698   unsigned char reserved1 : 1 ;
 4699   unsigned char ps : 1 ;
 4700   __u8 page_length ;
 4701   unsigned char write_type : 4 ;
 4702   unsigned char test_write : 1 ;
 4703   unsigned char ls_v : 1 ;
 4704   unsigned char bufe : 1 ;
 4705   unsigned char reserved2 : 1 ;
 4706   unsigned char track_mode : 4 ;
 4707   unsigned char copy : 1 ;
 4708   unsigned char fp : 1 ;
 4709   unsigned char multi_session : 2 ;
 4710   unsigned char data_block_type : 4 ;
 4711   unsigned char reserved3 : 4 ;
 4712   __u8 link_size ;
 4713   __u8 reserved4 ;
 4714   unsigned char app_code : 6 ;
 4715   unsigned char reserved5 : 2 ;
 4716   __u8 session_format ;
 4717   __u8 reserved6 ;
 4718   __be32 packet_size ;
 4719   __u16 audio_pause ;
 4720   __u8 mcn[16U] ;
 4721   __u8 isrc[16U] ;
 4722   __u8 subhdr0 ;
 4723   __u8 subhdr1 ;
 4724   __u8 subhdr2 ;
 4725   __u8 subhdr3 ;
 4726};
 4727#line 1128 "include/linux/cdrom.h"
 4728typedef struct __anonstruct_write_param_page_172 write_param_page;
 4729#line 1212 "include/linux/cdrom.h"
 4730struct packet_settings {
 4731   __u32 size ;
 4732   __u8 fp ;
 4733   __u8 link_loss ;
 4734   __u8 write_type ;
 4735   __u8 track_mode ;
 4736   __u8 block_mode ;
 4737};
 4738#line 133 "include/linux/pktcdvd.h"
 4739struct packet_stats {
 4740   unsigned long pkt_started ;
 4741   unsigned long pkt_ended ;
 4742   unsigned long secs_w ;
 4743   unsigned long secs_rg ;
 4744   unsigned long secs_r ;
 4745};
 4746#line 145 "include/linux/pktcdvd.h"
 4747struct packet_cdrw {
 4748   struct list_head pkt_free_list ;
 4749   struct list_head pkt_active_list ;
 4750   spinlock_t active_list_lock ;
 4751   struct task_struct *thread ;
 4752   atomic_t pending_bios ;
 4753};
 4754#line 154 "include/linux/pktcdvd.h"
 4755struct packet_iosched {
 4756   atomic_t attention ;
 4757   int writing ;
 4758   spinlock_t lock ;
 4759   struct bio_list read_queue ;
 4760   struct bio_list write_queue ;
 4761   sector_t last_write ;
 4762   int successive_reads ;
 4763};
 4764#line 171
 4765enum packet_data_state {
 4766    PACKET_IDLE_STATE = 0,
 4767    PACKET_WAITING_STATE = 1,
 4768    PACKET_READ_WAIT_STATE = 2,
 4769    PACKET_WRITE_WAIT_STATE = 3,
 4770    PACKET_RECOVERY_STATE = 4,
 4771    PACKET_FINISHED_STATE = 5,
 4772    PACKET_NUM_STATES = 6
 4773} ;
 4774#line 181
 4775struct pktcdvd_device;
 4776#line 181
 4777struct pktcdvd_device;
 4778#line 181
 4779struct pktcdvd_device;
 4780#line 181
 4781struct pktcdvd_device;
 4782#line 182 "include/linux/pktcdvd.h"
 4783struct packet_data {
 4784   struct list_head list ;
 4785   spinlock_t lock ;
 4786   struct bio_list orig_bios ;
 4787   int write_size ;
 4788   struct bio *w_bio ;
 4789   sector_t sector ;
 4790   int frames ;
 4791   enum packet_data_state state ;
 4792   atomic_t run_sm ;
 4793   long sleep_time ;
 4794   atomic_t io_wait ;
 4795   atomic_t io_errors ;
 4796   struct bio *r_bios[128U] ;
 4797   struct page *pages[64U] ;
 4798   int cache_valid ;
 4799   int id ;
 4800   struct pktcdvd_device *pd ;
 4801};
 4802#line 237 "include/linux/pktcdvd.h"
 4803struct pkt_rb_node {
 4804   struct rb_node rb_node ;
 4805   struct bio *bio ;
 4806};
 4807#line 242 "include/linux/pktcdvd.h"
 4808struct packet_stacked_data {
 4809   struct bio *bio ;
 4810   struct pktcdvd_device *pd ;
 4811};
 4812#line 248 "include/linux/pktcdvd.h"
 4813struct pktcdvd_kobj {
 4814   struct kobject kobj ;
 4815   struct pktcdvd_device *pd ;
 4816};
 4817#line 255 "include/linux/pktcdvd.h"
 4818struct pktcdvd_device {
 4819   struct block_device *bdev ;
 4820   dev_t pkt_dev ;
 4821   char name[20U] ;
 4822   struct packet_settings settings ;
 4823   struct packet_stats stats ;
 4824   int refcnt ;
 4825   int write_speed ;
 4826   int read_speed ;
 4827   unsigned long offset ;
 4828   __u8 mode_offset ;
 4829   __u8 type ;
 4830   unsigned long flags ;
 4831   __u16 mmc3_profile ;
 4832   __u32 nwa ;
 4833   __u32 lra ;
 4834   struct packet_cdrw cdrw ;
 4835   wait_queue_head_t wqueue ;
 4836   spinlock_t lock ;
 4837   struct rb_root bio_queue ;
 4838   int bio_queue_size ;
 4839   sector_t current_sector ;
 4840   atomic_t scan_queue ;
 4841   mempool_t *rb_pool ;
 4842   struct packet_iosched iosched ;
 4843   struct gendisk *disk ;
 4844   int write_congestion_off ;
 4845   int write_congestion_on ;
 4846   struct device *dev ;
 4847   struct pktcdvd_kobj *kobj_stat ;
 4848   struct pktcdvd_kobj *kobj_wqueue ;
 4849   struct dentry *dfs_d_root ;
 4850   struct dentry *dfs_f_info ;
 4851};
 4852#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4853typedef s32 compat_time_t;
 4854#line 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4855typedef s32 compat_long_t;
 4856#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4857struct compat_timespec {
 4858   compat_time_t tv_sec ;
 4859   s32 tv_nsec ;
 4860};
 4861#line 196 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 4862typedef u32 compat_uptr_t;
 4863#line 205 "include/linux/compat.h"
 4864struct compat_robust_list {
 4865   compat_uptr_t next ;
 4866};
 4867#line 209 "include/linux/compat.h"
 4868struct compat_robust_list_head {
 4869   struct compat_robust_list list ;
 4870   compat_long_t futex_offset ;
 4871   compat_uptr_t list_op_pending ;
 4872};
 4873#line 46 "include/linux/proc_fs.h"
 4874typedef int read_proc_t(char * , char ** , off_t  , int  , int * , void * );
 4875#line 48 "include/linux/proc_fs.h"
 4876typedef int write_proc_t(struct file * , char const   * , unsigned long  , void * );
 4877#line 49 "include/linux/proc_fs.h"
 4878struct proc_dir_entry {
 4879   unsigned int low_ino ;
 4880   unsigned int namelen ;
 4881   char const   *name ;
 4882   mode_t mode ;
 4883   nlink_t nlink ;
 4884   uid_t uid ;
 4885   gid_t gid ;
 4886   loff_t size ;
 4887   struct inode_operations  const  *proc_iops ;
 4888   struct file_operations  const  *proc_fops ;
 4889   struct proc_dir_entry *next ;
 4890   struct proc_dir_entry *parent ;
 4891   struct proc_dir_entry *subdir ;
 4892   void *data ;
 4893   read_proc_t *read_proc ;
 4894   write_proc_t *write_proc ;
 4895   atomic_t count ;
 4896   int pde_users ;
 4897   spinlock_t pde_unload_lock ;
 4898   struct completion *pde_unload_completion ;
 4899   struct list_head pde_openers ;
 4900};
 4901#line 241 "include/linux/proc_fs.h"
 4902struct proc_ns_operations {
 4903   char const   *name ;
 4904   int type ;
 4905   void *(*get)(struct task_struct * ) ;
 4906   void (*put)(void * ) ;
 4907   int (*install)(struct nsproxy * , void * ) ;
 4908};
 4909#line 254 "include/linux/proc_fs.h"
 4910union proc_op {
 4911   int (*proc_get_link)(struct inode * , struct path * ) ;
 4912   int (*proc_read)(struct task_struct * , char * ) ;
 4913   int (*proc_show)(struct seq_file * , struct pid_namespace * , struct pid * , struct task_struct * ) ;
 4914};
 4915#line 260 "include/linux/proc_fs.h"
 4916struct proc_inode {
 4917   struct pid *pid ;
 4918   int fd ;
 4919   union proc_op op ;
 4920   struct proc_dir_entry *pde ;
 4921   struct ctl_table_header *sysctl ;
 4922   struct ctl_table *sysctl_entry ;
 4923   void *ns ;
 4924   struct proc_ns_operations  const  *ns_ops ;
 4925   struct inode vfs_inode ;
 4926};
 4927#line 292 "include/linux/proc_fs.h"
 4928struct seq_file {
 4929   char *buf ;
 4930   size_t size ;
 4931   size_t from ;
 4932   size_t count ;
 4933   loff_t index ;
 4934   loff_t read_pos ;
 4935   u64 version ;
 4936   struct mutex lock ;
 4937   struct seq_operations  const  *op ;
 4938   void *private ;
 4939};
 4940#line 28 "include/linux/seq_file.h"
 4941struct seq_operations {
 4942   void *(*start)(struct seq_file * , loff_t * ) ;
 4943   void (*stop)(struct seq_file * , void * ) ;
 4944   void *(*next)(struct seq_file * , void * , loff_t * ) ;
 4945   int (*show)(struct seq_file * , void * ) ;
 4946};
 4947#line 154 "include/linux/seq_file.h"
 4948struct miscdevice {
 4949   int minor ;
 4950   char const   *name ;
 4951   struct file_operations  const  *fops ;
 4952   struct list_head list ;
 4953   struct device *parent ;
 4954   struct device *this_device ;
 4955   char const   *nodename ;
 4956   mode_t mode ;
 4957};
 4958#line 34 "include/linux/bug.h"
 4959struct dma_attrs {
 4960   unsigned long flags[1U] ;
 4961};
 4962#line 266 "include/linux/scatterlist.h"
 4963enum dma_data_direction {
 4964    DMA_BIDIRECTIONAL = 0,
 4965    DMA_TO_DEVICE = 1,
 4966    DMA_FROM_DEVICE = 2,
 4967    DMA_NONE = 3
 4968} ;
 4969#line 273 "include/linux/scatterlist.h"
 4970struct dma_map_ops {
 4971   void *(*alloc_coherent)(struct device * , size_t  , dma_addr_t * , gfp_t  ) ;
 4972   void (*free_coherent)(struct device * , size_t  , void * , dma_addr_t  ) ;
 4973   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
 4974                          enum dma_data_direction  , struct dma_attrs * ) ;
 4975   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 4976                      struct dma_attrs * ) ;
 4977   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
 4978                 struct dma_attrs * ) ;
 4979   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
 4980                    struct dma_attrs * ) ;
 4981   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
 4982   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
 4983   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
 4984   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
 4985   int (*mapping_error)(struct device * , dma_addr_t  ) ;
 4986   int (*dma_supported)(struct device * , u64  ) ;
 4987   int (*set_dma_mask)(struct device * , u64  ) ;
 4988   int is_phys ;
 4989};
 4990#line 1 "<compiler builtins>"
 4991
 4992#line 1
 4993
 4994#line 1
 4995long __builtin_expect(long  , long  ) ;
 4996#line 24 "include/linux/list.h"
 4997__inline static void INIT_LIST_HEAD(struct list_head *list ) 
 4998{ 
 4999
 5000  {
 5001#line 26
 5002  list->next = list;
 5003#line 27
 5004  list->prev = list;
 5005#line 28
 5006  return;
 5007}
 5008}
 5009#line 47
 5010extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
 5011#line 60 "include/linux/list.h"
 5012__inline static void list_add(struct list_head *new , struct list_head *head ) 
 5013{ struct list_head *__cil_tmp3 ;
 5014
 5015  {
 5016  {
 5017#line 62
 5018  __cil_tmp3 = head->next;
 5019#line 62
 5020  __list_add(new, head, __cil_tmp3);
 5021  }
 5022#line 63
 5023  return;
 5024}
 5025}
 5026#line 74 "include/linux/list.h"
 5027__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
 5028{ struct list_head *__cil_tmp3 ;
 5029
 5030  {
 5031  {
 5032#line 76
 5033  __cil_tmp3 = head->prev;
 5034#line 76
 5035  __list_add(new, __cil_tmp3, head);
 5036  }
 5037#line 77
 5038  return;
 5039}
 5040}
 5041#line 111
 5042extern void __list_del_entry(struct list_head * ) ;
 5043#line 112
 5044extern void list_del(struct list_head * ) ;
 5045#line 142 "include/linux/list.h"
 5046__inline static void list_del_init(struct list_head *entry ) 
 5047{ 
 5048
 5049  {
 5050  {
 5051#line 144
 5052  __list_del_entry(entry);
 5053#line 145
 5054  INIT_LIST_HEAD(entry);
 5055  }
 5056#line 146
 5057  return;
 5058}
 5059}
 5060#line 186 "include/linux/list.h"
 5061__inline static int list_empty(struct list_head  const  *head ) 
 5062{ unsigned long __cil_tmp2 ;
 5063  struct list_head *__cil_tmp3 ;
 5064  struct list_head  const  *__cil_tmp4 ;
 5065  unsigned long __cil_tmp5 ;
 5066
 5067  {
 5068  {
 5069#line 188
 5070  __cil_tmp2 = (unsigned long )head;
 5071#line 188
 5072  __cil_tmp3 = head->next;
 5073#line 188
 5074  __cil_tmp4 = (struct list_head  const  *)__cil_tmp3;
 5075#line 188
 5076  __cil_tmp5 = (unsigned long )__cil_tmp4;
 5077#line 188
 5078  return (__cil_tmp5 == __cil_tmp2);
 5079  }
 5080}
 5081}
 5082#line 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 5083__inline static void set_bit(unsigned int nr , unsigned long volatile   *addr ) 
 5084{ long volatile   *__cil_tmp3 ;
 5085
 5086  {
 5087#line 68
 5088  __cil_tmp3 = (long volatile   *)addr;
 5089#line 68
 5090  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
 5091#line 70
 5092  return;
 5093}
 5094}
 5095#line 98 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 5096__inline static void clear_bit(int nr , unsigned long volatile   *addr ) 
 5097{ long volatile   *__cil_tmp3 ;
 5098
 5099  {
 5100#line 105
 5101  __cil_tmp3 = (long volatile   *)addr;
 5102#line 105
 5103  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
 5104#line 107
 5105  return;
 5106}
 5107}
 5108#line 309 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 5109__inline static int constant_test_bit(unsigned int nr , unsigned long const volatile   *addr ) 
 5110{ int __cil_tmp3 ;
 5111  int __cil_tmp4 ;
 5112  unsigned int __cil_tmp5 ;
 5113  unsigned long __cil_tmp6 ;
 5114  unsigned long const volatile   *__cil_tmp7 ;
 5115  unsigned long volatile   __cil_tmp8 ;
 5116  unsigned long __cil_tmp9 ;
 5117  unsigned long __cil_tmp10 ;
 5118  int __cil_tmp11 ;
 5119
 5120  {
 5121  {
 5122#line 311
 5123  __cil_tmp3 = (int )nr;
 5124#line 311
 5125  __cil_tmp4 = __cil_tmp3 & 63;
 5126#line 311
 5127  __cil_tmp5 = nr / 64U;
 5128#line 311
 5129  __cil_tmp6 = (unsigned long )__cil_tmp5;
 5130#line 311
 5131  __cil_tmp7 = addr + __cil_tmp6;
 5132#line 311
 5133  __cil_tmp8 = *__cil_tmp7;
 5134#line 311
 5135  __cil_tmp9 = (unsigned long )__cil_tmp8;
 5136#line 311
 5137  __cil_tmp10 = __cil_tmp9 >> __cil_tmp4;
 5138#line 311
 5139  __cil_tmp11 = (int )__cil_tmp10;
 5140#line 311
 5141  return (__cil_tmp11 & 1);
 5142  }
 5143}
 5144}
 5145#line 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 5146__inline static int variable_test_bit(int nr , unsigned long const volatile   *addr ) 
 5147{ int oldbit ;
 5148  unsigned long *__cil_tmp4 ;
 5149
 5150  {
 5151#line 319
 5152  __cil_tmp4 = (unsigned long *)addr;
 5153#line 319
 5154  __asm__  volatile   ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4),
 5155                       "Ir" (nr));
 5156#line 324
 5157  return (oldbit);
 5158}
 5159}
 5160#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/swab.h"
 5161__inline static __u32 __arch_swab32(__u32 val ) 
 5162{ 
 5163
 5164  {
 5165#line 21
 5166  __asm__  ("bswapl %0": "=r" (val): "0" (val));
 5167#line 25
 5168  return (val);
 5169}
 5170}
 5171#line 46 "include/linux/swab.h"
 5172__inline static __u16 __fswab16(__u16 val ) 
 5173{ int __cil_tmp2 ;
 5174  int __cil_tmp3 ;
 5175  short __cil_tmp4 ;
 5176  int __cil_tmp5 ;
 5177  int __cil_tmp6 ;
 5178  int __cil_tmp7 ;
 5179  short __cil_tmp8 ;
 5180  int __cil_tmp9 ;
 5181  int __cil_tmp10 ;
 5182
 5183  {
 5184  {
 5185#line 51
 5186  __cil_tmp2 = (int )val;
 5187#line 51
 5188  __cil_tmp3 = __cil_tmp2 >> 8;
 5189#line 51
 5190  __cil_tmp4 = (short )__cil_tmp3;
 5191#line 51
 5192  __cil_tmp5 = (int )__cil_tmp4;
 5193#line 51
 5194  __cil_tmp6 = (int )val;
 5195#line 51
 5196  __cil_tmp7 = __cil_tmp6 << 8;
 5197#line 51
 5198  __cil_tmp8 = (short )__cil_tmp7;
 5199#line 51
 5200  __cil_tmp9 = (int )__cil_tmp8;
 5201#line 51
 5202  __cil_tmp10 = __cil_tmp9 | __cil_tmp5;
 5203#line 51
 5204  return ((__u16 )__cil_tmp10);
 5205  }
 5206}
 5207}
 5208#line 55 "include/linux/swab.h"
 5209__inline static __u32 __fswab32(__u32 val ) 
 5210{ __u32 tmp ;
 5211
 5212  {
 5213  {
 5214#line 58
 5215  tmp = __arch_swab32(val);
 5216  }
 5217#line 58
 5218  return (tmp);
 5219}
 5220}
 5221#line 101 "include/linux/printk.h"
 5222extern int printk(char const   *  , ...) ;
 5223#line 64 "include/asm-generic/bug.h"
 5224extern void warn_slowpath_fmt(char const   * , int  , char const   *  , ...) ;
 5225#line 170 "include/linux/kernel.h"
 5226extern void might_fault(void) ;
 5227#line 291
 5228extern int sprintf(char * , char const   *  , ...) ;
 5229#line 303
 5230extern char *kasprintf(gfp_t  , char const   *  , ...) ;
 5231#line 307
 5232extern int sscanf(char const   * , char const   *  , ...) ;
 5233#line 88 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/percpu.h"
 5234extern void __bad_percpu_size(void) ;
 5235#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
 5236extern struct task_struct *current_task ;
 5237#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
 5238__inline static struct task_struct *get_current(void) 
 5239{ struct task_struct *pfo_ret__ ;
 5240
 5241  {
 5242#line 14
 5243  if (1) {
 5244#line 14
 5245    goto case_8;
 5246  } else {
 5247#line 14
 5248    goto switch_default;
 5249#line 14
 5250    if (0) {
 5251#line 14
 5252      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
 5253#line 14
 5254      goto ldv_2386;
 5255#line 14
 5256      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
 5257#line 14
 5258      goto ldv_2386;
 5259#line 14
 5260      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
 5261#line 14
 5262      goto ldv_2386;
 5263      case_8: 
 5264#line 14
 5265      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
 5266#line 14
 5267      goto ldv_2386;
 5268      switch_default: 
 5269      {
 5270#line 14
 5271      __bad_percpu_size();
 5272      }
 5273    } else {
 5274
 5275    }
 5276  }
 5277  ldv_2386: ;
 5278#line 14
 5279  return (pfo_ret__);
 5280}
 5281}
 5282#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/cmpxchg_64.h"
 5283extern void __xchg_wrong_size(void) ;
 5284#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
 5285extern void *__memcpy(void * , void const   * , size_t  ) ;
 5286#line 55
 5287extern void *memset(void * , int  , size_t  ) ;
 5288#line 62
 5289extern char *strcpy(char * , char const   * ) ;
 5290#line 64
 5291extern int strcmp(char const   * , char const   * ) ;
 5292#line 32 "include/linux/err.h"
 5293__inline static long IS_ERR(void const   *ptr ) 
 5294{ long tmp ;
 5295  unsigned long __cil_tmp3 ;
 5296  int __cil_tmp4 ;
 5297  long __cil_tmp5 ;
 5298
 5299  {
 5300  {
 5301#line 34
 5302  __cil_tmp3 = (unsigned long )ptr;
 5303#line 34
 5304  __cil_tmp4 = __cil_tmp3 > 1152921504606842880UL;
 5305#line 34
 5306  __cil_tmp5 = (long )__cil_tmp4;
 5307#line 34
 5308  tmp = __builtin_expect(__cil_tmp5, 0L);
 5309  }
 5310#line 34
 5311  return (tmp);
 5312}
 5313}
 5314#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 5315__inline static int atomic_read(atomic_t const   *v ) 
 5316{ int const   *__cil_tmp2 ;
 5317  int volatile   *__cil_tmp3 ;
 5318  int volatile   __cil_tmp4 ;
 5319
 5320  {
 5321  {
 5322#line 25
 5323  __cil_tmp2 = & v->counter;
 5324#line 25
 5325  __cil_tmp3 = (int volatile   *)__cil_tmp2;
 5326#line 25
 5327  __cil_tmp4 = *__cil_tmp3;
 5328#line 25
 5329  return ((int )__cil_tmp4);
 5330  }
 5331}
 5332}
 5333#line 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 5334__inline static void atomic_set(atomic_t *v , int i ) 
 5335{ 
 5336
 5337  {
 5338#line 37
 5339  v->counter = i;
 5340#line 38
 5341  return;
 5342}
 5343}
 5344#line 93 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 5345__inline static void atomic_inc(atomic_t *v ) 
 5346{ 
 5347
 5348  {
 5349#line 95
 5350  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; incl %0": "+m" (v->counter));
 5351#line 97
 5352  return;
 5353}
 5354}
 5355#line 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 5356__inline static void atomic_dec(atomic_t *v ) 
 5357{ 
 5358
 5359  {
 5360#line 107
 5361  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0": "+m" (v->counter));
 5362#line 109
 5363  return;
 5364}
 5365}
 5366#line 119 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 5367__inline static int atomic_dec_and_test(atomic_t *v ) 
 5368{ unsigned char c ;
 5369  unsigned int __cil_tmp3 ;
 5370
 5371  {
 5372#line 123
 5373  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0; sete %1": "+m" (v->counter),
 5374                       "=qm" (c): : "memory");
 5375  {
 5376#line 126
 5377  __cil_tmp3 = (unsigned int )c;
 5378#line 126
 5379  return (__cil_tmp3 != 0U);
 5380  }
 5381}
 5382}
 5383#line 217 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 5384extern unsigned long kernel_stack ;
 5385#line 219 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 5386__inline static struct thread_info *current_thread_info(void) 
 5387{ struct thread_info *ti ;
 5388  unsigned long pfo_ret__ ;
 5389  unsigned long __cil_tmp3 ;
 5390
 5391  {
 5392#line 222
 5393  if (1) {
 5394#line 222
 5395    goto case_8;
 5396  } else {
 5397#line 222
 5398    goto switch_default;
 5399#line 222
 5400    if (0) {
 5401#line 222
 5402      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& kernel_stack));
 5403#line 222
 5404      goto ldv_5782;
 5405#line 222
 5406      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 5407#line 222
 5408      goto ldv_5782;
 5409#line 222
 5410      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 5411#line 222
 5412      goto ldv_5782;
 5413      case_8: 
 5414#line 222
 5415      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 5416#line 222
 5417      goto ldv_5782;
 5418      switch_default: 
 5419      {
 5420#line 222
 5421      __bad_percpu_size();
 5422      }
 5423    } else {
 5424
 5425    }
 5426  }
 5427  ldv_5782: 
 5428#line 222
 5429  __cil_tmp3 = pfo_ret__ - 8152UL;
 5430#line 222
 5431  ti = (struct thread_info *)__cil_tmp3;
 5432#line 224
 5433  return (ti);
 5434}
 5435}
 5436#line 82 "include/linux/thread_info.h"
 5437__inline static int test_ti_thread_flag(struct thread_info *ti , int flag ) 
 5438{ int tmp ;
 5439  __u32 *__cil_tmp4 ;
 5440  unsigned long const volatile   *__cil_tmp5 ;
 5441
 5442  {
 5443  {
 5444#line 84
 5445  __cil_tmp4 = & ti->flags;
 5446#line 84
 5447  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
 5448#line 84
 5449  tmp = variable_test_bit(flag, __cil_tmp5);
 5450  }
 5451#line 84
 5452  return (tmp);
 5453}
 5454}
 5455#line 93 "include/linux/spinlock.h"
 5456extern void __raw_spin_lock_init(raw_spinlock_t * , char const   * , struct lock_class_key * ) ;
 5457#line 22 "include/linux/spinlock_api_smp.h"
 5458extern void _raw_spin_lock(raw_spinlock_t * ) ;
 5459#line 29
 5460extern void _raw_spin_lock_irq(raw_spinlock_t * ) ;
 5461#line 39
 5462extern void _raw_spin_unlock(raw_spinlock_t * ) ;
 5463#line 41
 5464extern void _raw_spin_unlock_irq(raw_spinlock_t * ) ;
 5465#line 272 "include/linux/spinlock.h"
 5466__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
 5467{ 
 5468
 5469  {
 5470#line 274
 5471  return (& lock->ldv_6060.rlock);
 5472}
 5473}
 5474#line 283 "include/linux/spinlock.h"
 5475__inline static void spin_lock(spinlock_t *lock ) 
 5476{ struct raw_spinlock *__cil_tmp2 ;
 5477
 5478  {
 5479  {
 5480#line 285
 5481  __cil_tmp2 = & lock->ldv_6060.rlock;
 5482#line 285
 5483  _raw_spin_lock(__cil_tmp2);
 5484  }
 5485#line 286
 5486  return;
 5487}
 5488}
 5489#line 308 "include/linux/spinlock.h"
 5490__inline static void spin_lock_irq(spinlock_t *lock ) 
 5491{ struct raw_spinlock *__cil_tmp2 ;
 5492
 5493  {
 5494  {
 5495#line 310
 5496  __cil_tmp2 = & lock->ldv_6060.rlock;
 5497#line 310
 5498  _raw_spin_lock_irq(__cil_tmp2);
 5499  }
 5500#line 311
 5501  return;
 5502}
 5503}
 5504#line 323 "include/linux/spinlock.h"
 5505__inline static void spin_unlock(spinlock_t *lock ) 
 5506{ struct raw_spinlock *__cil_tmp2 ;
 5507
 5508  {
 5509  {
 5510#line 325
 5511  __cil_tmp2 = & lock->ldv_6060.rlock;
 5512#line 325
 5513  _raw_spin_unlock(__cil_tmp2);
 5514  }
 5515#line 326
 5516  return;
 5517}
 5518}
 5519#line 333 "include/linux/spinlock.h"
 5520__inline static void spin_unlock_irq(spinlock_t *lock ) 
 5521{ struct raw_spinlock *__cil_tmp2 ;
 5522
 5523  {
 5524  {
 5525#line 335
 5526  __cil_tmp2 = & lock->ldv_6060.rlock;
 5527#line 335
 5528  _raw_spin_unlock_irq(__cil_tmp2);
 5529  }
 5530#line 336
 5531  return;
 5532}
 5533}
 5534#line 30 "include/linux/wait.h"
 5535extern int default_wake_function(wait_queue_t * , unsigned int  , int  , void * ) ;
 5536#line 80
 5537extern void __init_waitqueue_head(wait_queue_head_t * , struct lock_class_key * ) ;
 5538#line 118
 5539extern void add_wait_queue(wait_queue_head_t * , wait_queue_t * ) ;
 5540#line 120
 5541extern void remove_wait_queue(wait_queue_head_t * , wait_queue_t * ) ;
 5542#line 156
 5543extern void __wake_up(wait_queue_head_t * , unsigned int  , int  , void * ) ;
 5544#line 115 "include/linux/mutex.h"
 5545extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
 5546#line 134
 5547extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
 5548#line 169
 5549extern void mutex_unlock(struct mutex * ) ;
 5550#line 322 "include/linux/gfp.h"
 5551extern struct page *alloc_pages_current(gfp_t  , unsigned int  ) ;
 5552#line 325 "include/linux/gfp.h"
 5553__inline static struct page *alloc_pages(gfp_t gfp_mask , unsigned int order ) 
 5554{ struct page *tmp ;
 5555
 5556  {
 5557  {
 5558#line 327
 5559  tmp = alloc_pages_current(gfp_mask, order);
 5560  }
 5561#line 327
 5562  return (tmp);
 5563}
 5564}
 5565#line 358
 5566extern void __free_pages(struct page * , unsigned int  ) ;
 5567#line 830 "include/linux/rcupdate.h"
 5568extern void kfree(void const   * ) ;
 5569#line 90 "include/linux/kobject.h"
 5570extern int kobject_init_and_add(struct kobject * , struct kobj_type * , struct kobject * ,
 5571                                char const   *  , ...) ;
 5572#line 106
 5573extern void kobject_put(struct kobject * ) ;
 5574#line 211
 5575extern int kobject_uevent(struct kobject * , enum kobject_action  ) ;
 5576#line 99 "include/linux/module.h"
 5577extern struct module __this_module ;
 5578#line 519
 5579__inline static void ldv___module_get_3(struct module *module ) ;
 5580#line 541
 5581__inline static int ldv_try_module_get_1(struct module *module ) ;
 5582#line 547
 5583void ldv_module_put_2(struct module *ldv_func_arg1 ) ;
 5584#line 551
 5585void ldv_module_put_4(struct module *ldv_func_arg1 ) ;
 5586#line 555
 5587void ldv_module_put_5(struct module *ldv_func_arg1 ) ;
 5588#line 3 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 5589int ldv_try_module_get(struct module *module ) ;
 5590#line 4
 5591void ldv_module_get(struct module *module ) ;
 5592#line 5
 5593void ldv_module_put(struct module *module ) ;
 5594#line 6
 5595unsigned int ldv_module_refcount(void) ;
 5596#line 7
 5597void ldv_module_put_and_exit(void) ;
 5598#line 546 "include/linux/capability.h"
 5599extern bool capable(int  ) ;
 5600#line 147 "include/linux/rbtree.h"
 5601extern void rb_insert_color(struct rb_node * , struct rb_root * ) ;
 5602#line 148
 5603extern void rb_erase(struct rb_node * , struct rb_root * ) ;
 5604#line 159
 5605extern struct rb_node *rb_next(struct rb_node  const  * ) ;
 5606#line 161
 5607extern struct rb_node *rb_first(struct rb_root  const  * ) ;
 5608#line 168 "include/linux/rbtree.h"
 5609__inline static void rb_link_node(struct rb_node *node , struct rb_node *parent ,
 5610                                  struct rb_node **rb_link ) 
 5611{ struct rb_node *tmp ;
 5612
 5613  {
 5614#line 171
 5615  node->rb_parent_color = (unsigned long )parent;
 5616#line 172
 5617  tmp = (struct rb_node *)0;
 5618#line 172
 5619  node->rb_right = tmp;
 5620#line 172
 5621  node->rb_left = tmp;
 5622#line 174
 5623  *rb_link = node;
 5624#line 175
 5625  return;
 5626}
 5627}
 5628#line 357 "include/linux/sched.h"
 5629extern long schedule_timeout(long  ) ;
 5630#line 2037
 5631extern void set_user_nice(struct task_struct * , long  ) ;
 5632#line 2112
 5633extern int wake_up_process(struct task_struct * ) ;
 5634#line 2441 "include/linux/sched.h"
 5635__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag ) 
 5636{ int tmp ;
 5637  void *__cil_tmp4 ;
 5638  struct thread_info *__cil_tmp5 ;
 5639
 5640  {
 5641  {
 5642#line 2443
 5643  __cil_tmp4 = tsk->stack;
 5644#line 2443
 5645  __cil_tmp5 = (struct thread_info *)__cil_tmp4;
 5646#line 2443
 5647  tmp = test_ti_thread_flag(__cil_tmp5, flag);
 5648  }
 5649#line 2443
 5650  return (tmp);
 5651}
 5652}
 5653#line 41 "include/linux/kdev_t.h"
 5654__inline static u32 new_encode_dev(dev_t dev ) 
 5655{ unsigned int major ;
 5656  unsigned int minor ;
 5657  unsigned int __cil_tmp4 ;
 5658  unsigned int __cil_tmp5 ;
 5659  unsigned int __cil_tmp6 ;
 5660  unsigned int __cil_tmp7 ;
 5661  unsigned int __cil_tmp8 ;
 5662
 5663  {
 5664#line 43
 5665  major = dev >> 20;
 5666#line 44
 5667  minor = dev & 1048575U;
 5668  {
 5669#line 45
 5670  __cil_tmp4 = minor & 4294967040U;
 5671#line 45
 5672  __cil_tmp5 = __cil_tmp4 << 12;
 5673#line 45
 5674  __cil_tmp6 = major << 8;
 5675#line 45
 5676  __cil_tmp7 = minor & 255U;
 5677#line 45
 5678  __cil_tmp8 = __cil_tmp7 | __cil_tmp6;
 5679#line 45
 5680  return (__cil_tmp8 | __cil_tmp5);
 5681  }
 5682}
 5683}
 5684#line 48 "include/linux/kdev_t.h"
 5685__inline static dev_t new_decode_dev(u32 dev ) 
 5686{ unsigned int major ;
 5687  unsigned int minor ;
 5688  unsigned int __cil_tmp4 ;
 5689  u32 __cil_tmp5 ;
 5690  unsigned int __cil_tmp6 ;
 5691  unsigned int __cil_tmp7 ;
 5692  unsigned int __cil_tmp8 ;
 5693
 5694  {
 5695#line 50
 5696  __cil_tmp4 = dev & 1048320U;
 5697#line 50
 5698  major = __cil_tmp4 >> 8;
 5699#line 51
 5700  __cil_tmp5 = dev >> 12;
 5701#line 51
 5702  __cil_tmp6 = __cil_tmp5 & 1048320U;
 5703#line 51
 5704  __cil_tmp7 = dev & 255U;
 5705#line 51
 5706  minor = __cil_tmp7 | __cil_tmp6;
 5707  {
 5708#line 52
 5709  __cil_tmp8 = major << 20;
 5710#line 52
 5711  return (__cil_tmp8 | minor);
 5712  }
 5713}
 5714}
 5715#line 221 "include/linux/slub_def.h"
 5716extern void *__kmalloc(size_t  , gfp_t  ) ;
 5717#line 255 "include/linux/slub_def.h"
 5718__inline static void *kmalloc(size_t size , gfp_t flags ) 
 5719{ void *tmp___2 ;
 5720
 5721  {
 5722  {
 5723#line 270
 5724  tmp___2 = __kmalloc(size, flags);
 5725  }
 5726#line 270
 5727  return (tmp___2);
 5728}
 5729}
 5730#line 223 "include/linux/slab.h"
 5731__inline static void *kcalloc(size_t n , size_t size , gfp_t flags ) 
 5732{ void *tmp ;
 5733  unsigned long __cil_tmp5 ;
 5734  size_t __cil_tmp6 ;
 5735  unsigned int __cil_tmp7 ;
 5736
 5737  {
 5738#line 225
 5739  if (size != 0UL) {
 5740    {
 5741#line 225
 5742    __cil_tmp5 = 1152921504606846975UL / size;
 5743#line 225
 5744    if (__cil_tmp5 < n) {
 5745#line 226
 5746      return ((void *)0);
 5747    } else {
 5748
 5749    }
 5750    }
 5751  } else {
 5752
 5753  }
 5754  {
 5755#line 227
 5756  __cil_tmp6 = n * size;
 5757#line 227
 5758  __cil_tmp7 = flags | 32768U;
 5759#line 227
 5760  tmp = __kmalloc(__cil_tmp6, __cil_tmp7);
 5761  }
 5762#line 227
 5763  return (tmp);
 5764}
 5765}
 5766#line 318 "include/linux/slab.h"
 5767__inline static void *kzalloc(size_t size , gfp_t flags ) 
 5768{ void *tmp ;
 5769  unsigned int __cil_tmp4 ;
 5770
 5771  {
 5772  {
 5773#line 320
 5774  __cil_tmp4 = flags | 32768U;
 5775#line 320
 5776  tmp = kmalloc(size, __cil_tmp4);
 5777  }
 5778#line 320
 5779  return (tmp);
 5780}
 5781}
 5782#line 313 "include/linux/device.h"
 5783extern int __class_register(struct class * , struct lock_class_key * ) ;
 5784#line 394
 5785extern void class_destroy(struct class * ) ;
 5786#line 692
 5787extern void device_unregister(struct device * ) ;
 5788#line 743
 5789extern struct device *device_create(struct class * , struct device * , dev_t  , void * ,
 5790                                    char const   *  , ...) ;
 5791#line 2025 "include/linux/fs.h"
 5792extern int register_blkdev(unsigned int  , char const   * ) ;
 5793#line 2026
 5794extern void unregister_blkdev(unsigned int  , char const   * ) ;
 5795#line 2027
 5796extern struct block_device *bdget(dev_t  ) ;
 5797#line 2029
 5798extern void bd_set_size(struct block_device * , loff_t  ) ;
 5799#line 2062
 5800extern int blkdev_get(struct block_device * , fmode_t  , void * ) ;
 5801#line 2067
 5802extern int blkdev_put(struct block_device * , fmode_t  ) ;
 5803#line 2115
 5804extern char const   *bdevname(struct block_device * , char * ) ;
 5805#line 2296
 5806extern int set_blocksize(struct block_device * , int  ) ;
 5807#line 2337
 5808extern loff_t no_llseek(struct file * , loff_t  , int  ) ;
 5809#line 2342
 5810extern int nonseekable_open(struct inode * , struct file * ) ;
 5811#line 408 "include/linux/genhd.h"
 5812extern void add_disk(struct gendisk * ) ;
 5813#line 409
 5814extern void del_gendisk(struct gendisk * ) ;
 5815#line 438 "include/linux/genhd.h"
 5816__inline static void set_capacity(struct gendisk *disk , sector_t size ) 
 5817{ 
 5818
 5819  {
 5820#line 440
 5821  disk->part0.nr_sects = size;
 5822#line 441
 5823  return;
 5824}
 5825}
 5826#line 607
 5827extern struct gendisk *alloc_disk(int  ) ;
 5828#line 609
 5829extern void put_disk(struct gendisk * ) ;
 5830#line 720 "include/linux/mm.h"
 5831__inline static void *lowmem_page_address(struct page *page ) 
 5832{ long __cil_tmp2 ;
 5833  long __cil_tmp3 ;
 5834  long __cil_tmp4 ;
 5835  unsigned long long __cil_tmp5 ;
 5836  unsigned long long __cil_tmp6 ;
 5837  unsigned long __cil_tmp7 ;
 5838  unsigned long __cil_tmp8 ;
 5839
 5840  {
 5841  {
 5842#line 722
 5843  __cil_tmp2 = (long )page;
 5844#line 722
 5845  __cil_tmp3 = __cil_tmp2 + 24189255811072L;
 5846#line 722
 5847  __cil_tmp4 = __cil_tmp3 / 56L;
 5848#line 722
 5849  __cil_tmp5 = (unsigned long long )__cil_tmp4;
 5850#line 722
 5851  __cil_tmp6 = __cil_tmp5 << 12;
 5852#line 722
 5853  __cil_tmp7 = (unsigned long )__cil_tmp6;
 5854#line 722
 5855  __cil_tmp8 = __cil_tmp7 + 1152789563211513856UL;
 5856#line 722
 5857  return ((void *)__cil_tmp8);
 5858  }
 5859}
 5860}
 5861#line 40 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 5862extern unsigned long _copy_to_user(void * , void const   * , unsigned int  ) ;
 5863#line 42
 5864extern unsigned long _copy_from_user(void * , void const   * , unsigned int  ) ;
 5865#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 5866__inline static unsigned long copy_from_user(void *to , void const   *from , unsigned long n ) 
 5867{ int sz ;
 5868  unsigned long tmp ;
 5869  int __ret_warn_on ;
 5870  long tmp___0 ;
 5871  long tmp___1 ;
 5872  long tmp___2 ;
 5873  void const   *__cil_tmp10 ;
 5874  void *__cil_tmp11 ;
 5875  int __cil_tmp12 ;
 5876  long __cil_tmp13 ;
 5877  unsigned int __cil_tmp14 ;
 5878  unsigned long __cil_tmp15 ;
 5879  int __cil_tmp16 ;
 5880  long __cil_tmp17 ;
 5881  unsigned int __cil_tmp18 ;
 5882  int __cil_tmp19 ;
 5883  long __cil_tmp20 ;
 5884  int __cil_tmp21 ;
 5885  int __cil_tmp22 ;
 5886  int __cil_tmp23 ;
 5887  long __cil_tmp24 ;
 5888
 5889  {
 5890  {
 5891#line 50
 5892  __cil_tmp10 = (void const   *)to;
 5893#line 50
 5894  __cil_tmp11 = (void *)__cil_tmp10;
 5895#line 50
 5896  tmp = __builtin_object_size(__cil_tmp11, 0);
 5897#line 50
 5898  sz = (int )tmp;
 5899#line 52
 5900  might_fault();
 5901#line 53
 5902  __cil_tmp12 = sz == -1;
 5903#line 53
 5904  __cil_tmp13 = (long )__cil_tmp12;
 5905#line 53
 5906  tmp___1 = __builtin_expect(__cil_tmp13, 1L);
 5907  }
 5908#line 53
 5909  if (tmp___1 != 0L) {
 5910    {
 5911#line 54
 5912    __cil_tmp14 = (unsigned int )n;
 5913#line 54
 5914    n = _copy_from_user(to, from, __cil_tmp14);
 5915    }
 5916  } else {
 5917    {
 5918#line 53
 5919    __cil_tmp15 = (unsigned long )sz;
 5920#line 53
 5921    __cil_tmp16 = __cil_tmp15 >= n;
 5922#line 53
 5923    __cil_tmp17 = (long )__cil_tmp16;
 5924#line 53
 5925    tmp___2 = __builtin_expect(__cil_tmp17, 1L);
 5926    }
 5927#line 53
 5928    if (tmp___2 != 0L) {
 5929      {
 5930#line 54
 5931      __cil_tmp18 = (unsigned int )n;
 5932#line 54
 5933      n = _copy_from_user(to, from, __cil_tmp18);
 5934      }
 5935    } else {
 5936      {
 5937#line 57
 5938      __ret_warn_on = 1;
 5939#line 57
 5940      __cil_tmp19 = __ret_warn_on != 0;
 5941#line 57
 5942      __cil_tmp20 = (long )__cil_tmp19;
 5943#line 57
 5944      tmp___0 = __builtin_expect(__cil_tmp20, 0L);
 5945      }
 5946#line 57
 5947      if (tmp___0 != 0L) {
 5948        {
 5949#line 57
 5950        __cil_tmp21 = (int const   )57;
 5951#line 57
 5952        __cil_tmp22 = (int )__cil_tmp21;
 5953#line 57
 5954        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",
 5955                          __cil_tmp22, "Buffer overflow detected!\n");
 5956        }
 5957      } else {
 5958
 5959      }
 5960      {
 5961#line 57
 5962      __cil_tmp23 = __ret_warn_on != 0;
 5963#line 57
 5964      __cil_tmp24 = (long )__cil_tmp23;
 5965#line 57
 5966      __builtin_expect(__cil_tmp24, 0L);
 5967      }
 5968    }
 5969  }
 5970#line 59
 5971  return (n);
 5972}
 5973}
 5974#line 63 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 5975__inline static int copy_to_user(void *dst , void const   *src , unsigned int size ) 
 5976{ unsigned long tmp ;
 5977
 5978  {
 5979  {
 5980#line 65
 5981  might_fault();
 5982#line 67
 5983  tmp = _copy_to_user(dst, src, size);
 5984  }
 5985#line 67
 5986  return ((int )tmp);
 5987}
 5988}
 5989#line 16 "include/linux/uaccess.h"
 5990__inline static void pagefault_disable(void) 
 5991{ struct thread_info *tmp ;
 5992  int __cil_tmp2 ;
 5993
 5994  {
 5995  {
 5996#line 18
 5997  tmp = current_thread_info();
 5998#line 18
 5999  __cil_tmp2 = tmp->preempt_count;
 6000#line 18
 6001  tmp->preempt_count = __cil_tmp2 + 1;
 6002#line 23
 6003  __asm__  volatile   ("": : : "memory");
 6004  }
 6005#line 24
 6006  return;
 6007}
 6008}
 6009#line 26 "include/linux/uaccess.h"
 6010__inline static void pagefault_enable(void) 
 6011{ struct thread_info *tmp ;
 6012  int __cil_tmp2 ;
 6013
 6014  {
 6015  {
 6016#line 32
 6017  __asm__  volatile   ("": : : "memory");
 6018#line 33
 6019  tmp = current_thread_info();
 6020#line 33
 6021  __cil_tmp2 = tmp->preempt_count;
 6022#line 33
 6023  tmp->preempt_count = __cil_tmp2 + -1;
 6024#line 37
 6025  __asm__  volatile   ("": : : "memory");
 6026  }
 6027#line 38
 6028  return;
 6029}
 6030}
 6031#line 58 "include/linux/highmem.h"
 6032__inline static void *__kmap_atomic(struct page *page ) 
 6033{ void *tmp ;
 6034
 6035  {
 6036  {
 6037#line 60
 6038  pagefault_disable();
 6039#line 61
 6040  tmp = lowmem_page_address(page);
 6041  }
 6042#line 61
 6043  return (tmp);
 6044}
 6045}
 6046#line 65 "include/linux/highmem.h"
 6047__inline static void __kunmap_atomic(void *addr ) 
 6048{ 
 6049
 6050  {
 6051  {
 6052#line 67
 6053  pagefault_enable();
 6054  }
 6055#line 68
 6056  return;
 6057}
 6058}
 6059#line 283 "include/linux/backing-dev.h"
 6060extern void clear_bdi_congested(struct backing_dev_info * , int  ) ;
 6061#line 284
 6062extern void set_bdi_congested(struct backing_dev_info * , int  ) ;
 6063#line 285
 6064extern long congestion_wait(int  , long  ) ;
 6065#line 26 "include/linux/mempool.h"
 6066extern mempool_t *mempool_create(int  , mempool_alloc_t * , mempool_free_t * , void * ) ;
 6067#line 32
 6068extern void mempool_destroy(mempool_t * ) ;
 6069#line 33
 6070extern void *mempool_alloc(mempool_t * , gfp_t  ) ;
 6071#line 34
 6072extern void mempool_free(void * , mempool_t * ) ;
 6073#line 53
 6074extern void *mempool_kmalloc(gfp_t  , void * ) ;
 6075#line 54
 6076extern void mempool_kfree(void * , void * ) ;
 6077#line 55 "include/linux/mempool.h"
 6078__inline static mempool_t *mempool_create_kmalloc_pool(int min_nr , size_t size ) 
 6079{ mempool_t *tmp ;
 6080  void *__cil_tmp4 ;
 6081
 6082  {
 6083  {
 6084#line 57
 6085  __cil_tmp4 = (void *)size;
 6086#line 57
 6087  tmp = mempool_create(min_nr, & mempool_kmalloc, & mempool_kfree, __cil_tmp4);
 6088  }
 6089#line 57
 6090  return (tmp);
 6091}
 6092}
 6093#line 208 "include/linux/bio.h"
 6094extern struct bio_pair *bio_split(struct bio * , int  ) ;
 6095#line 209
 6096extern void bio_pair_release(struct bio_pair * ) ;
 6097#line 217
 6098extern void bio_put(struct bio * ) ;
 6099#line 220
 6100extern void bio_endio(struct bio * , int  ) ;
 6101#line 225
 6102extern struct bio *bio_clone(struct bio * , gfp_t  ) ;
 6103#line 227
 6104extern void bio_init(struct bio * ) ;
 6105#line 229
 6106extern int bio_add_page(struct bio * , struct page * , unsigned int  , unsigned int  ) ;
 6107#line 386 "include/linux/bio.h"
 6108__inline static int bio_list_empty(struct bio_list  const  *bl ) 
 6109{ struct bio *__cil_tmp2 ;
 6110  unsigned long __cil_tmp3 ;
 6111  struct bio *__cil_tmp4 ;
 6112  unsigned long __cil_tmp5 ;
 6113
 6114  {
 6115  {
 6116#line 388
 6117  __cil_tmp2 = (struct bio * const  )0;
 6118#line 388
 6119  __cil_tmp3 = (unsigned long )__cil_tmp2;
 6120#line 388
 6121  __cil_tmp4 = bl->head;
 6122#line 388
 6123  __cil_tmp5 = (unsigned long )__cil_tmp4;
 6124#line 388
 6125  return (__cil_tmp5 == __cil_tmp3);
 6126  }
 6127}
 6128}
 6129#line 391 "include/linux/bio.h"
 6130__inline static void bio_list_init(struct bio_list *bl ) 
 6131{ struct bio *tmp ;
 6132
 6133  {
 6134#line 393
 6135  tmp = (struct bio *)0;
 6136#line 393
 6137  bl->tail = tmp;
 6138#line 393
 6139  bl->head = tmp;
 6140#line 394
 6141  return;
 6142}
 6143}
 6144#line 410 "include/linux/bio.h"
 6145__inline static void bio_list_add(struct bio_list *bl , struct bio *bio ) 
 6146{ struct bio *__cil_tmp3 ;
 6147  unsigned long __cil_tmp4 ;
 6148  struct bio *__cil_tmp5 ;
 6149  unsigned long __cil_tmp6 ;
 6150  struct bio *__cil_tmp7 ;
 6151
 6152  {
 6153#line 412
 6154  bio->bi_next = (struct bio *)0;
 6155  {
 6156#line 414
 6157  __cil_tmp3 = (struct bio *)0;
 6158#line 414
 6159  __cil_tmp4 = (unsigned long )__cil_tmp3;
 6160#line 414
 6161  __cil_tmp5 = bl->tail;
 6162#line 414
 6163  __cil_tmp6 = (unsigned long )__cil_tmp5;
 6164#line 414
 6165  if (__cil_tmp6 != __cil_tmp4) {
 6166#line 415
 6167    __cil_tmp7 = bl->tail;
 6168#line 415
 6169    __cil_tmp7->bi_next = bio;
 6170  } else {
 6171#line 417
 6172    bl->head = bio;
 6173  }
 6174  }
 6175#line 419
 6176  bl->tail = bio;
 6177#line 420
 6178  return;
 6179}
 6180}
 6181#line 459 "include/linux/bio.h"
 6182__inline static struct bio *bio_list_peek(struct bio_list *bl ) 
 6183{ 
 6184
 6185  {
 6186#line 461
 6187  return (bl->head);
 6188}
 6189}
 6190#line 464 "include/linux/bio.h"
 6191__inline static struct bio *bio_list_pop(struct bio_list *bl ) 
 6192{ struct bio *bio ;
 6193  struct bio *__cil_tmp3 ;
 6194  unsigned long __cil_tmp4 ;
 6195  unsigned long __cil_tmp5 ;
 6196  struct bio *__cil_tmp6 ;
 6197  struct bio *__cil_tmp7 ;
 6198  unsigned long __cil_tmp8 ;
 6199  struct bio *__cil_tmp9 ;
 6200  unsigned long __cil_tmp10 ;
 6201
 6202  {
 6203#line 466
 6204  bio = bl->head;
 6205  {
 6206#line 468
 6207  __cil_tmp3 = (struct bio *)0;
 6208#line 468
 6209  __cil_tmp4 = (unsigned long )__cil_tmp3;
 6210#line 468
 6211  __cil_tmp5 = (unsigned long )bio;
 6212#line 468
 6213  if (__cil_tmp5 != __cil_tmp4) {
 6214#line 469
 6215    __cil_tmp6 = bl->head;
 6216#line 469
 6217    bl->head = __cil_tmp6->bi_next;
 6218    {
 6219#line 470
 6220    __cil_tmp7 = (struct bio *)0;
 6221#line 470
 6222    __cil_tmp8 = (unsigned long )__cil_tmp7;
 6223#line 470
 6224    __cil_tmp9 = bl->head;
 6225#line 470
 6226    __cil_tmp10 = (unsigned long )__cil_tmp9;
 6227#line 470
 6228    if (__cil_tmp10 == __cil_tmp8) {
 6229#line 471
 6230      bl->tail = (struct bio *)0;
 6231    } else {
 6232
 6233    }
 6234    }
 6235#line 473
 6236    bio->bi_next = (struct bio *)0;
 6237  } else {
 6238
 6239  }
 6240  }
 6241#line 476
 6242  return (bio);
 6243}
 6244}
 6245#line 599 "include/linux/blkdev.h"
 6246extern void blk_queue_bounce(struct request_queue * , struct bio ** ) ;
 6247#line 651
 6248extern void generic_make_request(struct bio * ) ;
 6249#line 653
 6250extern void blk_put_request(struct request * ) ;
 6251#line 655
 6252extern struct request *blk_get_request(struct request_queue * , int  , gfp_t  ) ;
 6253#line 708
 6254extern int blk_rq_map_kern(struct request_queue * , struct request * , void * , unsigned int  ,
 6255                           gfp_t  ) ;
 6256#line 712
 6257extern int blk_execute_rq(struct request_queue * , struct gendisk * , struct request * ,
 6258                          int  ) ;
 6259#line 717 "include/linux/blkdev.h"
 6260__inline static struct request_queue *bdev_get_queue(struct block_device *bdev ) 
 6261{ struct gendisk *__cil_tmp2 ;
 6262
 6263  {
 6264  {
 6265#line 719
 6266  __cil_tmp2 = bdev->bd_disk;
 6267#line 719
 6268  return (__cil_tmp2->queue);
 6269  }
 6270}
 6271}
 6272#line 807
 6273extern void blk_cleanup_queue(struct request_queue * ) ;
 6274#line 808
 6275extern void blk_queue_make_request(struct request_queue * , make_request_fn * ) ;
 6276#line 811
 6277extern void blk_queue_max_hw_sectors(struct request_queue * , unsigned int  ) ;
 6278#line 816
 6279extern void blk_queue_logical_block_size(struct request_queue * , unsigned short  ) ;
 6280#line 841
 6281extern void blk_queue_merge_bvec(struct request_queue * , merge_bvec_fn * ) ;
 6282#line 856
 6283extern struct request_queue *blk_alloc_queue(gfp_t  ) ;
 6284#line 975 "include/linux/blkdev.h"
 6285__inline static unsigned short queue_max_segments(struct request_queue *q ) 
 6286{ 
 6287
 6288  {
 6289#line 977
 6290  return (q->limits.max_segments);
 6291}
 6292}
 6293#line 1313
 6294extern int __blkdev_driver_ioctl(struct block_device * , fmode_t  , unsigned int  ,
 6295                                 unsigned long  ) ;
 6296#line 1022 "include/linux/cdrom.h"
 6297extern void init_cdrom_command(struct packet_command * , void * , int  , int  ) ;
 6298#line 198 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 6299__inline static void *compat_ptr(compat_uptr_t uptr ) 
 6300{ unsigned long __cil_tmp2 ;
 6301
 6302  {
 6303  {
 6304#line 200
 6305  __cil_tmp2 = (unsigned long )uptr;
 6306#line 200
 6307  return ((void *)__cil_tmp2);
 6308  }
 6309}
 6310}
 6311#line 7 "include/linux/kthread.h"
 6312extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int  ,
 6313                                                  char const   *  , ...) ;
 6314#line 36
 6315extern int kthread_stop(struct task_struct * ) ;
 6316#line 37
 6317extern int kthread_should_stop(void) ;
 6318#line 111 "include/linux/proc_fs.h"
 6319extern struct proc_dir_entry *proc_create_data(char const   * , mode_t  , struct proc_dir_entry * ,
 6320                                               struct file_operations  const  * ,
 6321                                               void * ) ;
 6322#line 115
 6323extern void remove_proc_entry(char const   * , struct proc_dir_entry * ) ;
 6324#line 148
 6325extern struct proc_dir_entry *proc_mkdir(char const   * , struct proc_dir_entry * ) ;
 6326#line 278 "include/linux/proc_fs.h"
 6327__inline static struct proc_inode *PROC_I(struct inode  const  *inode ) 
 6328{ struct inode  const  *__mptr ;
 6329  struct proc_inode *__cil_tmp3 ;
 6330
 6331  {
 6332#line 280
 6333  __mptr = inode;
 6334  {
 6335#line 280
 6336  __cil_tmp3 = (struct proc_inode *)__mptr;
 6337#line 280
 6338  return (__cil_tmp3 + 1152921504606846912UL);
 6339  }
 6340}
 6341}
 6342#line 283 "include/linux/proc_fs.h"
 6343__inline static struct proc_dir_entry *PDE(struct inode  const  *inode ) 
 6344{ struct proc_inode *tmp ;
 6345
 6346  {
 6347  {
 6348#line 285
 6349  tmp = PROC_I(inode);
 6350  }
 6351#line 285
 6352  return (tmp->pde);
 6353}
 6354}
 6355#line 78 "include/linux/seq_file.h"
 6356extern ssize_t seq_read(struct file * , char * , size_t  , loff_t * ) ;
 6357#line 79
 6358extern loff_t seq_lseek(struct file * , loff_t  , int  ) ;
 6359#line 86
 6360extern int seq_printf(struct seq_file * , char const   *  , ...) ;
 6361#line 119
 6362extern int single_open(struct file * , int (*)(struct seq_file * , void * ) , void * ) ;
 6363#line 120
 6364extern int single_release(struct inode * , struct file * ) ;
 6365#line 58 "include/linux/miscdevice.h"
 6366extern int misc_register(struct miscdevice * ) ;
 6367#line 59
 6368extern int misc_deregister(struct miscdevice * ) ;
 6369#line 21 "include/linux/freezer.h"
 6370__inline static int freezing(struct task_struct *p ) 
 6371{ int tmp ;
 6372
 6373  {
 6374  {
 6375#line 23
 6376  tmp = test_tsk_thread_flag(p, 23);
 6377  }
 6378#line 23
 6379  return (tmp);
 6380}
 6381}
 6382#line 50
 6383extern void refrigerator(void) ;
 6384#line 54 "include/linux/freezer.h"
 6385__inline static int try_to_freeze(void) 
 6386{ struct task_struct *tmp ;
 6387  int tmp___0 ;
 6388
 6389  {
 6390  {
 6391#line 56
 6392  tmp = get_current();
 6393#line 56
 6394  tmp___0 = freezing(tmp);
 6395  }
 6396#line 56
 6397  if (tmp___0 != 0) {
 6398    {
 6399#line 57
 6400    refrigerator();
 6401    }
 6402#line 58
 6403    return (1);
 6404  } else {
 6405#line 60
 6406    return (0);
 6407  }
 6408}
 6409}
 6410#line 122 "include/linux/freezer.h"
 6411__inline static void set_freezable(void) 
 6412{ struct task_struct *tmp ;
 6413  unsigned int __cil_tmp2 ;
 6414
 6415  {
 6416  {
 6417#line 124
 6418  tmp = get_current();
 6419#line 124
 6420  __cil_tmp2 = tmp->flags;
 6421#line 124
 6422  tmp->flags = __cil_tmp2 & 4294934527U;
 6423  }
 6424#line 125
 6425  return;
 6426}
 6427}
 6428#line 206 "include/scsi/scsi.h"
 6429extern unsigned char const   scsi_command_size_tbl[8U] ;
 6430#line 37 "include/linux/debugfs.h"
 6431extern struct dentry *debugfs_create_file(char const   * , mode_t  , struct dentry * ,
 6432                                          void * , struct file_operations  const  * ) ;
 6433#line 41
 6434extern struct dentry *debugfs_create_dir(char const   * , struct dentry * ) ;
 6435#line 46
 6436extern void debugfs_remove(struct dentry * ) ;
 6437#line 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6438static struct mutex pktcdvd_mutex  =    {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
 6439                                                                            {(struct lock_class *)0,
 6440                                                                             (struct lock_class *)0},
 6441                                                                            "pktcdvd_mutex.wait_lock",
 6442                                                                            0, 0UL}}}},
 6443    {& pktcdvd_mutex.wait_list, & pktcdvd_mutex.wait_list}, (struct task_struct *)0,
 6444    (char const   *)0, (void *)(& pktcdvd_mutex), {(struct lock_class_key *)0, {(struct lock_class *)0,
 6445                                                                                (struct lock_class *)0},
 6446                                                   "pktcdvd_mutex", 0, 0UL}};
 6447#line 97 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6448static struct pktcdvd_device *pkt_devs[8U]  ;
 6449#line 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6450static struct proc_dir_entry *pkt_proc  ;
 6451#line 99 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6452static int pktdev_major  ;
 6453#line 100 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6454static int write_congestion_on  =    10000;
 6455#line 101 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6456static int write_congestion_off  =    9000;
 6457#line 102 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6458static struct mutex ctl_mutex  ;
 6459#line 103 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6460static mempool_t *psd_pool  ;
 6461#line 105 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6462static struct class *class_pktcdvd  =    (struct class *)0;
 6463#line 106 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6464static struct dentry *pkt_debugfs_root  =    (struct dentry *)0;
 6465#line 109
 6466static int pkt_setup_dev(dev_t dev , dev_t *pkt_dev ) ;
 6467#line 110
 6468static int pkt_remove_dev(dev_t pkt_dev ) ;
 6469#line 111
 6470static int pkt_seq_show(struct seq_file *m , void *p ) ;
 6471#line 118 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6472static struct pktcdvd_kobj *pkt_kobj_create(struct pktcdvd_device *pd , char const   *name ,
 6473                                            struct kobject *parent , struct kobj_type *ktype ) 
 6474{ struct pktcdvd_kobj *p ;
 6475  int error ;
 6476  void *tmp ;
 6477  struct pktcdvd_kobj *__cil_tmp8 ;
 6478  unsigned long __cil_tmp9 ;
 6479  unsigned long __cil_tmp10 ;
 6480  struct kobject *__cil_tmp11 ;
 6481  struct kobject *__cil_tmp12 ;
 6482  struct kobject *__cil_tmp13 ;
 6483  enum kobject_action __cil_tmp14 ;
 6484
 6485  {
 6486  {
 6487#line 126
 6488  tmp = kzalloc(72UL, 208U);
 6489#line 126
 6490  p = (struct pktcdvd_kobj *)tmp;
 6491  }
 6492  {
 6493#line 127
 6494  __cil_tmp8 = (struct pktcdvd_kobj *)0;
 6495#line 127
 6496  __cil_tmp9 = (unsigned long )__cil_tmp8;
 6497#line 127
 6498  __cil_tmp10 = (unsigned long )p;
 6499#line 127
 6500  if (__cil_tmp10 == __cil_tmp9) {
 6501#line 128
 6502    return ((struct pktcdvd_kobj *)0);
 6503  } else {
 6504
 6505  }
 6506  }
 6507  {
 6508#line 129
 6509  p->pd = pd;
 6510#line 130
 6511  __cil_tmp11 = & p->kobj;
 6512#line 130
 6513  error = kobject_init_and_add(__cil_tmp11, ktype, parent, "%s", name);
 6514  }
 6515#line 131
 6516  if (error != 0) {
 6517    {
 6518#line 132
 6519    __cil_tmp12 = & p->kobj;
 6520#line 132
 6521    kobject_put(__cil_tmp12);
 6522    }
 6523#line 133
 6524    return ((struct pktcdvd_kobj *)0);
 6525  } else {
 6526
 6527  }
 6528  {
 6529#line 135
 6530  __cil_tmp13 = & p->kobj;
 6531#line 135
 6532  __cil_tmp14 = (enum kobject_action )0;
 6533#line 135
 6534  kobject_uevent(__cil_tmp13, __cil_tmp14);
 6535  }
 6536#line 136
 6537  return (p);
 6538}
 6539}
 6540#line 141 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6541static void pkt_kobj_remove(struct pktcdvd_kobj *p ) 
 6542{ struct pktcdvd_kobj *__cil_tmp2 ;
 6543  unsigned long __cil_tmp3 ;
 6544  unsigned long __cil_tmp4 ;
 6545  struct kobject *__cil_tmp5 ;
 6546
 6547  {
 6548  {
 6549#line 143
 6550  __cil_tmp2 = (struct pktcdvd_kobj *)0;
 6551#line 143
 6552  __cil_tmp3 = (unsigned long )__cil_tmp2;
 6553#line 143
 6554  __cil_tmp4 = (unsigned long )p;
 6555#line 143
 6556  if (__cil_tmp4 != __cil_tmp3) {
 6557    {
 6558#line 144
 6559    __cil_tmp5 = & p->kobj;
 6560#line 144
 6561    kobject_put(__cil_tmp5);
 6562    }
 6563  } else {
 6564
 6565  }
 6566  }
 6567#line 145
 6568  return;
 6569}
 6570}
 6571#line 149 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6572static void pkt_kobj_release(struct kobject *kobj ) 
 6573{ struct kobject  const  *__mptr ;
 6574  struct pktcdvd_kobj *__cil_tmp3 ;
 6575  void const   *__cil_tmp4 ;
 6576
 6577  {
 6578  {
 6579#line 151
 6580  __mptr = (struct kobject  const  *)kobj;
 6581#line 151
 6582  __cil_tmp3 = (struct pktcdvd_kobj *)__mptr;
 6583#line 151
 6584  __cil_tmp4 = (void const   *)__cil_tmp3;
 6585#line 151
 6586  kfree(__cil_tmp4);
 6587  }
 6588#line 153
 6589  return;
 6590}
 6591}
 6592#line 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6593static struct attribute kobj_pkt_attr_st1  =    {"reset", 128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6594                                                 {(char)0}, {(char)0}, {(char)0},
 6595                                                 {(char)0}, {(char)0}}}};
 6596#line 179 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6597static struct attribute kobj_pkt_attr_st2  =    {"packets_started", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6598                                                           {(char)0}, {(char)0}, {(char)0},
 6599                                                           {(char)0}, {(char)0}}}};
 6600#line 180 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6601static struct attribute kobj_pkt_attr_st3  =    {"packets_finished", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
 6602                                                            {(char)0}, {(char)0},
 6603                                                            {(char)0}, {(char)0},
 6604                                                            {(char)0}, {(char)0}}}};
 6605#line 181 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6606static struct attribute kobj_pkt_attr_st4  =    {"kb_written", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6607                                                      {(char)0}, {(char)0}, {(char)0},
 6608                                                      {(char)0}, {(char)0}}}};
 6609#line 182 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6610static struct attribute kobj_pkt_attr_st5  =    {"kb_read", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6611                                                   {(char)0}, {(char)0}, {(char)0},
 6612                                                   {(char)0}, {(char)0}}}};
 6613#line 183 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6614static struct attribute kobj_pkt_attr_st6  =    {"kb_read_gather", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6615                                                          {(char)0}, {(char)0}, {(char)0},
 6616                                                          {(char)0}, {(char)0}}}};
 6617#line 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6618static struct attribute *kobj_pkt_attrs_stat[7U]  = {      & kobj_pkt_attr_st1,      & kobj_pkt_attr_st2,      & kobj_pkt_attr_st3,      & kobj_pkt_attr_st4, 
 6619        & kobj_pkt_attr_st5,      & kobj_pkt_attr_st6,      (struct attribute *)0};
 6620#line 195 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6621static struct attribute kobj_pkt_attr_wq1  =    {"size", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0}, {(char)0},
 6622                                                {(char)0}, {(char)0}, {(char)0}, {(char)0}}}};
 6623#line 196 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6624static struct attribute kobj_pkt_attr_wq2  =    {"congestion_off", 420U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6625                                                          {(char)0}, {(char)0}, {(char)0},
 6626                                                          {(char)0}, {(char)0}}}};
 6627#line 197 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6628static struct attribute kobj_pkt_attr_wq3  =    {"congestion_on", 420U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6629                                                         {(char)0}, {(char)0}, {(char)0},
 6630                                                         {(char)0}, {(char)0}}}};
 6631#line 199 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6632static struct attribute *kobj_pkt_attrs_wqueue[4U]  = {      & kobj_pkt_attr_wq1,      & kobj_pkt_attr_wq2,      & kobj_pkt_attr_wq3,      (struct attribute *)0};
 6633#line 206 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6634static ssize_t kobj_pkt_show(struct kobject *kobj , struct attribute *attr , char *data ) 
 6635{ struct pktcdvd_device *pd ;
 6636  struct kobject  const  *__mptr ;
 6637  int n ;
 6638  int v ;
 6639  int tmp ;
 6640  int tmp___0 ;
 6641  int tmp___1 ;
 6642  int tmp___2 ;
 6643  int tmp___3 ;
 6644  int tmp___4 ;
 6645  int tmp___5 ;
 6646  int tmp___6 ;
 6647  struct pktcdvd_kobj *__cil_tmp16 ;
 6648  char const   *__cil_tmp17 ;
 6649  unsigned long __cil_tmp18 ;
 6650  char const   *__cil_tmp19 ;
 6651  unsigned long __cil_tmp20 ;
 6652  char const   *__cil_tmp21 ;
 6653  unsigned long __cil_tmp22 ;
 6654  unsigned long __cil_tmp23 ;
 6655  char const   *__cil_tmp24 ;
 6656  unsigned long __cil_tmp25 ;
 6657  unsigned long __cil_tmp26 ;
 6658  char const   *__cil_tmp27 ;
 6659  unsigned long __cil_tmp28 ;
 6660  unsigned long __cil_tmp29 ;
 6661  char const   *__cil_tmp30 ;
 6662  spinlock_t *__cil_tmp31 ;
 6663  spinlock_t *__cil_tmp32 ;
 6664  char const   *__cil_tmp33 ;
 6665  spinlock_t *__cil_tmp34 ;
 6666  spinlock_t *__cil_tmp35 ;
 6667  char const   *__cil_tmp36 ;
 6668  spinlock_t *__cil_tmp37 ;
 6669  spinlock_t *__cil_tmp38 ;
 6670
 6671  {
 6672  {
 6673#line 209
 6674  __mptr = (struct kobject  const  *)kobj;
 6675#line 209
 6676  __cil_tmp16 = (struct pktcdvd_kobj *)__mptr;
 6677#line 209
 6678  pd = __cil_tmp16->pd;
 6679#line 210
 6680  n = 0;
 6681#line 212
 6682  __cil_tmp17 = attr->name;
 6683#line 212
 6684  tmp___6 = strcmp(__cil_tmp17, "packets_started");
 6685  }
 6686#line 212
 6687  if (tmp___6 == 0) {
 6688    {
 6689#line 213
 6690    __cil_tmp18 = pd->stats.pkt_started;
 6691#line 213
 6692    n = sprintf(data, "%lu\n", __cil_tmp18);
 6693    }
 6694  } else {
 6695    {
 6696#line 215
 6697    __cil_tmp19 = attr->name;
 6698#line 215
 6699    tmp___5 = strcmp(__cil_tmp19, "packets_finished");
 6700    }
 6701#line 215
 6702    if (tmp___5 == 0) {
 6703      {
 6704#line 216
 6705      __cil_tmp20 = pd->stats.pkt_ended;
 6706#line 216
 6707      n = sprintf(data, "%lu\n", __cil_tmp20);
 6708      }
 6709    } else {
 6710      {
 6711#line 218
 6712      __cil_tmp21 = attr->name;
 6713#line 218
 6714      tmp___4 = strcmp(__cil_tmp21, "kb_written");
 6715      }
 6716#line 218
 6717      if (tmp___4 == 0) {
 6718        {
 6719#line 219
 6720        __cil_tmp22 = pd->stats.secs_w;
 6721#line 219
 6722        __cil_tmp23 = __cil_tmp22 >> 1;
 6723#line 219
 6724        n = sprintf(data, "%lu\n", __cil_tmp23);
 6725        }
 6726      } else {
 6727        {
 6728#line 221
 6729        __cil_tmp24 = attr->name;
 6730#line 221
 6731        tmp___3 = strcmp(__cil_tmp24, "kb_read");
 6732        }
 6733#line 221
 6734        if (tmp___3 == 0) {
 6735          {
 6736#line 222
 6737          __cil_tmp25 = pd->stats.secs_r;
 6738#line 222
 6739          __cil_tmp26 = __cil_tmp25 >> 1;
 6740#line 222
 6741          n = sprintf(data, "%lu\n", __cil_tmp26);
 6742          }
 6743        } else {
 6744          {
 6745#line 224
 6746          __cil_tmp27 = attr->name;
 6747#line 224
 6748          tmp___2 = strcmp(__cil_tmp27, "kb_read_gather");
 6749          }
 6750#line 224
 6751          if (tmp___2 == 0) {
 6752            {
 6753#line 225
 6754            __cil_tmp28 = pd->stats.secs_rg;
 6755#line 225
 6756            __cil_tmp29 = __cil_tmp28 >> 1;
 6757#line 225
 6758            n = sprintf(data, "%lu\n", __cil_tmp29);
 6759            }
 6760          } else {
 6761            {
 6762#line 227
 6763            __cil_tmp30 = attr->name;
 6764#line 227
 6765            tmp___1 = strcmp(__cil_tmp30, "size");
 6766            }
 6767#line 227
 6768            if (tmp___1 == 0) {
 6769              {
 6770#line 228
 6771              __cil_tmp31 = & pd->lock;
 6772#line 228
 6773              spin_lock(__cil_tmp31);
 6774#line 229
 6775              v = pd->bio_queue_size;
 6776#line 230
 6777              __cil_tmp32 = & pd->lock;
 6778#line 230
 6779              spin_unlock(__cil_tmp32);
 6780#line 231
 6781              n = sprintf(data, "%d\n", v);
 6782              }
 6783            } else {
 6784              {
 6785#line 233
 6786              __cil_tmp33 = attr->name;
 6787#line 233
 6788              tmp___0 = strcmp(__cil_tmp33, "congestion_off");
 6789              }
 6790#line 233
 6791              if (tmp___0 == 0) {
 6792                {
 6793#line 234
 6794                __cil_tmp34 = & pd->lock;
 6795#line 234
 6796                spin_lock(__cil_tmp34);
 6797#line 235
 6798                v = pd->write_congestion_off;
 6799#line 236
 6800                __cil_tmp35 = & pd->lock;
 6801#line 236
 6802                spin_unlock(__cil_tmp35);
 6803#line 237
 6804                n = sprintf(data, "%d\n", v);
 6805                }
 6806              } else {
 6807                {
 6808#line 239
 6809                __cil_tmp36 = attr->name;
 6810#line 239
 6811                tmp = strcmp(__cil_tmp36, "congestion_on");
 6812                }
 6813#line 239
 6814                if (tmp == 0) {
 6815                  {
 6816#line 240
 6817                  __cil_tmp37 = & pd->lock;
 6818#line 240
 6819                  spin_lock(__cil_tmp37);
 6820#line 241
 6821                  v = pd->write_congestion_on;
 6822#line 242
 6823                  __cil_tmp38 = & pd->lock;
 6824#line 242
 6825                  spin_unlock(__cil_tmp38);
 6826#line 243
 6827                  n = sprintf(data, "%d\n", v);
 6828                  }
 6829                } else {
 6830
 6831                }
 6832              }
 6833            }
 6834          }
 6835        }
 6836      }
 6837    }
 6838  }
 6839#line 245
 6840  return ((ssize_t )n);
 6841}
 6842}
 6843#line 248 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6844static void init_write_congestion_marks(int *lo , int *hi ) 
 6845{ int _max1 ;
 6846  int _max2 ;
 6847  int tmp ;
 6848  int _min1 ;
 6849  int _min2 ;
 6850  int tmp___0 ;
 6851  int _min1___0 ;
 6852  int _min2___0 ;
 6853  int tmp___1 ;
 6854  int _max1___0 ;
 6855  int _max2___0 ;
 6856  int tmp___2 ;
 6857  int __cil_tmp15 ;
 6858  int __cil_tmp16 ;
 6859  int __cil_tmp17 ;
 6860  int __cil_tmp18 ;
 6861
 6862  {
 6863  {
 6864#line 250
 6865  __cil_tmp15 = *hi;
 6866#line 250
 6867  if (__cil_tmp15 > 0) {
 6868#line 251
 6869    _max1 = *hi;
 6870#line 251
 6871    _max2 = 500;
 6872#line 251
 6873    if (_max1 > _max2) {
 6874#line 251
 6875      tmp = _max1;
 6876    } else {
 6877#line 251
 6878      tmp = _max2;
 6879    }
 6880#line 251
 6881    *hi = tmp;
 6882#line 252
 6883    _min1 = *hi;
 6884#line 252
 6885    _min2 = 1000000;
 6886#line 252
 6887    if (_min1 < _min2) {
 6888#line 252
 6889      tmp___0 = _min1;
 6890    } else {
 6891#line 252
 6892      tmp___0 = _min2;
 6893    }
 6894#line 252
 6895    *hi = tmp___0;
 6896    {
 6897#line 253
 6898    __cil_tmp16 = *lo;
 6899#line 253
 6900    if (__cil_tmp16 <= 0) {
 6901#line 254
 6902      __cil_tmp17 = *hi;
 6903#line 254
 6904      *lo = __cil_tmp17 + -100;
 6905    } else {
 6906#line 256
 6907      _min1___0 = *lo;
 6908#line 256
 6909      __cil_tmp18 = *hi;
 6910#line 256
 6911      _min2___0 = __cil_tmp18 + -100;
 6912#line 256
 6913      if (_min1___0 < _min2___0) {
 6914#line 256
 6915        tmp___1 = _min1___0;
 6916      } else {
 6917#line 256
 6918        tmp___1 = _min2___0;
 6919      }
 6920#line 256
 6921      *lo = tmp___1;
 6922#line 257
 6923      _max1___0 = *lo;
 6924#line 257
 6925      _max2___0 = 100;
 6926#line 257
 6927      if (_max1___0 > _max2___0) {
 6928#line 257
 6929        tmp___2 = _max1___0;
 6930      } else {
 6931#line 257
 6932        tmp___2 = _max2___0;
 6933      }
 6934#line 257
 6935      *lo = tmp___2;
 6936    }
 6937    }
 6938  } else {
 6939#line 260
 6940    *hi = -1;
 6941#line 261
 6942    *lo = -1;
 6943  }
 6944  }
 6945#line 263
 6946  return;
 6947}
 6948}
 6949#line 265 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 6950static ssize_t kobj_pkt_store(struct kobject *kobj , struct attribute *attr , char const   *data ,
 6951                              size_t len ) 
 6952{ struct pktcdvd_device *pd ;
 6953  struct kobject  const  *__mptr ;
 6954  int val ;
 6955  int tmp ;
 6956  int tmp___0 ;
 6957  int tmp___1 ;
 6958  int tmp___2 ;
 6959  int tmp___3 ;
 6960  struct pktcdvd_kobj *__cil_tmp13 ;
 6961  char const   *__cil_tmp14 ;
 6962  char const   *__cil_tmp15 ;
 6963  spinlock_t *__cil_tmp16 ;
 6964  int *__cil_tmp17 ;
 6965  int *__cil_tmp18 ;
 6966  spinlock_t *__cil_tmp19 ;
 6967  char const   *__cil_tmp20 ;
 6968  spinlock_t *__cil_tmp21 ;
 6969  int *__cil_tmp22 ;
 6970  int *__cil_tmp23 ;
 6971  spinlock_t *__cil_tmp24 ;
 6972
 6973  {
 6974  {
 6975#line 269
 6976  __mptr = (struct kobject  const  *)kobj;
 6977#line 269
 6978  __cil_tmp13 = (struct pktcdvd_kobj *)__mptr;
 6979#line 269
 6980  pd = __cil_tmp13->pd;
 6981#line 272
 6982  __cil_tmp14 = attr->name;
 6983#line 272
 6984  tmp___3 = strcmp(__cil_tmp14, "reset");
 6985  }
 6986#line 272
 6987  if (tmp___3 == 0) {
 6988#line 272
 6989    if (len != 0UL) {
 6990#line 273
 6991      pd->stats.pkt_started = 0UL;
 6992#line 274
 6993      pd->stats.pkt_ended = 0UL;
 6994#line 275
 6995      pd->stats.secs_w = 0UL;
 6996#line 276
 6997      pd->stats.secs_rg = 0UL;
 6998#line 277
 6999      pd->stats.secs_r = 0UL;
 7000    } else {
 7001#line 272
 7002      goto _L___0;
 7003    }
 7004  } else {
 7005    _L___0: 
 7006    {
 7007#line 279
 7008    __cil_tmp15 = attr->name;
 7009#line 279
 7010    tmp___1 = strcmp(__cil_tmp15, "congestion_off");
 7011    }
 7012#line 279
 7013    if (tmp___1 == 0) {
 7014      {
 7015#line 279
 7016      tmp___2 = sscanf(data, "%d", & val);
 7017      }
 7018#line 279
 7019      if (tmp___2 == 1) {
 7020        {
 7021#line 281
 7022        __cil_tmp16 = & pd->lock;
 7023#line 281
 7024        spin_lock(__cil_tmp16);
 7025#line 282
 7026        pd->write_congestion_off = val;
 7027#line 283
 7028        __cil_tmp17 = & pd->write_congestion_off;
 7029#line 283
 7030        __cil_tmp18 = & pd->write_congestion_on;
 7031#line 283
 7032        init_write_congestion_marks(__cil_tmp17, __cil_tmp18);
 7033#line 285
 7034        __cil_tmp19 = & pd->lock;
 7035#line 285
 7036        spin_unlock(__cil_tmp19);
 7037        }
 7038      } else {
 7039#line 279
 7040        goto _L;
 7041      }
 7042    } else {
 7043      _L: 
 7044      {
 7045#line 287
 7046      __cil_tmp20 = attr->name;
 7047#line 287
 7048      tmp = strcmp(__cil_tmp20, "congestion_on");
 7049      }
 7050#line 287
 7051      if (tmp == 0) {
 7052        {
 7053#line 287
 7054        tmp___0 = sscanf(data, "%d", & val);
 7055        }
 7056#line 287
 7057        if (tmp___0 == 1) {
 7058          {
 7059#line 289
 7060          __cil_tmp21 = & pd->lock;
 7061#line 289
 7062          spin_lock(__cil_tmp21);
 7063#line 290
 7064          pd->write_congestion_on = val;
 7065#line 291
 7066          __cil_tmp22 = & pd->write_congestion_off;
 7067#line 291
 7068          __cil_tmp23 = & pd->write_congestion_on;
 7069#line 291
 7070          init_write_congestion_marks(__cil_tmp22, __cil_tmp23);
 7071#line 293
 7072          __cil_tmp24 = & pd->lock;
 7073#line 293
 7074          spin_unlock(__cil_tmp24);
 7075          }
 7076        } else {
 7077
 7078        }
 7079      } else {
 7080
 7081      }
 7082    }
 7083  }
 7084#line 295
 7085  return ((ssize_t )len);
 7086}
 7087}
 7088#line 298 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7089static struct sysfs_ops  const  kobj_pkt_ops  =    {& kobj_pkt_show, & kobj_pkt_store};
 7090#line 302 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7091static struct kobj_type kobj_pkt_type_stat  =    {& pkt_kobj_release, & kobj_pkt_ops, (struct attribute **)(& kobj_pkt_attrs_stat),
 7092    (struct kobj_ns_type_operations  const  *(*)(struct kobject * ))0, (void const   *(*)(struct kobject * ))0};
 7093#line 307 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7094static struct kobj_type kobj_pkt_type_wqueue  =    {& pkt_kobj_release, & kobj_pkt_ops, (struct attribute **)(& kobj_pkt_attrs_wqueue),
 7095    (struct kobj_ns_type_operations  const  *(*)(struct kobject * ))0, (void const   *(*)(struct kobject * ))0};
 7096#line 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7097static void pkt_sysfs_dev_new(struct pktcdvd_device *pd ) 
 7098{ long tmp ;
 7099  struct class *__cil_tmp3 ;
 7100  unsigned long __cil_tmp4 ;
 7101  unsigned long __cil_tmp5 ;
 7102  struct device *__cil_tmp6 ;
 7103  void *__cil_tmp7 ;
 7104  char (*__cil_tmp8)[20U] ;
 7105  char *__cil_tmp9 ;
 7106  struct device *__cil_tmp10 ;
 7107  void const   *__cil_tmp11 ;
 7108  struct device *__cil_tmp12 ;
 7109  unsigned long __cil_tmp13 ;
 7110  struct device *__cil_tmp14 ;
 7111  unsigned long __cil_tmp15 ;
 7112  struct device *__cil_tmp16 ;
 7113  struct kobject *__cil_tmp17 ;
 7114  struct device *__cil_tmp18 ;
 7115  struct kobject *__cil_tmp19 ;
 7116
 7117  {
 7118  {
 7119#line 315
 7120  __cil_tmp3 = (struct class *)0;
 7121#line 315
 7122  __cil_tmp4 = (unsigned long )__cil_tmp3;
 7123#line 315
 7124  __cil_tmp5 = (unsigned long )class_pktcdvd;
 7125#line 315
 7126  if (__cil_tmp5 != __cil_tmp4) {
 7127    {
 7128#line 316
 7129    __cil_tmp6 = (struct device *)0;
 7130#line 316
 7131    __cil_tmp7 = (void *)0;
 7132#line 316
 7133    __cil_tmp8 = & pd->name;
 7134#line 316
 7135    __cil_tmp9 = (char *)__cil_tmp8;
 7136#line 316
 7137    pd->dev = device_create(class_pktcdvd, __cil_tmp6, 0U, __cil_tmp7, "%s", __cil_tmp9);
 7138#line 318
 7139    __cil_tmp10 = pd->dev;
 7140#line 318
 7141    __cil_tmp11 = (void const   *)__cil_tmp10;
 7142#line 318
 7143    tmp = IS_ERR(__cil_tmp11);
 7144    }
 7145#line 318
 7146    if (tmp != 0L) {
 7147#line 319
 7148      pd->dev = (struct device *)0;
 7149    } else {
 7150
 7151    }
 7152  } else {
 7153
 7154  }
 7155  }
 7156  {
 7157#line 321
 7158  __cil_tmp12 = (struct device *)0;
 7159#line 321
 7160  __cil_tmp13 = (unsigned long )__cil_tmp12;
 7161#line 321
 7162  __cil_tmp14 = pd->dev;
 7163#line 321
 7164  __cil_tmp15 = (unsigned long )__cil_tmp14;
 7165#line 321
 7166  if (__cil_tmp15 != __cil_tmp13) {
 7167    {
 7168#line 322
 7169    __cil_tmp16 = pd->dev;
 7170#line 322
 7171    __cil_tmp17 = & __cil_tmp16->kobj;
 7172#line 322
 7173    pd->kobj_stat = pkt_kobj_create(pd, "stat", __cil_tmp17, & kobj_pkt_type_stat);
 7174#line 325
 7175    __cil_tmp18 = pd->dev;
 7176#line 325
 7177    __cil_tmp19 = & __cil_tmp18->kobj;
 7178#line 325
 7179    pd->kobj_wqueue = pkt_kobj_create(pd, "write_queue", __cil_tmp19, & kobj_pkt_type_wqueue);
 7180    }
 7181  } else {
 7182
 7183  }
 7184  }
 7185#line 329
 7186  return;
 7187}
 7188}
 7189#line 331 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7190static void pkt_sysfs_dev_remove(struct pktcdvd_device *pd ) 
 7191{ struct pktcdvd_kobj *__cil_tmp2 ;
 7192  struct pktcdvd_kobj *__cil_tmp3 ;
 7193  struct class *__cil_tmp4 ;
 7194  unsigned long __cil_tmp5 ;
 7195  unsigned long __cil_tmp6 ;
 7196  struct device *__cil_tmp7 ;
 7197
 7198  {
 7199  {
 7200#line 333
 7201  __cil_tmp2 = pd->kobj_stat;
 7202#line 333
 7203  pkt_kobj_remove(__cil_tmp2);
 7204#line 334
 7205  __cil_tmp3 = pd->kobj_wqueue;
 7206#line 334
 7207  pkt_kobj_remove(__cil_tmp3);
 7208  }
 7209  {
 7210#line 335
 7211  __cil_tmp4 = (struct class *)0;
 7212#line 335
 7213  __cil_tmp5 = (unsigned long )__cil_tmp4;
 7214#line 335
 7215  __cil_tmp6 = (unsigned long )class_pktcdvd;
 7216#line 335
 7217  if (__cil_tmp6 != __cil_tmp5) {
 7218    {
 7219#line 336
 7220    __cil_tmp7 = pd->dev;
 7221#line 336
 7222    device_unregister(__cil_tmp7);
 7223    }
 7224  } else {
 7225
 7226  }
 7227  }
 7228#line 337
 7229  return;
 7230}
 7231}
 7232#line 347 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7233static void class_pktcdvd_release(struct class *cls ) 
 7234{ void const   *__cil_tmp2 ;
 7235
 7236  {
 7237  {
 7238#line 349
 7239  __cil_tmp2 = (void const   *)cls;
 7240#line 349
 7241  kfree(__cil_tmp2);
 7242  }
 7243#line 350
 7244  return;
 7245}
 7246}
 7247#line 351 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7248static ssize_t class_pktcdvd_show_map(struct class *c , struct class_attribute *attr ,
 7249                                      char *data ) 
 7250{ int n ;
 7251  int idx ;
 7252  struct pktcdvd_device *pd ;
 7253  int tmp ;
 7254  struct pktcdvd_device *__cil_tmp8 ;
 7255  unsigned long __cil_tmp9 ;
 7256  unsigned long __cil_tmp10 ;
 7257  unsigned long __cil_tmp11 ;
 7258  char *__cil_tmp12 ;
 7259  char (*__cil_tmp13)[20U] ;
 7260  char *__cil_tmp14 ;
 7261  dev_t __cil_tmp15 ;
 7262  dev_t __cil_tmp16 ;
 7263  dev_t __cil_tmp17 ;
 7264  unsigned int __cil_tmp18 ;
 7265  struct block_device *__cil_tmp19 ;
 7266  dev_t __cil_tmp20 ;
 7267  dev_t __cil_tmp21 ;
 7268  struct block_device *__cil_tmp22 ;
 7269  dev_t __cil_tmp23 ;
 7270  unsigned int __cil_tmp24 ;
 7271
 7272  {
 7273  {
 7274#line 355
 7275  n = 0;
 7276#line 357
 7277  mutex_lock_nested(& ctl_mutex, 1U);
 7278#line 358
 7279  idx = 0;
 7280  }
 7281#line 358
 7282  goto ldv_30602;
 7283  ldv_30601: 
 7284#line 359
 7285  pd = pkt_devs[idx];
 7286  {
 7287#line 360
 7288  __cil_tmp8 = (struct pktcdvd_device *)0;
 7289#line 360
 7290  __cil_tmp9 = (unsigned long )__cil_tmp8;
 7291#line 360
 7292  __cil_tmp10 = (unsigned long )pd;
 7293#line 360
 7294  if (__cil_tmp10 == __cil_tmp9) {
 7295#line 361
 7296    goto ldv_30600;
 7297  } else {
 7298
 7299  }
 7300  }
 7301  {
 7302#line 362
 7303  __cil_tmp11 = (unsigned long )n;
 7304#line 362
 7305  __cil_tmp12 = data + __cil_tmp11;
 7306#line 362
 7307  __cil_tmp13 = & pd->name;
 7308#line 362
 7309  __cil_tmp14 = (char *)__cil_tmp13;
 7310#line 362
 7311  __cil_tmp15 = pd->pkt_dev;
 7312#line 362
 7313  __cil_tmp16 = __cil_tmp15 >> 20;
 7314#line 362
 7315  __cil_tmp17 = pd->pkt_dev;
 7316#line 362
 7317  __cil_tmp18 = __cil_tmp17 & 1048575U;
 7318#line 362
 7319  __cil_tmp19 = pd->bdev;
 7320#line 362
 7321  __cil_tmp20 = __cil_tmp19->bd_dev;
 7322#line 362
 7323  __cil_tmp21 = __cil_tmp20 >> 20;
 7324#line 362
 7325  __cil_tmp22 = pd->bdev;
 7326#line 362
 7327  __cil_tmp23 = __cil_tmp22->bd_dev;
 7328#line 362
 7329  __cil_tmp24 = __cil_tmp23 & 1048575U;
 7330#line 362
 7331  tmp = sprintf(__cil_tmp12, "%s %u:%u %u:%u\n", __cil_tmp14, __cil_tmp16, __cil_tmp18,
 7332                __cil_tmp21, __cil_tmp24);
 7333#line 362
 7334  n = tmp + n;
 7335  }
 7336  ldv_30600: 
 7337#line 358
 7338  idx = idx + 1;
 7339  ldv_30602: ;
 7340#line 358
 7341  if (idx <= 7) {
 7342#line 359
 7343    goto ldv_30601;
 7344  } else {
 7345#line 361
 7346    goto ldv_30603;
 7347  }
 7348  ldv_30603: 
 7349  {
 7350#line 368
 7351  mutex_unlock(& ctl_mutex);
 7352  }
 7353#line 369
 7354  return ((ssize_t )n);
 7355}
 7356}
 7357#line 372 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7358static ssize_t class_pktcdvd_store_add(struct class *c , struct class_attribute *attr ,
 7359                                       char const   *buf , size_t count ) 
 7360{ unsigned int major ;
 7361  unsigned int minor ;
 7362  int tmp ;
 7363  int tmp___0 ;
 7364  unsigned int __cil_tmp9 ;
 7365  unsigned int __cil_tmp10 ;
 7366  dev_t *__cil_tmp11 ;
 7367
 7368  {
 7369  {
 7370#line 379
 7371  tmp___0 = sscanf(buf, "%u:%u", & major, & minor);
 7372  }
 7373#line 379
 7374  if (tmp___0 == 2) {
 7375    {
 7376#line 381
 7377    tmp = ldv_try_module_get_1(& __this_module);
 7378    }
 7379#line 381
 7380    if (tmp == 0) {
 7381#line 382
 7382      return (-19L);
 7383    } else {
 7384
 7385    }
 7386    {
 7387#line 384
 7388    __cil_tmp9 = major << 20;
 7389#line 384
 7390    __cil_tmp10 = __cil_tmp9 | minor;
 7391#line 384
 7392    __cil_tmp11 = (dev_t *)0;
 7393#line 384
 7394    pkt_setup_dev(__cil_tmp10, __cil_tmp11);
 7395#line 386
 7396    ldv_module_put_2(& __this_module);
 7397    }
 7398#line 388
 7399    return ((ssize_t )count);
 7400  } else {
 7401
 7402  }
 7403#line 391
 7404  return (-22L);
 7405}
 7406}
 7407#line 394 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7408static ssize_t class_pktcdvd_store_remove(struct class *c , struct class_attribute *attr ,
 7409                                          char const   *buf , size_t count ) 
 7410{ unsigned int major ;
 7411  unsigned int minor ;
 7412  int tmp ;
 7413  unsigned int __cil_tmp8 ;
 7414  unsigned int __cil_tmp9 ;
 7415
 7416  {
 7417  {
 7418#line 400
 7419  tmp = sscanf(buf, "%u:%u", & major, & minor);
 7420  }
 7421#line 400
 7422  if (tmp == 2) {
 7423    {
 7424#line 401
 7425    __cil_tmp8 = major << 20;
 7426#line 401
 7427    __cil_tmp9 = __cil_tmp8 | minor;
 7428#line 401
 7429    pkt_remove_dev(__cil_tmp9);
 7430    }
 7431#line 402
 7432    return ((ssize_t )count);
 7433  } else {
 7434
 7435  }
 7436#line 404
 7437  return (-22L);
 7438}
 7439}
 7440#line 407 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7441static struct class_attribute class_pktcdvd_attrs[4U]  = {      {{"add", 128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 7442                                                  {(char)0}, {(char)0}, {(char)0},
 7443                                                  {(char)0}, {(char)0}}}}, (ssize_t (*)(struct class * ,
 7444                                                                                        struct class_attribute * ,
 7445                                                                                        char * ))0,
 7446      & class_pktcdvd_store_add}, 
 7447        {{"remove", 128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 7448                                                     {(char)0}, {(char)0}, {(char)0},
 7449                                                     {(char)0}, {(char)0}}}}, (ssize_t (*)(struct class * ,
 7450                                                                                           struct class_attribute * ,
 7451                                                                                           char * ))0,
 7452      & class_pktcdvd_store_remove}, 
 7453        {{"device_map", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 7454                                                         {(char)0}, {(char)0}, {(char)0},
 7455                                                         {(char)0}, {(char)0}}}},
 7456      & class_pktcdvd_show_map, (ssize_t (*)(struct class * , struct class_attribute * ,
 7457                                             char const   * , size_t  ))0}, 
 7458        {{(char const   *)0, 0U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
 7459                                                            {(char)0}, {(char)0},
 7460                                                            {(char)0}, {(char)0},
 7461                                                            {(char)0}, {(char)0}}}},
 7462      (ssize_t (*)(struct class * , struct class_attribute * , char * ))0, (ssize_t (*)(struct class * ,
 7463                                                                                        struct class_attribute * ,
 7464                                                                                        char const   * ,
 7465                                                                                        size_t  ))0}};
 7466#line 415 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7467static int pkt_sysfs_init(void) 
 7468{ int ret ;
 7469  void *tmp ;
 7470  struct lock_class_key __key ;
 7471  int tmp___0 ;
 7472  struct class *__cil_tmp5 ;
 7473  unsigned long __cil_tmp6 ;
 7474  unsigned long __cil_tmp7 ;
 7475  void const   *__cil_tmp8 ;
 7476
 7477  {
 7478  {
 7479#line 417
 7480  ret = 0;
 7481#line 423
 7482  tmp = kzalloc(128UL, 208U);
 7483#line 423
 7484  class_pktcdvd = (struct class *)tmp;
 7485  }
 7486  {
 7487#line 424
 7488  __cil_tmp5 = (struct class *)0;
 7489#line 424
 7490  __cil_tmp6 = (unsigned long )__cil_tmp5;
 7491#line 424
 7492  __cil_tmp7 = (unsigned long )class_pktcdvd;
 7493#line 424
 7494  if (__cil_tmp7 == __cil_tmp6) {
 7495#line 425
 7496    return (-12);
 7497  } else {
 7498
 7499  }
 7500  }
 7501  {
 7502#line 426
 7503  class_pktcdvd->name = "pktcdvd";
 7504#line 427
 7505  class_pktcdvd->owner = & __this_module;
 7506#line 428
 7507  class_pktcdvd->class_release = & class_pktcdvd_release;
 7508#line 429
 7509  class_pktcdvd->class_attrs = (struct class_attribute *)(& class_pktcdvd_attrs);
 7510#line 430
 7511  tmp___0 = __class_register(class_pktcdvd, & __key);
 7512#line 430
 7513  ret = tmp___0;
 7514  }
 7515#line 431
 7516  if (ret != 0) {
 7517    {
 7518#line 432
 7519    __cil_tmp8 = (void const   *)class_pktcdvd;
 7520#line 432
 7521    kfree(__cil_tmp8);
 7522#line 433
 7523    class_pktcdvd = (struct class *)0;
 7524#line 434
 7525    printk("pktcdvd: failed to create class pktcdvd\n");
 7526    }
 7527#line 435
 7528    return (ret);
 7529  } else {
 7530
 7531  }
 7532#line 437
 7533  return (0);
 7534}
 7535}
 7536#line 440 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7537static void pkt_sysfs_cleanup(void) 
 7538{ struct class *__cil_tmp1 ;
 7539  unsigned long __cil_tmp2 ;
 7540  unsigned long __cil_tmp3 ;
 7541
 7542  {
 7543  {
 7544#line 442
 7545  __cil_tmp1 = (struct class *)0;
 7546#line 442
 7547  __cil_tmp2 = (unsigned long )__cil_tmp1;
 7548#line 442
 7549  __cil_tmp3 = (unsigned long )class_pktcdvd;
 7550#line 442
 7551  if (__cil_tmp3 != __cil_tmp2) {
 7552    {
 7553#line 443
 7554    class_destroy(class_pktcdvd);
 7555    }
 7556  } else {
 7557
 7558  }
 7559  }
 7560#line 444
 7561  class_pktcdvd = (struct class *)0;
 7562#line 445
 7563  return;
 7564}
 7565}
 7566#line 455 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7567static int pkt_debugfs_seq_show(struct seq_file *m , void *p ) 
 7568{ int tmp ;
 7569
 7570  {
 7571  {
 7572#line 457
 7573  tmp = pkt_seq_show(m, p);
 7574  }
 7575#line 457
 7576  return (tmp);
 7577}
 7578}
 7579#line 460 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7580static int pkt_debugfs_fops_open(struct inode *inode , struct file *file ) 
 7581{ int tmp ;
 7582  void *__cil_tmp4 ;
 7583
 7584  {
 7585  {
 7586#line 462
 7587  __cil_tmp4 = inode->i_private;
 7588#line 462
 7589  tmp = single_open(file, & pkt_debugfs_seq_show, __cil_tmp4);
 7590  }
 7591#line 462
 7592  return (tmp);
 7593}
 7594}
 7595#line 465 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7596static struct file_operations  const  debug_fops  = 
 7597#line 465
 7598     {& __this_module, & seq_lseek, & seq_read, (ssize_t (*)(struct file * , char const   * ,
 7599                                                           size_t  , loff_t * ))0,
 7600    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
 7601    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
 7602    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
 7603                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
 7604                                                                                            struct poll_table_struct * ))0,
 7605    (long (*)(struct file * , unsigned int  , unsigned long  ))0, (long (*)(struct file * ,
 7606                                                                            unsigned int  ,
 7607                                                                            unsigned long  ))0,
 7608    (int (*)(struct file * , struct vm_area_struct * ))0, & pkt_debugfs_fops_open,
 7609    (int (*)(struct file * , fl_owner_t  ))0, & single_release, (int (*)(struct file * ,
 7610                                                                         int  ))0,
 7611    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
 7612    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
 7613                                                                         struct page * ,
 7614                                                                         int  , size_t  ,
 7615                                                                         loff_t * ,
 7616                                                                         int  ))0,
 7617    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
 7618                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
 7619                                                                       int  , struct file_lock * ))0,
 7620    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
 7621    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
 7622    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
 7623                                                                        int  , loff_t  ,
 7624                                                                        loff_t  ))0};
 7625#line 473 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7626static void pkt_debugfs_dev_new(struct pktcdvd_device *pd ) 
 7627{ long tmp ;
 7628  long tmp___0 ;
 7629  struct dentry *__cil_tmp4 ;
 7630  unsigned long __cil_tmp5 ;
 7631  unsigned long __cil_tmp6 ;
 7632  char (*__cil_tmp7)[20U] ;
 7633  char const   *__cil_tmp8 ;
 7634  struct dentry *__cil_tmp9 ;
 7635  void const   *__cil_tmp10 ;
 7636  struct dentry *__cil_tmp11 ;
 7637  void *__cil_tmp12 ;
 7638  struct dentry *__cil_tmp13 ;
 7639  void const   *__cil_tmp14 ;
 7640
 7641  {
 7642  {
 7643#line 475
 7644  __cil_tmp4 = (struct dentry *)0;
 7645#line 475
 7646  __cil_tmp5 = (unsigned long )__cil_tmp4;
 7647#line 475
 7648  __cil_tmp6 = (unsigned long )pkt_debugfs_root;
 7649#line 475
 7650  if (__cil_tmp6 == __cil_tmp5) {
 7651#line 476
 7652    return;
 7653  } else {
 7654
 7655  }
 7656  }
 7657  {
 7658#line 477
 7659  pd->dfs_f_info = (struct dentry *)0;
 7660#line 478
 7661  __cil_tmp7 = & pd->name;
 7662#line 478
 7663  __cil_tmp8 = (char const   *)__cil_tmp7;
 7664#line 478
 7665  pd->dfs_d_root = debugfs_create_dir(__cil_tmp8, pkt_debugfs_root);
 7666#line 479
 7667  __cil_tmp9 = pd->dfs_d_root;
 7668#line 479
 7669  __cil_tmp10 = (void const   *)__cil_tmp9;
 7670#line 479
 7671  tmp = IS_ERR(__cil_tmp10);
 7672  }
 7673#line 479
 7674  if (tmp != 0L) {
 7675#line 480
 7676    pd->dfs_d_root = (struct dentry *)0;
 7677#line 481
 7678    return;
 7679  } else {
 7680
 7681  }
 7682  {
 7683#line 483
 7684  __cil_tmp11 = pd->dfs_d_root;
 7685#line 483
 7686  __cil_tmp12 = (void *)pd;
 7687#line 483
 7688  pd->dfs_f_info = debugfs_create_file("info", 292U, __cil_tmp11, __cil_tmp12, & debug_fops);
 7689#line 485
 7690  __cil_tmp13 = pd->dfs_f_info;
 7691#line 485
 7692  __cil_tmp14 = (void const   *)__cil_tmp13;
 7693#line 485
 7694  tmp___0 = IS_ERR(__cil_tmp14);
 7695  }
 7696#line 485
 7697  if (tmp___0 != 0L) {
 7698#line 486
 7699    pd->dfs_f_info = (struct dentry *)0;
 7700#line 487
 7701    return;
 7702  } else {
 7703
 7704  }
 7705#line 489
 7706  return;
 7707}
 7708}
 7709#line 491 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7710static void pkt_debugfs_dev_remove(struct pktcdvd_device *pd ) 
 7711{ struct dentry *__cil_tmp2 ;
 7712  unsigned long __cil_tmp3 ;
 7713  unsigned long __cil_tmp4 ;
 7714  struct dentry *__cil_tmp5 ;
 7715  unsigned long __cil_tmp6 ;
 7716  struct dentry *__cil_tmp7 ;
 7717  unsigned long __cil_tmp8 ;
 7718  struct dentry *__cil_tmp9 ;
 7719  struct dentry *__cil_tmp10 ;
 7720  unsigned long __cil_tmp11 ;
 7721  struct dentry *__cil_tmp12 ;
 7722  unsigned long __cil_tmp13 ;
 7723  struct dentry *__cil_tmp14 ;
 7724
 7725  {
 7726  {
 7727#line 493
 7728  __cil_tmp2 = (struct dentry *)0;
 7729#line 493
 7730  __cil_tmp3 = (unsigned long )__cil_tmp2;
 7731#line 493
 7732  __cil_tmp4 = (unsigned long )pkt_debugfs_root;
 7733#line 493
 7734  if (__cil_tmp4 == __cil_tmp3) {
 7735#line 494
 7736    return;
 7737  } else {
 7738
 7739  }
 7740  }
 7741  {
 7742#line 495
 7743  __cil_tmp5 = (struct dentry *)0;
 7744#line 495
 7745  __cil_tmp6 = (unsigned long )__cil_tmp5;
 7746#line 495
 7747  __cil_tmp7 = pd->dfs_f_info;
 7748#line 495
 7749  __cil_tmp8 = (unsigned long )__cil_tmp7;
 7750#line 495
 7751  if (__cil_tmp8 != __cil_tmp6) {
 7752    {
 7753#line 496
 7754    __cil_tmp9 = pd->dfs_f_info;
 7755#line 496
 7756    debugfs_remove(__cil_tmp9);
 7757    }
 7758  } else {
 7759
 7760  }
 7761  }
 7762#line 497
 7763  pd->dfs_f_info = (struct dentry *)0;
 7764  {
 7765#line 498
 7766  __cil_tmp10 = (struct dentry *)0;
 7767#line 498
 7768  __cil_tmp11 = (unsigned long )__cil_tmp10;
 7769#line 498
 7770  __cil_tmp12 = pd->dfs_d_root;
 7771#line 498
 7772  __cil_tmp13 = (unsigned long )__cil_tmp12;
 7773#line 498
 7774  if (__cil_tmp13 != __cil_tmp11) {
 7775    {
 7776#line 499
 7777    __cil_tmp14 = pd->dfs_d_root;
 7778#line 499
 7779    debugfs_remove(__cil_tmp14);
 7780    }
 7781  } else {
 7782
 7783  }
 7784  }
 7785#line 500
 7786  pd->dfs_d_root = (struct dentry *)0;
 7787#line 501
 7788  return;
 7789}
 7790}
 7791#line 503 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7792static void pkt_debugfs_init(void) 
 7793{ long tmp ;
 7794  struct dentry *__cil_tmp2 ;
 7795  void const   *__cil_tmp3 ;
 7796
 7797  {
 7798  {
 7799#line 505
 7800  __cil_tmp2 = (struct dentry *)0;
 7801#line 505
 7802  pkt_debugfs_root = debugfs_create_dir("pktcdvd", __cil_tmp2);
 7803#line 506
 7804  __cil_tmp3 = (void const   *)pkt_debugfs_root;
 7805#line 506
 7806  tmp = IS_ERR(__cil_tmp3);
 7807  }
 7808#line 506
 7809  if (tmp != 0L) {
 7810#line 507
 7811    pkt_debugfs_root = (struct dentry *)0;
 7812#line 508
 7813    return;
 7814  } else {
 7815
 7816  }
 7817#line 510
 7818  return;
 7819}
 7820}
 7821#line 512 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7822static void pkt_debugfs_cleanup(void) 
 7823{ struct dentry *__cil_tmp1 ;
 7824  unsigned long __cil_tmp2 ;
 7825  unsigned long __cil_tmp3 ;
 7826
 7827  {
 7828  {
 7829#line 514
 7830  __cil_tmp1 = (struct dentry *)0;
 7831#line 514
 7832  __cil_tmp2 = (unsigned long )__cil_tmp1;
 7833#line 514
 7834  __cil_tmp3 = (unsigned long )pkt_debugfs_root;
 7835#line 514
 7836  if (__cil_tmp3 == __cil_tmp2) {
 7837#line 515
 7838    return;
 7839  } else {
 7840
 7841  }
 7842  }
 7843  {
 7844#line 516
 7845  debugfs_remove(pkt_debugfs_root);
 7846#line 517
 7847  pkt_debugfs_root = (struct dentry *)0;
 7848  }
 7849#line 518
 7850  return;
 7851}
 7852}
 7853#line 523 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7854static void pkt_bio_finished(struct pktcdvd_device *pd ) 
 7855{ int tmp ;
 7856  long tmp___0 ;
 7857  int tmp___1 ;
 7858  atomic_t *__cil_tmp5 ;
 7859  atomic_t const   *__cil_tmp6 ;
 7860  int __cil_tmp7 ;
 7861  long __cil_tmp8 ;
 7862  atomic_t *__cil_tmp9 ;
 7863  atomic_t *__cil_tmp10 ;
 7864  wait_queue_head_t *__cil_tmp11 ;
 7865  void *__cil_tmp12 ;
 7866
 7867  {
 7868  {
 7869#line 525
 7870  __cil_tmp5 = & pd->cdrw.pending_bios;
 7871#line 525
 7872  __cil_tmp6 = (atomic_t const   *)__cil_tmp5;
 7873#line 525
 7874  tmp = atomic_read(__cil_tmp6);
 7875#line 525
 7876  __cil_tmp7 = tmp <= 0;
 7877#line 525
 7878  __cil_tmp8 = (long )__cil_tmp7;
 7879#line 525
 7880  tmp___0 = __builtin_expect(__cil_tmp8, 0L);
 7881  }
 7882#line 525
 7883  if (tmp___0 != 0L) {
 7884#line 525
 7885    __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/pktcdvd.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/pktcdvd.c.p"),
 7886                         "i" (525), "i" (12UL));
 7887    ldv_30654: ;
 7888#line 525
 7889    goto ldv_30654;
 7890  } else {
 7891
 7892  }
 7893  {
 7894#line 526
 7895  __cil_tmp9 = & pd->cdrw.pending_bios;
 7896#line 526
 7897  tmp___1 = atomic_dec_and_test(__cil_tmp9);
 7898  }
 7899#line 526
 7900  if (tmp___1 != 0) {
 7901    {
 7902#line 528
 7903    __cil_tmp10 = & pd->iosched.attention;
 7904#line 528
 7905    atomic_set(__cil_tmp10, 1);
 7906#line 529
 7907    __cil_tmp11 = & pd->wqueue;
 7908#line 529
 7909    __cil_tmp12 = (void *)0;
 7910#line 529
 7911    __wake_up(__cil_tmp11, 3U, 1, __cil_tmp12);
 7912    }
 7913  } else {
 7914
 7915  }
 7916#line 531
 7917  return;
 7918}
 7919}
 7920#line 533 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7921static void pkt_bio_destructor(struct bio *bio ) 
 7922{ struct bio_vec *__cil_tmp2 ;
 7923  void const   *__cil_tmp3 ;
 7924  void const   *__cil_tmp4 ;
 7925
 7926  {
 7927  {
 7928#line 535
 7929  __cil_tmp2 = bio->bi_io_vec;
 7930#line 535
 7931  __cil_tmp3 = (void const   *)__cil_tmp2;
 7932#line 535
 7933  kfree(__cil_tmp3);
 7934#line 536
 7935  __cil_tmp4 = (void const   *)bio;
 7936#line 536
 7937  kfree(__cil_tmp4);
 7938  }
 7939#line 537
 7940  return;
 7941}
 7942}
 7943#line 539 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 7944static struct bio *pkt_bio_alloc(int nr_iovecs ) 
 7945{ struct bio_vec *bvl ;
 7946  struct bio *bio ;
 7947  void *tmp ;
 7948  void *tmp___0 ;
 7949  struct bio *__cil_tmp6 ;
 7950  unsigned long __cil_tmp7 ;
 7951  unsigned long __cil_tmp8 ;
 7952  size_t __cil_tmp9 ;
 7953  struct bio_vec *__cil_tmp10 ;
 7954  unsigned long __cil_tmp11 ;
 7955  unsigned long __cil_tmp12 ;
 7956  void const   *__cil_tmp13 ;
 7957
 7958  {
 7959  {
 7960#line 541
 7961  bvl = (struct bio_vec *)0;
 7962#line 544
 7963  tmp = kmalloc(112UL, 208U);
 7964#line 544
 7965  bio = (struct bio *)tmp;
 7966  }
 7967  {
 7968#line 545
 7969  __cil_tmp6 = (struct bio *)0;
 7970#line 545
 7971  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7972#line 545
 7973  __cil_tmp8 = (unsigned long )bio;
 7974#line 545
 7975  if (__cil_tmp8 == __cil_tmp7) {
 7976#line 546
 7977    goto no_bio;
 7978  } else {
 7979
 7980  }
 7981  }
 7982  {
 7983#line 547
 7984  bio_init(bio);
 7985#line 549
 7986  __cil_tmp9 = (size_t )nr_iovecs;
 7987#line 549
 7988  tmp___0 = kcalloc(__cil_tmp9, 16UL, 208U);
 7989#line 549
 7990  bvl = (struct bio_vec *)tmp___0;
 7991  }
 7992  {
 7993#line 550
 7994  __cil_tmp10 = (struct bio_vec *)0;
 7995#line 550
 7996  __cil_tmp11 = (unsigned long )__cil_tmp10;
 7997#line 550
 7998  __cil_tmp12 = (unsigned long )bvl;
 7999#line 550
 8000  if (__cil_tmp12 == __cil_tmp11) {
 8001#line 551
 8002    goto no_bvl;
 8003  } else {
 8004
 8005  }
 8006  }
 8007#line 553
 8008  bio->bi_max_vecs = (unsigned int )nr_iovecs;
 8009#line 554
 8010  bio->bi_io_vec = bvl;
 8011#line 555
 8012  bio->bi_destructor = & pkt_bio_destructor;
 8013#line 557
 8014  return (bio);
 8015  no_bvl: 
 8016  {
 8017#line 560
 8018  __cil_tmp13 = (void const   *)bio;
 8019#line 560
 8020  kfree(__cil_tmp13);
 8021  }
 8022  no_bio: ;
 8023#line 562
 8024  return ((struct bio *)0);
 8025}
 8026}
 8027#line 568 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8028static struct packet_data *pkt_alloc_packet_data(int frames ) 
 8029{ int i ;
 8030  struct packet_data *pkt ;
 8031  void *tmp ;
 8032  struct lock_class_key __key ;
 8033  struct bio *bio ;
 8034  struct bio *tmp___0 ;
 8035  struct bio *bio___0 ;
 8036  struct packet_data *__cil_tmp9 ;
 8037  unsigned long __cil_tmp10 ;
 8038  unsigned long __cil_tmp11 ;
 8039  struct bio *__cil_tmp12 ;
 8040  unsigned long __cil_tmp13 ;
 8041  struct bio *__cil_tmp14 ;
 8042  unsigned long __cil_tmp15 ;
 8043  struct page *__cil_tmp16 ;
 8044  unsigned long __cil_tmp17 ;
 8045  struct page *__cil_tmp18 ;
 8046  unsigned long __cil_tmp19 ;
 8047  unsigned long __cil_tmp20 ;
 8048  unsigned long __cil_tmp21 ;
 8049  unsigned long __cil_tmp22 ;
 8050  spinlock_t *__cil_tmp23 ;
 8051  struct raw_spinlock *__cil_tmp24 ;
 8052  struct bio_list *__cil_tmp25 ;
 8053  struct bio *__cil_tmp26 ;
 8054  unsigned long __cil_tmp27 ;
 8055  unsigned long __cil_tmp28 ;
 8056  struct bio *__cil_tmp29 ;
 8057  unsigned long __cil_tmp30 ;
 8058  unsigned long __cil_tmp31 ;
 8059  struct page *__cil_tmp32 ;
 8060  unsigned long __cil_tmp33 ;
 8061  struct page *__cil_tmp34 ;
 8062  unsigned long __cil_tmp35 ;
 8063  struct page *__cil_tmp36 ;
 8064  unsigned long __cil_tmp37 ;
 8065  unsigned long __cil_tmp38 ;
 8066  unsigned long __cil_tmp39 ;
 8067  struct bio *__cil_tmp40 ;
 8068  void const   *__cil_tmp41 ;
 8069
 8070  {
 8071  {
 8072#line 573
 8073  tmp = kzalloc(1712UL, 208U);
 8074#line 573
 8075  pkt = (struct packet_data *)tmp;
 8076  }
 8077  {
 8078#line 574
 8079  __cil_tmp9 = (struct packet_data *)0;
 8080#line 574
 8081  __cil_tmp10 = (unsigned long )__cil_tmp9;
 8082#line 574
 8083  __cil_tmp11 = (unsigned long )pkt;
 8084#line 574
 8085  if (__cil_tmp11 == __cil_tmp10) {
 8086#line 575
 8087    goto no_pkt;
 8088  } else {
 8089
 8090  }
 8091  }
 8092  {
 8093#line 577
 8094  pkt->frames = frames;
 8095#line 578
 8096  pkt->w_bio = pkt_bio_alloc(frames);
 8097  }
 8098  {
 8099#line 579
 8100  __cil_tmp12 = (struct bio *)0;
 8101#line 579
 8102  __cil_tmp13 = (unsigned long )__cil_tmp12;
 8103#line 579
 8104  __cil_tmp14 = pkt->w_bio;
 8105#line 579
 8106  __cil_tmp15 = (unsigned long )__cil_tmp14;
 8107#line 579
 8108  if (__cil_tmp15 == __cil_tmp13) {
 8109#line 580
 8110    goto no_bio;
 8111  } else {
 8112
 8113  }
 8114  }
 8115#line 582
 8116  i = 0;
 8117#line 582
 8118  goto ldv_30674;
 8119  ldv_30673: 
 8120  {
 8121#line 583
 8122  pkt->pages[i] = alloc_pages(32976U, 0U);
 8123  }
 8124  {
 8125#line 584
 8126  __cil_tmp16 = (struct page *)0;
 8127#line 584
 8128  __cil_tmp17 = (unsigned long )__cil_tmp16;
 8129#line 584
 8130  __cil_tmp18 = pkt->pages[i];
 8131#line 584
 8132  __cil_tmp19 = (unsigned long )__cil_tmp18;
 8133#line 584
 8134  if (__cil_tmp19 == __cil_tmp17) {
 8135#line 585
 8136    goto no_page;
 8137  } else {
 8138
 8139  }
 8140  }
 8141#line 582
 8142  i = i + 1;
 8143  ldv_30674: ;
 8144  {
 8145#line 582
 8146  __cil_tmp20 = (unsigned long )frames;
 8147#line 582
 8148  __cil_tmp21 = __cil_tmp20 / 2UL;
 8149#line 582
 8150  __cil_tmp22 = (unsigned long )i;
 8151#line 582
 8152  if (__cil_tmp22 < __cil_tmp21) {
 8153#line 583
 8154    goto ldv_30673;
 8155  } else {
 8156#line 585
 8157    goto ldv_30675;
 8158  }
 8159  }
 8160  ldv_30675: 
 8161  {
 8162#line 588
 8163  __cil_tmp23 = & pkt->lock;
 8164#line 588
 8165  spinlock_check(__cil_tmp23);
 8166#line 588
 8167  __cil_tmp24 = & pkt->lock.ldv_6060.rlock;
 8168#line 588
 8169  __raw_spin_lock_init(__cil_tmp24, "&(&pkt->lock)->rlock", & __key);
 8170#line 589
 8171  __cil_tmp25 = & pkt->orig_bios;
 8172#line 589
 8173  bio_list_init(__cil_tmp25);
 8174#line 591
 8175  i = 0;
 8176  }
 8177#line 591
 8178  goto ldv_30680;
 8179  ldv_30679: 
 8180  {
 8181#line 592
 8182  tmp___0 = pkt_bio_alloc(1);
 8183#line 592
 8184  bio = tmp___0;
 8185  }
 8186  {
 8187#line 593
 8188  __cil_tmp26 = (struct bio *)0;
 8189#line 593
 8190  __cil_tmp27 = (unsigned long )__cil_tmp26;
 8191#line 593
 8192  __cil_tmp28 = (unsigned long )bio;
 8193#line 593
 8194  if (__cil_tmp28 == __cil_tmp27) {
 8195#line 594
 8196    goto no_rd_bio;
 8197  } else {
 8198
 8199  }
 8200  }
 8201#line 595
 8202  pkt->r_bios[i] = bio;
 8203#line 591
 8204  i = i + 1;
 8205  ldv_30680: ;
 8206#line 591
 8207  if (i < frames) {
 8208#line 592
 8209    goto ldv_30679;
 8210  } else {
 8211#line 594
 8212    goto ldv_30681;
 8213  }
 8214  ldv_30681: ;
 8215#line 598
 8216  return (pkt);
 8217  no_rd_bio: 
 8218#line 601
 8219  i = 0;
 8220#line 601
 8221  goto ldv_30684;
 8222  ldv_30683: 
 8223#line 602
 8224  bio___0 = pkt->r_bios[i];
 8225  {
 8226#line 603
 8227  __cil_tmp29 = (struct bio *)0;
 8228#line 603
 8229  __cil_tmp30 = (unsigned long )__cil_tmp29;
 8230#line 603
 8231  __cil_tmp31 = (unsigned long )bio___0;
 8232#line 603
 8233  if (__cil_tmp31 != __cil_tmp30) {
 8234    {
 8235#line 604
 8236    bio_put(bio___0);
 8237    }
 8238  } else {
 8239
 8240  }
 8241  }
 8242#line 601
 8243  i = i + 1;
 8244  ldv_30684: ;
 8245#line 601
 8246  if (i < frames) {
 8247#line 602
 8248    goto ldv_30683;
 8249  } else {
 8250#line 604
 8251    goto ldv_30685;
 8252  }
 8253  ldv_30685: ;
 8254  no_page: 
 8255#line 608
 8256  i = 0;
 8257#line 608
 8258  goto ldv_30687;
 8259  ldv_30686: ;
 8260  {
 8261#line 609
 8262  __cil_tmp32 = (struct page *)0;
 8263#line 609
 8264  __cil_tmp33 = (unsigned long )__cil_tmp32;
 8265#line 609
 8266  __cil_tmp34 = pkt->pages[i];
 8267#line 609
 8268  __cil_tmp35 = (unsigned long )__cil_tmp34;
 8269#line 609
 8270  if (__cil_tmp35 != __cil_tmp33) {
 8271    {
 8272#line 610
 8273    __cil_tmp36 = pkt->pages[i];
 8274#line 610
 8275    __free_pages(__cil_tmp36, 0U);
 8276    }
 8277  } else {
 8278
 8279  }
 8280  }
 8281#line 608
 8282  i = i + 1;
 8283  ldv_30687: ;
 8284  {
 8285#line 608
 8286  __cil_tmp37 = (unsigned long )frames;
 8287#line 608
 8288  __cil_tmp38 = __cil_tmp37 / 2UL;
 8289#line 608
 8290  __cil_tmp39 = (unsigned long )i;
 8291#line 608
 8292  if (__cil_tmp39 < __cil_tmp38) {
 8293#line 609
 8294    goto ldv_30686;
 8295  } else {
 8296#line 611
 8297    goto ldv_30688;
 8298  }
 8299  }
 8300  ldv_30688: 
 8301  {
 8302#line 611
 8303  __cil_tmp40 = pkt->w_bio;
 8304#line 611
 8305  bio_put(__cil_tmp40);
 8306  }
 8307  no_bio: 
 8308  {
 8309#line 613
 8310  __cil_tmp41 = (void const   *)pkt;
 8311#line 613
 8312  kfree(__cil_tmp41);
 8313  }
 8314  no_pkt: ;
 8315#line 615
 8316  return ((struct packet_data *)0);
 8317}
 8318}
 8319#line 621 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8320static void pkt_free_packet_data(struct packet_data *pkt ) 
 8321{ int i ;
 8322  struct bio *bio ;
 8323  struct bio *__cil_tmp4 ;
 8324  unsigned long __cil_tmp5 ;
 8325  unsigned long __cil_tmp6 ;
 8326  int __cil_tmp7 ;
 8327  struct page *__cil_tmp8 ;
 8328  int __cil_tmp9 ;
 8329  unsigned long __cil_tmp10 ;
 8330  unsigned long __cil_tmp11 ;
 8331  unsigned long __cil_tmp12 ;
 8332  struct bio *__cil_tmp13 ;
 8333  void const   *__cil_tmp14 ;
 8334
 8335  {
 8336#line 625
 8337  i = 0;
 8338#line 625
 8339  goto ldv_30695;
 8340  ldv_30694: 
 8341#line 626
 8342  bio = pkt->r_bios[i];
 8343  {
 8344#line 627
 8345  __cil_tmp4 = (struct bio *)0;
 8346#line 627
 8347  __cil_tmp5 = (unsigned long )__cil_tmp4;
 8348#line 627
 8349  __cil_tmp6 = (unsigned long )bio;
 8350#line 627
 8351  if (__cil_tmp6 != __cil_tmp5) {
 8352    {
 8353#line 628
 8354    bio_put(bio);
 8355    }
 8356  } else {
 8357
 8358  }
 8359  }
 8360#line 625
 8361  i = i + 1;
 8362  ldv_30695: ;
 8363  {
 8364#line 625
 8365  __cil_tmp7 = pkt->frames;
 8366#line 625
 8367  if (__cil_tmp7 > i) {
 8368#line 626
 8369    goto ldv_30694;
 8370  } else {
 8371#line 628
 8372    goto ldv_30696;
 8373  }
 8374  }
 8375  ldv_30696: 
 8376#line 630
 8377  i = 0;
 8378#line 630
 8379  goto ldv_30698;
 8380  ldv_30697: 
 8381  {
 8382#line 631
 8383  __cil_tmp8 = pkt->pages[i];
 8384#line 631
 8385  __free_pages(__cil_tmp8, 0U);
 8386#line 630
 8387  i = i + 1;
 8388  }
 8389  ldv_30698: ;
 8390  {
 8391#line 630
 8392  __cil_tmp9 = pkt->frames;
 8393#line 630
 8394  __cil_tmp10 = (unsigned long )__cil_tmp9;
 8395#line 630
 8396  __cil_tmp11 = __cil_tmp10 / 2UL;
 8397#line 630
 8398  __cil_tmp12 = (unsigned long )i;
 8399#line 630
 8400  if (__cil_tmp12 < __cil_tmp11) {
 8401#line 631
 8402    goto ldv_30697;
 8403  } else {
 8404#line 633
 8405    goto ldv_30699;
 8406  }
 8407  }
 8408  ldv_30699: 
 8409  {
 8410#line 632
 8411  __cil_tmp13 = pkt->w_bio;
 8412#line 632
 8413  bio_put(__cil_tmp13);
 8414#line 633
 8415  __cil_tmp14 = (void const   *)pkt;
 8416#line 633
 8417  kfree(__cil_tmp14);
 8418  }
 8419#line 634
 8420  return;
 8421}
 8422}
 8423#line 636 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8424static void pkt_shrink_pktlist(struct pktcdvd_device *pd ) 
 8425{ struct packet_data *pkt ;
 8426  struct packet_data *next ;
 8427  int tmp ;
 8428  long tmp___0 ;
 8429  struct list_head  const  *__mptr ;
 8430  struct list_head  const  *__mptr___0 ;
 8431  struct list_head  const  *__mptr___1 ;
 8432  struct list_head *__cil_tmp9 ;
 8433  struct list_head  const  *__cil_tmp10 ;
 8434  int __cil_tmp11 ;
 8435  long __cil_tmp12 ;
 8436  struct list_head *__cil_tmp13 ;
 8437  struct list_head *__cil_tmp14 ;
 8438  struct list_head *__cil_tmp15 ;
 8439  struct list_head *__cil_tmp16 ;
 8440  unsigned long __cil_tmp17 ;
 8441  struct list_head *__cil_tmp18 ;
 8442  unsigned long __cil_tmp19 ;
 8443  struct list_head *__cil_tmp20 ;
 8444
 8445  {
 8446  {
 8447#line 640
 8448  __cil_tmp9 = & pd->cdrw.pkt_active_list;
 8449#line 640
 8450  __cil_tmp10 = (struct list_head  const  *)__cil_tmp9;
 8451#line 640
 8452  tmp = list_empty(__cil_tmp10);
 8453#line 640
 8454  __cil_tmp11 = tmp == 0;
 8455#line 640
 8456  __cil_tmp12 = (long )__cil_tmp11;
 8457#line 640
 8458  tmp___0 = __builtin_expect(__cil_tmp12, 0L);
 8459  }
 8460#line 640
 8461  if (tmp___0 != 0L) {
 8462#line 640
 8463    __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/pktcdvd.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/pktcdvd.c.p"),
 8464                         "i" (640), "i" (12UL));
 8465    ldv_30705: ;
 8466#line 640
 8467    goto ldv_30705;
 8468  } else {
 8469
 8470  }
 8471#line 642
 8472  __cil_tmp13 = pd->cdrw.pkt_free_list.next;
 8473#line 642
 8474  __mptr = (struct list_head  const  *)__cil_tmp13;
 8475#line 642
 8476  pkt = (struct packet_data *)__mptr;
 8477#line 642
 8478  __cil_tmp14 = pkt->list.next;
 8479#line 642
 8480  __mptr___0 = (struct list_head  const  *)__cil_tmp14;
 8481#line 642
 8482  next = (struct packet_data *)__mptr___0;
 8483#line 642
 8484  goto ldv_30713;
 8485  ldv_30712: 
 8486  {
 8487#line 643
 8488  pkt_free_packet_data(pkt);
 8489#line 642
 8490  pkt = next;
 8491#line 642
 8492  __cil_tmp15 = next->list.next;
 8493#line 642
 8494  __mptr___1 = (struct list_head  const  *)__cil_tmp15;
 8495#line 642
 8496  next = (struct packet_data *)__mptr___1;
 8497  }
 8498  ldv_30713: ;
 8499  {
 8500#line 642
 8501  __cil_tmp16 = & pd->cdrw.pkt_free_list;
 8502#line 642
 8503  __cil_tmp17 = (unsigned long )__cil_tmp16;
 8504#line 642
 8505  __cil_tmp18 = & pkt->list;
 8506#line 642
 8507  __cil_tmp19 = (unsigned long )__cil_tmp18;
 8508#line 642
 8509  if (__cil_tmp19 != __cil_tmp17) {
 8510#line 643
 8511    goto ldv_30712;
 8512  } else {
 8513#line 645
 8514    goto ldv_30714;
 8515  }
 8516  }
 8517  ldv_30714: 
 8518  {
 8519#line 645
 8520  __cil_tmp20 = & pd->cdrw.pkt_free_list;
 8521#line 645
 8522  INIT_LIST_HEAD(__cil_tmp20);
 8523  }
 8524#line 646
 8525  return;
 8526}
 8527}
 8528#line 648 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8529static int pkt_grow_pktlist(struct pktcdvd_device *pd , int nr_packets ) 
 8530{ struct packet_data *pkt ;
 8531  int tmp ;
 8532  long tmp___0 ;
 8533  struct list_head *__cil_tmp6 ;
 8534  struct list_head  const  *__cil_tmp7 ;
 8535  int __cil_tmp8 ;
 8536  long __cil_tmp9 ;
 8537  __u32 __cil_tmp10 ;
 8538  __u32 __cil_tmp11 ;
 8539  int __cil_tmp12 ;
 8540  struct packet_data *__cil_tmp13 ;
 8541  unsigned long __cil_tmp14 ;
 8542  unsigned long __cil_tmp15 ;
 8543  struct list_head *__cil_tmp16 ;
 8544  struct list_head *__cil_tmp17 ;
 8545
 8546  {
 8547  {
 8548#line 652
 8549  __cil_tmp6 = & pd->cdrw.pkt_free_list;
 8550#line 652
 8551  __cil_tmp7 = (struct list_head  const  *)__cil_tmp6;
 8552#line 652
 8553  tmp = list_empty(__cil_tmp7);
 8554#line 652
 8555  __cil_tmp8 = tmp == 0;
 8556#line 652
 8557  __cil_tmp9 = (long )__cil_tmp8;
 8558#line 652
 8559  tmp___0 = __builtin_expect(__cil_tmp9, 0L);
 8560  }
 8561#line 652
 8562  if (tmp___0 != 0L) {
 8563#line 652
 8564    __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/pktcdvd.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/pktcdvd.c.p"),
 8565                         "i" (652), "i" (12UL));
 8566    ldv_30720: ;
 8567#line 652
 8568    goto ldv_30720;
 8569  } else {
 8570
 8571  }
 8572#line 654
 8573  goto ldv_30722;
 8574  ldv_30721: 
 8575  {
 8576#line 655
 8577  __cil_tmp10 = pd->settings.size;
 8578#line 655
 8579  __cil_tmp11 = __cil_tmp10 >> 2;
 8580#line 655
 8581  __cil_tmp12 = (int )__cil_tmp11;
 8582#line 655
 8583  pkt = pkt_alloc_packet_data(__cil_tmp12);
 8584  }
 8585  {
 8586#line 656
 8587  __cil_tmp13 = (struct packet_data *)0;
 8588#line 656
 8589  __cil_tmp14 = (unsigned long )__cil_tmp13;
 8590#line 656
 8591  __cil_tmp15 = (unsigned long )pkt;
 8592#line 656
 8593  if (__cil_tmp15 == __cil_tmp14) {
 8594    {
 8595#line 657
 8596    pkt_shrink_pktlist(pd);
 8597    }
 8598#line 658
 8599    return (0);
 8600  } else {
 8601
 8602  }
 8603  }
 8604  {
 8605#line 660
 8606  pkt->id = nr_packets;
 8607#line 661
 8608  pkt->pd = pd;
 8609#line 662
 8610  __cil_tmp16 = & pkt->list;
 8611#line 662
 8612  __cil_tmp17 = & pd->cdrw.pkt_free_list;
 8613#line 662
 8614  list_add(__cil_tmp16, __cil_tmp17);
 8615#line 663
 8616  nr_packets = nr_packets - 1;
 8617  }
 8618  ldv_30722: ;
 8619#line 654
 8620  if (nr_packets > 0) {
 8621#line 655
 8622    goto ldv_30721;
 8623  } else {
 8624#line 657
 8625    goto ldv_30723;
 8626  }
 8627  ldv_30723: ;
 8628#line 665
 8629  return (1);
 8630}
 8631}
 8632#line 668 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8633__inline static struct pkt_rb_node *pkt_rbtree_next(struct pkt_rb_node *node ) 
 8634{ struct rb_node *n ;
 8635  struct rb_node *tmp ;
 8636  struct rb_node  const  *__mptr ;
 8637  struct rb_node *__cil_tmp5 ;
 8638  struct rb_node  const  *__cil_tmp6 ;
 8639  struct rb_node *__cil_tmp7 ;
 8640  unsigned long __cil_tmp8 ;
 8641  unsigned long __cil_tmp9 ;
 8642
 8643  {
 8644  {
 8645#line 670
 8646  __cil_tmp5 = & node->rb_node;
 8647#line 670
 8648  __cil_tmp6 = (struct rb_node  const  *)__cil_tmp5;
 8649#line 670
 8650  tmp = rb_next(__cil_tmp6);
 8651#line 670
 8652  n = tmp;
 8653  }
 8654  {
 8655#line 671
 8656  __cil_tmp7 = (struct rb_node *)0;
 8657#line 671
 8658  __cil_tmp8 = (unsigned long )__cil_tmp7;
 8659#line 671
 8660  __cil_tmp9 = (unsigned long )n;
 8661#line 671
 8662  if (__cil_tmp9 == __cil_tmp8) {
 8663#line 672
 8664    return ((struct pkt_rb_node *)0);
 8665  } else {
 8666
 8667  }
 8668  }
 8669#line 673
 8670  __mptr = (struct rb_node  const  *)n;
 8671#line 673
 8672  return ((struct pkt_rb_node *)__mptr);
 8673}
 8674}
 8675#line 676 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8676static void pkt_rbtree_erase(struct pktcdvd_device *pd , struct pkt_rb_node *node ) 
 8677{ long tmp ;
 8678  struct rb_node *__cil_tmp4 ;
 8679  struct rb_root *__cil_tmp5 ;
 8680  void *__cil_tmp6 ;
 8681  mempool_t *__cil_tmp7 ;
 8682  int __cil_tmp8 ;
 8683  int __cil_tmp9 ;
 8684  int __cil_tmp10 ;
 8685  long __cil_tmp11 ;
 8686
 8687  {
 8688  {
 8689#line 678
 8690  __cil_tmp4 = & node->rb_node;
 8691#line 678
 8692  __cil_tmp5 = & pd->bio_queue;
 8693#line 678
 8694  rb_erase(__cil_tmp4, __cil_tmp5);
 8695#line 679
 8696  __cil_tmp6 = (void *)node;
 8697#line 679
 8698  __cil_tmp7 = pd->rb_pool;
 8699#line 679
 8700  mempool_free(__cil_tmp6, __cil_tmp7);
 8701#line 680
 8702  __cil_tmp8 = pd->bio_queue_size;
 8703#line 680
 8704  pd->bio_queue_size = __cil_tmp8 - 1;
 8705#line 681
 8706  __cil_tmp9 = pd->bio_queue_size;
 8707#line 681
 8708  __cil_tmp10 = __cil_tmp9 < 0;
 8709#line 681
 8710  __cil_tmp11 = (long )__cil_tmp10;
 8711#line 681
 8712  tmp = __builtin_expect(__cil_tmp11, 0L);
 8713  }
 8714#line 681
 8715  if (tmp != 0L) {
 8716#line 681
 8717    __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/pktcdvd.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/pktcdvd.c.p"),
 8718                         "i" (681), "i" (12UL));
 8719    ldv_30734: ;
 8720#line 681
 8721    goto ldv_30734;
 8722  } else {
 8723
 8724  }
 8725#line 683
 8726  return;
 8727}
 8728}
 8729#line 687 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8730static struct pkt_rb_node *pkt_rbtree_find(struct pktcdvd_device *pd , sector_t s ) 
 8731{ struct rb_node *n ;
 8732  struct rb_node *next ;
 8733  struct pkt_rb_node *tmp ;
 8734  long tmp___0 ;
 8735  struct rb_node  const  *__mptr ;
 8736  long tmp___1 ;
 8737  struct rb_node *__cil_tmp9 ;
 8738  unsigned long __cil_tmp10 ;
 8739  unsigned long __cil_tmp11 ;
 8740  int __cil_tmp12 ;
 8741  int __cil_tmp13 ;
 8742  long __cil_tmp14 ;
 8743  struct bio *__cil_tmp15 ;
 8744  sector_t __cil_tmp16 ;
 8745  struct rb_node *__cil_tmp17 ;
 8746  unsigned long __cil_tmp18 ;
 8747  unsigned long __cil_tmp19 ;
 8748  struct bio *__cil_tmp20 ;
 8749  sector_t __cil_tmp21 ;
 8750  struct pkt_rb_node *__cil_tmp22 ;
 8751  unsigned long __cil_tmp23 ;
 8752  unsigned long __cil_tmp24 ;
 8753  struct bio *__cil_tmp25 ;
 8754  sector_t __cil_tmp26 ;
 8755  int __cil_tmp27 ;
 8756  long __cil_tmp28 ;
 8757
 8758  {
 8759#line 689
 8760  n = pd->bio_queue.rb_node;
 8761  {
 8762#line 693
 8763  __cil_tmp9 = (struct rb_node *)0;
 8764#line 693
 8765  __cil_tmp10 = (unsigned long )__cil_tmp9;
 8766#line 693
 8767  __cil_tmp11 = (unsigned long )n;
 8768#line 693
 8769  if (__cil_tmp11 == __cil_tmp10) {
 8770    {
 8771#line 694
 8772    __cil_tmp12 = pd->bio_queue_size;
 8773#line 694
 8774    __cil_tmp13 = __cil_tmp12 > 0;
 8775#line 694
 8776    __cil_tmp14 = (long )__cil_tmp13;
 8777#line 694
 8778    tmp___0 = __builtin_expect(__cil_tmp14, 0L);
 8779    }
 8780#line 694
 8781    if (tmp___0 != 0L) {
 8782#line 694
 8783      __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/pktcdvd.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/pktcdvd.c.p"),
 8784                           "i" (694), "i" (12UL));
 8785      ldv_30742: ;
 8786#line 694
 8787      goto ldv_30742;
 8788    } else {
 8789
 8790    }
 8791#line 695
 8792    return ((struct pkt_rb_node *)0);
 8793  } else {
 8794
 8795  }
 8796  }
 8797  ldv_30746: 
 8798#line 699
 8799  __mptr = (struct rb_node  const  *)n;
 8800#line 699
 8801  tmp = (struct pkt_rb_node *)__mptr;
 8802  {
 8803#line 700
 8804  __cil_tmp15 = tmp->bio;
 8805#line 700
 8806  __cil_tmp16 = __cil_tmp15->bi_sector;
 8807#line 700
 8808  if (__cil_tmp16 >= s) {
 8809#line 701
 8810    next = n->rb_left;
 8811  } else {
 8812#line 703
 8813    next = n->rb_right;
 8814  }
 8815  }
 8816  {
 8817#line 704
 8818  __cil_tmp17 = (struct rb_node *)0;
 8819#line 704
 8820  __cil_tmp18 = (unsigned long )__cil_tmp17;
 8821#line 704
 8822  __cil_tmp19 = (unsigned long )next;
 8823#line 704
 8824  if (__cil_tmp19 == __cil_tmp18) {
 8825#line 705
 8826    goto ldv_30745;
 8827  } else {
 8828
 8829  }
 8830  }
 8831#line 706
 8832  n = next;
 8833#line 707
 8834  goto ldv_30746;
 8835  ldv_30745: ;
 8836  {
 8837#line 709
 8838  __cil_tmp20 = tmp->bio;
 8839#line 709
 8840  __cil_tmp21 = __cil_tmp20->bi_sector;
 8841#line 709
 8842  if (__cil_tmp21 < s) {
 8843    {
 8844#line 710
 8845    tmp = pkt_rbtree_next(tmp);
 8846    }
 8847    {
 8848#line 711
 8849    __cil_tmp22 = (struct pkt_rb_node *)0;
 8850#line 711
 8851    __cil_tmp23 = (unsigned long )__cil_tmp22;
 8852#line 711
 8853    __cil_tmp24 = (unsigned long )tmp;
 8854#line 711
 8855    if (__cil_tmp24 == __cil_tmp23) {
 8856#line 712
 8857      return ((struct pkt_rb_node *)0);
 8858    } else {
 8859
 8860    }
 8861    }
 8862  } else {
 8863
 8864  }
 8865  }
 8866  {
 8867#line 714
 8868  __cil_tmp25 = tmp->bio;
 8869#line 714
 8870  __cil_tmp26 = __cil_tmp25->bi_sector;
 8871#line 714
 8872  __cil_tmp27 = __cil_tmp26 < s;
 8873#line 714
 8874  __cil_tmp28 = (long )__cil_tmp27;
 8875#line 714
 8876  tmp___1 = __builtin_expect(__cil_tmp28, 0L);
 8877  }
 8878#line 714
 8879  if (tmp___1 != 0L) {
 8880#line 714
 8881    __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/pktcdvd.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/pktcdvd.c.p"),
 8882                         "i" (714), "i" (12UL));
 8883    ldv_30747: ;
 8884#line 714
 8885    goto ldv_30747;
 8886  } else {
 8887
 8888  }
 8889#line 715
 8890  return (tmp);
 8891}
 8892}
 8893#line 721 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8894static void pkt_rbtree_insert(struct pktcdvd_device *pd , struct pkt_rb_node *node ) 
 8895{ struct rb_node **p ;
 8896  struct rb_node *parent ;
 8897  sector_t s ;
 8898  struct pkt_rb_node *tmp ;
 8899  struct rb_node  const  *__mptr ;
 8900  struct bio *__cil_tmp8 ;
 8901  struct bio *__cil_tmp9 ;
 8902  sector_t __cil_tmp10 ;
 8903  struct rb_node *__cil_tmp11 ;
 8904  struct rb_node *__cil_tmp12 ;
 8905  struct rb_node *__cil_tmp13 ;
 8906  unsigned long __cil_tmp14 ;
 8907  struct rb_node *__cil_tmp15 ;
 8908  unsigned long __cil_tmp16 ;
 8909  struct rb_node *__cil_tmp17 ;
 8910  struct rb_node *__cil_tmp18 ;
 8911  struct rb_root *__cil_tmp19 ;
 8912  int __cil_tmp20 ;
 8913
 8914  {
 8915#line 723
 8916  p = & pd->bio_queue.rb_node;
 8917#line 724
 8918  parent = (struct rb_node *)0;
 8919#line 725
 8920  __cil_tmp8 = node->bio;
 8921#line 725
 8922  s = __cil_tmp8->bi_sector;
 8923#line 728
 8924  goto ldv_30759;
 8925  ldv_30758: 
 8926#line 729
 8927  parent = *p;
 8928#line 730
 8929  __mptr = (struct rb_node  const  *)parent;
 8930#line 730
 8931  tmp = (struct pkt_rb_node *)__mptr;
 8932  {
 8933#line 731
 8934  __cil_tmp9 = tmp->bio;
 8935#line 731
 8936  __cil_tmp10 = __cil_tmp9->bi_sector;
 8937#line 731
 8938  if (__cil_tmp10 > s) {
 8939#line 732
 8940    __cil_tmp11 = *p;
 8941#line 732
 8942    p = & __cil_tmp11->rb_left;
 8943  } else {
 8944#line 734
 8945    __cil_tmp12 = *p;
 8946#line 734
 8947    p = & __cil_tmp12->rb_right;
 8948  }
 8949  }
 8950  ldv_30759: ;
 8951  {
 8952#line 728
 8953  __cil_tmp13 = (struct rb_node *)0;
 8954#line 728
 8955  __cil_tmp14 = (unsigned long )__cil_tmp13;
 8956#line 728
 8957  __cil_tmp15 = *p;
 8958#line 728
 8959  __cil_tmp16 = (unsigned long )__cil_tmp15;
 8960#line 728
 8961  if (__cil_tmp16 != __cil_tmp14) {
 8962#line 729
 8963    goto ldv_30758;
 8964  } else {
 8965#line 731
 8966    goto ldv_30760;
 8967  }
 8968  }
 8969  ldv_30760: 
 8970  {
 8971#line 736
 8972  __cil_tmp17 = & node->rb_node;
 8973#line 736
 8974  rb_link_node(__cil_tmp17, parent, p);
 8975#line 737
 8976  __cil_tmp18 = & node->rb_node;
 8977#line 737
 8978  __cil_tmp19 = & pd->bio_queue;
 8979#line 737
 8980  rb_insert_color(__cil_tmp18, __cil_tmp19);
 8981#line 738
 8982  __cil_tmp20 = pd->bio_queue_size;
 8983#line 738
 8984  pd->bio_queue_size = __cil_tmp20 + 1;
 8985  }
 8986#line 739
 8987  return;
 8988}
 8989}
 8990#line 745 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 8991static int pkt_generic_packet(struct pktcdvd_device *pd , struct packet_command *cgc ) 
 8992{ struct request_queue *q ;
 8993  struct request_queue *tmp ;
 8994  struct request *rq ;
 8995  int ret ;
 8996  int tmp___0 ;
 8997  size_t __len ;
 8998  void *__ret ;
 8999  struct block_device *__cil_tmp10 ;
 9000  unsigned char __cil_tmp11 ;
 9001  unsigned int __cil_tmp12 ;
 9002  int __cil_tmp13 ;
 9003  unsigned int __cil_tmp14 ;
 9004  unsigned char *__cil_tmp15 ;
 9005  void *__cil_tmp16 ;
 9006  unsigned int __cil_tmp17 ;
 9007  unsigned char *__cil_tmp18 ;
 9008  void *__cil_tmp19 ;
 9009  unsigned char (*__cil_tmp20)[12U] ;
 9010  void const   *__cil_tmp21 ;
 9011  unsigned char *__cil_tmp22 ;
 9012  void *__cil_tmp23 ;
 9013  unsigned char (*__cil_tmp24)[12U] ;
 9014  void const   *__cil_tmp25 ;
 9015  int __cil_tmp26 ;
 9016  unsigned int __cil_tmp27 ;
 9017  struct request_queue *__cil_tmp28 ;
 9018  struct block_device *__cil_tmp29 ;
 9019  struct gendisk *__cil_tmp30 ;
 9020  int __cil_tmp31 ;
 9021
 9022  {
 9023  {
 9024#line 747
 9025  __cil_tmp10 = pd->bdev;
 9026#line 747
 9027  tmp = bdev_get_queue(__cil_tmp10);
 9028#line 747
 9029  q = tmp;
 9030#line 749
 9031  ret = 0;
 9032#line 751
 9033  __cil_tmp11 = cgc->data_direction;
 9034#line 751
 9035  __cil_tmp12 = (unsigned int )__cil_tmp11;
 9036#line 751
 9037  __cil_tmp13 = __cil_tmp12 == 1U;
 9038#line 751
 9039  rq = blk_get_request(q, __cil_tmp13, 16U);
 9040  }
 9041  {
 9042#line 754
 9043  __cil_tmp14 = cgc->buflen;
 9044#line 754
 9045  if (__cil_tmp14 != 0U) {
 9046    {
 9047#line 755
 9048    __cil_tmp15 = cgc->buffer;
 9049#line 755
 9050    __cil_tmp16 = (void *)__cil_tmp15;
 9051#line 755
 9052    __cil_tmp17 = cgc->buflen;
 9053#line 755
 9054    tmp___0 = blk_rq_map_kern(q, rq, __cil_tmp16, __cil_tmp17, 16U);
 9055    }
 9056#line 755
 9057    if (tmp___0 != 0) {
 9058#line 756
 9059      goto out;
 9060    } else {
 9061
 9062    }
 9063  } else {
 9064
 9065  }
 9066  }
 9067#line 759
 9068  rq->cmd_len = (unsigned short )scsi_command_size_tbl[((int )cgc->cmd[0] >> 5) & 7];
 9069#line 760
 9070  __len = 12UL;
 9071#line 760
 9072  if (__len > 63UL) {
 9073    {
 9074#line 760
 9075    __cil_tmp18 = rq->cmd;
 9076#line 760
 9077    __cil_tmp19 = (void *)__cil_tmp18;
 9078#line 760
 9079    __cil_tmp20 = & cgc->cmd;
 9080#line 760
 9081    __cil_tmp21 = (void const   *)__cil_tmp20;
 9082#line 760
 9083    __ret = __memcpy(__cil_tmp19, __cil_tmp21, __len);
 9084    }
 9085  } else {
 9086    {
 9087#line 760
 9088    __cil_tmp22 = rq->cmd;
 9089#line 760
 9090    __cil_tmp23 = (void *)__cil_tmp22;
 9091#line 760
 9092    __cil_tmp24 = & cgc->cmd;
 9093#line 760
 9094    __cil_tmp25 = (void const   *)__cil_tmp24;
 9095#line 760
 9096    __ret = __builtin_memcpy(__cil_tmp23, __cil_tmp25, __len);
 9097    }
 9098  }
 9099#line 762
 9100  rq->timeout = 15000U;
 9101#line 763
 9102  rq->cmd_type = (enum rq_cmd_type_bits )2;
 9103  {
 9104#line 764
 9105  __cil_tmp26 = cgc->quiet;
 9106#line 764
 9107  if (__cil_tmp26 != 0) {
 9108#line 765
 9109    __cil_tmp27 = rq->cmd_flags;
 9110#line 765
 9111    rq->cmd_flags = __cil_tmp27 | 524288U;
 9112  } else {
 9113
 9114  }
 9115  }
 9116  {
 9117#line 767
 9118  __cil_tmp28 = rq->q;
 9119#line 767
 9120  __cil_tmp29 = pd->bdev;
 9121#line 767
 9122  __cil_tmp30 = __cil_tmp29->bd_disk;
 9123#line 767
 9124  blk_execute_rq(__cil_tmp28, __cil_tmp30, rq, 0);
 9125  }
 9126  {
 9127#line 768
 9128  __cil_tmp31 = rq->errors;
 9129#line 768
 9130  if (__cil_tmp31 != 0) {
 9131#line 769
 9132    ret = -5;
 9133  } else {
 9134
 9135  }
 9136  }
 9137  out: 
 9138  {
 9139#line 771
 9140  blk_put_request(rq);
 9141  }
 9142#line 772
 9143  return (ret);
 9144}
 9145}
 9146#line 779 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9147static void pkt_dump_sense(struct packet_command *cgc ) 
 9148{ char *info[9U] ;
 9149  int i ;
 9150  struct request_sense *sense ;
 9151  unsigned char __cil_tmp5 ;
 9152  int __cil_tmp6 ;
 9153  struct request_sense *__cil_tmp7 ;
 9154  unsigned long __cil_tmp8 ;
 9155  unsigned long __cil_tmp9 ;
 9156  unsigned char __cil_tmp10 ;
 9157  int __cil_tmp11 ;
 9158  __u8 __cil_tmp12 ;
 9159  int __cil_tmp13 ;
 9160  __u8 __cil_tmp14 ;
 9161  int __cil_tmp15 ;
 9162  unsigned char __cil_tmp16 ;
 9163  int __cil_tmp17 ;
 9164
 9165  {
 9166  {
 9167#line 781
 9168  info[0] = (char *)"No sense";
 9169#line 781
 9170  info[1] = (char *)"Recovered error";
 9171#line 781
 9172  info[2] = (char *)"Not ready";
 9173#line 781
 9174  info[3] = (char *)"Medium error";
 9175#line 781
 9176  info[4] = (char *)"Hardware error";
 9177#line 781
 9178  info[5] = (char *)"Illegal request";
 9179#line 781
 9180  info[6] = (char *)"Unit attention";
 9181#line 781
 9182  info[7] = (char *)"Data protect";
 9183#line 781
 9184  info[8] = (char *)"Blank check";
 9185#line 785
 9186  sense = cgc->sense;
 9187#line 787
 9188  printk("pktcdvd:");
 9189#line 788
 9190  i = 0;
 9191  }
 9192#line 788
 9193  goto ldv_30779;
 9194  ldv_30778: 
 9195  {
 9196#line 789
 9197  __cil_tmp5 = cgc->cmd[i];
 9198#line 789
 9199  __cil_tmp6 = (int )__cil_tmp5;
 9200#line 789
 9201  printk(" %02x", __cil_tmp6);
 9202#line 788
 9203  i = i + 1;
 9204  }
 9205  ldv_30779: ;
 9206#line 788
 9207  if (i <= 11) {
 9208#line 789
 9209    goto ldv_30778;
 9210  } else {
 9211#line 791
 9212    goto ldv_30780;
 9213  }
 9214  ldv_30780: 
 9215  {
 9216#line 790
 9217  printk(" - ");
 9218  }
 9219  {
 9220#line 792
 9221  __cil_tmp7 = (struct request_sense *)0;
 9222#line 792
 9223  __cil_tmp8 = (unsigned long )__cil_tmp7;
 9224#line 792
 9225  __cil_tmp9 = (unsigned long )sense;
 9226#line 792
 9227  if (__cil_tmp9 == __cil_tmp8) {
 9228    {
 9229#line 793
 9230    printk("no sense\n");
 9231    }
 9232#line 794
 9233    return;
 9234  } else {
 9235
 9236  }
 9237  }
 9238  {
 9239#line 797
 9240  __cil_tmp10 = sense->sense_key;
 9241#line 797
 9242  __cil_tmp11 = (int )__cil_tmp10;
 9243#line 797
 9244  __cil_tmp12 = sense->asc;
 9245#line 797
 9246  __cil_tmp13 = (int )__cil_tmp12;
 9247#line 797
 9248  __cil_tmp14 = sense->ascq;
 9249#line 797
 9250  __cil_tmp15 = (int )__cil_tmp14;
 9251#line 797
 9252  printk("sense %02x.%02x.%02x", __cil_tmp11, __cil_tmp13, __cil_tmp15);
 9253  }
 9254  {
 9255#line 799
 9256  __cil_tmp16 = sense->sense_key;
 9257#line 799
 9258  __cil_tmp17 = (int )__cil_tmp16;
 9259#line 799
 9260  if (__cil_tmp17 > 8) {
 9261    {
 9262#line 800
 9263    printk(" (INVALID)\n");
 9264    }
 9265#line 801
 9266    return;
 9267  } else {
 9268
 9269  }
 9270  }
 9271  {
 9272#line 804
 9273  printk(" (%s)\n", info[(int )sense->sense_key]);
 9274  }
 9275#line 805
 9276  return;
 9277}
 9278}
 9279#line 810 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9280static int pkt_flush_cache(struct pktcdvd_device *pd ) 
 9281{ struct packet_command cgc ;
 9282  int tmp ;
 9283  void *__cil_tmp4 ;
 9284
 9285  {
 9286  {
 9287#line 814
 9288  __cil_tmp4 = (void *)0;
 9289#line 814
 9290  init_cdrom_command(& cgc, __cil_tmp4, 0, 3);
 9291#line 815
 9292  cgc.cmd[0] = (unsigned char)53;
 9293#line 816
 9294  cgc.quiet = 1;
 9295#line 825
 9296  tmp = pkt_generic_packet(pd, & cgc);
 9297  }
 9298#line 825
 9299  return (tmp);
 9300}
 9301}
 9302#line 831 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9303static int pkt_set_speed(struct pktcdvd_device *pd , unsigned int write_speed , unsigned int read_speed ) 
 9304{ struct packet_command cgc ;
 9305  struct request_sense sense ;
 9306  int ret ;
 9307  void *__cil_tmp7 ;
 9308  unsigned int __cil_tmp8 ;
 9309  unsigned int __cil_tmp9 ;
 9310
 9311  {
 9312  {
 9313#line 838
 9314  __cil_tmp7 = (void *)0;
 9315#line 838
 9316  init_cdrom_command(& cgc, __cil_tmp7, 0, 3);
 9317#line 839
 9318  cgc.sense = & sense;
 9319#line 840
 9320  cgc.cmd[0] = (unsigned char)187;
 9321#line 841
 9322  __cil_tmp8 = read_speed >> 8;
 9323#line 841
 9324  cgc.cmd[2] = (unsigned char )__cil_tmp8;
 9325#line 842
 9326  cgc.cmd[3] = (unsigned char )read_speed;
 9327#line 843
 9328  __cil_tmp9 = write_speed >> 8;
 9329#line 843
 9330  cgc.cmd[4] = (unsigned char )__cil_tmp9;
 9331#line 844
 9332  cgc.cmd[5] = (unsigned char )write_speed;
 9333#line 846
 9334  ret = pkt_generic_packet(pd, & cgc);
 9335  }
 9336#line 846
 9337  if (ret != 0) {
 9338    {
 9339#line 847
 9340    pkt_dump_sense(& cgc);
 9341    }
 9342  } else {
 9343
 9344  }
 9345#line 849
 9346  return (ret);
 9347}
 9348}
 9349#line 856 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9350static void pkt_queue_bio(struct pktcdvd_device *pd , struct bio *bio ) 
 9351{ spinlock_t *__cil_tmp3 ;
 9352  unsigned long __cil_tmp4 ;
 9353  unsigned long __cil_tmp5 ;
 9354  struct bio_list *__cil_tmp6 ;
 9355  struct bio_list *__cil_tmp7 ;
 9356  spinlock_t *__cil_tmp8 ;
 9357  atomic_t *__cil_tmp9 ;
 9358  wait_queue_head_t *__cil_tmp10 ;
 9359  void *__cil_tmp11 ;
 9360
 9361  {
 9362  {
 9363#line 858
 9364  __cil_tmp3 = & pd->iosched.lock;
 9365#line 858
 9366  spin_lock(__cil_tmp3);
 9367  }
 9368  {
 9369#line 859
 9370  __cil_tmp4 = bio->bi_rw;
 9371#line 859
 9372  __cil_tmp5 = __cil_tmp4 & 1UL;
 9373#line 859
 9374  if (__cil_tmp5 == 0UL) {
 9375    {
 9376#line 860
 9377    __cil_tmp6 = & pd->iosched.read_queue;
 9378#line 860
 9379    bio_list_add(__cil_tmp6, bio);
 9380    }
 9381  } else {
 9382    {
 9383#line 862
 9384    __cil_tmp7 = & pd->iosched.write_queue;
 9385#line 862
 9386    bio_list_add(__cil_tmp7, bio);
 9387    }
 9388  }
 9389  }
 9390  {
 9391#line 863
 9392  __cil_tmp8 = & pd->iosched.lock;
 9393#line 863
 9394  spin_unlock(__cil_tmp8);
 9395#line 865
 9396  __cil_tmp9 = & pd->iosched.attention;
 9397#line 865
 9398  atomic_set(__cil_tmp9, 1);
 9399#line 866
 9400  __cil_tmp10 = & pd->wqueue;
 9401#line 866
 9402  __cil_tmp11 = (void *)0;
 9403#line 866
 9404  __wake_up(__cil_tmp10, 3U, 1, __cil_tmp11);
 9405  }
 9406#line 867
 9407  return;
 9408}
 9409}
 9410#line 885 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9411static void pkt_iosched_process_queue(struct pktcdvd_device *pd ) 
 9412{ int tmp ;
 9413  struct bio *bio ;
 9414  int reads_queued ;
 9415  int writes_queued ;
 9416  int tmp___0 ;
 9417  int tmp___1 ;
 9418  int need_write_seek ;
 9419  int tmp___2 ;
 9420  int tmp___3 ;
 9421  atomic_t *__cil_tmp11 ;
 9422  atomic_t const   *__cil_tmp12 ;
 9423  atomic_t *__cil_tmp13 ;
 9424  spinlock_t *__cil_tmp14 ;
 9425  struct bio_list *__cil_tmp15 ;
 9426  struct bio_list  const  *__cil_tmp16 ;
 9427  struct bio_list *__cil_tmp17 ;
 9428  struct bio_list  const  *__cil_tmp18 ;
 9429  spinlock_t *__cil_tmp19 ;
 9430  int __cil_tmp20 ;
 9431  spinlock_t *__cil_tmp21 ;
 9432  struct bio_list *__cil_tmp22 ;
 9433  spinlock_t *__cil_tmp23 ;
 9434  struct bio *__cil_tmp24 ;
 9435  unsigned long __cil_tmp25 ;
 9436  unsigned long __cil_tmp26 ;
 9437  sector_t __cil_tmp27 ;
 9438  sector_t __cil_tmp28 ;
 9439  atomic_t *__cil_tmp29 ;
 9440  atomic_t const   *__cil_tmp30 ;
 9441  atomic_t *__cil_tmp31 ;
 9442  atomic_t const   *__cil_tmp32 ;
 9443  spinlock_t *__cil_tmp33 ;
 9444  int __cil_tmp34 ;
 9445  struct bio_list *__cil_tmp35 ;
 9446  struct bio_list *__cil_tmp36 ;
 9447  spinlock_t *__cil_tmp37 ;
 9448  struct bio *__cil_tmp38 ;
 9449  unsigned long __cil_tmp39 ;
 9450  unsigned long __cil_tmp40 ;
 9451  unsigned long __cil_tmp41 ;
 9452  unsigned long __cil_tmp42 ;
 9453  unsigned int __cil_tmp43 ;
 9454  unsigned int __cil_tmp44 ;
 9455  int __cil_tmp45 ;
 9456  unsigned int __cil_tmp46 ;
 9457  unsigned int __cil_tmp47 ;
 9458  unsigned int __cil_tmp48 ;
 9459  unsigned int __cil_tmp49 ;
 9460  sector_t __cil_tmp50 ;
 9461  sector_t __cil_tmp51 ;
 9462  int __cil_tmp52 ;
 9463  int __cil_tmp53 ;
 9464  int __cil_tmp54 ;
 9465  int __cil_tmp55 ;
 9466  unsigned int __cil_tmp56 ;
 9467  int __cil_tmp57 ;
 9468  unsigned int __cil_tmp58 ;
 9469  int __cil_tmp59 ;
 9470  int __cil_tmp60 ;
 9471  int __cil_tmp61 ;
 9472  unsigned int __cil_tmp62 ;
 9473  int __cil_tmp63 ;
 9474  unsigned int __cil_tmp64 ;
 9475  atomic_t *__cil_tmp65 ;
 9476
 9477  {
 9478  {
 9479#line 888
 9480  __cil_tmp11 = & pd->iosched.attention;
 9481#line 888
 9482  __cil_tmp12 = (atomic_t const   *)__cil_tmp11;
 9483#line 888
 9484  tmp = atomic_read(__cil_tmp12);
 9485  }
 9486#line 888
 9487  if (tmp == 0) {
 9488#line 889
 9489    return;
 9490  } else {
 9491
 9492  }
 9493  {
 9494#line 890
 9495  __cil_tmp13 = & pd->iosched.attention;
 9496#line 890
 9497  atomic_set(__cil_tmp13, 0);
 9498  }
 9499  ldv_30806: 
 9500  {
 9501#line 896
 9502  __cil_tmp14 = & pd->iosched.lock;
 9503#line 896
 9504  spin_lock(__cil_tmp14);
 9505#line 897
 9506  __cil_tmp15 = & pd->iosched.read_queue;
 9507#line 897
 9508  __cil_tmp16 = (struct bio_list  const  *)__cil_tmp15;
 9509#line 897
 9510  tmp___0 = bio_list_empty(__cil_tmp16);
 9511#line 897
 9512  reads_queued = tmp___0 == 0;
 9513#line 898
 9514  __cil_tmp17 = & pd->iosched.write_queue;
 9515#line 898
 9516  __cil_tmp18 = (struct bio_list  const  *)__cil_tmp17;
 9517#line 898
 9518  tmp___1 = bio_list_empty(__cil_tmp18);
 9519#line 898
 9520  writes_queued = tmp___1 == 0;
 9521#line 899
 9522  __cil_tmp19 = & pd->iosched.lock;
 9523#line 899
 9524  spin_unlock(__cil_tmp19);
 9525  }
 9526#line 901
 9527  if (reads_queued == 0) {
 9528#line 901
 9529    if (writes_queued == 0) {
 9530#line 902
 9531      goto ldv_30803;
 9532    } else {
 9533
 9534    }
 9535  } else {
 9536
 9537  }
 9538  {
 9539#line 904
 9540  __cil_tmp20 = pd->iosched.writing;
 9541#line 904
 9542  if (__cil_tmp20 != 0) {
 9543    {
 9544#line 905
 9545    need_write_seek = 1;
 9546#line 906
 9547    __cil_tmp21 = & pd->iosched.lock;
 9548#line 906
 9549    spin_lock(__cil_tmp21);
 9550#line 907
 9551    __cil_tmp22 = & pd->iosched.write_queue;
 9552#line 907
 9553    bio = bio_list_peek(__cil_tmp22);
 9554#line 908
 9555    __cil_tmp23 = & pd->iosched.lock;
 9556#line 908
 9557    spin_unlock(__cil_tmp23);
 9558    }
 9559    {
 9560#line 909
 9561    __cil_tmp24 = (struct bio *)0;
 9562#line 909
 9563    __cil_tmp25 = (unsigned long )__cil_tmp24;
 9564#line 909
 9565    __cil_tmp26 = (unsigned long )bio;
 9566#line 909
 9567    if (__cil_tmp26 != __cil_tmp25) {
 9568      {
 9569#line 909
 9570      __cil_tmp27 = pd->iosched.last_write;
 9571#line 909
 9572      __cil_tmp28 = bio->bi_sector;
 9573#line 909
 9574      if (__cil_tmp28 == __cil_tmp27) {
 9575#line 910
 9576        need_write_seek = 0;
 9577      } else {
 9578
 9579      }
 9580      }
 9581    } else {
 9582
 9583    }
 9584    }
 9585#line 911
 9586    if (need_write_seek != 0) {
 9587#line 911
 9588      if (reads_queued != 0) {
 9589        {
 9590#line 912
 9591        __cil_tmp29 = & pd->cdrw.pending_bios;
 9592#line 912
 9593        __cil_tmp30 = (atomic_t const   *)__cil_tmp29;
 9594#line 912
 9595        tmp___2 = atomic_read(__cil_tmp30);
 9596        }
 9597#line 912
 9598        if (tmp___2 > 0) {
 9599#line 914
 9600          goto ldv_30803;
 9601        } else {
 9602
 9603        }
 9604        {
 9605#line 916
 9606        pkt_flush_cache(pd);
 9607#line 917
 9608        pd->iosched.writing = 0;
 9609        }
 9610      } else {
 9611
 9612      }
 9613    } else {
 9614
 9615    }
 9616  } else
 9617#line 920
 9618  if (reads_queued == 0) {
 9619#line 920
 9620    if (writes_queued != 0) {
 9621      {
 9622#line 921
 9623      __cil_tmp31 = & pd->cdrw.pending_bios;
 9624#line 921
 9625      __cil_tmp32 = (atomic_t const   *)__cil_tmp31;
 9626#line 921
 9627      tmp___3 = atomic_read(__cil_tmp32);
 9628      }
 9629#line 921
 9630      if (tmp___3 > 0) {
 9631#line 923
 9632        goto ldv_30803;
 9633      } else {
 9634
 9635      }
 9636#line 925
 9637      pd->iosched.writing = 1;
 9638    } else {
 9639
 9640    }
 9641  } else {
 9642
 9643  }
 9644  }
 9645  {
 9646#line 929
 9647  __cil_tmp33 = & pd->iosched.lock;
 9648#line 929
 9649  spin_lock(__cil_tmp33);
 9650  }
 9651  {
 9652#line 930
 9653  __cil_tmp34 = pd->iosched.writing;
 9654#line 930
 9655  if (__cil_tmp34 != 0) {
 9656    {
 9657#line 931
 9658    __cil_tmp35 = & pd->iosched.write_queue;
 9659#line 931
 9660    bio = bio_list_pop(__cil_tmp35);
 9661    }
 9662  } else {
 9663    {
 9664#line 933
 9665    __cil_tmp36 = & pd->iosched.read_queue;
 9666#line 933
 9667    bio = bio_list_pop(__cil_tmp36);
 9668    }
 9669  }
 9670  }
 9671  {
 9672#line 934
 9673  __cil_tmp37 = & pd->iosched.lock;
 9674#line 934
 9675  spin_unlock(__cil_tmp37);
 9676  }
 9677  {
 9678#line 936
 9679  __cil_tmp38 = (struct bio *)0;
 9680#line 936
 9681  __cil_tmp39 = (unsigned long )__cil_tmp38;
 9682#line 936
 9683  __cil_tmp40 = (unsigned long )bio;
 9684#line 936
 9685  if (__cil_tmp40 == __cil_tmp39) {
 9686#line 937
 9687    goto ldv_30805;
 9688  } else {
 9689
 9690  }
 9691  }
 9692  {
 9693#line 939
 9694  __cil_tmp41 = bio->bi_rw;
 9695#line 939
 9696  __cil_tmp42 = __cil_tmp41 & 1UL;
 9697#line 939
 9698  if (__cil_tmp42 == 0UL) {
 9699#line 940
 9700    __cil_tmp43 = bio->bi_size;
 9701#line 940
 9702    __cil_tmp44 = __cil_tmp43 >> 10;
 9703#line 940
 9704    __cil_tmp45 = pd->iosched.successive_reads;
 9705#line 940
 9706    __cil_tmp46 = (unsigned int )__cil_tmp45;
 9707#line 940
 9708    __cil_tmp47 = __cil_tmp46 + __cil_tmp44;
 9709#line 940
 9710    pd->iosched.successive_reads = (int )__cil_tmp47;
 9711  } else {
 9712#line 942
 9713    pd->iosched.successive_reads = 0;
 9714#line 943
 9715    __cil_tmp48 = bio->bi_size;
 9716#line 943
 9717    __cil_tmp49 = __cil_tmp48 >> 9;
 9718#line 943
 9719    __cil_tmp50 = (sector_t )__cil_tmp49;
 9720#line 943
 9721    __cil_tmp51 = bio->bi_sector;
 9722#line 943
 9723    pd->iosched.last_write = __cil_tmp51 + __cil_tmp50;
 9724  }
 9725  }
 9726  {
 9727#line 945
 9728  __cil_tmp52 = pd->iosched.successive_reads;
 9729#line 945
 9730  if (__cil_tmp52 > 511) {
 9731    {
 9732#line 946
 9733    __cil_tmp53 = pd->write_speed;
 9734#line 946
 9735    __cil_tmp54 = pd->read_speed;
 9736#line 946
 9737    if (__cil_tmp54 == __cil_tmp53) {
 9738      {
 9739#line 947
 9740      pd->read_speed = 65535;
 9741#line 948
 9742      __cil_tmp55 = pd->write_speed;
 9743#line 948
 9744      __cil_tmp56 = (unsigned int )__cil_tmp55;
 9745#line 948
 9746      __cil_tmp57 = pd->read_speed;
 9747#line 948
 9748      __cil_tmp58 = (unsigned int )__cil_tmp57;
 9749#line 948
 9750      pkt_set_speed(pd, __cil_tmp56, __cil_tmp58);
 9751      }
 9752    } else {
 9753      {
 9754#line 951
 9755      __cil_tmp59 = pd->write_speed;
 9756#line 951
 9757      __cil_tmp60 = pd->read_speed;
 9758#line 951
 9759      if (__cil_tmp60 != __cil_tmp59) {
 9760        {
 9761#line 952
 9762        pd->read_speed = pd->write_speed;
 9763#line 953
 9764        __cil_tmp61 = pd->write_speed;
 9765#line 953
 9766        __cil_tmp62 = (unsigned int )__cil_tmp61;
 9767#line 953
 9768        __cil_tmp63 = pd->read_speed;
 9769#line 953
 9770        __cil_tmp64 = (unsigned int )__cil_tmp63;
 9771#line 953
 9772        pkt_set_speed(pd, __cil_tmp62, __cil_tmp64);
 9773        }
 9774      } else {
 9775
 9776      }
 9777      }
 9778    }
 9779    }
 9780  } else {
 9781
 9782  }
 9783  }
 9784  {
 9785#line 957
 9786  __cil_tmp65 = & pd->cdrw.pending_bios;
 9787#line 957
 9788  atomic_inc(__cil_tmp65);
 9789#line 958
 9790  generic_make_request(bio);
 9791  }
 9792  ldv_30805: ;
 9793#line 959
 9794  goto ldv_30806;
 9795  ldv_30803: ;
 9796#line 961
 9797  return;
 9798}
 9799}
 9800#line 966 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9801static int pkt_set_segment_merging(struct pktcdvd_device *pd , struct request_queue *q ) 
 9802{ unsigned short tmp ;
 9803  unsigned short tmp___0 ;
 9804  __u32 __cil_tmp5 ;
 9805  __u32 __cil_tmp6 ;
 9806  __u32 __cil_tmp7 ;
 9807  __u32 __cil_tmp8 ;
 9808  unsigned long *__cil_tmp9 ;
 9809  unsigned long volatile   *__cil_tmp10 ;
 9810  unsigned int __cil_tmp11 ;
 9811  __u32 __cil_tmp12 ;
 9812  __u32 __cil_tmp13 ;
 9813  __u32 __cil_tmp14 ;
 9814  unsigned long *__cil_tmp15 ;
 9815  unsigned long volatile   *__cil_tmp16 ;
 9816
 9817  {
 9818  {
 9819#line 968
 9820  tmp___0 = queue_max_segments(q);
 9821  }
 9822  {
 9823#line 968
 9824  __cil_tmp5 = (__u32 )tmp___0;
 9825#line 968
 9826  __cil_tmp6 = pd->settings.size;
 9827#line 968
 9828  __cil_tmp7 = __cil_tmp6 << 9;
 9829#line 968
 9830  __cil_tmp8 = __cil_tmp7 / 2048U;
 9831#line 968
 9832  if (__cil_tmp8 <= __cil_tmp5) {
 9833    {
 9834#line 973
 9835    __cil_tmp9 = & pd->flags;
 9836#line 973
 9837    __cil_tmp10 = (unsigned long volatile   *)__cil_tmp9;
 9838#line 973
 9839    clear_bit(4, __cil_tmp10);
 9840    }
 9841#line 974
 9842    return (0);
 9843  } else {
 9844    {
 9845#line 975
 9846    tmp = queue_max_segments(q);
 9847    }
 9848    {
 9849#line 975
 9850    __cil_tmp11 = (unsigned int )tmp;
 9851#line 975
 9852    __cil_tmp12 = pd->settings.size;
 9853#line 975
 9854    __cil_tmp13 = __cil_tmp12 << 9;
 9855#line 975
 9856    __cil_tmp14 = __cil_tmp13 / 4096U;
 9857#line 975
 9858    if (__cil_tmp14 <= __cil_tmp11) {
 9859      {
 9860#line 981
 9861      __cil_tmp15 = & pd->flags;
 9862#line 981
 9863      __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
 9864#line 981
 9865      set_bit(4U, __cil_tmp16);
 9866      }
 9867#line 982
 9868      return (0);
 9869    } else {
 9870      {
 9871#line 984
 9872      printk("pktcdvd: cdrom max_phys_segments too small\n");
 9873      }
 9874#line 985
 9875      return (-5);
 9876    }
 9877    }
 9878  }
 9879  }
 9880}
 9881}
 9882#line 992 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
 9883static void pkt_copy_bio_data(struct bio *src_bio , int seg , int offs , struct page *dst_page ,
 9884                              int dst_offs ) 
 9885{ unsigned int copy_size ;
 9886  struct bio_vec *src_bvl ;
 9887  void *vfrom ;
 9888  void *tmp ;
 9889  void *vto ;
 9890  void *tmp___0 ;
 9891  int len ;
 9892  int __min1 ;
 9893  int __min2 ;
 9894  int tmp___1 ;
 9895  long tmp___2 ;
 9896  size_t __len ;
 9897  void *__ret ;
 9898  unsigned long __cil_tmp19 ;
 9899  struct bio_vec *__cil_tmp20 ;
 9900  struct page *__cil_tmp21 ;
 9901  unsigned long __cil_tmp22 ;
 9902  unsigned int __cil_tmp23 ;
 9903  unsigned long __cil_tmp24 ;
 9904  unsigned long __cil_tmp25 ;
 9905  unsigned long __cil_tmp26 ;
 9906  unsigned int __cil_tmp27 ;
 9907  unsigned int __cil_tmp28 ;
 9908  unsigned int __cil_tmp29 ;
 9909  int __cil_tmp30 ;
 9910  long __cil_tmp31 ;
 9911  void const   *__cil_tmp32 ;
 9912  unsigned int __cil_tmp33 ;
 9913
 9914  {
 9915#line 994
 9916  copy_size = 2048U;
 9917#line 996
 9918  goto ldv_30831;
 9919  ldv_30830: 
 9920  {
 9921#line 997
 9922  __cil_tmp19 = (unsigned long )seg;
 9923#line 997
 9924  __cil_tmp20 = src_bio->bi_io_vec;
 9925#line 997
 9926  src_bvl = __cil_tmp20 + __cil_tmp19;
 9927#line 998
 9928  __cil_tmp21 = src_bvl->bv_page;
 9929#line 998
 9930  tmp = __kmap_atomic(__cil_tmp21);
 9931#line 998
 9932  __cil_tmp22 = (unsigned long )offs;
 9933#line 998
 9934  __cil_tmp23 = src_bvl->bv_offset;
 9935#line 998
 9936  __cil_tmp24 = (unsigned long )__cil_tmp23;
 9937#line 998
 9938  __cil_tmp25 = __cil_tmp24 + __cil_tmp22;
 9939#line 998
 9940  vfrom = tmp + __cil_tmp25;
 9941#line 1000
 9942  tmp___0 = lowmem_page_address(dst_page);
 9943#line 1000
 9944  __cil_tmp26 = (unsigned long )dst_offs;
 9945#line 1000
 9946  vto = tmp___0 + __cil_tmp26;
 9947#line 1001
 9948  __min1 = (int )copy_size;
 9949#line 1001
 9950  __cil_tmp27 = (unsigned int )offs;
 9951#line 1001
 9952  __cil_tmp28 = src_bvl->bv_len;
 9953#line 1001
 9954  __cil_tmp29 = __cil_tmp28 - __cil_tmp27;
 9955#line 1001
 9956  __min2 = (int )__cil_tmp29;
 9957  }
 9958#line 1001
 9959  if (__min1 < __min2) {
 9960#line 1001
 9961    tmp___1 = __min1;
 9962  } else {
 9963#line 1001
 9964    tmp___1 = __min2;
 9965  }
 9966  {
 9967#line 1001
 9968  len = tmp___1;
 9969#line 1003
 9970  __cil_tmp30 = len < 0;
 9971#line 1003
 9972  __cil_tmp31 = (long )__cil_tmp30;
 9973#line 1003
 9974  tmp___2 = __builtin_expect(__cil_tmp31, 0L);
 9975  }
 9976#line 1003
 9977  if (tmp___2 != 0L) {
 9978#line 1003
 9979    __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/pktcdvd.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/pktcdvd.c.p"),
 9980                         "i" (1003), "i" (12UL));
 9981    ldv_30826: ;
 9982#line 1003
 9983    goto ldv_30826;
 9984  } else {
 9985
 9986  }
 9987  {
 9988#line 1004
 9989  __len = (size_t )len;
 9990#line 1004
 9991  __cil_tmp32 = (void const   *)vfrom;
 9992#line 1004
 9993  __ret = __builtin_memcpy(vto, __cil_tmp32, __len);
 9994#line 1005
 9995  __kunmap_atomic(vfrom);
 9996#line 1007
 9997  seg = seg + 1;
 9998#line 1008
 9999  offs = 0;
10000#line 1009
10001  dst_offs = dst_offs + len;
10002#line 1010
10003  __cil_tmp33 = (unsigned int )len;
10004#line 1010
10005  copy_size = copy_size - __cil_tmp33;
10006  }
10007  ldv_30831: ;
10008#line 996
10009  if (copy_size != 0U) {
10010#line 997
10011    goto ldv_30830;
10012  } else {
10013#line 999
10014    goto ldv_30832;
10015  }
10016  ldv_30832: ;
10017#line 1001
10018  return;
10019}
10020}
10021#line 1021 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10022static void pkt_make_local_copy(struct packet_data *pkt , struct bio_vec *bvec ) 
10023{ int f ;
10024  int p ;
10025  int offs ;
10026  void *vfrom ;
10027  void *tmp ;
10028  void *vto ;
10029  void *tmp___0 ;
10030  size_t __len ;
10031  void *__ret ;
10032  long tmp___1 ;
10033  struct page *__cil_tmp13 ;
10034  unsigned long __cil_tmp14 ;
10035  unsigned long __cil_tmp15 ;
10036  struct bio_vec *__cil_tmp16 ;
10037  struct page *__cil_tmp17 ;
10038  unsigned long __cil_tmp18 ;
10039  unsigned long __cil_tmp19 ;
10040  struct bio_vec *__cil_tmp20 ;
10041  struct page *__cil_tmp21 ;
10042  unsigned long __cil_tmp22 ;
10043  struct bio_vec *__cil_tmp23 ;
10044  unsigned int __cil_tmp24 ;
10045  unsigned long __cil_tmp25 ;
10046  struct page *__cil_tmp26 ;
10047  unsigned long __cil_tmp27 ;
10048  void const   *__cil_tmp28 ;
10049  void const   *__cil_tmp29 ;
10050  unsigned long __cil_tmp30 ;
10051  struct bio_vec *__cil_tmp31 ;
10052  unsigned long __cil_tmp32 ;
10053  struct bio_vec *__cil_tmp33 ;
10054  unsigned int __cil_tmp34 ;
10055  unsigned long __cil_tmp35 ;
10056  struct bio_vec *__cil_tmp36 ;
10057  unsigned int __cil_tmp37 ;
10058  int __cil_tmp38 ;
10059  long __cil_tmp39 ;
10060  unsigned int __cil_tmp40 ;
10061  int __cil_tmp41 ;
10062
10063  {
10064#line 1026
10065  p = 0;
10066#line 1027
10067  offs = 0;
10068#line 1028
10069  f = 0;
10070#line 1028
10071  goto ldv_30847;
10072  ldv_30846: ;
10073  {
10074#line 1029
10075  __cil_tmp13 = pkt->pages[p];
10076#line 1029
10077  __cil_tmp14 = (unsigned long )__cil_tmp13;
10078#line 1029
10079  __cil_tmp15 = (unsigned long )f;
10080#line 1029
10081  __cil_tmp16 = bvec + __cil_tmp15;
10082#line 1029
10083  __cil_tmp17 = __cil_tmp16->bv_page;
10084#line 1029
10085  __cil_tmp18 = (unsigned long )__cil_tmp17;
10086#line 1029
10087  if (__cil_tmp18 != __cil_tmp14) {
10088    {
10089#line 1030
10090    __cil_tmp19 = (unsigned long )f;
10091#line 1030
10092    __cil_tmp20 = bvec + __cil_tmp19;
10093#line 1030
10094    __cil_tmp21 = __cil_tmp20->bv_page;
10095#line 1030
10096    tmp = __kmap_atomic(__cil_tmp21);
10097#line 1030
10098    __cil_tmp22 = (unsigned long )f;
10099#line 1030
10100    __cil_tmp23 = bvec + __cil_tmp22;
10101#line 1030
10102    __cil_tmp24 = __cil_tmp23->bv_offset;
10103#line 1030
10104    __cil_tmp25 = (unsigned long )__cil_tmp24;
10105#line 1030
10106    vfrom = tmp + __cil_tmp25;
10107#line 1031
10108    __cil_tmp26 = pkt->pages[p];
10109#line 1031
10110    tmp___0 = lowmem_page_address(__cil_tmp26);
10111#line 1031
10112    __cil_tmp27 = (unsigned long )offs;
10113#line 1031
10114    vto = tmp___0 + __cil_tmp27;
10115#line 1032
10116    __len = 2048UL;
10117    }
10118#line 1032
10119    if (__len > 63UL) {
10120      {
10121#line 1032
10122      __cil_tmp28 = (void const   *)vfrom;
10123#line 1032
10124      __ret = __memcpy(vto, __cil_tmp28, __len);
10125      }
10126    } else {
10127      {
10128#line 1032
10129      __cil_tmp29 = (void const   *)vfrom;
10130#line 1032
10131      __ret = __builtin_memcpy(vto, __cil_tmp29, __len);
10132      }
10133    }
10134    {
10135#line 1033
10136    __kunmap_atomic(vfrom);
10137#line 1034
10138    __cil_tmp30 = (unsigned long )f;
10139#line 1034
10140    __cil_tmp31 = bvec + __cil_tmp30;
10141#line 1034
10142    __cil_tmp31->bv_page = pkt->pages[p];
10143#line 1035
10144    __cil_tmp32 = (unsigned long )f;
10145#line 1035
10146    __cil_tmp33 = bvec + __cil_tmp32;
10147#line 1035
10148    __cil_tmp33->bv_offset = (unsigned int )offs;
10149    }
10150  } else {
10151    {
10152#line 1037
10153    __cil_tmp34 = (unsigned int )offs;
10154#line 1037
10155    __cil_tmp35 = (unsigned long )f;
10156#line 1037
10157    __cil_tmp36 = bvec + __cil_tmp35;
10158#line 1037
10159    __cil_tmp37 = __cil_tmp36->bv_offset;
10160#line 1037
10161    __cil_tmp38 = __cil_tmp37 != __cil_tmp34;
10162#line 1037
10163    __cil_tmp39 = (long )__cil_tmp38;
10164#line 1037
10165    tmp___1 = __builtin_expect(__cil_tmp39, 0L);
10166    }
10167#line 1037
10168    if (tmp___1 != 0L) {
10169#line 1037
10170      __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/pktcdvd.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/pktcdvd.c.p"),
10171                           "i" (1037), "i" (12UL));
10172      ldv_30845: ;
10173#line 1037
10174      goto ldv_30845;
10175    } else {
10176
10177    }
10178  }
10179  }
10180#line 1039
10181  offs = offs + 2048;
10182  {
10183#line 1040
10184  __cil_tmp40 = (unsigned int )offs;
10185#line 1040
10186  if (__cil_tmp40 > 4095U) {
10187#line 1041
10188    offs = 0;
10189#line 1042
10190    p = p + 1;
10191  } else {
10192
10193  }
10194  }
10195#line 1028
10196  f = f + 1;
10197  ldv_30847: ;
10198  {
10199#line 1028
10200  __cil_tmp41 = pkt->frames;
10201#line 1028
10202  if (__cil_tmp41 > f) {
10203#line 1029
10204    goto ldv_30846;
10205  } else {
10206#line 1031
10207    goto ldv_30848;
10208  }
10209  }
10210  ldv_30848: ;
10211#line 1033
10212  return;
10213}
10214}
10215#line 1047 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10216static void pkt_end_io_read(struct bio *bio , int err ) 
10217{ struct packet_data *pkt ;
10218  struct pktcdvd_device *pd ;
10219  long tmp ;
10220  int tmp___0 ;
10221  void *__cil_tmp7 ;
10222  struct pktcdvd_device *__cil_tmp8 ;
10223  unsigned long __cil_tmp9 ;
10224  unsigned long __cil_tmp10 ;
10225  int __cil_tmp11 ;
10226  long __cil_tmp12 ;
10227  atomic_t *__cil_tmp13 ;
10228  atomic_t *__cil_tmp14 ;
10229  atomic_t *__cil_tmp15 ;
10230  wait_queue_head_t *__cil_tmp16 ;
10231  void *__cil_tmp17 ;
10232
10233  {
10234  {
10235#line 1049
10236  __cil_tmp7 = bio->bi_private;
10237#line 1049
10238  pkt = (struct packet_data *)__cil_tmp7;
10239#line 1050
10240  pd = pkt->pd;
10241#line 1051
10242  __cil_tmp8 = (struct pktcdvd_device *)0;
10243#line 1051
10244  __cil_tmp9 = (unsigned long )__cil_tmp8;
10245#line 1051
10246  __cil_tmp10 = (unsigned long )pd;
10247#line 1051
10248  __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
10249#line 1051
10250  __cil_tmp12 = (long )__cil_tmp11;
10251#line 1051
10252  tmp = __builtin_expect(__cil_tmp12, 0L);
10253  }
10254#line 1051
10255  if (tmp != 0L) {
10256#line 1051
10257    __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/pktcdvd.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/pktcdvd.c.p"),
10258                         "i" (1051), "i" (12UL));
10259    ldv_30855: ;
10260#line 1051
10261    goto ldv_30855;
10262  } else {
10263
10264  }
10265#line 1056
10266  if (err != 0) {
10267    {
10268#line 1057
10269    __cil_tmp13 = & pkt->io_errors;
10270#line 1057
10271    atomic_inc(__cil_tmp13);
10272    }
10273  } else {
10274
10275  }
10276  {
10277#line 1058
10278  __cil_tmp14 = & pkt->io_wait;
10279#line 1058
10280  tmp___0 = atomic_dec_and_test(__cil_tmp14);
10281  }
10282#line 1058
10283  if (tmp___0 != 0) {
10284    {
10285#line 1059
10286    __cil_tmp15 = & pkt->run_sm;
10287#line 1059
10288    atomic_inc(__cil_tmp15);
10289#line 1060
10290    __cil_tmp16 = & pd->wqueue;
10291#line 1060
10292    __cil_tmp17 = (void *)0;
10293#line 1060
10294    __wake_up(__cil_tmp16, 3U, 1, __cil_tmp17);
10295    }
10296  } else {
10297
10298  }
10299  {
10300#line 1062
10301  pkt_bio_finished(pd);
10302  }
10303#line 1063
10304  return;
10305}
10306}
10307#line 1065 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10308static void pkt_end_io_packet_write(struct bio *bio , int err ) 
10309{ struct packet_data *pkt ;
10310  struct pktcdvd_device *pd ;
10311  long tmp ;
10312  void *__cil_tmp6 ;
10313  struct pktcdvd_device *__cil_tmp7 ;
10314  unsigned long __cil_tmp8 ;
10315  unsigned long __cil_tmp9 ;
10316  int __cil_tmp10 ;
10317  long __cil_tmp11 ;
10318  unsigned long __cil_tmp12 ;
10319  atomic_t *__cil_tmp13 ;
10320  atomic_t *__cil_tmp14 ;
10321  wait_queue_head_t *__cil_tmp15 ;
10322  void *__cil_tmp16 ;
10323
10324  {
10325  {
10326#line 1067
10327  __cil_tmp6 = bio->bi_private;
10328#line 1067
10329  pkt = (struct packet_data *)__cil_tmp6;
10330#line 1068
10331  pd = pkt->pd;
10332#line 1069
10333  __cil_tmp7 = (struct pktcdvd_device *)0;
10334#line 1069
10335  __cil_tmp8 = (unsigned long )__cil_tmp7;
10336#line 1069
10337  __cil_tmp9 = (unsigned long )pd;
10338#line 1069
10339  __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
10340#line 1069
10341  __cil_tmp11 = (long )__cil_tmp10;
10342#line 1069
10343  tmp = __builtin_expect(__cil_tmp11, 0L);
10344  }
10345#line 1069
10346  if (tmp != 0L) {
10347#line 1069
10348    __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/pktcdvd.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/pktcdvd.c.p"),
10349                         "i" (1069), "i" (12UL));
10350    ldv_30862: ;
10351#line 1069
10352    goto ldv_30862;
10353  } else {
10354
10355  }
10356  {
10357#line 1073
10358  __cil_tmp12 = pd->stats.pkt_ended;
10359#line 1073
10360  pd->stats.pkt_ended = __cil_tmp12 + 1UL;
10361#line 1075
10362  pkt_bio_finished(pd);
10363#line 1076
10364  __cil_tmp13 = & pkt->io_wait;
10365#line 1076
10366  atomic_dec(__cil_tmp13);
10367#line 1077
10368  __cil_tmp14 = & pkt->run_sm;
10369#line 1077
10370  atomic_inc(__cil_tmp14);
10371#line 1078
10372  __cil_tmp15 = & pd->wqueue;
10373#line 1078
10374  __cil_tmp16 = (void *)0;
10375#line 1078
10376  __wake_up(__cil_tmp15, 3U, 1, __cil_tmp16);
10377  }
10378#line 1079
10379  return;
10380}
10381}
10382#line 1084 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10383static void pkt_gather_data(struct pktcdvd_device *pd , struct packet_data *pkt ) 
10384{ int frames_read ;
10385  struct bio *bio ;
10386  int f ;
10387  char written[128U] ;
10388  int tmp ;
10389  long tmp___0 ;
10390  int first_frame ;
10391  int num_frames ;
10392  long tmp___1 ;
10393  long tmp___2 ;
10394  struct bio_vec *vec ;
10395  int p ;
10396  int offset ;
10397  int tmp___3 ;
10398  struct bio_list *__cil_tmp17 ;
10399  struct bio_list  const  *__cil_tmp18 ;
10400  int __cil_tmp19 ;
10401  long __cil_tmp20 ;
10402  atomic_t *__cil_tmp21 ;
10403  atomic_t *__cil_tmp22 ;
10404  void *__cil_tmp23 ;
10405  spinlock_t *__cil_tmp24 ;
10406  sector_t __cil_tmp25 ;
10407  sector_t __cil_tmp26 ;
10408  sector_t __cil_tmp27 ;
10409  sector_t __cil_tmp28 ;
10410  unsigned int __cil_tmp29 ;
10411  unsigned int __cil_tmp30 ;
10412  int __cil_tmp31 ;
10413  unsigned long __cil_tmp32 ;
10414  unsigned long __cil_tmp33 ;
10415  int __cil_tmp34 ;
10416  long __cil_tmp35 ;
10417  int __cil_tmp36 ;
10418  int __cil_tmp37 ;
10419  int __cil_tmp38 ;
10420  long __cil_tmp39 ;
10421  int __cil_tmp40 ;
10422  struct bio *__cil_tmp41 ;
10423  unsigned long __cil_tmp42 ;
10424  unsigned long __cil_tmp43 ;
10425  spinlock_t *__cil_tmp44 ;
10426  int __cil_tmp45 ;
10427  signed char __cil_tmp46 ;
10428  int __cil_tmp47 ;
10429  int __cil_tmp48 ;
10430  sector_t __cil_tmp49 ;
10431  sector_t __cil_tmp50 ;
10432  int __cil_tmp51 ;
10433  unsigned long __cil_tmp52 ;
10434  unsigned long __cil_tmp53 ;
10435  int __cil_tmp54 ;
10436  struct page *__cil_tmp55 ;
10437  unsigned int __cil_tmp56 ;
10438  atomic_t *__cil_tmp57 ;
10439  int __cil_tmp58 ;
10440  unsigned long __cil_tmp59 ;
10441  int __cil_tmp60 ;
10442  unsigned long __cil_tmp61 ;
10443  unsigned long __cil_tmp62 ;
10444
10445  {
10446  {
10447#line 1086
10448  frames_read = 0;
10449#line 1091
10450  __cil_tmp17 = & pkt->orig_bios;
10451#line 1091
10452  __cil_tmp18 = (struct bio_list  const  *)__cil_tmp17;
10453#line 1091
10454  tmp = bio_list_empty(__cil_tmp18);
10455#line 1091
10456  __cil_tmp19 = tmp != 0;
10457#line 1091
10458  __cil_tmp20 = (long )__cil_tmp19;
10459#line 1091
10460  tmp___0 = __builtin_expect(__cil_tmp20, 0L);
10461  }
10462#line 1091
10463  if (tmp___0 != 0L) {
10464#line 1091
10465    __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/pktcdvd.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/pktcdvd.c.p"),
10466                         "i" (1091), "i" (12UL));
10467    ldv_30871: ;
10468#line 1091
10469    goto ldv_30871;
10470  } else {
10471
10472  }
10473  {
10474#line 1093
10475  __cil_tmp21 = & pkt->io_wait;
10476#line 1093
10477  atomic_set(__cil_tmp21, 0);
10478#line 1094
10479  __cil_tmp22 = & pkt->io_errors;
10480#line 1094
10481  atomic_set(__cil_tmp22, 0);
10482#line 1099
10483  __cil_tmp23 = (void *)(& written);
10484#line 1099
10485  memset(__cil_tmp23, 0, 128UL);
10486#line 1100
10487  __cil_tmp24 = & pkt->lock;
10488#line 1100
10489  spin_lock(__cil_tmp24);
10490#line 1101
10491  bio = pkt->orig_bios.head;
10492  }
10493#line 1101
10494  goto ldv_30880;
10495  ldv_30879: 
10496  {
10497#line 1102
10498  __cil_tmp25 = pkt->sector;
10499#line 1102
10500  __cil_tmp26 = bio->bi_sector;
10501#line 1102
10502  __cil_tmp27 = __cil_tmp26 - __cil_tmp25;
10503#line 1102
10504  __cil_tmp28 = __cil_tmp27 / 4UL;
10505#line 1102
10506  first_frame = (int )__cil_tmp28;
10507#line 1103
10508  __cil_tmp29 = bio->bi_size;
10509#line 1103
10510  __cil_tmp30 = __cil_tmp29 / 2048U;
10511#line 1103
10512  num_frames = (int )__cil_tmp30;
10513#line 1104
10514  __cil_tmp31 = num_frames * 4;
10515#line 1104
10516  __cil_tmp32 = (unsigned long )__cil_tmp31;
10517#line 1104
10518  __cil_tmp33 = pd->stats.secs_w;
10519#line 1104
10520  pd->stats.secs_w = __cil_tmp33 + __cil_tmp32;
10521#line 1105
10522  __cil_tmp34 = first_frame < 0;
10523#line 1105
10524  __cil_tmp35 = (long )__cil_tmp34;
10525#line 1105
10526  tmp___1 = __builtin_expect(__cil_tmp35, 0L);
10527  }
10528#line 1105
10529  if (tmp___1 != 0L) {
10530#line 1105
10531    __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/pktcdvd.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/pktcdvd.c.p"),
10532                         "i" (1105), "i" (12UL));
10533    ldv_30874: ;
10534#line 1105
10535    goto ldv_30874;
10536  } else {
10537
10538  }
10539  {
10540#line 1106
10541  __cil_tmp36 = pkt->frames;
10542#line 1106
10543  __cil_tmp37 = first_frame + num_frames;
10544#line 1106
10545  __cil_tmp38 = __cil_tmp37 > __cil_tmp36;
10546#line 1106
10547  __cil_tmp39 = (long )__cil_tmp38;
10548#line 1106
10549  tmp___2 = __builtin_expect(__cil_tmp39, 0L);
10550  }
10551#line 1106
10552  if (tmp___2 != 0L) {
10553#line 1106
10554    __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/pktcdvd.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/pktcdvd.c.p"),
10555                         "i" (1106), "i" (12UL));
10556    ldv_30875: ;
10557#line 1106
10558    goto ldv_30875;
10559  } else {
10560
10561  }
10562#line 1107
10563  f = first_frame;
10564#line 1107
10565  goto ldv_30877;
10566  ldv_30876: 
10567#line 1108
10568  written[f] = (char)1;
10569#line 1107
10570  f = f + 1;
10571  ldv_30877: ;
10572  {
10573#line 1107
10574  __cil_tmp40 = first_frame + num_frames;
10575#line 1107
10576  if (__cil_tmp40 > f) {
10577#line 1108
10578    goto ldv_30876;
10579  } else {
10580#line 1110
10581    goto ldv_30878;
10582  }
10583  }
10584  ldv_30878: 
10585#line 1101
10586  bio = bio->bi_next;
10587  ldv_30880: ;
10588  {
10589#line 1101
10590  __cil_tmp41 = (struct bio *)0;
10591#line 1101
10592  __cil_tmp42 = (unsigned long )__cil_tmp41;
10593#line 1101
10594  __cil_tmp43 = (unsigned long )bio;
10595#line 1101
10596  if (__cil_tmp43 != __cil_tmp42) {
10597#line 1102
10598    goto ldv_30879;
10599  } else {
10600#line 1104
10601    goto ldv_30881;
10602  }
10603  }
10604  ldv_30881: 
10605  {
10606#line 1110
10607  __cil_tmp44 = & pkt->lock;
10608#line 1110
10609  spin_unlock(__cil_tmp44);
10610  }
10611  {
10612#line 1112
10613  __cil_tmp45 = pkt->cache_valid;
10614#line 1112
10615  if (__cil_tmp45 != 0) {
10616#line 1115
10617    goto out_account;
10618  } else {
10619
10620  }
10621  }
10622#line 1121
10623  f = 0;
10624#line 1121
10625  goto ldv_30889;
10626  ldv_30888: ;
10627  {
10628#line 1125
10629  __cil_tmp46 = (signed char )written[f];
10630#line 1125
10631  __cil_tmp47 = (int )__cil_tmp46;
10632#line 1125
10633  if (__cil_tmp47 != 0) {
10634#line 1126
10635    goto ldv_30886;
10636  } else {
10637
10638  }
10639  }
10640  {
10641#line 1127
10642  bio = pkt->r_bios[f];
10643#line 1128
10644  vec = bio->bi_io_vec;
10645#line 1129
10646  bio_init(bio);
10647#line 1130
10648  bio->bi_max_vecs = 1U;
10649#line 1131
10650  __cil_tmp48 = f * 4;
10651#line 1131
10652  __cil_tmp49 = (sector_t )__cil_tmp48;
10653#line 1131
10654  __cil_tmp50 = pkt->sector;
10655#line 1131
10656  bio->bi_sector = __cil_tmp50 + __cil_tmp49;
10657#line 1132
10658  bio->bi_bdev = pd->bdev;
10659#line 1133
10660  bio->bi_end_io = & pkt_end_io_read;
10661#line 1134
10662  bio->bi_private = (void *)pkt;
10663#line 1135
10664  bio->bi_io_vec = vec;
10665#line 1136
10666  bio->bi_destructor = & pkt_bio_destructor;
10667#line 1138
10668  __cil_tmp51 = f * 2048;
10669#line 1138
10670  __cil_tmp52 = (unsigned long )__cil_tmp51;
10671#line 1138
10672  __cil_tmp53 = __cil_tmp52 / 4096UL;
10673#line 1138
10674  p = (int )__cil_tmp53;
10675#line 1139
10676  __cil_tmp54 = f * 2048;
10677#line 1139
10678  offset = __cil_tmp54 & 4095;
10679#line 1142
10680  __cil_tmp55 = pkt->pages[p];
10681#line 1142
10682  __cil_tmp56 = (unsigned int )offset;
10683#line 1142
10684  tmp___3 = bio_add_page(bio, __cil_tmp55, 2048U, __cil_tmp56);
10685  }
10686#line 1142
10687  if (tmp___3 == 0) {
10688#line 1143
10689    __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/pktcdvd.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/pktcdvd.c.p"),
10690                         "i" (1143), "i" (12UL));
10691    ldv_30887: ;
10692#line 1143
10693    goto ldv_30887;
10694  } else {
10695
10696  }
10697  {
10698#line 1145
10699  __cil_tmp57 = & pkt->io_wait;
10700#line 1145
10701  atomic_inc(__cil_tmp57);
10702#line 1146
10703  bio->bi_rw = 0UL;
10704#line 1147
10705  pkt_queue_bio(pd, bio);
10706#line 1148
10707  frames_read = frames_read + 1;
10708  }
10709  ldv_30886: 
10710#line 1121
10711  f = f + 1;
10712  ldv_30889: ;
10713  {
10714#line 1121
10715  __cil_tmp58 = pkt->frames;
10716#line 1121
10717  if (__cil_tmp58 > f) {
10718#line 1122
10719    goto ldv_30888;
10720  } else {
10721#line 1124
10722    goto ldv_30890;
10723  }
10724  }
10725  ldv_30890: ;
10726  out_account: 
10727#line 1154
10728  __cil_tmp59 = pd->stats.pkt_started;
10729#line 1154
10730  pd->stats.pkt_started = __cil_tmp59 + 1UL;
10731#line 1155
10732  __cil_tmp60 = frames_read * 4;
10733#line 1155
10734  __cil_tmp61 = (unsigned long )__cil_tmp60;
10735#line 1155
10736  __cil_tmp62 = pd->stats.secs_rg;
10737#line 1155
10738  pd->stats.secs_rg = __cil_tmp62 + __cil_tmp61;
10739#line 1156
10740  return;
10741}
10742}
10743#line 1162 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10744static struct packet_data *pkt_get_packet_data(struct pktcdvd_device *pd , int zone ) 
10745{ struct packet_data *pkt ;
10746  struct list_head  const  *__mptr ;
10747  struct list_head  const  *__mptr___0 ;
10748  struct list_head *__cil_tmp6 ;
10749  sector_t __cil_tmp7 ;
10750  sector_t __cil_tmp8 ;
10751  struct list_head *__cil_tmp9 ;
10752  unsigned long __cil_tmp10 ;
10753  struct list_head *__cil_tmp11 ;
10754  unsigned long __cil_tmp12 ;
10755  struct list_head *__cil_tmp13 ;
10756  sector_t __cil_tmp14 ;
10757  sector_t __cil_tmp15 ;
10758  struct list_head *__cil_tmp16 ;
10759  struct list_head *__cil_tmp17 ;
10760  unsigned long __cil_tmp18 ;
10761  struct list_head *__cil_tmp19 ;
10762  unsigned long __cil_tmp20 ;
10763
10764  {
10765#line 1166
10766  __cil_tmp6 = pd->cdrw.pkt_free_list.next;
10767#line 1166
10768  __mptr = (struct list_head  const  *)__cil_tmp6;
10769#line 1166
10770  pkt = (struct packet_data *)__mptr;
10771#line 1166
10772  goto ldv_30901;
10773  ldv_30900: ;
10774  {
10775#line 1167
10776  __cil_tmp7 = (sector_t )zone;
10777#line 1167
10778  __cil_tmp8 = pkt->sector;
10779#line 1167
10780  if (__cil_tmp8 == __cil_tmp7) {
10781#line 1167
10782    goto _L;
10783  } else {
10784    {
10785#line 1167
10786    __cil_tmp9 = & pd->cdrw.pkt_free_list;
10787#line 1167
10788    __cil_tmp10 = (unsigned long )__cil_tmp9;
10789#line 1167
10790    __cil_tmp11 = pkt->list.next;
10791#line 1167
10792    __cil_tmp12 = (unsigned long )__cil_tmp11;
10793#line 1167
10794    if (__cil_tmp12 == __cil_tmp10) {
10795      _L: 
10796      {
10797#line 1168
10798      __cil_tmp13 = & pkt->list;
10799#line 1168
10800      list_del_init(__cil_tmp13);
10801      }
10802      {
10803#line 1169
10804      __cil_tmp14 = (sector_t )zone;
10805#line 1169
10806      __cil_tmp15 = pkt->sector;
10807#line 1169
10808      if (__cil_tmp15 != __cil_tmp14) {
10809#line 1170
10810        pkt->cache_valid = 0;
10811      } else {
10812
10813      }
10814      }
10815#line 1171
10816      return (pkt);
10817    } else {
10818
10819    }
10820    }
10821  }
10822  }
10823#line 1166
10824  __cil_tmp16 = pkt->list.next;
10825#line 1166
10826  __mptr___0 = (struct list_head  const  *)__cil_tmp16;
10827#line 1166
10828  pkt = (struct packet_data *)__mptr___0;
10829  ldv_30901: ;
10830  {
10831#line 1166
10832  __cil_tmp17 = & pd->cdrw.pkt_free_list;
10833#line 1166
10834  __cil_tmp18 = (unsigned long )__cil_tmp17;
10835#line 1166
10836  __cil_tmp19 = & pkt->list;
10837#line 1166
10838  __cil_tmp20 = (unsigned long )__cil_tmp19;
10839#line 1166
10840  if (__cil_tmp20 != __cil_tmp18) {
10841#line 1167
10842    goto ldv_30900;
10843  } else {
10844#line 1169
10845    goto ldv_30902;
10846  }
10847  }
10848  ldv_30902: 
10849#line 1174
10850  __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/pktcdvd.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/pktcdvd.c.p"),
10851                       "i" (1174), "i" (12UL));
10852  ldv_30903: ;
10853#line 1174
10854  goto ldv_30903;
10855#line 1175
10856  return ((struct packet_data *)0);
10857}
10858}
10859#line 1178 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10860static void pkt_put_packet_data(struct pktcdvd_device *pd , struct packet_data *pkt ) 
10861{ int __cil_tmp3 ;
10862  struct list_head *__cil_tmp4 ;
10863  struct list_head *__cil_tmp5 ;
10864  struct list_head *__cil_tmp6 ;
10865  struct list_head *__cil_tmp7 ;
10866
10867  {
10868  {
10869#line 1180
10870  __cil_tmp3 = pkt->cache_valid;
10871#line 1180
10872  if (__cil_tmp3 != 0) {
10873    {
10874#line 1181
10875    __cil_tmp4 = & pkt->list;
10876#line 1181
10877    __cil_tmp5 = & pd->cdrw.pkt_free_list;
10878#line 1181
10879    list_add(__cil_tmp4, __cil_tmp5);
10880    }
10881  } else {
10882    {
10883#line 1183
10884    __cil_tmp6 = & pkt->list;
10885#line 1183
10886    __cil_tmp7 = & pd->cdrw.pkt_free_list;
10887#line 1183
10888    list_add_tail(__cil_tmp6, __cil_tmp7);
10889    }
10890  }
10891  }
10892#line 1184
10893  return;
10894}
10895}
10896#line 1193 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10897static int pkt_start_recovery(struct packet_data *pkt ) 
10898{ 
10899
10900  {
10901#line 1199
10902  return (0);
10903}
10904}
10905#line 1247 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10906__inline static void pkt_set_state(struct packet_data *pkt , enum packet_data_state state ) 
10907{ 
10908
10909  {
10910#line 1257
10911  pkt->state = state;
10912#line 1258
10913  return;
10914}
10915}
10916#line 1264 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
10917static int pkt_handle_queue(struct pktcdvd_device *pd ) 
10918{ struct packet_data *pkt ;
10919  struct packet_data *p ;
10920  struct bio *bio ;
10921  sector_t zone ;
10922  struct pkt_rb_node *node ;
10923  struct pkt_rb_node *first_node ;
10924  struct rb_node *n ;
10925  int wakeup ;
10926  int tmp ;
10927  struct rb_node  const  *__mptr ;
10928  struct list_head  const  *__mptr___0 ;
10929  struct list_head  const  *__mptr___1 ;
10930  struct rb_node  const  *__mptr___2 ;
10931  long tmp___0 ;
10932  int tmp___1 ;
10933  int _max1 ;
10934  int _max2 ;
10935  int tmp___2 ;
10936  atomic_t *__cil_tmp20 ;
10937  struct list_head *__cil_tmp21 ;
10938  struct list_head  const  *__cil_tmp22 ;
10939  spinlock_t *__cil_tmp23 ;
10940  sector_t __cil_tmp24 ;
10941  struct pkt_rb_node *__cil_tmp25 ;
10942  unsigned long __cil_tmp26 ;
10943  unsigned long __cil_tmp27 ;
10944  struct rb_root *__cil_tmp28 ;
10945  struct rb_root  const  *__cil_tmp29 ;
10946  struct rb_node *__cil_tmp30 ;
10947  unsigned long __cil_tmp31 ;
10948  unsigned long __cil_tmp32 ;
10949  __u32 __cil_tmp33 ;
10950  __u32 __cil_tmp34 ;
10951  unsigned long __cil_tmp35 ;
10952  unsigned long __cil_tmp36 ;
10953  sector_t __cil_tmp37 ;
10954  sector_t __cil_tmp38 ;
10955  struct list_head *__cil_tmp39 ;
10956  sector_t __cil_tmp40 ;
10957  struct list_head *__cil_tmp41 ;
10958  struct list_head *__cil_tmp42 ;
10959  unsigned long __cil_tmp43 ;
10960  struct list_head *__cil_tmp44 ;
10961  unsigned long __cil_tmp45 ;
10962  struct pkt_rb_node *__cil_tmp46 ;
10963  unsigned long __cil_tmp47 ;
10964  unsigned long __cil_tmp48 ;
10965  struct rb_root *__cil_tmp49 ;
10966  struct rb_root  const  *__cil_tmp50 ;
10967  struct rb_node *__cil_tmp51 ;
10968  unsigned long __cil_tmp52 ;
10969  unsigned long __cil_tmp53 ;
10970  unsigned long __cil_tmp54 ;
10971  unsigned long __cil_tmp55 ;
10972  struct pkt_rb_node *__cil_tmp56 ;
10973  unsigned long __cil_tmp57 ;
10974  unsigned long __cil_tmp58 ;
10975  spinlock_t *__cil_tmp59 ;
10976  struct bio *__cil_tmp60 ;
10977  unsigned long __cil_tmp61 ;
10978  unsigned long __cil_tmp62 ;
10979  int __cil_tmp63 ;
10980  __u32 __cil_tmp64 ;
10981  sector_t __cil_tmp65 ;
10982  __u32 __cil_tmp66 ;
10983  __u32 __cil_tmp67 ;
10984  int __cil_tmp68 ;
10985  __u32 __cil_tmp69 ;
10986  int __cil_tmp70 ;
10987  long __cil_tmp71 ;
10988  spinlock_t *__cil_tmp72 ;
10989  __u32 __cil_tmp73 ;
10990  __u32 __cil_tmp74 ;
10991  unsigned long __cil_tmp75 ;
10992  unsigned long __cil_tmp76 ;
10993  sector_t __cil_tmp77 ;
10994  sector_t __cil_tmp78 ;
10995  unsigned long __cil_tmp79 ;
10996  spinlock_t *__cil_tmp80 ;
10997  struct bio_list *__cil_tmp81 ;
10998  unsigned int __cil_tmp82 ;
10999  unsigned int __cil_tmp83 ;
11000  int __cil_tmp84 ;
11001  unsigned int __cil_tmp85 ;
11002  unsigned int __cil_tmp86 ;
11003  spinlock_t *__cil_tmp87 ;
11004  struct pkt_rb_node *__cil_tmp88 ;
11005  unsigned long __cil_tmp89 ;
11006  unsigned long __cil_tmp90 ;
11007  int __cil_tmp91 ;
11008  int __cil_tmp92 ;
11009  int __cil_tmp93 ;
11010  spinlock_t *__cil_tmp94 ;
11011  struct gendisk *__cil_tmp95 ;
11012  struct request_queue *__cil_tmp96 ;
11013  struct backing_dev_info *__cil_tmp97 ;
11014  enum packet_data_state __cil_tmp98 ;
11015  atomic_t *__cil_tmp99 ;
11016  spinlock_t *__cil_tmp100 ;
11017  struct list_head *__cil_tmp101 ;
11018  struct list_head *__cil_tmp102 ;
11019  spinlock_t *__cil_tmp103 ;
11020
11021  {
11022  {
11023#line 1267
11024  bio = (struct bio *)0;
11025#line 1268
11026  zone = 0UL;
11027#line 1275
11028  __cil_tmp20 = & pd->scan_queue;
11029#line 1275
11030  atomic_set(__cil_tmp20, 0);
11031#line 1277
11032  __cil_tmp21 = & pd->cdrw.pkt_free_list;
11033#line 1277
11034  __cil_tmp22 = (struct list_head  const  *)__cil_tmp21;
11035#line 1277
11036  tmp = list_empty(__cil_tmp22);
11037  }
11038#line 1277
11039  if (tmp != 0) {
11040#line 1279
11041    return (0);
11042  } else {
11043
11044  }
11045  {
11046#line 1285
11047  __cil_tmp23 = & pd->lock;
11048#line 1285
11049  spin_lock(__cil_tmp23);
11050#line 1286
11051  __cil_tmp24 = pd->current_sector;
11052#line 1286
11053  first_node = pkt_rbtree_find(pd, __cil_tmp24);
11054  }
11055  {
11056#line 1287
11057  __cil_tmp25 = (struct pkt_rb_node *)0;
11058#line 1287
11059  __cil_tmp26 = (unsigned long )__cil_tmp25;
11060#line 1287
11061  __cil_tmp27 = (unsigned long )first_node;
11062#line 1287
11063  if (__cil_tmp27 == __cil_tmp26) {
11064    {
11065#line 1288
11066    __cil_tmp28 = & pd->bio_queue;
11067#line 1288
11068    __cil_tmp29 = (struct rb_root  const  *)__cil_tmp28;
11069#line 1288
11070    n = rb_first(__cil_tmp29);
11071    }
11072    {
11073#line 1289
11074    __cil_tmp30 = (struct rb_node *)0;
11075#line 1289
11076    __cil_tmp31 = (unsigned long )__cil_tmp30;
11077#line 1289
11078    __cil_tmp32 = (unsigned long )n;
11079#line 1289
11080    if (__cil_tmp32 != __cil_tmp31) {
11081#line 1290
11082      __mptr = (struct rb_node  const  *)n;
11083#line 1290
11084      first_node = (struct pkt_rb_node *)__mptr;
11085    } else {
11086
11087    }
11088    }
11089  } else {
11090
11091  }
11092  }
11093#line 1292
11094  node = first_node;
11095#line 1293
11096  goto ldv_30940;
11097  ldv_30939: 
11098#line 1294
11099  bio = node->bio;
11100#line 1295
11101  __cil_tmp33 = pd->settings.size;
11102#line 1295
11103  __cil_tmp34 = - __cil_tmp33;
11104#line 1295
11105  __cil_tmp35 = (unsigned long )__cil_tmp34;
11106#line 1295
11107  __cil_tmp36 = pd->offset;
11108#line 1295
11109  __cil_tmp37 = bio->bi_sector;
11110#line 1295
11111  __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
11112#line 1295
11113  zone = __cil_tmp38 & __cil_tmp35;
11114#line 1296
11115  __cil_tmp39 = pd->cdrw.pkt_active_list.next;
11116#line 1296
11117  __mptr___0 = (struct list_head  const  *)__cil_tmp39;
11118#line 1296
11119  p = (struct packet_data *)__mptr___0;
11120#line 1296
11121  goto ldv_30934;
11122  ldv_30933: ;
11123  {
11124#line 1297
11125  __cil_tmp40 = p->sector;
11126#line 1297
11127  if (__cil_tmp40 == zone) {
11128#line 1298
11129    bio = (struct bio *)0;
11130#line 1299
11131    goto try_next_bio;
11132  } else {
11133
11134  }
11135  }
11136#line 1296
11137  __cil_tmp41 = p->list.next;
11138#line 1296
11139  __mptr___1 = (struct list_head  const  *)__cil_tmp41;
11140#line 1296
11141  p = (struct packet_data *)__mptr___1;
11142  ldv_30934: ;
11143  {
11144#line 1296
11145  __cil_tmp42 = & pd->cdrw.pkt_active_list;
11146#line 1296
11147  __cil_tmp43 = (unsigned long )__cil_tmp42;
11148#line 1296
11149  __cil_tmp44 = & p->list;
11150#line 1296
11151  __cil_tmp45 = (unsigned long )__cil_tmp44;
11152#line 1296
11153  if (__cil_tmp45 != __cil_tmp43) {
11154#line 1297
11155    goto ldv_30933;
11156  } else {
11157#line 1299
11158    goto ldv_30935;
11159  }
11160  }
11161  ldv_30935: ;
11162#line 1302
11163  goto ldv_30936;
11164  try_next_bio: 
11165  {
11166#line 1304
11167  node = pkt_rbtree_next(node);
11168  }
11169  {
11170#line 1305
11171  __cil_tmp46 = (struct pkt_rb_node *)0;
11172#line 1305
11173  __cil_tmp47 = (unsigned long )__cil_tmp46;
11174#line 1305
11175  __cil_tmp48 = (unsigned long )node;
11176#line 1305
11177  if (__cil_tmp48 == __cil_tmp47) {
11178    {
11179#line 1306
11180    __cil_tmp49 = & pd->bio_queue;
11181#line 1306
11182    __cil_tmp50 = (struct rb_root  const  *)__cil_tmp49;
11183#line 1306
11184    n = rb_first(__cil_tmp50);
11185    }
11186    {
11187#line 1307
11188    __cil_tmp51 = (struct rb_node *)0;
11189#line 1307
11190    __cil_tmp52 = (unsigned long )__cil_tmp51;
11191#line 1307
11192    __cil_tmp53 = (unsigned long )n;
11193#line 1307
11194    if (__cil_tmp53 != __cil_tmp52) {
11195#line 1308
11196      __mptr___2 = (struct rb_node  const  *)n;
11197#line 1308
11198      node = (struct pkt_rb_node *)__mptr___2;
11199    } else {
11200
11201    }
11202    }
11203  } else {
11204
11205  }
11206  }
11207  {
11208#line 1310
11209  __cil_tmp54 = (unsigned long )first_node;
11210#line 1310
11211  __cil_tmp55 = (unsigned long )node;
11212#line 1310
11213  if (__cil_tmp55 == __cil_tmp54) {
11214#line 1311
11215    node = (struct pkt_rb_node *)0;
11216  } else {
11217
11218  }
11219  }
11220  ldv_30940: ;
11221  {
11222#line 1293
11223  __cil_tmp56 = (struct pkt_rb_node *)0;
11224#line 1293
11225  __cil_tmp57 = (unsigned long )__cil_tmp56;
11226#line 1293
11227  __cil_tmp58 = (unsigned long )node;
11228#line 1293
11229  if (__cil_tmp58 != __cil_tmp57) {
11230#line 1294
11231    goto ldv_30939;
11232  } else {
11233#line 1296
11234    goto ldv_30936;
11235  }
11236  }
11237  ldv_30936: 
11238  {
11239#line 1313
11240  __cil_tmp59 = & pd->lock;
11241#line 1313
11242  spin_unlock(__cil_tmp59);
11243  }
11244  {
11245#line 1314
11246  __cil_tmp60 = (struct bio *)0;
11247#line 1314
11248  __cil_tmp61 = (unsigned long )__cil_tmp60;
11249#line 1314
11250  __cil_tmp62 = (unsigned long )bio;
11251#line 1314
11252  if (__cil_tmp62 == __cil_tmp61) {
11253#line 1316
11254    return (0);
11255  } else {
11256
11257  }
11258  }
11259  {
11260#line 1319
11261  __cil_tmp63 = (int )zone;
11262#line 1319
11263  pkt = pkt_get_packet_data(pd, __cil_tmp63);
11264#line 1321
11265  __cil_tmp64 = pd->settings.size;
11266#line 1321
11267  __cil_tmp65 = (sector_t )__cil_tmp64;
11268#line 1321
11269  pd->current_sector = __cil_tmp65 + zone;
11270#line 1322
11271  pkt->sector = zone;
11272#line 1323
11273  __cil_tmp66 = pd->settings.size;
11274#line 1323
11275  __cil_tmp67 = __cil_tmp66 >> 2;
11276#line 1323
11277  __cil_tmp68 = pkt->frames;
11278#line 1323
11279  __cil_tmp69 = (__u32 )__cil_tmp68;
11280#line 1323
11281  __cil_tmp70 = __cil_tmp69 != __cil_tmp67;
11282#line 1323
11283  __cil_tmp71 = (long )__cil_tmp70;
11284#line 1323
11285  tmp___0 = __builtin_expect(__cil_tmp71, 0L);
11286  }
11287#line 1323
11288  if (tmp___0 != 0L) {
11289#line 1323
11290    __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/pktcdvd.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/pktcdvd.c.p"),
11291                         "i" (1323), "i" (12UL));
11292    ldv_30941: ;
11293#line 1323
11294    goto ldv_30941;
11295  } else {
11296
11297  }
11298  {
11299#line 1324
11300  pkt->write_size = 0;
11301#line 1330
11302  __cil_tmp72 = & pd->lock;
11303#line 1330
11304  spin_lock(__cil_tmp72);
11305  }
11306#line 1332
11307  goto ldv_30944;
11308  ldv_30943: 
11309#line 1333
11310  bio = node->bio;
11311  {
11312#line 1336
11313  __cil_tmp73 = pd->settings.size;
11314#line 1336
11315  __cil_tmp74 = - __cil_tmp73;
11316#line 1336
11317  __cil_tmp75 = (unsigned long )__cil_tmp74;
11318#line 1336
11319  __cil_tmp76 = pd->offset;
11320#line 1336
11321  __cil_tmp77 = bio->bi_sector;
11322#line 1336
11323  __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
11324#line 1336
11325  __cil_tmp79 = __cil_tmp78 & __cil_tmp75;
11326#line 1336
11327  if (__cil_tmp79 != zone) {
11328#line 1337
11329    goto ldv_30942;
11330  } else {
11331
11332  }
11333  }
11334  {
11335#line 1338
11336  pkt_rbtree_erase(pd, node);
11337#line 1339
11338  __cil_tmp80 = & pkt->lock;
11339#line 1339
11340  spin_lock(__cil_tmp80);
11341#line 1340
11342  __cil_tmp81 = & pkt->orig_bios;
11343#line 1340
11344  bio_list_add(__cil_tmp81, bio);
11345#line 1341
11346  __cil_tmp82 = bio->bi_size;
11347#line 1341
11348  __cil_tmp83 = __cil_tmp82 / 2048U;
11349#line 1341
11350  __cil_tmp84 = pkt->write_size;
11351#line 1341
11352  __cil_tmp85 = (unsigned int )__cil_tmp84;
11353#line 1341
11354  __cil_tmp86 = __cil_tmp85 + __cil_tmp83;
11355#line 1341
11356  pkt->write_size = (int )__cil_tmp86;
11357#line 1342
11358  __cil_tmp87 = & pkt->lock;
11359#line 1342
11360  spin_unlock(__cil_tmp87);
11361  }
11362  ldv_30944: 
11363  {
11364#line 1332
11365  node = pkt_rbtree_find(pd, zone);
11366  }
11367  {
11368#line 1332
11369  __cil_tmp88 = (struct pkt_rb_node *)0;
11370#line 1332
11371  __cil_tmp89 = (unsigned long )__cil_tmp88;
11372#line 1332
11373  __cil_tmp90 = (unsigned long )node;
11374#line 1332
11375  if (__cil_tmp90 != __cil_tmp89) {
11376#line 1333
11377    goto ldv_30943;
11378  } else {
11379#line 1335
11380    goto ldv_30942;
11381  }
11382  }
11383  ldv_30942: ;
11384  {
11385#line 1346
11386  __cil_tmp91 = pd->write_congestion_on;
11387#line 1346
11388  if (__cil_tmp91 > 0) {
11389    {
11390#line 1346
11391    __cil_tmp92 = pd->write_congestion_off;
11392#line 1346
11393    __cil_tmp93 = pd->bio_queue_size;
11394#line 1346
11395    if (__cil_tmp93 <= __cil_tmp92) {
11396#line 1346
11397      tmp___1 = 1;
11398    } else {
11399#line 1346
11400      tmp___1 = 0;
11401    }
11402    }
11403  } else {
11404#line 1346
11405    tmp___1 = 0;
11406  }
11407  }
11408  {
11409#line 1346
11410  wakeup = tmp___1;
11411#line 1348
11412  __cil_tmp94 = & pd->lock;
11413#line 1348
11414  spin_unlock(__cil_tmp94);
11415  }
11416#line 1349
11417  if (wakeup != 0) {
11418    {
11419#line 1350
11420    __cil_tmp95 = pd->disk;
11421#line 1350
11422    __cil_tmp96 = __cil_tmp95->queue;
11423#line 1350
11424    __cil_tmp97 = & __cil_tmp96->backing_dev_info;
11425#line 1350
11426    clear_bdi_congested(__cil_tmp97, 0);
11427    }
11428  } else {
11429
11430  }
11431#line 1354
11432  _max1 = 1;
11433#line 1354
11434  _max2 = 1;
11435#line 1354
11436  if (_max1 > _max2) {
11437#line 1354
11438    tmp___2 = _max1;
11439  } else {
11440#line 1354
11441    tmp___2 = _max2;
11442  }
11443  {
11444#line 1354
11445  pkt->sleep_time = (long )tmp___2;
11446#line 1355
11447  __cil_tmp98 = (enum packet_data_state )1;
11448#line 1355
11449  pkt_set_state(pkt, __cil_tmp98);
11450#line 1356
11451  __cil_tmp99 = & pkt->run_sm;
11452#line 1356
11453  atomic_set(__cil_tmp99, 1);
11454#line 1358
11455  __cil_tmp100 = & pd->cdrw.active_list_lock;
11456#line 1358
11457  spin_lock(__cil_tmp100);
11458#line 1359
11459  __cil_tmp101 = & pkt->list;
11460#line 1359
11461  __cil_tmp102 = & pd->cdrw.pkt_active_list;
11462#line 1359
11463  list_add(__cil_tmp101, __cil_tmp102);
11464#line 1360
11465  __cil_tmp103 = & pd->cdrw.active_list_lock;
11466#line 1360
11467  spin_unlock(__cil_tmp103);
11468  }
11469#line 1362
11470  return (1);
11471}
11472}
11473#line 1369 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
11474static void pkt_start_write(struct pktcdvd_device *pd , struct packet_data *pkt ) 
11475{ struct bio *bio ;
11476  int f ;
11477  int frames_write ;
11478  struct bio_vec *bvec ;
11479  int segment ;
11480  int src_offs ;
11481  int first_frame ;
11482  int num_frames ;
11483  long tmp ;
11484  long tmp___0 ;
11485  struct bio_vec *src_bvl ;
11486  long tmp___1 ;
11487  long tmp___2 ;
11488  int tmp___3 ;
11489  int tmp___4 ;
11490  struct bio *__cil_tmp18 ;
11491  unsigned long __cil_tmp19 ;
11492  struct bio_vec *__cil_tmp20 ;
11493  unsigned long __cil_tmp21 ;
11494  struct bio_vec *__cil_tmp22 ;
11495  int __cil_tmp23 ;
11496  unsigned int __cil_tmp24 ;
11497  int __cil_tmp25 ;
11498  spinlock_t *__cil_tmp26 ;
11499  unsigned short __cil_tmp27 ;
11500  sector_t __cil_tmp28 ;
11501  sector_t __cil_tmp29 ;
11502  sector_t __cil_tmp30 ;
11503  sector_t __cil_tmp31 ;
11504  unsigned int __cil_tmp32 ;
11505  unsigned int __cil_tmp33 ;
11506  int __cil_tmp34 ;
11507  long __cil_tmp35 ;
11508  int __cil_tmp36 ;
11509  int __cil_tmp37 ;
11510  int __cil_tmp38 ;
11511  long __cil_tmp39 ;
11512  unsigned long __cil_tmp40 ;
11513  struct bio_vec *__cil_tmp41 ;
11514  unsigned int __cil_tmp42 ;
11515  unsigned int __cil_tmp43 ;
11516  unsigned int __cil_tmp44 ;
11517  unsigned short __cil_tmp45 ;
11518  int __cil_tmp46 ;
11519  int __cil_tmp47 ;
11520  long __cil_tmp48 ;
11521  unsigned long __cil_tmp49 ;
11522  struct bio_vec *__cil_tmp50 ;
11523  unsigned int __cil_tmp51 ;
11524  unsigned int __cil_tmp52 ;
11525  unsigned int __cil_tmp53 ;
11526  unsigned int __cil_tmp54 ;
11527  unsigned int __cil_tmp55 ;
11528  unsigned long __cil_tmp56 ;
11529  struct bio_vec *__cil_tmp57 ;
11530  unsigned long __cil_tmp58 ;
11531  struct bio_vec *__cil_tmp59 ;
11532  unsigned int __cil_tmp60 ;
11533  unsigned int __cil_tmp61 ;
11534  unsigned long __cil_tmp62 ;
11535  struct bio_vec *__cil_tmp63 ;
11536  struct page *__cil_tmp64 ;
11537  unsigned long __cil_tmp65 ;
11538  struct bio_vec *__cil_tmp66 ;
11539  unsigned int __cil_tmp67 ;
11540  int __cil_tmp68 ;
11541  int __cil_tmp69 ;
11542  struct bio *__cil_tmp70 ;
11543  unsigned long __cil_tmp71 ;
11544  unsigned long __cil_tmp72 ;
11545  enum packet_data_state __cil_tmp73 ;
11546  spinlock_t *__cil_tmp74 ;
11547  int __cil_tmp75 ;
11548  int __cil_tmp76 ;
11549  long __cil_tmp77 ;
11550  unsigned long *__cil_tmp78 ;
11551  unsigned long const volatile   *__cil_tmp79 ;
11552  int __cil_tmp80 ;
11553  int __cil_tmp81 ;
11554  struct bio *__cil_tmp82 ;
11555  struct bio *__cil_tmp83 ;
11556  struct bio *__cil_tmp84 ;
11557  struct bio *__cil_tmp85 ;
11558  struct bio *__cil_tmp86 ;
11559  struct bio *__cil_tmp87 ;
11560  struct bio *__cil_tmp88 ;
11561  struct bio *__cil_tmp89 ;
11562  struct bio *__cil_tmp90 ;
11563  unsigned long __cil_tmp91 ;
11564  struct bio_vec *__cil_tmp92 ;
11565  struct page *__cil_tmp93 ;
11566  unsigned long __cil_tmp94 ;
11567  struct bio_vec *__cil_tmp95 ;
11568  unsigned int __cil_tmp96 ;
11569  int __cil_tmp97 ;
11570  atomic_t *__cil_tmp98 ;
11571  struct bio *__cil_tmp99 ;
11572  struct bio *__cil_tmp100 ;
11573
11574  {
11575#line 1374
11576  __cil_tmp18 = pkt->w_bio;
11577#line 1374
11578  bvec = __cil_tmp18->bi_io_vec;
11579#line 1376
11580  f = 0;
11581#line 1376
11582  goto ldv_30957;
11583  ldv_30956: 
11584#line 1377
11585  __cil_tmp19 = (unsigned long )f;
11586#line 1377
11587  __cil_tmp20 = bvec + __cil_tmp19;
11588#line 1377
11589  __cil_tmp20->bv_page = pkt->pages[(unsigned long )(f * 2048) / 4096UL];
11590#line 1378
11591  __cil_tmp21 = (unsigned long )f;
11592#line 1378
11593  __cil_tmp22 = bvec + __cil_tmp21;
11594#line 1378
11595  __cil_tmp23 = f * 2048;
11596#line 1378
11597  __cil_tmp24 = (unsigned int )__cil_tmp23;
11598#line 1378
11599  __cil_tmp22->bv_offset = __cil_tmp24 & 4095U;
11600#line 1376
11601  f = f + 1;
11602  ldv_30957: ;
11603  {
11604#line 1376
11605  __cil_tmp25 = pkt->frames;
11606#line 1376
11607  if (__cil_tmp25 > f) {
11608#line 1377
11609    goto ldv_30956;
11610  } else {
11611#line 1379
11612    goto ldv_30958;
11613  }
11614  }
11615  ldv_30958: 
11616  {
11617#line 1384
11618  frames_write = 0;
11619#line 1385
11620  __cil_tmp26 = & pkt->lock;
11621#line 1385
11622  spin_lock(__cil_tmp26);
11623#line 1386
11624  bio = pkt->orig_bios.head;
11625  }
11626#line 1386
11627  goto ldv_30974;
11628  ldv_30973: 
11629  {
11630#line 1387
11631  __cil_tmp27 = bio->bi_idx;
11632#line 1387
11633  segment = (int )__cil_tmp27;
11634#line 1388
11635  src_offs = 0;
11636#line 1389
11637  __cil_tmp28 = pkt->sector;
11638#line 1389
11639  __cil_tmp29 = bio->bi_sector;
11640#line 1389
11641  __cil_tmp30 = __cil_tmp29 - __cil_tmp28;
11642#line 1389
11643  __cil_tmp31 = __cil_tmp30 / 4UL;
11644#line 1389
11645  first_frame = (int )__cil_tmp31;
11646#line 1390
11647  __cil_tmp32 = bio->bi_size;
11648#line 1390
11649  __cil_tmp33 = __cil_tmp32 / 2048U;
11650#line 1390
11651  num_frames = (int )__cil_tmp33;
11652#line 1391
11653  __cil_tmp34 = first_frame < 0;
11654#line 1391
11655  __cil_tmp35 = (long )__cil_tmp34;
11656#line 1391
11657  tmp = __builtin_expect(__cil_tmp35, 0L);
11658  }
11659#line 1391
11660  if (tmp != 0L) {
11661#line 1391
11662    __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/pktcdvd.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/pktcdvd.c.p"),
11663                         "i" (1391), "i" (12UL));
11664    ldv_30963: ;
11665#line 1391
11666    goto ldv_30963;
11667  } else {
11668
11669  }
11670  {
11671#line 1392
11672  __cil_tmp36 = pkt->frames;
11673#line 1392
11674  __cil_tmp37 = first_frame + num_frames;
11675#line 1392
11676  __cil_tmp38 = __cil_tmp37 > __cil_tmp36;
11677#line 1392
11678  __cil_tmp39 = (long )__cil_tmp38;
11679#line 1392
11680  tmp___0 = __builtin_expect(__cil_tmp39, 0L);
11681  }
11682#line 1392
11683  if (tmp___0 != 0L) {
11684#line 1392
11685    __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/pktcdvd.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/pktcdvd.c.p"),
11686                         "i" (1392), "i" (12UL));
11687    ldv_30964: ;
11688#line 1392
11689    goto ldv_30964;
11690  } else {
11691
11692  }
11693#line 1393
11694  f = first_frame;
11695#line 1393
11696  goto ldv_30971;
11697  ldv_30970: 
11698#line 1394
11699  __cil_tmp40 = (unsigned long )segment;
11700#line 1394
11701  __cil_tmp41 = bio->bi_io_vec;
11702#line 1394
11703  src_bvl = __cil_tmp41 + __cil_tmp40;
11704#line 1396
11705  goto ldv_30968;
11706  ldv_30967: 
11707  {
11708#line 1397
11709  __cil_tmp42 = src_bvl->bv_len;
11710#line 1397
11711  __cil_tmp43 = (unsigned int )src_offs;
11712#line 1397
11713  __cil_tmp44 = __cil_tmp43 - __cil_tmp42;
11714#line 1397
11715  src_offs = (int )__cil_tmp44;
11716#line 1398
11717  segment = segment + 1;
11718#line 1399
11719  __cil_tmp45 = bio->bi_vcnt;
11720#line 1399
11721  __cil_tmp46 = (int )__cil_tmp45;
11722#line 1399
11723  __cil_tmp47 = __cil_tmp46 <= segment;
11724#line 1399
11725  __cil_tmp48 = (long )__cil_tmp47;
11726#line 1399
11727  tmp___1 = __builtin_expect(__cil_tmp48, 0L);
11728  }
11729#line 1399
11730  if (tmp___1 != 0L) {
11731#line 1399
11732    __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/pktcdvd.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/pktcdvd.c.p"),
11733                         "i" (1399), "i" (12UL));
11734    ldv_30966: ;
11735#line 1399
11736    goto ldv_30966;
11737  } else {
11738
11739  }
11740#line 1400
11741  __cil_tmp49 = (unsigned long )segment;
11742#line 1400
11743  __cil_tmp50 = bio->bi_io_vec;
11744#line 1400
11745  src_bvl = __cil_tmp50 + __cil_tmp49;
11746  ldv_30968: ;
11747  {
11748#line 1396
11749  __cil_tmp51 = src_bvl->bv_len;
11750#line 1396
11751  __cil_tmp52 = (unsigned int )src_offs;
11752#line 1396
11753  if (__cil_tmp52 >= __cil_tmp51) {
11754#line 1397
11755    goto ldv_30967;
11756  } else {
11757#line 1399
11758    goto ldv_30969;
11759  }
11760  }
11761  ldv_30969: ;
11762  {
11763#line 1403
11764  __cil_tmp53 = (unsigned int )src_offs;
11765#line 1403
11766  __cil_tmp54 = src_bvl->bv_len;
11767#line 1403
11768  __cil_tmp55 = __cil_tmp54 - __cil_tmp53;
11769#line 1403
11770  if (__cil_tmp55 > 2047U) {
11771#line 1404
11772    __cil_tmp56 = (unsigned long )f;
11773#line 1404
11774    __cil_tmp57 = bvec + __cil_tmp56;
11775#line 1404
11776    __cil_tmp57->bv_page = src_bvl->bv_page;
11777#line 1405
11778    __cil_tmp58 = (unsigned long )f;
11779#line 1405
11780    __cil_tmp59 = bvec + __cil_tmp58;
11781#line 1405
11782    __cil_tmp60 = (unsigned int )src_offs;
11783#line 1405
11784    __cil_tmp61 = src_bvl->bv_offset;
11785#line 1405
11786    __cil_tmp59->bv_offset = __cil_tmp61 + __cil_tmp60;
11787  } else {
11788    {
11789#line 1407
11790    __cil_tmp62 = (unsigned long )f;
11791#line 1407
11792    __cil_tmp63 = bvec + __cil_tmp62;
11793#line 1407
11794    __cil_tmp64 = __cil_tmp63->bv_page;
11795#line 1407
11796    __cil_tmp65 = (unsigned long )f;
11797#line 1407
11798    __cil_tmp66 = bvec + __cil_tmp65;
11799#line 1407
11800    __cil_tmp67 = __cil_tmp66->bv_offset;
11801#line 1407
11802    __cil_tmp68 = (int )__cil_tmp67;
11803#line 1407
11804    pkt_copy_bio_data(bio, segment, src_offs, __cil_tmp64, __cil_tmp68);
11805    }
11806  }
11807  }
11808#line 1410
11809  src_offs = src_offs + 2048;
11810#line 1411
11811  frames_write = frames_write + 1;
11812#line 1393
11813  f = f + 1;
11814  ldv_30971: ;
11815  {
11816#line 1393
11817  __cil_tmp69 = first_frame + num_frames;
11818#line 1393
11819  if (__cil_tmp69 > f) {
11820#line 1394
11821    goto ldv_30970;
11822  } else {
11823#line 1396
11824    goto ldv_30972;
11825  }
11826  }
11827  ldv_30972: 
11828#line 1386
11829  bio = bio->bi_next;
11830  ldv_30974: ;
11831  {
11832#line 1386
11833  __cil_tmp70 = (struct bio *)0;
11834#line 1386
11835  __cil_tmp71 = (unsigned long )__cil_tmp70;
11836#line 1386
11837  __cil_tmp72 = (unsigned long )bio;
11838#line 1386
11839  if (__cil_tmp72 != __cil_tmp71) {
11840#line 1387
11841    goto ldv_30973;
11842  } else {
11843#line 1389
11844    goto ldv_30975;
11845  }
11846  }
11847  ldv_30975: 
11848  {
11849#line 1414
11850  __cil_tmp73 = (enum packet_data_state )3;
11851#line 1414
11852  pkt_set_state(pkt, __cil_tmp73);
11853#line 1415
11854  __cil_tmp74 = & pkt->lock;
11855#line 1415
11856  spin_unlock(__cil_tmp74);
11857#line 1419
11858  __cil_tmp75 = pkt->write_size;
11859#line 1419
11860  __cil_tmp76 = __cil_tmp75 != frames_write;
11861#line 1419
11862  __cil_tmp77 = (long )__cil_tmp76;
11863#line 1419
11864  tmp___2 = __builtin_expect(__cil_tmp77, 0L);
11865  }
11866#line 1419
11867  if (tmp___2 != 0L) {
11868#line 1419
11869    __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/pktcdvd.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/pktcdvd.c.p"),
11870                         "i" (1419), "i" (12UL));
11871    ldv_30976: ;
11872#line 1419
11873    goto ldv_30976;
11874  } else {
11875
11876  }
11877  {
11878#line 1421
11879  __cil_tmp78 = & pd->flags;
11880#line 1421
11881  __cil_tmp79 = (unsigned long const volatile   *)__cil_tmp78;
11882#line 1421
11883  tmp___3 = constant_test_bit(4U, __cil_tmp79);
11884  }
11885#line 1421
11886  if (tmp___3 != 0) {
11887    {
11888#line 1422
11889    pkt_make_local_copy(pkt, bvec);
11890#line 1423
11891    pkt->cache_valid = 1;
11892    }
11893  } else {
11894    {
11895#line 1421
11896    __cil_tmp80 = pkt->frames;
11897#line 1421
11898    __cil_tmp81 = pkt->write_size;
11899#line 1421
11900    if (__cil_tmp81 < __cil_tmp80) {
11901      {
11902#line 1422
11903      pkt_make_local_copy(pkt, bvec);
11904#line 1423
11905      pkt->cache_valid = 1;
11906      }
11907    } else {
11908#line 1425
11909      pkt->cache_valid = 0;
11910    }
11911    }
11912  }
11913  {
11914#line 1429
11915  __cil_tmp82 = pkt->w_bio;
11916#line 1429
11917  bio_init(__cil_tmp82);
11918#line 1430
11919  __cil_tmp83 = pkt->w_bio;
11920#line 1430
11921  __cil_tmp83->bi_max_vecs = 128U;
11922#line 1431
11923  __cil_tmp84 = pkt->w_bio;
11924#line 1431
11925  __cil_tmp84->bi_sector = pkt->sector;
11926#line 1432
11927  __cil_tmp85 = pkt->w_bio;
11928#line 1432
11929  __cil_tmp85->bi_bdev = pd->bdev;
11930#line 1433
11931  __cil_tmp86 = pkt->w_bio;
11932#line 1433
11933  __cil_tmp86->bi_end_io = & pkt_end_io_packet_write;
11934#line 1434
11935  __cil_tmp87 = pkt->w_bio;
11936#line 1434
11937  __cil_tmp87->bi_private = (void *)pkt;
11938#line 1435
11939  __cil_tmp88 = pkt->w_bio;
11940#line 1435
11941  __cil_tmp88->bi_io_vec = bvec;
11942#line 1436
11943  __cil_tmp89 = pkt->w_bio;
11944#line 1436
11945  __cil_tmp89->bi_destructor = & pkt_bio_destructor;
11946#line 1437
11947  f = 0;
11948  }
11949#line 1437
11950  goto ldv_30979;
11951  ldv_30978: 
11952  {
11953#line 1438
11954  __cil_tmp90 = pkt->w_bio;
11955#line 1438
11956  __cil_tmp91 = (unsigned long )f;
11957#line 1438
11958  __cil_tmp92 = bvec + __cil_tmp91;
11959#line 1438
11960  __cil_tmp93 = __cil_tmp92->bv_page;
11961#line 1438
11962  __cil_tmp94 = (unsigned long )f;
11963#line 1438
11964  __cil_tmp95 = bvec + __cil_tmp94;
11965#line 1438
11966  __cil_tmp96 = __cil_tmp95->bv_offset;
11967#line 1438
11968  tmp___4 = bio_add_page(__cil_tmp90, __cil_tmp93, 2048U, __cil_tmp96);
11969  }
11970#line 1438
11971  if (tmp___4 == 0) {
11972#line 1439
11973    __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/pktcdvd.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/pktcdvd.c.p"),
11974                         "i" (1439), "i" (12UL));
11975    ldv_30977: ;
11976#line 1439
11977    goto ldv_30977;
11978  } else {
11979
11980  }
11981#line 1437
11982  f = f + 1;
11983  ldv_30979: ;
11984  {
11985#line 1437
11986  __cil_tmp97 = pkt->frames;
11987#line 1437
11988  if (__cil_tmp97 > f) {
11989#line 1438
11990    goto ldv_30978;
11991  } else {
11992#line 1440
11993    goto ldv_30980;
11994  }
11995  }
11996  ldv_30980: 
11997  {
11998#line 1442
11999  __cil_tmp98 = & pkt->io_wait;
12000#line 1442
12001  atomic_set(__cil_tmp98, 1);
12002#line 1443
12003  __cil_tmp99 = pkt->w_bio;
12004#line 1443
12005  __cil_tmp99->bi_rw = 1UL;
12006#line 1444
12007  __cil_tmp100 = pkt->w_bio;
12008#line 1444
12009  pkt_queue_bio(pd, __cil_tmp100);
12010  }
12011#line 1445
12012  return;
12013}
12014}
12015#line 1447 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
12016static void pkt_finish_packet(struct packet_data *pkt , int uptodate ) 
12017{ struct bio *bio ;
12018  int tmp ;
12019  struct bio_list *__cil_tmp5 ;
12020  struct bio *__cil_tmp6 ;
12021  unsigned long __cil_tmp7 ;
12022  unsigned long __cil_tmp8 ;
12023
12024  {
12025#line 1451
12026  if (uptodate == 0) {
12027#line 1452
12028    pkt->cache_valid = 0;
12029  } else {
12030
12031  }
12032#line 1455
12033  goto ldv_30987;
12034  ldv_30986: ;
12035#line 1456
12036  if (uptodate != 0) {
12037#line 1456
12038    tmp = 0;
12039  } else {
12040#line 1456
12041    tmp = -5;
12042  }
12043  {
12044#line 1456
12045  bio_endio(bio, tmp);
12046  }
12047  ldv_30987: 
12048  {
12049#line 1455
12050  __cil_tmp5 = & pkt->orig_bios;
12051#line 1455
12052  bio = bio_list_pop(__cil_tmp5);
12053  }
12054  {
12055#line 1455
12056  __cil_tmp6 = (struct bio *)0;
12057#line 1455
12058  __cil_tmp7 = (unsigned long )__cil_tmp6;
12059#line 1455
12060  __cil_tmp8 = (unsigned long )bio;
12061#line 1455
12062  if (__cil_tmp8 != __cil_tmp7) {
12063#line 1456
12064    goto ldv_30986;
12065  } else {
12066#line 1458
12067    goto ldv_30988;
12068  }
12069  }
12070  ldv_30988: ;
12071#line 1460
12072  return;
12073}
12074}
12075#line 1459 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
12076static void pkt_run_state_machine(struct pktcdvd_device *pd , struct packet_data *pkt ) 
12077{ int uptodate ;
12078  int tmp ;
12079  int tmp___0 ;
12080  int tmp___1 ;
12081  int tmp___2 ;
12082  int tmp___3 ;
12083  enum packet_data_state __cil_tmp9 ;
12084  unsigned int __cil_tmp10 ;
12085  int __cil_tmp11 ;
12086  enum packet_data_state __cil_tmp12 ;
12087  unsigned int __cil_tmp13 ;
12088  int __cil_tmp14 ;
12089  enum packet_data_state __cil_tmp15 ;
12090  unsigned int __cil_tmp16 ;
12091  int __cil_tmp17 ;
12092  enum packet_data_state __cil_tmp18 ;
12093  unsigned int __cil_tmp19 ;
12094  int __cil_tmp20 ;
12095  enum packet_data_state __cil_tmp21 ;
12096  unsigned int __cil_tmp22 ;
12097  int __cil_tmp23 ;
12098  int __cil_tmp24 ;
12099  int __cil_tmp25 ;
12100  long __cil_tmp26 ;
12101  enum packet_data_state __cil_tmp27 ;
12102  atomic_t *__cil_tmp28 ;
12103  atomic_t const   *__cil_tmp29 ;
12104  atomic_t *__cil_tmp30 ;
12105  atomic_t const   *__cil_tmp31 ;
12106  enum packet_data_state __cil_tmp32 ;
12107  atomic_t *__cil_tmp33 ;
12108  atomic_t const   *__cil_tmp34 ;
12109  struct bio *__cil_tmp35 ;
12110  unsigned long *__cil_tmp36 ;
12111  unsigned long const volatile   *__cil_tmp37 ;
12112  enum packet_data_state __cil_tmp38 ;
12113  enum packet_data_state __cil_tmp39 ;
12114  enum packet_data_state __cil_tmp40 ;
12115  struct bio *__cil_tmp41 ;
12116  unsigned long *__cil_tmp42 ;
12117  unsigned long const volatile   *__cil_tmp43 ;
12118
12119  {
12120  ldv_31002: ;
12121  {
12122#line 1467
12123  __cil_tmp9 = pkt->state;
12124#line 1467
12125  __cil_tmp10 = (unsigned int )__cil_tmp9;
12126#line 1467
12127  __cil_tmp11 = (int )__cil_tmp10;
12128#line 1467
12129  if (__cil_tmp11 == 1) {
12130#line 1467
12131    goto case_1;
12132  } else {
12133    {
12134#line 1476
12135    __cil_tmp12 = pkt->state;
12136#line 1476
12137    __cil_tmp13 = (unsigned int )__cil_tmp12;
12138#line 1476
12139    __cil_tmp14 = (int )__cil_tmp13;
12140#line 1476
12141    if (__cil_tmp14 == 2) {
12142#line 1476
12143      goto case_2;
12144    } else {
12145      {
12146#line 1487
12147      __cil_tmp15 = pkt->state;
12148#line 1487
12149      __cil_tmp16 = (unsigned int )__cil_tmp15;
12150#line 1487
12151      __cil_tmp17 = (int )__cil_tmp16;
12152#line 1487
12153      if (__cil_tmp17 == 3) {
12154#line 1487
12155        goto case_3;
12156      } else {
12157        {
12158#line 1498
12159        __cil_tmp18 = pkt->state;
12160#line 1498
12161        __cil_tmp19 = (unsigned int )__cil_tmp18;
12162#line 1498
12163        __cil_tmp20 = (int )__cil_tmp19;
12164#line 1498
12165        if (__cil_tmp20 == 4) {
12166#line 1498
12167          goto case_4;
12168        } else {
12169          {
12170#line 1507
12171          __cil_tmp21 = pkt->state;
12172#line 1507
12173          __cil_tmp22 = (unsigned int )__cil_tmp21;
12174#line 1507
12175          __cil_tmp23 = (int )__cil_tmp22;
12176#line 1507
12177          if (__cil_tmp23 == 5) {
12178#line 1507
12179            goto case_5;
12180          } else {
12181#line 1512
12182            goto switch_default;
12183#line 1466
12184            if (0) {
12185              case_1: ;
12186              {
12187#line 1468
12188              __cil_tmp24 = pkt->frames;
12189#line 1468
12190              __cil_tmp25 = pkt->write_size;
12191#line 1468
12192              if (__cil_tmp25 < __cil_tmp24) {
12193                {
12194#line 1468
12195                __cil_tmp26 = pkt->sleep_time;
12196#line 1468
12197                if (__cil_tmp26 > 0L) {
12198#line 1469
12199                  return;
12200                } else {
12201
12202                }
12203                }
12204              } else {
12205
12206              }
12207              }
12208              {
12209#line 1471
12210              pkt->sleep_time = 0L;
12211#line 1472
12212              pkt_gather_data(pd, pkt);
12213#line 1473
12214              __cil_tmp27 = (enum packet_data_state )2;
12215#line 1473
12216              pkt_set_state(pkt, __cil_tmp27);
12217              }
12218#line 1474
12219              goto ldv_30995;
12220              case_2: 
12221              {
12222#line 1477
12223              __cil_tmp28 = & pkt->io_wait;
12224#line 1477
12225              __cil_tmp29 = (atomic_t const   *)__cil_tmp28;
12226#line 1477
12227              tmp = atomic_read(__cil_tmp29);
12228              }
12229#line 1477
12230              if (tmp > 0) {
12231#line 1478
12232                return;
12233              } else {
12234
12235              }
12236              {
12237#line 1480
12238              __cil_tmp30 = & pkt->io_errors;
12239#line 1480
12240              __cil_tmp31 = (atomic_t const   *)__cil_tmp30;
12241#line 1480
12242              tmp___0 = atomic_read(__cil_tmp31);
12243              }
12244#line 1480
12245              if (tmp___0 > 0) {
12246                {
12247#line 1481
12248                __cil_tmp32 = (enum packet_data_state )4;
12249#line 1481
12250                pkt_set_state(pkt, __cil_tmp32);
12251                }
12252              } else {
12253                {
12254#line 1483
12255                pkt_start_write(pd, pkt);
12256                }
12257              }
12258#line 1485
12259              goto ldv_30995;
12260              case_3: 
12261              {
12262#line 1488
12263              __cil_tmp33 = & pkt->io_wait;
12264#line 1488
12265              __cil_tmp34 = (atomic_t const   *)__cil_tmp33;
12266#line 1488
12267              tmp___1 = atomic_read(__cil_tmp34);
12268              }
12269#line 1488
12270              if (tmp___1 > 0) {
12271#line 1489
12272                return;
12273              } else {
12274
12275              }
12276              {
12277#line 1491
12278              __cil_tmp35 = pkt->w_bio;
12279#line 1491
12280              __cil_tmp36 = & __cil_tmp35->bi_flags;
12281#line 1491
12282              __cil_tmp37 = (unsigned long const volatile   *)__cil_tmp36;
12283#line 1491
12284              tmp___2 = constant_test_bit(0U, __cil_tmp37);
12285              }
12286#line 1491
12287              if (tmp___2 != 0) {
12288                {
12289#line 1492
12290                __cil_tmp38 = (enum packet_data_state )5;
12291#line 1492
12292                pkt_set_state(pkt, __cil_tmp38);
12293                }
12294              } else {
12295                {
12296#line 1494
12297                __cil_tmp39 = (enum packet_data_state )4;
12298#line 1494
12299                pkt_set_state(pkt, __cil_tmp39);
12300                }
12301              }
12302#line 1496
12303              goto ldv_30995;
12304              case_4: 
12305              {
12306#line 1499
12307              tmp___3 = pkt_start_recovery(pkt);
12308              }
12309#line 1499
12310              if (tmp___3 != 0) {
12311                {
12312#line 1500
12313                pkt_start_write(pd, pkt);
12314                }
12315              } else {
12316                {
12317#line 1503
12318                __cil_tmp40 = (enum packet_data_state )5;
12319#line 1503
12320                pkt_set_state(pkt, __cil_tmp40);
12321                }
12322              }
12323#line 1505
12324              goto ldv_30995;
12325              case_5: 
12326              {
12327#line 1508
12328              __cil_tmp41 = pkt->w_bio;
12329#line 1508
12330              __cil_tmp42 = & __cil_tmp41->bi_flags;
12331#line 1508
12332              __cil_tmp43 = (unsigned long const volatile   *)__cil_tmp42;
12333#line 1508
12334              uptodate = constant_test_bit(0U, __cil_tmp43);
12335#line 1509
12336              pkt_finish_packet(pkt, uptodate);
12337              }
12338#line 1510
12339              return;
12340              switch_default: 
12341#line 1513
12342              __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/pktcdvd.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/pktcdvd.c.p"),
12343                                   "i" (1513), "i" (12UL));
12344              ldv_31001: ;
12345#line 1513
12346              goto ldv_31001;
12347            } else {
12348
12349            }
12350          }
12351          }
12352        }
12353        }
12354      }
12355      }
12356    }
12357    }
12358  }
12359  }
12360  ldv_30995: ;
12361#line 1516
12362  goto ldv_31002;
12363}
12364}
12365#line 1519 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
12366static void pkt_handle_packets(struct pktcdvd_device *pd ) 
12367{ struct packet_data *pkt ;
12368  struct packet_data *next ;
12369  struct list_head  const  *__mptr ;
12370  int tmp ;
12371  struct list_head  const  *__mptr___0 ;
12372  struct list_head  const  *__mptr___1 ;
12373  struct list_head  const  *__mptr___2 ;
12374  struct list_head  const  *__mptr___3 ;
12375  struct list_head *__cil_tmp10 ;
12376  atomic_t *__cil_tmp11 ;
12377  atomic_t const   *__cil_tmp12 ;
12378  atomic_t *__cil_tmp13 ;
12379  struct list_head *__cil_tmp14 ;
12380  struct list_head *__cil_tmp15 ;
12381  unsigned long __cil_tmp16 ;
12382  struct list_head *__cil_tmp17 ;
12383  unsigned long __cil_tmp18 ;
12384  spinlock_t *__cil_tmp19 ;
12385  struct list_head *__cil_tmp20 ;
12386  struct list_head *__cil_tmp21 ;
12387  enum packet_data_state __cil_tmp22 ;
12388  unsigned int __cil_tmp23 ;
12389  struct list_head *__cil_tmp24 ;
12390  enum packet_data_state __cil_tmp25 ;
12391  atomic_t *__cil_tmp26 ;
12392  struct list_head *__cil_tmp27 ;
12393  struct list_head *__cil_tmp28 ;
12394  unsigned long __cil_tmp29 ;
12395  struct list_head *__cil_tmp30 ;
12396  unsigned long __cil_tmp31 ;
12397  spinlock_t *__cil_tmp32 ;
12398
12399  {
12400#line 1528
12401  __cil_tmp10 = pd->cdrw.pkt_active_list.next;
12402#line 1528
12403  __mptr = (struct list_head  const  *)__cil_tmp10;
12404#line 1528
12405  pkt = (struct packet_data *)__mptr;
12406#line 1528
12407  goto ldv_31013;
12408  ldv_31012: 
12409  {
12410#line 1529
12411  __cil_tmp11 = & pkt->run_sm;
12412#line 1529
12413  __cil_tmp12 = (atomic_t const   *)__cil_tmp11;
12414#line 1529
12415  tmp = atomic_read(__cil_tmp12);
12416  }
12417#line 1529
12418  if (tmp > 0) {
12419    {
12420#line 1530
12421    __cil_tmp13 = & pkt->run_sm;
12422#line 1530
12423    atomic_set(__cil_tmp13, 0);
12424#line 1531
12425    pkt_run_state_machine(pd, pkt);
12426    }
12427  } else {
12428
12429  }
12430#line 1528
12431  __cil_tmp14 = pkt->list.next;
12432#line 1528
12433  __mptr___0 = (struct list_head  const  *)__cil_tmp14;
12434#line 1528
12435  pkt = (struct packet_data *)__mptr___0;
12436  ldv_31013: ;
12437  {
12438#line 1528
12439  __cil_tmp15 = & pd->cdrw.pkt_active_list;
12440#line 1528
12441  __cil_tmp16 = (unsigned long )__cil_tmp15;
12442#line 1528
12443  __cil_tmp17 = & pkt->list;
12444#line 1528
12445  __cil_tmp18 = (unsigned long )__cil_tmp17;
12446#line 1528
12447  if (__cil_tmp18 != __cil_tmp16) {
12448#line 1529
12449    goto ldv_31012;
12450  } else {
12451#line 1531
12452    goto ldv_31014;
12453  }
12454  }
12455  ldv_31014: 
12456  {
12457#line 1538
12458  __cil_tmp19 = & pd->cdrw.active_list_lock;
12459#line 1538
12460  spin_lock(__cil_tmp19);
12461#line 1539
12462  __cil_tmp20 = pd->cdrw.pkt_active_list.next;
12463#line 1539
12464  __mptr___1 = (struct list_head  const  *)__cil_tmp20;
12465#line 1539
12466  pkt = (struct packet_data *)__mptr___1;
12467#line 1539
12468  __cil_tmp21 = pkt->list.next;
12469#line 1539
12470  __mptr___2 = (struct list_head  const  *)__cil_tmp21;
12471#line 1539
12472  next = (struct packet_data *)__mptr___2;
12473  }
12474#line 1539
12475  goto ldv_31022;
12476  ldv_31021: ;
12477  {
12478#line 1540
12479  __cil_tmp22 = pkt->state;
12480#line 1540
12481  __cil_tmp23 = (unsigned int )__cil_tmp22;
12482#line 1540
12483  if (__cil_tmp23 == 5U) {
12484    {
12485#line 1541
12486    __cil_tmp24 = & pkt->list;
12487#line 1541
12488    list_del(__cil_tmp24);
12489#line 1542
12490    pkt_put_packet_data(pd, pkt);
12491#line 1543
12492    __cil_tmp25 = (enum packet_data_state )0;
12493#line 1543
12494    pkt_set_state(pkt, __cil_tmp25);
12495#line 1544
12496    __cil_tmp26 = & pd->scan_queue;
12497#line 1544
12498    atomic_set(__cil_tmp26, 1);
12499    }
12500  } else {
12501
12502  }
12503  }
12504#line 1539
12505  pkt = next;
12506#line 1539
12507  __cil_tmp27 = next->list.next;
12508#line 1539
12509  __mptr___3 = (struct list_head  const  *)__cil_tmp27;
12510#line 1539
12511  next = (struct packet_data *)__mptr___3;
12512  ldv_31022: ;
12513  {
12514#line 1539
12515  __cil_tmp28 = & pd->cdrw.pkt_active_list;
12516#line 1539
12517  __cil_tmp29 = (unsigned long )__cil_tmp28;
12518#line 1539
12519  __cil_tmp30 = & pkt->list;
12520#line 1539
12521  __cil_tmp31 = (unsigned long )__cil_tmp30;
12522#line 1539
12523  if (__cil_tmp31 != __cil_tmp29) {
12524#line 1540
12525    goto ldv_31021;
12526  } else {
12527#line 1542
12528    goto ldv_31023;
12529  }
12530  }
12531  ldv_31023: 
12532  {
12533#line 1547
12534  __cil_tmp32 = & pd->cdrw.active_list_lock;
12535#line 1547
12536  spin_unlock(__cil_tmp32);
12537  }
12538#line 1548
12539  return;
12540}
12541}
12542#line 1550 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
12543static void pkt_count_states(struct pktcdvd_device *pd , int *states ) 
12544{ struct packet_data *pkt ;
12545  int i ;
12546  struct list_head  const  *__mptr ;
12547  struct list_head  const  *__mptr___0 ;
12548  unsigned long __cil_tmp7 ;
12549  int *__cil_tmp8 ;
12550  spinlock_t *__cil_tmp9 ;
12551  struct list_head *__cil_tmp10 ;
12552  enum packet_data_state __cil_tmp11 ;
12553  unsigned long __cil_tmp12 ;
12554  int *__cil_tmp13 ;
12555  enum packet_data_state __cil_tmp14 ;
12556  unsigned long __cil_tmp15 ;
12557  int *__cil_tmp16 ;
12558  int __cil_tmp17 ;
12559  struct list_head *__cil_tmp18 ;
12560  struct list_head *__cil_tmp19 ;
12561  unsigned long __cil_tmp20 ;
12562  struct list_head *__cil_tmp21 ;
12563  unsigned long __cil_tmp22 ;
12564  spinlock_t *__cil_tmp23 ;
12565
12566  {
12567#line 1555
12568  i = 0;
12569#line 1555
12570  goto ldv_31031;
12571  ldv_31030: 
12572#line 1556
12573  __cil_tmp7 = (unsigned long )i;
12574#line 1556
12575  __cil_tmp8 = states + __cil_tmp7;
12576#line 1556
12577  *__cil_tmp8 = 0;
12578#line 1555
12579  i = i + 1;
12580  ldv_31031: ;
12581#line 1555
12582  if (i <= 5) {
12583#line 1556
12584    goto ldv_31030;
12585  } else {
12586#line 1558
12587    goto ldv_31032;
12588  }
12589  ldv_31032: 
12590  {
12591#line 1558
12592  __cil_tmp9 = & pd->cdrw.active_list_lock;
12593#line 1558
12594  spin_lock(__cil_tmp9);
12595#line 1559
12596  __cil_tmp10 = pd->cdrw.pkt_active_list.next;
12597#line 1559
12598  __mptr = (struct list_head  const  *)__cil_tmp10;
12599#line 1559
12600  pkt = (struct packet_data *)__mptr;
12601  }
12602#line 1559
12603  goto ldv_31038;
12604  ldv_31037: 
12605#line 1560
12606  __cil_tmp11 = pkt->state;
12607#line 1560
12608  __cil_tmp12 = (unsigned long )__cil_tmp11;
12609#line 1560
12610  __cil_tmp13 = states + __cil_tmp12;
12611#line 1560
12612  __cil_tmp14 = pkt->state;
12613#line 1560
12614  __cil_tmp15 = (unsigned long )__cil_tmp14;
12615#line 1560
12616  __cil_tmp16 = states + __cil_tmp15;
12617#line 1560
12618  __cil_tmp17 = *__cil_tmp16;
12619#line 1560
12620  *__cil_tmp13 = __cil_tmp17 + 1;
12621#line 1559
12622  __cil_tmp18 = pkt->list.next;
12623#line 1559
12624  __mptr___0 = (struct list_head  const  *)__cil_tmp18;
12625#line 1559
12626  pkt = (struct packet_data *)__mptr___0;
12627  ldv_31038: ;
12628  {
12629#line 1559
12630  __cil_tmp19 = & pd->cdrw.pkt_active_list;
12631#line 1559
12632  __cil_tmp20 = (unsigned long )__cil_tmp19;
12633#line 1559
12634  __cil_tmp21 = & pkt->list;
12635#line 1559
12636  __cil_tmp22 = (unsigned long )__cil_tmp21;
12637#line 1559
12638  if (__cil_tmp22 != __cil_tmp20) {
12639#line 1560
12640    goto ldv_31037;
12641  } else {
12642#line 1562
12643    goto ldv_31039;
12644  }
12645  }
12646  ldv_31039: 
12647  {
12648#line 1562
12649  __cil_tmp23 = & pd->cdrw.active_list_lock;
12650#line 1562
12651  spin_unlock(__cil_tmp23);
12652  }
12653#line 1563
12654  return;
12655}
12656}
12657#line 1569 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
12658static int kcdrwd(void *foobar ) 
12659{ struct pktcdvd_device *pd ;
12660  struct packet_data *pkt ;
12661  long min_sleep_time ;
12662  long residue ;
12663  struct task_struct *tmp ;
12664  wait_queue_t wait ;
12665  struct task_struct *tmp___0 ;
12666  long volatile   __x ;
12667  u8 volatile   *__ptr ;
12668  struct task_struct *tmp___1 ;
12669  u16 volatile   *__ptr___0 ;
12670  struct task_struct *tmp___2 ;
12671  u32 volatile   *__ptr___1 ;
12672  struct task_struct *tmp___3 ;
12673  u64 volatile   *__ptr___2 ;
12674  struct task_struct *tmp___4 ;
12675  int tmp___5 ;
12676  struct list_head  const  *__mptr ;
12677  int tmp___6 ;
12678  struct list_head  const  *__mptr___0 ;
12679  int tmp___7 ;
12680  struct list_head  const  *__mptr___1 ;
12681  struct list_head  const  *__mptr___2 ;
12682  struct list_head  const  *__mptr___3 ;
12683  struct list_head  const  *__mptr___4 ;
12684  int tmp___8 ;
12685  long volatile   __x___0 ;
12686  u8 volatile   *__ptr___3 ;
12687  struct task_struct *tmp___9 ;
12688  u16 volatile   *__ptr___4 ;
12689  struct task_struct *tmp___10 ;
12690  u32 volatile   *__ptr___5 ;
12691  struct task_struct *tmp___11 ;
12692  u64 volatile   *__ptr___6 ;
12693  struct task_struct *tmp___12 ;
12694  int tmp___13 ;
12695  int tmp___14 ;
12696  wait_queue_head_t *__cil_tmp39 ;
12697  long volatile   *__cil_tmp40 ;
12698  long volatile   *__cil_tmp41 ;
12699  long volatile   *__cil_tmp42 ;
12700  long volatile   *__cil_tmp43 ;
12701  atomic_t *__cil_tmp44 ;
12702  atomic_t const   *__cil_tmp45 ;
12703  struct list_head *__cil_tmp46 ;
12704  atomic_t *__cil_tmp47 ;
12705  atomic_t const   *__cil_tmp48 ;
12706  struct list_head *__cil_tmp49 ;
12707  struct list_head *__cil_tmp50 ;
12708  unsigned long __cil_tmp51 ;
12709  struct list_head *__cil_tmp52 ;
12710  unsigned long __cil_tmp53 ;
12711  atomic_t *__cil_tmp54 ;
12712  atomic_t const   *__cil_tmp55 ;
12713  struct list_head *__cil_tmp56 ;
12714  long __cil_tmp57 ;
12715  long __cil_tmp58 ;
12716  struct list_head *__cil_tmp59 ;
12717  struct list_head *__cil_tmp60 ;
12718  unsigned long __cil_tmp61 ;
12719  struct list_head *__cil_tmp62 ;
12720  unsigned long __cil_tmp63 ;
12721  struct list_head *__cil_tmp64 ;
12722  long __cil_tmp65 ;
12723  long __cil_tmp66 ;
12724  long __cil_tmp67 ;
12725  long __cil_tmp68 ;
12726  atomic_t *__cil_tmp69 ;
12727  struct list_head *__cil_tmp70 ;
12728  struct list_head *__cil_tmp71 ;
12729  unsigned long __cil_tmp72 ;
12730  struct list_head *__cil_tmp73 ;
12731  unsigned long __cil_tmp74 ;
12732  long volatile   *__cil_tmp75 ;
12733  long volatile   *__cil_tmp76 ;
12734  long volatile   *__cil_tmp77 ;
12735  long volatile   *__cil_tmp78 ;
12736  wait_queue_head_t *__cil_tmp79 ;
12737
12738  {
12739  {
12740#line 1571
12741  pd = (struct pktcdvd_device *)foobar;
12742#line 1575
12743  tmp = get_current();
12744#line 1575
12745  set_user_nice(tmp, -20L);
12746#line 1576
12747  set_freezable();
12748  }
12749  ldv_31102: 
12750  {
12751#line 1579
12752  tmp___0 = get_current();
12753#line 1579
12754  wait.flags = 0U;
12755#line 1579
12756  wait.private = (void *)tmp___0;
12757#line 1579
12758  wait.func = & default_wake_function;
12759#line 1579
12760  wait.task_list.next = (struct list_head *)0;
12761#line 1579
12762  wait.task_list.prev = (struct list_head *)0;
12763#line 1584
12764  __cil_tmp39 = & pd->wqueue;
12765#line 1584
12766  add_wait_queue(__cil_tmp39, & wait);
12767  }
12768  ldv_31085: 
12769#line 1586
12770  __x = (long volatile   )1L;
12771#line 1586
12772  if (1) {
12773#line 1586
12774    goto case_8;
12775  } else {
12776#line 1586
12777    goto switch_default;
12778#line 1586
12779    if (0) {
12780      {
12781#line 1586
12782      tmp___1 = get_current();
12783#line 1586
12784      __cil_tmp40 = & tmp___1->state;
12785#line 1586
12786      __ptr = (u8 volatile   *)__cil_tmp40;
12787#line 1586
12788      __asm__  volatile   ("xchgb %0,%1": "=q" (__x), "+m" (*__ptr): "0" (__x): "memory");
12789      }
12790#line 1586
12791      goto ldv_31051;
12792      {
12793#line 1586
12794      tmp___2 = get_current();
12795#line 1586
12796      __cil_tmp41 = & tmp___2->state;
12797#line 1586
12798      __ptr___0 = (u16 volatile   *)__cil_tmp41;
12799#line 1586
12800      __asm__  volatile   ("xchgw %0,%1": "=r" (__x), "+m" (*__ptr___0): "0" (__x): "memory");
12801      }
12802#line 1586
12803      goto ldv_31051;
12804      {
12805#line 1586
12806      tmp___3 = get_current();
12807#line 1586
12808      __cil_tmp42 = & tmp___3->state;
12809#line 1586
12810      __ptr___1 = (u32 volatile   *)__cil_tmp42;
12811#line 1586
12812      __asm__  volatile   ("xchgl %0,%1": "=r" (__x), "+m" (*__ptr___1): "0" (__x): "memory");
12813      }
12814#line 1586
12815      goto ldv_31051;
12816      case_8: 
12817      {
12818#line 1586
12819      tmp___4 = get_current();
12820#line 1586
12821      __cil_tmp43 = & tmp___4->state;
12822#line 1586
12823      __ptr___2 = (u64 volatile   *)__cil_tmp43;
12824#line 1586
12825      __asm__  volatile   ("xchgq %0,%1": "=r" (__x), "+m" (*__ptr___2): "0" (__x): "memory");
12826      }
12827#line 1586
12828      goto ldv_31051;
12829      switch_default: 
12830      {
12831#line 1586
12832      __xchg_wrong_size();
12833      }
12834    } else {
12835
12836    }
12837  }
12838  ldv_31051: 
12839  {
12840#line 1589
12841  __cil_tmp44 = & pd->scan_queue;
12842#line 1589
12843  __cil_tmp45 = (atomic_t const   *)__cil_tmp44;
12844#line 1589
12845  tmp___5 = atomic_read(__cil_tmp45);
12846  }
12847#line 1589
12848  if (tmp___5 > 0) {
12849#line 1590
12850    goto work_to_do;
12851  } else {
12852
12853  }
12854#line 1593
12855  __cil_tmp46 = pd->cdrw.pkt_active_list.next;
12856#line 1593
12857  __mptr = (struct list_head  const  *)__cil_tmp46;
12858#line 1593
12859  pkt = (struct packet_data *)__mptr;
12860#line 1593
12861  goto ldv_31066;
12862  ldv_31065: 
12863  {
12864#line 1594
12865  __cil_tmp47 = & pkt->run_sm;
12866#line 1594
12867  __cil_tmp48 = (atomic_t const   *)__cil_tmp47;
12868#line 1594
12869  tmp___6 = atomic_read(__cil_tmp48);
12870  }
12871#line 1594
12872  if (tmp___6 > 0) {
12873#line 1595
12874    goto work_to_do;
12875  } else {
12876
12877  }
12878#line 1593
12879  __cil_tmp49 = pkt->list.next;
12880#line 1593
12881  __mptr___0 = (struct list_head  const  *)__cil_tmp49;
12882#line 1593
12883  pkt = (struct packet_data *)__mptr___0;
12884  ldv_31066: ;
12885  {
12886#line 1593
12887  __cil_tmp50 = & pd->cdrw.pkt_active_list;
12888#line 1593
12889  __cil_tmp51 = (unsigned long )__cil_tmp50;
12890#line 1593
12891  __cil_tmp52 = & pkt->list;
12892#line 1593
12893  __cil_tmp53 = (unsigned long )__cil_tmp52;
12894#line 1593
12895  if (__cil_tmp53 != __cil_tmp51) {
12896#line 1594
12897    goto ldv_31065;
12898  } else {
12899#line 1596
12900    goto ldv_31067;
12901  }
12902  }
12903  ldv_31067: 
12904  {
12905#line 1599
12906  __cil_tmp54 = & pd->iosched.attention;
12907#line 1599
12908  __cil_tmp55 = (atomic_t const   *)__cil_tmp54;
12909#line 1599
12910  tmp___7 = atomic_read(__cil_tmp55);
12911  }
12912#line 1599
12913  if (tmp___7 != 0) {
12914#line 1600
12915    goto work_to_do;
12916  } else {
12917
12918  }
12919#line 1611
12920  min_sleep_time = 9223372036854775807L;
12921#line 1612
12922  __cil_tmp56 = pd->cdrw.pkt_active_list.next;
12923#line 1612
12924  __mptr___1 = (struct list_head  const  *)__cil_tmp56;
12925#line 1612
12926  pkt = (struct packet_data *)__mptr___1;
12927#line 1612
12928  goto ldv_31074;
12929  ldv_31073: ;
12930  {
12931#line 1613
12932  __cil_tmp57 = pkt->sleep_time;
12933#line 1613
12934  if (__cil_tmp57 != 0L) {
12935    {
12936#line 1613
12937    __cil_tmp58 = pkt->sleep_time;
12938#line 1613
12939    if (__cil_tmp58 < min_sleep_time) {
12940#line 1614
12941      min_sleep_time = pkt->sleep_time;
12942    } else {
12943
12944    }
12945    }
12946  } else {
12947
12948  }
12949  }
12950#line 1612
12951  __cil_tmp59 = pkt->list.next;
12952#line 1612
12953  __mptr___2 = (struct list_head  const  *)__cil_tmp59;
12954#line 1612
12955  pkt = (struct packet_data *)__mptr___2;
12956  ldv_31074: ;
12957  {
12958#line 1612
12959  __cil_tmp60 = & pd->cdrw.pkt_active_list;
12960#line 1612
12961  __cil_tmp61 = (unsigned long )__cil_tmp60;
12962#line 1612
12963  __cil_tmp62 = & pkt->list;
12964#line 1612
12965  __cil_tmp63 = (unsigned long )__cil_tmp62;
12966#line 1612
12967  if (__cil_tmp63 != __cil_tmp61) {
12968#line 1613
12969    goto ldv_31073;
12970  } else {
12971#line 1615
12972    goto ldv_31075;
12973  }
12974  }
12975  ldv_31075: 
12976  {
12977#line 1618
12978  residue = schedule_timeout(min_sleep_time);
12979#line 1622
12980  try_to_freeze();
12981#line 1624
12982  __cil_tmp64 = pd->cdrw.pkt_active_list.next;
12983#line 1624
12984  __mptr___3 = (struct list_head  const  *)__cil_tmp64;
12985#line 1624
12986  pkt = (struct packet_data *)__mptr___3;
12987  }
12988#line 1624
12989  goto ldv_31082;
12990  ldv_31081: ;
12991  {
12992#line 1625
12993  __cil_tmp65 = pkt->sleep_time;
12994#line 1625
12995  if (__cil_tmp65 == 0L) {
12996#line 1626
12997    goto ldv_31080;
12998  } else {
12999
13000  }
13001  }
13002#line 1627
13003  __cil_tmp66 = residue - min_sleep_time;
13004#line 1627
13005  __cil_tmp67 = pkt->sleep_time;
13006#line 1627
13007  pkt->sleep_time = __cil_tmp67 + __cil_tmp66;
13008  {
13009#line 1628
13010  __cil_tmp68 = pkt->sleep_time;
13011#line 1628
13012  if (__cil_tmp68 <= 0L) {
13013    {
13014#line 1629
13015    pkt->sleep_time = 0L;
13016#line 1630
13017    __cil_tmp69 = & pkt->run_sm;
13018#line 1630
13019    atomic_inc(__cil_tmp69);
13020    }
13021  } else {
13022
13023  }
13024  }
13025  ldv_31080: 
13026#line 1624
13027  __cil_tmp70 = pkt->list.next;
13028#line 1624
13029  __mptr___4 = (struct list_head  const  *)__cil_tmp70;
13030#line 1624
13031  pkt = (struct packet_data *)__mptr___4;
13032  ldv_31082: ;
13033  {
13034#line 1624
13035  __cil_tmp71 = & pd->cdrw.pkt_active_list;
13036#line 1624
13037  __cil_tmp72 = (unsigned long )__cil_tmp71;
13038#line 1624
13039  __cil_tmp73 = & pkt->list;
13040#line 1624
13041  __cil_tmp74 = (unsigned long )__cil_tmp73;
13042#line 1624
13043  if (__cil_tmp74 != __cil_tmp72) {
13044#line 1625
13045    goto ldv_31081;
13046  } else {
13047#line 1627
13048    goto ldv_31083;
13049  }
13050  }
13051  ldv_31083: 
13052  {
13053#line 1634
13054  tmp___8 = kthread_should_stop();
13055  }
13056#line 1634
13057  if (tmp___8 != 0) {
13058#line 1635
13059    goto ldv_31084;
13060  } else {
13061
13062  }
13063#line 1636
13064  goto ldv_31085;
13065  ldv_31084: ;
13066  work_to_do: 
13067#line 1638
13068  __x___0 = (long volatile   )0L;
13069#line 1638
13070  if (1) {
13071#line 1638
13072    goto case_8___0;
13073  } else {
13074#line 1638
13075    goto switch_default___0;
13076#line 1638
13077    if (0) {
13078      {
13079#line 1638
13080      tmp___9 = get_current();
13081#line 1638
13082      __cil_tmp75 = & tmp___9->state;
13083#line 1638
13084      __ptr___3 = (u8 volatile   *)__cil_tmp75;
13085#line 1638
13086      __asm__  volatile   ("xchgb %0,%1": "=q" (__x___0), "+m" (*__ptr___3): "0" (__x___0): "memory");
13087      }
13088#line 1638
13089      goto ldv_31089;
13090      {
13091#line 1638
13092      tmp___10 = get_current();
13093#line 1638
13094      __cil_tmp76 = & tmp___10->state;
13095#line 1638
13096      __ptr___4 = (u16 volatile   *)__cil_tmp76;
13097#line 1638
13098      __asm__  volatile   ("xchgw %0,%1": "=r" (__x___0), "+m" (*__ptr___4): "0" (__x___0): "memory");
13099      }
13100#line 1638
13101      goto ldv_31089;
13102      {
13103#line 1638
13104      tmp___11 = get_current();
13105#line 1638
13106      __cil_tmp77 = & tmp___11->state;
13107#line 1638
13108      __ptr___5 = (u32 volatile   *)__cil_tmp77;
13109#line 1638
13110      __asm__  volatile   ("xchgl %0,%1": "=r" (__x___0), "+m" (*__ptr___5): "0" (__x___0): "memory");
13111      }
13112#line 1638
13113      goto ldv_31089;
13114      case_8___0: 
13115      {
13116#line 1638
13117      tmp___12 = get_current();
13118#line 1638
13119      __cil_tmp78 = & tmp___12->state;
13120#line 1638
13121      __ptr___6 = (u64 volatile   *)__cil_tmp78;
13122#line 1638
13123      __asm__  volatile   ("xchgq %0,%1": "=r" (__x___0), "+m" (*__ptr___6): "0" (__x___0): "memory");
13124      }
13125#line 1638
13126      goto ldv_31089;
13127      switch_default___0: 
13128      {
13129#line 1638
13130      __xchg_wrong_size();
13131      }
13132    } else {
13133
13134    }
13135  }
13136  ldv_31089: 
13137  {
13138#line 1639
13139  __cil_tmp79 = & pd->wqueue;
13140#line 1639
13141  remove_wait_queue(__cil_tmp79, & wait);
13142#line 1641
13143  tmp___13 = kthread_should_stop();
13144  }
13145#line 1641
13146  if (tmp___13 != 0) {
13147#line 1642
13148    goto ldv_31098;
13149  } else {
13150
13151  }
13152#line 1648
13153  goto ldv_31100;
13154  ldv_31099: ;
13155  ldv_31100: 
13156  {
13157#line 1648
13158  tmp___14 = pkt_handle_queue(pd);
13159  }
13160#line 1648
13161  if (tmp___14 != 0) {
13162#line 1649
13163    goto ldv_31099;
13164  } else {
13165#line 1651
13166    goto ldv_31101;
13167  }
13168  ldv_31101: 
13169  {
13170#line 1654
13171  pkt_handle_packets(pd);
13172#line 1659
13173  pkt_iosched_process_queue(pd);
13174  }
13175#line 1660
13176  goto ldv_31102;
13177  ldv_31098: ;
13178#line 1662
13179  return (0);
13180}
13181}
13182#line 1665 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13183static void pkt_print_settings(struct pktcdvd_device *pd ) 
13184{ char *tmp ;
13185  int tmp___0 ;
13186  __u8 __cil_tmp4 ;
13187  unsigned int __cil_tmp5 ;
13188  __u32 __cil_tmp6 ;
13189  __u32 __cil_tmp7 ;
13190  __u8 __cil_tmp8 ;
13191  unsigned int __cil_tmp9 ;
13192
13193  {
13194  {
13195#line 1667
13196  __cil_tmp4 = pd->settings.fp;
13197#line 1667
13198  __cil_tmp5 = (unsigned int )__cil_tmp4;
13199#line 1667
13200  if (__cil_tmp5 != 0U) {
13201#line 1667
13202    tmp = (char *)"Fixed";
13203  } else {
13204#line 1667
13205    tmp = (char *)"Variable";
13206  }
13207  }
13208  {
13209#line 1667
13210  printk("pktcdvd: %s packets, ", tmp);
13211#line 1668
13212  __cil_tmp6 = pd->settings.size;
13213#line 1668
13214  __cil_tmp7 = __cil_tmp6 >> 2;
13215#line 1668
13216  printk("%u blocks, ", __cil_tmp7);
13217  }
13218  {
13219#line 1669
13220  __cil_tmp8 = pd->settings.block_mode;
13221#line 1669
13222  __cil_tmp9 = (unsigned int )__cil_tmp8;
13223#line 1669
13224  if (__cil_tmp9 == 8U) {
13225#line 1669
13226    tmp___0 = 49;
13227  } else {
13228#line 1669
13229    tmp___0 = 50;
13230  }
13231  }
13232  {
13233#line 1669
13234  printk("Mode-%c disc\n", tmp___0);
13235  }
13236#line 1670
13237  return;
13238}
13239}
13240#line 1672 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13241static int pkt_mode_sense(struct pktcdvd_device *pd , struct packet_command *cgc ,
13242                          int page_code , int page_control ) 
13243{ int tmp ;
13244  unsigned char (*__cil_tmp6)[12U] ;
13245  void *__cil_tmp7 ;
13246  signed char __cil_tmp8 ;
13247  int __cil_tmp9 ;
13248  int __cil_tmp10 ;
13249  signed char __cil_tmp11 ;
13250  int __cil_tmp12 ;
13251  int __cil_tmp13 ;
13252  unsigned int __cil_tmp14 ;
13253  unsigned int __cil_tmp15 ;
13254  unsigned int __cil_tmp16 ;
13255
13256  {
13257  {
13258#line 1674
13259  __cil_tmp6 = & cgc->cmd;
13260#line 1674
13261  __cil_tmp7 = (void *)__cil_tmp6;
13262#line 1674
13263  memset(__cil_tmp7, 0, 12UL);
13264#line 1676
13265  cgc->cmd[0] = (unsigned char)90;
13266#line 1677
13267  __cil_tmp8 = (signed char )page_code;
13268#line 1677
13269  __cil_tmp9 = (int )__cil_tmp8;
13270#line 1677
13271  __cil_tmp10 = page_control << 6;
13272#line 1677
13273  __cil_tmp11 = (signed char )__cil_tmp10;
13274#line 1677
13275  __cil_tmp12 = (int )__cil_tmp11;
13276#line 1677
13277  __cil_tmp13 = __cil_tmp12 | __cil_tmp9;
13278#line 1677
13279  cgc->cmd[2] = (unsigned char )__cil_tmp13;
13280#line 1678
13281  __cil_tmp14 = cgc->buflen;
13282#line 1678
13283  __cil_tmp15 = __cil_tmp14 >> 8;
13284#line 1678
13285  cgc->cmd[7] = (unsigned char )__cil_tmp15;
13286#line 1679
13287  __cil_tmp16 = cgc->buflen;
13288#line 1679
13289  cgc->cmd[8] = (unsigned char )__cil_tmp16;
13290#line 1680
13291  cgc->data_direction = (unsigned char)2;
13292#line 1681
13293  tmp = pkt_generic_packet(pd, cgc);
13294  }
13295#line 1681
13296  return (tmp);
13297}
13298}
13299#line 1684 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13300static int pkt_mode_select(struct pktcdvd_device *pd , struct packet_command *cgc ) 
13301{ int tmp ;
13302  unsigned char (*__cil_tmp4)[12U] ;
13303  void *__cil_tmp5 ;
13304  unsigned char *__cil_tmp6 ;
13305  void *__cil_tmp7 ;
13306  unsigned int __cil_tmp8 ;
13307  unsigned int __cil_tmp9 ;
13308  unsigned int __cil_tmp10 ;
13309
13310  {
13311  {
13312#line 1686
13313  __cil_tmp4 = & cgc->cmd;
13314#line 1686
13315  __cil_tmp5 = (void *)__cil_tmp4;
13316#line 1686
13317  memset(__cil_tmp5, 0, 12UL);
13318#line 1687
13319  __cil_tmp6 = cgc->buffer;
13320#line 1687
13321  __cil_tmp7 = (void *)__cil_tmp6;
13322#line 1687
13323  memset(__cil_tmp7, 0, 2UL);
13324#line 1688
13325  cgc->cmd[0] = (unsigned char)85;
13326#line 1689
13327  cgc->cmd[1] = (unsigned char)16;
13328#line 1690
13329  __cil_tmp8 = cgc->buflen;
13330#line 1690
13331  __cil_tmp9 = __cil_tmp8 >> 8;
13332#line 1690
13333  cgc->cmd[7] = (unsigned char )__cil_tmp9;
13334#line 1691
13335  __cil_tmp10 = cgc->buflen;
13336#line 1691
13337  cgc->cmd[8] = (unsigned char )__cil_tmp10;
13338#line 1692
13339  cgc->data_direction = (unsigned char)1;
13340#line 1693
13341  tmp = pkt_generic_packet(pd, cgc);
13342  }
13343#line 1693
13344  return (tmp);
13345}
13346}
13347#line 1696 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13348static int pkt_get_disc_info(struct pktcdvd_device *pd , disc_information *di ) 
13349{ struct packet_command cgc ;
13350  int ret ;
13351  __u16 tmp ;
13352  int tmp___0 ;
13353  void *__cil_tmp7 ;
13354  __be16 __cil_tmp8 ;
13355  int __cil_tmp9 ;
13356  __u16 __cil_tmp10 ;
13357  unsigned int __cil_tmp11 ;
13358
13359  {
13360  {
13361#line 1702
13362  __cil_tmp7 = (void *)di;
13363#line 1702
13364  init_cdrom_command(& cgc, __cil_tmp7, 36, 2);
13365#line 1703
13366  cgc.cmd[0] = (unsigned char)81;
13367#line 1704
13368  cgc.buflen = 2U;
13369#line 1704
13370  cgc.cmd[8] = (unsigned char)2;
13371#line 1705
13372  cgc.quiet = 1;
13373#line 1707
13374  ret = pkt_generic_packet(pd, & cgc);
13375  }
13376#line 1707
13377  if (ret != 0) {
13378#line 1708
13379    return (ret);
13380  } else {
13381
13382  }
13383  {
13384#line 1713
13385  __cil_tmp8 = di->disc_information_length;
13386#line 1713
13387  __cil_tmp9 = (int )__cil_tmp8;
13388#line 1713
13389  __cil_tmp10 = (__u16 )__cil_tmp9;
13390#line 1713
13391  tmp = __fswab16(__cil_tmp10);
13392#line 1713
13393  __cil_tmp11 = (unsigned int )tmp;
13394#line 1713
13395  cgc.buflen = __cil_tmp11 + 2U;
13396  }
13397#line 1716
13398  if (cgc.buflen > 36U) {
13399#line 1717
13400    cgc.buflen = 36U;
13401  } else {
13402
13403  }
13404  {
13405#line 1719
13406  cgc.cmd[8] = (unsigned char )cgc.buflen;
13407#line 1720
13408  tmp___0 = pkt_generic_packet(pd, & cgc);
13409  }
13410#line 1720
13411  return (tmp___0);
13412}
13413}
13414#line 1723 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13415static int pkt_get_track_info(struct pktcdvd_device *pd , __u16 track , __u8 type ,
13416                              track_information *ti ) 
13417{ struct packet_command cgc ;
13418  int ret ;
13419  __u16 tmp ;
13420  int tmp___0 ;
13421  void *__cil_tmp9 ;
13422  unsigned int __cil_tmp10 ;
13423  unsigned int __cil_tmp11 ;
13424  int __cil_tmp12 ;
13425  int __cil_tmp13 ;
13426  __be16 __cil_tmp14 ;
13427  int __cil_tmp15 ;
13428  __u16 __cil_tmp16 ;
13429  unsigned int __cil_tmp17 ;
13430
13431  {
13432  {
13433#line 1728
13434  __cil_tmp9 = (void *)ti;
13435#line 1728
13436  init_cdrom_command(& cgc, __cil_tmp9, 8, 2);
13437#line 1729
13438  cgc.cmd[0] = (unsigned char)82;
13439#line 1730
13440  __cil_tmp10 = (unsigned int )type;
13441#line 1730
13442  __cil_tmp11 = __cil_tmp10 & 3U;
13443#line 1730
13444  cgc.cmd[1] = (unsigned char )__cil_tmp11;
13445#line 1731
13446  __cil_tmp12 = (int )track;
13447#line 1731
13448  __cil_tmp13 = __cil_tmp12 >> 8;
13449#line 1731
13450  cgc.cmd[4] = (unsigned char )__cil_tmp13;
13451#line 1732
13452  cgc.cmd[5] = (unsigned char )track;
13453#line 1733
13454  cgc.cmd[8] = (unsigned char)8;
13455#line 1734
13456  cgc.quiet = 1;
13457#line 1736
13458  ret = pkt_generic_packet(pd, & cgc);
13459  }
13460#line 1736
13461  if (ret != 0) {
13462#line 1737
13463    return (ret);
13464  } else {
13465
13466  }
13467  {
13468#line 1739
13469  __cil_tmp14 = ti->track_information_length;
13470#line 1739
13471  __cil_tmp15 = (int )__cil_tmp14;
13472#line 1739
13473  __cil_tmp16 = (__u16 )__cil_tmp15;
13474#line 1739
13475  tmp = __fswab16(__cil_tmp16);
13476#line 1739
13477  __cil_tmp17 = (unsigned int )tmp;
13478#line 1739
13479  cgc.buflen = __cil_tmp17 + 2U;
13480  }
13481#line 1742
13482  if (cgc.buflen > 32U) {
13483#line 1743
13484    cgc.buflen = 32U;
13485  } else {
13486
13487  }
13488  {
13489#line 1745
13490  cgc.cmd[8] = (unsigned char )cgc.buflen;
13491#line 1746
13492  tmp___0 = pkt_generic_packet(pd, & cgc);
13493  }
13494#line 1746
13495  return (tmp___0);
13496}
13497}
13498#line 1749 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13499static int pkt_get_last_written(struct pktcdvd_device *pd , long *last_written ) 
13500{ disc_information di ;
13501  track_information ti ;
13502  __u32 last_track ;
13503  int ret ;
13504  __u32 tmp ;
13505  __u32 tmp___0 ;
13506  __u32 tmp___1 ;
13507  __u32 tmp___2 ;
13508  int __cil_tmp11 ;
13509  int __cil_tmp12 ;
13510  int __cil_tmp13 ;
13511  int __cil_tmp14 ;
13512  __u16 __cil_tmp15 ;
13513  int __cil_tmp16 ;
13514  __u16 __cil_tmp17 ;
13515  __u8 __cil_tmp18 ;
13516  unsigned char *__cil_tmp19 ;
13517  unsigned char *__cil_tmp20 ;
13518  unsigned char __cil_tmp21 ;
13519  unsigned int __cil_tmp22 ;
13520  __u16 __cil_tmp23 ;
13521  int __cil_tmp24 ;
13522  __u16 __cil_tmp25 ;
13523  __u8 __cil_tmp26 ;
13524  unsigned char *__cil_tmp27 ;
13525  unsigned char *__cil_tmp28 ;
13526  unsigned char __cil_tmp29 ;
13527  unsigned int __cil_tmp30 ;
13528  __u32 __cil_tmp31 ;
13529  __u32 __cil_tmp32 ;
13530  long __cil_tmp33 ;
13531  long __cil_tmp34 ;
13532
13533  {
13534  {
13535#line 1755
13536  ret = -1;
13537#line 1757
13538  ret = pkt_get_disc_info(pd, & di);
13539  }
13540#line 1757
13541  if (ret != 0) {
13542#line 1758
13543    return (ret);
13544  } else {
13545
13546  }
13547  {
13548#line 1760
13549  __cil_tmp11 = (int )di.last_track_lsb;
13550#line 1760
13551  __cil_tmp12 = (int )di.last_track_msb;
13552#line 1760
13553  __cil_tmp13 = __cil_tmp12 << 8;
13554#line 1760
13555  __cil_tmp14 = __cil_tmp13 | __cil_tmp11;
13556#line 1760
13557  last_track = (__u32 )__cil_tmp14;
13558#line 1761
13559  __cil_tmp15 = (__u16 )last_track;
13560#line 1761
13561  __cil_tmp16 = (int )__cil_tmp15;
13562#line 1761
13563  __cil_tmp17 = (__u16 )__cil_tmp16;
13564#line 1761
13565  __cil_tmp18 = (__u8 )1;
13566#line 1761
13567  ret = pkt_get_track_info(pd, __cil_tmp17, __cil_tmp18, & ti);
13568  }
13569#line 1761
13570  if (ret != 0) {
13571#line 1762
13572    return (ret);
13573  } else {
13574
13575  }
13576  {
13577#line 1765
13578  __cil_tmp19 = (unsigned char *)(& ti);
13579#line 1765
13580  __cil_tmp20 = __cil_tmp19 + 6UL;
13581#line 1765
13582  __cil_tmp21 = *__cil_tmp20;
13583#line 1765
13584  __cil_tmp22 = (unsigned int )__cil_tmp21;
13585#line 1765
13586  if (__cil_tmp22 != 0U) {
13587    {
13588#line 1766
13589    last_track = last_track - 1U;
13590#line 1767
13591    __cil_tmp23 = (__u16 )last_track;
13592#line 1767
13593    __cil_tmp24 = (int )__cil_tmp23;
13594#line 1767
13595    __cil_tmp25 = (__u16 )__cil_tmp24;
13596#line 1767
13597    __cil_tmp26 = (__u8 )1;
13598#line 1767
13599    ret = pkt_get_track_info(pd, __cil_tmp25, __cil_tmp26, & ti);
13600    }
13601#line 1767
13602    if (ret != 0) {
13603#line 1768
13604      return (ret);
13605    } else {
13606
13607    }
13608  } else {
13609
13610  }
13611  }
13612  {
13613#line 1772
13614  __cil_tmp27 = (unsigned char *)(& ti);
13615#line 1772
13616  __cil_tmp28 = __cil_tmp27 + 7UL;
13617#line 1772
13618  __cil_tmp29 = *__cil_tmp28;
13619#line 1772
13620  __cil_tmp30 = (unsigned int )__cil_tmp29;
13621#line 1772
13622  if (__cil_tmp30 != 0U) {
13623    {
13624#line 1773
13625    tmp = __fswab32(ti.last_rec_address);
13626#line 1773
13627    *last_written = (long )tmp;
13628    }
13629  } else {
13630    {
13631#line 1776
13632    tmp___0 = __fswab32(ti.track_start);
13633#line 1776
13634    tmp___1 = __fswab32(ti.track_size);
13635#line 1776
13636    __cil_tmp31 = tmp___0 + tmp___1;
13637#line 1776
13638    *last_written = (long )__cil_tmp31;
13639    }
13640#line 1778
13641    if (ti.free_blocks != 0U) {
13642      {
13643#line 1779
13644      tmp___2 = __fswab32(ti.free_blocks);
13645#line 1779
13646      __cil_tmp32 = tmp___2 + 7U;
13647#line 1779
13648      __cil_tmp33 = (long )__cil_tmp32;
13649#line 1779
13650      __cil_tmp34 = *last_written;
13651#line 1779
13652      *last_written = __cil_tmp34 - __cil_tmp33;
13653      }
13654    } else {
13655
13656    }
13657  }
13658  }
13659#line 1781
13660  return (0);
13661}
13662}
13663#line 1787 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13664static int pkt_set_write_settings(struct pktcdvd_device *pd ) 
13665{ struct packet_command cgc ;
13666  struct request_sense sense ;
13667  write_param_page *wp ;
13668  char buffer[128U] ;
13669  int ret ;
13670  int size ;
13671  __u16 __cil_tmp8 ;
13672  unsigned int __cil_tmp9 ;
13673  __u16 __cil_tmp10 ;
13674  unsigned int __cil_tmp11 ;
13675  void *__cil_tmp12 ;
13676  void *__cil_tmp13 ;
13677  int __cil_tmp14 ;
13678  int __cil_tmp15 ;
13679  int __cil_tmp16 ;
13680  int __cil_tmp17 ;
13681  int __cil_tmp18 ;
13682  signed char __cil_tmp19 ;
13683  int __cil_tmp20 ;
13684  int __cil_tmp21 ;
13685  int __cil_tmp22 ;
13686  signed char __cil_tmp23 ;
13687  int __cil_tmp24 ;
13688  int __cil_tmp25 ;
13689  unsigned int __cil_tmp26 ;
13690  void *__cil_tmp27 ;
13691  __u8 __cil_tmp28 ;
13692  unsigned long __cil_tmp29 ;
13693  unsigned long __cil_tmp30 ;
13694  write_param_page *__cil_tmp31 ;
13695  unsigned char *__cil_tmp32 ;
13696  unsigned char *__cil_tmp33 ;
13697  unsigned char __cil_tmp34 ;
13698  unsigned int __cil_tmp35 ;
13699  unsigned char *__cil_tmp36 ;
13700  unsigned char *__cil_tmp37 ;
13701  unsigned char __cil_tmp38 ;
13702  unsigned int __cil_tmp39 ;
13703  unsigned char __cil_tmp40 ;
13704  int __cil_tmp41 ;
13705  __u32 __cil_tmp42 ;
13706  __u32 __cil_tmp43 ;
13707
13708  {
13709  {
13710#line 1796
13711  __cil_tmp8 = pd->mmc3_profile;
13712#line 1796
13713  __cil_tmp9 = (unsigned int )__cil_tmp8;
13714#line 1796
13715  if (__cil_tmp9 == 26U) {
13716#line 1797
13717    return (0);
13718  } else {
13719    {
13720#line 1796
13721    __cil_tmp10 = pd->mmc3_profile;
13722#line 1796
13723    __cil_tmp11 = (unsigned int )__cil_tmp10;
13724#line 1796
13725    if (__cil_tmp11 == 18U) {
13726#line 1797
13727      return (0);
13728    } else {
13729
13730    }
13731    }
13732  }
13733  }
13734  {
13735#line 1799
13736  __cil_tmp12 = (void *)(& buffer);
13737#line 1799
13738  memset(__cil_tmp12, 0, 128UL);
13739#line 1800
13740  __cil_tmp13 = (void *)(& buffer);
13741#line 1800
13742  init_cdrom_command(& cgc, __cil_tmp13, 52, 2);
13743#line 1801
13744  cgc.sense = & sense;
13745#line 1802
13746  ret = pkt_mode_sense(pd, & cgc, 5, 0);
13747  }
13748#line 1802
13749  if (ret != 0) {
13750    {
13751#line 1803
13752    pkt_dump_sense(& cgc);
13753    }
13754#line 1804
13755    return (ret);
13756  } else {
13757
13758  }
13759#line 1807
13760  __cil_tmp14 = (int )buffer[1];
13761#line 1807
13762  __cil_tmp15 = __cil_tmp14 & 255;
13763#line 1807
13764  __cil_tmp16 = (int )buffer[0];
13765#line 1807
13766  __cil_tmp17 = __cil_tmp16 << 8;
13767#line 1807
13768  __cil_tmp18 = __cil_tmp17 | __cil_tmp15;
13769#line 1807
13770  size = __cil_tmp18 + 2;
13771#line 1808
13772  __cil_tmp19 = (signed char )buffer[7];
13773#line 1808
13774  __cil_tmp20 = (int )__cil_tmp19;
13775#line 1808
13776  __cil_tmp21 = (int )buffer[6];
13777#line 1808
13778  __cil_tmp22 = __cil_tmp21 << 8;
13779#line 1808
13780  __cil_tmp23 = (signed char )__cil_tmp22;
13781#line 1808
13782  __cil_tmp24 = (int )__cil_tmp23;
13783#line 1808
13784  __cil_tmp25 = __cil_tmp24 | __cil_tmp20;
13785#line 1808
13786  pd->mode_offset = (__u8 )__cil_tmp25;
13787  {
13788#line 1809
13789  __cil_tmp26 = (unsigned int )size;
13790#line 1809
13791  if (__cil_tmp26 > 128U) {
13792#line 1810
13793    size = 128;
13794  } else {
13795
13796  }
13797  }
13798  {
13799#line 1815
13800  __cil_tmp27 = (void *)(& buffer);
13801#line 1815
13802  init_cdrom_command(& cgc, __cil_tmp27, size, 2);
13803#line 1816
13804  cgc.sense = & sense;
13805#line 1817
13806  ret = pkt_mode_sense(pd, & cgc, 5, 0);
13807  }
13808#line 1817
13809  if (ret != 0) {
13810    {
13811#line 1818
13812    pkt_dump_sense(& cgc);
13813    }
13814#line 1819
13815    return (ret);
13816  } else {
13817
13818  }
13819#line 1825
13820  __cil_tmp28 = pd->mode_offset;
13821#line 1825
13822  __cil_tmp29 = (unsigned long )__cil_tmp28;
13823#line 1825
13824  __cil_tmp30 = __cil_tmp29 + 8UL;
13825#line 1825
13826  __cil_tmp31 = (write_param_page *)(& buffer);
13827#line 1825
13828  wp = __cil_tmp31 + __cil_tmp30;
13829#line 1827
13830  wp->fp = pd->settings.fp;
13831#line 1828
13832  wp->track_mode = pd->settings.track_mode;
13833#line 1829
13834  wp->write_type = pd->settings.write_type;
13835#line 1830
13836  wp->data_block_type = pd->settings.block_mode;
13837#line 1832
13838  wp->multi_session = (unsigned char)0;
13839  {
13840#line 1839
13841  __cil_tmp32 = (unsigned char *)wp;
13842#line 1839
13843  __cil_tmp33 = __cil_tmp32 + 4UL;
13844#line 1839
13845  __cil_tmp34 = *__cil_tmp33;
13846#line 1839
13847  __cil_tmp35 = (unsigned int )__cil_tmp34;
13848#line 1839
13849  if (__cil_tmp35 == 8U) {
13850#line 1840
13851    wp->session_format = (__u8 )0U;
13852#line 1841
13853    wp->subhdr2 = (__u8 )32U;
13854  } else {
13855    {
13856#line 1842
13857    __cil_tmp36 = (unsigned char *)wp;
13858#line 1842
13859    __cil_tmp37 = __cil_tmp36 + 4UL;
13860#line 1842
13861    __cil_tmp38 = *__cil_tmp37;
13862#line 1842
13863    __cil_tmp39 = (unsigned int )__cil_tmp38;
13864#line 1842
13865    if (__cil_tmp39 == 10U) {
13866#line 1843
13867      wp->session_format = (__u8 )32U;
13868#line 1844
13869      wp->subhdr2 = (__u8 )8U;
13870    } else {
13871      {
13872#line 1853
13873      __cil_tmp40 = wp->data_block_type;
13874#line 1853
13875      __cil_tmp41 = (int )__cil_tmp40;
13876#line 1853
13877      printk("pktcdvd: write mode wrong %d\n", __cil_tmp41);
13878      }
13879#line 1854
13880      return (1);
13881    }
13882    }
13883  }
13884  }
13885  {
13886#line 1856
13887  __cil_tmp42 = pd->settings.size;
13888#line 1856
13889  __cil_tmp43 = __cil_tmp42 >> 2;
13890#line 1856
13891  wp->packet_size = __fswab32(__cil_tmp43);
13892#line 1858
13893  cgc.cmd[8] = (unsigned char )size;
13894#line 1858
13895  cgc.buflen = (unsigned int )cgc.cmd[8];
13896#line 1859
13897  ret = pkt_mode_select(pd, & cgc);
13898  }
13899#line 1859
13900  if (ret != 0) {
13901    {
13902#line 1860
13903    pkt_dump_sense(& cgc);
13904    }
13905#line 1861
13906    return (ret);
13907  } else {
13908
13909  }
13910  {
13911#line 1864
13912  pkt_print_settings(pd);
13913  }
13914#line 1865
13915  return (0);
13916}
13917}
13918#line 1871 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
13919static int pkt_writable_track(struct pktcdvd_device *pd , track_information *ti ) 
13920{ __u16 __cil_tmp3 ;
13921  int __cil_tmp4 ;
13922  __u16 __cil_tmp5 ;
13923  int __cil_tmp6 ;
13924  unsigned char *__cil_tmp7 ;
13925  unsigned char *__cil_tmp8 ;
13926  unsigned char __cil_tmp9 ;
13927  unsigned int __cil_tmp10 ;
13928  unsigned char *__cil_tmp11 ;
13929  unsigned char *__cil_tmp12 ;
13930  unsigned char __cil_tmp13 ;
13931  unsigned int __cil_tmp14 ;
13932  unsigned char *__cil_tmp15 ;
13933  unsigned char *__cil_tmp16 ;
13934  unsigned char __cil_tmp17 ;
13935  unsigned int __cil_tmp18 ;
13936  unsigned char *__cil_tmp19 ;
13937  unsigned char *__cil_tmp20 ;
13938  unsigned char __cil_tmp21 ;
13939  unsigned int __cil_tmp22 ;
13940  unsigned char *__cil_tmp23 ;
13941  unsigned char *__cil_tmp24 ;
13942  unsigned char __cil_tmp25 ;
13943  unsigned int __cil_tmp26 ;
13944  unsigned char *__cil_tmp27 ;
13945  unsigned char *__cil_tmp28 ;
13946  unsigned char __cil_tmp29 ;
13947  unsigned int __cil_tmp30 ;
13948  unsigned char *__cil_tmp31 ;
13949  unsigned char *__cil_tmp32 ;
13950  unsigned char __cil_tmp33 ;
13951  unsigned int __cil_tmp34 ;
13952  unsigned char *__cil_tmp35 ;
13953  unsigned char *__cil_tmp36 ;
13954  unsigned char __cil_tmp37 ;
13955  unsigned int __cil_tmp38 ;
13956  unsigned char __cil_tmp39 ;
13957  int __cil_tmp40 ;
13958  unsigned char __cil_tmp41 ;
13959  int __cil_tmp42 ;
13960  unsigned char __cil_tmp43 ;
13961  int __cil_tmp44 ;
13962
13963  {
13964  {
13965#line 1874
13966  __cil_tmp3 = pd->mmc3_profile;
13967#line 1874
13968  __cil_tmp4 = (int )__cil_tmp3;
13969#line 1874
13970  if (__cil_tmp4 == 26) {
13971#line 1874
13972    goto case_26;
13973  } else {
13974    {
13975#line 1875
13976    __cil_tmp5 = pd->mmc3_profile;
13977#line 1875
13978    __cil_tmp6 = (int )__cil_tmp5;
13979#line 1875
13980    if (__cil_tmp6 == 18) {
13981#line 1875
13982      goto case_18;
13983    } else {
13984#line 1878
13985      goto switch_default;
13986#line 1873
13987      if (0) {
13988        case_26: ;
13989        case_18: ;
13990#line 1877
13991        return (1);
13992        switch_default: ;
13993#line 1879
13994        goto ldv_31154;
13995      } else {
13996
13997      }
13998    }
13999    }
14000  }
14001  }
14002  ldv_31154: ;
14003  {
14004#line 1882
14005  __cil_tmp7 = (unsigned char *)ti;
14006#line 1882
14007  __cil_tmp8 = __cil_tmp7 + 6UL;
14008#line 1882
14009  __cil_tmp9 = *__cil_tmp8;
14010#line 1882
14011  __cil_tmp10 = (unsigned int )__cil_tmp9;
14012#line 1882
14013  if (__cil_tmp10 == 0U) {
14014#line 1883
14015    return (0);
14016  } else {
14017    {
14018#line 1882
14019    __cil_tmp11 = (unsigned char *)ti;
14020#line 1882
14021    __cil_tmp12 = __cil_tmp11 + 6UL;
14022#line 1882
14023    __cil_tmp13 = *__cil_tmp12;
14024#line 1882
14025    __cil_tmp14 = (unsigned int )__cil_tmp13;
14026#line 1882
14027    if (__cil_tmp14 == 0U) {
14028#line 1883
14029      return (0);
14030    } else {
14031
14032    }
14033    }
14034  }
14035  }
14036  {
14037#line 1888
14038  __cil_tmp15 = (unsigned char *)ti;
14039#line 1888
14040  __cil_tmp16 = __cil_tmp15 + 6UL;
14041#line 1888
14042  __cil_tmp17 = *__cil_tmp16;
14043#line 1888
14044  __cil_tmp18 = (unsigned int )__cil_tmp17;
14045#line 1888
14046  if (__cil_tmp18 == 0U) {
14047    {
14048#line 1888
14049    __cil_tmp19 = (unsigned char *)ti;
14050#line 1888
14051    __cil_tmp20 = __cil_tmp19 + 6UL;
14052#line 1888
14053    __cil_tmp21 = *__cil_tmp20;
14054#line 1888
14055    __cil_tmp22 = (unsigned int )__cil_tmp21;
14056#line 1888
14057    if (__cil_tmp22 == 0U) {
14058#line 1889
14059      return (1);
14060    } else {
14061
14062    }
14063    }
14064  } else {
14065
14066  }
14067  }
14068  {
14069#line 1891
14070  __cil_tmp23 = (unsigned char *)ti;
14071#line 1891
14072  __cil_tmp24 = __cil_tmp23 + 6UL;
14073#line 1891
14074  __cil_tmp25 = *__cil_tmp24;
14075#line 1891
14076  __cil_tmp26 = (unsigned int )__cil_tmp25;
14077#line 1891
14078  if (__cil_tmp26 == 0U) {
14079    {
14080#line 1891
14081    __cil_tmp27 = (unsigned char *)ti;
14082#line 1891
14083    __cil_tmp28 = __cil_tmp27 + 6UL;
14084#line 1891
14085    __cil_tmp29 = *__cil_tmp28;
14086#line 1891
14087    __cil_tmp30 = (unsigned int )__cil_tmp29;
14088#line 1891
14089    if (__cil_tmp30 != 0U) {
14090#line 1892
14091      return (1);
14092    } else {
14093
14094    }
14095    }
14096  } else {
14097
14098  }
14099  }
14100  {
14101#line 1894
14102  __cil_tmp31 = (unsigned char *)ti;
14103#line 1894
14104  __cil_tmp32 = __cil_tmp31 + 6UL;
14105#line 1894
14106  __cil_tmp33 = *__cil_tmp32;
14107#line 1894
14108  __cil_tmp34 = (unsigned int )__cil_tmp33;
14109#line 1894
14110  if (__cil_tmp34 != 0U) {
14111    {
14112#line 1894
14113    __cil_tmp35 = (unsigned char *)ti;
14114#line 1894
14115    __cil_tmp36 = __cil_tmp35 + 6UL;
14116#line 1894
14117    __cil_tmp37 = *__cil_tmp36;
14118#line 1894
14119    __cil_tmp38 = (unsigned int )__cil_tmp37;
14120#line 1894
14121    if (__cil_tmp38 == 0U) {
14122#line 1895
14123      return (1);
14124    } else {
14125
14126    }
14127    }
14128  } else {
14129
14130  }
14131  }
14132  {
14133#line 1897
14134  __cil_tmp39 = ti->rt;
14135#line 1897
14136  __cil_tmp40 = (int )__cil_tmp39;
14137#line 1897
14138  __cil_tmp41 = ti->blank;
14139#line 1897
14140  __cil_tmp42 = (int )__cil_tmp41;
14141#line 1897
14142  __cil_tmp43 = ti->packet;
14143#line 1897
14144  __cil_tmp44 = (int )__cil_tmp43;
14145#line 1897
14146  printk("pktcdvd: bad state %d-%d-%d\n", __cil_tmp40, __cil_tmp42, __cil_tmp44);
14147  }
14148#line 1898
14149  return (0);
14150}
14151}
14152#line 1904 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
14153static int pkt_writable_disc(struct pktcdvd_device *pd , disc_information *di ) 
14154{ __u16 __cil_tmp3 ;
14155  int __cil_tmp4 ;
14156  __u16 __cil_tmp5 ;
14157  int __cil_tmp6 ;
14158  __u16 __cil_tmp7 ;
14159  int __cil_tmp8 ;
14160  __u16 __cil_tmp9 ;
14161  int __cil_tmp10 ;
14162  __u16 __cil_tmp11 ;
14163  int __cil_tmp12 ;
14164  __u8 __cil_tmp13 ;
14165  unsigned int __cil_tmp14 ;
14166  __u8 __cil_tmp15 ;
14167  unsigned int __cil_tmp16 ;
14168  __u8 __cil_tmp17 ;
14169  unsigned int __cil_tmp18 ;
14170  __u8 __cil_tmp19 ;
14171  int __cil_tmp20 ;
14172  unsigned char *__cil_tmp21 ;
14173  unsigned char *__cil_tmp22 ;
14174  unsigned char __cil_tmp23 ;
14175  unsigned int __cil_tmp24 ;
14176  unsigned char *__cil_tmp25 ;
14177  unsigned char *__cil_tmp26 ;
14178  unsigned char __cil_tmp27 ;
14179  unsigned int __cil_tmp28 ;
14180
14181  {
14182  {
14183#line 1907
14184  __cil_tmp3 = pd->mmc3_profile;
14185#line 1907
14186  __cil_tmp4 = (int )__cil_tmp3;
14187#line 1907
14188  if (__cil_tmp4 == 10) {
14189#line 1907
14190    goto case_10;
14191  } else {
14192    {
14193#line 1908
14194    __cil_tmp5 = pd->mmc3_profile;
14195#line 1908
14196    __cil_tmp6 = (int )__cil_tmp5;
14197#line 1908
14198    if (__cil_tmp6 == 65535) {
14199#line 1908
14200      goto case_65535;
14201    } else {
14202      {
14203#line 1910
14204      __cil_tmp7 = pd->mmc3_profile;
14205#line 1910
14206      __cil_tmp8 = (int )__cil_tmp7;
14207#line 1910
14208      if (__cil_tmp8 == 26) {
14209#line 1910
14210        goto case_26;
14211      } else {
14212        {
14213#line 1911
14214        __cil_tmp9 = pd->mmc3_profile;
14215#line 1911
14216        __cil_tmp10 = (int )__cil_tmp9;
14217#line 1911
14218        if (__cil_tmp10 == 19) {
14219#line 1911
14220          goto case_19;
14221        } else {
14222          {
14223#line 1912
14224          __cil_tmp11 = pd->mmc3_profile;
14225#line 1912
14226          __cil_tmp12 = (int )__cil_tmp11;
14227#line 1912
14228          if (__cil_tmp12 == 18) {
14229#line 1912
14230            goto case_18;
14231          } else {
14232#line 1914
14233            goto switch_default;
14234#line 1906
14235            if (0) {
14236              case_10: ;
14237              case_65535: ;
14238#line 1909
14239              goto ldv_31161;
14240              case_26: ;
14241              case_19: ;
14242              case_18: ;
14243#line 1913
14244              return (1);
14245              switch_default: ;
14246#line 1916
14247              return (0);
14248            } else {
14249
14250            }
14251          }
14252          }
14253        }
14254        }
14255      }
14256      }
14257    }
14258    }
14259  }
14260  }
14261  ldv_31161: ;
14262  {
14263#line 1923
14264  __cil_tmp13 = di->disc_type;
14265#line 1923
14266  __cil_tmp14 = (unsigned int )__cil_tmp13;
14267#line 1923
14268  if (__cil_tmp14 == 255U) {
14269    {
14270#line 1924
14271    printk("pktcdvd: Unknown disc. No track?\n");
14272    }
14273#line 1925
14274    return (0);
14275  } else {
14276
14277  }
14278  }
14279  {
14280#line 1928
14281  __cil_tmp15 = di->disc_type;
14282#line 1928
14283  __cil_tmp16 = (unsigned int )__cil_tmp15;
14284#line 1928
14285  if (__cil_tmp16 != 32U) {
14286    {
14287#line 1928
14288    __cil_tmp17 = di->disc_type;
14289#line 1928
14290    __cil_tmp18 = (unsigned int )__cil_tmp17;
14291#line 1928
14292    if (__cil_tmp18 != 0U) {
14293      {
14294#line 1929
14295      __cil_tmp19 = di->disc_type;
14296#line 1929
14297      __cil_tmp20 = (int )__cil_tmp19;
14298#line 1929
14299      printk("pktcdvd: Wrong disc type (%x)\n", __cil_tmp20);
14300      }
14301#line 1930
14302      return (0);
14303    } else {
14304
14305    }
14306    }
14307  } else {
14308
14309  }
14310  }
14311  {
14312#line 1933
14313  __cil_tmp21 = (unsigned char *)di;
14314#line 1933
14315  __cil_tmp22 = __cil_tmp21 + 2UL;
14316#line 1933
14317  __cil_tmp23 = *__cil_tmp22;
14318#line 1933
14319  __cil_tmp24 = (unsigned int )__cil_tmp23;
14320#line 1933
14321  if (__cil_tmp24 == 0U) {
14322    {
14323#line 1934
14324    printk("pktcdvd: Disc not erasable\n");
14325    }
14326#line 1935
14327    return (0);
14328  } else {
14329
14330  }
14331  }
14332  {
14333#line 1938
14334  __cil_tmp25 = (unsigned char *)di;
14335#line 1938
14336  __cil_tmp26 = __cil_tmp25 + 2UL;
14337#line 1938
14338  __cil_tmp27 = *__cil_tmp26;
14339#line 1938
14340  __cil_tmp28 = (unsigned int )__cil_tmp27;
14341#line 1938
14342  if (__cil_tmp28 == 8U) {
14343    {
14344#line 1939
14345    printk("pktcdvd: Can\'t write to last track (reserved)\n");
14346    }
14347#line 1940
14348    return (0);
14349  } else {
14350
14351  }
14352  }
14353#line 1943
14354  return (1);
14355}
14356}
14357#line 1946 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
14358static int pkt_probe_settings(struct pktcdvd_device *pd ) 
14359{ struct packet_command cgc ;
14360  unsigned char buf[12U] ;
14361  disc_information di ;
14362  track_information ti ;
14363  int ret ;
14364  int track ;
14365  int tmp ;
14366  int tmp___0 ;
14367  __u32 tmp___1 ;
14368  __u32 tmp___2 ;
14369  __u32 tmp___3 ;
14370  __u32 tmp___4 ;
14371  void *__cil_tmp14 ;
14372  short __cil_tmp15 ;
14373  int __cil_tmp16 ;
14374  int __cil_tmp17 ;
14375  int __cil_tmp18 ;
14376  short __cil_tmp19 ;
14377  int __cil_tmp20 ;
14378  int __cil_tmp21 ;
14379  void *__cil_tmp22 ;
14380  void *__cil_tmp23 ;
14381  unsigned char *__cil_tmp24 ;
14382  unsigned char *__cil_tmp25 ;
14383  unsigned char __cil_tmp26 ;
14384  unsigned int __cil_tmp27 ;
14385  __u16 __cil_tmp28 ;
14386  int __cil_tmp29 ;
14387  __u16 __cil_tmp30 ;
14388  __u8 __cil_tmp31 ;
14389  __u32 __cil_tmp32 ;
14390  __u32 __cil_tmp33 ;
14391  __u32 __cil_tmp34 ;
14392  __u32 __cil_tmp35 ;
14393  __u32 __cil_tmp36 ;
14394  unsigned int __cil_tmp37 ;
14395  unsigned char *__cil_tmp38 ;
14396  unsigned char *__cil_tmp39 ;
14397  unsigned char __cil_tmp40 ;
14398  unsigned int __cil_tmp41 ;
14399  unsigned long *__cil_tmp42 ;
14400  unsigned long volatile   *__cil_tmp43 ;
14401  unsigned char *__cil_tmp44 ;
14402  unsigned char *__cil_tmp45 ;
14403  unsigned char __cil_tmp46 ;
14404  unsigned int __cil_tmp47 ;
14405  unsigned long *__cil_tmp48 ;
14406  unsigned long volatile   *__cil_tmp49 ;
14407  unsigned long *__cil_tmp50 ;
14408  unsigned long volatile   *__cil_tmp51 ;
14409  int __cil_tmp52 ;
14410  int __cil_tmp53 ;
14411
14412  {
14413  {
14414#line 1954
14415  __cil_tmp14 = (void *)(& buf);
14416#line 1954
14417  init_cdrom_command(& cgc, __cil_tmp14, 12, 2);
14418#line 1955
14419  cgc.cmd[0] = (unsigned char)70;
14420#line 1956
14421  cgc.cmd[8] = (unsigned char)8;
14422#line 1957
14423  ret = pkt_generic_packet(pd, & cgc);
14424  }
14425#line 1958
14426  if (ret == 0) {
14427#line 1958
14428    __cil_tmp15 = (short )buf[7];
14429#line 1958
14430    __cil_tmp16 = (int )__cil_tmp15;
14431#line 1958
14432    __cil_tmp17 = (int )buf[6];
14433#line 1958
14434    __cil_tmp18 = __cil_tmp17 << 8;
14435#line 1958
14436    __cil_tmp19 = (short )__cil_tmp18;
14437#line 1958
14438    __cil_tmp20 = (int )__cil_tmp19;
14439#line 1958
14440    __cil_tmp21 = __cil_tmp20 | __cil_tmp16;
14441#line 1958
14442    pd->mmc3_profile = (__u16 )__cil_tmp21;
14443  } else {
14444#line 1958
14445    pd->mmc3_profile = (__u16 )65535U;
14446  }
14447  {
14448#line 1960
14449  __cil_tmp22 = (void *)(& di);
14450#line 1960
14451  memset(__cil_tmp22, 0, 36UL);
14452#line 1961
14453  __cil_tmp23 = (void *)(& ti);
14454#line 1961
14455  memset(__cil_tmp23, 0, 32UL);
14456#line 1963
14457  ret = pkt_get_disc_info(pd, & di);
14458  }
14459#line 1963
14460  if (ret != 0) {
14461    {
14462#line 1964
14463    printk("failed get_disc\n");
14464    }
14465#line 1965
14466    return (ret);
14467  } else {
14468
14469  }
14470  {
14471#line 1968
14472  tmp = pkt_writable_disc(pd, & di);
14473  }
14474#line 1968
14475  if (tmp == 0) {
14476#line 1969
14477    return (-30);
14478  } else {
14479
14480  }
14481  {
14482#line 1971
14483  __cil_tmp24 = (unsigned char *)(& di);
14484#line 1971
14485  __cil_tmp25 = __cil_tmp24 + 2UL;
14486#line 1971
14487  __cil_tmp26 = *__cil_tmp25;
14488#line 1971
14489  __cil_tmp27 = (unsigned int )__cil_tmp26;
14490#line 1971
14491  if (__cil_tmp27 != 0U) {
14492#line 1971
14493    pd->type = (__u8 )2U;
14494  } else {
14495#line 1971
14496    pd->type = (__u8 )1U;
14497  }
14498  }
14499  {
14500#line 1973
14501  track = 1;
14502#line 1974
14503  __cil_tmp28 = (__u16 )track;
14504#line 1974
14505  __cil_tmp29 = (int )__cil_tmp28;
14506#line 1974
14507  __cil_tmp30 = (__u16 )__cil_tmp29;
14508#line 1974
14509  __cil_tmp31 = (__u8 )1;
14510#line 1974
14511  ret = pkt_get_track_info(pd, __cil_tmp30, __cil_tmp31, & ti);
14512  }
14513#line 1974
14514  if (ret != 0) {
14515    {
14516#line 1975
14517    printk("pktcdvd: failed get_track\n");
14518    }
14519#line 1976
14520    return (ret);
14521  } else {
14522
14523  }
14524  {
14525#line 1979
14526  tmp___0 = pkt_writable_track(pd, & ti);
14527  }
14528#line 1979
14529  if (tmp___0 == 0) {
14530    {
14531#line 1980
14532    printk("pktcdvd: can\'t write to this track\n");
14533    }
14534#line 1981
14535    return (-30);
14536  } else {
14537
14538  }
14539  {
14540#line 1988
14541  tmp___1 = __fswab32(ti.fixed_packet_size);
14542#line 1988
14543  pd->settings.size = tmp___1 << 2;
14544  }
14545  {
14546#line 1989
14547  __cil_tmp32 = pd->settings.size;
14548#line 1989
14549  if (__cil_tmp32 == 0U) {
14550    {
14551#line 1990
14552    printk("pktcdvd: detected zero packet size!\n");
14553    }
14554#line 1991
14555    return (-6);
14556  } else {
14557
14558  }
14559  }
14560  {
14561#line 1993
14562  __cil_tmp33 = pd->settings.size;
14563#line 1993
14564  if (__cil_tmp33 > 512U) {
14565    {
14566#line 1994
14567    printk("pktcdvd: packet size is too big\n");
14568    }
14569#line 1995
14570    return (-30);
14571  } else {
14572
14573  }
14574  }
14575  {
14576#line 1997
14577  pd->settings.fp = ti.fp;
14578#line 1998
14579  tmp___2 = __fswab32(ti.track_start);
14580#line 1998
14581  __cil_tmp34 = pd->settings.size;
14582#line 1998
14583  __cil_tmp35 = __cil_tmp34 - 1U;
14584#line 1998
14585  __cil_tmp36 = tmp___2 << 2;
14586#line 1998
14587  __cil_tmp37 = __cil_tmp36 & __cil_tmp35;
14588#line 1998
14589  pd->offset = (unsigned long )__cil_tmp37;
14590  }
14591  {
14592#line 2000
14593  __cil_tmp38 = (unsigned char *)(& ti);
14594#line 2000
14595  __cil_tmp39 = __cil_tmp38 + 7UL;
14596#line 2000
14597  __cil_tmp40 = *__cil_tmp39;
14598#line 2000
14599  __cil_tmp41 = (unsigned int )__cil_tmp40;
14600#line 2000
14601  if (__cil_tmp41 != 0U) {
14602    {
14603#line 2001
14604    tmp___3 = __fswab32(ti.next_writable);
14605#line 2001
14606    pd->nwa = tmp___3;
14607#line 2002
14608    __cil_tmp42 = & pd->flags;
14609#line 2002
14610    __cil_tmp43 = (unsigned long volatile   *)__cil_tmp42;
14611#line 2002
14612    set_bit(2U, __cil_tmp43);
14613    }
14614  } else {
14615
14616  }
14617  }
14618  {
14619#line 2010
14620  __cil_tmp44 = (unsigned char *)(& ti);
14621#line 2010
14622  __cil_tmp45 = __cil_tmp44 + 7UL;
14623#line 2010
14624  __cil_tmp46 = *__cil_tmp45;
14625#line 2010
14626  __cil_tmp47 = (unsigned int )__cil_tmp46;
14627#line 2010
14628  if (__cil_tmp47 != 0U) {
14629    {
14630#line 2011
14631    tmp___4 = __fswab32(ti.last_rec_address);
14632#line 2011
14633    pd->lra = tmp___4;
14634#line 2012
14635    __cil_tmp48 = & pd->flags;
14636#line 2012
14637    __cil_tmp49 = (unsigned long volatile   *)__cil_tmp48;
14638#line 2012
14639    set_bit(3U, __cil_tmp49);
14640    }
14641  } else {
14642    {
14643#line 2014
14644    pd->lra = 4294967295U;
14645#line 2015
14646    __cil_tmp50 = & pd->flags;
14647#line 2015
14648    __cil_tmp51 = (unsigned long volatile   *)__cil_tmp50;
14649#line 2015
14650    set_bit(3U, __cil_tmp51);
14651    }
14652  }
14653  }
14654#line 2021
14655  pd->settings.link_loss = (__u8 )7U;
14656#line 2022
14657  pd->settings.write_type = (__u8 )0U;
14658#line 2023
14659  pd->settings.track_mode = ti.track_mode;
14660  {
14661#line 2029
14662  __cil_tmp52 = (int )ti.data_mode;
14663#line 2029
14664  if (__cil_tmp52 == 1) {
14665#line 2029
14666    goto case_1;
14667  } else {
14668    {
14669#line 2032
14670    __cil_tmp53 = (int )ti.data_mode;
14671#line 2032
14672    if (__cil_tmp53 == 2) {
14673#line 2032
14674      goto case_2;
14675    } else {
14676#line 2035
14677      goto switch_default;
14678#line 2028
14679      if (0) {
14680        case_1: 
14681#line 2030
14682        pd->settings.block_mode = (__u8 )8U;
14683#line 2031
14684        goto ldv_31176;
14685        case_2: 
14686#line 2033
14687        pd->settings.block_mode = (__u8 )10U;
14688#line 2034
14689        goto ldv_31176;
14690        switch_default: 
14691        {
14692#line 2036
14693        printk("pktcdvd: unknown data mode\n");
14694        }
14695#line 2037
14696        return (-30);
14697      } else {
14698
14699      }
14700    }
14701    }
14702  }
14703  }
14704  ldv_31176: ;
14705#line 2039
14706  return (0);
14707}
14708}
14709#line 2045 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
14710static int pkt_write_caching(struct pktcdvd_device *pd , int set ) 
14711{ struct packet_command cgc ;
14712  struct request_sense sense ;
14713  unsigned char buf[64U] ;
14714  int ret ;
14715  int tmp ;
14716  void *__cil_tmp8 ;
14717  __u8 __cil_tmp9 ;
14718  int __cil_tmp10 ;
14719  int __cil_tmp11 ;
14720  signed char __cil_tmp12 ;
14721  int __cil_tmp13 ;
14722  int __cil_tmp14 ;
14723  signed char __cil_tmp15 ;
14724  int __cil_tmp16 ;
14725  int __cil_tmp17 ;
14726  int __cil_tmp18 ;
14727  signed char __cil_tmp19 ;
14728  int __cil_tmp20 ;
14729  int __cil_tmp21 ;
14730  unsigned char __cil_tmp22 ;
14731  unsigned int __cil_tmp23 ;
14732  unsigned int __cil_tmp24 ;
14733  char (*__cil_tmp25)[20U] ;
14734  char *__cil_tmp26 ;
14735
14736  {
14737  {
14738#line 2053
14739  __cil_tmp8 = (void *)(& buf);
14740#line 2053
14741  init_cdrom_command(& cgc, __cil_tmp8, 64, 2);
14742#line 2054
14743  cgc.sense = & sense;
14744#line 2055
14745  __cil_tmp9 = pd->mode_offset;
14746#line 2055
14747  __cil_tmp10 = (int )__cil_tmp9;
14748#line 2055
14749  __cil_tmp11 = __cil_tmp10 + 12;
14750#line 2055
14751  cgc.buflen = (unsigned int )__cil_tmp11;
14752#line 2060
14753  cgc.quiet = 1;
14754#line 2062
14755  ret = pkt_mode_sense(pd, & cgc, 8, 0);
14756  }
14757#line 2062
14758  if (ret != 0) {
14759#line 2063
14760    return (ret);
14761  } else {
14762
14763  }
14764#line 2065
14765  if (set != 0) {
14766#line 2065
14767    tmp = 4;
14768  } else {
14769#line 2065
14770    tmp = 0;
14771  }
14772  {
14773#line 2065
14774  __cil_tmp12 = (signed char )buf[(int )pd->mode_offset + 10];
14775#line 2065
14776  __cil_tmp13 = (int )__cil_tmp12;
14777#line 2065
14778  __cil_tmp14 = __cil_tmp13 | tmp;
14779#line 2065
14780  buf[(int )pd->mode_offset + 10] = (unsigned char )__cil_tmp14;
14781#line 2067
14782  __cil_tmp15 = (signed char )buf[1];
14783#line 2067
14784  __cil_tmp16 = (int )__cil_tmp15;
14785#line 2067
14786  __cil_tmp17 = (int )buf[0];
14787#line 2067
14788  __cil_tmp18 = __cil_tmp17 << 8;
14789#line 2067
14790  __cil_tmp19 = (signed char )__cil_tmp18;
14791#line 2067
14792  __cil_tmp20 = (int )__cil_tmp19;
14793#line 2067
14794  __cil_tmp21 = __cil_tmp20 | __cil_tmp16;
14795#line 2067
14796  __cil_tmp22 = (unsigned char )__cil_tmp21;
14797#line 2067
14798  __cil_tmp23 = (unsigned int )__cil_tmp22;
14799#line 2067
14800  __cil_tmp24 = __cil_tmp23 + 2U;
14801#line 2067
14802  cgc.cmd[8] = (unsigned char )__cil_tmp24;
14803#line 2067
14804  cgc.buflen = (unsigned int )cgc.cmd[8];
14805#line 2068
14806  ret = pkt_mode_select(pd, & cgc);
14807  }
14808#line 2069
14809  if (ret != 0) {
14810    {
14811#line 2070
14812    printk("pktcdvd: write caching control failed\n");
14813#line 2071
14814    pkt_dump_sense(& cgc);
14815    }
14816  } else
14817#line 2072
14818  if (ret == 0) {
14819#line 2072
14820    if (set != 0) {
14821      {
14822#line 2073
14823      __cil_tmp25 = & pd->name;
14824#line 2073
14825      __cil_tmp26 = (char *)__cil_tmp25;
14826#line 2073
14827      printk("pktcdvd: enabled write caching on %s\n", __cil_tmp26);
14828      }
14829    } else {
14830
14831    }
14832  } else {
14833
14834  }
14835#line 2074
14836  return (ret);
14837}
14838}
14839#line 2077 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
14840static int pkt_lock_door(struct pktcdvd_device *pd , int lockflag ) 
14841{ struct packet_command cgc ;
14842  int tmp ;
14843  void *__cil_tmp5 ;
14844  int __cil_tmp6 ;
14845
14846  {
14847  {
14848#line 2081
14849  __cil_tmp5 = (void *)0;
14850#line 2081
14851  init_cdrom_command(& cgc, __cil_tmp5, 0, 3);
14852#line 2082
14853  cgc.cmd[0] = (unsigned char)30;
14854#line 2083
14855  __cil_tmp6 = lockflag != 0;
14856#line 2083
14857  cgc.cmd[4] = (unsigned char )__cil_tmp6;
14858#line 2084
14859  tmp = pkt_generic_packet(pd, & cgc);
14860  }
14861#line 2084
14862  return (tmp);
14863}
14864}
14865#line 2090 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
14866static int pkt_get_max_speed(struct pktcdvd_device *pd , unsigned int *write_speed ) 
14867{ struct packet_command cgc ;
14868  struct request_sense sense ;
14869  unsigned char buf[274U] ;
14870  unsigned char *cap_buf ;
14871  int ret ;
14872  int offset ;
14873  int num_spdb ;
14874  __u8 __cil_tmp10 ;
14875  unsigned long __cil_tmp11 ;
14876  unsigned long __cil_tmp12 ;
14877  unsigned char *__cil_tmp13 ;
14878  void *__cil_tmp14 ;
14879  unsigned char *__cil_tmp15 ;
14880  unsigned char __cil_tmp16 ;
14881  int __cil_tmp17 ;
14882  __u8 __cil_tmp18 ;
14883  int __cil_tmp19 ;
14884  int __cil_tmp20 ;
14885  unsigned int __cil_tmp21 ;
14886  unsigned char *__cil_tmp22 ;
14887  unsigned char __cil_tmp23 ;
14888  unsigned int __cil_tmp24 ;
14889  unsigned char *__cil_tmp25 ;
14890  unsigned char __cil_tmp26 ;
14891  unsigned int __cil_tmp27 ;
14892  unsigned char *__cil_tmp28 ;
14893  unsigned char __cil_tmp29 ;
14894  int __cil_tmp30 ;
14895  unsigned char *__cil_tmp31 ;
14896  unsigned char __cil_tmp32 ;
14897  int __cil_tmp33 ;
14898  int __cil_tmp34 ;
14899  unsigned long __cil_tmp35 ;
14900  unsigned long __cil_tmp36 ;
14901  unsigned char *__cil_tmp37 ;
14902  unsigned char __cil_tmp38 ;
14903  int __cil_tmp39 ;
14904  unsigned long __cil_tmp40 ;
14905  unsigned char *__cil_tmp41 ;
14906  unsigned char __cil_tmp42 ;
14907  int __cil_tmp43 ;
14908  int __cil_tmp44 ;
14909  int __cil_tmp45 ;
14910
14911  {
14912  {
14913#line 2099
14914  __cil_tmp10 = pd->mode_offset;
14915#line 2099
14916  __cil_tmp11 = (unsigned long )__cil_tmp10;
14917#line 2099
14918  __cil_tmp12 = __cil_tmp11 + 8UL;
14919#line 2099
14920  __cil_tmp13 = (unsigned char *)(& buf);
14921#line 2099
14922  cap_buf = __cil_tmp13 + __cil_tmp12;
14923#line 2100
14924  __cil_tmp14 = (void *)(& buf);
14925#line 2100
14926  init_cdrom_command(& cgc, __cil_tmp14, 274, 0);
14927#line 2101
14928  cgc.sense = & sense;
14929#line 2103
14930  ret = pkt_mode_sense(pd, & cgc, 42, 0);
14931  }
14932#line 2104
14933  if (ret != 0) {
14934    {
14935#line 2105
14936    __cil_tmp15 = cap_buf + 1UL;
14937#line 2105
14938    __cil_tmp16 = *__cil_tmp15;
14939#line 2105
14940    __cil_tmp17 = (int )__cil_tmp16;
14941#line 2105
14942    __cil_tmp18 = pd->mode_offset;
14943#line 2105
14944    __cil_tmp19 = (int )__cil_tmp18;
14945#line 2105
14946    __cil_tmp20 = __cil_tmp19 + __cil_tmp17;
14947#line 2105
14948    __cil_tmp21 = (unsigned int )__cil_tmp20;
14949#line 2105
14950    cgc.buflen = __cil_tmp21 + 10U;
14951#line 2107
14952    ret = pkt_mode_sense(pd, & cgc, 42, 0);
14953    }
14954#line 2108
14955    if (ret != 0) {
14956      {
14957#line 2109
14958      pkt_dump_sense(& cgc);
14959      }
14960#line 2110
14961      return (ret);
14962    } else {
14963
14964    }
14965  } else {
14966
14967  }
14968#line 2114
14969  offset = 20;
14970  {
14971#line 2115
14972  __cil_tmp22 = cap_buf + 1UL;
14973#line 2115
14974  __cil_tmp23 = *__cil_tmp22;
14975#line 2115
14976  __cil_tmp24 = (unsigned int )__cil_tmp23;
14977#line 2115
14978  if (__cil_tmp24 > 27U) {
14979#line 2116
14980    offset = 28;
14981  } else {
14982
14983  }
14984  }
14985  {
14986#line 2117
14987  __cil_tmp25 = cap_buf + 1UL;
14988#line 2117
14989  __cil_tmp26 = *__cil_tmp25;
14990#line 2117
14991  __cil_tmp27 = (unsigned int )__cil_tmp26;
14992#line 2117
14993  if (__cil_tmp27 > 29U) {
14994#line 2122
14995    __cil_tmp28 = cap_buf + 31UL;
14996#line 2122
14997    __cil_tmp29 = *__cil_tmp28;
14998#line 2122
14999    __cil_tmp30 = (int )__cil_tmp29;
15000#line 2122
15001    __cil_tmp31 = cap_buf + 30UL;
15002#line 2122
15003    __cil_tmp32 = *__cil_tmp31;
15004#line 2122
15005    __cil_tmp33 = (int )__cil_tmp32;
15006#line 2122
15007    __cil_tmp34 = __cil_tmp33 << 8;
15008#line 2122
15009    num_spdb = __cil_tmp34 + __cil_tmp30;
15010#line 2123
15011    if (num_spdb > 0) {
15012#line 2124
15013      offset = 34;
15014    } else {
15015
15016    }
15017  } else {
15018
15019  }
15020  }
15021#line 2127
15022  __cil_tmp35 = (unsigned long )offset;
15023#line 2127
15024  __cil_tmp36 = __cil_tmp35 + 1UL;
15025#line 2127
15026  __cil_tmp37 = cap_buf + __cil_tmp36;
15027#line 2127
15028  __cil_tmp38 = *__cil_tmp37;
15029#line 2127
15030  __cil_tmp39 = (int )__cil_tmp38;
15031#line 2127
15032  __cil_tmp40 = (unsigned long )offset;
15033#line 2127
15034  __cil_tmp41 = cap_buf + __cil_tmp40;
15035#line 2127
15036  __cil_tmp42 = *__cil_tmp41;
15037#line 2127
15038  __cil_tmp43 = (int )__cil_tmp42;
15039#line 2127
15040  __cil_tmp44 = __cil_tmp43 << 8;
15041#line 2127
15042  __cil_tmp45 = __cil_tmp44 | __cil_tmp39;
15043#line 2127
15044  *write_speed = (unsigned int )__cil_tmp45;
15045#line 2128
15046  return (0);
15047}
15048}
15049#line 2133 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15050static char clv_to_speed[16U]  = 
15051#line 2133
15052  {      (char)0,      (char)2,      (char)4,      (char)6, 
15053        (char)8,      (char)0,      (char)0,      (char)0, 
15054        (char)0,      (char)0,      (char)0,      (char)0, 
15055        (char)0,      (char)0,      (char)0,      (char)0};
15056#line 2138 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15057static char hs_clv_to_speed[16U]  = 
15058#line 2138
15059  {      (char)0,      (char)2,      (char)4,      (char)6, 
15060        (char)10,      (char)0,      (char)0,      (char)0, 
15061        (char)0,      (char)0,      (char)0,      (char)0, 
15062        (char)0,      (char)0,      (char)0,      (char)0};
15063#line 2143 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15064static char us_clv_to_speed[16U]  = 
15065#line 2143
15066  {      (char)0,      (char)2,      (char)4,      (char)8, 
15067        (char)0,      (char)0,      (char)16,      (char)0, 
15068        (char)24,      (char)32,      (char)40,      (char)48, 
15069        (char)0,      (char)0,      (char)0,      (char)0};
15070#line 2151 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15071static int pkt_media_speed(struct pktcdvd_device *pd , unsigned int *speed ) 
15072{ struct packet_command cgc ;
15073  struct request_sense sense ;
15074  unsigned char buf[64U] ;
15075  unsigned int size ;
15076  unsigned int st ;
15077  unsigned int sp ;
15078  int ret ;
15079  void *__cil_tmp10 ;
15080  unsigned int __cil_tmp11 ;
15081  unsigned int __cil_tmp12 ;
15082  unsigned int __cil_tmp13 ;
15083  unsigned int __cil_tmp14 ;
15084  void *__cil_tmp15 ;
15085  int __cil_tmp16 ;
15086  int __cil_tmp17 ;
15087  int __cil_tmp18 ;
15088  int __cil_tmp19 ;
15089  int __cil_tmp20 ;
15090  int __cil_tmp21 ;
15091  int __cil_tmp22 ;
15092  unsigned int __cil_tmp23 ;
15093  unsigned int __cil_tmp24 ;
15094  int __cil_tmp25 ;
15095  int __cil_tmp26 ;
15096  int __cil_tmp27 ;
15097  unsigned int __cil_tmp28 ;
15098  unsigned int __cil_tmp29 ;
15099
15100  {
15101  {
15102#line 2160
15103  __cil_tmp10 = (void *)(& buf);
15104#line 2160
15105  init_cdrom_command(& cgc, __cil_tmp10, 2, 2);
15106#line 2161
15107  cgc.sense = & sense;
15108#line 2162
15109  cgc.cmd[0] = (unsigned char)67;
15110#line 2163
15111  cgc.cmd[1] = (unsigned char)2;
15112#line 2164
15113  cgc.cmd[2] = (unsigned char)4;
15114#line 2165
15115  cgc.cmd[8] = (unsigned char)2;
15116#line 2166
15117  ret = pkt_generic_packet(pd, & cgc);
15118  }
15119#line 2167
15120  if (ret != 0) {
15121    {
15122#line 2168
15123    pkt_dump_sense(& cgc);
15124    }
15125#line 2169
15126    return (ret);
15127  } else {
15128
15129  }
15130#line 2171
15131  __cil_tmp11 = (unsigned int )buf[1];
15132#line 2171
15133  __cil_tmp12 = (unsigned int )buf[0];
15134#line 2171
15135  __cil_tmp13 = __cil_tmp12 << 8;
15136#line 2171
15137  __cil_tmp14 = __cil_tmp13 + __cil_tmp11;
15138#line 2171
15139  size = __cil_tmp14 + 2U;
15140#line 2172
15141  if (size > 64U) {
15142#line 2173
15143    size = 64U;
15144  } else {
15145
15146  }
15147  {
15148#line 2175
15149  __cil_tmp15 = (void *)(& buf);
15150#line 2175
15151  __cil_tmp16 = (int )size;
15152#line 2175
15153  init_cdrom_command(& cgc, __cil_tmp15, __cil_tmp16, 2);
15154#line 2176
15155  cgc.sense = & sense;
15156#line 2177
15157  cgc.cmd[0] = (unsigned char)67;
15158#line 2178
15159  cgc.cmd[1] = (unsigned char)2;
15160#line 2179
15161  cgc.cmd[2] = (unsigned char)4;
15162#line 2180
15163  cgc.cmd[8] = (unsigned char )size;
15164#line 2181
15165  ret = pkt_generic_packet(pd, & cgc);
15166  }
15167#line 2182
15168  if (ret != 0) {
15169    {
15170#line 2183
15171    pkt_dump_sense(& cgc);
15172    }
15173#line 2184
15174    return (ret);
15175  } else {
15176
15177  }
15178  {
15179#line 2187
15180  __cil_tmp17 = (int )buf[6];
15181#line 2187
15182  __cil_tmp18 = __cil_tmp17 & 64;
15183#line 2187
15184  if (__cil_tmp18 == 0) {
15185    {
15186#line 2188
15187    printk("pktcdvd: Disc type is not CD-RW\n");
15188    }
15189#line 2189
15190    return (1);
15191  } else {
15192
15193  }
15194  }
15195  {
15196#line 2191
15197  __cil_tmp19 = (int )buf[6];
15198#line 2191
15199  __cil_tmp20 = __cil_tmp19 & 4;
15200#line 2191
15201  if (__cil_tmp20 == 0) {
15202    {
15203#line 2192
15204    printk("pktcdvd: A1 values on media are not valid, maybe not CDRW?\n");
15205    }
15206#line 2193
15207    return (1);
15208  } else {
15209
15210  }
15211  }
15212#line 2196
15213  __cil_tmp21 = (int )buf[6];
15214#line 2196
15215  __cil_tmp22 = __cil_tmp21 >> 3;
15216#line 2196
15217  __cil_tmp23 = (unsigned int )__cil_tmp22;
15218#line 2196
15219  st = __cil_tmp23 & 7U;
15220#line 2198
15221  __cil_tmp24 = (unsigned int )buf[16];
15222#line 2198
15223  sp = __cil_tmp24 & 15U;
15224  {
15225#line 2202
15226  __cil_tmp25 = (int )st;
15227#line 2202
15228  if (__cil_tmp25 == 0) {
15229#line 2202
15230    goto case_0;
15231  } else {
15232    {
15233#line 2205
15234    __cil_tmp26 = (int )st;
15235#line 2205
15236    if (__cil_tmp26 == 1) {
15237#line 2205
15238      goto case_1;
15239    } else {
15240      {
15241#line 2208
15242      __cil_tmp27 = (int )st;
15243#line 2208
15244      if (__cil_tmp27 == 2) {
15245#line 2208
15246        goto case_2;
15247      } else {
15248#line 2211
15249        goto switch_default;
15250#line 2201
15251        if (0) {
15252          case_0: 
15253#line 2203
15254          *speed = (unsigned int )clv_to_speed[sp];
15255#line 2204
15256          goto ldv_31218;
15257          case_1: 
15258#line 2206
15259          *speed = (unsigned int )hs_clv_to_speed[sp];
15260#line 2207
15261          goto ldv_31218;
15262          case_2: 
15263#line 2209
15264          *speed = (unsigned int )us_clv_to_speed[sp];
15265#line 2210
15266          goto ldv_31218;
15267          switch_default: 
15268          {
15269#line 2212
15270          printk("pktcdvd: Unknown disc sub-type %d\n", st);
15271          }
15272#line 2213
15273          return (1);
15274        } else {
15275
15276        }
15277      }
15278      }
15279    }
15280    }
15281  }
15282  }
15283  ldv_31218: ;
15284  {
15285#line 2215
15286  __cil_tmp28 = *speed;
15287#line 2215
15288  if (__cil_tmp28 != 0U) {
15289    {
15290#line 2216
15291    __cil_tmp29 = *speed;
15292#line 2216
15293    printk("pktcdvd: Max. media speed: %d\n", __cil_tmp29);
15294    }
15295#line 2217
15296    return (0);
15297  } else {
15298    {
15299#line 2219
15300    printk("pktcdvd: Unknown speed %d for sub-type %d\n", sp, st);
15301    }
15302#line 2220
15303    return (1);
15304  }
15305  }
15306}
15307}
15308#line 2224 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15309static int pkt_perform_opc(struct pktcdvd_device *pd ) 
15310{ struct packet_command cgc ;
15311  struct request_sense sense ;
15312  int ret ;
15313  void *__cil_tmp5 ;
15314
15315  {
15316  {
15317#line 2232
15318  __cil_tmp5 = (void *)0;
15319#line 2232
15320  init_cdrom_command(& cgc, __cil_tmp5, 0, 3);
15321#line 2233
15322  cgc.sense = & sense;
15323#line 2234
15324  cgc.timeout = 15000;
15325#line 2235
15326  cgc.cmd[0] = (unsigned char)84;
15327#line 2236
15328  cgc.cmd[1] = (unsigned char)1;
15329#line 2237
15330  ret = pkt_generic_packet(pd, & cgc);
15331  }
15332#line 2237
15333  if (ret != 0) {
15334    {
15335#line 2238
15336    pkt_dump_sense(& cgc);
15337    }
15338  } else {
15339
15340  }
15341#line 2239
15342  return (ret);
15343}
15344}
15345#line 2242 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15346static int pkt_open_write(struct pktcdvd_device *pd ) 
15347{ int ret ;
15348  unsigned int write_speed ;
15349  unsigned int media_write_speed ;
15350  unsigned int read_speed ;
15351  unsigned int _min1 ;
15352  unsigned int _min2 ;
15353  unsigned int tmp ;
15354  char (*__cil_tmp9)[20U] ;
15355  char *__cil_tmp10 ;
15356  __u16 __cil_tmp11 ;
15357  int __cil_tmp12 ;
15358  __u16 __cil_tmp13 ;
15359  int __cil_tmp14 ;
15360  __u16 __cil_tmp15 ;
15361  int __cil_tmp16 ;
15362  unsigned int __cil_tmp17 ;
15363  char (*__cil_tmp18)[20U] ;
15364  char *__cil_tmp19 ;
15365  char (*__cil_tmp20)[20U] ;
15366  char *__cil_tmp21 ;
15367
15368  {
15369  {
15370#line 2247
15371  ret = pkt_probe_settings(pd);
15372  }
15373#line 2247
15374  if (ret != 0) {
15375#line 2249
15376    return (ret);
15377  } else {
15378
15379  }
15380  {
15381#line 2252
15382  ret = pkt_set_write_settings(pd);
15383  }
15384#line 2252
15385  if (ret != 0) {
15386    {
15387#line 2253
15388    __cil_tmp9 = & pd->name;
15389#line 2253
15390    __cil_tmp10 = (char *)__cil_tmp9;
15391#line 2253
15392    printk("<5>pktcdvd: %s failed saving write settings\n", __cil_tmp10);
15393    }
15394#line 2254
15395    return (-5);
15396  } else {
15397
15398  }
15399  {
15400#line 2257
15401  pkt_write_caching(pd, 1);
15402#line 2259
15403  ret = pkt_get_max_speed(pd, & write_speed);
15404  }
15405#line 2259
15406  if (ret != 0) {
15407#line 2260
15408    write_speed = 2832U;
15409  } else {
15410
15411  }
15412  {
15413#line 2262
15414  __cil_tmp11 = pd->mmc3_profile;
15415#line 2262
15416  __cil_tmp12 = (int )__cil_tmp11;
15417#line 2262
15418  if (__cil_tmp12 == 19) {
15419#line 2262
15420    goto case_19;
15421  } else {
15422    {
15423#line 2263
15424    __cil_tmp13 = pd->mmc3_profile;
15425#line 2263
15426    __cil_tmp14 = (int )__cil_tmp13;
15427#line 2263
15428    if (__cil_tmp14 == 26) {
15429#line 2263
15430      goto case_26;
15431    } else {
15432      {
15433#line 2264
15434      __cil_tmp15 = pd->mmc3_profile;
15435#line 2264
15436      __cil_tmp16 = (int )__cil_tmp15;
15437#line 2264
15438      if (__cil_tmp16 == 18) {
15439#line 2264
15440        goto case_18;
15441      } else {
15442#line 2267
15443        goto switch_default;
15444#line 2261
15445        if (0) {
15446          case_19: ;
15447          case_26: ;
15448          case_18: 
15449          {
15450#line 2265
15451          printk("<5>pktcdvd: write speed %ukB/s\n", write_speed);
15452          }
15453#line 2266
15454          goto ldv_31238;
15455          switch_default: 
15456          {
15457#line 2268
15458          ret = pkt_media_speed(pd, & media_write_speed);
15459          }
15460#line 2268
15461          if (ret != 0) {
15462#line 2269
15463            media_write_speed = 16U;
15464          } else {
15465
15466          }
15467#line 2270
15468          _min1 = write_speed;
15469#line 2270
15470          _min2 = media_write_speed * 177U;
15471#line 2270
15472          if (_min1 < _min2) {
15473#line 2270
15474            tmp = _min1;
15475          } else {
15476#line 2270
15477            tmp = _min2;
15478          }
15479          {
15480#line 2270
15481          write_speed = tmp;
15482#line 2271
15483          __cil_tmp17 = write_speed / 176U;
15484#line 2271
15485          printk("<5>pktcdvd: write speed %ux\n", __cil_tmp17);
15486          }
15487#line 2272
15488          goto ldv_31238;
15489        } else {
15490
15491        }
15492      }
15493      }
15494    }
15495    }
15496  }
15497  }
15498  ldv_31238: 
15499  {
15500#line 2274
15501  read_speed = write_speed;
15502#line 2276
15503  ret = pkt_set_speed(pd, write_speed, read_speed);
15504  }
15505#line 2276
15506  if (ret != 0) {
15507    {
15508#line 2277
15509    __cil_tmp18 = & pd->name;
15510#line 2277
15511    __cil_tmp19 = (char *)__cil_tmp18;
15512#line 2277
15513    printk("<5>pktcdvd: %s couldn\'t set write speed\n", __cil_tmp19);
15514    }
15515#line 2278
15516    return (-5);
15517  } else {
15518
15519  }
15520  {
15521#line 2280
15522  pd->write_speed = (int )write_speed;
15523#line 2281
15524  pd->read_speed = (int )read_speed;
15525#line 2283
15526  ret = pkt_perform_opc(pd);
15527  }
15528#line 2283
15529  if (ret != 0) {
15530    {
15531#line 2284
15532    __cil_tmp20 = & pd->name;
15533#line 2284
15534    __cil_tmp21 = (char *)__cil_tmp20;
15535#line 2284
15536    printk("<5>pktcdvd: %s Optimum Power Calibration failed\n", __cil_tmp21);
15537    }
15538  } else {
15539
15540  }
15541#line 2287
15542  return (0);
15543}
15544}
15545#line 2293 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15546static int pkt_open_dev(struct pktcdvd_device *pd , fmode_t write ) 
15547{ int ret ;
15548  long lba ;
15549  struct request_queue *q ;
15550  int tmp ;
15551  struct block_device *__cil_tmp7 ;
15552  dev_t __cil_tmp8 ;
15553  struct block_device *__cil_tmp9 ;
15554  void *__cil_tmp10 ;
15555  struct gendisk *__cil_tmp11 ;
15556  long __cil_tmp12 ;
15557  sector_t __cil_tmp13 ;
15558  struct block_device *__cil_tmp14 ;
15559  struct gendisk *__cil_tmp15 ;
15560  long __cil_tmp16 ;
15561  sector_t __cil_tmp17 ;
15562  struct block_device *__cil_tmp18 ;
15563  long long __cil_tmp19 ;
15564  long long __cil_tmp20 ;
15565  struct block_device *__cil_tmp21 ;
15566  spinlock_t *__cil_tmp22 ;
15567  __u32 __cil_tmp23 ;
15568  spinlock_t *__cil_tmp24 ;
15569  unsigned long *__cil_tmp25 ;
15570  unsigned long volatile   *__cil_tmp26 ;
15571  unsigned long *__cil_tmp27 ;
15572  unsigned long volatile   *__cil_tmp28 ;
15573  long __cil_tmp29 ;
15574  struct block_device *__cil_tmp30 ;
15575
15576  {
15577  {
15578#line 2304
15579  __cil_tmp7 = pd->bdev;
15580#line 2304
15581  __cil_tmp8 = __cil_tmp7->bd_dev;
15582#line 2304
15583  bdget(__cil_tmp8);
15584#line 2305
15585  __cil_tmp9 = pd->bdev;
15586#line 2305
15587  __cil_tmp10 = (void *)pd;
15588#line 2305
15589  ret = blkdev_get(__cil_tmp9, 129U, __cil_tmp10);
15590  }
15591#line 2305
15592  if (ret != 0) {
15593#line 2306
15594    goto out;
15595  } else {
15596
15597  }
15598  {
15599#line 2308
15600  ret = pkt_get_last_written(pd, & lba);
15601  }
15602#line 2308
15603  if (ret != 0) {
15604    {
15605#line 2309
15606    printk("pktcdvd: pkt_get_last_written failed\n");
15607    }
15608#line 2310
15609    goto out_putdev;
15610  } else {
15611
15612  }
15613  {
15614#line 2313
15615  __cil_tmp11 = pd->disk;
15616#line 2313
15617  __cil_tmp12 = lba << 2;
15618#line 2313
15619  __cil_tmp13 = (sector_t )__cil_tmp12;
15620#line 2313
15621  set_capacity(__cil_tmp11, __cil_tmp13);
15622#line 2314
15623  __cil_tmp14 = pd->bdev;
15624#line 2314
15625  __cil_tmp15 = __cil_tmp14->bd_disk;
15626#line 2314
15627  __cil_tmp16 = lba << 2;
15628#line 2314
15629  __cil_tmp17 = (sector_t )__cil_tmp16;
15630#line 2314
15631  set_capacity(__cil_tmp15, __cil_tmp17);
15632#line 2315
15633  __cil_tmp18 = pd->bdev;
15634#line 2315
15635  __cil_tmp19 = (long long )lba;
15636#line 2315
15637  __cil_tmp20 = __cil_tmp19 << 11;
15638#line 2315
15639  bd_set_size(__cil_tmp18, __cil_tmp20);
15640#line 2317
15641  __cil_tmp21 = pd->bdev;
15642#line 2317
15643  q = bdev_get_queue(__cil_tmp21);
15644  }
15645#line 2318
15646  if (write != 0U) {
15647    {
15648#line 2319
15649    ret = pkt_open_write(pd);
15650    }
15651#line 2319
15652    if (ret != 0) {
15653#line 2320
15654      goto out_putdev;
15655    } else {
15656
15657    }
15658    {
15659#line 2325
15660    __cil_tmp22 = q->queue_lock;
15661#line 2325
15662    spin_lock_irq(__cil_tmp22);
15663#line 2326
15664    __cil_tmp23 = pd->settings.size;
15665#line 2326
15666    blk_queue_max_hw_sectors(q, __cil_tmp23);
15667#line 2327
15668    __cil_tmp24 = q->queue_lock;
15669#line 2327
15670    spin_unlock_irq(__cil_tmp24);
15671#line 2328
15672    __cil_tmp25 = & pd->flags;
15673#line 2328
15674    __cil_tmp26 = (unsigned long volatile   *)__cil_tmp25;
15675#line 2328
15676    set_bit(1U, __cil_tmp26);
15677    }
15678  } else {
15679    {
15680#line 2330
15681    pkt_set_speed(pd, 65535U, 65535U);
15682#line 2331
15683    __cil_tmp27 = & pd->flags;
15684#line 2331
15685    __cil_tmp28 = (unsigned long volatile   *)__cil_tmp27;
15686#line 2331
15687    clear_bit(1, __cil_tmp28);
15688    }
15689  }
15690  {
15691#line 2334
15692  ret = pkt_set_segment_merging(pd, q);
15693  }
15694#line 2334
15695  if (ret != 0) {
15696#line 2335
15697    goto out_putdev;
15698  } else {
15699
15700  }
15701#line 2337
15702  if (write != 0U) {
15703    {
15704#line 2338
15705    tmp = pkt_grow_pktlist(pd, 8);
15706    }
15707#line 2338
15708    if (tmp == 0) {
15709      {
15710#line 2339
15711      printk("pktcdvd: not enough memory for buffers\n");
15712#line 2340
15713      ret = -12;
15714      }
15715#line 2341
15716      goto out_putdev;
15717    } else {
15718
15719    }
15720    {
15721#line 2343
15722    __cil_tmp29 = lba << 1;
15723#line 2343
15724    printk("pktcdvd: %lukB available on disc\n", __cil_tmp29);
15725    }
15726  } else {
15727
15728  }
15729#line 2346
15730  return (0);
15731  out_putdev: 
15732  {
15733#line 2349
15734  __cil_tmp30 = pd->bdev;
15735#line 2349
15736  blkdev_put(__cil_tmp30, 129U);
15737  }
15738  out: ;
15739#line 2351
15740  return (ret);
15741}
15742}
15743#line 2358 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15744static void pkt_release_dev(struct pktcdvd_device *pd , int flush ) 
15745{ int tmp ;
15746  char (*__cil_tmp4)[20U] ;
15747  char *__cil_tmp5 ;
15748  struct block_device *__cil_tmp6 ;
15749
15750  {
15751#line 2360
15752  if (flush != 0) {
15753    {
15754#line 2360
15755    tmp = pkt_flush_cache(pd);
15756    }
15757#line 2360
15758    if (tmp != 0) {
15759      {
15760#line 2361
15761      __cil_tmp4 = & pd->name;
15762#line 2361
15763      __cil_tmp5 = (char *)__cil_tmp4;
15764#line 2361
15765      printk("<5>pktcdvd: %s not flushing cache\n", __cil_tmp5);
15766      }
15767    } else {
15768
15769    }
15770  } else {
15771
15772  }
15773  {
15774#line 2363
15775  pkt_lock_door(pd, 0);
15776#line 2365
15777  pkt_set_speed(pd, 65535U, 65535U);
15778#line 2366
15779  __cil_tmp6 = pd->bdev;
15780#line 2366
15781  blkdev_put(__cil_tmp6, 129U);
15782#line 2368
15783  pkt_shrink_pktlist(pd);
15784  }
15785#line 2369
15786  return;
15787}
15788}
15789#line 2371 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15790static struct pktcdvd_device *pkt_find_dev_from_minor(unsigned int dev_minor ) 
15791{ 
15792
15793  {
15794#line 2373
15795  if (dev_minor > 7U) {
15796#line 2374
15797    return ((struct pktcdvd_device *)0);
15798  } else {
15799
15800  }
15801#line 2375
15802  return (pkt_devs[dev_minor]);
15803}
15804}
15805#line 2378 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15806static int pkt_open(struct block_device *bdev , fmode_t mode ) 
15807{ struct pktcdvd_device *pd ;
15808  int ret ;
15809  long tmp ;
15810  int tmp___0 ;
15811  dev_t __cil_tmp7 ;
15812  unsigned int __cil_tmp8 ;
15813  struct pktcdvd_device *__cil_tmp9 ;
15814  unsigned long __cil_tmp10 ;
15815  unsigned long __cil_tmp11 ;
15816  int __cil_tmp12 ;
15817  int __cil_tmp13 ;
15818  long __cil_tmp14 ;
15819  int __cil_tmp15 ;
15820  int __cil_tmp16 ;
15821  unsigned int __cil_tmp17 ;
15822  unsigned long *__cil_tmp18 ;
15823  unsigned long const volatile   *__cil_tmp19 ;
15824  unsigned int __cil_tmp20 ;
15825  int __cil_tmp21 ;
15826
15827  {
15828  {
15829#line 2380
15830  pd = (struct pktcdvd_device *)0;
15831#line 2385
15832  mutex_lock_nested(& pktcdvd_mutex, 0U);
15833#line 2386
15834  mutex_lock_nested(& ctl_mutex, 0U);
15835#line 2387
15836  __cil_tmp7 = bdev->bd_dev;
15837#line 2387
15838  __cil_tmp8 = __cil_tmp7 & 1048575U;
15839#line 2387
15840  pd = pkt_find_dev_from_minor(__cil_tmp8);
15841  }
15842  {
15843#line 2388
15844  __cil_tmp9 = (struct pktcdvd_device *)0;
15845#line 2388
15846  __cil_tmp10 = (unsigned long )__cil_tmp9;
15847#line 2388
15848  __cil_tmp11 = (unsigned long )pd;
15849#line 2388
15850  if (__cil_tmp11 == __cil_tmp10) {
15851#line 2389
15852    ret = -19;
15853#line 2390
15854    goto out;
15855  } else {
15856
15857  }
15858  }
15859  {
15860#line 2392
15861  __cil_tmp12 = pd->refcnt;
15862#line 2392
15863  __cil_tmp13 = __cil_tmp12 < 0;
15864#line 2392
15865  __cil_tmp14 = (long )__cil_tmp13;
15866#line 2392
15867  tmp = __builtin_expect(__cil_tmp14, 0L);
15868  }
15869#line 2392
15870  if (tmp != 0L) {
15871#line 2392
15872    __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/pktcdvd.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/pktcdvd.c.p"),
15873                         "i" (2392), "i" (12UL));
15874    ldv_31266: ;
15875#line 2392
15876    goto ldv_31266;
15877  } else {
15878
15879  }
15880#line 2394
15881  __cil_tmp15 = pd->refcnt;
15882#line 2394
15883  pd->refcnt = __cil_tmp15 + 1;
15884  {
15885#line 2395
15886  __cil_tmp16 = pd->refcnt;
15887#line 2395
15888  if (__cil_tmp16 > 1) {
15889    {
15890#line 2396
15891    __cil_tmp17 = mode & 2U;
15892#line 2396
15893    if (__cil_tmp17 != 0U) {
15894      {
15895#line 2396
15896      __cil_tmp18 = & pd->flags;
15897#line 2396
15898      __cil_tmp19 = (unsigned long const volatile   *)__cil_tmp18;
15899#line 2396
15900      tmp___0 = constant_test_bit(1U, __cil_tmp19);
15901      }
15902#line 2396
15903      if (tmp___0 == 0) {
15904#line 2398
15905        ret = -16;
15906#line 2399
15907        goto out_dec;
15908      } else {
15909#line 2396
15910        goto _L;
15911      }
15912    } else {
15913      _L: 
15914      {
15915#line 2402
15916      __cil_tmp20 = mode & 2U;
15917#line 2402
15918      ret = pkt_open_dev(pd, __cil_tmp20);
15919      }
15920#line 2403
15921      if (ret != 0) {
15922#line 2404
15923        goto out_dec;
15924      } else {
15925
15926      }
15927      {
15928#line 2409
15929      set_blocksize(bdev, 2048);
15930      }
15931    }
15932    }
15933  } else {
15934
15935  }
15936  }
15937  {
15938#line 2412
15939  mutex_unlock(& ctl_mutex);
15940#line 2413
15941  mutex_unlock(& pktcdvd_mutex);
15942  }
15943#line 2414
15944  return (0);
15945  out_dec: 
15946#line 2417
15947  __cil_tmp21 = pd->refcnt;
15948#line 2417
15949  pd->refcnt = __cil_tmp21 - 1;
15950  out: 
15951  {
15952#line 2420
15953  mutex_unlock(& ctl_mutex);
15954#line 2421
15955  mutex_unlock(& pktcdvd_mutex);
15956  }
15957#line 2422
15958  return (ret);
15959}
15960}
15961#line 2425 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
15962static int pkt_close(struct gendisk *disk , fmode_t mode ) 
15963{ struct pktcdvd_device *pd ;
15964  int ret ;
15965  long tmp ;
15966  int flush ;
15967  int tmp___0 ;
15968  void *__cil_tmp8 ;
15969  int __cil_tmp9 ;
15970  int __cil_tmp10 ;
15971  int __cil_tmp11 ;
15972  long __cil_tmp12 ;
15973  int __cil_tmp13 ;
15974  unsigned long *__cil_tmp14 ;
15975  unsigned long const volatile   *__cil_tmp15 ;
15976
15977  {
15978  {
15979#line 2427
15980  __cil_tmp8 = disk->private_data;
15981#line 2427
15982  pd = (struct pktcdvd_device *)__cil_tmp8;
15983#line 2428
15984  ret = 0;
15985#line 2430
15986  mutex_lock_nested(& pktcdvd_mutex, 0U);
15987#line 2431
15988  mutex_lock_nested(& ctl_mutex, 0U);
15989#line 2432
15990  __cil_tmp9 = pd->refcnt;
15991#line 2432
15992  pd->refcnt = __cil_tmp9 - 1;
15993#line 2433
15994  __cil_tmp10 = pd->refcnt;
15995#line 2433
15996  __cil_tmp11 = __cil_tmp10 < 0;
15997#line 2433
15998  __cil_tmp12 = (long )__cil_tmp11;
15999#line 2433
16000  tmp = __builtin_expect(__cil_tmp12, 0L);
16001  }
16002#line 2433
16003  if (tmp != 0L) {
16004#line 2433
16005    __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/pktcdvd.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/pktcdvd.c.p"),
16006                         "i" (2433), "i" (12UL));
16007    ldv_31274: ;
16008#line 2433
16009    goto ldv_31274;
16010  } else {
16011
16012  }
16013  {
16014#line 2434
16015  __cil_tmp13 = pd->refcnt;
16016#line 2434
16017  if (__cil_tmp13 == 0) {
16018    {
16019#line 2435
16020    __cil_tmp14 = & pd->flags;
16021#line 2435
16022    __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
16023#line 2435
16024    tmp___0 = constant_test_bit(1U, __cil_tmp15);
16025#line 2435
16026    flush = tmp___0;
16027#line 2436
16028    pkt_release_dev(pd, flush);
16029    }
16030  } else {
16031
16032  }
16033  }
16034  {
16035#line 2438
16036  mutex_unlock(& ctl_mutex);
16037#line 2439
16038  mutex_unlock(& pktcdvd_mutex);
16039  }
16040#line 2440
16041  return (ret);
16042}
16043}
16044#line 2444 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
16045static void pkt_end_io_read_cloned(struct bio *bio , int err ) 
16046{ struct packet_stacked_data *psd ;
16047  struct pktcdvd_device *pd ;
16048  void *__cil_tmp5 ;
16049  struct bio *__cil_tmp6 ;
16050  void *__cil_tmp7 ;
16051
16052  {
16053  {
16054#line 2446
16055  __cil_tmp5 = bio->bi_private;
16056#line 2446
16057  psd = (struct packet_stacked_data *)__cil_tmp5;
16058#line 2447
16059  pd = psd->pd;
16060#line 2449
16061  bio_put(bio);
16062#line 2450
16063  __cil_tmp6 = psd->bio;
16064#line 2450
16065  bio_endio(__cil_tmp6, err);
16066#line 2451
16067  __cil_tmp7 = (void *)psd;
16068#line 2451
16069  mempool_free(__cil_tmp7, psd_pool);
16070#line 2452
16071  pkt_bio_finished(pd);
16072  }
16073#line 2453
16074  return;
16075}
16076}
16077#line 2455 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
16078static int pkt_make_request(struct request_queue *q , struct bio *bio ) 
16079{ struct pktcdvd_device *pd ;
16080  char b[32U] ;
16081  sector_t zone ;
16082  struct packet_data *pkt ;
16083  int was_empty ;
16084  int blocked_bio ;
16085  struct pkt_rb_node *node ;
16086  char const   *tmp ;
16087  struct bio *cloned_bio ;
16088  struct bio *tmp___0 ;
16089  struct packet_stacked_data *psd ;
16090  void *tmp___1 ;
16091  int tmp___2 ;
16092  struct bio_pair *bp ;
16093  sector_t last_zone ;
16094  int first_sectors ;
16095  long tmp___3 ;
16096  long tmp___4 ;
16097  struct list_head  const  *__mptr ;
16098  struct list_head  const  *__mptr___0 ;
16099  void *tmp___5 ;
16100  long tmp___6 ;
16101  int tmp___7 ;
16102  void *__cil_tmp26 ;
16103  struct pktcdvd_device *__cil_tmp27 ;
16104  unsigned long __cil_tmp28 ;
16105  unsigned long __cil_tmp29 ;
16106  struct block_device *__cil_tmp30 ;
16107  char *__cil_tmp31 ;
16108  unsigned long __cil_tmp32 ;
16109  unsigned long __cil_tmp33 ;
16110  unsigned int __cil_tmp34 ;
16111  unsigned int __cil_tmp35 ;
16112  unsigned long __cil_tmp36 ;
16113  unsigned long __cil_tmp37 ;
16114  unsigned long *__cil_tmp38 ;
16115  unsigned long const volatile   *__cil_tmp39 ;
16116  char (*__cil_tmp40)[20U] ;
16117  char *__cil_tmp41 ;
16118  sector_t __cil_tmp42 ;
16119  unsigned long long __cil_tmp43 ;
16120  unsigned int __cil_tmp44 ;
16121  unsigned int __cil_tmp45 ;
16122  unsigned int __cil_tmp46 ;
16123  __u32 __cil_tmp47 ;
16124  __u32 __cil_tmp48 ;
16125  unsigned long __cil_tmp49 ;
16126  unsigned long __cil_tmp50 ;
16127  sector_t __cil_tmp51 ;
16128  sector_t __cil_tmp52 ;
16129  __u32 __cil_tmp53 ;
16130  __u32 __cil_tmp54 ;
16131  unsigned long __cil_tmp55 ;
16132  unsigned long __cil_tmp56 ;
16133  unsigned int __cil_tmp57 ;
16134  unsigned int __cil_tmp58 ;
16135  sector_t __cil_tmp59 ;
16136  sector_t __cil_tmp60 ;
16137  sector_t __cil_tmp61 ;
16138  sector_t __cil_tmp62 ;
16139  sector_t __cil_tmp63 ;
16140  __u32 __cil_tmp64 ;
16141  sector_t __cil_tmp65 ;
16142  sector_t __cil_tmp66 ;
16143  int __cil_tmp67 ;
16144  long __cil_tmp68 ;
16145  sector_t __cil_tmp69 ;
16146  unsigned int __cil_tmp70 ;
16147  unsigned int __cil_tmp71 ;
16148  unsigned int __cil_tmp72 ;
16149  struct bio_pair *__cil_tmp73 ;
16150  unsigned long __cil_tmp74 ;
16151  unsigned long __cil_tmp75 ;
16152  int __cil_tmp76 ;
16153  long __cil_tmp77 ;
16154  struct bio *__cil_tmp78 ;
16155  struct bio *__cil_tmp79 ;
16156  spinlock_t *__cil_tmp80 ;
16157  struct list_head *__cil_tmp81 ;
16158  sector_t __cil_tmp82 ;
16159  spinlock_t *__cil_tmp83 ;
16160  enum packet_data_state __cil_tmp84 ;
16161  unsigned int __cil_tmp85 ;
16162  enum packet_data_state __cil_tmp86 ;
16163  unsigned int __cil_tmp87 ;
16164  struct bio_list *__cil_tmp88 ;
16165  unsigned int __cil_tmp89 ;
16166  unsigned int __cil_tmp90 ;
16167  int __cil_tmp91 ;
16168  unsigned int __cil_tmp92 ;
16169  unsigned int __cil_tmp93 ;
16170  int __cil_tmp94 ;
16171  int __cil_tmp95 ;
16172  enum packet_data_state __cil_tmp96 ;
16173  unsigned int __cil_tmp97 ;
16174  atomic_t *__cil_tmp98 ;
16175  wait_queue_head_t *__cil_tmp99 ;
16176  void *__cil_tmp100 ;
16177  spinlock_t *__cil_tmp101 ;
16178  spinlock_t *__cil_tmp102 ;
16179  spinlock_t *__cil_tmp103 ;
16180  struct list_head *__cil_tmp104 ;
16181  struct list_head *__cil_tmp105 ;
16182  unsigned long __cil_tmp106 ;
16183  struct list_head *__cil_tmp107 ;
16184  unsigned long __cil_tmp108 ;
16185  spinlock_t *__cil_tmp109 ;
16186  spinlock_t *__cil_tmp110 ;
16187  int __cil_tmp111 ;
16188  int __cil_tmp112 ;
16189  int __cil_tmp113 ;
16190  struct backing_dev_info *__cil_tmp114 ;
16191  spinlock_t *__cil_tmp115 ;
16192  spinlock_t *__cil_tmp116 ;
16193  int __cil_tmp117 ;
16194  int __cil_tmp118 ;
16195  spinlock_t *__cil_tmp119 ;
16196  mempool_t *__cil_tmp120 ;
16197  spinlock_t *__cil_tmp121 ;
16198  int __cil_tmp122 ;
16199  int __cil_tmp123 ;
16200  long __cil_tmp124 ;
16201  int __cil_tmp125 ;
16202  spinlock_t *__cil_tmp126 ;
16203  atomic_t *__cil_tmp127 ;
16204  wait_queue_head_t *__cil_tmp128 ;
16205  void *__cil_tmp129 ;
16206  struct list_head *__cil_tmp130 ;
16207  struct list_head  const  *__cil_tmp131 ;
16208  wait_queue_head_t *__cil_tmp132 ;
16209  void *__cil_tmp133 ;
16210
16211  {
16212#line 2464
16213  __cil_tmp26 = q->queuedata;
16214#line 2464
16215  pd = (struct pktcdvd_device *)__cil_tmp26;
16216  {
16217#line 2465
16218  __cil_tmp27 = (struct pktcdvd_device *)0;
16219#line 2465
16220  __cil_tmp28 = (unsigned long )__cil_tmp27;
16221#line 2465
16222  __cil_tmp29 = (unsigned long )pd;
16223#line 2465
16224  if (__cil_tmp29 == __cil_tmp28) {
16225    {
16226#line 2466
16227    __cil_tmp30 = bio->bi_bdev;
16228#line 2466
16229    __cil_tmp31 = (char *)(& b);
16230#line 2466
16231    tmp = bdevname(__cil_tmp30, __cil_tmp31);
16232#line 2466
16233    printk("pktcdvd: %s incorrect request queue\n", tmp);
16234    }
16235#line 2467
16236    goto end_io;
16237  } else {
16238
16239  }
16240  }
16241  {
16242#line 2473
16243  __cil_tmp32 = bio->bi_rw;
16244#line 2473
16245  __cil_tmp33 = __cil_tmp32 & 1UL;
16246#line 2473
16247  if (__cil_tmp33 == 0UL) {
16248    {
16249#line 2474
16250    tmp___0 = bio_clone(bio, 16U);
16251#line 2474
16252    cloned_bio = tmp___0;
16253#line 2475
16254    tmp___1 = mempool_alloc(psd_pool, 16U);
16255#line 2475
16256    psd = (struct packet_stacked_data *)tmp___1;
16257#line 2477
16258    psd->pd = pd;
16259#line 2478
16260    psd->bio = bio;
16261#line 2479
16262    cloned_bio->bi_bdev = pd->bdev;
16263#line 2480
16264    cloned_bio->bi_private = (void *)psd;
16265#line 2481
16266    cloned_bio->bi_end_io = & pkt_end_io_read_cloned;
16267#line 2482
16268    __cil_tmp34 = bio->bi_size;
16269#line 2482
16270    __cil_tmp35 = __cil_tmp34 >> 9;
16271#line 2482
16272    __cil_tmp36 = (unsigned long )__cil_tmp35;
16273#line 2482
16274    __cil_tmp37 = pd->stats.secs_r;
16275#line 2482
16276    pd->stats.secs_r = __cil_tmp37 + __cil_tmp36;
16277#line 2483
16278    pkt_queue_bio(pd, cloned_bio);
16279    }
16280#line 2484
16281    return (0);
16282  } else {
16283
16284  }
16285  }
16286  {
16287#line 2487
16288  __cil_tmp38 = & pd->flags;
16289#line 2487
16290  __cil_tmp39 = (unsigned long const volatile   *)__cil_tmp38;
16291#line 2487
16292  tmp___2 = constant_test_bit(1U, __cil_tmp39);
16293  }
16294#line 2487
16295  if (tmp___2 == 0) {
16296    {
16297#line 2488
16298    __cil_tmp40 = & pd->name;
16299#line 2488
16300    __cil_tmp41 = (char *)__cil_tmp40;
16301#line 2488
16302    __cil_tmp42 = bio->bi_sector;
16303#line 2488
16304    __cil_tmp43 = (unsigned long long )__cil_tmp42;
16305#line 2488
16306    printk("pktcdvd: WRITE for ro device %s (%llu)\n", __cil_tmp41, __cil_tmp43);
16307    }
16308#line 2490
16309    goto end_io;
16310  } else {
16311
16312  }
16313  {
16314#line 2493
16315  __cil_tmp44 = bio->bi_size;
16316#line 2493
16317  if (__cil_tmp44 == 0U) {
16318    {
16319#line 2494
16320    printk("pktcdvd: wrong bio size\n");
16321    }
16322#line 2495
16323    goto end_io;
16324  } else {
16325    {
16326#line 2493
16327    __cil_tmp45 = bio->bi_size;
16328#line 2493
16329    __cil_tmp46 = __cil_tmp45 & 2047U;
16330#line 2493
16331    if (__cil_tmp46 != 0U) {
16332      {
16333#line 2494
16334      printk("pktcdvd: wrong bio size\n");
16335      }
16336#line 2495
16337      goto end_io;
16338    } else {
16339
16340    }
16341    }
16342  }
16343  }
16344  {
16345#line 2498
16346  blk_queue_bounce(q, & bio);
16347#line 2500
16348  __cil_tmp47 = pd->settings.size;
16349#line 2500
16350  __cil_tmp48 = - __cil_tmp47;
16351#line 2500
16352  __cil_tmp49 = (unsigned long )__cil_tmp48;
16353#line 2500
16354  __cil_tmp50 = pd->offset;
16355#line 2500
16356  __cil_tmp51 = bio->bi_sector;
16357#line 2500
16358  __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
16359#line 2500
16360  zone = __cil_tmp52 & __cil_tmp49;
16361#line 2511
16362  __cil_tmp53 = pd->settings.size;
16363#line 2511
16364  __cil_tmp54 = - __cil_tmp53;
16365#line 2511
16366  __cil_tmp55 = (unsigned long )__cil_tmp54;
16367#line 2511
16368  __cil_tmp56 = pd->offset;
16369#line 2511
16370  __cil_tmp57 = bio->bi_size;
16371#line 2511
16372  __cil_tmp58 = __cil_tmp57 >> 9;
16373#line 2511
16374  __cil_tmp59 = (sector_t )__cil_tmp58;
16375#line 2511
16376  __cil_tmp60 = bio->bi_sector;
16377#line 2511
16378  __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
16379#line 2511
16380  __cil_tmp62 = __cil_tmp61 + __cil_tmp56;
16381#line 2511
16382  __cil_tmp63 = __cil_tmp62 - 1UL;
16383#line 2511
16384  last_zone = __cil_tmp63 & __cil_tmp55;
16385  }
16386#line 2512
16387  if (last_zone != zone) {
16388    {
16389#line 2513
16390    __cil_tmp64 = pd->settings.size;
16391#line 2513
16392    __cil_tmp65 = (sector_t )__cil_tmp64;
16393#line 2513
16394    __cil_tmp66 = __cil_tmp65 + zone;
16395#line 2513
16396    __cil_tmp67 = __cil_tmp66 != last_zone;
16397#line 2513
16398    __cil_tmp68 = (long )__cil_tmp67;
16399#line 2513
16400    tmp___3 = __builtin_expect(__cil_tmp68, 0L);
16401    }
16402#line 2513
16403    if (tmp___3 != 0L) {
16404#line 2513
16405      __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/pktcdvd.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/pktcdvd.c.p"),
16406                           "i" (2513), "i" (12UL));
16407      ldv_31299: ;
16408#line 2513
16409      goto ldv_31299;
16410    } else {
16411
16412    }
16413    {
16414#line 2514
16415    __cil_tmp69 = bio->bi_sector;
16416#line 2514
16417    __cil_tmp70 = (unsigned int )__cil_tmp69;
16418#line 2514
16419    __cil_tmp71 = (unsigned int )last_zone;
16420#line 2514
16421    __cil_tmp72 = __cil_tmp71 - __cil_tmp70;
16422#line 2514
16423    first_sectors = (int )__cil_tmp72;
16424#line 2515
16425    bp = bio_split(bio, first_sectors);
16426#line 2516
16427    __cil_tmp73 = (struct bio_pair *)0;
16428#line 2516
16429    __cil_tmp74 = (unsigned long )__cil_tmp73;
16430#line 2516
16431    __cil_tmp75 = (unsigned long )bp;
16432#line 2516
16433    __cil_tmp76 = __cil_tmp75 == __cil_tmp74;
16434#line 2516
16435    __cil_tmp77 = (long )__cil_tmp76;
16436#line 2516
16437    tmp___4 = __builtin_expect(__cil_tmp77, 0L);
16438    }
16439#line 2516
16440    if (tmp___4 != 0L) {
16441#line 2516
16442      __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/pktcdvd.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/pktcdvd.c.p"),
16443                           "i" (2516), "i" (12UL));
16444      ldv_31300: ;
16445#line 2516
16446      goto ldv_31300;
16447    } else {
16448
16449    }
16450    {
16451#line 2517
16452    __cil_tmp78 = & bp->bio1;
16453#line 2517
16454    pkt_make_request(q, __cil_tmp78);
16455#line 2518
16456    __cil_tmp79 = & bp->bio2;
16457#line 2518
16458    pkt_make_request(q, __cil_tmp79);
16459#line 2519
16460    bio_pair_release(bp);
16461    }
16462#line 2520
16463    return (0);
16464  } else {
16465
16466  }
16467  {
16468#line 2528
16469  __cil_tmp80 = & pd->cdrw.active_list_lock;
16470#line 2528
16471  spin_lock(__cil_tmp80);
16472#line 2529
16473  blocked_bio = 0;
16474#line 2530
16475  __cil_tmp81 = pd->cdrw.pkt_active_list.next;
16476#line 2530
16477  __mptr = (struct list_head  const  *)__cil_tmp81;
16478#line 2530
16479  pkt = (struct packet_data *)__mptr;
16480  }
16481#line 2530
16482  goto ldv_31306;
16483  ldv_31305: ;
16484  {
16485#line 2531
16486  __cil_tmp82 = pkt->sector;
16487#line 2531
16488  if (__cil_tmp82 == zone) {
16489    {
16490#line 2532
16491    __cil_tmp83 = & pkt->lock;
16492#line 2532
16493    spin_lock(__cil_tmp83);
16494    }
16495    {
16496#line 2533
16497    __cil_tmp84 = pkt->state;
16498#line 2533
16499    __cil_tmp85 = (unsigned int )__cil_tmp84;
16500#line 2533
16501    if (__cil_tmp85 == 1U) {
16502#line 2533
16503      goto _L;
16504    } else {
16505      {
16506#line 2533
16507      __cil_tmp86 = pkt->state;
16508#line 2533
16509      __cil_tmp87 = (unsigned int )__cil_tmp86;
16510#line 2533
16511      if (__cil_tmp87 == 2U) {
16512        _L: 
16513        {
16514#line 2535
16515        __cil_tmp88 = & pkt->orig_bios;
16516#line 2535
16517        bio_list_add(__cil_tmp88, bio);
16518#line 2536
16519        __cil_tmp89 = bio->bi_size;
16520#line 2536
16521        __cil_tmp90 = __cil_tmp89 / 2048U;
16522#line 2536
16523        __cil_tmp91 = pkt->write_size;
16524#line 2536
16525        __cil_tmp92 = (unsigned int )__cil_tmp91;
16526#line 2536
16527        __cil_tmp93 = __cil_tmp92 + __cil_tmp90;
16528#line 2536
16529        pkt->write_size = (int )__cil_tmp93;
16530        }
16531        {
16532#line 2537
16533        __cil_tmp94 = pkt->frames;
16534#line 2537
16535        __cil_tmp95 = pkt->write_size;
16536#line 2537
16537        if (__cil_tmp95 >= __cil_tmp94) {
16538          {
16539#line 2537
16540          __cil_tmp96 = pkt->state;
16541#line 2537
16542          __cil_tmp97 = (unsigned int )__cil_tmp96;
16543#line 2537
16544          if (__cil_tmp97 == 1U) {
16545            {
16546#line 2539
16547            __cil_tmp98 = & pkt->run_sm;
16548#line 2539
16549            atomic_inc(__cil_tmp98);
16550#line 2540
16551            __cil_tmp99 = & pd->wqueue;
16552#line 2540
16553            __cil_tmp100 = (void *)0;
16554#line 2540
16555            __wake_up(__cil_tmp99, 3U, 1, __cil_tmp100);
16556            }
16557          } else {
16558
16559          }
16560          }
16561        } else {
16562
16563        }
16564        }
16565        {
16566#line 2542
16567        __cil_tmp101 = & pkt->lock;
16568#line 2542
16569        spin_unlock(__cil_tmp101);
16570#line 2543
16571        __cil_tmp102 = & pd->cdrw.active_list_lock;
16572#line 2543
16573        spin_unlock(__cil_tmp102);
16574        }
16575#line 2544
16576        return (0);
16577      } else {
16578#line 2546
16579        blocked_bio = 1;
16580      }
16581      }
16582    }
16583    }
16584    {
16585#line 2548
16586    __cil_tmp103 = & pkt->lock;
16587#line 2548
16588    spin_unlock(__cil_tmp103);
16589    }
16590  } else {
16591
16592  }
16593  }
16594#line 2530
16595  __cil_tmp104 = pkt->list.next;
16596#line 2530
16597  __mptr___0 = (struct list_head  const  *)__cil_tmp104;
16598#line 2530
16599  pkt = (struct packet_data *)__mptr___0;
16600  ldv_31306: ;
16601  {
16602#line 2530
16603  __cil_tmp105 = & pd->cdrw.pkt_active_list;
16604#line 2530
16605  __cil_tmp106 = (unsigned long )__cil_tmp105;
16606#line 2530
16607  __cil_tmp107 = & pkt->list;
16608#line 2530
16609  __cil_tmp108 = (unsigned long )__cil_tmp107;
16610#line 2530
16611  if (__cil_tmp108 != __cil_tmp106) {
16612#line 2531
16613    goto ldv_31305;
16614  } else {
16615#line 2533
16616    goto ldv_31307;
16617  }
16618  }
16619  ldv_31307: 
16620  {
16621#line 2551
16622  __cil_tmp109 = & pd->cdrw.active_list_lock;
16623#line 2551
16624  spin_unlock(__cil_tmp109);
16625#line 2558
16626  __cil_tmp110 = & pd->lock;
16627#line 2558
16628  spin_lock(__cil_tmp110);
16629  }
16630  {
16631#line 2559
16632  __cil_tmp111 = pd->write_congestion_on;
16633#line 2559
16634  if (__cil_tmp111 > 0) {
16635    {
16636#line 2559
16637    __cil_tmp112 = pd->write_congestion_on;
16638#line 2559
16639    __cil_tmp113 = pd->bio_queue_size;
16640#line 2559
16641    if (__cil_tmp113 >= __cil_tmp112) {
16642      {
16643#line 2561
16644      __cil_tmp114 = & q->backing_dev_info;
16645#line 2561
16646      set_bdi_congested(__cil_tmp114, 0);
16647      }
16648      ldv_31308: 
16649      {
16650#line 2563
16651      __cil_tmp115 = & pd->lock;
16652#line 2563
16653      spin_unlock(__cil_tmp115);
16654#line 2564
16655      congestion_wait(0, 250L);
16656#line 2565
16657      __cil_tmp116 = & pd->lock;
16658#line 2565
16659      spin_lock(__cil_tmp116);
16660      }
16661      {
16662#line 2566
16663      __cil_tmp117 = pd->write_congestion_off;
16664#line 2566
16665      __cil_tmp118 = pd->bio_queue_size;
16666#line 2566
16667      if (__cil_tmp118 > __cil_tmp117) {
16668#line 2567
16669        goto ldv_31308;
16670      } else {
16671#line 2569
16672        goto ldv_31309;
16673      }
16674      }
16675      ldv_31309: ;
16676    } else {
16677
16678    }
16679    }
16680  } else {
16681
16682  }
16683  }
16684  {
16685#line 2568
16686  __cil_tmp119 = & pd->lock;
16687#line 2568
16688  spin_unlock(__cil_tmp119);
16689#line 2573
16690  __cil_tmp120 = pd->rb_pool;
16691#line 2573
16692  tmp___5 = mempool_alloc(__cil_tmp120, 16U);
16693#line 2573
16694  node = (struct pkt_rb_node *)tmp___5;
16695#line 2574
16696  node->bio = bio;
16697#line 2575
16698  __cil_tmp121 = & pd->lock;
16699#line 2575
16700  spin_lock(__cil_tmp121);
16701#line 2576
16702  __cil_tmp122 = pd->bio_queue_size;
16703#line 2576
16704  __cil_tmp123 = __cil_tmp122 < 0;
16705#line 2576
16706  __cil_tmp124 = (long )__cil_tmp123;
16707#line 2576
16708  tmp___6 = __builtin_expect(__cil_tmp124, 0L);
16709  }
16710#line 2576
16711  if (tmp___6 != 0L) {
16712#line 2576
16713    __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/pktcdvd.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/pktcdvd.c.p"),
16714                         "i" (2576), "i" (12UL));
16715    ldv_31310: ;
16716#line 2576
16717    goto ldv_31310;
16718  } else {
16719
16720  }
16721  {
16722#line 2577
16723  __cil_tmp125 = pd->bio_queue_size;
16724#line 2577
16725  was_empty = __cil_tmp125 == 0;
16726#line 2578
16727  pkt_rbtree_insert(pd, node);
16728#line 2579
16729  __cil_tmp126 = & pd->lock;
16730#line 2579
16731  spin_unlock(__cil_tmp126);
16732#line 2584
16733  __cil_tmp127 = & pd->scan_queue;
16734#line 2584
16735  atomic_set(__cil_tmp127, 1);
16736  }
16737#line 2585
16738  if (was_empty != 0) {
16739    {
16740#line 2587
16741    __cil_tmp128 = & pd->wqueue;
16742#line 2587
16743    __cil_tmp129 = (void *)0;
16744#line 2587
16745    __wake_up(__cil_tmp128, 3U, 1, __cil_tmp129);
16746    }
16747  } else {
16748    {
16749#line 2588
16750    __cil_tmp130 = & pd->cdrw.pkt_free_list;
16751#line 2588
16752    __cil_tmp131 = (struct list_head  const  *)__cil_tmp130;
16753#line 2588
16754    tmp___7 = list_empty(__cil_tmp131);
16755    }
16756#line 2588
16757    if (tmp___7 == 0) {
16758#line 2588
16759      if (blocked_bio == 0) {
16760        {
16761#line 2593
16762        __cil_tmp132 = & pd->wqueue;
16763#line 2593
16764        __cil_tmp133 = (void *)0;
16765#line 2593
16766        __wake_up(__cil_tmp132, 3U, 1, __cil_tmp133);
16767        }
16768      } else {
16769
16770      }
16771    } else {
16772
16773    }
16774  }
16775#line 2595
16776  return (0);
16777  end_io: 
16778  {
16779#line 2597
16780  bio_endio(bio, -5);
16781  }
16782#line 2598
16783  return (0);
16784}
16785}
16786#line 2603 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
16787static int pkt_merge_bvec(struct request_queue *q , struct bvec_merge_data *bmd ,
16788                          struct bio_vec *bvec ) 
16789{ struct pktcdvd_device *pd ;
16790  sector_t zone ;
16791  int used ;
16792  int remaining ;
16793  int remaining2 ;
16794  int _max1 ;
16795  int _max2 ;
16796  int tmp ;
16797  long tmp___0 ;
16798  void *__cil_tmp13 ;
16799  __u32 __cil_tmp14 ;
16800  __u32 __cil_tmp15 ;
16801  unsigned long __cil_tmp16 ;
16802  unsigned long __cil_tmp17 ;
16803  sector_t __cil_tmp18 ;
16804  sector_t __cil_tmp19 ;
16805  unsigned int __cil_tmp20 ;
16806  unsigned int __cil_tmp21 ;
16807  sector_t __cil_tmp22 ;
16808  unsigned int __cil_tmp23 ;
16809  unsigned int __cil_tmp24 ;
16810  unsigned int __cil_tmp25 ;
16811  unsigned int __cil_tmp26 ;
16812  __u32 __cil_tmp27 ;
16813  __u32 __cil_tmp28 ;
16814  __u32 __cil_tmp29 ;
16815  __u32 __cil_tmp30 ;
16816  unsigned int __cil_tmp31 ;
16817  unsigned int __cil_tmp32 ;
16818  int __cil_tmp33 ;
16819  long __cil_tmp34 ;
16820
16821  {
16822#line 2606
16823  __cil_tmp13 = q->queuedata;
16824#line 2606
16825  pd = (struct pktcdvd_device *)__cil_tmp13;
16826#line 2607
16827  __cil_tmp14 = pd->settings.size;
16828#line 2607
16829  __cil_tmp15 = - __cil_tmp14;
16830#line 2607
16831  __cil_tmp16 = (unsigned long )__cil_tmp15;
16832#line 2607
16833  __cil_tmp17 = pd->offset;
16834#line 2607
16835  __cil_tmp18 = bmd->bi_sector;
16836#line 2607
16837  __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
16838#line 2607
16839  zone = __cil_tmp19 & __cil_tmp16;
16840#line 2608
16841  __cil_tmp20 = bmd->bi_size;
16842#line 2608
16843  __cil_tmp21 = (unsigned int )zone;
16844#line 2608
16845  __cil_tmp22 = bmd->bi_sector;
16846#line 2608
16847  __cil_tmp23 = (unsigned int )__cil_tmp22;
16848#line 2608
16849  __cil_tmp24 = __cil_tmp23 - __cil_tmp21;
16850#line 2608
16851  __cil_tmp25 = __cil_tmp24 << 9U;
16852#line 2608
16853  __cil_tmp26 = __cil_tmp25 + __cil_tmp20;
16854#line 2608
16855  used = (int )__cil_tmp26;
16856#line 2609
16857  __cil_tmp27 = (__u32 )used;
16858#line 2609
16859  __cil_tmp28 = pd->settings.size;
16860#line 2609
16861  __cil_tmp29 = __cil_tmp28 << 9;
16862#line 2609
16863  __cil_tmp30 = __cil_tmp29 - __cil_tmp27;
16864#line 2609
16865  remaining = (int )__cil_tmp30;
16866#line 2616
16867  __cil_tmp31 = bmd->bi_size;
16868#line 2616
16869  __cil_tmp32 = 4096U - __cil_tmp31;
16870#line 2616
16871  remaining2 = (int )__cil_tmp32;
16872#line 2617
16873  _max1 = remaining;
16874#line 2617
16875  _max2 = remaining2;
16876#line 2617
16877  if (_max1 > _max2) {
16878#line 2617
16879    tmp = _max1;
16880  } else {
16881#line 2617
16882    tmp = _max2;
16883  }
16884  {
16885#line 2617
16886  remaining = tmp;
16887#line 2619
16888  __cil_tmp33 = remaining < 0;
16889#line 2619
16890  __cil_tmp34 = (long )__cil_tmp33;
16891#line 2619
16892  tmp___0 = __builtin_expect(__cil_tmp34, 0L);
16893  }
16894#line 2619
16895  if (tmp___0 != 0L) {
16896#line 2619
16897    __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/pktcdvd.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/pktcdvd.c.p"),
16898                         "i" (2619), "i" (12UL));
16899    ldv_31324: ;
16900#line 2619
16901    goto ldv_31324;
16902  } else {
16903
16904  }
16905#line 2620
16906  return (remaining);
16907}
16908}
16909#line 2623 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
16910static void pkt_init_queue(struct pktcdvd_device *pd ) 
16911{ struct request_queue *q ;
16912  struct gendisk *__cil_tmp3 ;
16913
16914  {
16915  {
16916#line 2625
16917  __cil_tmp3 = pd->disk;
16918#line 2625
16919  q = __cil_tmp3->queue;
16920#line 2627
16921  blk_queue_make_request(q, & pkt_make_request);
16922#line 2628
16923  blk_queue_logical_block_size(q, (unsigned short)2048);
16924#line 2629
16925  blk_queue_max_hw_sectors(q, 512U);
16926#line 2630
16927  blk_queue_merge_bvec(q, & pkt_merge_bvec);
16928#line 2631
16929  q->queuedata = (void *)pd;
16930  }
16931#line 2632
16932  return;
16933}
16934}
16935#line 2634 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
16936static int pkt_seq_show(struct seq_file *m , void *p ) 
16937{ struct pktcdvd_device *pd ;
16938  char *msg ;
16939  char bdev_buf[32U] ;
16940  int states[6U] ;
16941  char const   *tmp ;
16942  char *tmp___0 ;
16943  int tmp___1 ;
16944  void *__cil_tmp10 ;
16945  struct block_device *__cil_tmp11 ;
16946  char *__cil_tmp12 ;
16947  char (*__cil_tmp13)[20U] ;
16948  char *__cil_tmp14 ;
16949  __u32 __cil_tmp15 ;
16950  __u32 __cil_tmp16 ;
16951  __u8 __cil_tmp17 ;
16952  unsigned int __cil_tmp18 ;
16953  __u8 __cil_tmp19 ;
16954  unsigned int __cil_tmp20 ;
16955  __u8 __cil_tmp21 ;
16956  int __cil_tmp22 ;
16957  __u8 __cil_tmp23 ;
16958  int __cil_tmp24 ;
16959  __u8 __cil_tmp25 ;
16960  unsigned int __cil_tmp26 ;
16961  __u8 __cil_tmp27 ;
16962  unsigned int __cil_tmp28 ;
16963  unsigned long __cil_tmp29 ;
16964  unsigned long __cil_tmp30 ;
16965  unsigned long __cil_tmp31 ;
16966  unsigned long __cil_tmp32 ;
16967  unsigned long __cil_tmp33 ;
16968  unsigned long __cil_tmp34 ;
16969  unsigned long __cil_tmp35 ;
16970  unsigned long __cil_tmp36 ;
16971  int __cil_tmp37 ;
16972  unsigned long __cil_tmp38 ;
16973  int __cil_tmp39 ;
16974  int __cil_tmp40 ;
16975  unsigned long __cil_tmp41 ;
16976  __u8 __cil_tmp42 ;
16977  int __cil_tmp43 ;
16978  int __cil_tmp44 ;
16979  atomic_t *__cil_tmp45 ;
16980  atomic_t const   *__cil_tmp46 ;
16981  sector_t __cil_tmp47 ;
16982  unsigned long long __cil_tmp48 ;
16983  int *__cil_tmp49 ;
16984  int __cil_tmp50 ;
16985  int __cil_tmp51 ;
16986
16987  {
16988  {
16989#line 2636
16990  __cil_tmp10 = m->private;
16991#line 2636
16992  pd = (struct pktcdvd_device *)__cil_tmp10;
16993#line 2641
16994  __cil_tmp11 = pd->bdev;
16995#line 2641
16996  __cil_tmp12 = (char *)(& bdev_buf);
16997#line 2641
16998  tmp = bdevname(__cil_tmp11, __cil_tmp12);
16999#line 2641
17000  __cil_tmp13 = & pd->name;
17001#line 2641
17002  __cil_tmp14 = (char *)__cil_tmp13;
17003#line 2641
17004  seq_printf(m, "Writer %s mapped to %s:\n", __cil_tmp14, tmp);
17005#line 2644
17006  seq_printf(m, "\nSettings:\n");
17007#line 2645
17008  __cil_tmp15 = pd->settings.size;
17009#line 2645
17010  __cil_tmp16 = __cil_tmp15 / 2U;
17011#line 2645
17012  seq_printf(m, "\tpacket size:\t\t%dkB\n", __cil_tmp16);
17013  }
17014  {
17015#line 2647
17016  __cil_tmp17 = pd->settings.write_type;
17017#line 2647
17018  __cil_tmp18 = (unsigned int )__cil_tmp17;
17019#line 2647
17020  if (__cil_tmp18 == 0U) {
17021#line 2648
17022    msg = (char *)"Packet";
17023  } else {
17024#line 2650
17025    msg = (char *)"Unknown";
17026  }
17027  }
17028  {
17029#line 2651
17030  seq_printf(m, "\twrite type:\t\t%s\n", msg);
17031  }
17032  {
17033#line 2653
17034  __cil_tmp19 = pd->settings.fp;
17035#line 2653
17036  __cil_tmp20 = (unsigned int )__cil_tmp19;
17037#line 2653
17038  if (__cil_tmp20 != 0U) {
17039#line 2653
17040    tmp___0 = (char *)"Fixed";
17041  } else {
17042#line 2653
17043    tmp___0 = (char *)"Variable";
17044  }
17045  }
17046  {
17047#line 2653
17048  seq_printf(m, "\tpacket type:\t\t%s\n", tmp___0);
17049#line 2654
17050  __cil_tmp21 = pd->settings.link_loss;
17051#line 2654
17052  __cil_tmp22 = (int )__cil_tmp21;
17053#line 2654
17054  seq_printf(m, "\tlink loss:\t\t%d\n", __cil_tmp22);
17055#line 2656
17056  __cil_tmp23 = pd->settings.track_mode;
17057#line 2656
17058  __cil_tmp24 = (int )__cil_tmp23;
17059#line 2656
17060  seq_printf(m, "\ttrack mode:\t\t%d\n", __cil_tmp24);
17061  }
17062  {
17063#line 2658
17064  __cil_tmp25 = pd->settings.block_mode;
17065#line 2658
17066  __cil_tmp26 = (unsigned int )__cil_tmp25;
17067#line 2658
17068  if (__cil_tmp26 == 8U) {
17069#line 2659
17070    msg = (char *)"Mode 1";
17071  } else {
17072    {
17073#line 2660
17074    __cil_tmp27 = pd->settings.block_mode;
17075#line 2660
17076    __cil_tmp28 = (unsigned int )__cil_tmp27;
17077#line 2660
17078    if (__cil_tmp28 == 10U) {
17079#line 2661
17080      msg = (char *)"Mode 2";
17081    } else {
17082#line 2663
17083      msg = (char *)"Unknown";
17084    }
17085    }
17086  }
17087  }
17088  {
17089#line 2664
17090  seq_printf(m, "\tblock mode:\t\t%s\n", msg);
17091#line 2666
17092  seq_printf(m, "\nStatistics:\n");
17093#line 2667
17094  __cil_tmp29 = pd->stats.pkt_started;
17095#line 2667
17096  seq_printf(m, "\tpackets started:\t%lu\n", __cil_tmp29);
17097#line 2668
17098  __cil_tmp30 = pd->stats.pkt_ended;
17099#line 2668
17100  seq_printf(m, "\tpackets ended:\t\t%lu\n", __cil_tmp30);
17101#line 2669
17102  __cil_tmp31 = pd->stats.secs_w;
17103#line 2669
17104  __cil_tmp32 = __cil_tmp31 >> 1;
17105#line 2669
17106  seq_printf(m, "\twritten:\t\t%lukB\n", __cil_tmp32);
17107#line 2670
17108  __cil_tmp33 = pd->stats.secs_rg;
17109#line 2670
17110  __cil_tmp34 = __cil_tmp33 >> 1;
17111#line 2670
17112  seq_printf(m, "\tread gather:\t\t%lukB\n", __cil_tmp34);
17113#line 2671
17114  __cil_tmp35 = pd->stats.secs_r;
17115#line 2671
17116  __cil_tmp36 = __cil_tmp35 >> 1;
17117#line 2671
17118  seq_printf(m, "\tread:\t\t\t%lukB\n", __cil_tmp36);
17119#line 2673
17120  seq_printf(m, "\nMisc:\n");
17121#line 2674
17122  __cil_tmp37 = pd->refcnt;
17123#line 2674
17124  seq_printf(m, "\treference count:\t%d\n", __cil_tmp37);
17125#line 2675
17126  __cil_tmp38 = pd->flags;
17127#line 2675
17128  seq_printf(m, "\tflags:\t\t\t0x%lx\n", __cil_tmp38);
17129#line 2676
17130  __cil_tmp39 = pd->read_speed;
17131#line 2676
17132  seq_printf(m, "\tread speed:\t\t%ukB/s\n", __cil_tmp39);
17133#line 2677
17134  __cil_tmp40 = pd->write_speed;
17135#line 2677
17136  seq_printf(m, "\twrite speed:\t\t%ukB/s\n", __cil_tmp40);
17137#line 2678
17138  __cil_tmp41 = pd->offset;
17139#line 2678
17140  seq_printf(m, "\tstart offset:\t\t%lu\n", __cil_tmp41);
17141#line 2679
17142  __cil_tmp42 = pd->mode_offset;
17143#line 2679
17144  __cil_tmp43 = (int )__cil_tmp42;
17145#line 2679
17146  seq_printf(m, "\tmode page offset:\t%u\n", __cil_tmp43);
17147#line 2681
17148  seq_printf(m, "\nQueue state:\n");
17149#line 2682
17150  __cil_tmp44 = pd->bio_queue_size;
17151#line 2682
17152  seq_printf(m, "\tbios queued:\t\t%d\n", __cil_tmp44);
17153#line 2683
17154  __cil_tmp45 = & pd->cdrw.pending_bios;
17155#line 2683
17156  __cil_tmp46 = (atomic_t const   *)__cil_tmp45;
17157#line 2683
17158  tmp___1 = atomic_read(__cil_tmp46);
17159#line 2683
17160  seq_printf(m, "\tbios pending:\t\t%d\n", tmp___1);
17161#line 2684
17162  __cil_tmp47 = pd->current_sector;
17163#line 2684
17164  __cil_tmp48 = (unsigned long long )__cil_tmp47;
17165#line 2684
17166  seq_printf(m, "\tcurrent sector:\t\t0x%llx\n", __cil_tmp48);
17167#line 2686
17168  __cil_tmp49 = (int *)(& states);
17169#line 2686
17170  pkt_count_states(pd, __cil_tmp49);
17171#line 2687
17172  seq_printf(m, "\tstate:\t\t\ti:%d ow:%d rw:%d ww:%d rec:%d fin:%d\n", states[0],
17173             states[1], states[2], states[3], states[4], states[5]);
17174#line 2690
17175  __cil_tmp50 = pd->write_congestion_off;
17176#line 2690
17177  __cil_tmp51 = pd->write_congestion_on;
17178#line 2690
17179  seq_printf(m, "\twrite congestion marks:\toff=%d on=%d\n", __cil_tmp50, __cil_tmp51);
17180  }
17181#line 2693
17182  return (0);
17183}
17184}
17185#line 2696 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17186static int pkt_seq_open(struct inode *inode , struct file *file ) 
17187{ struct proc_dir_entry *tmp ;
17188  int tmp___0 ;
17189  struct inode  const  *__cil_tmp5 ;
17190  void *__cil_tmp6 ;
17191
17192  {
17193  {
17194#line 2698
17195  __cil_tmp5 = (struct inode  const  *)inode;
17196#line 2698
17197  tmp = PDE(__cil_tmp5);
17198#line 2698
17199  __cil_tmp6 = tmp->data;
17200#line 2698
17201  tmp___0 = single_open(file, & pkt_seq_show, __cil_tmp6);
17202  }
17203#line 2698
17204  return (tmp___0);
17205}
17206}
17207#line 2701 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17208static struct file_operations  const  pkt_proc_fops  = 
17209#line 2701
17210     {(struct module *)0, & seq_lseek, & seq_read, (ssize_t (*)(struct file * , char const   * ,
17211                                                              size_t  , loff_t * ))0,
17212    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
17213    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
17214    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
17215                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
17216                                                                                            struct poll_table_struct * ))0,
17217    (long (*)(struct file * , unsigned int  , unsigned long  ))0, (long (*)(struct file * ,
17218                                                                            unsigned int  ,
17219                                                                            unsigned long  ))0,
17220    (int (*)(struct file * , struct vm_area_struct * ))0, & pkt_seq_open, (int (*)(struct file * ,
17221                                                                                   fl_owner_t  ))0,
17222    & single_release, (int (*)(struct file * , int  ))0, (int (*)(struct kiocb * ,
17223                                                                  int  ))0, (int (*)(int  ,
17224                                                                                     struct file * ,
17225                                                                                     int  ))0,
17226    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
17227                                                                         struct page * ,
17228                                                                         int  , size_t  ,
17229                                                                         loff_t * ,
17230                                                                         int  ))0,
17231    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
17232                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
17233                                                                       int  , struct file_lock * ))0,
17234    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
17235    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
17236    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
17237                                                                        int  , loff_t  ,
17238                                                                        loff_t  ))0};
17239#line 2708 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17240static int pkt_new_dev(struct pktcdvd_device *pd , dev_t dev ) 
17241{ int i ;
17242  int ret ;
17243  char b[32U] ;
17244  struct block_device *bdev ;
17245  struct pktcdvd_device *pd2 ;
17246  char const   *tmp ;
17247  struct task_struct *__k ;
17248  struct task_struct *tmp___0 ;
17249  long tmp___1 ;
17250  long tmp___2 ;
17251  char const   *tmp___3 ;
17252  dev_t __cil_tmp14 ;
17253  struct pktcdvd_device *__cil_tmp15 ;
17254  unsigned long __cil_tmp16 ;
17255  unsigned long __cil_tmp17 ;
17256  struct block_device *__cil_tmp18 ;
17257  dev_t __cil_tmp19 ;
17258  struct block_device *__cil_tmp20 ;
17259  char *__cil_tmp21 ;
17260  dev_t __cil_tmp22 ;
17261  struct block_device *__cil_tmp23 ;
17262  unsigned long __cil_tmp24 ;
17263  unsigned long __cil_tmp25 ;
17264  void *__cil_tmp26 ;
17265  atomic_t *__cil_tmp27 ;
17266  void *__cil_tmp28 ;
17267  char (*__cil_tmp29)[20U] ;
17268  char *__cil_tmp30 ;
17269  void const   *__cil_tmp31 ;
17270  struct task_struct *__cil_tmp32 ;
17271  void const   *__cil_tmp33 ;
17272  char (*__cil_tmp34)[20U] ;
17273  char const   *__cil_tmp35 ;
17274  void *__cil_tmp36 ;
17275  char *__cil_tmp37 ;
17276  char (*__cil_tmp38)[20U] ;
17277  char *__cil_tmp39 ;
17278
17279  {
17280#line 2711
17281  ret = 0;
17282  {
17283#line 2715
17284  __cil_tmp14 = pd->pkt_dev;
17285#line 2715
17286  if (__cil_tmp14 == dev) {
17287    {
17288#line 2716
17289    printk("pktcdvd: Recursive setup not allowed\n");
17290    }
17291#line 2717
17292    return (-16);
17293  } else {
17294
17295  }
17296  }
17297#line 2719
17298  i = 0;
17299#line 2719
17300  goto ldv_31353;
17301  ldv_31352: 
17302#line 2720
17303  pd2 = pkt_devs[i];
17304  {
17305#line 2721
17306  __cil_tmp15 = (struct pktcdvd_device *)0;
17307#line 2721
17308  __cil_tmp16 = (unsigned long )__cil_tmp15;
17309#line 2721
17310  __cil_tmp17 = (unsigned long )pd2;
17311#line 2721
17312  if (__cil_tmp17 == __cil_tmp16) {
17313#line 2722
17314    goto ldv_31351;
17315  } else {
17316
17317  }
17318  }
17319  {
17320#line 2723
17321  __cil_tmp18 = pd2->bdev;
17322#line 2723
17323  __cil_tmp19 = __cil_tmp18->bd_dev;
17324#line 2723
17325  if (__cil_tmp19 == dev) {
17326    {
17327#line 2724
17328    __cil_tmp20 = pd2->bdev;
17329#line 2724
17330    __cil_tmp21 = (char *)(& b);
17331#line 2724
17332    tmp = bdevname(__cil_tmp20, __cil_tmp21);
17333#line 2724
17334    printk("pktcdvd: %s already setup\n", tmp);
17335    }
17336#line 2725
17337    return (-16);
17338  } else {
17339
17340  }
17341  }
17342  {
17343#line 2727
17344  __cil_tmp22 = pd2->pkt_dev;
17345#line 2727
17346  if (__cil_tmp22 == dev) {
17347    {
17348#line 2728
17349    printk("pktcdvd: Can\'t chain pktcdvd devices\n");
17350    }
17351#line 2729
17352    return (-16);
17353  } else {
17354
17355  }
17356  }
17357  ldv_31351: 
17358#line 2719
17359  i = i + 1;
17360  ldv_31353: ;
17361#line 2719
17362  if (i <= 7) {
17363#line 2720
17364    goto ldv_31352;
17365  } else {
17366#line 2722
17367    goto ldv_31354;
17368  }
17369  ldv_31354: 
17370  {
17371#line 2733
17372  bdev = bdget(dev);
17373  }
17374  {
17375#line 2734
17376  __cil_tmp23 = (struct block_device *)0;
17377#line 2734
17378  __cil_tmp24 = (unsigned long )__cil_tmp23;
17379#line 2734
17380  __cil_tmp25 = (unsigned long )bdev;
17381#line 2734
17382  if (__cil_tmp25 == __cil_tmp24) {
17383#line 2735
17384    return (-12);
17385  } else {
17386
17387  }
17388  }
17389  {
17390#line 2736
17391  __cil_tmp26 = (void *)0;
17392#line 2736
17393  ret = blkdev_get(bdev, 65U, __cil_tmp26);
17394  }
17395#line 2737
17396  if (ret != 0) {
17397#line 2738
17398    return (ret);
17399  } else {
17400
17401  }
17402  {
17403#line 2741
17404  ldv___module_get_3(& __this_module);
17405#line 2743
17406  pd->bdev = bdev;
17407#line 2744
17408  set_blocksize(bdev, 2048);
17409#line 2746
17410  pkt_init_queue(pd);
17411#line 2748
17412  __cil_tmp27 = & pd->cdrw.pending_bios;
17413#line 2748
17414  atomic_set(__cil_tmp27, 0);
17415#line 2749
17416  __cil_tmp28 = (void *)pd;
17417#line 2749
17418  __cil_tmp29 = & pd->name;
17419#line 2749
17420  __cil_tmp30 = (char *)__cil_tmp29;
17421#line 2749
17422  tmp___0 = kthread_create_on_node(& kcdrwd, __cil_tmp28, -1, "%s", __cil_tmp30);
17423#line 2749
17424  __k = tmp___0;
17425#line 2749
17426  __cil_tmp31 = (void const   *)__k;
17427#line 2749
17428  tmp___1 = IS_ERR(__cil_tmp31);
17429  }
17430#line 2749
17431  if (tmp___1 == 0L) {
17432    {
17433#line 2749
17434    wake_up_process(__k);
17435    }
17436  } else {
17437
17438  }
17439  {
17440#line 2749
17441  pd->cdrw.thread = __k;
17442#line 2750
17443  __cil_tmp32 = pd->cdrw.thread;
17444#line 2750
17445  __cil_tmp33 = (void const   *)__cil_tmp32;
17446#line 2750
17447  tmp___2 = IS_ERR(__cil_tmp33);
17448  }
17449#line 2750
17450  if (tmp___2 != 0L) {
17451    {
17452#line 2751
17453    printk("pktcdvd: can\'t start kernel thread\n");
17454#line 2752
17455    ret = -12;
17456    }
17457#line 2753
17458    goto out_mem;
17459  } else {
17460
17461  }
17462  {
17463#line 2756
17464  __cil_tmp34 = & pd->name;
17465#line 2756
17466  __cil_tmp35 = (char const   *)__cil_tmp34;
17467#line 2756
17468  __cil_tmp36 = (void *)pd;
17469#line 2756
17470  proc_create_data(__cil_tmp35, 0U, pkt_proc, & pkt_proc_fops, __cil_tmp36);
17471#line 2757
17472  __cil_tmp37 = (char *)(& b);
17473#line 2757
17474  tmp___3 = bdevname(bdev, __cil_tmp37);
17475#line 2757
17476  __cil_tmp38 = & pd->name;
17477#line 2757
17478  __cil_tmp39 = (char *)__cil_tmp38;
17479#line 2757
17480  printk("<5>pktcdvd: writer %s mapped to %s\n", __cil_tmp39, tmp___3);
17481  }
17482#line 2758
17483  return (0);
17484  out_mem: 
17485  {
17486#line 2761
17487  blkdev_put(bdev, 65U);
17488#line 2763
17489  ldv_module_put_4(& __this_module);
17490  }
17491#line 2764
17492  return (ret);
17493}
17494}
17495#line 2767 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17496static int pkt_ioctl(struct block_device *bdev , fmode_t mode , unsigned int cmd ,
17497                     unsigned long arg ) 
17498{ struct pktcdvd_device *pd ;
17499  int ret ;
17500  struct gendisk *__cil_tmp7 ;
17501  void *__cil_tmp8 ;
17502  int __cil_tmp9 ;
17503  int __cil_tmp10 ;
17504  int __cil_tmp11 ;
17505  int __cil_tmp12 ;
17506  int __cil_tmp13 ;
17507  int __cil_tmp14 ;
17508  int __cil_tmp15 ;
17509  struct block_device *__cil_tmp16 ;
17510
17511  {
17512  {
17513#line 2769
17514  __cil_tmp7 = bdev->bd_disk;
17515#line 2769
17516  __cil_tmp8 = __cil_tmp7->private_data;
17517#line 2769
17518  pd = (struct pktcdvd_device *)__cil_tmp8;
17519#line 2775
17520  mutex_lock_nested(& pktcdvd_mutex, 0U);
17521  }
17522  {
17523#line 2777
17524  __cil_tmp9 = (int )cmd;
17525#line 2777
17526  if (__cil_tmp9 == 21257) {
17527#line 2777
17528    goto case_21257;
17529  } else {
17530    {
17531#line 2788
17532    __cil_tmp10 = (int )cmd;
17533#line 2788
17534    if (__cil_tmp10 == 21264) {
17535#line 2788
17536      goto case_21264;
17537    } else {
17538      {
17539#line 2789
17540      __cil_tmp11 = (int )cmd;
17541#line 2789
17542      if (__cil_tmp11 == 21254) {
17543#line 2789
17544        goto case_21254;
17545      } else {
17546        {
17547#line 2790
17548        __cil_tmp12 = (int )cmd;
17549#line 2790
17550        if (__cil_tmp12 == 21397) {
17551#line 2790
17552          goto case_21397;
17553        } else {
17554          {
17555#line 2791
17556          __cil_tmp13 = (int )cmd;
17557#line 2791
17558          if (__cil_tmp13 == 21395) {
17559#line 2791
17560            goto case_21395;
17561          } else {
17562            {
17563#line 2792
17564            __cil_tmp14 = (int )cmd;
17565#line 2792
17566            if (__cil_tmp14 == 1) {
17567#line 2792
17568              goto case_1;
17569            } else {
17570#line 2796
17571              goto switch_default;
17572#line 2776
17573              if (0) {
17574                case_21257: ;
17575                {
17576#line 2782
17577                __cil_tmp15 = pd->refcnt;
17578#line 2782
17579                if (__cil_tmp15 == 1) {
17580                  {
17581#line 2783
17582                  pkt_lock_door(pd, 0);
17583                  }
17584                } else {
17585
17586                }
17587                }
17588                case_21264: ;
17589                case_21254: ;
17590                case_21397: ;
17591                case_21395: ;
17592                case_1: 
17593                {
17594#line 2793
17595                __cil_tmp16 = pd->bdev;
17596#line 2793
17597                ret = __blkdev_driver_ioctl(__cil_tmp16, mode, cmd, arg);
17598                }
17599#line 2794
17600                goto ldv_31372;
17601                switch_default: 
17602#line 2798
17603                ret = -25;
17604              } else {
17605
17606              }
17607            }
17608            }
17609          }
17610          }
17611        }
17612        }
17613      }
17614      }
17615    }
17616    }
17617  }
17618  }
17619  ldv_31372: 
17620  {
17621#line 2800
17622  mutex_unlock(& pktcdvd_mutex);
17623  }
17624#line 2802
17625  return (ret);
17626}
17627}
17628#line 2805 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17629static unsigned int pkt_check_events(struct gendisk *disk , unsigned int clearing ) 
17630{ struct pktcdvd_device *pd ;
17631  struct gendisk *attached_disk ;
17632  unsigned int tmp ;
17633  void *__cil_tmp6 ;
17634  struct pktcdvd_device *__cil_tmp7 ;
17635  unsigned long __cil_tmp8 ;
17636  unsigned long __cil_tmp9 ;
17637  struct block_device *__cil_tmp10 ;
17638  unsigned long __cil_tmp11 ;
17639  struct block_device *__cil_tmp12 ;
17640  unsigned long __cil_tmp13 ;
17641  struct block_device *__cil_tmp14 ;
17642  struct gendisk *__cil_tmp15 ;
17643  unsigned long __cil_tmp16 ;
17644  unsigned long __cil_tmp17 ;
17645  unsigned int (*__cil_tmp18)(struct gendisk * , unsigned int  ) ;
17646  unsigned long __cil_tmp19 ;
17647  struct block_device_operations  const  *__cil_tmp20 ;
17648  unsigned int (*__cil_tmp21)(struct gendisk * , unsigned int  ) ;
17649  unsigned long __cil_tmp22 ;
17650  struct block_device_operations  const  *__cil_tmp23 ;
17651  unsigned int (*__cil_tmp24)(struct gendisk * , unsigned int  ) ;
17652
17653  {
17654#line 2808
17655  __cil_tmp6 = disk->private_data;
17656#line 2808
17657  pd = (struct pktcdvd_device *)__cil_tmp6;
17658  {
17659#line 2811
17660  __cil_tmp7 = (struct pktcdvd_device *)0;
17661#line 2811
17662  __cil_tmp8 = (unsigned long )__cil_tmp7;
17663#line 2811
17664  __cil_tmp9 = (unsigned long )pd;
17665#line 2811
17666  if (__cil_tmp9 == __cil_tmp8) {
17667#line 2812
17668    return (0U);
17669  } else {
17670
17671  }
17672  }
17673  {
17674#line 2813
17675  __cil_tmp10 = (struct block_device *)0;
17676#line 2813
17677  __cil_tmp11 = (unsigned long )__cil_tmp10;
17678#line 2813
17679  __cil_tmp12 = pd->bdev;
17680#line 2813
17681  __cil_tmp13 = (unsigned long )__cil_tmp12;
17682#line 2813
17683  if (__cil_tmp13 == __cil_tmp11) {
17684#line 2814
17685    return (0U);
17686  } else {
17687
17688  }
17689  }
17690#line 2815
17691  __cil_tmp14 = pd->bdev;
17692#line 2815
17693  attached_disk = __cil_tmp14->bd_disk;
17694  {
17695#line 2816
17696  __cil_tmp15 = (struct gendisk *)0;
17697#line 2816
17698  __cil_tmp16 = (unsigned long )__cil_tmp15;
17699#line 2816
17700  __cil_tmp17 = (unsigned long )attached_disk;
17701#line 2816
17702  if (__cil_tmp17 == __cil_tmp16) {
17703#line 2817
17704    return (0U);
17705  } else {
17706    {
17707#line 2816
17708    __cil_tmp18 = (unsigned int (* const  )(struct gendisk * , unsigned int  ))0;
17709#line 2816
17710    __cil_tmp19 = (unsigned long )__cil_tmp18;
17711#line 2816
17712    __cil_tmp20 = attached_disk->fops;
17713#line 2816
17714    __cil_tmp21 = __cil_tmp20->check_events;
17715#line 2816
17716    __cil_tmp22 = (unsigned long )__cil_tmp21;
17717#line 2816
17718    if (__cil_tmp22 == __cil_tmp19) {
17719#line 2817
17720      return (0U);
17721    } else {
17722
17723    }
17724    }
17725  }
17726  }
17727  {
17728#line 2818
17729  __cil_tmp23 = attached_disk->fops;
17730#line 2818
17731  __cil_tmp24 = __cil_tmp23->check_events;
17732#line 2818
17733  tmp = (*__cil_tmp24)(attached_disk, clearing);
17734  }
17735#line 2818
17736  return (tmp);
17737}
17738}
17739#line 2821 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17740static struct block_device_operations  const  pktcdvd_ops  = 
17741#line 2821
17742     {& pkt_open, & pkt_close, & pkt_ioctl, (int (*)(struct block_device * , fmode_t  ,
17743                                                   unsigned int  , unsigned long  ))0,
17744    (int (*)(struct block_device * , sector_t  , void ** , unsigned long * ))0, & pkt_check_events,
17745    (int (*)(struct gendisk * ))0, (void (*)(struct gendisk * ))0, (int (*)(struct gendisk * ))0,
17746    (int (*)(struct block_device * , struct hd_geometry * ))0, (void (*)(struct block_device * ,
17747                                                                         unsigned long  ))0,
17748    & __this_module};
17749#line 2829 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17750static char *pktcdvd_devnode(struct gendisk *gd , mode_t *mode ) 
17751{ char *tmp ;
17752  char (*__cil_tmp4)[32U] ;
17753  char *__cil_tmp5 ;
17754
17755  {
17756  {
17757#line 2831
17758  __cil_tmp4 = & gd->disk_name;
17759#line 2831
17760  __cil_tmp5 = (char *)__cil_tmp4;
17761#line 2831
17762  tmp = kasprintf(208U, "pktcdvd/%s", __cil_tmp5);
17763  }
17764#line 2831
17765  return (tmp);
17766}
17767}
17768#line 2837 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
17769static int pkt_setup_dev(dev_t dev , dev_t *pkt_dev ) 
17770{ int idx ;
17771  int ret ;
17772  struct pktcdvd_device *pd ;
17773  struct gendisk *disk ;
17774  void *tmp ;
17775  struct lock_class_key __key ;
17776  struct lock_class_key __key___0 ;
17777  struct lock_class_key __key___1 ;
17778  struct lock_class_key __key___2 ;
17779  struct rb_root __constr_expr_0 ;
17780  struct pktcdvd_device *__cil_tmp13 ;
17781  unsigned long __cil_tmp14 ;
17782  unsigned long __cil_tmp15 ;
17783  struct pktcdvd_device *__cil_tmp16 ;
17784  unsigned long __cil_tmp17 ;
17785  unsigned long __cil_tmp18 ;
17786  mempool_t *__cil_tmp19 ;
17787  unsigned long __cil_tmp20 ;
17788  mempool_t *__cil_tmp21 ;
17789  unsigned long __cil_tmp22 ;
17790  struct list_head *__cil_tmp23 ;
17791  struct list_head *__cil_tmp24 ;
17792  spinlock_t *__cil_tmp25 ;
17793  struct raw_spinlock *__cil_tmp26 ;
17794  spinlock_t *__cil_tmp27 ;
17795  struct raw_spinlock *__cil_tmp28 ;
17796  spinlock_t *__cil_tmp29 ;
17797  struct raw_spinlock *__cil_tmp30 ;
17798  struct bio_list *__cil_tmp31 ;
17799  struct bio_list *__cil_tmp32 ;
17800  char (*__cil_tmp33)[20U] ;
17801  char *__cil_tmp34 ;
17802  wait_queue_head_t *__cil_tmp35 ;
17803  struct gendisk *__cil_tmp36 ;
17804  unsigned long __cil_tmp37 ;
17805  unsigned long __cil_tmp38 ;
17806  char (*__cil_tmp39)[32U] ;
17807  char *__cil_tmp40 ;
17808  char (*__cil_tmp41)[20U] ;
17809  char const   *__cil_tmp42 ;
17810  struct request_queue *__cil_tmp43 ;
17811  unsigned long __cil_tmp44 ;
17812  struct request_queue *__cil_tmp45 ;
17813  unsigned long __cil_tmp46 ;
17814  int __cil_tmp47 ;
17815  int __cil_tmp48 ;
17816  struct block_device *__cil_tmp49 ;
17817  struct gendisk *__cil_tmp50 ;
17818  struct block_device *__cil_tmp51 ;
17819  struct gendisk *__cil_tmp52 ;
17820  dev_t *__cil_tmp53 ;
17821  unsigned long __cil_tmp54 ;
17822  unsigned long __cil_tmp55 ;
17823  struct request_queue *__cil_tmp56 ;
17824  mempool_t *__cil_tmp57 ;
17825  unsigned long __cil_tmp58 ;
17826  mempool_t *__cil_tmp59 ;
17827  unsigned long __cil_tmp60 ;
17828  mempool_t *__cil_tmp61 ;
17829  void const   *__cil_tmp62 ;
17830
17831  {
17832  {
17833#line 2840
17834  ret = -12;
17835#line 2844
17836  mutex_lock_nested(& ctl_mutex, 1U);
17837#line 2846
17838  idx = 0;
17839  }
17840#line 2846
17841  goto ldv_31395;
17842  ldv_31394: ;
17843  {
17844#line 2847
17845  __cil_tmp13 = (struct pktcdvd_device *)0;
17846#line 2847
17847  __cil_tmp14 = (unsigned long )__cil_tmp13;
17848#line 2847
17849  __cil_tmp15 = (unsigned long )pkt_devs[idx];
17850#line 2847
17851  if (__cil_tmp15 == __cil_tmp14) {
17852#line 2848
17853    goto ldv_31393;
17854  } else {
17855
17856  }
17857  }
17858#line 2846
17859  idx = idx + 1;
17860  ldv_31395: ;
17861#line 2846
17862  if (idx <= 7) {
17863#line 2847
17864    goto ldv_31394;
17865  } else {
17866#line 2849
17867    goto ldv_31393;
17868  }
17869  ldv_31393: ;
17870#line 2849
17871  if (idx == 8) {
17872    {
17873#line 2850
17874    printk("pktcdvd: max %d writers supported\n", 8);
17875#line 2851
17876    ret = -16;
17877    }
17878#line 2852
17879    goto out_mutex;
17880  } else {
17881
17882  }
17883  {
17884#line 2855
17885  tmp = kzalloc(648UL, 208U);
17886#line 2855
17887  pd = (struct pktcdvd_device *)tmp;
17888  }
17889  {
17890#line 2856
17891  __cil_tmp16 = (struct pktcdvd_device *)0;
17892#line 2856
17893  __cil_tmp17 = (unsigned long )__cil_tmp16;
17894#line 2856
17895  __cil_tmp18 = (unsigned long )pd;
17896#line 2856
17897  if (__cil_tmp18 == __cil_tmp17) {
17898#line 2857
17899    goto out_mutex;
17900  } else {
17901
17902  }
17903  }
17904  {
17905#line 2859
17906  pd->rb_pool = mempool_create_kmalloc_pool(512, 32UL);
17907  }
17908  {
17909#line 2861
17910  __cil_tmp19 = (mempool_t *)0;
17911#line 2861
17912  __cil_tmp20 = (unsigned long )__cil_tmp19;
17913#line 2861
17914  __cil_tmp21 = pd->rb_pool;
17915#line 2861
17916  __cil_tmp22 = (unsigned long )__cil_tmp21;
17917#line 2861
17918  if (__cil_tmp22 == __cil_tmp20) {
17919#line 2862
17920    goto out_mem;
17921  } else {
17922
17923  }
17924  }
17925  {
17926#line 2864
17927  __cil_tmp23 = & pd->cdrw.pkt_free_list;
17928#line 2864
17929  INIT_LIST_HEAD(__cil_tmp23);
17930#line 2865
17931  __cil_tmp24 = & pd->cdrw.pkt_active_list;
17932#line 2865
17933  INIT_LIST_HEAD(__cil_tmp24);
17934#line 2866
17935  __cil_tmp25 = & pd->cdrw.active_list_lock;
17936#line 2866
17937  spinlock_check(__cil_tmp25);
17938#line 2866
17939  __cil_tmp26 = & pd->cdrw.active_list_lock.ldv_6060.rlock;
17940#line 2866
17941  __raw_spin_lock_init(__cil_tmp26, "&(&pd->cdrw.active_list_lock)->rlock", & __key);
17942#line 2868
17943  __cil_tmp27 = & pd->lock;
17944#line 2868
17945  spinlock_check(__cil_tmp27);
17946#line 2868
17947  __cil_tmp28 = & pd->lock.ldv_6060.rlock;
17948#line 2868
17949  __raw_spin_lock_init(__cil_tmp28, "&(&pd->lock)->rlock", & __key___0);
17950#line 2869
17951  __cil_tmp29 = & pd->iosched.lock;
17952#line 2869
17953  spinlock_check(__cil_tmp29);
17954#line 2869
17955  __cil_tmp30 = & pd->iosched.lock.ldv_6060.rlock;
17956#line 2869
17957  __raw_spin_lock_init(__cil_tmp30, "&(&pd->iosched.lock)->rlock", & __key___1);
17958#line 2870
17959  __cil_tmp31 = & pd->iosched.read_queue;
17960#line 2870
17961  bio_list_init(__cil_tmp31);
17962#line 2871
17963  __cil_tmp32 = & pd->iosched.write_queue;
17964#line 2871
17965  bio_list_init(__cil_tmp32);
17966#line 2872
17967  __cil_tmp33 = & pd->name;
17968#line 2872
17969  __cil_tmp34 = (char *)__cil_tmp33;
17970#line 2872
17971  sprintf(__cil_tmp34, "pktcdvd%d", idx);
17972#line 2873
17973  __cil_tmp35 = & pd->wqueue;
17974#line 2873
17975  __init_waitqueue_head(__cil_tmp35, & __key___2);
17976#line 2874
17977  __constr_expr_0.rb_node = (struct rb_node *)0;
17978#line 2874
17979  pd->bio_queue = __constr_expr_0;
17980#line 2876
17981  pd->write_congestion_on = write_congestion_on;
17982#line 2877
17983  pd->write_congestion_off = write_congestion_off;
17984#line 2879
17985  disk = alloc_disk(1);
17986  }
17987  {
17988#line 2880
17989  __cil_tmp36 = (struct gendisk *)0;
17990#line 2880
17991  __cil_tmp37 = (unsigned long )__cil_tmp36;
17992#line 2880
17993  __cil_tmp38 = (unsigned long )disk;
17994#line 2880
17995  if (__cil_tmp38 == __cil_tmp37) {
17996#line 2881
17997    goto out_mem;
17998  } else {
17999
18000  }
18001  }
18002  {
18003#line 2882
18004  pd->disk = disk;
18005#line 2883
18006  disk->major = pktdev_major;
18007#line 2884
18008  disk->first_minor = idx;
18009#line 2885
18010  disk->fops = & pktcdvd_ops;
18011#line 2886
18012  disk->flags = 1;
18013#line 2887
18014  __cil_tmp39 = & disk->disk_name;
18015#line 2887
18016  __cil_tmp40 = (char *)__cil_tmp39;
18017#line 2887
18018  __cil_tmp41 = & pd->name;
18019#line 2887
18020  __cil_tmp42 = (char const   *)__cil_tmp41;
18021#line 2887
18022  strcpy(__cil_tmp40, __cil_tmp42);
18023#line 2888
18024  disk->devnode = & pktcdvd_devnode;
18025#line 2889
18026  disk->private_data = (void *)pd;
18027#line 2890
18028  disk->queue = blk_alloc_queue(208U);
18029  }
18030  {
18031#line 2891
18032  __cil_tmp43 = (struct request_queue *)0;
18033#line 2891
18034  __cil_tmp44 = (unsigned long )__cil_tmp43;
18035#line 2891
18036  __cil_tmp45 = disk->queue;
18037#line 2891
18038  __cil_tmp46 = (unsigned long )__cil_tmp45;
18039#line 2891
18040  if (__cil_tmp46 == __cil_tmp44) {
18041#line 2892
18042    goto out_mem2;
18043  } else {
18044
18045  }
18046  }
18047  {
18048#line 2894
18049  __cil_tmp47 = pktdev_major << 20;
18050#line 2894
18051  __cil_tmp48 = __cil_tmp47 | idx;
18052#line 2894
18053  pd->pkt_dev = (dev_t )__cil_tmp48;
18054#line 2895
18055  ret = pkt_new_dev(pd, dev);
18056  }
18057#line 2896
18058  if (ret != 0) {
18059#line 2897
18060    goto out_new_dev;
18061  } else {
18062
18063  }
18064  {
18065#line 2900
18066  __cil_tmp49 = pd->bdev;
18067#line 2900
18068  __cil_tmp50 = __cil_tmp49->bd_disk;
18069#line 2900
18070  disk->events = __cil_tmp50->events;
18071#line 2901
18072  __cil_tmp51 = pd->bdev;
18073#line 2901
18074  __cil_tmp52 = __cil_tmp51->bd_disk;
18075#line 2901
18076  disk->async_events = __cil_tmp52->async_events;
18077#line 2903
18078  add_disk(disk);
18079#line 2905
18080  pkt_sysfs_dev_new(pd);
18081#line 2906
18082  pkt_debugfs_dev_new(pd);
18083#line 2908
18084  pkt_devs[idx] = pd;
18085  }
18086  {
18087#line 2909
18088  __cil_tmp53 = (dev_t *)0;
18089#line 2909
18090  __cil_tmp54 = (unsigned long )__cil_tmp53;
18091#line 2909
18092  __cil_tmp55 = (unsigned long )pkt_dev;
18093#line 2909
18094  if (__cil_tmp55 != __cil_tmp54) {
18095#line 2910
18096    *pkt_dev = pd->pkt_dev;
18097  } else {
18098
18099  }
18100  }
18101  {
18102#line 2912
18103  mutex_unlock(& ctl_mutex);
18104  }
18105#line 2913
18106  return (0);
18107  out_new_dev: 
18108  {
18109#line 2916
18110  __cil_tmp56 = disk->queue;
18111#line 2916
18112  blk_cleanup_queue(__cil_tmp56);
18113  }
18114  out_mem2: 
18115  {
18116#line 2918
18117  put_disk(disk);
18118  }
18119  out_mem: ;
18120  {
18121#line 2920
18122  __cil_tmp57 = (mempool_t *)0;
18123#line 2920
18124  __cil_tmp58 = (unsigned long )__cil_tmp57;
18125#line 2920
18126  __cil_tmp59 = pd->rb_pool;
18127#line 2920
18128  __cil_tmp60 = (unsigned long )__cil_tmp59;
18129#line 2920
18130  if (__cil_tmp60 != __cil_tmp58) {
18131    {
18132#line 2921
18133    __cil_tmp61 = pd->rb_pool;
18134#line 2921
18135    mempool_destroy(__cil_tmp61);
18136    }
18137  } else {
18138
18139  }
18140  }
18141  {
18142#line 2922
18143  __cil_tmp62 = (void const   *)pd;
18144#line 2922
18145  kfree(__cil_tmp62);
18146  }
18147  out_mutex: 
18148  {
18149#line 2924
18150  mutex_unlock(& ctl_mutex);
18151#line 2925
18152  printk("pktcdvd: setup of pktcdvd device failed\n");
18153  }
18154#line 2926
18155  return (ret);
18156}
18157}
18158#line 2932 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18159static int pkt_remove_dev(dev_t pkt_dev ) 
18160{ struct pktcdvd_device *pd ;
18161  int idx ;
18162  int ret ;
18163  long tmp ;
18164  struct pktcdvd_device *__cil_tmp6 ;
18165  unsigned long __cil_tmp7 ;
18166  unsigned long __cil_tmp8 ;
18167  dev_t __cil_tmp9 ;
18168  int __cil_tmp10 ;
18169  struct task_struct *__cil_tmp11 ;
18170  void const   *__cil_tmp12 ;
18171  struct task_struct *__cil_tmp13 ;
18172  struct block_device *__cil_tmp14 ;
18173  char (*__cil_tmp15)[20U] ;
18174  char const   *__cil_tmp16 ;
18175  char (*__cil_tmp17)[20U] ;
18176  char *__cil_tmp18 ;
18177  struct gendisk *__cil_tmp19 ;
18178  struct gendisk *__cil_tmp20 ;
18179  struct request_queue *__cil_tmp21 ;
18180  struct gendisk *__cil_tmp22 ;
18181  mempool_t *__cil_tmp23 ;
18182  void const   *__cil_tmp24 ;
18183
18184  {
18185  {
18186#line 2936
18187  ret = 0;
18188#line 2938
18189  mutex_lock_nested(& ctl_mutex, 1U);
18190#line 2940
18191  idx = 0;
18192  }
18193#line 2940
18194  goto ldv_31413;
18195  ldv_31412: 
18196#line 2941
18197  pd = pkt_devs[idx];
18198  {
18199#line 2942
18200  __cil_tmp6 = (struct pktcdvd_device *)0;
18201#line 2942
18202  __cil_tmp7 = (unsigned long )__cil_tmp6;
18203#line 2942
18204  __cil_tmp8 = (unsigned long )pd;
18205#line 2942
18206  if (__cil_tmp8 != __cil_tmp7) {
18207    {
18208#line 2942
18209    __cil_tmp9 = pd->pkt_dev;
18210#line 2942
18211    if (__cil_tmp9 == pkt_dev) {
18212#line 2943
18213      goto ldv_31411;
18214    } else {
18215
18216    }
18217    }
18218  } else {
18219
18220  }
18221  }
18222#line 2940
18223  idx = idx + 1;
18224  ldv_31413: ;
18225#line 2940
18226  if (idx <= 7) {
18227#line 2941
18228    goto ldv_31412;
18229  } else {
18230#line 2943
18231    goto ldv_31411;
18232  }
18233  ldv_31411: ;
18234#line 2945
18235  if (idx == 8) {
18236    {
18237#line 2946
18238    printk("<5>pktcdvd: dev not setup\n");
18239#line 2947
18240    ret = -6;
18241    }
18242#line 2948
18243    goto out;
18244  } else {
18245
18246  }
18247  {
18248#line 2951
18249  __cil_tmp10 = pd->refcnt;
18250#line 2951
18251  if (__cil_tmp10 > 0) {
18252#line 2952
18253    ret = -16;
18254#line 2953
18255    goto out;
18256  } else {
18257
18258  }
18259  }
18260  {
18261#line 2955
18262  __cil_tmp11 = pd->cdrw.thread;
18263#line 2955
18264  __cil_tmp12 = (void const   *)__cil_tmp11;
18265#line 2955
18266  tmp = IS_ERR(__cil_tmp12);
18267  }
18268#line 2955
18269  if (tmp == 0L) {
18270    {
18271#line 2956
18272    __cil_tmp13 = pd->cdrw.thread;
18273#line 2956
18274    kthread_stop(__cil_tmp13);
18275    }
18276  } else {
18277
18278  }
18279  {
18280#line 2958
18281  pkt_devs[idx] = (struct pktcdvd_device *)0;
18282#line 2960
18283  pkt_debugfs_dev_remove(pd);
18284#line 2961
18285  pkt_sysfs_dev_remove(pd);
18286#line 2963
18287  __cil_tmp14 = pd->bdev;
18288#line 2963
18289  blkdev_put(__cil_tmp14, 65U);
18290#line 2965
18291  __cil_tmp15 = & pd->name;
18292#line 2965
18293  __cil_tmp16 = (char const   *)__cil_tmp15;
18294#line 2965
18295  remove_proc_entry(__cil_tmp16, pkt_proc);
18296#line 2966
18297  __cil_tmp17 = & pd->name;
18298#line 2966
18299  __cil_tmp18 = (char *)__cil_tmp17;
18300#line 2966
18301  printk("<5>pktcdvd: writer %s unmapped\n", __cil_tmp18);
18302#line 2968
18303  __cil_tmp19 = pd->disk;
18304#line 2968
18305  del_gendisk(__cil_tmp19);
18306#line 2969
18307  __cil_tmp20 = pd->disk;
18308#line 2969
18309  __cil_tmp21 = __cil_tmp20->queue;
18310#line 2969
18311  blk_cleanup_queue(__cil_tmp21);
18312#line 2970
18313  __cil_tmp22 = pd->disk;
18314#line 2970
18315  put_disk(__cil_tmp22);
18316#line 2972
18317  __cil_tmp23 = pd->rb_pool;
18318#line 2972
18319  mempool_destroy(__cil_tmp23);
18320#line 2973
18321  __cil_tmp24 = (void const   *)pd;
18322#line 2973
18323  kfree(__cil_tmp24);
18324#line 2976
18325  ldv_module_put_5(& __this_module);
18326  }
18327  out: 
18328  {
18329#line 2979
18330  mutex_unlock(& ctl_mutex);
18331  }
18332#line 2980
18333  return (ret);
18334}
18335}
18336#line 2983 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18337static void pkt_get_status(struct pkt_ctrl_command *ctrl_cmd ) 
18338{ struct pktcdvd_device *pd ;
18339  __u32 __cil_tmp3 ;
18340  struct pktcdvd_device *__cil_tmp4 ;
18341  unsigned long __cil_tmp5 ;
18342  unsigned long __cil_tmp6 ;
18343  struct block_device *__cil_tmp7 ;
18344  dev_t __cil_tmp8 ;
18345  dev_t __cil_tmp9 ;
18346
18347  {
18348  {
18349#line 2987
18350  mutex_lock_nested(& ctl_mutex, 1U);
18351#line 2989
18352  __cil_tmp3 = ctrl_cmd->dev_index;
18353#line 2989
18354  pd = pkt_find_dev_from_minor(__cil_tmp3);
18355  }
18356  {
18357#line 2990
18358  __cil_tmp4 = (struct pktcdvd_device *)0;
18359#line 2990
18360  __cil_tmp5 = (unsigned long )__cil_tmp4;
18361#line 2990
18362  __cil_tmp6 = (unsigned long )pd;
18363#line 2990
18364  if (__cil_tmp6 != __cil_tmp5) {
18365    {
18366#line 2991
18367    __cil_tmp7 = pd->bdev;
18368#line 2991
18369    __cil_tmp8 = __cil_tmp7->bd_dev;
18370#line 2991
18371    ctrl_cmd->dev = new_encode_dev(__cil_tmp8);
18372#line 2992
18373    __cil_tmp9 = pd->pkt_dev;
18374#line 2992
18375    ctrl_cmd->pkt_dev = new_encode_dev(__cil_tmp9);
18376    }
18377  } else {
18378#line 2994
18379    ctrl_cmd->dev = 0U;
18380#line 2995
18381    ctrl_cmd->pkt_dev = 0U;
18382  }
18383  }
18384  {
18385#line 2997
18386  ctrl_cmd->num_devices = 8U;
18387#line 2999
18388  mutex_unlock(& ctl_mutex);
18389  }
18390#line 3000
18391  return;
18392}
18393}
18394#line 3002 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18395static long pkt_ctl_ioctl(struct file *file , unsigned int cmd , unsigned long arg ) 
18396{ void *argp ;
18397  struct pkt_ctrl_command ctrl_cmd ;
18398  int ret ;
18399  dev_t pkt_dev ;
18400  unsigned long tmp ;
18401  bool tmp___0 ;
18402  int tmp___1 ;
18403  dev_t tmp___2 ;
18404  bool tmp___3 ;
18405  int tmp___4 ;
18406  dev_t tmp___5 ;
18407  int tmp___6 ;
18408  void *__cil_tmp16 ;
18409  void const   *__cil_tmp17 ;
18410  int __cil_tmp18 ;
18411  int __cil_tmp19 ;
18412  int __cil_tmp20 ;
18413  void const   *__cil_tmp21 ;
18414
18415  {
18416#line 3004
18417  argp = (void *)arg;
18418#line 3006
18419  ret = 0;
18420#line 3007
18421  pkt_dev = 0U;
18422#line 3009
18423  if (cmd != 3222820865U) {
18424#line 3010
18425    return (-25L);
18426  } else {
18427
18428  }
18429  {
18430#line 3012
18431  __cil_tmp16 = (void *)(& ctrl_cmd);
18432#line 3012
18433  __cil_tmp17 = (void const   *)argp;
18434#line 3012
18435  tmp = copy_from_user(__cil_tmp16, __cil_tmp17, 24UL);
18436  }
18437#line 3012
18438  if (tmp != 0UL) {
18439#line 3013
18440    return (-14L);
18441  } else {
18442
18443  }
18444  {
18445#line 3016
18446  __cil_tmp18 = (int )ctrl_cmd.command;
18447#line 3016
18448  if (__cil_tmp18 == 0) {
18449#line 3016
18450    goto case_0;
18451  } else {
18452    {
18453#line 3022
18454    __cil_tmp19 = (int )ctrl_cmd.command;
18455#line 3022
18456    if (__cil_tmp19 == 1) {
18457#line 3022
18458      goto case_1;
18459    } else {
18460      {
18461#line 3027
18462      __cil_tmp20 = (int )ctrl_cmd.command;
18463#line 3027
18464      if (__cil_tmp20 == 2) {
18465#line 3027
18466        goto case_2;
18467      } else {
18468#line 3030
18469        goto switch_default;
18470#line 3015
18471        if (0) {
18472          case_0: 
18473          {
18474#line 3017
18475          tmp___0 = capable(21);
18476          }
18477#line 3017
18478          if (tmp___0) {
18479#line 3017
18480            tmp___1 = 0;
18481          } else {
18482#line 3017
18483            tmp___1 = 1;
18484          }
18485#line 3017
18486          if (tmp___1) {
18487#line 3018
18488            return (-1L);
18489          } else {
18490
18491          }
18492          {
18493#line 3019
18494          tmp___2 = new_decode_dev(ctrl_cmd.dev);
18495#line 3019
18496          ret = pkt_setup_dev(tmp___2, & pkt_dev);
18497#line 3020
18498          ctrl_cmd.pkt_dev = new_encode_dev(pkt_dev);
18499          }
18500#line 3021
18501          goto ldv_31429;
18502          case_1: 
18503          {
18504#line 3023
18505          tmp___3 = capable(21);
18506          }
18507#line 3023
18508          if (tmp___3) {
18509#line 3023
18510            tmp___4 = 0;
18511          } else {
18512#line 3023
18513            tmp___4 = 1;
18514          }
18515#line 3023
18516          if (tmp___4) {
18517#line 3024
18518            return (-1L);
18519          } else {
18520
18521          }
18522          {
18523#line 3025
18524          tmp___5 = new_decode_dev(ctrl_cmd.pkt_dev);
18525#line 3025
18526          ret = pkt_remove_dev(tmp___5);
18527          }
18528#line 3026
18529          goto ldv_31429;
18530          case_2: 
18531          {
18532#line 3028
18533          pkt_get_status(& ctrl_cmd);
18534          }
18535#line 3029
18536          goto ldv_31429;
18537          switch_default: ;
18538#line 3031
18539          return (-25L);
18540        } else {
18541
18542        }
18543      }
18544      }
18545    }
18546    }
18547  }
18548  }
18549  ldv_31429: 
18550  {
18551#line 3034
18552  __cil_tmp21 = (void const   *)(& ctrl_cmd);
18553#line 3034
18554  tmp___6 = copy_to_user(argp, __cil_tmp21, 24U);
18555  }
18556#line 3034
18557  if (tmp___6 != 0) {
18558#line 3035
18559    return (-14L);
18560  } else {
18561
18562  }
18563#line 3036
18564  return ((long )ret);
18565}
18566}
18567#line 3040 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18568static long pkt_ctl_compat_ioctl(struct file *file , unsigned int cmd , unsigned long arg ) 
18569{ void *tmp ;
18570  long tmp___0 ;
18571  compat_uptr_t __cil_tmp6 ;
18572  unsigned long __cil_tmp7 ;
18573
18574  {
18575  {
18576#line 3042
18577  __cil_tmp6 = (compat_uptr_t )arg;
18578#line 3042
18579  tmp = compat_ptr(__cil_tmp6);
18580#line 3042
18581  __cil_tmp7 = (unsigned long )tmp;
18582#line 3042
18583  tmp___0 = pkt_ctl_ioctl(file, cmd, __cil_tmp7);
18584  }
18585#line 3042
18586  return (tmp___0);
18587}
18588}
18589#line 3046 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18590static struct file_operations  const  pkt_ctl_fops  = 
18591#line 3046
18592     {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t  ,
18593                                               loff_t * ))0, (ssize_t (*)(struct file * ,
18594                                                                          char const   * ,
18595                                                                          size_t  ,
18596                                                                          loff_t * ))0,
18597    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
18598    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
18599    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
18600                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
18601                                                                                            struct poll_table_struct * ))0,
18602    & pkt_ctl_ioctl, & pkt_ctl_compat_ioctl, (int (*)(struct file * , struct vm_area_struct * ))0,
18603    & nonseekable_open, (int (*)(struct file * , fl_owner_t  ))0, (int (*)(struct inode * ,
18604                                                                           struct file * ))0,
18605    (int (*)(struct file * , int  ))0, (int (*)(struct kiocb * , int  ))0, (int (*)(int  ,
18606                                                                                    struct file * ,
18607                                                                                    int  ))0,
18608    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
18609                                                                         struct page * ,
18610                                                                         int  , size_t  ,
18611                                                                         loff_t * ,
18612                                                                         int  ))0,
18613    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
18614                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
18615                                                                       int  , struct file_lock * ))0,
18616    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
18617    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
18618    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
18619                                                                        int  , loff_t  ,
18620                                                                        loff_t  ))0};
18621#line 3056 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18622static struct miscdevice pkt_misc  = 
18623#line 3056
18624     {255, "pktcdvd", & pkt_ctl_fops, {(struct list_head *)0, (struct list_head *)0},
18625    (struct device *)0, (struct device *)0, "pktcdvd/control", 0U};
18626#line 3063 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18627static int pkt_init(void) 
18628{ int ret ;
18629  struct lock_class_key __key ;
18630  mempool_t *__cil_tmp3 ;
18631  unsigned long __cil_tmp4 ;
18632  unsigned long __cil_tmp5 ;
18633  unsigned int __cil_tmp6 ;
18634  struct proc_dir_entry *__cil_tmp7 ;
18635  unsigned int __cil_tmp8 ;
18636
18637  {
18638  {
18639#line 3067
18640  __mutex_init(& ctl_mutex, "&ctl_mutex", & __key);
18641#line 3069
18642  psd_pool = mempool_create_kmalloc_pool(64, 16UL);
18643  }
18644  {
18645#line 3071
18646  __cil_tmp3 = (mempool_t *)0;
18647#line 3071
18648  __cil_tmp4 = (unsigned long )__cil_tmp3;
18649#line 3071
18650  __cil_tmp5 = (unsigned long )psd_pool;
18651#line 3071
18652  if (__cil_tmp5 == __cil_tmp4) {
18653#line 3072
18654    return (-12);
18655  } else {
18656
18657  }
18658  }
18659  {
18660#line 3074
18661  __cil_tmp6 = (unsigned int )pktdev_major;
18662#line 3074
18663  ret = register_blkdev(__cil_tmp6, "pktcdvd");
18664  }
18665#line 3075
18666  if (ret < 0) {
18667    {
18668#line 3076
18669    printk("pktcdvd: Unable to register block device\n");
18670    }
18671#line 3077
18672    goto out2;
18673  } else {
18674
18675  }
18676#line 3079
18677  if (pktdev_major == 0) {
18678#line 3080
18679    pktdev_major = ret;
18680  } else {
18681
18682  }
18683  {
18684#line 3082
18685  ret = pkt_sysfs_init();
18686  }
18687#line 3083
18688  if (ret != 0) {
18689#line 3084
18690    goto out;
18691  } else {
18692
18693  }
18694  {
18695#line 3086
18696  pkt_debugfs_init();
18697#line 3088
18698  ret = misc_register(& pkt_misc);
18699  }
18700#line 3089
18701  if (ret != 0) {
18702    {
18703#line 3090
18704    printk("pktcdvd: Unable to register misc device\n");
18705    }
18706#line 3091
18707    goto out_misc;
18708  } else {
18709
18710  }
18711  {
18712#line 3094
18713  __cil_tmp7 = (struct proc_dir_entry *)0;
18714#line 3094
18715  pkt_proc = proc_mkdir("driver/pktcdvd", __cil_tmp7);
18716  }
18717#line 3096
18718  return (0);
18719  out_misc: 
18720  {
18721#line 3099
18722  pkt_debugfs_cleanup();
18723#line 3100
18724  pkt_sysfs_cleanup();
18725  }
18726  out: 
18727  {
18728#line 3102
18729  __cil_tmp8 = (unsigned int )pktdev_major;
18730#line 3102
18731  unregister_blkdev(__cil_tmp8, "pktcdvd");
18732  }
18733  out2: 
18734  {
18735#line 3104
18736  mempool_destroy(psd_pool);
18737  }
18738#line 3105
18739  return (ret);
18740}
18741}
18742#line 3108 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18743static void pkt_exit(void) 
18744{ struct proc_dir_entry *__cil_tmp1 ;
18745  unsigned int __cil_tmp2 ;
18746
18747  {
18748  {
18749#line 3110
18750  __cil_tmp1 = (struct proc_dir_entry *)0;
18751#line 3110
18752  remove_proc_entry("driver/pktcdvd", __cil_tmp1);
18753#line 3111
18754  misc_deregister(& pkt_misc);
18755#line 3113
18756  pkt_debugfs_cleanup();
18757#line 3114
18758  pkt_sysfs_cleanup();
18759#line 3116
18760  __cil_tmp2 = (unsigned int )pktdev_major;
18761#line 3116
18762  unregister_blkdev(__cil_tmp2, "pktcdvd");
18763#line 3117
18764  mempool_destroy(psd_pool);
18765  }
18766#line 3118
18767  return;
18768}
18769}
18770#line 3143
18771void ldv_check_final_state(void) ;
18772#line 3146
18773extern void ldv_check_return_value(int  ) ;
18774#line 3149
18775extern void ldv_initialize(void) ;
18776#line 3152
18777extern int nondet_int(void) ;
18778#line 3155 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18779int LDV_IN_INTERRUPT  ;
18780#line 3158 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
18781void main(void) 
18782{ struct kobject *var_group1 ;
18783  struct attribute *var_group2 ;
18784  char *var_kobj_pkt_show_3_p2 ;
18785  char const   *var_kobj_pkt_store_5_p2 ;
18786  size_t var_kobj_pkt_store_5_p3 ;
18787  struct inode *var_group3 ;
18788  struct file *var_group4 ;
18789  int res_pkt_debugfs_fops_open_15 ;
18790  int res_pkt_seq_open_80 ;
18791  struct block_device *var_group5 ;
18792  fmode_t var_pkt_open_73_p1 ;
18793  int res_pkt_open_73 ;
18794  struct gendisk *var_group6 ;
18795  fmode_t var_pkt_close_74_p1 ;
18796  fmode_t var_pkt_ioctl_82_p1 ;
18797  unsigned int var_pkt_ioctl_82_p2 ;
18798  unsigned long var_pkt_ioctl_82_p3 ;
18799  unsigned int var_pkt_check_events_83_p1 ;
18800  unsigned int var_pkt_ctl_ioctl_88_p1 ;
18801  unsigned long var_pkt_ctl_ioctl_88_p2 ;
18802  unsigned int var_pkt_ctl_compat_ioctl_89_p1 ;
18803  unsigned long var_pkt_ctl_compat_ioctl_89_p2 ;
18804  int ldv_s_kobj_pkt_type_stat_kobj_type ;
18805  int ldv_s_kobj_pkt_type_wqueue_kobj_type ;
18806  int ldv_s_debug_fops_file_operations ;
18807  int ldv_s_pkt_proc_fops_file_operations ;
18808  int ldv_s_pktcdvd_ops_block_device_operations ;
18809  int tmp ;
18810  int tmp___0 ;
18811  int tmp___1 ;
18812
18813  {
18814  {
18815#line 3685
18816  ldv_s_kobj_pkt_type_stat_kobj_type = 0;
18817#line 3687
18818  ldv_s_kobj_pkt_type_wqueue_kobj_type = 0;
18819#line 3689
18820  ldv_s_debug_fops_file_operations = 0;
18821#line 3691
18822  ldv_s_pkt_proc_fops_file_operations = 0;
18823#line 3693
18824  ldv_s_pktcdvd_ops_block_device_operations = 0;
18825#line 3636
18826  LDV_IN_INTERRUPT = 1;
18827#line 3645
18828  ldv_initialize();
18829#line 3681
18830  tmp = pkt_init();
18831  }
18832#line 3681
18833  if (tmp != 0) {
18834#line 3682
18835    goto ldv_final;
18836  } else {
18837
18838  }
18839#line 3699
18840  goto ldv_31520;
18841  ldv_31519: 
18842  {
18843#line 3707
18844  tmp___0 = nondet_int();
18845  }
18846#line 3709
18847  if (tmp___0 == 0) {
18848#line 3709
18849    goto case_0;
18850  } else
18851#line 3757
18852  if (tmp___0 == 1) {
18853#line 3757
18854    goto case_1;
18855  } else
18856#line 3805
18857  if (tmp___0 == 2) {
18858#line 3805
18859    goto case_2;
18860  } else
18861#line 3853
18862  if (tmp___0 == 3) {
18863#line 3853
18864    goto case_3;
18865  } else
18866#line 3901
18867  if (tmp___0 == 4) {
18868#line 3901
18869    goto case_4;
18870  } else
18871#line 3952
18872  if (tmp___0 == 5) {
18873#line 3952
18874    goto case_5;
18875  } else
18876#line 4003
18877  if (tmp___0 == 6) {
18878#line 4003
18879    goto case_6;
18880  } else
18881#line 4054
18882  if (tmp___0 == 7) {
18883#line 4054
18884    goto case_7;
18885  } else
18886#line 4102
18887  if (tmp___0 == 8) {
18888#line 4102
18889    goto case_8;
18890  } else
18891#line 4150
18892  if (tmp___0 == 9) {
18893#line 4150
18894    goto case_9;
18895  } else
18896#line 4198
18897  if (tmp___0 == 10) {
18898#line 4198
18899    goto case_10;
18900  } else
18901#line 4246
18902  if (tmp___0 == 11) {
18903#line 4246
18904    goto case_11;
18905  } else {
18906#line 4294
18907    goto switch_default;
18908#line 3707
18909    if (0) {
18910      case_0: 
18911      {
18912#line 3733
18913      kobj_pkt_show(var_group1, var_group2, var_kobj_pkt_show_3_p2);
18914      }
18915#line 3756
18916      goto ldv_31505;
18917      case_1: 
18918      {
18919#line 3781
18920      kobj_pkt_store(var_group1, var_group2, var_kobj_pkt_store_5_p2, var_kobj_pkt_store_5_p3);
18921      }
18922#line 3804
18923      goto ldv_31505;
18924      case_2: ;
18925#line 3808
18926      if (ldv_s_kobj_pkt_type_stat_kobj_type == 0) {
18927        {
18928#line 3827
18929        pkt_kobj_release(var_group1);
18930#line 3846
18931        ldv_s_kobj_pkt_type_stat_kobj_type = 0;
18932        }
18933      } else {
18934
18935      }
18936#line 3852
18937      goto ldv_31505;
18938      case_3: ;
18939#line 3856
18940      if (ldv_s_kobj_pkt_type_wqueue_kobj_type == 0) {
18941        {
18942#line 3875
18943        pkt_kobj_release(var_group1);
18944#line 3894
18945        ldv_s_kobj_pkt_type_wqueue_kobj_type = 0;
18946        }
18947      } else {
18948
18949      }
18950#line 3900
18951      goto ldv_31505;
18952      case_4: ;
18953#line 3904
18954      if (ldv_s_debug_fops_file_operations == 0) {
18955        {
18956#line 3925
18957        res_pkt_debugfs_fops_open_15 = pkt_debugfs_fops_open(var_group3, var_group4);
18958#line 3926
18959        ldv_check_return_value(res_pkt_debugfs_fops_open_15);
18960        }
18961#line 3927
18962        if (res_pkt_debugfs_fops_open_15 != 0) {
18963#line 3928
18964          goto ldv_module_exit;
18965        } else {
18966
18967        }
18968#line 3945
18969        ldv_s_debug_fops_file_operations = 0;
18970      } else {
18971
18972      }
18973#line 3951
18974      goto ldv_31505;
18975      case_5: ;
18976#line 3955
18977      if (ldv_s_pkt_proc_fops_file_operations == 0) {
18978        {
18979#line 3986
18980        res_pkt_seq_open_80 = pkt_seq_open(var_group3, var_group4);
18981#line 3987
18982        ldv_check_return_value(res_pkt_seq_open_80);
18983        }
18984#line 3988
18985        if (res_pkt_seq_open_80 != 0) {
18986#line 3989
18987          goto ldv_module_exit;
18988        } else {
18989
18990        }
18991#line 3996
18992        ldv_s_pkt_proc_fops_file_operations = 0;
18993      } else {
18994
18995      }
18996#line 4002
18997      goto ldv_31505;
18998      case_6: ;
18999#line 4006
19000      if (ldv_s_pktcdvd_ops_block_device_operations == 0) {
19001        {
19002#line 4037
19003        res_pkt_open_73 = pkt_open(var_group5, var_pkt_open_73_p1);
19004#line 4038
19005        ldv_check_return_value(res_pkt_open_73);
19006        }
19007#line 4039
19008        if (res_pkt_open_73 != 0) {
19009#line 4040
19010          goto ldv_module_exit;
19011        } else {
19012
19013        }
19014#line 4047
19015        ldv_s_pktcdvd_ops_block_device_operations = ldv_s_pktcdvd_ops_block_device_operations + 1;
19016      } else {
19017
19018      }
19019#line 4053
19020      goto ldv_31505;
19021      case_7: ;
19022#line 4057
19023      if (ldv_s_pktcdvd_ops_block_device_operations == 1) {
19024        {
19025#line 4088
19026        pkt_close(var_group6, var_pkt_close_74_p1);
19027#line 4095
19028        ldv_s_pktcdvd_ops_block_device_operations = 0;
19029        }
19030      } else {
19031
19032      }
19033#line 4101
19034      goto ldv_31505;
19035      case_8: 
19036      {
19037#line 4136
19038      pkt_ioctl(var_group5, var_pkt_ioctl_82_p1, var_pkt_ioctl_82_p2, var_pkt_ioctl_82_p3);
19039      }
19040#line 4149
19041      goto ldv_31505;
19042      case_9: 
19043      {
19044#line 4184
19045      pkt_check_events(var_group6, var_pkt_check_events_83_p1);
19046      }
19047#line 4197
19048      goto ldv_31505;
19049      case_10: 
19050      {
19051#line 4232
19052      pkt_ctl_ioctl(var_group4, var_pkt_ctl_ioctl_88_p1, var_pkt_ctl_ioctl_88_p2);
19053      }
19054#line 4245
19055      goto ldv_31505;
19056      case_11: 
19057      {
19058#line 4281
19059      pkt_ctl_compat_ioctl(var_group4, var_pkt_ctl_compat_ioctl_89_p1, var_pkt_ctl_compat_ioctl_89_p2);
19060      }
19061#line 4293
19062      goto ldv_31505;
19063      switch_default: ;
19064#line 4294
19065      goto ldv_31505;
19066    } else {
19067
19068    }
19069  }
19070  ldv_31505: ;
19071  ldv_31520: 
19072  {
19073#line 3699
19074  tmp___1 = nondet_int();
19075  }
19076#line 3699
19077  if (tmp___1 != 0) {
19078#line 3705
19079    goto ldv_31519;
19080  } else
19081#line 3699
19082  if (ldv_s_kobj_pkt_type_stat_kobj_type != 0) {
19083#line 3705
19084    goto ldv_31519;
19085  } else
19086#line 3699
19087  if (ldv_s_kobj_pkt_type_wqueue_kobj_type != 0) {
19088#line 3705
19089    goto ldv_31519;
19090  } else
19091#line 3699
19092  if (ldv_s_debug_fops_file_operations != 0) {
19093#line 3705
19094    goto ldv_31519;
19095  } else
19096#line 3699
19097  if (ldv_s_pkt_proc_fops_file_operations != 0) {
19098#line 3705
19099    goto ldv_31519;
19100  } else
19101#line 3699
19102  if (ldv_s_pktcdvd_ops_block_device_operations != 0) {
19103#line 3705
19104    goto ldv_31519;
19105  } else {
19106#line 3707
19107    goto ldv_31521;
19108  }
19109  ldv_31521: ;
19110  ldv_module_exit: 
19111  {
19112#line 4336
19113  pkt_exit();
19114  }
19115  ldv_final: 
19116  {
19117#line 4339
19118  ldv_check_final_state();
19119  }
19120#line 4342
19121  return;
19122}
19123}
19124#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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"
19125void ldv_blast_assert(void) 
19126{ 
19127
19128  {
19129  ERROR: ;
19130#line 6
19131  goto ERROR;
19132}
19133}
19134#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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"
19135extern int ldv_undefined_int(void) ;
19136#line 4359 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19137int ldv_module_refcounter  =    1;
19138#line 4362 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19139void ldv_module_get(struct module *module ) 
19140{ struct module *__cil_tmp2 ;
19141  unsigned long __cil_tmp3 ;
19142  unsigned long __cil_tmp4 ;
19143
19144  {
19145  {
19146#line 4365
19147  __cil_tmp2 = (struct module *)0;
19148#line 4365
19149  __cil_tmp3 = (unsigned long )__cil_tmp2;
19150#line 4365
19151  __cil_tmp4 = (unsigned long )module;
19152#line 4365
19153  if (__cil_tmp4 != __cil_tmp3) {
19154#line 4367
19155    ldv_module_refcounter = ldv_module_refcounter + 1;
19156  } else {
19157
19158  }
19159  }
19160#line 4368
19161  return;
19162}
19163}
19164#line 4372 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19165int ldv_try_module_get(struct module *module ) 
19166{ int module_get_succeeded ;
19167  struct module *__cil_tmp3 ;
19168  unsigned long __cil_tmp4 ;
19169  unsigned long __cil_tmp5 ;
19170
19171  {
19172  {
19173#line 4377
19174  __cil_tmp3 = (struct module *)0;
19175#line 4377
19176  __cil_tmp4 = (unsigned long )__cil_tmp3;
19177#line 4377
19178  __cil_tmp5 = (unsigned long )module;
19179#line 4377
19180  if (__cil_tmp5 != __cil_tmp4) {
19181    {
19182#line 4380
19183    module_get_succeeded = ldv_undefined_int();
19184    }
19185#line 4382
19186    if (module_get_succeeded == 1) {
19187#line 4384
19188      ldv_module_refcounter = ldv_module_refcounter + 1;
19189#line 4386
19190      return (1);
19191    } else {
19192#line 4391
19193      return (0);
19194    }
19195  } else {
19196
19197  }
19198  }
19199#line 4393
19200  return (0);
19201}
19202}
19203#line 4397 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19204void ldv_module_put(struct module *module ) 
19205{ struct module *__cil_tmp2 ;
19206  unsigned long __cil_tmp3 ;
19207  unsigned long __cil_tmp4 ;
19208
19209  {
19210  {
19211#line 4400
19212  __cil_tmp2 = (struct module *)0;
19213#line 4400
19214  __cil_tmp3 = (unsigned long )__cil_tmp2;
19215#line 4400
19216  __cil_tmp4 = (unsigned long )module;
19217#line 4400
19218  if (__cil_tmp4 != __cil_tmp3) {
19219#line 4402
19220    if (ldv_module_refcounter <= 1) {
19221      {
19222#line 4402
19223      ldv_blast_assert();
19224      }
19225    } else {
19226
19227    }
19228#line 4404
19229    ldv_module_refcounter = ldv_module_refcounter - 1;
19230  } else {
19231
19232  }
19233  }
19234#line 4406
19235  return;
19236}
19237}
19238#line 4409 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19239void ldv_module_put_and_exit(void) 
19240{ struct module *__cil_tmp1 ;
19241
19242  {
19243  {
19244#line 4411
19245  __cil_tmp1 = (struct module *)1;
19246#line 4411
19247  ldv_module_put(__cil_tmp1);
19248  }
19249  LDV_STOP: ;
19250#line 4413
19251  goto LDV_STOP;
19252}
19253}
19254#line 4417 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19255unsigned int ldv_module_refcount(void) 
19256{ int __cil_tmp1 ;
19257
19258  {
19259  {
19260#line 4420
19261  __cil_tmp1 = ldv_module_refcounter + -1;
19262#line 4420
19263  return ((unsigned int )__cil_tmp1);
19264  }
19265}
19266}
19267#line 4424 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19268void ldv_check_final_state(void) 
19269{ 
19270
19271  {
19272#line 4427
19273  if (ldv_module_refcounter != 1) {
19274    {
19275#line 4427
19276    ldv_blast_assert();
19277    }
19278  } else {
19279
19280  }
19281#line 4430
19282  return;
19283}
19284}
19285#line 4430 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19286__inline static int ldv_try_module_get_1(struct module *module ) 
19287{ int tmp ;
19288
19289  {
19290  {
19291#line 4435
19292  tmp = ldv_try_module_get(module);
19293  }
19294#line 4435
19295  return (tmp);
19296}
19297}
19298#line 4438 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19299void ldv_module_put_2(struct module *ldv_func_arg1 ) 
19300{ 
19301
19302  {
19303  {
19304#line 4443
19305  ldv_module_put(ldv_func_arg1);
19306  }
19307#line 4444
19308  return;
19309}
19310}
19311#line 4446 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19312__inline static void ldv___module_get_3(struct module *module ) 
19313{ 
19314
19315  {
19316  {
19317#line 4451
19318  ldv_module_get(module);
19319  }
19320#line 4452
19321  return;
19322}
19323}
19324#line 4454 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19325void ldv_module_put_4(struct module *ldv_func_arg1 ) 
19326{ 
19327
19328  {
19329  {
19330#line 4459
19331  ldv_module_put(ldv_func_arg1);
19332  }
19333#line 4460
19334  return;
19335}
19336}
19337#line 4462 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.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/pktcdvd.c.p"
19338void ldv_module_put_5(struct module *ldv_func_arg1 ) 
19339{ 
19340
19341  {
19342  {
19343#line 4467
19344  ldv_module_put(ldv_func_arg1);
19345  }
19346#line 4468
19347  return;
19348}
19349}