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