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