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 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 91 "include/asm-generic/posix_types.h"
49typedef long long __kernel_loff_t;
50#line 92 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_time_t;
52#line 93 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_clock_t;
54#line 94 "include/asm-generic/posix_types.h"
55typedef int __kernel_timer_t;
56#line 95 "include/asm-generic/posix_types.h"
57typedef int __kernel_clockid_t;
58#line 21 "include/linux/types.h"
59typedef __u32 __kernel_dev_t;
60#line 24 "include/linux/types.h"
61typedef __kernel_dev_t dev_t;
62#line 27 "include/linux/types.h"
63typedef unsigned short umode_t;
64#line 30 "include/linux/types.h"
65typedef __kernel_pid_t pid_t;
66#line 35 "include/linux/types.h"
67typedef __kernel_clockid_t clockid_t;
68#line 38 "include/linux/types.h"
69typedef _Bool bool;
70#line 40 "include/linux/types.h"
71typedef __kernel_uid32_t uid_t;
72#line 41 "include/linux/types.h"
73typedef __kernel_gid32_t gid_t;
74#line 54 "include/linux/types.h"
75typedef __kernel_loff_t loff_t;
76#line 63 "include/linux/types.h"
77typedef __kernel_size_t size_t;
78#line 68 "include/linux/types.h"
79typedef __kernel_ssize_t ssize_t;
80#line 78 "include/linux/types.h"
81typedef __kernel_time_t time_t;
82#line 92 "include/linux/types.h"
83typedef unsigned char u_char;
84#line 95 "include/linux/types.h"
85typedef unsigned long u_long;
86#line 111 "include/linux/types.h"
87typedef __s32 int32_t;
88#line 115 "include/linux/types.h"
89typedef __u8 uint8_t;
90#line 117 "include/linux/types.h"
91typedef __u32 uint32_t;
92#line 120 "include/linux/types.h"
93typedef __u64 uint64_t;
94#line 142 "include/linux/types.h"
95typedef unsigned long sector_t;
96#line 143 "include/linux/types.h"
97typedef unsigned long blkcnt_t;
98#line 202 "include/linux/types.h"
99typedef unsigned int gfp_t;
100#line 203 "include/linux/types.h"
101typedef unsigned int fmode_t;
102#line 206 "include/linux/types.h"
103typedef u64 phys_addr_t;
104#line 211 "include/linux/types.h"
105typedef phys_addr_t resource_size_t;
106#line 221 "include/linux/types.h"
107struct __anonstruct_atomic_t_6 {
108 int counter ;
109};
110#line 221 "include/linux/types.h"
111typedef struct __anonstruct_atomic_t_6 atomic_t;
112#line 226 "include/linux/types.h"
113struct __anonstruct_atomic64_t_7 {
114 long counter ;
115};
116#line 226 "include/linux/types.h"
117typedef struct __anonstruct_atomic64_t_7 atomic64_t;
118#line 227 "include/linux/types.h"
119struct list_head {
120 struct list_head *next ;
121 struct list_head *prev ;
122};
123#line 232
124struct hlist_node;
125#line 232 "include/linux/types.h"
126struct hlist_head {
127 struct hlist_node *first ;
128};
129#line 236 "include/linux/types.h"
130struct hlist_node {
131 struct hlist_node *next ;
132 struct hlist_node **pprev ;
133};
134#line 247 "include/linux/types.h"
135struct rcu_head {
136 struct rcu_head *next ;
137 void (*func)(struct rcu_head * ) ;
138};
139#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
140struct module;
141#line 55
142struct module;
143#line 146 "include/linux/init.h"
144typedef void (*ctor_fn_t)(void);
145#line 305 "include/linux/printk.h"
146struct _ddebug {
147 char const *modname ;
148 char const *function ;
149 char const *filename ;
150 char const *format ;
151 unsigned int lineno : 18 ;
152 unsigned char flags ;
153};
154#line 46 "include/linux/dynamic_debug.h"
155struct device;
156#line 46
157struct device;
158#line 57
159struct completion;
160#line 57
161struct completion;
162#line 58
163struct pt_regs;
164#line 58
165struct pt_regs;
166#line 348 "include/linux/kernel.h"
167struct pid;
168#line 348
169struct pid;
170#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
171struct timespec;
172#line 112
173struct timespec;
174#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
175struct page;
176#line 58
177struct page;
178#line 26 "include/asm-generic/getorder.h"
179struct task_struct;
180#line 26
181struct task_struct;
182#line 28
183struct mm_struct;
184#line 28
185struct mm_struct;
186#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
187struct pt_regs {
188 unsigned long r15 ;
189 unsigned long r14 ;
190 unsigned long r13 ;
191 unsigned long r12 ;
192 unsigned long bp ;
193 unsigned long bx ;
194 unsigned long r11 ;
195 unsigned long r10 ;
196 unsigned long r9 ;
197 unsigned long r8 ;
198 unsigned long ax ;
199 unsigned long cx ;
200 unsigned long dx ;
201 unsigned long si ;
202 unsigned long di ;
203 unsigned long orig_ax ;
204 unsigned long ip ;
205 unsigned long cs ;
206 unsigned long flags ;
207 unsigned long sp ;
208 unsigned long ss ;
209};
210#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
211struct __anonstruct_ldv_2180_13 {
212 unsigned int a ;
213 unsigned int b ;
214};
215#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
216struct __anonstruct_ldv_2195_14 {
217 u16 limit0 ;
218 u16 base0 ;
219 unsigned char base1 ;
220 unsigned char type : 4 ;
221 unsigned char s : 1 ;
222 unsigned char dpl : 2 ;
223 unsigned char p : 1 ;
224 unsigned char limit : 4 ;
225 unsigned char avl : 1 ;
226 unsigned char l : 1 ;
227 unsigned char d : 1 ;
228 unsigned char g : 1 ;
229 unsigned char base2 ;
230};
231#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
232union __anonunion_ldv_2196_12 {
233 struct __anonstruct_ldv_2180_13 ldv_2180 ;
234 struct __anonstruct_ldv_2195_14 ldv_2195 ;
235};
236#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
237struct desc_struct {
238 union __anonunion_ldv_2196_12 ldv_2196 ;
239};
240#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
241typedef unsigned long pgdval_t;
242#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
243typedef unsigned long pgprotval_t;
244#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
245struct pgprot {
246 pgprotval_t pgprot ;
247};
248#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
249typedef struct pgprot pgprot_t;
250#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
251struct __anonstruct_pgd_t_16 {
252 pgdval_t pgd ;
253};
254#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
255typedef struct __anonstruct_pgd_t_16 pgd_t;
256#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
257typedef struct page *pgtable_t;
258#line 290
259struct file;
260#line 290
261struct file;
262#line 305
263struct seq_file;
264#line 305
265struct seq_file;
266#line 337
267struct thread_struct;
268#line 337
269struct thread_struct;
270#line 339
271struct cpumask;
272#line 339
273struct cpumask;
274#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
275struct arch_spinlock;
276#line 327
277struct arch_spinlock;
278#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
279struct kernel_vm86_regs {
280 struct pt_regs pt ;
281 unsigned short es ;
282 unsigned short __esh ;
283 unsigned short ds ;
284 unsigned short __dsh ;
285 unsigned short fs ;
286 unsigned short __fsh ;
287 unsigned short gs ;
288 unsigned short __gsh ;
289};
290#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
291union __anonunion_ldv_2824_19 {
292 struct pt_regs *regs ;
293 struct kernel_vm86_regs *vm86 ;
294};
295#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
296struct math_emu_info {
297 long ___orig_eip ;
298 union __anonunion_ldv_2824_19 ldv_2824 ;
299};
300#line 306 "include/linux/bitmap.h"
301struct bug_entry {
302 int bug_addr_disp ;
303 int file_disp ;
304 unsigned short line ;
305 unsigned short flags ;
306};
307#line 89 "include/linux/bug.h"
308struct cpumask {
309 unsigned long bits[64U] ;
310};
311#line 14 "include/linux/cpumask.h"
312typedef struct cpumask cpumask_t;
313#line 637 "include/linux/cpumask.h"
314typedef struct cpumask *cpumask_var_t;
315#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
316struct static_key;
317#line 234
318struct static_key;
319#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
320struct i387_fsave_struct {
321 u32 cwd ;
322 u32 swd ;
323 u32 twd ;
324 u32 fip ;
325 u32 fcs ;
326 u32 foo ;
327 u32 fos ;
328 u32 st_space[20U] ;
329 u32 status ;
330};
331#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
332struct __anonstruct_ldv_5180_24 {
333 u64 rip ;
334 u64 rdp ;
335};
336#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
337struct __anonstruct_ldv_5186_25 {
338 u32 fip ;
339 u32 fcs ;
340 u32 foo ;
341 u32 fos ;
342};
343#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
344union __anonunion_ldv_5187_23 {
345 struct __anonstruct_ldv_5180_24 ldv_5180 ;
346 struct __anonstruct_ldv_5186_25 ldv_5186 ;
347};
348#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
349union __anonunion_ldv_5196_26 {
350 u32 padding1[12U] ;
351 u32 sw_reserved[12U] ;
352};
353#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
354struct i387_fxsave_struct {
355 u16 cwd ;
356 u16 swd ;
357 u16 twd ;
358 u16 fop ;
359 union __anonunion_ldv_5187_23 ldv_5187 ;
360 u32 mxcsr ;
361 u32 mxcsr_mask ;
362 u32 st_space[32U] ;
363 u32 xmm_space[64U] ;
364 u32 padding[12U] ;
365 union __anonunion_ldv_5196_26 ldv_5196 ;
366};
367#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
368struct i387_soft_struct {
369 u32 cwd ;
370 u32 swd ;
371 u32 twd ;
372 u32 fip ;
373 u32 fcs ;
374 u32 foo ;
375 u32 fos ;
376 u32 st_space[20U] ;
377 u8 ftop ;
378 u8 changed ;
379 u8 lookahead ;
380 u8 no_update ;
381 u8 rm ;
382 u8 alimit ;
383 struct math_emu_info *info ;
384 u32 entry_eip ;
385};
386#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
387struct ymmh_struct {
388 u32 ymmh_space[64U] ;
389};
390#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
391struct xsave_hdr_struct {
392 u64 xstate_bv ;
393 u64 reserved1[2U] ;
394 u64 reserved2[5U] ;
395};
396#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
397struct xsave_struct {
398 struct i387_fxsave_struct i387 ;
399 struct xsave_hdr_struct xsave_hdr ;
400 struct ymmh_struct ymmh ;
401};
402#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403union thread_xstate {
404 struct i387_fsave_struct fsave ;
405 struct i387_fxsave_struct fxsave ;
406 struct i387_soft_struct soft ;
407 struct xsave_struct xsave ;
408};
409#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
410struct fpu {
411 unsigned int last_cpu ;
412 unsigned int has_fpu ;
413 union thread_xstate *state ;
414};
415#line 433
416struct kmem_cache;
417#line 434
418struct perf_event;
419#line 434
420struct perf_event;
421#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
422struct thread_struct {
423 struct desc_struct tls_array[3U] ;
424 unsigned long sp0 ;
425 unsigned long sp ;
426 unsigned long usersp ;
427 unsigned short es ;
428 unsigned short ds ;
429 unsigned short fsindex ;
430 unsigned short gsindex ;
431 unsigned long fs ;
432 unsigned long gs ;
433 struct perf_event *ptrace_bps[4U] ;
434 unsigned long debugreg6 ;
435 unsigned long ptrace_dr7 ;
436 unsigned long cr2 ;
437 unsigned long trap_nr ;
438 unsigned long error_code ;
439 struct fpu fpu ;
440 unsigned long *io_bitmap_ptr ;
441 unsigned long iopl ;
442 unsigned int io_bitmap_max ;
443};
444#line 23 "include/asm-generic/atomic-long.h"
445typedef atomic64_t atomic_long_t;
446#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
447typedef u16 __ticket_t;
448#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
449typedef u32 __ticketpair_t;
450#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
451struct __raw_tickets {
452 __ticket_t head ;
453 __ticket_t tail ;
454};
455#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
456union __anonunion_ldv_5907_29 {
457 __ticketpair_t head_tail ;
458 struct __raw_tickets tickets ;
459};
460#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
461struct arch_spinlock {
462 union __anonunion_ldv_5907_29 ldv_5907 ;
463};
464#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
465typedef struct arch_spinlock arch_spinlock_t;
466#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
467struct __anonstruct_ldv_5914_31 {
468 u32 read ;
469 s32 write ;
470};
471#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
472union __anonunion_arch_rwlock_t_30 {
473 s64 lock ;
474 struct __anonstruct_ldv_5914_31 ldv_5914 ;
475};
476#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
477typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
478#line 34
479struct lockdep_map;
480#line 34
481struct lockdep_map;
482#line 55 "include/linux/debug_locks.h"
483struct stack_trace {
484 unsigned int nr_entries ;
485 unsigned int max_entries ;
486 unsigned long *entries ;
487 int skip ;
488};
489#line 26 "include/linux/stacktrace.h"
490struct lockdep_subclass_key {
491 char __one_byte ;
492};
493#line 53 "include/linux/lockdep.h"
494struct lock_class_key {
495 struct lockdep_subclass_key subkeys[8U] ;
496};
497#line 59 "include/linux/lockdep.h"
498struct lock_class {
499 struct list_head hash_entry ;
500 struct list_head lock_entry ;
501 struct lockdep_subclass_key *key ;
502 unsigned int subclass ;
503 unsigned int dep_gen_id ;
504 unsigned long usage_mask ;
505 struct stack_trace usage_traces[13U] ;
506 struct list_head locks_after ;
507 struct list_head locks_before ;
508 unsigned int version ;
509 unsigned long ops ;
510 char const *name ;
511 int name_version ;
512 unsigned long contention_point[4U] ;
513 unsigned long contending_point[4U] ;
514};
515#line 144 "include/linux/lockdep.h"
516struct lockdep_map {
517 struct lock_class_key *key ;
518 struct lock_class *class_cache[2U] ;
519 char const *name ;
520 int cpu ;
521 unsigned long ip ;
522};
523#line 187 "include/linux/lockdep.h"
524struct held_lock {
525 u64 prev_chain_key ;
526 unsigned long acquire_ip ;
527 struct lockdep_map *instance ;
528 struct lockdep_map *nest_lock ;
529 u64 waittime_stamp ;
530 u64 holdtime_stamp ;
531 unsigned short class_idx : 13 ;
532 unsigned char irq_context : 2 ;
533 unsigned char trylock : 1 ;
534 unsigned char read : 2 ;
535 unsigned char check : 2 ;
536 unsigned char hardirqs_off : 1 ;
537 unsigned short references : 11 ;
538};
539#line 556 "include/linux/lockdep.h"
540struct raw_spinlock {
541 arch_spinlock_t raw_lock ;
542 unsigned int magic ;
543 unsigned int owner_cpu ;
544 void *owner ;
545 struct lockdep_map dep_map ;
546};
547#line 32 "include/linux/spinlock_types.h"
548typedef struct raw_spinlock raw_spinlock_t;
549#line 33 "include/linux/spinlock_types.h"
550struct __anonstruct_ldv_6122_33 {
551 u8 __padding[24U] ;
552 struct lockdep_map dep_map ;
553};
554#line 33 "include/linux/spinlock_types.h"
555union __anonunion_ldv_6123_32 {
556 struct raw_spinlock rlock ;
557 struct __anonstruct_ldv_6122_33 ldv_6122 ;
558};
559#line 33 "include/linux/spinlock_types.h"
560struct spinlock {
561 union __anonunion_ldv_6123_32 ldv_6123 ;
562};
563#line 76 "include/linux/spinlock_types.h"
564typedef struct spinlock spinlock_t;
565#line 23 "include/linux/rwlock_types.h"
566struct __anonstruct_rwlock_t_34 {
567 arch_rwlock_t raw_lock ;
568 unsigned int magic ;
569 unsigned int owner_cpu ;
570 void *owner ;
571 struct lockdep_map dep_map ;
572};
573#line 23 "include/linux/rwlock_types.h"
574typedef struct __anonstruct_rwlock_t_34 rwlock_t;
575#line 110 "include/linux/seqlock.h"
576struct seqcount {
577 unsigned int sequence ;
578};
579#line 121 "include/linux/seqlock.h"
580typedef struct seqcount seqcount_t;
581#line 254 "include/linux/seqlock.h"
582struct timespec {
583 __kernel_time_t tv_sec ;
584 long tv_nsec ;
585};
586#line 286 "include/linux/time.h"
587struct kstat {
588 u64 ino ;
589 dev_t dev ;
590 umode_t mode ;
591 unsigned int nlink ;
592 uid_t uid ;
593 gid_t gid ;
594 dev_t rdev ;
595 loff_t size ;
596 struct timespec atime ;
597 struct timespec mtime ;
598 struct timespec ctime ;
599 unsigned long blksize ;
600 unsigned long long blocks ;
601};
602#line 27 "include/linux/wait.h"
603struct __wait_queue;
604#line 27 "include/linux/wait.h"
605typedef struct __wait_queue wait_queue_t;
606#line 30 "include/linux/wait.h"
607struct __wait_queue {
608 unsigned int flags ;
609 void *private ;
610 int (*func)(wait_queue_t * , unsigned int , int , void * ) ;
611 struct list_head task_list ;
612};
613#line 48 "include/linux/wait.h"
614struct __wait_queue_head {
615 spinlock_t lock ;
616 struct list_head task_list ;
617};
618#line 53 "include/linux/wait.h"
619typedef struct __wait_queue_head wait_queue_head_t;
620#line 98 "include/linux/nodemask.h"
621struct __anonstruct_nodemask_t_36 {
622 unsigned long bits[16U] ;
623};
624#line 98 "include/linux/nodemask.h"
625typedef struct __anonstruct_nodemask_t_36 nodemask_t;
626#line 670 "include/linux/mmzone.h"
627struct mutex {
628 atomic_t count ;
629 spinlock_t wait_lock ;
630 struct list_head wait_list ;
631 struct task_struct *owner ;
632 char const *name ;
633 void *magic ;
634 struct lockdep_map dep_map ;
635};
636#line 63 "include/linux/mutex.h"
637struct mutex_waiter {
638 struct list_head list ;
639 struct task_struct *task ;
640 void *magic ;
641};
642#line 171
643struct rw_semaphore;
644#line 171
645struct rw_semaphore;
646#line 172 "include/linux/mutex.h"
647struct rw_semaphore {
648 long count ;
649 raw_spinlock_t wait_lock ;
650 struct list_head wait_list ;
651 struct lockdep_map dep_map ;
652};
653#line 128 "include/linux/rwsem.h"
654struct completion {
655 unsigned int done ;
656 wait_queue_head_t wait ;
657};
658#line 188 "include/linux/rcupdate.h"
659struct notifier_block;
660#line 188
661struct notifier_block;
662#line 239 "include/linux/srcu.h"
663struct notifier_block {
664 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
665 struct notifier_block *next ;
666 int priority ;
667};
668#line 312 "include/linux/jiffies.h"
669union ktime {
670 s64 tv64 ;
671};
672#line 59 "include/linux/ktime.h"
673typedef union ktime ktime_t;
674#line 341
675struct tvec_base;
676#line 341
677struct tvec_base;
678#line 342 "include/linux/ktime.h"
679struct timer_list {
680 struct list_head entry ;
681 unsigned long expires ;
682 struct tvec_base *base ;
683 void (*function)(unsigned long ) ;
684 unsigned long data ;
685 int slack ;
686 int start_pid ;
687 void *start_site ;
688 char start_comm[16U] ;
689 struct lockdep_map lockdep_map ;
690};
691#line 289 "include/linux/timer.h"
692struct hrtimer;
693#line 289
694struct hrtimer;
695#line 290
696enum hrtimer_restart;
697#line 302
698struct work_struct;
699#line 302
700struct work_struct;
701#line 45 "include/linux/workqueue.h"
702struct work_struct {
703 atomic_long_t data ;
704 struct list_head entry ;
705 void (*func)(struct work_struct * ) ;
706 struct lockdep_map lockdep_map ;
707};
708#line 86 "include/linux/workqueue.h"
709struct delayed_work {
710 struct work_struct work ;
711 struct timer_list timer ;
712};
713#line 46 "include/linux/pm.h"
714struct pm_message {
715 int event ;
716};
717#line 52 "include/linux/pm.h"
718typedef struct pm_message pm_message_t;
719#line 53 "include/linux/pm.h"
720struct dev_pm_ops {
721 int (*prepare)(struct device * ) ;
722 void (*complete)(struct device * ) ;
723 int (*suspend)(struct device * ) ;
724 int (*resume)(struct device * ) ;
725 int (*freeze)(struct device * ) ;
726 int (*thaw)(struct device * ) ;
727 int (*poweroff)(struct device * ) ;
728 int (*restore)(struct device * ) ;
729 int (*suspend_late)(struct device * ) ;
730 int (*resume_early)(struct device * ) ;
731 int (*freeze_late)(struct device * ) ;
732 int (*thaw_early)(struct device * ) ;
733 int (*poweroff_late)(struct device * ) ;
734 int (*restore_early)(struct device * ) ;
735 int (*suspend_noirq)(struct device * ) ;
736 int (*resume_noirq)(struct device * ) ;
737 int (*freeze_noirq)(struct device * ) ;
738 int (*thaw_noirq)(struct device * ) ;
739 int (*poweroff_noirq)(struct device * ) ;
740 int (*restore_noirq)(struct device * ) ;
741 int (*runtime_suspend)(struct device * ) ;
742 int (*runtime_resume)(struct device * ) ;
743 int (*runtime_idle)(struct device * ) ;
744};
745#line 289
746enum rpm_status {
747 RPM_ACTIVE = 0,
748 RPM_RESUMING = 1,
749 RPM_SUSPENDED = 2,
750 RPM_SUSPENDING = 3
751} ;
752#line 296
753enum rpm_request {
754 RPM_REQ_NONE = 0,
755 RPM_REQ_IDLE = 1,
756 RPM_REQ_SUSPEND = 2,
757 RPM_REQ_AUTOSUSPEND = 3,
758 RPM_REQ_RESUME = 4
759} ;
760#line 304
761struct wakeup_source;
762#line 304
763struct wakeup_source;
764#line 494 "include/linux/pm.h"
765struct pm_subsys_data {
766 spinlock_t lock ;
767 unsigned int refcount ;
768};
769#line 499
770struct dev_pm_qos_request;
771#line 499
772struct pm_qos_constraints;
773#line 499 "include/linux/pm.h"
774struct dev_pm_info {
775 pm_message_t power_state ;
776 unsigned char can_wakeup : 1 ;
777 unsigned char async_suspend : 1 ;
778 bool is_prepared ;
779 bool is_suspended ;
780 bool ignore_children ;
781 spinlock_t lock ;
782 struct list_head entry ;
783 struct completion completion ;
784 struct wakeup_source *wakeup ;
785 bool wakeup_path ;
786 struct timer_list suspend_timer ;
787 unsigned long timer_expires ;
788 struct work_struct work ;
789 wait_queue_head_t wait_queue ;
790 atomic_t usage_count ;
791 atomic_t child_count ;
792 unsigned char disable_depth : 3 ;
793 unsigned char idle_notification : 1 ;
794 unsigned char request_pending : 1 ;
795 unsigned char deferred_resume : 1 ;
796 unsigned char run_wake : 1 ;
797 unsigned char runtime_auto : 1 ;
798 unsigned char no_callbacks : 1 ;
799 unsigned char irq_safe : 1 ;
800 unsigned char use_autosuspend : 1 ;
801 unsigned char timer_autosuspends : 1 ;
802 enum rpm_request request ;
803 enum rpm_status runtime_status ;
804 int runtime_error ;
805 int autosuspend_delay ;
806 unsigned long last_busy ;
807 unsigned long active_jiffies ;
808 unsigned long suspended_jiffies ;
809 unsigned long accounting_timestamp ;
810 ktime_t suspend_time ;
811 s64 max_time_suspended_ns ;
812 struct dev_pm_qos_request *pq_req ;
813 struct pm_subsys_data *subsys_data ;
814 struct pm_qos_constraints *constraints ;
815};
816#line 558 "include/linux/pm.h"
817struct dev_pm_domain {
818 struct dev_pm_ops ops ;
819};
820#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
821struct __anonstruct_mm_context_t_101 {
822 void *ldt ;
823 int size ;
824 unsigned short ia32_compat ;
825 struct mutex lock ;
826 void *vdso ;
827};
828#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
829typedef struct __anonstruct_mm_context_t_101 mm_context_t;
830#line 18 "include/asm-generic/pci_iomap.h"
831struct vm_area_struct;
832#line 18
833struct vm_area_struct;
834#line 835 "include/linux/sysctl.h"
835struct rb_node {
836 unsigned long rb_parent_color ;
837 struct rb_node *rb_right ;
838 struct rb_node *rb_left ;
839};
840#line 108 "include/linux/rbtree.h"
841struct rb_root {
842 struct rb_node *rb_node ;
843};
844#line 176
845struct nsproxy;
846#line 176
847struct nsproxy;
848#line 37 "include/linux/kmod.h"
849struct cred;
850#line 37
851struct cred;
852#line 18 "include/linux/elf.h"
853typedef __u64 Elf64_Addr;
854#line 19 "include/linux/elf.h"
855typedef __u16 Elf64_Half;
856#line 23 "include/linux/elf.h"
857typedef __u32 Elf64_Word;
858#line 24 "include/linux/elf.h"
859typedef __u64 Elf64_Xword;
860#line 193 "include/linux/elf.h"
861struct elf64_sym {
862 Elf64_Word st_name ;
863 unsigned char st_info ;
864 unsigned char st_other ;
865 Elf64_Half st_shndx ;
866 Elf64_Addr st_value ;
867 Elf64_Xword st_size ;
868};
869#line 201 "include/linux/elf.h"
870typedef struct elf64_sym Elf64_Sym;
871#line 445
872struct sock;
873#line 445
874struct sock;
875#line 446
876struct kobject;
877#line 446
878struct kobject;
879#line 447
880enum kobj_ns_type {
881 KOBJ_NS_TYPE_NONE = 0,
882 KOBJ_NS_TYPE_NET = 1,
883 KOBJ_NS_TYPES = 2
884} ;
885#line 453 "include/linux/elf.h"
886struct kobj_ns_type_operations {
887 enum kobj_ns_type type ;
888 void *(*grab_current_ns)(void) ;
889 void const *(*netlink_ns)(struct sock * ) ;
890 void const *(*initial_ns)(void) ;
891 void (*drop_ns)(void * ) ;
892};
893#line 57 "include/linux/kobject_ns.h"
894struct attribute {
895 char const *name ;
896 umode_t mode ;
897 struct lock_class_key *key ;
898 struct lock_class_key skey ;
899};
900#line 33 "include/linux/sysfs.h"
901struct attribute_group {
902 char const *name ;
903 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
904 struct attribute **attrs ;
905};
906#line 62 "include/linux/sysfs.h"
907struct bin_attribute {
908 struct attribute attr ;
909 size_t size ;
910 void *private ;
911 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
912 loff_t , size_t ) ;
913 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
914 loff_t , size_t ) ;
915 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
916};
917#line 98 "include/linux/sysfs.h"
918struct sysfs_ops {
919 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
920 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
921 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
922};
923#line 117
924struct sysfs_dirent;
925#line 117
926struct sysfs_dirent;
927#line 182 "include/linux/sysfs.h"
928struct kref {
929 atomic_t refcount ;
930};
931#line 49 "include/linux/kobject.h"
932struct kset;
933#line 49
934struct kobj_type;
935#line 49 "include/linux/kobject.h"
936struct kobject {
937 char const *name ;
938 struct list_head entry ;
939 struct kobject *parent ;
940 struct kset *kset ;
941 struct kobj_type *ktype ;
942 struct sysfs_dirent *sd ;
943 struct kref kref ;
944 unsigned char state_initialized : 1 ;
945 unsigned char state_in_sysfs : 1 ;
946 unsigned char state_add_uevent_sent : 1 ;
947 unsigned char state_remove_uevent_sent : 1 ;
948 unsigned char uevent_suppress : 1 ;
949};
950#line 107 "include/linux/kobject.h"
951struct kobj_type {
952 void (*release)(struct kobject * ) ;
953 struct sysfs_ops const *sysfs_ops ;
954 struct attribute **default_attrs ;
955 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
956 void const *(*namespace)(struct kobject * ) ;
957};
958#line 115 "include/linux/kobject.h"
959struct kobj_uevent_env {
960 char *envp[32U] ;
961 int envp_idx ;
962 char buf[2048U] ;
963 int buflen ;
964};
965#line 122 "include/linux/kobject.h"
966struct kset_uevent_ops {
967 int (* const filter)(struct kset * , struct kobject * ) ;
968 char const *(* const name)(struct kset * , struct kobject * ) ;
969 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
970};
971#line 139 "include/linux/kobject.h"
972struct kset {
973 struct list_head list ;
974 spinlock_t list_lock ;
975 struct kobject kobj ;
976 struct kset_uevent_ops const *uevent_ops ;
977};
978#line 215
979struct kernel_param;
980#line 215
981struct kernel_param;
982#line 216 "include/linux/kobject.h"
983struct kernel_param_ops {
984 int (*set)(char const * , struct kernel_param const * ) ;
985 int (*get)(char * , struct kernel_param const * ) ;
986 void (*free)(void * ) ;
987};
988#line 49 "include/linux/moduleparam.h"
989struct kparam_string;
990#line 49
991struct kparam_array;
992#line 49 "include/linux/moduleparam.h"
993union __anonunion_ldv_13367_134 {
994 void *arg ;
995 struct kparam_string const *str ;
996 struct kparam_array const *arr ;
997};
998#line 49 "include/linux/moduleparam.h"
999struct kernel_param {
1000 char const *name ;
1001 struct kernel_param_ops const *ops ;
1002 u16 perm ;
1003 s16 level ;
1004 union __anonunion_ldv_13367_134 ldv_13367 ;
1005};
1006#line 61 "include/linux/moduleparam.h"
1007struct kparam_string {
1008 unsigned int maxlen ;
1009 char *string ;
1010};
1011#line 67 "include/linux/moduleparam.h"
1012struct kparam_array {
1013 unsigned int max ;
1014 unsigned int elemsize ;
1015 unsigned int *num ;
1016 struct kernel_param_ops const *ops ;
1017 void *elem ;
1018};
1019#line 458 "include/linux/moduleparam.h"
1020struct static_key {
1021 atomic_t enabled ;
1022};
1023#line 225 "include/linux/jump_label.h"
1024struct tracepoint;
1025#line 225
1026struct tracepoint;
1027#line 226 "include/linux/jump_label.h"
1028struct tracepoint_func {
1029 void *func ;
1030 void *data ;
1031};
1032#line 29 "include/linux/tracepoint.h"
1033struct tracepoint {
1034 char const *name ;
1035 struct static_key key ;
1036 void (*regfunc)(void) ;
1037 void (*unregfunc)(void) ;
1038 struct tracepoint_func *funcs ;
1039};
1040#line 86 "include/linux/tracepoint.h"
1041struct kernel_symbol {
1042 unsigned long value ;
1043 char const *name ;
1044};
1045#line 27 "include/linux/export.h"
1046struct mod_arch_specific {
1047
1048};
1049#line 34 "include/linux/module.h"
1050struct module_param_attrs;
1051#line 34 "include/linux/module.h"
1052struct module_kobject {
1053 struct kobject kobj ;
1054 struct module *mod ;
1055 struct kobject *drivers_dir ;
1056 struct module_param_attrs *mp ;
1057};
1058#line 43 "include/linux/module.h"
1059struct module_attribute {
1060 struct attribute attr ;
1061 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1062 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1063 size_t ) ;
1064 void (*setup)(struct module * , char const * ) ;
1065 int (*test)(struct module * ) ;
1066 void (*free)(struct module * ) ;
1067};
1068#line 69
1069struct exception_table_entry;
1070#line 69
1071struct exception_table_entry;
1072#line 198
1073enum module_state {
1074 MODULE_STATE_LIVE = 0,
1075 MODULE_STATE_COMING = 1,
1076 MODULE_STATE_GOING = 2
1077} ;
1078#line 204 "include/linux/module.h"
1079struct module_ref {
1080 unsigned long incs ;
1081 unsigned long decs ;
1082};
1083#line 219
1084struct module_sect_attrs;
1085#line 219
1086struct module_notes_attrs;
1087#line 219
1088struct ftrace_event_call;
1089#line 219 "include/linux/module.h"
1090struct module {
1091 enum module_state state ;
1092 struct list_head list ;
1093 char name[56U] ;
1094 struct module_kobject mkobj ;
1095 struct module_attribute *modinfo_attrs ;
1096 char const *version ;
1097 char const *srcversion ;
1098 struct kobject *holders_dir ;
1099 struct kernel_symbol const *syms ;
1100 unsigned long const *crcs ;
1101 unsigned int num_syms ;
1102 struct kernel_param *kp ;
1103 unsigned int num_kp ;
1104 unsigned int num_gpl_syms ;
1105 struct kernel_symbol const *gpl_syms ;
1106 unsigned long const *gpl_crcs ;
1107 struct kernel_symbol const *unused_syms ;
1108 unsigned long const *unused_crcs ;
1109 unsigned int num_unused_syms ;
1110 unsigned int num_unused_gpl_syms ;
1111 struct kernel_symbol const *unused_gpl_syms ;
1112 unsigned long const *unused_gpl_crcs ;
1113 struct kernel_symbol const *gpl_future_syms ;
1114 unsigned long const *gpl_future_crcs ;
1115 unsigned int num_gpl_future_syms ;
1116 unsigned int num_exentries ;
1117 struct exception_table_entry *extable ;
1118 int (*init)(void) ;
1119 void *module_init ;
1120 void *module_core ;
1121 unsigned int init_size ;
1122 unsigned int core_size ;
1123 unsigned int init_text_size ;
1124 unsigned int core_text_size ;
1125 unsigned int init_ro_size ;
1126 unsigned int core_ro_size ;
1127 struct mod_arch_specific arch ;
1128 unsigned int taints ;
1129 unsigned int num_bugs ;
1130 struct list_head bug_list ;
1131 struct bug_entry *bug_table ;
1132 Elf64_Sym *symtab ;
1133 Elf64_Sym *core_symtab ;
1134 unsigned int num_symtab ;
1135 unsigned int core_num_syms ;
1136 char *strtab ;
1137 char *core_strtab ;
1138 struct module_sect_attrs *sect_attrs ;
1139 struct module_notes_attrs *notes_attrs ;
1140 char *args ;
1141 void *percpu ;
1142 unsigned int percpu_size ;
1143 unsigned int num_tracepoints ;
1144 struct tracepoint * const *tracepoints_ptrs ;
1145 unsigned int num_trace_bprintk_fmt ;
1146 char const **trace_bprintk_fmt_start ;
1147 struct ftrace_event_call **trace_events ;
1148 unsigned int num_trace_events ;
1149 struct list_head source_list ;
1150 struct list_head target_list ;
1151 struct task_struct *waiter ;
1152 void (*exit)(void) ;
1153 struct module_ref *refptr ;
1154 ctor_fn_t (**ctors)(void) ;
1155 unsigned int num_ctors ;
1156};
1157#line 88 "include/linux/kmemleak.h"
1158struct kmem_cache_cpu {
1159 void **freelist ;
1160 unsigned long tid ;
1161 struct page *page ;
1162 struct page *partial ;
1163 int node ;
1164 unsigned int stat[26U] ;
1165};
1166#line 55 "include/linux/slub_def.h"
1167struct kmem_cache_node {
1168 spinlock_t list_lock ;
1169 unsigned long nr_partial ;
1170 struct list_head partial ;
1171 atomic_long_t nr_slabs ;
1172 atomic_long_t total_objects ;
1173 struct list_head full ;
1174};
1175#line 66 "include/linux/slub_def.h"
1176struct kmem_cache_order_objects {
1177 unsigned long x ;
1178};
1179#line 76 "include/linux/slub_def.h"
1180struct kmem_cache {
1181 struct kmem_cache_cpu *cpu_slab ;
1182 unsigned long flags ;
1183 unsigned long min_partial ;
1184 int size ;
1185 int objsize ;
1186 int offset ;
1187 int cpu_partial ;
1188 struct kmem_cache_order_objects oo ;
1189 struct kmem_cache_order_objects max ;
1190 struct kmem_cache_order_objects min ;
1191 gfp_t allocflags ;
1192 int refcount ;
1193 void (*ctor)(void * ) ;
1194 int inuse ;
1195 int align ;
1196 int reserved ;
1197 char const *name ;
1198 struct list_head list ;
1199 struct kobject kobj ;
1200 int remote_node_defrag_ratio ;
1201 struct kmem_cache_node *node[1024U] ;
1202};
1203#line 18 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
1204struct block_device;
1205#line 18
1206struct block_device;
1207#line 93 "include/linux/bit_spinlock.h"
1208struct hlist_bl_node;
1209#line 93 "include/linux/bit_spinlock.h"
1210struct hlist_bl_head {
1211 struct hlist_bl_node *first ;
1212};
1213#line 36 "include/linux/list_bl.h"
1214struct hlist_bl_node {
1215 struct hlist_bl_node *next ;
1216 struct hlist_bl_node **pprev ;
1217};
1218#line 114 "include/linux/rculist_bl.h"
1219struct nameidata;
1220#line 114
1221struct nameidata;
1222#line 115
1223struct path;
1224#line 115
1225struct path;
1226#line 116
1227struct vfsmount;
1228#line 116
1229struct vfsmount;
1230#line 117 "include/linux/rculist_bl.h"
1231struct qstr {
1232 unsigned int hash ;
1233 unsigned int len ;
1234 unsigned char const *name ;
1235};
1236#line 72 "include/linux/dcache.h"
1237struct inode;
1238#line 72
1239struct dentry_operations;
1240#line 72
1241struct super_block;
1242#line 72 "include/linux/dcache.h"
1243union __anonunion_d_u_135 {
1244 struct list_head d_child ;
1245 struct rcu_head d_rcu ;
1246};
1247#line 72 "include/linux/dcache.h"
1248struct dentry {
1249 unsigned int d_flags ;
1250 seqcount_t d_seq ;
1251 struct hlist_bl_node d_hash ;
1252 struct dentry *d_parent ;
1253 struct qstr d_name ;
1254 struct inode *d_inode ;
1255 unsigned char d_iname[32U] ;
1256 unsigned int d_count ;
1257 spinlock_t d_lock ;
1258 struct dentry_operations const *d_op ;
1259 struct super_block *d_sb ;
1260 unsigned long d_time ;
1261 void *d_fsdata ;
1262 struct list_head d_lru ;
1263 union __anonunion_d_u_135 d_u ;
1264 struct list_head d_subdirs ;
1265 struct list_head d_alias ;
1266};
1267#line 123 "include/linux/dcache.h"
1268struct dentry_operations {
1269 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1270 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1271 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1272 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1273 int (*d_delete)(struct dentry const * ) ;
1274 void (*d_release)(struct dentry * ) ;
1275 void (*d_prune)(struct dentry * ) ;
1276 void (*d_iput)(struct dentry * , struct inode * ) ;
1277 char *(*d_dname)(struct dentry * , char * , int ) ;
1278 struct vfsmount *(*d_automount)(struct path * ) ;
1279 int (*d_manage)(struct dentry * , bool ) ;
1280};
1281#line 402 "include/linux/dcache.h"
1282struct path {
1283 struct vfsmount *mnt ;
1284 struct dentry *dentry ;
1285};
1286#line 58 "include/linux/radix-tree.h"
1287struct radix_tree_node;
1288#line 58 "include/linux/radix-tree.h"
1289struct radix_tree_root {
1290 unsigned int height ;
1291 gfp_t gfp_mask ;
1292 struct radix_tree_node *rnode ;
1293};
1294#line 377
1295struct prio_tree_node;
1296#line 377 "include/linux/radix-tree.h"
1297struct raw_prio_tree_node {
1298 struct prio_tree_node *left ;
1299 struct prio_tree_node *right ;
1300 struct prio_tree_node *parent ;
1301};
1302#line 19 "include/linux/prio_tree.h"
1303struct prio_tree_node {
1304 struct prio_tree_node *left ;
1305 struct prio_tree_node *right ;
1306 struct prio_tree_node *parent ;
1307 unsigned long start ;
1308 unsigned long last ;
1309};
1310#line 27 "include/linux/prio_tree.h"
1311struct prio_tree_root {
1312 struct prio_tree_node *prio_tree_node ;
1313 unsigned short index_bits ;
1314 unsigned short raw ;
1315};
1316#line 111
1317enum pid_type {
1318 PIDTYPE_PID = 0,
1319 PIDTYPE_PGID = 1,
1320 PIDTYPE_SID = 2,
1321 PIDTYPE_MAX = 3
1322} ;
1323#line 118
1324struct pid_namespace;
1325#line 118 "include/linux/prio_tree.h"
1326struct upid {
1327 int nr ;
1328 struct pid_namespace *ns ;
1329 struct hlist_node pid_chain ;
1330};
1331#line 56 "include/linux/pid.h"
1332struct pid {
1333 atomic_t count ;
1334 unsigned int level ;
1335 struct hlist_head tasks[3U] ;
1336 struct rcu_head rcu ;
1337 struct upid numbers[1U] ;
1338};
1339#line 68 "include/linux/pid.h"
1340struct pid_link {
1341 struct hlist_node node ;
1342 struct pid *pid ;
1343};
1344#line 93 "include/linux/capability.h"
1345struct kernel_cap_struct {
1346 __u32 cap[2U] ;
1347};
1348#line 96 "include/linux/capability.h"
1349typedef struct kernel_cap_struct kernel_cap_t;
1350#line 104
1351struct user_namespace;
1352#line 104
1353struct user_namespace;
1354#line 45 "include/linux/semaphore.h"
1355struct fiemap_extent {
1356 __u64 fe_logical ;
1357 __u64 fe_physical ;
1358 __u64 fe_length ;
1359 __u64 fe_reserved64[2U] ;
1360 __u32 fe_flags ;
1361 __u32 fe_reserved[3U] ;
1362};
1363#line 38 "include/linux/fiemap.h"
1364struct shrink_control {
1365 gfp_t gfp_mask ;
1366 unsigned long nr_to_scan ;
1367};
1368#line 14 "include/linux/shrinker.h"
1369struct shrinker {
1370 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1371 int seeks ;
1372 long batch ;
1373 struct list_head list ;
1374 atomic_long_t nr_in_batch ;
1375};
1376#line 43
1377enum migrate_mode {
1378 MIGRATE_ASYNC = 0,
1379 MIGRATE_SYNC_LIGHT = 1,
1380 MIGRATE_SYNC = 2
1381} ;
1382#line 49
1383struct export_operations;
1384#line 49
1385struct export_operations;
1386#line 50
1387struct hd_geometry;
1388#line 50
1389struct hd_geometry;
1390#line 51
1391struct iovec;
1392#line 51
1393struct iovec;
1394#line 52
1395struct kiocb;
1396#line 52
1397struct kiocb;
1398#line 53
1399struct pipe_inode_info;
1400#line 53
1401struct pipe_inode_info;
1402#line 54
1403struct poll_table_struct;
1404#line 54
1405struct poll_table_struct;
1406#line 55
1407struct kstatfs;
1408#line 55
1409struct kstatfs;
1410#line 435 "include/linux/fs.h"
1411struct iattr {
1412 unsigned int ia_valid ;
1413 umode_t ia_mode ;
1414 uid_t ia_uid ;
1415 gid_t ia_gid ;
1416 loff_t ia_size ;
1417 struct timespec ia_atime ;
1418 struct timespec ia_mtime ;
1419 struct timespec ia_ctime ;
1420 struct file *ia_file ;
1421};
1422#line 119 "include/linux/quota.h"
1423struct if_dqinfo {
1424 __u64 dqi_bgrace ;
1425 __u64 dqi_igrace ;
1426 __u32 dqi_flags ;
1427 __u32 dqi_valid ;
1428};
1429#line 176 "include/linux/percpu_counter.h"
1430struct fs_disk_quota {
1431 __s8 d_version ;
1432 __s8 d_flags ;
1433 __u16 d_fieldmask ;
1434 __u32 d_id ;
1435 __u64 d_blk_hardlimit ;
1436 __u64 d_blk_softlimit ;
1437 __u64 d_ino_hardlimit ;
1438 __u64 d_ino_softlimit ;
1439 __u64 d_bcount ;
1440 __u64 d_icount ;
1441 __s32 d_itimer ;
1442 __s32 d_btimer ;
1443 __u16 d_iwarns ;
1444 __u16 d_bwarns ;
1445 __s32 d_padding2 ;
1446 __u64 d_rtb_hardlimit ;
1447 __u64 d_rtb_softlimit ;
1448 __u64 d_rtbcount ;
1449 __s32 d_rtbtimer ;
1450 __u16 d_rtbwarns ;
1451 __s16 d_padding3 ;
1452 char d_padding4[8U] ;
1453};
1454#line 75 "include/linux/dqblk_xfs.h"
1455struct fs_qfilestat {
1456 __u64 qfs_ino ;
1457 __u64 qfs_nblks ;
1458 __u32 qfs_nextents ;
1459};
1460#line 150 "include/linux/dqblk_xfs.h"
1461typedef struct fs_qfilestat fs_qfilestat_t;
1462#line 151 "include/linux/dqblk_xfs.h"
1463struct fs_quota_stat {
1464 __s8 qs_version ;
1465 __u16 qs_flags ;
1466 __s8 qs_pad ;
1467 fs_qfilestat_t qs_uquota ;
1468 fs_qfilestat_t qs_gquota ;
1469 __u32 qs_incoredqs ;
1470 __s32 qs_btimelimit ;
1471 __s32 qs_itimelimit ;
1472 __s32 qs_rtbtimelimit ;
1473 __u16 qs_bwarnlimit ;
1474 __u16 qs_iwarnlimit ;
1475};
1476#line 165
1477struct dquot;
1478#line 165
1479struct dquot;
1480#line 185 "include/linux/quota.h"
1481typedef __kernel_uid32_t qid_t;
1482#line 186 "include/linux/quota.h"
1483typedef long long qsize_t;
1484#line 189 "include/linux/quota.h"
1485struct mem_dqblk {
1486 qsize_t dqb_bhardlimit ;
1487 qsize_t dqb_bsoftlimit ;
1488 qsize_t dqb_curspace ;
1489 qsize_t dqb_rsvspace ;
1490 qsize_t dqb_ihardlimit ;
1491 qsize_t dqb_isoftlimit ;
1492 qsize_t dqb_curinodes ;
1493 time_t dqb_btime ;
1494 time_t dqb_itime ;
1495};
1496#line 211
1497struct quota_format_type;
1498#line 211
1499struct quota_format_type;
1500#line 212 "include/linux/quota.h"
1501struct mem_dqinfo {
1502 struct quota_format_type *dqi_format ;
1503 int dqi_fmt_id ;
1504 struct list_head dqi_dirty_list ;
1505 unsigned long dqi_flags ;
1506 unsigned int dqi_bgrace ;
1507 unsigned int dqi_igrace ;
1508 qsize_t dqi_maxblimit ;
1509 qsize_t dqi_maxilimit ;
1510 void *dqi_priv ;
1511};
1512#line 275 "include/linux/quota.h"
1513struct dquot {
1514 struct hlist_node dq_hash ;
1515 struct list_head dq_inuse ;
1516 struct list_head dq_free ;
1517 struct list_head dq_dirty ;
1518 struct mutex dq_lock ;
1519 atomic_t dq_count ;
1520 wait_queue_head_t dq_wait_unused ;
1521 struct super_block *dq_sb ;
1522 unsigned int dq_id ;
1523 loff_t dq_off ;
1524 unsigned long dq_flags ;
1525 short dq_type ;
1526 struct mem_dqblk dq_dqb ;
1527};
1528#line 303 "include/linux/quota.h"
1529struct quota_format_ops {
1530 int (*check_quota_file)(struct super_block * , int ) ;
1531 int (*read_file_info)(struct super_block * , int ) ;
1532 int (*write_file_info)(struct super_block * , int ) ;
1533 int (*free_file_info)(struct super_block * , int ) ;
1534 int (*read_dqblk)(struct dquot * ) ;
1535 int (*commit_dqblk)(struct dquot * ) ;
1536 int (*release_dqblk)(struct dquot * ) ;
1537};
1538#line 314 "include/linux/quota.h"
1539struct dquot_operations {
1540 int (*write_dquot)(struct dquot * ) ;
1541 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1542 void (*destroy_dquot)(struct dquot * ) ;
1543 int (*acquire_dquot)(struct dquot * ) ;
1544 int (*release_dquot)(struct dquot * ) ;
1545 int (*mark_dirty)(struct dquot * ) ;
1546 int (*write_info)(struct super_block * , int ) ;
1547 qsize_t *(*get_reserved_space)(struct inode * ) ;
1548};
1549#line 328 "include/linux/quota.h"
1550struct quotactl_ops {
1551 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1552 int (*quota_on_meta)(struct super_block * , int , int ) ;
1553 int (*quota_off)(struct super_block * , int ) ;
1554 int (*quota_sync)(struct super_block * , int , int ) ;
1555 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1556 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1557 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1558 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1559 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1560 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1561};
1562#line 344 "include/linux/quota.h"
1563struct quota_format_type {
1564 int qf_fmt_id ;
1565 struct quota_format_ops const *qf_ops ;
1566 struct module *qf_owner ;
1567 struct quota_format_type *qf_next ;
1568};
1569#line 390 "include/linux/quota.h"
1570struct quota_info {
1571 unsigned int flags ;
1572 struct mutex dqio_mutex ;
1573 struct mutex dqonoff_mutex ;
1574 struct rw_semaphore dqptr_sem ;
1575 struct inode *files[2U] ;
1576 struct mem_dqinfo info[2U] ;
1577 struct quota_format_ops const *ops[2U] ;
1578};
1579#line 421
1580struct address_space;
1581#line 421
1582struct address_space;
1583#line 422
1584struct writeback_control;
1585#line 422
1586struct writeback_control;
1587#line 585 "include/linux/fs.h"
1588union __anonunion_arg_138 {
1589 char *buf ;
1590 void *data ;
1591};
1592#line 585 "include/linux/fs.h"
1593struct __anonstruct_read_descriptor_t_137 {
1594 size_t written ;
1595 size_t count ;
1596 union __anonunion_arg_138 arg ;
1597 int error ;
1598};
1599#line 585 "include/linux/fs.h"
1600typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1601#line 588 "include/linux/fs.h"
1602struct address_space_operations {
1603 int (*writepage)(struct page * , struct writeback_control * ) ;
1604 int (*readpage)(struct file * , struct page * ) ;
1605 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1606 int (*set_page_dirty)(struct page * ) ;
1607 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1608 unsigned int ) ;
1609 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1610 unsigned int , struct page ** , void ** ) ;
1611 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1612 unsigned int , struct page * , void * ) ;
1613 sector_t (*bmap)(struct address_space * , sector_t ) ;
1614 void (*invalidatepage)(struct page * , unsigned long ) ;
1615 int (*releasepage)(struct page * , gfp_t ) ;
1616 void (*freepage)(struct page * ) ;
1617 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1618 unsigned long ) ;
1619 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1620 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1621 int (*launder_page)(struct page * ) ;
1622 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1623 int (*error_remove_page)(struct address_space * , struct page * ) ;
1624};
1625#line 642
1626struct backing_dev_info;
1627#line 642
1628struct backing_dev_info;
1629#line 643 "include/linux/fs.h"
1630struct address_space {
1631 struct inode *host ;
1632 struct radix_tree_root page_tree ;
1633 spinlock_t tree_lock ;
1634 unsigned int i_mmap_writable ;
1635 struct prio_tree_root i_mmap ;
1636 struct list_head i_mmap_nonlinear ;
1637 struct mutex i_mmap_mutex ;
1638 unsigned long nrpages ;
1639 unsigned long writeback_index ;
1640 struct address_space_operations const *a_ops ;
1641 unsigned long flags ;
1642 struct backing_dev_info *backing_dev_info ;
1643 spinlock_t private_lock ;
1644 struct list_head private_list ;
1645 struct address_space *assoc_mapping ;
1646};
1647#line 664
1648struct request_queue;
1649#line 664
1650struct request_queue;
1651#line 665
1652struct hd_struct;
1653#line 665
1654struct gendisk;
1655#line 665 "include/linux/fs.h"
1656struct block_device {
1657 dev_t bd_dev ;
1658 int bd_openers ;
1659 struct inode *bd_inode ;
1660 struct super_block *bd_super ;
1661 struct mutex bd_mutex ;
1662 struct list_head bd_inodes ;
1663 void *bd_claiming ;
1664 void *bd_holder ;
1665 int bd_holders ;
1666 bool bd_write_holder ;
1667 struct list_head bd_holder_disks ;
1668 struct block_device *bd_contains ;
1669 unsigned int bd_block_size ;
1670 struct hd_struct *bd_part ;
1671 unsigned int bd_part_count ;
1672 int bd_invalidated ;
1673 struct gendisk *bd_disk ;
1674 struct request_queue *bd_queue ;
1675 struct list_head bd_list ;
1676 unsigned long bd_private ;
1677 int bd_fsfreeze_count ;
1678 struct mutex bd_fsfreeze_mutex ;
1679};
1680#line 737
1681struct posix_acl;
1682#line 737
1683struct posix_acl;
1684#line 738
1685struct inode_operations;
1686#line 738 "include/linux/fs.h"
1687union __anonunion_ldv_15752_139 {
1688 unsigned int const i_nlink ;
1689 unsigned int __i_nlink ;
1690};
1691#line 738 "include/linux/fs.h"
1692union __anonunion_ldv_15771_140 {
1693 struct list_head i_dentry ;
1694 struct rcu_head i_rcu ;
1695};
1696#line 738
1697struct file_operations;
1698#line 738
1699struct file_lock;
1700#line 738
1701struct cdev;
1702#line 738 "include/linux/fs.h"
1703union __anonunion_ldv_15789_141 {
1704 struct pipe_inode_info *i_pipe ;
1705 struct block_device *i_bdev ;
1706 struct cdev *i_cdev ;
1707};
1708#line 738 "include/linux/fs.h"
1709struct inode {
1710 umode_t i_mode ;
1711 unsigned short i_opflags ;
1712 uid_t i_uid ;
1713 gid_t i_gid ;
1714 unsigned int i_flags ;
1715 struct posix_acl *i_acl ;
1716 struct posix_acl *i_default_acl ;
1717 struct inode_operations const *i_op ;
1718 struct super_block *i_sb ;
1719 struct address_space *i_mapping ;
1720 void *i_security ;
1721 unsigned long i_ino ;
1722 union __anonunion_ldv_15752_139 ldv_15752 ;
1723 dev_t i_rdev ;
1724 struct timespec i_atime ;
1725 struct timespec i_mtime ;
1726 struct timespec i_ctime ;
1727 spinlock_t i_lock ;
1728 unsigned short i_bytes ;
1729 blkcnt_t i_blocks ;
1730 loff_t i_size ;
1731 unsigned long i_state ;
1732 struct mutex i_mutex ;
1733 unsigned long dirtied_when ;
1734 struct hlist_node i_hash ;
1735 struct list_head i_wb_list ;
1736 struct list_head i_lru ;
1737 struct list_head i_sb_list ;
1738 union __anonunion_ldv_15771_140 ldv_15771 ;
1739 atomic_t i_count ;
1740 unsigned int i_blkbits ;
1741 u64 i_version ;
1742 atomic_t i_dio_count ;
1743 atomic_t i_writecount ;
1744 struct file_operations const *i_fop ;
1745 struct file_lock *i_flock ;
1746 struct address_space i_data ;
1747 struct dquot *i_dquot[2U] ;
1748 struct list_head i_devices ;
1749 union __anonunion_ldv_15789_141 ldv_15789 ;
1750 __u32 i_generation ;
1751 __u32 i_fsnotify_mask ;
1752 struct hlist_head i_fsnotify_marks ;
1753 atomic_t i_readcount ;
1754 void *i_private ;
1755};
1756#line 941 "include/linux/fs.h"
1757struct fown_struct {
1758 rwlock_t lock ;
1759 struct pid *pid ;
1760 enum pid_type pid_type ;
1761 uid_t uid ;
1762 uid_t euid ;
1763 int signum ;
1764};
1765#line 949 "include/linux/fs.h"
1766struct file_ra_state {
1767 unsigned long start ;
1768 unsigned int size ;
1769 unsigned int async_size ;
1770 unsigned int ra_pages ;
1771 unsigned int mmap_miss ;
1772 loff_t prev_pos ;
1773};
1774#line 972 "include/linux/fs.h"
1775union __anonunion_f_u_142 {
1776 struct list_head fu_list ;
1777 struct rcu_head fu_rcuhead ;
1778};
1779#line 972 "include/linux/fs.h"
1780struct file {
1781 union __anonunion_f_u_142 f_u ;
1782 struct path f_path ;
1783 struct file_operations const *f_op ;
1784 spinlock_t f_lock ;
1785 int f_sb_list_cpu ;
1786 atomic_long_t f_count ;
1787 unsigned int f_flags ;
1788 fmode_t f_mode ;
1789 loff_t f_pos ;
1790 struct fown_struct f_owner ;
1791 struct cred const *f_cred ;
1792 struct file_ra_state f_ra ;
1793 u64 f_version ;
1794 void *f_security ;
1795 void *private_data ;
1796 struct list_head f_ep_links ;
1797 struct list_head f_tfile_llink ;
1798 struct address_space *f_mapping ;
1799 unsigned long f_mnt_write_state ;
1800};
1801#line 1111
1802struct files_struct;
1803#line 1111 "include/linux/fs.h"
1804typedef struct files_struct *fl_owner_t;
1805#line 1112 "include/linux/fs.h"
1806struct file_lock_operations {
1807 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1808 void (*fl_release_private)(struct file_lock * ) ;
1809};
1810#line 1117 "include/linux/fs.h"
1811struct lock_manager_operations {
1812 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1813 void (*lm_notify)(struct file_lock * ) ;
1814 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1815 void (*lm_release_private)(struct file_lock * ) ;
1816 void (*lm_break)(struct file_lock * ) ;
1817 int (*lm_change)(struct file_lock ** , int ) ;
1818};
1819#line 1134
1820struct nlm_lockowner;
1821#line 1134
1822struct nlm_lockowner;
1823#line 1135 "include/linux/fs.h"
1824struct nfs_lock_info {
1825 u32 state ;
1826 struct nlm_lockowner *owner ;
1827 struct list_head list ;
1828};
1829#line 14 "include/linux/nfs_fs_i.h"
1830struct nfs4_lock_state;
1831#line 14
1832struct nfs4_lock_state;
1833#line 15 "include/linux/nfs_fs_i.h"
1834struct nfs4_lock_info {
1835 struct nfs4_lock_state *owner ;
1836};
1837#line 19
1838struct fasync_struct;
1839#line 19 "include/linux/nfs_fs_i.h"
1840struct __anonstruct_afs_144 {
1841 struct list_head link ;
1842 int state ;
1843};
1844#line 19 "include/linux/nfs_fs_i.h"
1845union __anonunion_fl_u_143 {
1846 struct nfs_lock_info nfs_fl ;
1847 struct nfs4_lock_info nfs4_fl ;
1848 struct __anonstruct_afs_144 afs ;
1849};
1850#line 19 "include/linux/nfs_fs_i.h"
1851struct file_lock {
1852 struct file_lock *fl_next ;
1853 struct list_head fl_link ;
1854 struct list_head fl_block ;
1855 fl_owner_t fl_owner ;
1856 unsigned int fl_flags ;
1857 unsigned char fl_type ;
1858 unsigned int fl_pid ;
1859 struct pid *fl_nspid ;
1860 wait_queue_head_t fl_wait ;
1861 struct file *fl_file ;
1862 loff_t fl_start ;
1863 loff_t fl_end ;
1864 struct fasync_struct *fl_fasync ;
1865 unsigned long fl_break_time ;
1866 unsigned long fl_downgrade_time ;
1867 struct file_lock_operations const *fl_ops ;
1868 struct lock_manager_operations const *fl_lmops ;
1869 union __anonunion_fl_u_143 fl_u ;
1870};
1871#line 1221 "include/linux/fs.h"
1872struct fasync_struct {
1873 spinlock_t fa_lock ;
1874 int magic ;
1875 int fa_fd ;
1876 struct fasync_struct *fa_next ;
1877 struct file *fa_file ;
1878 struct rcu_head fa_rcu ;
1879};
1880#line 1417
1881struct file_system_type;
1882#line 1417
1883struct super_operations;
1884#line 1417
1885struct xattr_handler;
1886#line 1417
1887struct mtd_info;
1888#line 1417 "include/linux/fs.h"
1889struct super_block {
1890 struct list_head s_list ;
1891 dev_t s_dev ;
1892 unsigned char s_dirt ;
1893 unsigned char s_blocksize_bits ;
1894 unsigned long s_blocksize ;
1895 loff_t s_maxbytes ;
1896 struct file_system_type *s_type ;
1897 struct super_operations const *s_op ;
1898 struct dquot_operations const *dq_op ;
1899 struct quotactl_ops const *s_qcop ;
1900 struct export_operations const *s_export_op ;
1901 unsigned long s_flags ;
1902 unsigned long s_magic ;
1903 struct dentry *s_root ;
1904 struct rw_semaphore s_umount ;
1905 struct mutex s_lock ;
1906 int s_count ;
1907 atomic_t s_active ;
1908 void *s_security ;
1909 struct xattr_handler const **s_xattr ;
1910 struct list_head s_inodes ;
1911 struct hlist_bl_head s_anon ;
1912 struct list_head *s_files ;
1913 struct list_head s_mounts ;
1914 struct list_head s_dentry_lru ;
1915 int s_nr_dentry_unused ;
1916 spinlock_t s_inode_lru_lock ;
1917 struct list_head s_inode_lru ;
1918 int s_nr_inodes_unused ;
1919 struct block_device *s_bdev ;
1920 struct backing_dev_info *s_bdi ;
1921 struct mtd_info *s_mtd ;
1922 struct hlist_node s_instances ;
1923 struct quota_info s_dquot ;
1924 int s_frozen ;
1925 wait_queue_head_t s_wait_unfrozen ;
1926 char s_id[32U] ;
1927 u8 s_uuid[16U] ;
1928 void *s_fs_info ;
1929 unsigned int s_max_links ;
1930 fmode_t s_mode ;
1931 u32 s_time_gran ;
1932 struct mutex s_vfs_rename_mutex ;
1933 char *s_subtype ;
1934 char *s_options ;
1935 struct dentry_operations const *s_d_op ;
1936 int cleancache_poolid ;
1937 struct shrinker s_shrink ;
1938 atomic_long_t s_remove_count ;
1939 int s_readonly_remount ;
1940};
1941#line 1563 "include/linux/fs.h"
1942struct fiemap_extent_info {
1943 unsigned int fi_flags ;
1944 unsigned int fi_extents_mapped ;
1945 unsigned int fi_extents_max ;
1946 struct fiemap_extent *fi_extents_start ;
1947};
1948#line 1602 "include/linux/fs.h"
1949struct file_operations {
1950 struct module *owner ;
1951 loff_t (*llseek)(struct file * , loff_t , int ) ;
1952 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1953 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1954 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1955 loff_t ) ;
1956 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1957 loff_t ) ;
1958 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1959 loff_t , u64 , unsigned int ) ) ;
1960 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1961 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1962 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1963 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1964 int (*open)(struct inode * , struct file * ) ;
1965 int (*flush)(struct file * , fl_owner_t ) ;
1966 int (*release)(struct inode * , struct file * ) ;
1967 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1968 int (*aio_fsync)(struct kiocb * , int ) ;
1969 int (*fasync)(int , struct file * , int ) ;
1970 int (*lock)(struct file * , int , struct file_lock * ) ;
1971 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1972 int ) ;
1973 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1974 unsigned long , unsigned long ) ;
1975 int (*check_flags)(int ) ;
1976 int (*flock)(struct file * , int , struct file_lock * ) ;
1977 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1978 unsigned int ) ;
1979 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1980 unsigned int ) ;
1981 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1982 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1983};
1984#line 1637 "include/linux/fs.h"
1985struct inode_operations {
1986 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1987 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1988 int (*permission)(struct inode * , int ) ;
1989 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1990 int (*readlink)(struct dentry * , char * , int ) ;
1991 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1992 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1993 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1994 int (*unlink)(struct inode * , struct dentry * ) ;
1995 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1996 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1997 int (*rmdir)(struct inode * , struct dentry * ) ;
1998 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1999 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2000 void (*truncate)(struct inode * ) ;
2001 int (*setattr)(struct dentry * , struct iattr * ) ;
2002 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
2003 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2004 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2005 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2006 int (*removexattr)(struct dentry * , char const * ) ;
2007 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2008 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
2009};
2010#line 1682 "include/linux/fs.h"
2011struct super_operations {
2012 struct inode *(*alloc_inode)(struct super_block * ) ;
2013 void (*destroy_inode)(struct inode * ) ;
2014 void (*dirty_inode)(struct inode * , int ) ;
2015 int (*write_inode)(struct inode * , struct writeback_control * ) ;
2016 int (*drop_inode)(struct inode * ) ;
2017 void (*evict_inode)(struct inode * ) ;
2018 void (*put_super)(struct super_block * ) ;
2019 void (*write_super)(struct super_block * ) ;
2020 int (*sync_fs)(struct super_block * , int ) ;
2021 int (*freeze_fs)(struct super_block * ) ;
2022 int (*unfreeze_fs)(struct super_block * ) ;
2023 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2024 int (*remount_fs)(struct super_block * , int * , char * ) ;
2025 void (*umount_begin)(struct super_block * ) ;
2026 int (*show_options)(struct seq_file * , struct dentry * ) ;
2027 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2028 int (*show_path)(struct seq_file * , struct dentry * ) ;
2029 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2030 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2031 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2032 loff_t ) ;
2033 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2034 int (*nr_cached_objects)(struct super_block * ) ;
2035 void (*free_cached_objects)(struct super_block * , int ) ;
2036};
2037#line 1834 "include/linux/fs.h"
2038struct file_system_type {
2039 char const *name ;
2040 int fs_flags ;
2041 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2042 void (*kill_sb)(struct super_block * ) ;
2043 struct module *owner ;
2044 struct file_system_type *next ;
2045 struct hlist_head fs_supers ;
2046 struct lock_class_key s_lock_key ;
2047 struct lock_class_key s_umount_key ;
2048 struct lock_class_key s_vfs_rename_key ;
2049 struct lock_class_key i_lock_key ;
2050 struct lock_class_key i_mutex_key ;
2051 struct lock_class_key i_mutex_dir_key ;
2052};
2053#line 55 "include/linux/sched.h"
2054union __anonunion_ldv_17688_146 {
2055 unsigned long index ;
2056 void *freelist ;
2057};
2058#line 55 "include/linux/sched.h"
2059struct __anonstruct_ldv_17698_150 {
2060 unsigned short inuse ;
2061 unsigned short objects : 15 ;
2062 unsigned char frozen : 1 ;
2063};
2064#line 55 "include/linux/sched.h"
2065union __anonunion_ldv_17699_149 {
2066 atomic_t _mapcount ;
2067 struct __anonstruct_ldv_17698_150 ldv_17698 ;
2068};
2069#line 55 "include/linux/sched.h"
2070struct __anonstruct_ldv_17701_148 {
2071 union __anonunion_ldv_17699_149 ldv_17699 ;
2072 atomic_t _count ;
2073};
2074#line 55 "include/linux/sched.h"
2075union __anonunion_ldv_17702_147 {
2076 unsigned long counters ;
2077 struct __anonstruct_ldv_17701_148 ldv_17701 ;
2078};
2079#line 55 "include/linux/sched.h"
2080struct __anonstruct_ldv_17703_145 {
2081 union __anonunion_ldv_17688_146 ldv_17688 ;
2082 union __anonunion_ldv_17702_147 ldv_17702 ;
2083};
2084#line 55 "include/linux/sched.h"
2085struct __anonstruct_ldv_17710_152 {
2086 struct page *next ;
2087 int pages ;
2088 int pobjects ;
2089};
2090#line 55 "include/linux/sched.h"
2091union __anonunion_ldv_17711_151 {
2092 struct list_head lru ;
2093 struct __anonstruct_ldv_17710_152 ldv_17710 ;
2094};
2095#line 55 "include/linux/sched.h"
2096union __anonunion_ldv_17716_153 {
2097 unsigned long private ;
2098 struct kmem_cache *slab ;
2099 struct page *first_page ;
2100};
2101#line 55 "include/linux/sched.h"
2102struct page {
2103 unsigned long flags ;
2104 struct address_space *mapping ;
2105 struct __anonstruct_ldv_17703_145 ldv_17703 ;
2106 union __anonunion_ldv_17711_151 ldv_17711 ;
2107 union __anonunion_ldv_17716_153 ldv_17716 ;
2108 unsigned long debug_flags ;
2109};
2110#line 192 "include/linux/mm_types.h"
2111struct __anonstruct_vm_set_155 {
2112 struct list_head list ;
2113 void *parent ;
2114 struct vm_area_struct *head ;
2115};
2116#line 192 "include/linux/mm_types.h"
2117union __anonunion_shared_154 {
2118 struct __anonstruct_vm_set_155 vm_set ;
2119 struct raw_prio_tree_node prio_tree_node ;
2120};
2121#line 192
2122struct anon_vma;
2123#line 192
2124struct vm_operations_struct;
2125#line 192
2126struct mempolicy;
2127#line 192 "include/linux/mm_types.h"
2128struct vm_area_struct {
2129 struct mm_struct *vm_mm ;
2130 unsigned long vm_start ;
2131 unsigned long vm_end ;
2132 struct vm_area_struct *vm_next ;
2133 struct vm_area_struct *vm_prev ;
2134 pgprot_t vm_page_prot ;
2135 unsigned long vm_flags ;
2136 struct rb_node vm_rb ;
2137 union __anonunion_shared_154 shared ;
2138 struct list_head anon_vma_chain ;
2139 struct anon_vma *anon_vma ;
2140 struct vm_operations_struct const *vm_ops ;
2141 unsigned long vm_pgoff ;
2142 struct file *vm_file ;
2143 void *vm_private_data ;
2144 struct mempolicy *vm_policy ;
2145};
2146#line 255 "include/linux/mm_types.h"
2147struct core_thread {
2148 struct task_struct *task ;
2149 struct core_thread *next ;
2150};
2151#line 261 "include/linux/mm_types.h"
2152struct core_state {
2153 atomic_t nr_threads ;
2154 struct core_thread dumper ;
2155 struct completion startup ;
2156};
2157#line 274 "include/linux/mm_types.h"
2158struct mm_rss_stat {
2159 atomic_long_t count[3U] ;
2160};
2161#line 287
2162struct linux_binfmt;
2163#line 287
2164struct mmu_notifier_mm;
2165#line 287 "include/linux/mm_types.h"
2166struct mm_struct {
2167 struct vm_area_struct *mmap ;
2168 struct rb_root mm_rb ;
2169 struct vm_area_struct *mmap_cache ;
2170 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2171 unsigned long , unsigned long ) ;
2172 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
2173 unsigned long mmap_base ;
2174 unsigned long task_size ;
2175 unsigned long cached_hole_size ;
2176 unsigned long free_area_cache ;
2177 pgd_t *pgd ;
2178 atomic_t mm_users ;
2179 atomic_t mm_count ;
2180 int map_count ;
2181 spinlock_t page_table_lock ;
2182 struct rw_semaphore mmap_sem ;
2183 struct list_head mmlist ;
2184 unsigned long hiwater_rss ;
2185 unsigned long hiwater_vm ;
2186 unsigned long total_vm ;
2187 unsigned long locked_vm ;
2188 unsigned long pinned_vm ;
2189 unsigned long shared_vm ;
2190 unsigned long exec_vm ;
2191 unsigned long stack_vm ;
2192 unsigned long reserved_vm ;
2193 unsigned long def_flags ;
2194 unsigned long nr_ptes ;
2195 unsigned long start_code ;
2196 unsigned long end_code ;
2197 unsigned long start_data ;
2198 unsigned long end_data ;
2199 unsigned long start_brk ;
2200 unsigned long brk ;
2201 unsigned long start_stack ;
2202 unsigned long arg_start ;
2203 unsigned long arg_end ;
2204 unsigned long env_start ;
2205 unsigned long env_end ;
2206 unsigned long saved_auxv[44U] ;
2207 struct mm_rss_stat rss_stat ;
2208 struct linux_binfmt *binfmt ;
2209 cpumask_var_t cpu_vm_mask_var ;
2210 mm_context_t context ;
2211 unsigned int faultstamp ;
2212 unsigned int token_priority ;
2213 unsigned int last_interval ;
2214 unsigned long flags ;
2215 struct core_state *core_state ;
2216 spinlock_t ioctx_lock ;
2217 struct hlist_head ioctx_list ;
2218 struct task_struct *owner ;
2219 struct file *exe_file ;
2220 unsigned long num_exe_file_vmas ;
2221 struct mmu_notifier_mm *mmu_notifier_mm ;
2222 pgtable_t pmd_huge_pte ;
2223 struct cpumask cpumask_allocation ;
2224};
2225#line 7 "include/asm-generic/cputime.h"
2226typedef unsigned long cputime_t;
2227#line 98 "include/linux/sem.h"
2228struct sem_undo_list;
2229#line 98 "include/linux/sem.h"
2230struct sysv_sem {
2231 struct sem_undo_list *undo_list ;
2232};
2233#line 107
2234struct siginfo;
2235#line 107
2236struct siginfo;
2237#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2238struct __anonstruct_sigset_t_156 {
2239 unsigned long sig[1U] ;
2240};
2241#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2242typedef struct __anonstruct_sigset_t_156 sigset_t;
2243#line 17 "include/asm-generic/signal-defs.h"
2244typedef void __signalfn_t(int );
2245#line 18 "include/asm-generic/signal-defs.h"
2246typedef __signalfn_t *__sighandler_t;
2247#line 20 "include/asm-generic/signal-defs.h"
2248typedef void __restorefn_t(void);
2249#line 21 "include/asm-generic/signal-defs.h"
2250typedef __restorefn_t *__sigrestore_t;
2251#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2252struct sigaction {
2253 __sighandler_t sa_handler ;
2254 unsigned long sa_flags ;
2255 __sigrestore_t sa_restorer ;
2256 sigset_t sa_mask ;
2257};
2258#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2259struct k_sigaction {
2260 struct sigaction sa ;
2261};
2262#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2263union sigval {
2264 int sival_int ;
2265 void *sival_ptr ;
2266};
2267#line 10 "include/asm-generic/siginfo.h"
2268typedef union sigval sigval_t;
2269#line 11 "include/asm-generic/siginfo.h"
2270struct __anonstruct__kill_158 {
2271 __kernel_pid_t _pid ;
2272 __kernel_uid32_t _uid ;
2273};
2274#line 11 "include/asm-generic/siginfo.h"
2275struct __anonstruct__timer_159 {
2276 __kernel_timer_t _tid ;
2277 int _overrun ;
2278 char _pad[0U] ;
2279 sigval_t _sigval ;
2280 int _sys_private ;
2281};
2282#line 11 "include/asm-generic/siginfo.h"
2283struct __anonstruct__rt_160 {
2284 __kernel_pid_t _pid ;
2285 __kernel_uid32_t _uid ;
2286 sigval_t _sigval ;
2287};
2288#line 11 "include/asm-generic/siginfo.h"
2289struct __anonstruct__sigchld_161 {
2290 __kernel_pid_t _pid ;
2291 __kernel_uid32_t _uid ;
2292 int _status ;
2293 __kernel_clock_t _utime ;
2294 __kernel_clock_t _stime ;
2295};
2296#line 11 "include/asm-generic/siginfo.h"
2297struct __anonstruct__sigfault_162 {
2298 void *_addr ;
2299 short _addr_lsb ;
2300};
2301#line 11 "include/asm-generic/siginfo.h"
2302struct __anonstruct__sigpoll_163 {
2303 long _band ;
2304 int _fd ;
2305};
2306#line 11 "include/asm-generic/siginfo.h"
2307union __anonunion__sifields_157 {
2308 int _pad[28U] ;
2309 struct __anonstruct__kill_158 _kill ;
2310 struct __anonstruct__timer_159 _timer ;
2311 struct __anonstruct__rt_160 _rt ;
2312 struct __anonstruct__sigchld_161 _sigchld ;
2313 struct __anonstruct__sigfault_162 _sigfault ;
2314 struct __anonstruct__sigpoll_163 _sigpoll ;
2315};
2316#line 11 "include/asm-generic/siginfo.h"
2317struct siginfo {
2318 int si_signo ;
2319 int si_errno ;
2320 int si_code ;
2321 union __anonunion__sifields_157 _sifields ;
2322};
2323#line 102 "include/asm-generic/siginfo.h"
2324typedef struct siginfo siginfo_t;
2325#line 14 "include/linux/signal.h"
2326struct user_struct;
2327#line 24 "include/linux/signal.h"
2328struct sigpending {
2329 struct list_head list ;
2330 sigset_t signal ;
2331};
2332#line 10 "include/linux/seccomp.h"
2333struct __anonstruct_seccomp_t_166 {
2334 int mode ;
2335};
2336#line 10 "include/linux/seccomp.h"
2337typedef struct __anonstruct_seccomp_t_166 seccomp_t;
2338#line 26 "include/linux/seccomp.h"
2339struct plist_head {
2340 struct list_head node_list ;
2341};
2342#line 84 "include/linux/plist.h"
2343struct plist_node {
2344 int prio ;
2345 struct list_head prio_list ;
2346 struct list_head node_list ;
2347};
2348#line 38 "include/linux/rtmutex.h"
2349struct rt_mutex_waiter;
2350#line 38
2351struct rt_mutex_waiter;
2352#line 41 "include/linux/resource.h"
2353struct rlimit {
2354 unsigned long rlim_cur ;
2355 unsigned long rlim_max ;
2356};
2357#line 85 "include/linux/resource.h"
2358struct timerqueue_node {
2359 struct rb_node node ;
2360 ktime_t expires ;
2361};
2362#line 12 "include/linux/timerqueue.h"
2363struct timerqueue_head {
2364 struct rb_root head ;
2365 struct timerqueue_node *next ;
2366};
2367#line 50
2368struct hrtimer_clock_base;
2369#line 50
2370struct hrtimer_clock_base;
2371#line 51
2372struct hrtimer_cpu_base;
2373#line 51
2374struct hrtimer_cpu_base;
2375#line 60
2376enum hrtimer_restart {
2377 HRTIMER_NORESTART = 0,
2378 HRTIMER_RESTART = 1
2379} ;
2380#line 65 "include/linux/timerqueue.h"
2381struct hrtimer {
2382 struct timerqueue_node node ;
2383 ktime_t _softexpires ;
2384 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2385 struct hrtimer_clock_base *base ;
2386 unsigned long state ;
2387 int start_pid ;
2388 void *start_site ;
2389 char start_comm[16U] ;
2390};
2391#line 132 "include/linux/hrtimer.h"
2392struct hrtimer_clock_base {
2393 struct hrtimer_cpu_base *cpu_base ;
2394 int index ;
2395 clockid_t clockid ;
2396 struct timerqueue_head active ;
2397 ktime_t resolution ;
2398 ktime_t (*get_time)(void) ;
2399 ktime_t softirq_time ;
2400 ktime_t offset ;
2401};
2402#line 162 "include/linux/hrtimer.h"
2403struct hrtimer_cpu_base {
2404 raw_spinlock_t lock ;
2405 unsigned long active_bases ;
2406 ktime_t expires_next ;
2407 int hres_active ;
2408 int hang_detected ;
2409 unsigned long nr_events ;
2410 unsigned long nr_retries ;
2411 unsigned long nr_hangs ;
2412 ktime_t max_hang_time ;
2413 struct hrtimer_clock_base clock_base[3U] ;
2414};
2415#line 452 "include/linux/hrtimer.h"
2416struct task_io_accounting {
2417 u64 rchar ;
2418 u64 wchar ;
2419 u64 syscr ;
2420 u64 syscw ;
2421 u64 read_bytes ;
2422 u64 write_bytes ;
2423 u64 cancelled_write_bytes ;
2424};
2425#line 45 "include/linux/task_io_accounting.h"
2426struct latency_record {
2427 unsigned long backtrace[12U] ;
2428 unsigned int count ;
2429 unsigned long time ;
2430 unsigned long max ;
2431};
2432#line 29 "include/linux/key.h"
2433typedef int32_t key_serial_t;
2434#line 32 "include/linux/key.h"
2435typedef uint32_t key_perm_t;
2436#line 33
2437struct key;
2438#line 33
2439struct key;
2440#line 34
2441struct signal_struct;
2442#line 34
2443struct signal_struct;
2444#line 35
2445struct key_type;
2446#line 35
2447struct key_type;
2448#line 37
2449struct keyring_list;
2450#line 37
2451struct keyring_list;
2452#line 115
2453struct key_user;
2454#line 115 "include/linux/key.h"
2455union __anonunion_ldv_18755_167 {
2456 time_t expiry ;
2457 time_t revoked_at ;
2458};
2459#line 115 "include/linux/key.h"
2460union __anonunion_type_data_168 {
2461 struct list_head link ;
2462 unsigned long x[2U] ;
2463 void *p[2U] ;
2464 int reject_error ;
2465};
2466#line 115 "include/linux/key.h"
2467union __anonunion_payload_169 {
2468 unsigned long value ;
2469 void *rcudata ;
2470 void *data ;
2471 struct keyring_list *subscriptions ;
2472};
2473#line 115 "include/linux/key.h"
2474struct key {
2475 atomic_t usage ;
2476 key_serial_t serial ;
2477 struct rb_node serial_node ;
2478 struct key_type *type ;
2479 struct rw_semaphore sem ;
2480 struct key_user *user ;
2481 void *security ;
2482 union __anonunion_ldv_18755_167 ldv_18755 ;
2483 uid_t uid ;
2484 gid_t gid ;
2485 key_perm_t perm ;
2486 unsigned short quotalen ;
2487 unsigned short datalen ;
2488 unsigned long flags ;
2489 char *description ;
2490 union __anonunion_type_data_168 type_data ;
2491 union __anonunion_payload_169 payload ;
2492};
2493#line 316
2494struct audit_context;
2495#line 316
2496struct audit_context;
2497#line 27 "include/linux/selinux.h"
2498struct group_info {
2499 atomic_t usage ;
2500 int ngroups ;
2501 int nblocks ;
2502 gid_t small_block[32U] ;
2503 gid_t *blocks[0U] ;
2504};
2505#line 77 "include/linux/cred.h"
2506struct thread_group_cred {
2507 atomic_t usage ;
2508 pid_t tgid ;
2509 spinlock_t lock ;
2510 struct key *session_keyring ;
2511 struct key *process_keyring ;
2512 struct rcu_head rcu ;
2513};
2514#line 91 "include/linux/cred.h"
2515struct cred {
2516 atomic_t usage ;
2517 atomic_t subscribers ;
2518 void *put_addr ;
2519 unsigned int magic ;
2520 uid_t uid ;
2521 gid_t gid ;
2522 uid_t suid ;
2523 gid_t sgid ;
2524 uid_t euid ;
2525 gid_t egid ;
2526 uid_t fsuid ;
2527 gid_t fsgid ;
2528 unsigned int securebits ;
2529 kernel_cap_t cap_inheritable ;
2530 kernel_cap_t cap_permitted ;
2531 kernel_cap_t cap_effective ;
2532 kernel_cap_t cap_bset ;
2533 unsigned char jit_keyring ;
2534 struct key *thread_keyring ;
2535 struct key *request_key_auth ;
2536 struct thread_group_cred *tgcred ;
2537 void *security ;
2538 struct user_struct *user ;
2539 struct user_namespace *user_ns ;
2540 struct group_info *group_info ;
2541 struct rcu_head rcu ;
2542};
2543#line 264
2544struct llist_node;
2545#line 64 "include/linux/llist.h"
2546struct llist_node {
2547 struct llist_node *next ;
2548};
2549#line 185
2550struct futex_pi_state;
2551#line 185
2552struct futex_pi_state;
2553#line 186
2554struct robust_list_head;
2555#line 186
2556struct robust_list_head;
2557#line 187
2558struct bio_list;
2559#line 187
2560struct bio_list;
2561#line 188
2562struct fs_struct;
2563#line 188
2564struct fs_struct;
2565#line 189
2566struct perf_event_context;
2567#line 189
2568struct perf_event_context;
2569#line 190
2570struct blk_plug;
2571#line 190
2572struct blk_plug;
2573#line 149 "include/linux/sched.h"
2574struct cfs_rq;
2575#line 149
2576struct cfs_rq;
2577#line 44 "include/linux/aio_abi.h"
2578struct io_event {
2579 __u64 data ;
2580 __u64 obj ;
2581 __s64 res ;
2582 __s64 res2 ;
2583};
2584#line 106 "include/linux/aio_abi.h"
2585struct iovec {
2586 void *iov_base ;
2587 __kernel_size_t iov_len ;
2588};
2589#line 21 "include/linux/uio.h"
2590struct kvec {
2591 void *iov_base ;
2592 size_t iov_len ;
2593};
2594#line 54
2595struct kioctx;
2596#line 54
2597struct kioctx;
2598#line 55 "include/linux/uio.h"
2599union __anonunion_ki_obj_170 {
2600 void *user ;
2601 struct task_struct *tsk ;
2602};
2603#line 55
2604struct eventfd_ctx;
2605#line 55 "include/linux/uio.h"
2606struct kiocb {
2607 struct list_head ki_run_list ;
2608 unsigned long ki_flags ;
2609 int ki_users ;
2610 unsigned int ki_key ;
2611 struct file *ki_filp ;
2612 struct kioctx *ki_ctx ;
2613 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2614 ssize_t (*ki_retry)(struct kiocb * ) ;
2615 void (*ki_dtor)(struct kiocb * ) ;
2616 union __anonunion_ki_obj_170 ki_obj ;
2617 __u64 ki_user_data ;
2618 loff_t ki_pos ;
2619 void *private ;
2620 unsigned short ki_opcode ;
2621 size_t ki_nbytes ;
2622 char *ki_buf ;
2623 size_t ki_left ;
2624 struct iovec ki_inline_vec ;
2625 struct iovec *ki_iovec ;
2626 unsigned long ki_nr_segs ;
2627 unsigned long ki_cur_seg ;
2628 struct list_head ki_list ;
2629 struct list_head ki_batch ;
2630 struct eventfd_ctx *ki_eventfd ;
2631};
2632#line 162 "include/linux/aio.h"
2633struct aio_ring_info {
2634 unsigned long mmap_base ;
2635 unsigned long mmap_size ;
2636 struct page **ring_pages ;
2637 spinlock_t ring_lock ;
2638 long nr_pages ;
2639 unsigned int nr ;
2640 unsigned int tail ;
2641 struct page *internal_pages[8U] ;
2642};
2643#line 178 "include/linux/aio.h"
2644struct kioctx {
2645 atomic_t users ;
2646 int dead ;
2647 struct mm_struct *mm ;
2648 unsigned long user_id ;
2649 struct hlist_node list ;
2650 wait_queue_head_t wait ;
2651 spinlock_t ctx_lock ;
2652 int reqs_active ;
2653 struct list_head active_reqs ;
2654 struct list_head run_list ;
2655 unsigned int max_reqs ;
2656 struct aio_ring_info ring_info ;
2657 struct delayed_work wq ;
2658 struct rcu_head rcu_head ;
2659};
2660#line 406 "include/linux/sched.h"
2661struct sighand_struct {
2662 atomic_t count ;
2663 struct k_sigaction action[64U] ;
2664 spinlock_t siglock ;
2665 wait_queue_head_t signalfd_wqh ;
2666};
2667#line 449 "include/linux/sched.h"
2668struct pacct_struct {
2669 int ac_flag ;
2670 long ac_exitcode ;
2671 unsigned long ac_mem ;
2672 cputime_t ac_utime ;
2673 cputime_t ac_stime ;
2674 unsigned long ac_minflt ;
2675 unsigned long ac_majflt ;
2676};
2677#line 457 "include/linux/sched.h"
2678struct cpu_itimer {
2679 cputime_t expires ;
2680 cputime_t incr ;
2681 u32 error ;
2682 u32 incr_error ;
2683};
2684#line 464 "include/linux/sched.h"
2685struct task_cputime {
2686 cputime_t utime ;
2687 cputime_t stime ;
2688 unsigned long long sum_exec_runtime ;
2689};
2690#line 481 "include/linux/sched.h"
2691struct thread_group_cputimer {
2692 struct task_cputime cputime ;
2693 int running ;
2694 raw_spinlock_t lock ;
2695};
2696#line 517
2697struct autogroup;
2698#line 517
2699struct autogroup;
2700#line 518
2701struct tty_struct;
2702#line 518
2703struct taskstats;
2704#line 518
2705struct tty_audit_buf;
2706#line 518 "include/linux/sched.h"
2707struct signal_struct {
2708 atomic_t sigcnt ;
2709 atomic_t live ;
2710 int nr_threads ;
2711 wait_queue_head_t wait_chldexit ;
2712 struct task_struct *curr_target ;
2713 struct sigpending shared_pending ;
2714 int group_exit_code ;
2715 int notify_count ;
2716 struct task_struct *group_exit_task ;
2717 int group_stop_count ;
2718 unsigned int flags ;
2719 unsigned char is_child_subreaper : 1 ;
2720 unsigned char has_child_subreaper : 1 ;
2721 struct list_head posix_timers ;
2722 struct hrtimer real_timer ;
2723 struct pid *leader_pid ;
2724 ktime_t it_real_incr ;
2725 struct cpu_itimer it[2U] ;
2726 struct thread_group_cputimer cputimer ;
2727 struct task_cputime cputime_expires ;
2728 struct list_head cpu_timers[3U] ;
2729 struct pid *tty_old_pgrp ;
2730 int leader ;
2731 struct tty_struct *tty ;
2732 struct autogroup *autogroup ;
2733 cputime_t utime ;
2734 cputime_t stime ;
2735 cputime_t cutime ;
2736 cputime_t cstime ;
2737 cputime_t gtime ;
2738 cputime_t cgtime ;
2739 cputime_t prev_utime ;
2740 cputime_t prev_stime ;
2741 unsigned long nvcsw ;
2742 unsigned long nivcsw ;
2743 unsigned long cnvcsw ;
2744 unsigned long cnivcsw ;
2745 unsigned long min_flt ;
2746 unsigned long maj_flt ;
2747 unsigned long cmin_flt ;
2748 unsigned long cmaj_flt ;
2749 unsigned long inblock ;
2750 unsigned long oublock ;
2751 unsigned long cinblock ;
2752 unsigned long coublock ;
2753 unsigned long maxrss ;
2754 unsigned long cmaxrss ;
2755 struct task_io_accounting ioac ;
2756 unsigned long long sum_sched_runtime ;
2757 struct rlimit rlim[16U] ;
2758 struct pacct_struct pacct ;
2759 struct taskstats *stats ;
2760 unsigned int audit_tty ;
2761 struct tty_audit_buf *tty_audit_buf ;
2762 struct rw_semaphore group_rwsem ;
2763 int oom_adj ;
2764 int oom_score_adj ;
2765 int oom_score_adj_min ;
2766 struct mutex cred_guard_mutex ;
2767};
2768#line 699 "include/linux/sched.h"
2769struct user_struct {
2770 atomic_t __count ;
2771 atomic_t processes ;
2772 atomic_t files ;
2773 atomic_t sigpending ;
2774 atomic_t inotify_watches ;
2775 atomic_t inotify_devs ;
2776 atomic_t fanotify_listeners ;
2777 atomic_long_t epoll_watches ;
2778 unsigned long mq_bytes ;
2779 unsigned long locked_shm ;
2780 struct key *uid_keyring ;
2781 struct key *session_keyring ;
2782 struct hlist_node uidhash_node ;
2783 uid_t uid ;
2784 struct user_namespace *user_ns ;
2785 atomic_long_t locked_vm ;
2786};
2787#line 744
2788struct reclaim_state;
2789#line 744
2790struct reclaim_state;
2791#line 745 "include/linux/sched.h"
2792struct sched_info {
2793 unsigned long pcount ;
2794 unsigned long long run_delay ;
2795 unsigned long long last_arrival ;
2796 unsigned long long last_queued ;
2797};
2798#line 760 "include/linux/sched.h"
2799struct task_delay_info {
2800 spinlock_t lock ;
2801 unsigned int flags ;
2802 struct timespec blkio_start ;
2803 struct timespec blkio_end ;
2804 u64 blkio_delay ;
2805 u64 swapin_delay ;
2806 u32 blkio_count ;
2807 u32 swapin_count ;
2808 struct timespec freepages_start ;
2809 struct timespec freepages_end ;
2810 u64 freepages_delay ;
2811 u32 freepages_count ;
2812};
2813#line 1069
2814struct io_context;
2815#line 1069
2816struct io_context;
2817#line 1098
2818struct rq;
2819#line 1098
2820struct rq;
2821#line 1099 "include/linux/sched.h"
2822struct sched_class {
2823 struct sched_class const *next ;
2824 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2825 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2826 void (*yield_task)(struct rq * ) ;
2827 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2828 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2829 struct task_struct *(*pick_next_task)(struct rq * ) ;
2830 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2831 int (*select_task_rq)(struct task_struct * , int , int ) ;
2832 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2833 void (*post_schedule)(struct rq * ) ;
2834 void (*task_waking)(struct task_struct * ) ;
2835 void (*task_woken)(struct rq * , struct task_struct * ) ;
2836 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2837 void (*rq_online)(struct rq * ) ;
2838 void (*rq_offline)(struct rq * ) ;
2839 void (*set_curr_task)(struct rq * ) ;
2840 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2841 void (*task_fork)(struct task_struct * ) ;
2842 void (*switched_from)(struct rq * , struct task_struct * ) ;
2843 void (*switched_to)(struct rq * , struct task_struct * ) ;
2844 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2845 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2846 void (*task_move_group)(struct task_struct * , int ) ;
2847};
2848#line 1165 "include/linux/sched.h"
2849struct load_weight {
2850 unsigned long weight ;
2851 unsigned long inv_weight ;
2852};
2853#line 1170 "include/linux/sched.h"
2854struct sched_statistics {
2855 u64 wait_start ;
2856 u64 wait_max ;
2857 u64 wait_count ;
2858 u64 wait_sum ;
2859 u64 iowait_count ;
2860 u64 iowait_sum ;
2861 u64 sleep_start ;
2862 u64 sleep_max ;
2863 s64 sum_sleep_runtime ;
2864 u64 block_start ;
2865 u64 block_max ;
2866 u64 exec_max ;
2867 u64 slice_max ;
2868 u64 nr_migrations_cold ;
2869 u64 nr_failed_migrations_affine ;
2870 u64 nr_failed_migrations_running ;
2871 u64 nr_failed_migrations_hot ;
2872 u64 nr_forced_migrations ;
2873 u64 nr_wakeups ;
2874 u64 nr_wakeups_sync ;
2875 u64 nr_wakeups_migrate ;
2876 u64 nr_wakeups_local ;
2877 u64 nr_wakeups_remote ;
2878 u64 nr_wakeups_affine ;
2879 u64 nr_wakeups_affine_attempts ;
2880 u64 nr_wakeups_passive ;
2881 u64 nr_wakeups_idle ;
2882};
2883#line 1205 "include/linux/sched.h"
2884struct sched_entity {
2885 struct load_weight load ;
2886 struct rb_node run_node ;
2887 struct list_head group_node ;
2888 unsigned int on_rq ;
2889 u64 exec_start ;
2890 u64 sum_exec_runtime ;
2891 u64 vruntime ;
2892 u64 prev_sum_exec_runtime ;
2893 u64 nr_migrations ;
2894 struct sched_statistics statistics ;
2895 struct sched_entity *parent ;
2896 struct cfs_rq *cfs_rq ;
2897 struct cfs_rq *my_q ;
2898};
2899#line 1231
2900struct rt_rq;
2901#line 1231 "include/linux/sched.h"
2902struct sched_rt_entity {
2903 struct list_head run_list ;
2904 unsigned long timeout ;
2905 unsigned int time_slice ;
2906 int nr_cpus_allowed ;
2907 struct sched_rt_entity *back ;
2908 struct sched_rt_entity *parent ;
2909 struct rt_rq *rt_rq ;
2910 struct rt_rq *my_q ;
2911};
2912#line 1255
2913struct mem_cgroup;
2914#line 1255 "include/linux/sched.h"
2915struct memcg_batch_info {
2916 int do_batch ;
2917 struct mem_cgroup *memcg ;
2918 unsigned long nr_pages ;
2919 unsigned long memsw_nr_pages ;
2920};
2921#line 1616
2922struct css_set;
2923#line 1616
2924struct compat_robust_list_head;
2925#line 1616 "include/linux/sched.h"
2926struct task_struct {
2927 long volatile state ;
2928 void *stack ;
2929 atomic_t usage ;
2930 unsigned int flags ;
2931 unsigned int ptrace ;
2932 struct llist_node wake_entry ;
2933 int on_cpu ;
2934 int on_rq ;
2935 int prio ;
2936 int static_prio ;
2937 int normal_prio ;
2938 unsigned int rt_priority ;
2939 struct sched_class const *sched_class ;
2940 struct sched_entity se ;
2941 struct sched_rt_entity rt ;
2942 struct hlist_head preempt_notifiers ;
2943 unsigned char fpu_counter ;
2944 unsigned int policy ;
2945 cpumask_t cpus_allowed ;
2946 struct sched_info sched_info ;
2947 struct list_head tasks ;
2948 struct plist_node pushable_tasks ;
2949 struct mm_struct *mm ;
2950 struct mm_struct *active_mm ;
2951 unsigned char brk_randomized : 1 ;
2952 int exit_state ;
2953 int exit_code ;
2954 int exit_signal ;
2955 int pdeath_signal ;
2956 unsigned int jobctl ;
2957 unsigned int personality ;
2958 unsigned char did_exec : 1 ;
2959 unsigned char in_execve : 1 ;
2960 unsigned char in_iowait : 1 ;
2961 unsigned char sched_reset_on_fork : 1 ;
2962 unsigned char sched_contributes_to_load : 1 ;
2963 unsigned char irq_thread : 1 ;
2964 pid_t pid ;
2965 pid_t tgid ;
2966 unsigned long stack_canary ;
2967 struct task_struct *real_parent ;
2968 struct task_struct *parent ;
2969 struct list_head children ;
2970 struct list_head sibling ;
2971 struct task_struct *group_leader ;
2972 struct list_head ptraced ;
2973 struct list_head ptrace_entry ;
2974 struct pid_link pids[3U] ;
2975 struct list_head thread_group ;
2976 struct completion *vfork_done ;
2977 int *set_child_tid ;
2978 int *clear_child_tid ;
2979 cputime_t utime ;
2980 cputime_t stime ;
2981 cputime_t utimescaled ;
2982 cputime_t stimescaled ;
2983 cputime_t gtime ;
2984 cputime_t prev_utime ;
2985 cputime_t prev_stime ;
2986 unsigned long nvcsw ;
2987 unsigned long nivcsw ;
2988 struct timespec start_time ;
2989 struct timespec real_start_time ;
2990 unsigned long min_flt ;
2991 unsigned long maj_flt ;
2992 struct task_cputime cputime_expires ;
2993 struct list_head cpu_timers[3U] ;
2994 struct cred const *real_cred ;
2995 struct cred const *cred ;
2996 struct cred *replacement_session_keyring ;
2997 char comm[16U] ;
2998 int link_count ;
2999 int total_link_count ;
3000 struct sysv_sem sysvsem ;
3001 unsigned long last_switch_count ;
3002 struct thread_struct thread ;
3003 struct fs_struct *fs ;
3004 struct files_struct *files ;
3005 struct nsproxy *nsproxy ;
3006 struct signal_struct *signal ;
3007 struct sighand_struct *sighand ;
3008 sigset_t blocked ;
3009 sigset_t real_blocked ;
3010 sigset_t saved_sigmask ;
3011 struct sigpending pending ;
3012 unsigned long sas_ss_sp ;
3013 size_t sas_ss_size ;
3014 int (*notifier)(void * ) ;
3015 void *notifier_data ;
3016 sigset_t *notifier_mask ;
3017 struct audit_context *audit_context ;
3018 uid_t loginuid ;
3019 unsigned int sessionid ;
3020 seccomp_t seccomp ;
3021 u32 parent_exec_id ;
3022 u32 self_exec_id ;
3023 spinlock_t alloc_lock ;
3024 raw_spinlock_t pi_lock ;
3025 struct plist_head pi_waiters ;
3026 struct rt_mutex_waiter *pi_blocked_on ;
3027 struct mutex_waiter *blocked_on ;
3028 unsigned int irq_events ;
3029 unsigned long hardirq_enable_ip ;
3030 unsigned long hardirq_disable_ip ;
3031 unsigned int hardirq_enable_event ;
3032 unsigned int hardirq_disable_event ;
3033 int hardirqs_enabled ;
3034 int hardirq_context ;
3035 unsigned long softirq_disable_ip ;
3036 unsigned long softirq_enable_ip ;
3037 unsigned int softirq_disable_event ;
3038 unsigned int softirq_enable_event ;
3039 int softirqs_enabled ;
3040 int softirq_context ;
3041 u64 curr_chain_key ;
3042 int lockdep_depth ;
3043 unsigned int lockdep_recursion ;
3044 struct held_lock held_locks[48U] ;
3045 gfp_t lockdep_reclaim_gfp ;
3046 void *journal_info ;
3047 struct bio_list *bio_list ;
3048 struct blk_plug *plug ;
3049 struct reclaim_state *reclaim_state ;
3050 struct backing_dev_info *backing_dev_info ;
3051 struct io_context *io_context ;
3052 unsigned long ptrace_message ;
3053 siginfo_t *last_siginfo ;
3054 struct task_io_accounting ioac ;
3055 u64 acct_rss_mem1 ;
3056 u64 acct_vm_mem1 ;
3057 cputime_t acct_timexpd ;
3058 nodemask_t mems_allowed ;
3059 seqcount_t mems_allowed_seq ;
3060 int cpuset_mem_spread_rotor ;
3061 int cpuset_slab_spread_rotor ;
3062 struct css_set *cgroups ;
3063 struct list_head cg_list ;
3064 struct robust_list_head *robust_list ;
3065 struct compat_robust_list_head *compat_robust_list ;
3066 struct list_head pi_state_list ;
3067 struct futex_pi_state *pi_state_cache ;
3068 struct perf_event_context *perf_event_ctxp[2U] ;
3069 struct mutex perf_event_mutex ;
3070 struct list_head perf_event_list ;
3071 struct mempolicy *mempolicy ;
3072 short il_next ;
3073 short pref_node_fork ;
3074 struct rcu_head rcu ;
3075 struct pipe_inode_info *splice_pipe ;
3076 struct task_delay_info *delays ;
3077 int make_it_fail ;
3078 int nr_dirtied ;
3079 int nr_dirtied_pause ;
3080 unsigned long dirty_paused_when ;
3081 int latency_record_count ;
3082 struct latency_record latency_record[32U] ;
3083 unsigned long timer_slack_ns ;
3084 unsigned long default_timer_slack_ns ;
3085 struct list_head *scm_work_list ;
3086 unsigned long trace ;
3087 unsigned long trace_recursion ;
3088 struct memcg_batch_info memcg_batch ;
3089 atomic_t ptrace_bp_refcnt ;
3090};
3091#line 2820
3092struct klist_node;
3093#line 2820
3094struct klist_node;
3095#line 37 "include/linux/klist.h"
3096struct klist_node {
3097 void *n_klist ;
3098 struct list_head n_node ;
3099 struct kref n_ref ;
3100};
3101#line 67
3102struct dma_map_ops;
3103#line 67 "include/linux/klist.h"
3104struct dev_archdata {
3105 void *acpi_handle ;
3106 struct dma_map_ops *dma_ops ;
3107 void *iommu ;
3108};
3109#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
3110struct device_private;
3111#line 17
3112struct device_private;
3113#line 18
3114struct device_driver;
3115#line 18
3116struct device_driver;
3117#line 19
3118struct driver_private;
3119#line 19
3120struct driver_private;
3121#line 20
3122struct class;
3123#line 20
3124struct class;
3125#line 21
3126struct subsys_private;
3127#line 21
3128struct subsys_private;
3129#line 22
3130struct bus_type;
3131#line 22
3132struct bus_type;
3133#line 23
3134struct device_node;
3135#line 23
3136struct device_node;
3137#line 24
3138struct iommu_ops;
3139#line 24
3140struct iommu_ops;
3141#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
3142struct bus_attribute {
3143 struct attribute attr ;
3144 ssize_t (*show)(struct bus_type * , char * ) ;
3145 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
3146};
3147#line 51 "include/linux/device.h"
3148struct device_attribute;
3149#line 51
3150struct driver_attribute;
3151#line 51 "include/linux/device.h"
3152struct bus_type {
3153 char const *name ;
3154 char const *dev_name ;
3155 struct device *dev_root ;
3156 struct bus_attribute *bus_attrs ;
3157 struct device_attribute *dev_attrs ;
3158 struct driver_attribute *drv_attrs ;
3159 int (*match)(struct device * , struct device_driver * ) ;
3160 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3161 int (*probe)(struct device * ) ;
3162 int (*remove)(struct device * ) ;
3163 void (*shutdown)(struct device * ) ;
3164 int (*suspend)(struct device * , pm_message_t ) ;
3165 int (*resume)(struct device * ) ;
3166 struct dev_pm_ops const *pm ;
3167 struct iommu_ops *iommu_ops ;
3168 struct subsys_private *p ;
3169};
3170#line 125
3171struct device_type;
3172#line 182
3173struct of_device_id;
3174#line 182 "include/linux/device.h"
3175struct device_driver {
3176 char const *name ;
3177 struct bus_type *bus ;
3178 struct module *owner ;
3179 char const *mod_name ;
3180 bool suppress_bind_attrs ;
3181 struct of_device_id const *of_match_table ;
3182 int (*probe)(struct device * ) ;
3183 int (*remove)(struct device * ) ;
3184 void (*shutdown)(struct device * ) ;
3185 int (*suspend)(struct device * , pm_message_t ) ;
3186 int (*resume)(struct device * ) ;
3187 struct attribute_group const **groups ;
3188 struct dev_pm_ops const *pm ;
3189 struct driver_private *p ;
3190};
3191#line 245 "include/linux/device.h"
3192struct driver_attribute {
3193 struct attribute attr ;
3194 ssize_t (*show)(struct device_driver * , char * ) ;
3195 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
3196};
3197#line 299
3198struct class_attribute;
3199#line 299 "include/linux/device.h"
3200struct class {
3201 char const *name ;
3202 struct module *owner ;
3203 struct class_attribute *class_attrs ;
3204 struct device_attribute *dev_attrs ;
3205 struct bin_attribute *dev_bin_attrs ;
3206 struct kobject *dev_kobj ;
3207 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
3208 char *(*devnode)(struct device * , umode_t * ) ;
3209 void (*class_release)(struct class * ) ;
3210 void (*dev_release)(struct device * ) ;
3211 int (*suspend)(struct device * , pm_message_t ) ;
3212 int (*resume)(struct device * ) ;
3213 struct kobj_ns_type_operations const *ns_type ;
3214 void const *(*namespace)(struct device * ) ;
3215 struct dev_pm_ops const *pm ;
3216 struct subsys_private *p ;
3217};
3218#line 394 "include/linux/device.h"
3219struct class_attribute {
3220 struct attribute attr ;
3221 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
3222 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
3223 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
3224};
3225#line 447 "include/linux/device.h"
3226struct device_type {
3227 char const *name ;
3228 struct attribute_group const **groups ;
3229 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3230 char *(*devnode)(struct device * , umode_t * ) ;
3231 void (*release)(struct device * ) ;
3232 struct dev_pm_ops const *pm ;
3233};
3234#line 474 "include/linux/device.h"
3235struct device_attribute {
3236 struct attribute attr ;
3237 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
3238 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
3239 size_t ) ;
3240};
3241#line 557 "include/linux/device.h"
3242struct device_dma_parameters {
3243 unsigned int max_segment_size ;
3244 unsigned long segment_boundary_mask ;
3245};
3246#line 567
3247struct dma_coherent_mem;
3248#line 567 "include/linux/device.h"
3249struct device {
3250 struct device *parent ;
3251 struct device_private *p ;
3252 struct kobject kobj ;
3253 char const *init_name ;
3254 struct device_type const *type ;
3255 struct mutex mutex ;
3256 struct bus_type *bus ;
3257 struct device_driver *driver ;
3258 void *platform_data ;
3259 struct dev_pm_info power ;
3260 struct dev_pm_domain *pm_domain ;
3261 int numa_node ;
3262 u64 *dma_mask ;
3263 u64 coherent_dma_mask ;
3264 struct device_dma_parameters *dma_parms ;
3265 struct list_head dma_pools ;
3266 struct dma_coherent_mem *dma_mem ;
3267 struct dev_archdata archdata ;
3268 struct device_node *of_node ;
3269 dev_t devt ;
3270 u32 id ;
3271 spinlock_t devres_lock ;
3272 struct list_head devres_head ;
3273 struct klist_node knode_class ;
3274 struct class *class ;
3275 struct attribute_group const **groups ;
3276 void (*release)(struct device * ) ;
3277};
3278#line 681 "include/linux/device.h"
3279struct wakeup_source {
3280 char const *name ;
3281 struct list_head entry ;
3282 spinlock_t lock ;
3283 struct timer_list timer ;
3284 unsigned long timer_expires ;
3285 ktime_t total_time ;
3286 ktime_t max_time ;
3287 ktime_t last_time ;
3288 unsigned long event_count ;
3289 unsigned long active_count ;
3290 unsigned long relax_count ;
3291 unsigned long hit_count ;
3292 unsigned char active : 1 ;
3293};
3294#line 142 "include/mtd/mtd-abi.h"
3295struct otp_info {
3296 __u32 start ;
3297 __u32 length ;
3298 __u32 locked ;
3299};
3300#line 216 "include/mtd/mtd-abi.h"
3301struct nand_oobfree {
3302 __u32 offset ;
3303 __u32 length ;
3304};
3305#line 238 "include/mtd/mtd-abi.h"
3306struct mtd_ecc_stats {
3307 __u32 corrected ;
3308 __u32 failed ;
3309 __u32 badblocks ;
3310 __u32 bbtblocks ;
3311};
3312#line 260 "include/mtd/mtd-abi.h"
3313struct erase_info {
3314 struct mtd_info *mtd ;
3315 uint64_t addr ;
3316 uint64_t len ;
3317 uint64_t fail_addr ;
3318 u_long time ;
3319 u_long retries ;
3320 unsigned int dev ;
3321 unsigned int cell ;
3322 void (*callback)(struct erase_info * ) ;
3323 u_long priv ;
3324 u_char state ;
3325 struct erase_info *next ;
3326};
3327#line 62 "include/linux/mtd/mtd.h"
3328struct mtd_erase_region_info {
3329 uint64_t offset ;
3330 uint32_t erasesize ;
3331 uint32_t numblocks ;
3332 unsigned long *lockmap ;
3333};
3334#line 69 "include/linux/mtd/mtd.h"
3335struct mtd_oob_ops {
3336 unsigned int mode ;
3337 size_t len ;
3338 size_t retlen ;
3339 size_t ooblen ;
3340 size_t oobretlen ;
3341 uint32_t ooboffs ;
3342 uint8_t *datbuf ;
3343 uint8_t *oobbuf ;
3344};
3345#line 99 "include/linux/mtd/mtd.h"
3346struct nand_ecclayout {
3347 __u32 eccbytes ;
3348 __u32 eccpos[448U] ;
3349 __u32 oobavail ;
3350 struct nand_oobfree oobfree[32U] ;
3351};
3352#line 114 "include/linux/mtd/mtd.h"
3353struct mtd_info {
3354 u_char type ;
3355 uint32_t flags ;
3356 uint64_t size ;
3357 uint32_t erasesize ;
3358 uint32_t writesize ;
3359 uint32_t writebufsize ;
3360 uint32_t oobsize ;
3361 uint32_t oobavail ;
3362 unsigned int erasesize_shift ;
3363 unsigned int writesize_shift ;
3364 unsigned int erasesize_mask ;
3365 unsigned int writesize_mask ;
3366 char const *name ;
3367 int index ;
3368 struct nand_ecclayout *ecclayout ;
3369 unsigned int ecc_strength ;
3370 int numeraseregions ;
3371 struct mtd_erase_region_info *eraseregions ;
3372 int (*_erase)(struct mtd_info * , struct erase_info * ) ;
3373 int (*_point)(struct mtd_info * , loff_t , size_t , size_t * , void ** , resource_size_t * ) ;
3374 int (*_unpoint)(struct mtd_info * , loff_t , size_t ) ;
3375 unsigned long (*_get_unmapped_area)(struct mtd_info * , unsigned long , unsigned long ,
3376 unsigned long ) ;
3377 int (*_read)(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
3378 int (*_write)(struct mtd_info * , loff_t , size_t , size_t * , u_char const * ) ;
3379 int (*_panic_write)(struct mtd_info * , loff_t , size_t , size_t * , u_char const * ) ;
3380 int (*_read_oob)(struct mtd_info * , loff_t , struct mtd_oob_ops * ) ;
3381 int (*_write_oob)(struct mtd_info * , loff_t , struct mtd_oob_ops * ) ;
3382 int (*_get_fact_prot_info)(struct mtd_info * , struct otp_info * , size_t ) ;
3383 int (*_read_fact_prot_reg)(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
3384 int (*_get_user_prot_info)(struct mtd_info * , struct otp_info * , size_t ) ;
3385 int (*_read_user_prot_reg)(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
3386 int (*_write_user_prot_reg)(struct mtd_info * , loff_t , size_t , size_t * ,
3387 u_char * ) ;
3388 int (*_lock_user_prot_reg)(struct mtd_info * , loff_t , size_t ) ;
3389 int (*_writev)(struct mtd_info * , struct kvec const * , unsigned long , loff_t ,
3390 size_t * ) ;
3391 void (*_sync)(struct mtd_info * ) ;
3392 int (*_lock)(struct mtd_info * , loff_t , uint64_t ) ;
3393 int (*_unlock)(struct mtd_info * , loff_t , uint64_t ) ;
3394 int (*_is_locked)(struct mtd_info * , loff_t , uint64_t ) ;
3395 int (*_block_isbad)(struct mtd_info * , loff_t ) ;
3396 int (*_block_markbad)(struct mtd_info * , loff_t ) ;
3397 int (*_suspend)(struct mtd_info * ) ;
3398 void (*_resume)(struct mtd_info * ) ;
3399 int (*_get_device)(struct mtd_info * ) ;
3400 void (*_put_device)(struct mtd_info * ) ;
3401 struct backing_dev_info *backing_dev_info ;
3402 struct notifier_block reboot_notifier ;
3403 struct mtd_ecc_stats ecc_stats ;
3404 int subpage_sft ;
3405 void *priv ;
3406 struct module *owner ;
3407 struct device dev ;
3408 int usecount ;
3409};
3410#line 401
3411struct mtd_blktrans_ops;
3412#line 401
3413struct mtd_blktrans_ops;
3414#line 402 "include/linux/mtd/mtd.h"
3415struct mtd_blktrans_dev {
3416 struct mtd_blktrans_ops *tr ;
3417 struct list_head list ;
3418 struct mtd_info *mtd ;
3419 struct mutex lock ;
3420 int devnum ;
3421 bool bg_stop ;
3422 unsigned long size ;
3423 int readonly ;
3424 int open ;
3425 struct kref ref ;
3426 struct gendisk *disk ;
3427 struct attribute_group *disk_attributes ;
3428 struct task_struct *thread ;
3429 struct request_queue *rq ;
3430 spinlock_t queue_lock ;
3431 void *priv ;
3432 fmode_t file_mode ;
3433};
3434#line 52 "include/linux/mtd/blktrans.h"
3435struct mtd_blktrans_ops {
3436 char *name ;
3437 int major ;
3438 int part_bits ;
3439 int blksize ;
3440 int blkshift ;
3441 int (*readsect)(struct mtd_blktrans_dev * , unsigned long , char * ) ;
3442 int (*writesect)(struct mtd_blktrans_dev * , unsigned long , char * ) ;
3443 int (*discard)(struct mtd_blktrans_dev * , unsigned long , unsigned int ) ;
3444 void (*background)(struct mtd_blktrans_dev * ) ;
3445 int (*getgeo)(struct mtd_blktrans_dev * , struct hd_geometry * ) ;
3446 int (*flush)(struct mtd_blktrans_dev * ) ;
3447 int (*open)(struct mtd_blktrans_dev * ) ;
3448 int (*release)(struct mtd_blktrans_dev * ) ;
3449 void (*add_mtd)(struct mtd_blktrans_ops * , struct mtd_info * ) ;
3450 void (*remove_dev)(struct mtd_blktrans_dev * ) ;
3451 struct list_head devs ;
3452 struct list_head list ;
3453 struct module *owner ;
3454};
3455#line 92
3456enum ldv_17573 {
3457 STATE_EMPTY = 0,
3458 STATE_CLEAN = 1,
3459 STATE_DIRTY = 2
3460} ;
3461#line 98 "include/linux/mtd/blktrans.h"
3462struct mtdblk_dev {
3463 struct mtd_blktrans_dev mbd ;
3464 int count ;
3465 struct mutex cache_mutex ;
3466 unsigned char *cache_data ;
3467 unsigned long cache_offset ;
3468 unsigned int cache_size ;
3469 enum ldv_17573 cache_state ;
3470};
3471#line 1 "<compiler builtins>"
3472
3473#line 1
3474long __builtin_expect(long , long ) ;
3475#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
3476void ldv_spin_lock(void) ;
3477#line 3
3478void ldv_spin_unlock(void) ;
3479#line 4
3480int ldv_spin_trylock(void) ;
3481#line 101 "include/linux/printk.h"
3482extern int printk(char const * , ...) ;
3483#line 45 "include/linux/dynamic_debug.h"
3484extern int __dynamic_pr_debug(struct _ddebug * , char const * , ...) ;
3485#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
3486extern void __bad_percpu_size(void) ;
3487#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
3488extern struct task_struct *current_task ;
3489#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
3490__inline static struct task_struct *get_current(void)
3491{ struct task_struct *pfo_ret__ ;
3492
3493 {
3494#line 14
3495 if (8 == 1) {
3496#line 14
3497 goto case_1;
3498 } else
3499#line 14
3500 if (8 == 2) {
3501#line 14
3502 goto case_2;
3503 } else
3504#line 14
3505 if (8 == 4) {
3506#line 14
3507 goto case_4;
3508 } else
3509#line 14
3510 if (8 == 8) {
3511#line 14
3512 goto case_8;
3513 } else {
3514 {
3515#line 14
3516 goto switch_default;
3517#line 14
3518 if (0) {
3519 case_1:
3520#line 14
3521 __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
3522#line 14
3523 goto ldv_2918;
3524 case_2:
3525#line 14
3526 __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
3527#line 14
3528 goto ldv_2918;
3529 case_4:
3530#line 14
3531 __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
3532#line 14
3533 goto ldv_2918;
3534 case_8:
3535#line 14
3536 __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
3537#line 14
3538 goto ldv_2918;
3539 switch_default:
3540 {
3541#line 14
3542 __bad_percpu_size();
3543 }
3544 } else {
3545 switch_break: ;
3546 }
3547 }
3548 }
3549 ldv_2918: ;
3550#line 14
3551 return (pfo_ret__);
3552}
3553}
3554#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/cmpxchg.h"
3555extern void __xchg_wrong_size(void) ;
3556#line 29 "include/linux/wait.h"
3557extern int default_wake_function(wait_queue_t * , unsigned int , int , void * ) ;
3558#line 79
3559extern void __init_waitqueue_head(wait_queue_head_t * , char const * , struct lock_class_key * ) ;
3560#line 117
3561extern void add_wait_queue(wait_queue_head_t * , wait_queue_t * ) ;
3562#line 119
3563extern void remove_wait_queue(wait_queue_head_t * , wait_queue_t * ) ;
3564#line 155
3565extern void __wake_up(wait_queue_head_t * , unsigned int , int , void * ) ;
3566#line 115 "include/linux/mutex.h"
3567extern void __mutex_init(struct mutex * , char const * , struct lock_class_key * ) ;
3568#line 134
3569extern void mutex_lock_nested(struct mutex * , unsigned int ) ;
3570#line 169
3571extern void mutex_unlock(struct mutex * ) ;
3572#line 54 "include/linux/vmalloc.h"
3573extern void *vmalloc(unsigned long ) ;
3574#line 57
3575void *ldv_vmalloc_19(unsigned long ldv_func_arg1 ) ;
3576#line 70
3577extern void vfree(void const * ) ;
3578#line 26 "include/linux/export.h"
3579extern struct module __this_module ;
3580#line 161 "include/linux/slab.h"
3581extern void kfree(void const * ) ;
3582#line 220 "include/linux/slub_def.h"
3583extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
3584#line 223
3585void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3586#line 353 "include/linux/slab.h"
3587__inline static void *kzalloc(size_t size , gfp_t flags ) ;
3588#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
3589extern void *__VERIFIER_nondet_pointer(void) ;
3590#line 11
3591void ldv_check_alloc_flags(gfp_t flags ) ;
3592#line 12
3593void ldv_check_alloc_nonatomic(void) ;
3594#line 14
3595struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
3596#line 362 "include/linux/sched.h"
3597extern void schedule(void) ;
3598#line 246 "include/linux/mtd/mtd.h"
3599extern int mtd_erase(struct mtd_info * , struct erase_info * ) ;
3600#line 252
3601extern int mtd_read(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
3602#line 254
3603extern int mtd_write(struct mtd_info * , loff_t , size_t , size_t * , u_char const * ) ;
3604#line 294 "include/linux/mtd/mtd.h"
3605__inline static void mtd_sync(struct mtd_info *mtd )
3606{ void (*__cil_tmp2)(struct mtd_info * ) ;
3607 unsigned long __cil_tmp3 ;
3608 unsigned long __cil_tmp4 ;
3609 unsigned long __cil_tmp5 ;
3610 void (*__cil_tmp6)(struct mtd_info * ) ;
3611 unsigned long __cil_tmp7 ;
3612 unsigned long __cil_tmp8 ;
3613 unsigned long __cil_tmp9 ;
3614 void (*__cil_tmp10)(struct mtd_info * ) ;
3615
3616 {
3617 {
3618#line 296
3619 __cil_tmp2 = (void (*)(struct mtd_info * ))0;
3620#line 296
3621 __cil_tmp3 = (unsigned long )__cil_tmp2;
3622#line 296
3623 __cil_tmp4 = (unsigned long )mtd;
3624#line 296
3625 __cil_tmp5 = __cil_tmp4 + 224;
3626#line 296
3627 __cil_tmp6 = *((void (**)(struct mtd_info * ))__cil_tmp5);
3628#line 296
3629 __cil_tmp7 = (unsigned long )__cil_tmp6;
3630#line 296
3631 if (__cil_tmp7 != __cil_tmp3) {
3632 {
3633#line 297
3634 __cil_tmp8 = (unsigned long )mtd;
3635#line 297
3636 __cil_tmp9 = __cil_tmp8 + 224;
3637#line 297
3638 __cil_tmp10 = *((void (**)(struct mtd_info * ))__cil_tmp9);
3639#line 297
3640 (*__cil_tmp10)(mtd);
3641 }
3642 } else {
3643
3644 }
3645 }
3646#line 298
3647 return;
3648}
3649}
3650#line 87 "include/linux/mtd/blktrans.h"
3651extern int register_mtd_blktrans(struct mtd_blktrans_ops * ) ;
3652#line 88
3653extern int deregister_mtd_blktrans(struct mtd_blktrans_ops * ) ;
3654#line 89
3655extern int add_mtd_blktrans_dev(struct mtd_blktrans_dev * ) ;
3656#line 90
3657extern int del_mtd_blktrans_dev(struct mtd_blktrans_dev * ) ;
3658#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
3659static struct mutex mtdblks_lock = {{1}, {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
3660 {(struct lock_class *)0,
3661 (struct lock_class *)0},
3662 "mtdblks_lock.wait_lock",
3663 0, 0UL}}}},
3664 {& mtdblks_lock.wait_list, & mtdblks_lock.wait_list}, (struct task_struct *)0,
3665 (char const *)0, (void *)(& mtdblks_lock), {(struct lock_class_key *)0, {(struct lock_class *)0,
3666 (struct lock_class *)0},
3667 "mtdblks_lock", 0, 0UL}};
3668#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
3669static void erase_callback(struct erase_info *done )
3670{ wait_queue_head_t *wait_q ;
3671 unsigned long __cil_tmp3 ;
3672 unsigned long __cil_tmp4 ;
3673 u_long __cil_tmp5 ;
3674 void *__cil_tmp6 ;
3675
3676 {
3677 {
3678#line 76
3679 __cil_tmp3 = (unsigned long )done;
3680#line 76
3681 __cil_tmp4 = __cil_tmp3 + 64;
3682#line 76
3683 __cil_tmp5 = *((u_long *)__cil_tmp4);
3684#line 76
3685 wait_q = (wait_queue_head_t *)__cil_tmp5;
3686#line 77
3687 __cil_tmp6 = (void *)0;
3688#line 77
3689 __wake_up(wait_q, 3U, 1, __cil_tmp6);
3690 }
3691#line 78
3692 return;
3693}
3694}
3695#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
3696static int erase_write(struct mtd_info *mtd , unsigned long pos , int len , char const *buf )
3697{ struct erase_info erase ;
3698 wait_queue_t wait ;
3699 struct task_struct *tmp ;
3700 wait_queue_head_t wait_q ;
3701 size_t retlen ;
3702 int ret ;
3703 struct lock_class_key __key ;
3704 long volatile __ret ;
3705 struct task_struct *tmp___0 ;
3706 struct task_struct *tmp___1 ;
3707 struct task_struct *tmp___2 ;
3708 struct task_struct *tmp___3 ;
3709 long volatile __ret___0 ;
3710 struct task_struct *tmp___4 ;
3711 struct task_struct *tmp___5 ;
3712 struct task_struct *tmp___6 ;
3713 struct task_struct *tmp___7 ;
3714 wait_queue_t *__cil_tmp22 ;
3715 unsigned long __cil_tmp23 ;
3716 unsigned long __cil_tmp24 ;
3717 unsigned long __cil_tmp25 ;
3718 unsigned long __cil_tmp26 ;
3719 unsigned long __cil_tmp27 ;
3720 struct erase_info *__cil_tmp28 ;
3721 unsigned long __cil_tmp29 ;
3722 unsigned long __cil_tmp30 ;
3723 unsigned long __cil_tmp31 ;
3724 unsigned long __cil_tmp32 ;
3725 unsigned long __cil_tmp33 ;
3726 unsigned long __cil_tmp34 ;
3727 char const *__cil_tmp35 ;
3728 loff_t __cil_tmp36 ;
3729 size_t __cil_tmp37 ;
3730 u_char const *__cil_tmp38 ;
3731 size_t *__cil_tmp39 ;
3732 size_t __cil_tmp40 ;
3733 size_t __cil_tmp41 ;
3734
3735 {
3736 {
3737#line 84
3738 tmp = get_current();
3739#line 84
3740 __cil_tmp22 = & wait;
3741#line 84
3742 *((unsigned int *)__cil_tmp22) = 0U;
3743#line 84
3744 __cil_tmp23 = (unsigned long )(& wait) + 8;
3745#line 84
3746 *((void **)__cil_tmp23) = (void *)tmp;
3747#line 84
3748 __cil_tmp24 = (unsigned long )(& wait) + 16;
3749#line 84
3750 *((int (**)(wait_queue_t * , unsigned int , int , void * ))__cil_tmp24) = & default_wake_function;
3751#line 84
3752 __cil_tmp25 = (unsigned long )(& wait) + 24;
3753#line 84
3754 *((struct list_head **)__cil_tmp25) = (struct list_head *)0;
3755#line 84
3756 __cil_tmp26 = 24 + 8;
3757#line 84
3758 __cil_tmp27 = (unsigned long )(& wait) + __cil_tmp26;
3759#line 84
3760 *((struct list_head **)__cil_tmp27) = (struct list_head *)0;
3761#line 93
3762 __init_waitqueue_head(& wait_q, "&wait_q", & __key);
3763#line 94
3764 __cil_tmp28 = & erase;
3765#line 94
3766 *((struct mtd_info **)__cil_tmp28) = mtd;
3767#line 95
3768 __cil_tmp29 = (unsigned long )(& erase) + 56;
3769#line 95
3770 *((void (**)(struct erase_info * ))__cil_tmp29) = & erase_callback;
3771#line 96
3772 __cil_tmp30 = (unsigned long )(& erase) + 8;
3773#line 96
3774 *((uint64_t *)__cil_tmp30) = (uint64_t )pos;
3775#line 97
3776 __cil_tmp31 = (unsigned long )(& erase) + 16;
3777#line 97
3778 *((uint64_t *)__cil_tmp31) = (uint64_t )len;
3779#line 98
3780 __cil_tmp32 = (unsigned long )(& erase) + 64;
3781#line 98
3782 *((u_long *)__cil_tmp32) = (unsigned long )(& wait_q);
3783#line 100
3784 __ret = (long volatile )1L;
3785 }
3786#line 100
3787 if (8 == 1) {
3788#line 100
3789 goto case_1;
3790 } else
3791#line 100
3792 if (8 == 2) {
3793#line 100
3794 goto case_2;
3795 } else
3796#line 100
3797 if (8 == 4) {
3798#line 100
3799 goto case_4;
3800 } else
3801#line 100
3802 if (8 == 8) {
3803#line 100
3804 goto case_8;
3805 } else {
3806 {
3807#line 100
3808 goto switch_default;
3809#line 100
3810 if (0) {
3811 case_1:
3812 {
3813#line 100
3814 tmp___0 = get_current();
3815#line 100
3816 __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret), "+m" (*((long volatile *)tmp___0)): : "memory",
3817 "cc");
3818 }
3819#line 100
3820 goto ldv_21868;
3821 case_2:
3822 {
3823#line 100
3824 tmp___1 = get_current();
3825#line 100
3826 __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___1)): : "memory",
3827 "cc");
3828 }
3829#line 100
3830 goto ldv_21868;
3831 case_4:
3832 {
3833#line 100
3834 tmp___2 = get_current();
3835#line 100
3836 __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___2)): : "memory",
3837 "cc");
3838 }
3839#line 100
3840 goto ldv_21868;
3841 case_8:
3842 {
3843#line 100
3844 tmp___3 = get_current();
3845#line 100
3846 __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___3)): : "memory",
3847 "cc");
3848 }
3849#line 100
3850 goto ldv_21868;
3851 switch_default:
3852 {
3853#line 100
3854 __xchg_wrong_size();
3855 }
3856 } else {
3857 switch_break: ;
3858 }
3859 }
3860 }
3861 ldv_21868:
3862 {
3863#line 101
3864 add_wait_queue(& wait_q, & wait);
3865#line 103
3866 ret = mtd_erase(mtd, & erase);
3867 }
3868#line 104
3869 if (ret != 0) {
3870#line 105
3871 __ret___0 = (long volatile )0L;
3872#line 105
3873 if (8 == 1) {
3874#line 105
3875 goto case_1___0;
3876 } else
3877#line 105
3878 if (8 == 2) {
3879#line 105
3880 goto case_2___0;
3881 } else
3882#line 105
3883 if (8 == 4) {
3884#line 105
3885 goto case_4___0;
3886 } else
3887#line 105
3888 if (8 == 8) {
3889#line 105
3890 goto case_8___0;
3891 } else {
3892 {
3893#line 105
3894 goto switch_default___0;
3895#line 105
3896 if (0) {
3897 case_1___0:
3898 {
3899#line 105
3900 tmp___4 = get_current();
3901#line 105
3902 __asm__ volatile ("xchgb %b0, %1\n": "+q" (__ret___0), "+m" (*((long volatile *)tmp___4)): : "memory",
3903 "cc");
3904 }
3905#line 105
3906 goto ldv_21876;
3907 case_2___0:
3908 {
3909#line 105
3910 tmp___5 = get_current();
3911#line 105
3912 __asm__ volatile ("xchgw %w0, %1\n": "+r" (__ret___0), "+m" (*((long volatile *)tmp___5)): : "memory",
3913 "cc");
3914 }
3915#line 105
3916 goto ldv_21876;
3917 case_4___0:
3918 {
3919#line 105
3920 tmp___6 = get_current();
3921#line 105
3922 __asm__ volatile ("xchgl %0, %1\n": "+r" (__ret___0), "+m" (*((long volatile *)tmp___6)): : "memory",
3923 "cc");
3924 }
3925#line 105
3926 goto ldv_21876;
3927 case_8___0:
3928 {
3929#line 105
3930 tmp___7 = get_current();
3931#line 105
3932 __asm__ volatile ("xchgq %q0, %1\n": "+r" (__ret___0), "+m" (*((long volatile *)tmp___7)): : "memory",
3933 "cc");
3934 }
3935#line 105
3936 goto ldv_21876;
3937 switch_default___0:
3938 {
3939#line 105
3940 __xchg_wrong_size();
3941 }
3942 } else {
3943 switch_break___0: ;
3944 }
3945 }
3946 }
3947 ldv_21876:
3948 {
3949#line 106
3950 remove_wait_queue(& wait_q, & wait);
3951#line 107
3952 __cil_tmp33 = (unsigned long )mtd;
3953#line 107
3954 __cil_tmp34 = __cil_tmp33 + 56;
3955#line 107
3956 __cil_tmp35 = *((char const **)__cil_tmp34);
3957#line 107
3958 printk("<4>mtdblock: erase of region [0x%lx, 0x%x] on \"%s\" failed\n", pos, len,
3959 __cil_tmp35);
3960 }
3961#line 110
3962 return (ret);
3963 } else {
3964
3965 }
3966 {
3967#line 113
3968 schedule();
3969#line 114
3970 remove_wait_queue(& wait_q, & wait);
3971#line 120
3972 __cil_tmp36 = (loff_t )pos;
3973#line 120
3974 __cil_tmp37 = (size_t )len;
3975#line 120
3976 __cil_tmp38 = (u_char const *)buf;
3977#line 120
3978 ret = mtd_write(mtd, __cil_tmp36, __cil_tmp37, & retlen, __cil_tmp38);
3979 }
3980#line 121
3981 if (ret != 0) {
3982#line 122
3983 return (ret);
3984 } else {
3985
3986 }
3987 {
3988#line 123
3989 __cil_tmp39 = & retlen;
3990#line 123
3991 __cil_tmp40 = *__cil_tmp39;
3992#line 123
3993 __cil_tmp41 = (size_t )len;
3994#line 123
3995 if (__cil_tmp41 != __cil_tmp40) {
3996#line 124
3997 return (-5);
3998 } else {
3999
4000 }
4001 }
4002#line 125
4003 return (0);
4004}
4005}
4006#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
4007static int write_cached_data(struct mtdblk_dev *mtdblk )
4008{ struct mtd_info *mtd ;
4009 int ret ;
4010 struct _ddebug descriptor ;
4011 long tmp ;
4012 unsigned long __cil_tmp6 ;
4013 unsigned long __cil_tmp7 ;
4014 unsigned long __cil_tmp8 ;
4015 unsigned long __cil_tmp9 ;
4016 unsigned long __cil_tmp10 ;
4017 enum ldv_17573 __cil_tmp11 ;
4018 unsigned int __cil_tmp12 ;
4019 struct _ddebug *__cil_tmp13 ;
4020 unsigned long __cil_tmp14 ;
4021 unsigned long __cil_tmp15 ;
4022 unsigned long __cil_tmp16 ;
4023 unsigned long __cil_tmp17 ;
4024 unsigned long __cil_tmp18 ;
4025 unsigned long __cil_tmp19 ;
4026 unsigned char __cil_tmp20 ;
4027 long __cil_tmp21 ;
4028 long __cil_tmp22 ;
4029 unsigned long __cil_tmp23 ;
4030 unsigned long __cil_tmp24 ;
4031 char const *__cil_tmp25 ;
4032 unsigned long __cil_tmp26 ;
4033 unsigned long __cil_tmp27 ;
4034 unsigned long __cil_tmp28 ;
4035 unsigned long __cil_tmp29 ;
4036 unsigned long __cil_tmp30 ;
4037 unsigned int __cil_tmp31 ;
4038 unsigned long __cil_tmp32 ;
4039 unsigned long __cil_tmp33 ;
4040 unsigned long __cil_tmp34 ;
4041 unsigned long __cil_tmp35 ;
4042 unsigned long __cil_tmp36 ;
4043 unsigned int __cil_tmp37 ;
4044 int __cil_tmp38 ;
4045 unsigned long __cil_tmp39 ;
4046 unsigned long __cil_tmp40 ;
4047 unsigned char *__cil_tmp41 ;
4048 char const *__cil_tmp42 ;
4049 unsigned long __cil_tmp43 ;
4050 unsigned long __cil_tmp44 ;
4051
4052 {
4053#line 131
4054 __cil_tmp6 = 0 + 24;
4055#line 131
4056 __cil_tmp7 = (unsigned long )mtdblk;
4057#line 131
4058 __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
4059#line 131
4060 mtd = *((struct mtd_info **)__cil_tmp8);
4061 {
4062#line 134
4063 __cil_tmp9 = (unsigned long )mtdblk;
4064#line 134
4065 __cil_tmp10 = __cil_tmp9 + 548;
4066#line 134
4067 __cil_tmp11 = *((enum ldv_17573 *)__cil_tmp10);
4068#line 134
4069 __cil_tmp12 = (unsigned int )__cil_tmp11;
4070#line 134
4071 if (__cil_tmp12 != 2U) {
4072#line 135
4073 return (0);
4074 } else {
4075
4076 }
4077 }
4078 {
4079#line 137
4080 __cil_tmp13 = & descriptor;
4081#line 137
4082 *((char const **)__cil_tmp13) = "mtdblock";
4083#line 137
4084 __cil_tmp14 = (unsigned long )(& descriptor) + 8;
4085#line 137
4086 *((char const **)__cil_tmp14) = "write_cached_data";
4087#line 137
4088 __cil_tmp15 = (unsigned long )(& descriptor) + 16;
4089#line 137
4090 *((char const **)__cil_tmp15) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
4091#line 137
4092 __cil_tmp16 = (unsigned long )(& descriptor) + 24;
4093#line 137
4094 *((char const **)__cil_tmp16) = "mtdblock: writing cached data for \"%s\" at 0x%lx, size 0x%x\n";
4095#line 137
4096 __cil_tmp17 = (unsigned long )(& descriptor) + 32;
4097#line 137
4098 *((unsigned int *)__cil_tmp17) = 139U;
4099#line 137
4100 __cil_tmp18 = (unsigned long )(& descriptor) + 35;
4101#line 137
4102 *((unsigned char *)__cil_tmp18) = (unsigned char)0;
4103#line 137
4104 __cil_tmp19 = (unsigned long )(& descriptor) + 35;
4105#line 137
4106 __cil_tmp20 = *((unsigned char *)__cil_tmp19);
4107#line 137
4108 __cil_tmp21 = (long )__cil_tmp20;
4109#line 137
4110 __cil_tmp22 = __cil_tmp21 & 1L;
4111#line 137
4112 tmp = __builtin_expect(__cil_tmp22, 0L);
4113 }
4114#line 137
4115 if (tmp != 0L) {
4116 {
4117#line 137
4118 __cil_tmp23 = (unsigned long )mtd;
4119#line 137
4120 __cil_tmp24 = __cil_tmp23 + 56;
4121#line 137
4122 __cil_tmp25 = *((char const **)__cil_tmp24);
4123#line 137
4124 __cil_tmp26 = (unsigned long )mtdblk;
4125#line 137
4126 __cil_tmp27 = __cil_tmp26 + 536;
4127#line 137
4128 __cil_tmp28 = *((unsigned long *)__cil_tmp27);
4129#line 137
4130 __cil_tmp29 = (unsigned long )mtdblk;
4131#line 137
4132 __cil_tmp30 = __cil_tmp29 + 544;
4133#line 137
4134 __cil_tmp31 = *((unsigned int *)__cil_tmp30);
4135#line 137
4136 __dynamic_pr_debug(& descriptor, "mtdblock: writing cached data for \"%s\" at 0x%lx, size 0x%x\n",
4137 __cil_tmp25, __cil_tmp28, __cil_tmp31);
4138 }
4139 } else {
4140
4141 }
4142 {
4143#line 141
4144 __cil_tmp32 = (unsigned long )mtdblk;
4145#line 141
4146 __cil_tmp33 = __cil_tmp32 + 536;
4147#line 141
4148 __cil_tmp34 = *((unsigned long *)__cil_tmp33);
4149#line 141
4150 __cil_tmp35 = (unsigned long )mtdblk;
4151#line 141
4152 __cil_tmp36 = __cil_tmp35 + 544;
4153#line 141
4154 __cil_tmp37 = *((unsigned int *)__cil_tmp36);
4155#line 141
4156 __cil_tmp38 = (int )__cil_tmp37;
4157#line 141
4158 __cil_tmp39 = (unsigned long )mtdblk;
4159#line 141
4160 __cil_tmp40 = __cil_tmp39 + 528;
4161#line 141
4162 __cil_tmp41 = *((unsigned char **)__cil_tmp40);
4163#line 141
4164 __cil_tmp42 = (char const *)__cil_tmp41;
4165#line 141
4166 ret = erase_write(mtd, __cil_tmp34, __cil_tmp38, __cil_tmp42);
4167 }
4168#line 143
4169 if (ret != 0) {
4170#line 144
4171 return (ret);
4172 } else {
4173
4174 }
4175#line 153
4176 __cil_tmp43 = (unsigned long )mtdblk;
4177#line 153
4178 __cil_tmp44 = __cil_tmp43 + 548;
4179#line 153
4180 *((enum ldv_17573 *)__cil_tmp44) = (enum ldv_17573 )0;
4181#line 154
4182 return (0);
4183}
4184}
4185#line 158 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
4186static int do_cached_write(struct mtdblk_dev *mtdblk , unsigned long pos , int len ,
4187 char const *buf )
4188{ struct mtd_info *mtd ;
4189 unsigned int sect_size ;
4190 size_t retlen ;
4191 int ret ;
4192 struct _ddebug descriptor ;
4193 long tmp ;
4194 int tmp___0 ;
4195 unsigned long sect_start ;
4196 unsigned int offset ;
4197 unsigned int size ;
4198 size_t __len ;
4199 void *__ret ;
4200 unsigned long __cil_tmp17 ;
4201 unsigned long __cil_tmp18 ;
4202 unsigned long __cil_tmp19 ;
4203 unsigned long __cil_tmp20 ;
4204 unsigned long __cil_tmp21 ;
4205 struct _ddebug *__cil_tmp22 ;
4206 unsigned long __cil_tmp23 ;
4207 unsigned long __cil_tmp24 ;
4208 unsigned long __cil_tmp25 ;
4209 unsigned long __cil_tmp26 ;
4210 unsigned long __cil_tmp27 ;
4211 unsigned long __cil_tmp28 ;
4212 unsigned char __cil_tmp29 ;
4213 long __cil_tmp30 ;
4214 long __cil_tmp31 ;
4215 unsigned long __cil_tmp32 ;
4216 unsigned long __cil_tmp33 ;
4217 char const *__cil_tmp34 ;
4218 loff_t __cil_tmp35 ;
4219 size_t __cil_tmp36 ;
4220 u_char const *__cil_tmp37 ;
4221 unsigned long __cil_tmp38 ;
4222 unsigned long __cil_tmp39 ;
4223 unsigned long __cil_tmp40 ;
4224 unsigned int __cil_tmp41 ;
4225 unsigned int __cil_tmp42 ;
4226 unsigned int __cil_tmp43 ;
4227 int __cil_tmp44 ;
4228 unsigned long __cil_tmp45 ;
4229 unsigned long __cil_tmp46 ;
4230 enum ldv_17573 __cil_tmp47 ;
4231 unsigned int __cil_tmp48 ;
4232 unsigned long __cil_tmp49 ;
4233 unsigned long __cil_tmp50 ;
4234 unsigned long __cil_tmp51 ;
4235 unsigned long __cil_tmp52 ;
4236 unsigned long __cil_tmp53 ;
4237 enum ldv_17573 __cil_tmp54 ;
4238 unsigned int __cil_tmp55 ;
4239 unsigned long __cil_tmp56 ;
4240 unsigned long __cil_tmp57 ;
4241 unsigned long __cil_tmp58 ;
4242 unsigned long __cil_tmp59 ;
4243 unsigned long __cil_tmp60 ;
4244 loff_t __cil_tmp61 ;
4245 size_t __cil_tmp62 ;
4246 unsigned long __cil_tmp63 ;
4247 unsigned long __cil_tmp64 ;
4248 unsigned char *__cil_tmp65 ;
4249 size_t *__cil_tmp66 ;
4250 size_t __cil_tmp67 ;
4251 size_t __cil_tmp68 ;
4252 unsigned long __cil_tmp69 ;
4253 unsigned long __cil_tmp70 ;
4254 unsigned long __cil_tmp71 ;
4255 unsigned long __cil_tmp72 ;
4256 unsigned long __cil_tmp73 ;
4257 unsigned long __cil_tmp74 ;
4258 unsigned long __cil_tmp75 ;
4259 unsigned long __cil_tmp76 ;
4260 unsigned long __cil_tmp77 ;
4261 unsigned char *__cil_tmp78 ;
4262 void *__cil_tmp79 ;
4263 void *__cil_tmp80 ;
4264 void const *__cil_tmp81 ;
4265 unsigned long __cil_tmp82 ;
4266 unsigned long __cil_tmp83 ;
4267 unsigned long __cil_tmp84 ;
4268 unsigned long __cil_tmp85 ;
4269 unsigned int __cil_tmp86 ;
4270 unsigned int __cil_tmp87 ;
4271
4272 {
4273 {
4274#line 161
4275 __cil_tmp17 = 0 + 24;
4276#line 161
4277 __cil_tmp18 = (unsigned long )mtdblk;
4278#line 161
4279 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
4280#line 161
4281 mtd = *((struct mtd_info **)__cil_tmp19);
4282#line 162
4283 __cil_tmp20 = (unsigned long )mtdblk;
4284#line 162
4285 __cil_tmp21 = __cil_tmp20 + 544;
4286#line 162
4287 sect_size = *((unsigned int *)__cil_tmp21);
4288#line 166
4289 __cil_tmp22 = & descriptor;
4290#line 166
4291 *((char const **)__cil_tmp22) = "mtdblock";
4292#line 166
4293 __cil_tmp23 = (unsigned long )(& descriptor) + 8;
4294#line 166
4295 *((char const **)__cil_tmp23) = "do_cached_write";
4296#line 166
4297 __cil_tmp24 = (unsigned long )(& descriptor) + 16;
4298#line 166
4299 *((char const **)__cil_tmp24) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
4300#line 166
4301 __cil_tmp25 = (unsigned long )(& descriptor) + 24;
4302#line 166
4303 *((char const **)__cil_tmp25) = "mtdblock: write on \"%s\" at 0x%lx, size 0x%x\n";
4304#line 166
4305 __cil_tmp26 = (unsigned long )(& descriptor) + 32;
4306#line 166
4307 *((unsigned int *)__cil_tmp26) = 167U;
4308#line 166
4309 __cil_tmp27 = (unsigned long )(& descriptor) + 35;
4310#line 166
4311 *((unsigned char *)__cil_tmp27) = (unsigned char)0;
4312#line 166
4313 __cil_tmp28 = (unsigned long )(& descriptor) + 35;
4314#line 166
4315 __cil_tmp29 = *((unsigned char *)__cil_tmp28);
4316#line 166
4317 __cil_tmp30 = (long )__cil_tmp29;
4318#line 166
4319 __cil_tmp31 = __cil_tmp30 & 1L;
4320#line 166
4321 tmp = __builtin_expect(__cil_tmp31, 0L);
4322 }
4323#line 166
4324 if (tmp != 0L) {
4325 {
4326#line 166
4327 __cil_tmp32 = (unsigned long )mtd;
4328#line 166
4329 __cil_tmp33 = __cil_tmp32 + 56;
4330#line 166
4331 __cil_tmp34 = *((char const **)__cil_tmp33);
4332#line 166
4333 __dynamic_pr_debug(& descriptor, "mtdblock: write on \"%s\" at 0x%lx, size 0x%x\n",
4334 __cil_tmp34, pos, len);
4335 }
4336 } else {
4337
4338 }
4339#line 169
4340 if (sect_size == 0U) {
4341 {
4342#line 170
4343 __cil_tmp35 = (loff_t )pos;
4344#line 170
4345 __cil_tmp36 = (size_t )len;
4346#line 170
4347 __cil_tmp37 = (u_char const *)buf;
4348#line 170
4349 tmp___0 = mtd_write(mtd, __cil_tmp35, __cil_tmp36, & retlen, __cil_tmp37);
4350 }
4351#line 170
4352 return (tmp___0);
4353 } else {
4354
4355 }
4356#line 172
4357 goto ldv_21908;
4358 ldv_21907:
4359#line 173
4360 __cil_tmp38 = (unsigned long )sect_size;
4361#line 173
4362 __cil_tmp39 = (unsigned long )sect_size;
4363#line 173
4364 __cil_tmp40 = pos / __cil_tmp39;
4365#line 173
4366 sect_start = __cil_tmp40 * __cil_tmp38;
4367#line 174
4368 __cil_tmp41 = (unsigned int )sect_start;
4369#line 174
4370 __cil_tmp42 = (unsigned int )pos;
4371#line 174
4372 offset = __cil_tmp42 - __cil_tmp41;
4373#line 175
4374 size = sect_size - offset;
4375 {
4376#line 176
4377 __cil_tmp43 = (unsigned int )len;
4378#line 176
4379 if (__cil_tmp43 < size) {
4380#line 177
4381 size = (unsigned int )len;
4382 } else {
4383
4384 }
4385 }
4386#line 179
4387 if (size == sect_size) {
4388 {
4389#line 185
4390 __cil_tmp44 = (int )size;
4391#line 185
4392 ret = erase_write(mtd, pos, __cil_tmp44, buf);
4393 }
4394#line 186
4395 if (ret != 0) {
4396#line 187
4397 return (ret);
4398 } else {
4399
4400 }
4401 } else {
4402 {
4403#line 191
4404 __cil_tmp45 = (unsigned long )mtdblk;
4405#line 191
4406 __cil_tmp46 = __cil_tmp45 + 548;
4407#line 191
4408 __cil_tmp47 = *((enum ldv_17573 *)__cil_tmp46);
4409#line 191
4410 __cil_tmp48 = (unsigned int )__cil_tmp47;
4411#line 191
4412 if (__cil_tmp48 == 2U) {
4413 {
4414#line 191
4415 __cil_tmp49 = (unsigned long )mtdblk;
4416#line 191
4417 __cil_tmp50 = __cil_tmp49 + 536;
4418#line 191
4419 __cil_tmp51 = *((unsigned long *)__cil_tmp50);
4420#line 191
4421 if (__cil_tmp51 != sect_start) {
4422 {
4423#line 193
4424 ret = write_cached_data(mtdblk);
4425 }
4426#line 194
4427 if (ret != 0) {
4428#line 195
4429 return (ret);
4430 } else {
4431
4432 }
4433 } else {
4434
4435 }
4436 }
4437 } else {
4438
4439 }
4440 }
4441 {
4442#line 198
4443 __cil_tmp52 = (unsigned long )mtdblk;
4444#line 198
4445 __cil_tmp53 = __cil_tmp52 + 548;
4446#line 198
4447 __cil_tmp54 = *((enum ldv_17573 *)__cil_tmp53);
4448#line 198
4449 __cil_tmp55 = (unsigned int )__cil_tmp54;
4450#line 198
4451 if (__cil_tmp55 == 0U) {
4452#line 198
4453 goto _L;
4454 } else {
4455 {
4456#line 198
4457 __cil_tmp56 = (unsigned long )mtdblk;
4458#line 198
4459 __cil_tmp57 = __cil_tmp56 + 536;
4460#line 198
4461 __cil_tmp58 = *((unsigned long *)__cil_tmp57);
4462#line 198
4463 if (__cil_tmp58 != sect_start) {
4464 _L:
4465 {
4466#line 201
4467 __cil_tmp59 = (unsigned long )mtdblk;
4468#line 201
4469 __cil_tmp60 = __cil_tmp59 + 548;
4470#line 201
4471 *((enum ldv_17573 *)__cil_tmp60) = (enum ldv_17573 )0;
4472#line 202
4473 __cil_tmp61 = (loff_t )sect_start;
4474#line 202
4475 __cil_tmp62 = (size_t )sect_size;
4476#line 202
4477 __cil_tmp63 = (unsigned long )mtdblk;
4478#line 202
4479 __cil_tmp64 = __cil_tmp63 + 528;
4480#line 202
4481 __cil_tmp65 = *((unsigned char **)__cil_tmp64);
4482#line 202
4483 ret = mtd_read(mtd, __cil_tmp61, __cil_tmp62, & retlen, __cil_tmp65);
4484 }
4485#line 204
4486 if (ret != 0) {
4487#line 205
4488 return (ret);
4489 } else {
4490
4491 }
4492 {
4493#line 206
4494 __cil_tmp66 = & retlen;
4495#line 206
4496 __cil_tmp67 = *__cil_tmp66;
4497#line 206
4498 __cil_tmp68 = (size_t )sect_size;
4499#line 206
4500 if (__cil_tmp68 != __cil_tmp67) {
4501#line 207
4502 return (-5);
4503 } else {
4504
4505 }
4506 }
4507#line 209
4508 __cil_tmp69 = (unsigned long )mtdblk;
4509#line 209
4510 __cil_tmp70 = __cil_tmp69 + 536;
4511#line 209
4512 *((unsigned long *)__cil_tmp70) = sect_start;
4513#line 210
4514 __cil_tmp71 = (unsigned long )mtdblk;
4515#line 210
4516 __cil_tmp72 = __cil_tmp71 + 544;
4517#line 210
4518 *((unsigned int *)__cil_tmp72) = sect_size;
4519#line 211
4520 __cil_tmp73 = (unsigned long )mtdblk;
4521#line 211
4522 __cil_tmp74 = __cil_tmp73 + 548;
4523#line 211
4524 *((enum ldv_17573 *)__cil_tmp74) = (enum ldv_17573 )1;
4525 } else {
4526
4527 }
4528 }
4529 }
4530 }
4531 {
4532#line 215
4533 __len = (size_t )size;
4534#line 215
4535 __cil_tmp75 = (unsigned long )offset;
4536#line 215
4537 __cil_tmp76 = (unsigned long )mtdblk;
4538#line 215
4539 __cil_tmp77 = __cil_tmp76 + 528;
4540#line 215
4541 __cil_tmp78 = *((unsigned char **)__cil_tmp77);
4542#line 215
4543 __cil_tmp79 = (void *)__cil_tmp78;
4544#line 215
4545 __cil_tmp80 = __cil_tmp79 + __cil_tmp75;
4546#line 215
4547 __cil_tmp81 = (void const *)buf;
4548#line 215
4549 __ret = __builtin_memcpy(__cil_tmp80, __cil_tmp81, __len);
4550#line 216
4551 __cil_tmp82 = (unsigned long )mtdblk;
4552#line 216
4553 __cil_tmp83 = __cil_tmp82 + 548;
4554#line 216
4555 *((enum ldv_17573 *)__cil_tmp83) = (enum ldv_17573 )2;
4556 }
4557 }
4558#line 219
4559 __cil_tmp84 = (unsigned long )size;
4560#line 219
4561 buf = buf + __cil_tmp84;
4562#line 220
4563 __cil_tmp85 = (unsigned long )size;
4564#line 220
4565 pos = __cil_tmp85 + pos;
4566#line 221
4567 __cil_tmp86 = (unsigned int )len;
4568#line 221
4569 __cil_tmp87 = __cil_tmp86 - size;
4570#line 221
4571 len = (int )__cil_tmp87;
4572 ldv_21908: ;
4573#line 172
4574 if (len > 0) {
4575#line 173
4576 goto ldv_21907;
4577 } else {
4578#line 175
4579 goto ldv_21909;
4580 }
4581 ldv_21909: ;
4582#line 224
4583 return (0);
4584}
4585}
4586#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
4587static int do_cached_read(struct mtdblk_dev *mtdblk , unsigned long pos , int len ,
4588 char *buf )
4589{ struct mtd_info *mtd ;
4590 unsigned int sect_size ;
4591 size_t retlen ;
4592 int ret ;
4593 struct _ddebug descriptor ;
4594 long tmp ;
4595 int tmp___0 ;
4596 unsigned long sect_start ;
4597 unsigned int offset ;
4598 unsigned int size ;
4599 size_t __len ;
4600 void *__ret ;
4601 unsigned long __cil_tmp17 ;
4602 unsigned long __cil_tmp18 ;
4603 unsigned long __cil_tmp19 ;
4604 unsigned long __cil_tmp20 ;
4605 unsigned long __cil_tmp21 ;
4606 struct _ddebug *__cil_tmp22 ;
4607 unsigned long __cil_tmp23 ;
4608 unsigned long __cil_tmp24 ;
4609 unsigned long __cil_tmp25 ;
4610 unsigned long __cil_tmp26 ;
4611 unsigned long __cil_tmp27 ;
4612 unsigned long __cil_tmp28 ;
4613 unsigned char __cil_tmp29 ;
4614 long __cil_tmp30 ;
4615 long __cil_tmp31 ;
4616 unsigned long __cil_tmp32 ;
4617 unsigned long __cil_tmp33 ;
4618 char const *__cil_tmp34 ;
4619 loff_t __cil_tmp35 ;
4620 size_t __cil_tmp36 ;
4621 u_char *__cil_tmp37 ;
4622 unsigned long __cil_tmp38 ;
4623 unsigned long __cil_tmp39 ;
4624 unsigned long __cil_tmp40 ;
4625 unsigned int __cil_tmp41 ;
4626 unsigned int __cil_tmp42 ;
4627 unsigned int __cil_tmp43 ;
4628 unsigned long __cil_tmp44 ;
4629 unsigned long __cil_tmp45 ;
4630 enum ldv_17573 __cil_tmp46 ;
4631 unsigned int __cil_tmp47 ;
4632 unsigned long __cil_tmp48 ;
4633 unsigned long __cil_tmp49 ;
4634 unsigned long __cil_tmp50 ;
4635 void *__cil_tmp51 ;
4636 unsigned long __cil_tmp52 ;
4637 unsigned long __cil_tmp53 ;
4638 unsigned long __cil_tmp54 ;
4639 unsigned char *__cil_tmp55 ;
4640 void const *__cil_tmp56 ;
4641 void const *__cil_tmp57 ;
4642 loff_t __cil_tmp58 ;
4643 size_t __cil_tmp59 ;
4644 u_char *__cil_tmp60 ;
4645 size_t *__cil_tmp61 ;
4646 size_t __cil_tmp62 ;
4647 size_t __cil_tmp63 ;
4648 unsigned long __cil_tmp64 ;
4649 unsigned long __cil_tmp65 ;
4650 unsigned int __cil_tmp66 ;
4651 unsigned int __cil_tmp67 ;
4652
4653 {
4654 {
4655#line 231
4656 __cil_tmp17 = 0 + 24;
4657#line 231
4658 __cil_tmp18 = (unsigned long )mtdblk;
4659#line 231
4660 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
4661#line 231
4662 mtd = *((struct mtd_info **)__cil_tmp19);
4663#line 232
4664 __cil_tmp20 = (unsigned long )mtdblk;
4665#line 232
4666 __cil_tmp21 = __cil_tmp20 + 544;
4667#line 232
4668 sect_size = *((unsigned int *)__cil_tmp21);
4669#line 236
4670 __cil_tmp22 = & descriptor;
4671#line 236
4672 *((char const **)__cil_tmp22) = "mtdblock";
4673#line 236
4674 __cil_tmp23 = (unsigned long )(& descriptor) + 8;
4675#line 236
4676 *((char const **)__cil_tmp23) = "do_cached_read";
4677#line 236
4678 __cil_tmp24 = (unsigned long )(& descriptor) + 16;
4679#line 236
4680 *((char const **)__cil_tmp24) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
4681#line 236
4682 __cil_tmp25 = (unsigned long )(& descriptor) + 24;
4683#line 236
4684 *((char const **)__cil_tmp25) = "mtdblock: read on \"%s\" at 0x%lx, size 0x%x\n";
4685#line 236
4686 __cil_tmp26 = (unsigned long )(& descriptor) + 32;
4687#line 236
4688 *((unsigned int *)__cil_tmp26) = 237U;
4689#line 236
4690 __cil_tmp27 = (unsigned long )(& descriptor) + 35;
4691#line 236
4692 *((unsigned char *)__cil_tmp27) = (unsigned char)0;
4693#line 236
4694 __cil_tmp28 = (unsigned long )(& descriptor) + 35;
4695#line 236
4696 __cil_tmp29 = *((unsigned char *)__cil_tmp28);
4697#line 236
4698 __cil_tmp30 = (long )__cil_tmp29;
4699#line 236
4700 __cil_tmp31 = __cil_tmp30 & 1L;
4701#line 236
4702 tmp = __builtin_expect(__cil_tmp31, 0L);
4703 }
4704#line 236
4705 if (tmp != 0L) {
4706 {
4707#line 236
4708 __cil_tmp32 = (unsigned long )mtd;
4709#line 236
4710 __cil_tmp33 = __cil_tmp32 + 56;
4711#line 236
4712 __cil_tmp34 = *((char const **)__cil_tmp33);
4713#line 236
4714 __dynamic_pr_debug(& descriptor, "mtdblock: read on \"%s\" at 0x%lx, size 0x%x\n",
4715 __cil_tmp34, pos, len);
4716 }
4717 } else {
4718
4719 }
4720#line 239
4721 if (sect_size == 0U) {
4722 {
4723#line 240
4724 __cil_tmp35 = (loff_t )pos;
4725#line 240
4726 __cil_tmp36 = (size_t )len;
4727#line 240
4728 __cil_tmp37 = (u_char *)buf;
4729#line 240
4730 tmp___0 = mtd_read(mtd, __cil_tmp35, __cil_tmp36, & retlen, __cil_tmp37);
4731 }
4732#line 240
4733 return (tmp___0);
4734 } else {
4735
4736 }
4737#line 242
4738 goto ldv_21929;
4739 ldv_21928:
4740#line 243
4741 __cil_tmp38 = (unsigned long )sect_size;
4742#line 243
4743 __cil_tmp39 = (unsigned long )sect_size;
4744#line 243
4745 __cil_tmp40 = pos / __cil_tmp39;
4746#line 243
4747 sect_start = __cil_tmp40 * __cil_tmp38;
4748#line 244
4749 __cil_tmp41 = (unsigned int )sect_start;
4750#line 244
4751 __cil_tmp42 = (unsigned int )pos;
4752#line 244
4753 offset = __cil_tmp42 - __cil_tmp41;
4754#line 245
4755 size = sect_size - offset;
4756 {
4757#line 246
4758 __cil_tmp43 = (unsigned int )len;
4759#line 246
4760 if (__cil_tmp43 < size) {
4761#line 247
4762 size = (unsigned int )len;
4763 } else {
4764
4765 }
4766 }
4767 {
4768#line 255
4769 __cil_tmp44 = (unsigned long )mtdblk;
4770#line 255
4771 __cil_tmp45 = __cil_tmp44 + 548;
4772#line 255
4773 __cil_tmp46 = *((enum ldv_17573 *)__cil_tmp45);
4774#line 255
4775 __cil_tmp47 = (unsigned int )__cil_tmp46;
4776#line 255
4777 if (__cil_tmp47 != 0U) {
4778 {
4779#line 255
4780 __cil_tmp48 = (unsigned long )mtdblk;
4781#line 255
4782 __cil_tmp49 = __cil_tmp48 + 536;
4783#line 255
4784 __cil_tmp50 = *((unsigned long *)__cil_tmp49);
4785#line 255
4786 if (__cil_tmp50 == sect_start) {
4787 {
4788#line 257
4789 __len = (size_t )size;
4790#line 257
4791 __cil_tmp51 = (void *)buf;
4792#line 257
4793 __cil_tmp52 = (unsigned long )offset;
4794#line 257
4795 __cil_tmp53 = (unsigned long )mtdblk;
4796#line 257
4797 __cil_tmp54 = __cil_tmp53 + 528;
4798#line 257
4799 __cil_tmp55 = *((unsigned char **)__cil_tmp54);
4800#line 257
4801 __cil_tmp56 = (void const *)__cil_tmp55;
4802#line 257
4803 __cil_tmp57 = __cil_tmp56 + __cil_tmp52;
4804#line 257
4805 __ret = __builtin_memcpy(__cil_tmp51, __cil_tmp57, __len);
4806 }
4807 } else {
4808#line 255
4809 goto _L;
4810 }
4811 }
4812 } else {
4813 _L:
4814 {
4815#line 259
4816 __cil_tmp58 = (loff_t )pos;
4817#line 259
4818 __cil_tmp59 = (size_t )size;
4819#line 259
4820 __cil_tmp60 = (u_char *)buf;
4821#line 259
4822 ret = mtd_read(mtd, __cil_tmp58, __cil_tmp59, & retlen, __cil_tmp60);
4823 }
4824#line 260
4825 if (ret != 0) {
4826#line 261
4827 return (ret);
4828 } else {
4829
4830 }
4831 {
4832#line 262
4833 __cil_tmp61 = & retlen;
4834#line 262
4835 __cil_tmp62 = *__cil_tmp61;
4836#line 262
4837 __cil_tmp63 = (size_t )size;
4838#line 262
4839 if (__cil_tmp63 != __cil_tmp62) {
4840#line 263
4841 return (-5);
4842 } else {
4843
4844 }
4845 }
4846 }
4847 }
4848#line 266
4849 __cil_tmp64 = (unsigned long )size;
4850#line 266
4851 buf = buf + __cil_tmp64;
4852#line 267
4853 __cil_tmp65 = (unsigned long )size;
4854#line 267
4855 pos = __cil_tmp65 + pos;
4856#line 268
4857 __cil_tmp66 = (unsigned int )len;
4858#line 268
4859 __cil_tmp67 = __cil_tmp66 - size;
4860#line 268
4861 len = (int )__cil_tmp67;
4862 ldv_21929: ;
4863#line 242
4864 if (len > 0) {
4865#line 243
4866 goto ldv_21928;
4867 } else {
4868#line 245
4869 goto ldv_21930;
4870 }
4871 ldv_21930: ;
4872#line 271
4873 return (0);
4874}
4875}
4876#line 274 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
4877static int mtdblock_readsect(struct mtd_blktrans_dev *dev , unsigned long block ,
4878 char *buf )
4879{ struct mtdblk_dev *mtdblk ;
4880 struct mtd_blktrans_dev const *__mptr ;
4881 int tmp ;
4882 unsigned long __cil_tmp7 ;
4883
4884 {
4885 {
4886#line 277
4887 __mptr = (struct mtd_blktrans_dev const *)dev;
4888#line 277
4889 mtdblk = (struct mtdblk_dev *)__mptr;
4890#line 278
4891 __cil_tmp7 = block << 9;
4892#line 278
4893 tmp = do_cached_read(mtdblk, __cil_tmp7, 512, buf);
4894 }
4895#line 278
4896 return (tmp);
4897}
4898}
4899#line 281 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
4900static int mtdblock_writesect(struct mtd_blktrans_dev *dev , unsigned long block ,
4901 char *buf )
4902{ struct mtdblk_dev *mtdblk ;
4903 struct mtd_blktrans_dev const *__mptr ;
4904 void *tmp ;
4905 long tmp___0 ;
4906 long tmp___1 ;
4907 int tmp___2 ;
4908 unsigned char *__cil_tmp10 ;
4909 unsigned long __cil_tmp11 ;
4910 unsigned long __cil_tmp12 ;
4911 unsigned long __cil_tmp13 ;
4912 unsigned char *__cil_tmp14 ;
4913 unsigned long __cil_tmp15 ;
4914 int __cil_tmp16 ;
4915 long __cil_tmp17 ;
4916 unsigned long __cil_tmp18 ;
4917 unsigned long __cil_tmp19 ;
4918 unsigned int __cil_tmp20 ;
4919 int __cil_tmp21 ;
4920 long __cil_tmp22 ;
4921 unsigned long __cil_tmp23 ;
4922 unsigned long __cil_tmp24 ;
4923 unsigned long __cil_tmp25 ;
4924 struct mtd_info *__cil_tmp26 ;
4925 unsigned long __cil_tmp27 ;
4926 unsigned long __cil_tmp28 ;
4927 uint32_t __cil_tmp29 ;
4928 unsigned long __cil_tmp30 ;
4929 unsigned long __cil_tmp31 ;
4930 unsigned long __cil_tmp32 ;
4931 unsigned char *__cil_tmp33 ;
4932 unsigned long __cil_tmp34 ;
4933 unsigned long __cil_tmp35 ;
4934 unsigned long __cil_tmp36 ;
4935 unsigned char *__cil_tmp37 ;
4936 unsigned long __cil_tmp38 ;
4937 unsigned long __cil_tmp39 ;
4938 char const *__cil_tmp40 ;
4939
4940 {
4941 {
4942#line 284
4943 __mptr = (struct mtd_blktrans_dev const *)dev;
4944#line 284
4945 mtdblk = (struct mtdblk_dev *)__mptr;
4946#line 285
4947 __cil_tmp10 = (unsigned char *)0;
4948#line 285
4949 __cil_tmp11 = (unsigned long )__cil_tmp10;
4950#line 285
4951 __cil_tmp12 = (unsigned long )mtdblk;
4952#line 285
4953 __cil_tmp13 = __cil_tmp12 + 528;
4954#line 285
4955 __cil_tmp14 = *((unsigned char **)__cil_tmp13);
4956#line 285
4957 __cil_tmp15 = (unsigned long )__cil_tmp14;
4958#line 285
4959 __cil_tmp16 = __cil_tmp15 == __cil_tmp11;
4960#line 285
4961 __cil_tmp17 = (long )__cil_tmp16;
4962#line 285
4963 tmp___0 = __builtin_expect(__cil_tmp17, 0L);
4964 }
4965#line 285
4966 if (tmp___0 != 0L) {
4967 {
4968#line 285
4969 __cil_tmp18 = (unsigned long )mtdblk;
4970#line 285
4971 __cil_tmp19 = __cil_tmp18 + 544;
4972#line 285
4973 __cil_tmp20 = *((unsigned int *)__cil_tmp19);
4974#line 285
4975 __cil_tmp21 = __cil_tmp20 != 0U;
4976#line 285
4977 __cil_tmp22 = (long )__cil_tmp21;
4978#line 285
4979 tmp___1 = __builtin_expect(__cil_tmp22, 0L);
4980 }
4981#line 285
4982 if (tmp___1 != 0L) {
4983 {
4984#line 286
4985 __cil_tmp23 = 0 + 24;
4986#line 286
4987 __cil_tmp24 = (unsigned long )mtdblk;
4988#line 286
4989 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
4990#line 286
4991 __cil_tmp26 = *((struct mtd_info **)__cil_tmp25);
4992#line 286
4993 __cil_tmp27 = (unsigned long )__cil_tmp26;
4994#line 286
4995 __cil_tmp28 = __cil_tmp27 + 16;
4996#line 286
4997 __cil_tmp29 = *((uint32_t *)__cil_tmp28);
4998#line 286
4999 __cil_tmp30 = (unsigned long )__cil_tmp29;
5000#line 286
5001 tmp = ldv_vmalloc_19(__cil_tmp30);
5002#line 286
5003 __cil_tmp31 = (unsigned long )mtdblk;
5004#line 286
5005 __cil_tmp32 = __cil_tmp31 + 528;
5006#line 286
5007 *((unsigned char **)__cil_tmp32) = (unsigned char *)tmp;
5008 }
5009 {
5010#line 287
5011 __cil_tmp33 = (unsigned char *)0;
5012#line 287
5013 __cil_tmp34 = (unsigned long )__cil_tmp33;
5014#line 287
5015 __cil_tmp35 = (unsigned long )mtdblk;
5016#line 287
5017 __cil_tmp36 = __cil_tmp35 + 528;
5018#line 287
5019 __cil_tmp37 = *((unsigned char **)__cil_tmp36);
5020#line 287
5021 __cil_tmp38 = (unsigned long )__cil_tmp37;
5022#line 287
5023 if (__cil_tmp38 == __cil_tmp34) {
5024#line 288
5025 return (-4);
5026 } else {
5027
5028 }
5029 }
5030 } else {
5031
5032 }
5033 } else {
5034
5035 }
5036 {
5037#line 294
5038 __cil_tmp39 = block << 9;
5039#line 294
5040 __cil_tmp40 = (char const *)buf;
5041#line 294
5042 tmp___2 = do_cached_write(mtdblk, __cil_tmp39, 512, __cil_tmp40);
5043 }
5044#line 294
5045 return (tmp___2);
5046}
5047}
5048#line 297 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5049static int mtdblock_open(struct mtd_blktrans_dev *mbd )
5050{ struct mtdblk_dev *mtdblk ;
5051 struct mtd_blktrans_dev const *__mptr ;
5052 struct _ddebug descriptor ;
5053 long tmp ;
5054 struct lock_class_key __key ;
5055 struct _ddebug descriptor___0 ;
5056 long tmp___0 ;
5057 struct _ddebug *__cil_tmp9 ;
5058 unsigned long __cil_tmp10 ;
5059 unsigned long __cil_tmp11 ;
5060 unsigned long __cil_tmp12 ;
5061 unsigned long __cil_tmp13 ;
5062 unsigned long __cil_tmp14 ;
5063 unsigned long __cil_tmp15 ;
5064 unsigned char __cil_tmp16 ;
5065 long __cil_tmp17 ;
5066 long __cil_tmp18 ;
5067 unsigned long __cil_tmp19 ;
5068 unsigned long __cil_tmp20 ;
5069 int __cil_tmp21 ;
5070 unsigned long __cil_tmp22 ;
5071 unsigned long __cil_tmp23 ;
5072 unsigned long __cil_tmp24 ;
5073 unsigned long __cil_tmp25 ;
5074 int __cil_tmp26 ;
5075 unsigned long __cil_tmp27 ;
5076 unsigned long __cil_tmp28 ;
5077 unsigned long __cil_tmp29 ;
5078 unsigned long __cil_tmp30 ;
5079 struct mutex *__cil_tmp31 ;
5080 unsigned long __cil_tmp32 ;
5081 unsigned long __cil_tmp33 ;
5082 unsigned long __cil_tmp34 ;
5083 unsigned long __cil_tmp35 ;
5084 struct mtd_info *__cil_tmp36 ;
5085 unsigned long __cil_tmp37 ;
5086 unsigned long __cil_tmp38 ;
5087 uint32_t __cil_tmp39 ;
5088 unsigned int __cil_tmp40 ;
5089 unsigned long __cil_tmp41 ;
5090 unsigned long __cil_tmp42 ;
5091 struct mtd_info *__cil_tmp43 ;
5092 unsigned long __cil_tmp44 ;
5093 unsigned long __cil_tmp45 ;
5094 uint32_t __cil_tmp46 ;
5095 unsigned long __cil_tmp47 ;
5096 unsigned long __cil_tmp48 ;
5097 unsigned long __cil_tmp49 ;
5098 unsigned long __cil_tmp50 ;
5099 struct mtd_info *__cil_tmp51 ;
5100 unsigned long __cil_tmp52 ;
5101 unsigned long __cil_tmp53 ;
5102 unsigned long __cil_tmp54 ;
5103 unsigned long __cil_tmp55 ;
5104 struct _ddebug *__cil_tmp56 ;
5105 unsigned long __cil_tmp57 ;
5106 unsigned long __cil_tmp58 ;
5107 unsigned long __cil_tmp59 ;
5108 unsigned long __cil_tmp60 ;
5109 unsigned long __cil_tmp61 ;
5110 unsigned long __cil_tmp62 ;
5111 unsigned char __cil_tmp63 ;
5112 long __cil_tmp64 ;
5113 long __cil_tmp65 ;
5114
5115 {
5116 {
5117#line 299
5118 __mptr = (struct mtd_blktrans_dev const *)mbd;
5119#line 299
5120 mtdblk = (struct mtdblk_dev *)__mptr;
5121#line 301
5122 __cil_tmp9 = & descriptor;
5123#line 301
5124 *((char const **)__cil_tmp9) = "mtdblock";
5125#line 301
5126 __cil_tmp10 = (unsigned long )(& descriptor) + 8;
5127#line 301
5128 *((char const **)__cil_tmp10) = "mtdblock_open";
5129#line 301
5130 __cil_tmp11 = (unsigned long )(& descriptor) + 16;
5131#line 301
5132 *((char const **)__cil_tmp11) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
5133#line 301
5134 __cil_tmp12 = (unsigned long )(& descriptor) + 24;
5135#line 301
5136 *((char const **)__cil_tmp12) = "mtdblock_open\n";
5137#line 301
5138 __cil_tmp13 = (unsigned long )(& descriptor) + 32;
5139#line 301
5140 *((unsigned int *)__cil_tmp13) = 301U;
5141#line 301
5142 __cil_tmp14 = (unsigned long )(& descriptor) + 35;
5143#line 301
5144 *((unsigned char *)__cil_tmp14) = (unsigned char)0;
5145#line 301
5146 __cil_tmp15 = (unsigned long )(& descriptor) + 35;
5147#line 301
5148 __cil_tmp16 = *((unsigned char *)__cil_tmp15);
5149#line 301
5150 __cil_tmp17 = (long )__cil_tmp16;
5151#line 301
5152 __cil_tmp18 = __cil_tmp17 & 1L;
5153#line 301
5154 tmp = __builtin_expect(__cil_tmp18, 0L);
5155 }
5156#line 301
5157 if (tmp != 0L) {
5158 {
5159#line 301
5160 __dynamic_pr_debug(& descriptor, "mtdblock_open\n");
5161 }
5162 } else {
5163
5164 }
5165 {
5166#line 303
5167 mutex_lock_nested(& mtdblks_lock, 0U);
5168 }
5169 {
5170#line 304
5171 __cil_tmp19 = (unsigned long )mtdblk;
5172#line 304
5173 __cil_tmp20 = __cil_tmp19 + 352;
5174#line 304
5175 __cil_tmp21 = *((int *)__cil_tmp20);
5176#line 304
5177 if (__cil_tmp21 != 0) {
5178 {
5179#line 305
5180 __cil_tmp22 = (unsigned long )mtdblk;
5181#line 305
5182 __cil_tmp23 = __cil_tmp22 + 352;
5183#line 305
5184 __cil_tmp24 = (unsigned long )mtdblk;
5185#line 305
5186 __cil_tmp25 = __cil_tmp24 + 352;
5187#line 305
5188 __cil_tmp26 = *((int *)__cil_tmp25);
5189#line 305
5190 *((int *)__cil_tmp23) = __cil_tmp26 + 1;
5191#line 306
5192 mutex_unlock(& mtdblks_lock);
5193 }
5194#line 307
5195 return (0);
5196 } else {
5197
5198 }
5199 }
5200 {
5201#line 311
5202 __cil_tmp27 = (unsigned long )mtdblk;
5203#line 311
5204 __cil_tmp28 = __cil_tmp27 + 352;
5205#line 311
5206 *((int *)__cil_tmp28) = 1;
5207#line 312
5208 __cil_tmp29 = (unsigned long )mtdblk;
5209#line 312
5210 __cil_tmp30 = __cil_tmp29 + 360;
5211#line 312
5212 __cil_tmp31 = (struct mutex *)__cil_tmp30;
5213#line 312
5214 __mutex_init(__cil_tmp31, "&mtdblk->cache_mutex", & __key);
5215#line 313
5216 __cil_tmp32 = (unsigned long )mtdblk;
5217#line 313
5218 __cil_tmp33 = __cil_tmp32 + 548;
5219#line 313
5220 *((enum ldv_17573 *)__cil_tmp33) = (enum ldv_17573 )0;
5221 }
5222 {
5223#line 314
5224 __cil_tmp34 = (unsigned long )mbd;
5225#line 314
5226 __cil_tmp35 = __cil_tmp34 + 24;
5227#line 314
5228 __cil_tmp36 = *((struct mtd_info **)__cil_tmp35);
5229#line 314
5230 __cil_tmp37 = (unsigned long )__cil_tmp36;
5231#line 314
5232 __cil_tmp38 = __cil_tmp37 + 4;
5233#line 314
5234 __cil_tmp39 = *((uint32_t *)__cil_tmp38);
5235#line 314
5236 __cil_tmp40 = __cil_tmp39 & 4096U;
5237#line 314
5238 if (__cil_tmp40 == 0U) {
5239 {
5240#line 314
5241 __cil_tmp41 = (unsigned long )mbd;
5242#line 314
5243 __cil_tmp42 = __cil_tmp41 + 24;
5244#line 314
5245 __cil_tmp43 = *((struct mtd_info **)__cil_tmp42);
5246#line 314
5247 __cil_tmp44 = (unsigned long )__cil_tmp43;
5248#line 314
5249 __cil_tmp45 = __cil_tmp44 + 16;
5250#line 314
5251 __cil_tmp46 = *((uint32_t *)__cil_tmp45);
5252#line 314
5253 if (__cil_tmp46 != 0U) {
5254#line 315
5255 __cil_tmp47 = (unsigned long )mtdblk;
5256#line 315
5257 __cil_tmp48 = __cil_tmp47 + 544;
5258#line 315
5259 __cil_tmp49 = (unsigned long )mbd;
5260#line 315
5261 __cil_tmp50 = __cil_tmp49 + 24;
5262#line 315
5263 __cil_tmp51 = *((struct mtd_info **)__cil_tmp50);
5264#line 315
5265 __cil_tmp52 = (unsigned long )__cil_tmp51;
5266#line 315
5267 __cil_tmp53 = __cil_tmp52 + 16;
5268#line 315
5269 *((unsigned int *)__cil_tmp48) = *((uint32_t *)__cil_tmp53);
5270#line 316
5271 __cil_tmp54 = (unsigned long )mtdblk;
5272#line 316
5273 __cil_tmp55 = __cil_tmp54 + 528;
5274#line 316
5275 *((unsigned char **)__cil_tmp55) = (unsigned char *)0;
5276 } else {
5277
5278 }
5279 }
5280 } else {
5281
5282 }
5283 }
5284 {
5285#line 319
5286 mutex_unlock(& mtdblks_lock);
5287#line 321
5288 __cil_tmp56 = & descriptor___0;
5289#line 321
5290 *((char const **)__cil_tmp56) = "mtdblock";
5291#line 321
5292 __cil_tmp57 = (unsigned long )(& descriptor___0) + 8;
5293#line 321
5294 *((char const **)__cil_tmp57) = "mtdblock_open";
5295#line 321
5296 __cil_tmp58 = (unsigned long )(& descriptor___0) + 16;
5297#line 321
5298 *((char const **)__cil_tmp58) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
5299#line 321
5300 __cil_tmp59 = (unsigned long )(& descriptor___0) + 24;
5301#line 321
5302 *((char const **)__cil_tmp59) = "ok\n";
5303#line 321
5304 __cil_tmp60 = (unsigned long )(& descriptor___0) + 32;
5305#line 321
5306 *((unsigned int *)__cil_tmp60) = 321U;
5307#line 321
5308 __cil_tmp61 = (unsigned long )(& descriptor___0) + 35;
5309#line 321
5310 *((unsigned char *)__cil_tmp61) = (unsigned char)0;
5311#line 321
5312 __cil_tmp62 = (unsigned long )(& descriptor___0) + 35;
5313#line 321
5314 __cil_tmp63 = *((unsigned char *)__cil_tmp62);
5315#line 321
5316 __cil_tmp64 = (long )__cil_tmp63;
5317#line 321
5318 __cil_tmp65 = __cil_tmp64 & 1L;
5319#line 321
5320 tmp___0 = __builtin_expect(__cil_tmp65, 0L);
5321 }
5322#line 321
5323 if (tmp___0 != 0L) {
5324 {
5325#line 321
5326 __dynamic_pr_debug(& descriptor___0, "ok\n");
5327 }
5328 } else {
5329
5330 }
5331#line 323
5332 return (0);
5333}
5334}
5335#line 326 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5336static int mtdblock_release(struct mtd_blktrans_dev *mbd )
5337{ struct mtdblk_dev *mtdblk ;
5338 struct mtd_blktrans_dev const *__mptr ;
5339 struct _ddebug descriptor ;
5340 long tmp ;
5341 struct _ddebug descriptor___0 ;
5342 long tmp___0 ;
5343 struct _ddebug *__cil_tmp8 ;
5344 unsigned long __cil_tmp9 ;
5345 unsigned long __cil_tmp10 ;
5346 unsigned long __cil_tmp11 ;
5347 unsigned long __cil_tmp12 ;
5348 unsigned long __cil_tmp13 ;
5349 unsigned long __cil_tmp14 ;
5350 unsigned char __cil_tmp15 ;
5351 long __cil_tmp16 ;
5352 long __cil_tmp17 ;
5353 unsigned long __cil_tmp18 ;
5354 unsigned long __cil_tmp19 ;
5355 struct mutex *__cil_tmp20 ;
5356 unsigned long __cil_tmp21 ;
5357 unsigned long __cil_tmp22 ;
5358 struct mutex *__cil_tmp23 ;
5359 unsigned long __cil_tmp24 ;
5360 unsigned long __cil_tmp25 ;
5361 unsigned long __cil_tmp26 ;
5362 unsigned long __cil_tmp27 ;
5363 int __cil_tmp28 ;
5364 unsigned long __cil_tmp29 ;
5365 unsigned long __cil_tmp30 ;
5366 int __cil_tmp31 ;
5367 unsigned long __cil_tmp32 ;
5368 unsigned long __cil_tmp33 ;
5369 fmode_t __cil_tmp34 ;
5370 unsigned int __cil_tmp35 ;
5371 unsigned long __cil_tmp36 ;
5372 unsigned long __cil_tmp37 ;
5373 struct mtd_info *__cil_tmp38 ;
5374 unsigned long __cil_tmp39 ;
5375 unsigned long __cil_tmp40 ;
5376 unsigned char *__cil_tmp41 ;
5377 void const *__cil_tmp42 ;
5378 struct _ddebug *__cil_tmp43 ;
5379 unsigned long __cil_tmp44 ;
5380 unsigned long __cil_tmp45 ;
5381 unsigned long __cil_tmp46 ;
5382 unsigned long __cil_tmp47 ;
5383 unsigned long __cil_tmp48 ;
5384 unsigned long __cil_tmp49 ;
5385 unsigned char __cil_tmp50 ;
5386 long __cil_tmp51 ;
5387 long __cil_tmp52 ;
5388
5389 {
5390 {
5391#line 328
5392 __mptr = (struct mtd_blktrans_dev const *)mbd;
5393#line 328
5394 mtdblk = (struct mtdblk_dev *)__mptr;
5395#line 330
5396 __cil_tmp8 = & descriptor;
5397#line 330
5398 *((char const **)__cil_tmp8) = "mtdblock";
5399#line 330
5400 __cil_tmp9 = (unsigned long )(& descriptor) + 8;
5401#line 330
5402 *((char const **)__cil_tmp9) = "mtdblock_release";
5403#line 330
5404 __cil_tmp10 = (unsigned long )(& descriptor) + 16;
5405#line 330
5406 *((char const **)__cil_tmp10) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
5407#line 330
5408 __cil_tmp11 = (unsigned long )(& descriptor) + 24;
5409#line 330
5410 *((char const **)__cil_tmp11) = "mtdblock_release\n";
5411#line 330
5412 __cil_tmp12 = (unsigned long )(& descriptor) + 32;
5413#line 330
5414 *((unsigned int *)__cil_tmp12) = 330U;
5415#line 330
5416 __cil_tmp13 = (unsigned long )(& descriptor) + 35;
5417#line 330
5418 *((unsigned char *)__cil_tmp13) = (unsigned char)0;
5419#line 330
5420 __cil_tmp14 = (unsigned long )(& descriptor) + 35;
5421#line 330
5422 __cil_tmp15 = *((unsigned char *)__cil_tmp14);
5423#line 330
5424 __cil_tmp16 = (long )__cil_tmp15;
5425#line 330
5426 __cil_tmp17 = __cil_tmp16 & 1L;
5427#line 330
5428 tmp = __builtin_expect(__cil_tmp17, 0L);
5429 }
5430#line 330
5431 if (tmp != 0L) {
5432 {
5433#line 330
5434 __dynamic_pr_debug(& descriptor, "mtdblock_release\n");
5435 }
5436 } else {
5437
5438 }
5439 {
5440#line 332
5441 mutex_lock_nested(& mtdblks_lock, 0U);
5442#line 334
5443 __cil_tmp18 = (unsigned long )mtdblk;
5444#line 334
5445 __cil_tmp19 = __cil_tmp18 + 360;
5446#line 334
5447 __cil_tmp20 = (struct mutex *)__cil_tmp19;
5448#line 334
5449 mutex_lock_nested(__cil_tmp20, 0U);
5450#line 335
5451 write_cached_data(mtdblk);
5452#line 336
5453 __cil_tmp21 = (unsigned long )mtdblk;
5454#line 336
5455 __cil_tmp22 = __cil_tmp21 + 360;
5456#line 336
5457 __cil_tmp23 = (struct mutex *)__cil_tmp22;
5458#line 336
5459 mutex_unlock(__cil_tmp23);
5460#line 338
5461 __cil_tmp24 = (unsigned long )mtdblk;
5462#line 338
5463 __cil_tmp25 = __cil_tmp24 + 352;
5464#line 338
5465 __cil_tmp26 = (unsigned long )mtdblk;
5466#line 338
5467 __cil_tmp27 = __cil_tmp26 + 352;
5468#line 338
5469 __cil_tmp28 = *((int *)__cil_tmp27);
5470#line 338
5471 *((int *)__cil_tmp25) = __cil_tmp28 - 1;
5472 }
5473 {
5474#line 338
5475 __cil_tmp29 = (unsigned long )mtdblk;
5476#line 338
5477 __cil_tmp30 = __cil_tmp29 + 352;
5478#line 338
5479 __cil_tmp31 = *((int *)__cil_tmp30);
5480#line 338
5481 if (__cil_tmp31 == 0) {
5482 {
5483#line 343
5484 __cil_tmp32 = (unsigned long )mbd;
5485#line 343
5486 __cil_tmp33 = __cil_tmp32 + 344;
5487#line 343
5488 __cil_tmp34 = *((fmode_t *)__cil_tmp33);
5489#line 343
5490 __cil_tmp35 = __cil_tmp34 & 2U;
5491#line 343
5492 if (__cil_tmp35 != 0U) {
5493 {
5494#line 344
5495 __cil_tmp36 = (unsigned long )mbd;
5496#line 344
5497 __cil_tmp37 = __cil_tmp36 + 24;
5498#line 344
5499 __cil_tmp38 = *((struct mtd_info **)__cil_tmp37);
5500#line 344
5501 mtd_sync(__cil_tmp38);
5502 }
5503 } else {
5504
5505 }
5506 }
5507 {
5508#line 345
5509 __cil_tmp39 = (unsigned long )mtdblk;
5510#line 345
5511 __cil_tmp40 = __cil_tmp39 + 528;
5512#line 345
5513 __cil_tmp41 = *((unsigned char **)__cil_tmp40);
5514#line 345
5515 __cil_tmp42 = (void const *)__cil_tmp41;
5516#line 345
5517 vfree(__cil_tmp42);
5518 }
5519 } else {
5520
5521 }
5522 }
5523 {
5524#line 348
5525 mutex_unlock(& mtdblks_lock);
5526#line 350
5527 __cil_tmp43 = & descriptor___0;
5528#line 350
5529 *((char const **)__cil_tmp43) = "mtdblock";
5530#line 350
5531 __cil_tmp44 = (unsigned long )(& descriptor___0) + 8;
5532#line 350
5533 *((char const **)__cil_tmp44) = "mtdblock_release";
5534#line 350
5535 __cil_tmp45 = (unsigned long )(& descriptor___0) + 16;
5536#line 350
5537 *((char const **)__cil_tmp45) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p";
5538#line 350
5539 __cil_tmp46 = (unsigned long )(& descriptor___0) + 24;
5540#line 350
5541 *((char const **)__cil_tmp46) = "ok\n";
5542#line 350
5543 __cil_tmp47 = (unsigned long )(& descriptor___0) + 32;
5544#line 350
5545 *((unsigned int *)__cil_tmp47) = 350U;
5546#line 350
5547 __cil_tmp48 = (unsigned long )(& descriptor___0) + 35;
5548#line 350
5549 *((unsigned char *)__cil_tmp48) = (unsigned char)0;
5550#line 350
5551 __cil_tmp49 = (unsigned long )(& descriptor___0) + 35;
5552#line 350
5553 __cil_tmp50 = *((unsigned char *)__cil_tmp49);
5554#line 350
5555 __cil_tmp51 = (long )__cil_tmp50;
5556#line 350
5557 __cil_tmp52 = __cil_tmp51 & 1L;
5558#line 350
5559 tmp___0 = __builtin_expect(__cil_tmp52, 0L);
5560 }
5561#line 350
5562 if (tmp___0 != 0L) {
5563 {
5564#line 350
5565 __dynamic_pr_debug(& descriptor___0, "ok\n");
5566 }
5567 } else {
5568
5569 }
5570#line 352
5571 return (0);
5572}
5573}
5574#line 355 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5575static int mtdblock_flush(struct mtd_blktrans_dev *dev )
5576{ struct mtdblk_dev *mtdblk ;
5577 struct mtd_blktrans_dev const *__mptr ;
5578 unsigned long __cil_tmp4 ;
5579 unsigned long __cil_tmp5 ;
5580 struct mutex *__cil_tmp6 ;
5581 unsigned long __cil_tmp7 ;
5582 unsigned long __cil_tmp8 ;
5583 struct mutex *__cil_tmp9 ;
5584 unsigned long __cil_tmp10 ;
5585 unsigned long __cil_tmp11 ;
5586 struct mtd_info *__cil_tmp12 ;
5587
5588 {
5589 {
5590#line 357
5591 __mptr = (struct mtd_blktrans_dev const *)dev;
5592#line 357
5593 mtdblk = (struct mtdblk_dev *)__mptr;
5594#line 359
5595 __cil_tmp4 = (unsigned long )mtdblk;
5596#line 359
5597 __cil_tmp5 = __cil_tmp4 + 360;
5598#line 359
5599 __cil_tmp6 = (struct mutex *)__cil_tmp5;
5600#line 359
5601 mutex_lock_nested(__cil_tmp6, 0U);
5602#line 360
5603 write_cached_data(mtdblk);
5604#line 361
5605 __cil_tmp7 = (unsigned long )mtdblk;
5606#line 361
5607 __cil_tmp8 = __cil_tmp7 + 360;
5608#line 361
5609 __cil_tmp9 = (struct mutex *)__cil_tmp8;
5610#line 361
5611 mutex_unlock(__cil_tmp9);
5612#line 362
5613 __cil_tmp10 = (unsigned long )dev;
5614#line 362
5615 __cil_tmp11 = __cil_tmp10 + 24;
5616#line 362
5617 __cil_tmp12 = *((struct mtd_info **)__cil_tmp11);
5618#line 362
5619 mtd_sync(__cil_tmp12);
5620 }
5621#line 363
5622 return (0);
5623}
5624}
5625#line 366 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5626static void mtdblock_add_mtd(struct mtd_blktrans_ops *tr , struct mtd_info *mtd )
5627{ struct mtdblk_dev *dev ;
5628 void *tmp ;
5629 int tmp___0 ;
5630 struct mtdblk_dev *__cil_tmp6 ;
5631 unsigned long __cil_tmp7 ;
5632 unsigned long __cil_tmp8 ;
5633 unsigned long __cil_tmp9 ;
5634 unsigned long __cil_tmp10 ;
5635 unsigned long __cil_tmp11 ;
5636 unsigned long __cil_tmp12 ;
5637 unsigned long __cil_tmp13 ;
5638 unsigned long __cil_tmp14 ;
5639 unsigned long __cil_tmp15 ;
5640 unsigned long __cil_tmp16 ;
5641 unsigned long __cil_tmp17 ;
5642 unsigned long __cil_tmp18 ;
5643 unsigned long __cil_tmp19 ;
5644 unsigned long __cil_tmp20 ;
5645 unsigned long __cil_tmp21 ;
5646 uint64_t __cil_tmp22 ;
5647 uint64_t __cil_tmp23 ;
5648 unsigned long __cil_tmp24 ;
5649 unsigned long __cil_tmp25 ;
5650 uint32_t __cil_tmp26 ;
5651 unsigned int __cil_tmp27 ;
5652 unsigned long __cil_tmp28 ;
5653 unsigned long __cil_tmp29 ;
5654 unsigned long __cil_tmp30 ;
5655 struct mtd_blktrans_dev *__cil_tmp31 ;
5656 void const *__cil_tmp32 ;
5657
5658 {
5659 {
5660#line 368
5661 tmp = kzalloc(552UL, 208U);
5662#line 368
5663 dev = (struct mtdblk_dev *)tmp;
5664 }
5665 {
5666#line 370
5667 __cil_tmp6 = (struct mtdblk_dev *)0;
5668#line 370
5669 __cil_tmp7 = (unsigned long )__cil_tmp6;
5670#line 370
5671 __cil_tmp8 = (unsigned long )dev;
5672#line 370
5673 if (__cil_tmp8 == __cil_tmp7) {
5674#line 371
5675 return;
5676 } else {
5677
5678 }
5679 }
5680#line 373
5681 __cil_tmp9 = 0 + 24;
5682#line 373
5683 __cil_tmp10 = (unsigned long )dev;
5684#line 373
5685 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
5686#line 373
5687 *((struct mtd_info **)__cil_tmp11) = mtd;
5688#line 374
5689 __cil_tmp12 = 0 + 200;
5690#line 374
5691 __cil_tmp13 = (unsigned long )dev;
5692#line 374
5693 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
5694#line 374
5695 __cil_tmp15 = (unsigned long )mtd;
5696#line 374
5697 __cil_tmp16 = __cil_tmp15 + 64;
5698#line 374
5699 *((int *)__cil_tmp14) = *((int *)__cil_tmp16);
5700#line 376
5701 __cil_tmp17 = 0 + 208;
5702#line 376
5703 __cil_tmp18 = (unsigned long )dev;
5704#line 376
5705 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
5706#line 376
5707 __cil_tmp20 = (unsigned long )mtd;
5708#line 376
5709 __cil_tmp21 = __cil_tmp20 + 8;
5710#line 376
5711 __cil_tmp22 = *((uint64_t *)__cil_tmp21);
5712#line 376
5713 __cil_tmp23 = __cil_tmp22 >> 9;
5714#line 376
5715 *((unsigned long *)__cil_tmp19) = (unsigned long )__cil_tmp23;
5716#line 377
5717 *((struct mtd_blktrans_ops **)dev) = tr;
5718 {
5719#line 379
5720 __cil_tmp24 = (unsigned long )mtd;
5721#line 379
5722 __cil_tmp25 = __cil_tmp24 + 4;
5723#line 379
5724 __cil_tmp26 = *((uint32_t *)__cil_tmp25);
5725#line 379
5726 __cil_tmp27 = __cil_tmp26 & 1024U;
5727#line 379
5728 if (__cil_tmp27 == 0U) {
5729#line 380
5730 __cil_tmp28 = 0 + 216;
5731#line 380
5732 __cil_tmp29 = (unsigned long )dev;
5733#line 380
5734 __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
5735#line 380
5736 *((int *)__cil_tmp30) = 1;
5737 } else {
5738
5739 }
5740 }
5741 {
5742#line 382
5743 __cil_tmp31 = (struct mtd_blktrans_dev *)dev;
5744#line 382
5745 tmp___0 = add_mtd_blktrans_dev(__cil_tmp31);
5746 }
5747#line 382
5748 if (tmp___0 != 0) {
5749 {
5750#line 383
5751 __cil_tmp32 = (void const *)dev;
5752#line 383
5753 kfree(__cil_tmp32);
5754 }
5755 } else {
5756
5757 }
5758#line 384
5759 return;
5760}
5761}
5762#line 386 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5763static void mtdblock_remove_dev(struct mtd_blktrans_dev *dev )
5764{
5765
5766 {
5767 {
5768#line 388
5769 del_mtd_blktrans_dev(dev);
5770 }
5771#line 389
5772 return;
5773}
5774}
5775#line 391 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5776static struct mtd_blktrans_ops mtdblock_tr =
5777#line 391
5778 {(char *)"mtdblock", 31, 0, 512, 0, & mtdblock_readsect, & mtdblock_writesect,
5779 (int (*)(struct mtd_blktrans_dev * , unsigned long , unsigned int ))0, (void (*)(struct mtd_blktrans_dev * ))0,
5780 (int (*)(struct mtd_blktrans_dev * , struct hd_geometry * ))0, & mtdblock_flush,
5781 & mtdblock_open, & mtdblock_release, & mtdblock_add_mtd, & mtdblock_remove_dev,
5782 {(struct list_head *)0, (struct list_head *)0}, {(struct list_head *)0, (struct list_head *)0},
5783 & __this_module};
5784#line 406 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5785static int init_mtdblock(void)
5786{ int tmp ;
5787
5788 {
5789 {
5790#line 408
5791 tmp = register_mtd_blktrans(& mtdblock_tr);
5792 }
5793#line 408
5794 return (tmp);
5795}
5796}
5797#line 411 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5798static void cleanup_mtdblock(void)
5799{
5800
5801 {
5802 {
5803#line 413
5804 deregister_mtd_blktrans(& mtdblock_tr);
5805 }
5806#line 414
5807 return;
5808}
5809}
5810#line 440
5811extern void ldv_check_final_state(void) ;
5812#line 443
5813extern void ldv_check_return_value(int ) ;
5814#line 446
5815extern void ldv_initialize(void) ;
5816#line 449
5817extern int __VERIFIER_nondet_int(void) ;
5818#line 452 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5819int LDV_IN_INTERRUPT ;
5820#line 455 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
5821void main(void)
5822{ struct mtd_blktrans_dev *var_group1 ;
5823 int res_mtdblock_open_7 ;
5824 unsigned long var_mtdblock_readsect_5_p1 ;
5825 char *var_mtdblock_readsect_5_p2 ;
5826 unsigned long var_mtdblock_writesect_6_p1 ;
5827 char *var_mtdblock_writesect_6_p2 ;
5828 struct mtd_blktrans_ops *var_group2 ;
5829 struct mtd_info *var_group3 ;
5830 int ldv_s_mtdblock_tr_mtd_blktrans_ops ;
5831 int tmp ;
5832 int tmp___0 ;
5833 int tmp___1 ;
5834
5835 {
5836 {
5837#line 516
5838 ldv_s_mtdblock_tr_mtd_blktrans_ops = 0;
5839#line 499
5840 LDV_IN_INTERRUPT = 1;
5841#line 508
5842 ldv_initialize();
5843#line 514
5844 tmp = init_mtdblock();
5845 }
5846#line 514
5847 if (tmp != 0) {
5848#line 515
5849 goto ldv_final;
5850 } else {
5851
5852 }
5853#line 520
5854 goto ldv_22033;
5855 ldv_22032:
5856 {
5857#line 524
5858 tmp___0 = __VERIFIER_nondet_int();
5859 }
5860#line 526
5861 if (tmp___0 == 0) {
5862#line 526
5863 goto case_0;
5864 } else
5865#line 545
5866 if (tmp___0 == 1) {
5867#line 545
5868 goto case_1;
5869 } else
5870#line 561
5871 if (tmp___0 == 2) {
5872#line 561
5873 goto case_2;
5874 } else
5875#line 577
5876 if (tmp___0 == 3) {
5877#line 577
5878 goto case_3;
5879 } else
5880#line 593
5881 if (tmp___0 == 4) {
5882#line 593
5883 goto case_4;
5884 } else
5885#line 609
5886 if (tmp___0 == 5) {
5887#line 609
5888 goto case_5;
5889 } else
5890#line 625
5891 if (tmp___0 == 6) {
5892#line 625
5893 goto case_6;
5894 } else {
5895 {
5896#line 641
5897 goto switch_default;
5898#line 524
5899 if (0) {
5900 case_0: ;
5901#line 529
5902 if (ldv_s_mtdblock_tr_mtd_blktrans_ops == 0) {
5903 {
5904#line 534
5905 res_mtdblock_open_7 = mtdblock_open(var_group1);
5906#line 535
5907 ldv_check_return_value(res_mtdblock_open_7);
5908 }
5909#line 536
5910 if (res_mtdblock_open_7 != 0) {
5911#line 537
5912 goto ldv_module_exit;
5913 } else {
5914
5915 }
5916#line 538
5917 ldv_s_mtdblock_tr_mtd_blktrans_ops = ldv_s_mtdblock_tr_mtd_blktrans_ops + 1;
5918 } else {
5919
5920 }
5921#line 544
5922 goto ldv_22024;
5923 case_1: ;
5924#line 548
5925 if (ldv_s_mtdblock_tr_mtd_blktrans_ops == 1) {
5926 {
5927#line 553
5928 mtdblock_release(var_group1);
5929#line 554
5930 ldv_s_mtdblock_tr_mtd_blktrans_ops = 0;
5931 }
5932 } else {
5933
5934 }
5935#line 560
5936 goto ldv_22024;
5937 case_2:
5938 {
5939#line 569
5940 mtdblock_flush(var_group1);
5941 }
5942#line 576
5943 goto ldv_22024;
5944 case_3:
5945 {
5946#line 585
5947 mtdblock_readsect(var_group1, var_mtdblock_readsect_5_p1, var_mtdblock_readsect_5_p2);
5948 }
5949#line 592
5950 goto ldv_22024;
5951 case_4:
5952 {
5953#line 601
5954 mtdblock_writesect(var_group1, var_mtdblock_writesect_6_p1, var_mtdblock_writesect_6_p2);
5955 }
5956#line 608
5957 goto ldv_22024;
5958 case_5:
5959 {
5960#line 617
5961 mtdblock_add_mtd(var_group2, var_group3);
5962 }
5963#line 624
5964 goto ldv_22024;
5965 case_6:
5966 {
5967#line 633
5968 mtdblock_remove_dev(var_group1);
5969 }
5970#line 640
5971 goto ldv_22024;
5972 switch_default: ;
5973#line 641
5974 goto ldv_22024;
5975 } else {
5976 switch_break: ;
5977 }
5978 }
5979 }
5980 ldv_22024: ;
5981 ldv_22033:
5982 {
5983#line 520
5984 tmp___1 = __VERIFIER_nondet_int();
5985 }
5986#line 520
5987 if (tmp___1 != 0) {
5988#line 522
5989 goto ldv_22032;
5990 } else
5991#line 520
5992 if (ldv_s_mtdblock_tr_mtd_blktrans_ops != 0) {
5993#line 522
5994 goto ldv_22032;
5995 } else {
5996#line 524
5997 goto ldv_22034;
5998 }
5999 ldv_22034: ;
6000 ldv_module_exit:
6001 {
6002#line 653
6003 cleanup_mtdblock();
6004 }
6005 ldv_final:
6006 {
6007#line 656
6008 ldv_check_final_state();
6009 }
6010#line 659
6011 return;
6012}
6013}
6014#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
6015void ldv_blast_assert(void)
6016{
6017
6018 {
6019 ERROR: ;
6020#line 6
6021 goto ERROR;
6022}
6023}
6024#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
6025extern int __VERIFIER_nondet_int(void) ;
6026#line 680 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6027int ldv_spin = 0;
6028#line 684 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6029void ldv_check_alloc_flags(gfp_t flags )
6030{
6031
6032 {
6033#line 687
6034 if (ldv_spin != 0) {
6035#line 687
6036 if (flags != 32U) {
6037 {
6038#line 687
6039 ldv_blast_assert();
6040 }
6041 } else {
6042
6043 }
6044 } else {
6045
6046 }
6047#line 690
6048 return;
6049}
6050}
6051#line 690
6052extern struct page *ldv_some_page(void) ;
6053#line 693 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6054struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
6055{ struct page *tmp ;
6056
6057 {
6058#line 696
6059 if (ldv_spin != 0) {
6060#line 696
6061 if (flags != 32U) {
6062 {
6063#line 696
6064 ldv_blast_assert();
6065 }
6066 } else {
6067
6068 }
6069 } else {
6070
6071 }
6072 {
6073#line 698
6074 tmp = ldv_some_page();
6075 }
6076#line 698
6077 return (tmp);
6078}
6079}
6080#line 702 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6081void ldv_check_alloc_nonatomic(void)
6082{
6083
6084 {
6085#line 705
6086 if (ldv_spin != 0) {
6087 {
6088#line 705
6089 ldv_blast_assert();
6090 }
6091 } else {
6092
6093 }
6094#line 708
6095 return;
6096}
6097}
6098#line 709 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6099void ldv_spin_lock(void)
6100{
6101
6102 {
6103#line 712
6104 ldv_spin = 1;
6105#line 713
6106 return;
6107}
6108}
6109#line 716 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6110void ldv_spin_unlock(void)
6111{
6112
6113 {
6114#line 719
6115 ldv_spin = 0;
6116#line 720
6117 return;
6118}
6119}
6120#line 723 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6121int ldv_spin_trylock(void)
6122{ int is_lock ;
6123
6124 {
6125 {
6126#line 728
6127 is_lock = __VERIFIER_nondet_int();
6128 }
6129#line 730
6130 if (is_lock != 0) {
6131#line 733
6132 return (0);
6133 } else {
6134#line 738
6135 ldv_spin = 1;
6136#line 740
6137 return (1);
6138 }
6139}
6140}
6141#line 907 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6142void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
6143{
6144
6145 {
6146 {
6147#line 913
6148 ldv_check_alloc_flags(ldv_func_arg2);
6149#line 915
6150 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
6151 }
6152#line 916
6153 return ((void *)0);
6154}
6155}
6156#line 918 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6157__inline static void *kzalloc(size_t size , gfp_t flags )
6158{ void *tmp ;
6159
6160 {
6161 {
6162#line 924
6163 ldv_check_alloc_flags(flags);
6164#line 925
6165 tmp = __VERIFIER_nondet_pointer();
6166 }
6167#line 925
6168 return (tmp);
6169}
6170}
6171#line 939 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11884/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/mtdblock.c.p"
6172void *ldv_vmalloc_19(unsigned long ldv_func_arg1 )
6173{
6174
6175 {
6176 {
6177#line 944
6178 ldv_check_alloc_nonatomic();
6179#line 946
6180 vmalloc(ldv_func_arg1);
6181 }
6182#line 947
6183 return ((void *)0);
6184}
6185}