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