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