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