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