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>"
2463long __builtin_expect(long , long ) ;
2464#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2465void ldv_spin_lock(void) ;
2466#line 3
2467void ldv_spin_unlock(void) ;
2468#line 4
2469int ldv_spin_trylock(void) ;
2470#line 101 "include/linux/printk.h"
2471extern int printk(char const * , ...) ;
2472#line 147 "include/linux/kernel.h"
2473extern void __might_sleep(char const * , int , int ) ;
2474#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2475extern void *memset(void * , int , size_t ) ;
2476#line 60
2477extern int memcmp(void const * , void const * , size_t ) ;
2478#line 27 "include/linux/err.h"
2479__inline static long PTR_ERR(void const *ptr )
2480{
2481
2482 {
2483#line 29
2484 return ((long )ptr);
2485}
2486}
2487#line 32 "include/linux/err.h"
2488__inline static long IS_ERR(void const *ptr )
2489{ long tmp ;
2490 unsigned long __cil_tmp3 ;
2491 int __cil_tmp4 ;
2492 long __cil_tmp5 ;
2493
2494 {
2495 {
2496#line 34
2497 __cil_tmp3 = (unsigned long )ptr;
2498#line 34
2499 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2500#line 34
2501 __cil_tmp5 = (long )__cil_tmp4;
2502#line 34
2503 tmp = __builtin_expect(__cil_tmp5, 0L);
2504 }
2505#line 34
2506 return (tmp);
2507}
2508}
2509#line 161 "include/linux/slab.h"
2510extern void kfree(void const * ) ;
2511#line 220 "include/linux/slub_def.h"
2512extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2513#line 223
2514void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2515#line 225
2516extern void *__kmalloc(size_t , gfp_t ) ;
2517#line 268 "include/linux/slub_def.h"
2518__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags )
2519{ void *tmp___2 ;
2520
2521 {
2522 {
2523#line 283
2524 tmp___2 = __kmalloc(size, flags);
2525 }
2526#line 283
2527 return (tmp___2);
2528}
2529}
2530#line 268
2531__inline static void *kmalloc(size_t size , gfp_t flags ) ;
2532#line 353 "include/linux/slab.h"
2533__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2534#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2535extern void *__VERIFIER_nondet_pointer(void) ;
2536#line 11
2537void ldv_check_alloc_flags(gfp_t flags ) ;
2538#line 12
2539void ldv_check_alloc_nonatomic(void) ;
2540#line 14
2541struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2542#line 246 "include/linux/mtd/mtd.h"
2543extern int mtd_erase(struct mtd_info * , struct erase_info * ) ;
2544#line 252
2545extern int mtd_read(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
2546#line 254
2547extern int mtd_write(struct mtd_info * , loff_t , size_t , size_t * , u_char const * ) ;
2548#line 303
2549extern int mtd_block_isbad(struct mtd_info * , loff_t ) ;
2550#line 370
2551extern struct mtd_info *get_mtd_device(struct mtd_info * , int ) ;
2552#line 374
2553extern void put_mtd_device(struct mtd_info * ) ;
2554#line 390 "include/linux/mtd/mtd.h"
2555__inline static int mtd_is_bitflip(int err )
2556{
2557
2558 {
2559#line 391
2560 return (err == -117);
2561}
2562}
2563#line 2626 "include/linux/sched.h"
2564extern int _cond_resched(void) ;
2565#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2566static int dev = -22;
2567#line 51 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2568static struct mtd_info *mtd ;
2569#line 52 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2570static unsigned char *writebuf ;
2571#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2572static unsigned char *readbuf ;
2573#line 54 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2574static unsigned char *bbt ;
2575#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2576static int subpgsize ;
2577#line 57 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2578static int bufsize ;
2579#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2580static int ebcnt ;
2581#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2582static int pgcnt ;
2583#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2584static int errcnt ;
2585#line 61 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2586static unsigned long next = 1UL;
2587#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2588__inline static unsigned int simple_rand(void)
2589{ unsigned long __cil_tmp1 ;
2590 unsigned long __cil_tmp2 ;
2591 unsigned int __cil_tmp3 ;
2592
2593 {
2594#line 65
2595 __cil_tmp1 = next * 1103515245UL;
2596#line 65
2597 next = __cil_tmp1 + 12345UL;
2598 {
2599#line 66
2600 __cil_tmp2 = next / 65536UL;
2601#line 66
2602 __cil_tmp3 = (unsigned int )__cil_tmp2;
2603#line 66
2604 return (__cil_tmp3 & 32767U);
2605 }
2606}
2607}
2608#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2609__inline static void simple_srand(unsigned long seed )
2610{
2611
2612 {
2613#line 71
2614 next = seed;
2615#line 72
2616 return;
2617}
2618}
2619#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2620static void set_random_data(unsigned char *buf , size_t len )
2621{ size_t i ;
2622 unsigned int tmp ;
2623 unsigned char *__cil_tmp5 ;
2624
2625 {
2626#line 78
2627 i = 0UL;
2628#line 78
2629 goto ldv_18667;
2630 ldv_18666:
2631 {
2632#line 79
2633 tmp = simple_rand();
2634#line 79
2635 __cil_tmp5 = buf + i;
2636#line 79
2637 *__cil_tmp5 = (unsigned char )tmp;
2638#line 78
2639 i = i + 1UL;
2640 }
2641 ldv_18667: ;
2642#line 78
2643 if (i < len) {
2644#line 79
2645 goto ldv_18666;
2646 } else {
2647#line 81
2648 goto ldv_18668;
2649 }
2650 ldv_18668: ;
2651#line 83
2652 return;
2653}
2654}
2655#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2656__inline static void clear_data(unsigned char *buf , size_t len )
2657{ void *__cil_tmp3 ;
2658
2659 {
2660 {
2661#line 84
2662 __cil_tmp3 = (void *)buf;
2663#line 84
2664 memset(__cil_tmp3, 0, len);
2665 }
2666#line 85
2667 return;
2668}
2669}
2670#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2671static int erase_eraseblock(int ebnum )
2672{ int err ;
2673 struct erase_info ei ;
2674 loff_t addr ;
2675 uint32_t __cil_tmp5 ;
2676 unsigned long __cil_tmp6 ;
2677 unsigned long __cil_tmp7 ;
2678 uint32_t __cil_tmp8 ;
2679 uint32_t __cil_tmp9 ;
2680 void *__cil_tmp10 ;
2681 struct erase_info *__cil_tmp11 ;
2682 unsigned long __cil_tmp12 ;
2683 unsigned long __cil_tmp13 ;
2684 unsigned long __cil_tmp14 ;
2685 unsigned long __cil_tmp15 ;
2686 uint32_t __cil_tmp16 ;
2687 unsigned long __cil_tmp17 ;
2688 u_char __cil_tmp18 ;
2689 unsigned int __cil_tmp19 ;
2690
2691 {
2692 {
2693#line 91
2694 __cil_tmp5 = (uint32_t )ebnum;
2695#line 91
2696 __cil_tmp6 = (unsigned long )mtd;
2697#line 91
2698 __cil_tmp7 = __cil_tmp6 + 16;
2699#line 91
2700 __cil_tmp8 = *((uint32_t *)__cil_tmp7);
2701#line 91
2702 __cil_tmp9 = __cil_tmp8 * __cil_tmp5;
2703#line 91
2704 addr = (loff_t )__cil_tmp9;
2705#line 93
2706 __cil_tmp10 = (void *)(& ei);
2707#line 93
2708 memset(__cil_tmp10, 0, 88UL);
2709#line 94
2710 __cil_tmp11 = & ei;
2711#line 94
2712 *((struct mtd_info **)__cil_tmp11) = mtd;
2713#line 95
2714 __cil_tmp12 = (unsigned long )(& ei) + 8;
2715#line 95
2716 *((uint64_t *)__cil_tmp12) = (uint64_t )addr;
2717#line 96
2718 __cil_tmp13 = (unsigned long )(& ei) + 16;
2719#line 96
2720 __cil_tmp14 = (unsigned long )mtd;
2721#line 96
2722 __cil_tmp15 = __cil_tmp14 + 16;
2723#line 96
2724 __cil_tmp16 = *((uint32_t *)__cil_tmp15);
2725#line 96
2726 *((uint64_t *)__cil_tmp13) = (uint64_t )__cil_tmp16;
2727#line 98
2728 err = mtd_erase(mtd, & ei);
2729 }
2730#line 99
2731 if (err != 0) {
2732 {
2733#line 100
2734 printk("<6>mtd_subpagetest: error %d while erasing EB %d\n", err, ebnum);
2735 }
2736#line 101
2737 return (err);
2738 } else {
2739
2740 }
2741 {
2742#line 104
2743 __cil_tmp17 = (unsigned long )(& ei) + 72;
2744#line 104
2745 __cil_tmp18 = *((u_char *)__cil_tmp17);
2746#line 104
2747 __cil_tmp19 = (unsigned int )__cil_tmp18;
2748#line 104
2749 if (__cil_tmp19 == 16U) {
2750 {
2751#line 105
2752 printk("<6>mtd_subpagetest: some erase error occurred at EB %d\n", ebnum);
2753 }
2754#line 107
2755 return (-5);
2756 } else {
2757
2758 }
2759 }
2760#line 110
2761 return (0);
2762}
2763}
2764#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2765static int erase_whole_device(void)
2766{ int err ;
2767 unsigned int i ;
2768 unsigned long __cil_tmp3 ;
2769 unsigned char *__cil_tmp4 ;
2770 unsigned char __cil_tmp5 ;
2771 unsigned int __cil_tmp6 ;
2772 int __cil_tmp7 ;
2773 unsigned int __cil_tmp8 ;
2774
2775 {
2776 {
2777#line 118
2778 printk("<6>mtd_subpagetest: erasing whole device\n");
2779#line 119
2780 i = 0U;
2781 }
2782#line 119
2783 goto ldv_18687;
2784 ldv_18686: ;
2785 {
2786#line 120
2787 __cil_tmp3 = (unsigned long )i;
2788#line 120
2789 __cil_tmp4 = bbt + __cil_tmp3;
2790#line 120
2791 __cil_tmp5 = *__cil_tmp4;
2792#line 120
2793 __cil_tmp6 = (unsigned int )__cil_tmp5;
2794#line 120
2795 if (__cil_tmp6 != 0U) {
2796#line 121
2797 goto ldv_18684;
2798 } else {
2799
2800 }
2801 }
2802 {
2803#line 122
2804 __cil_tmp7 = (int )i;
2805#line 122
2806 err = erase_eraseblock(__cil_tmp7);
2807 }
2808#line 123
2809 if (err != 0) {
2810#line 124
2811 return (err);
2812 } else {
2813
2814 }
2815 {
2816#line 125
2817 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
2818 125, 0);
2819#line 125
2820 _cond_resched();
2821 }
2822 ldv_18684:
2823#line 119
2824 i = i + 1U;
2825 ldv_18687: ;
2826 {
2827#line 119
2828 __cil_tmp8 = (unsigned int )ebcnt;
2829#line 119
2830 if (__cil_tmp8 > i) {
2831#line 120
2832 goto ldv_18686;
2833 } else {
2834#line 122
2835 goto ldv_18688;
2836 }
2837 }
2838 ldv_18688:
2839 {
2840#line 127
2841 printk("<6>mtd_subpagetest: erased %u eraseblocks\n", i);
2842 }
2843#line 128
2844 return (0);
2845}
2846}
2847#line 131 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
2848static int write_eraseblock(int ebnum )
2849{ size_t written ;
2850 int err ;
2851 loff_t addr ;
2852 int tmp ;
2853 long tmp___0 ;
2854 long tmp___1 ;
2855 int tmp___2 ;
2856 long tmp___3 ;
2857 long tmp___4 ;
2858 uint32_t __cil_tmp11 ;
2859 unsigned long __cil_tmp12 ;
2860 unsigned long __cil_tmp13 ;
2861 uint32_t __cil_tmp14 ;
2862 uint32_t __cil_tmp15 ;
2863 size_t __cil_tmp16 ;
2864 size_t __cil_tmp17 ;
2865 u_char const *__cil_tmp18 ;
2866 int __cil_tmp19 ;
2867 long __cil_tmp20 ;
2868 size_t *__cil_tmp21 ;
2869 size_t __cil_tmp22 ;
2870 size_t __cil_tmp23 ;
2871 int __cil_tmp24 ;
2872 long __cil_tmp25 ;
2873 size_t *__cil_tmp26 ;
2874 size_t __cil_tmp27 ;
2875 size_t __cil_tmp28 ;
2876 size_t *__cil_tmp29 ;
2877 size_t __cil_tmp30 ;
2878 loff_t __cil_tmp31 ;
2879 size_t __cil_tmp32 ;
2880 size_t __cil_tmp33 ;
2881 u_char const *__cil_tmp34 ;
2882 int __cil_tmp35 ;
2883 long __cil_tmp36 ;
2884 size_t *__cil_tmp37 ;
2885 size_t __cil_tmp38 ;
2886 size_t __cil_tmp39 ;
2887 int __cil_tmp40 ;
2888 long __cil_tmp41 ;
2889 size_t *__cil_tmp42 ;
2890 size_t __cil_tmp43 ;
2891 size_t __cil_tmp44 ;
2892 size_t *__cil_tmp45 ;
2893 size_t __cil_tmp46 ;
2894
2895 {
2896 {
2897#line 134
2898 err = 0;
2899#line 135
2900 __cil_tmp11 = (uint32_t )ebnum;
2901#line 135
2902 __cil_tmp12 = (unsigned long )mtd;
2903#line 135
2904 __cil_tmp13 = __cil_tmp12 + 16;
2905#line 135
2906 __cil_tmp14 = *((uint32_t *)__cil_tmp13);
2907#line 135
2908 __cil_tmp15 = __cil_tmp14 * __cil_tmp11;
2909#line 135
2910 addr = (loff_t )__cil_tmp15;
2911#line 137
2912 __cil_tmp16 = (size_t )subpgsize;
2913#line 137
2914 set_random_data(writebuf, __cil_tmp16);
2915#line 138
2916 __cil_tmp17 = (size_t )subpgsize;
2917#line 138
2918 __cil_tmp18 = (u_char const *)writebuf;
2919#line 138
2920 err = mtd_write(mtd, addr, __cil_tmp17, & written, __cil_tmp18);
2921#line 139
2922 __cil_tmp19 = err != 0;
2923#line 139
2924 __cil_tmp20 = (long )__cil_tmp19;
2925#line 139
2926 tmp___0 = __builtin_expect(__cil_tmp20, 0L);
2927 }
2928#line 139
2929 if (tmp___0 != 0L) {
2930#line 139
2931 goto _L;
2932 } else {
2933 {
2934#line 139
2935 __cil_tmp21 = & written;
2936#line 139
2937 __cil_tmp22 = *__cil_tmp21;
2938#line 139
2939 __cil_tmp23 = (size_t )subpgsize;
2940#line 139
2941 __cil_tmp24 = __cil_tmp23 != __cil_tmp22;
2942#line 139
2943 __cil_tmp25 = (long )__cil_tmp24;
2944#line 139
2945 tmp___1 = __builtin_expect(__cil_tmp25, 0L);
2946 }
2947#line 139
2948 if (tmp___1 != 0L) {
2949 _L:
2950 {
2951#line 140
2952 printk("<6>mtd_subpagetest: error: write failed at %#llx\n", addr);
2953 }
2954 {
2955#line 142
2956 __cil_tmp26 = & written;
2957#line 142
2958 __cil_tmp27 = *__cil_tmp26;
2959#line 142
2960 __cil_tmp28 = (size_t )subpgsize;
2961#line 142
2962 if (__cil_tmp28 != __cil_tmp27) {
2963 {
2964#line 143
2965 printk("<6>mtd_subpagetest: write size: %#x\n", subpgsize);
2966#line 144
2967 __cil_tmp29 = & written;
2968#line 144
2969 __cil_tmp30 = *__cil_tmp29;
2970#line 144
2971 printk("<6>mtd_subpagetest: written: %#zx\n", __cil_tmp30);
2972 }
2973 } else {
2974
2975 }
2976 }
2977#line 146
2978 if (err != 0) {
2979#line 146
2980 tmp = err;
2981 } else {
2982#line 146
2983 tmp = -1;
2984 }
2985#line 146
2986 return (tmp);
2987 } else {
2988
2989 }
2990 }
2991 {
2992#line 149
2993 __cil_tmp31 = (loff_t )subpgsize;
2994#line 149
2995 addr = __cil_tmp31 + addr;
2996#line 151
2997 __cil_tmp32 = (size_t )subpgsize;
2998#line 151
2999 set_random_data(writebuf, __cil_tmp32);
3000#line 152
3001 __cil_tmp33 = (size_t )subpgsize;
3002#line 152
3003 __cil_tmp34 = (u_char const *)writebuf;
3004#line 152
3005 err = mtd_write(mtd, addr, __cil_tmp33, & written, __cil_tmp34);
3006#line 153
3007 __cil_tmp35 = err != 0;
3008#line 153
3009 __cil_tmp36 = (long )__cil_tmp35;
3010#line 153
3011 tmp___3 = __builtin_expect(__cil_tmp36, 0L);
3012 }
3013#line 153
3014 if (tmp___3 != 0L) {
3015#line 153
3016 goto _L___0;
3017 } else {
3018 {
3019#line 153
3020 __cil_tmp37 = & written;
3021#line 153
3022 __cil_tmp38 = *__cil_tmp37;
3023#line 153
3024 __cil_tmp39 = (size_t )subpgsize;
3025#line 153
3026 __cil_tmp40 = __cil_tmp39 != __cil_tmp38;
3027#line 153
3028 __cil_tmp41 = (long )__cil_tmp40;
3029#line 153
3030 tmp___4 = __builtin_expect(__cil_tmp41, 0L);
3031 }
3032#line 153
3033 if (tmp___4 != 0L) {
3034 _L___0:
3035 {
3036#line 154
3037 printk("<6>mtd_subpagetest: error: write failed at %#llx\n", addr);
3038 }
3039 {
3040#line 156
3041 __cil_tmp42 = & written;
3042#line 156
3043 __cil_tmp43 = *__cil_tmp42;
3044#line 156
3045 __cil_tmp44 = (size_t )subpgsize;
3046#line 156
3047 if (__cil_tmp44 != __cil_tmp43) {
3048 {
3049#line 157
3050 printk("<6>mtd_subpagetest: write size: %#x\n", subpgsize);
3051#line 158
3052 __cil_tmp45 = & written;
3053#line 158
3054 __cil_tmp46 = *__cil_tmp45;
3055#line 158
3056 printk("<6>mtd_subpagetest: written: %#zx\n", __cil_tmp46);
3057 }
3058 } else {
3059
3060 }
3061 }
3062#line 160
3063 if (err != 0) {
3064#line 160
3065 tmp___2 = err;
3066 } else {
3067#line 160
3068 tmp___2 = -1;
3069 }
3070#line 160
3071 return (tmp___2);
3072 } else {
3073
3074 }
3075 }
3076#line 163
3077 return (err);
3078}
3079}
3080#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3081static int write_eraseblock2(int ebnum )
3082{ size_t written ;
3083 int err ;
3084 int k ;
3085 loff_t addr ;
3086 int tmp ;
3087 long tmp___0 ;
3088 long tmp___1 ;
3089 uint32_t __cil_tmp9 ;
3090 unsigned long __cil_tmp10 ;
3091 unsigned long __cil_tmp11 ;
3092 uint32_t __cil_tmp12 ;
3093 uint32_t __cil_tmp13 ;
3094 unsigned long __cil_tmp14 ;
3095 unsigned long __cil_tmp15 ;
3096 uint32_t __cil_tmp16 ;
3097 int __cil_tmp17 ;
3098 uint32_t __cil_tmp18 ;
3099 uint32_t __cil_tmp19 ;
3100 loff_t __cil_tmp20 ;
3101 int __cil_tmp21 ;
3102 loff_t __cil_tmp22 ;
3103 loff_t __cil_tmp23 ;
3104 int __cil_tmp24 ;
3105 size_t __cil_tmp25 ;
3106 int __cil_tmp26 ;
3107 size_t __cil_tmp27 ;
3108 u_char const *__cil_tmp28 ;
3109 int __cil_tmp29 ;
3110 long __cil_tmp30 ;
3111 size_t *__cil_tmp31 ;
3112 size_t __cil_tmp32 ;
3113 int __cil_tmp33 ;
3114 size_t __cil_tmp34 ;
3115 int __cil_tmp35 ;
3116 long __cil_tmp36 ;
3117 size_t *__cil_tmp37 ;
3118 size_t __cil_tmp38 ;
3119 size_t __cil_tmp39 ;
3120 int __cil_tmp40 ;
3121 size_t *__cil_tmp41 ;
3122 size_t __cil_tmp42 ;
3123 int __cil_tmp43 ;
3124 loff_t __cil_tmp44 ;
3125
3126 {
3127#line 169
3128 err = 0;
3129#line 170
3130 __cil_tmp9 = (uint32_t )ebnum;
3131#line 170
3132 __cil_tmp10 = (unsigned long )mtd;
3133#line 170
3134 __cil_tmp11 = __cil_tmp10 + 16;
3135#line 170
3136 __cil_tmp12 = *((uint32_t *)__cil_tmp11);
3137#line 170
3138 __cil_tmp13 = __cil_tmp12 * __cil_tmp9;
3139#line 170
3140 addr = (loff_t )__cil_tmp13;
3141#line 172
3142 k = 1;
3143#line 172
3144 goto ldv_18704;
3145 ldv_18703: ;
3146 {
3147#line 173
3148 __cil_tmp14 = (unsigned long )mtd;
3149#line 173
3150 __cil_tmp15 = __cil_tmp14 + 16;
3151#line 173
3152 __cil_tmp16 = *((uint32_t *)__cil_tmp15);
3153#line 173
3154 __cil_tmp17 = ebnum + 1;
3155#line 173
3156 __cil_tmp18 = (uint32_t )__cil_tmp17;
3157#line 173
3158 __cil_tmp19 = __cil_tmp18 * __cil_tmp16;
3159#line 173
3160 __cil_tmp20 = (loff_t )__cil_tmp19;
3161#line 173
3162 __cil_tmp21 = subpgsize * k;
3163#line 173
3164 __cil_tmp22 = (loff_t )__cil_tmp21;
3165#line 173
3166 __cil_tmp23 = __cil_tmp22 + addr;
3167#line 173
3168 if (__cil_tmp23 > __cil_tmp20) {
3169#line 174
3170 goto ldv_18702;
3171 } else {
3172
3173 }
3174 }
3175 {
3176#line 175
3177 __cil_tmp24 = subpgsize * k;
3178#line 175
3179 __cil_tmp25 = (size_t )__cil_tmp24;
3180#line 175
3181 set_random_data(writebuf, __cil_tmp25);
3182#line 176
3183 __cil_tmp26 = subpgsize * k;
3184#line 176
3185 __cil_tmp27 = (size_t )__cil_tmp26;
3186#line 176
3187 __cil_tmp28 = (u_char const *)writebuf;
3188#line 176
3189 err = mtd_write(mtd, addr, __cil_tmp27, & written, __cil_tmp28);
3190#line 177
3191 __cil_tmp29 = err != 0;
3192#line 177
3193 __cil_tmp30 = (long )__cil_tmp29;
3194#line 177
3195 tmp___0 = __builtin_expect(__cil_tmp30, 0L);
3196 }
3197#line 177
3198 if (tmp___0 != 0L) {
3199#line 177
3200 goto _L;
3201 } else {
3202 {
3203#line 177
3204 __cil_tmp31 = & written;
3205#line 177
3206 __cil_tmp32 = *__cil_tmp31;
3207#line 177
3208 __cil_tmp33 = subpgsize * k;
3209#line 177
3210 __cil_tmp34 = (size_t )__cil_tmp33;
3211#line 177
3212 __cil_tmp35 = __cil_tmp34 != __cil_tmp32;
3213#line 177
3214 __cil_tmp36 = (long )__cil_tmp35;
3215#line 177
3216 tmp___1 = __builtin_expect(__cil_tmp36, 0L);
3217 }
3218#line 177
3219 if (tmp___1 != 0L) {
3220 _L:
3221 {
3222#line 178
3223 printk("<6>mtd_subpagetest: error: write failed at %#llx\n", addr);
3224 }
3225 {
3226#line 180
3227 __cil_tmp37 = & written;
3228#line 180
3229 __cil_tmp38 = *__cil_tmp37;
3230#line 180
3231 __cil_tmp39 = (size_t )subpgsize;
3232#line 180
3233 if (__cil_tmp39 != __cil_tmp38) {
3234 {
3235#line 181
3236 __cil_tmp40 = subpgsize * k;
3237#line 181
3238 printk("<6>mtd_subpagetest: write size: %#x\n", __cil_tmp40);
3239#line 183
3240 __cil_tmp41 = & written;
3241#line 183
3242 __cil_tmp42 = *__cil_tmp41;
3243#line 183
3244 printk("<6>mtd_subpagetest: written: %#08zx\n", __cil_tmp42);
3245 }
3246 } else {
3247
3248 }
3249 }
3250#line 186
3251 if (err != 0) {
3252#line 186
3253 tmp = err;
3254 } else {
3255#line 186
3256 tmp = -1;
3257 }
3258#line 186
3259 return (tmp);
3260 } else {
3261
3262 }
3263 }
3264#line 188
3265 __cil_tmp43 = subpgsize * k;
3266#line 188
3267 __cil_tmp44 = (loff_t )__cil_tmp43;
3268#line 188
3269 addr = __cil_tmp44 + addr;
3270#line 172
3271 k = k + 1;
3272 ldv_18704: ;
3273#line 172
3274 if (k <= 32) {
3275#line 173
3276 goto ldv_18703;
3277 } else {
3278#line 175
3279 goto ldv_18702;
3280 }
3281 ldv_18702: ;
3282#line 191
3283 return (err);
3284}
3285}
3286#line 194 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3287static void print_subpage(unsigned char *p )
3288{ int i ;
3289 int j ;
3290 unsigned char *tmp ;
3291 unsigned char __cil_tmp5 ;
3292 int __cil_tmp6 ;
3293
3294 {
3295#line 198
3296 i = 0;
3297#line 198
3298 goto ldv_18714;
3299 ldv_18713:
3300#line 199
3301 j = 0;
3302#line 199
3303 goto ldv_18711;
3304 ldv_18710:
3305 {
3306#line 200
3307 tmp = p;
3308#line 200
3309 p = p + 1;
3310#line 200
3311 __cil_tmp5 = *tmp;
3312#line 200
3313 __cil_tmp6 = (int )__cil_tmp5;
3314#line 200
3315 printk("%02x", __cil_tmp6);
3316#line 199
3317 i = i + 1;
3318#line 199
3319 j = j + 1;
3320 }
3321 ldv_18711: ;
3322#line 199
3323 if (i < subpgsize) {
3324#line 199
3325 if (j <= 31) {
3326#line 200
3327 goto ldv_18710;
3328 } else {
3329#line 202
3330 goto ldv_18712;
3331 }
3332 } else {
3333#line 202
3334 goto ldv_18712;
3335 }
3336 ldv_18712:
3337 {
3338#line 201
3339 printk("\n");
3340 }
3341 ldv_18714: ;
3342#line 198
3343 if (i < subpgsize) {
3344#line 199
3345 goto ldv_18713;
3346 } else {
3347#line 201
3348 goto ldv_18715;
3349 }
3350 ldv_18715: ;
3351#line 203
3352 return;
3353}
3354}
3355#line 205 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3356static int verify_eraseblock(int ebnum )
3357{ size_t read ;
3358 int err ;
3359 loff_t addr ;
3360 int tmp ;
3361 int tmp___0 ;
3362 long tmp___1 ;
3363 long tmp___2 ;
3364 int tmp___3 ;
3365 long tmp___4 ;
3366 int tmp___5 ;
3367 int tmp___6 ;
3368 long tmp___7 ;
3369 long tmp___8 ;
3370 int tmp___9 ;
3371 long tmp___10 ;
3372 uint32_t __cil_tmp17 ;
3373 unsigned long __cil_tmp18 ;
3374 unsigned long __cil_tmp19 ;
3375 uint32_t __cil_tmp20 ;
3376 uint32_t __cil_tmp21 ;
3377 size_t __cil_tmp22 ;
3378 size_t __cil_tmp23 ;
3379 size_t __cil_tmp24 ;
3380 int __cil_tmp25 ;
3381 long __cil_tmp26 ;
3382 size_t *__cil_tmp27 ;
3383 size_t __cil_tmp28 ;
3384 size_t __cil_tmp29 ;
3385 int __cil_tmp30 ;
3386 long __cil_tmp31 ;
3387 size_t *__cil_tmp32 ;
3388 size_t __cil_tmp33 ;
3389 size_t __cil_tmp34 ;
3390 void const *__cil_tmp35 ;
3391 void const *__cil_tmp36 ;
3392 size_t __cil_tmp37 ;
3393 int __cil_tmp38 ;
3394 long __cil_tmp39 ;
3395 loff_t __cil_tmp40 ;
3396 size_t __cil_tmp41 ;
3397 size_t __cil_tmp42 ;
3398 size_t __cil_tmp43 ;
3399 int __cil_tmp44 ;
3400 long __cil_tmp45 ;
3401 size_t *__cil_tmp46 ;
3402 size_t __cil_tmp47 ;
3403 size_t __cil_tmp48 ;
3404 int __cil_tmp49 ;
3405 long __cil_tmp50 ;
3406 size_t *__cil_tmp51 ;
3407 size_t __cil_tmp52 ;
3408 size_t __cil_tmp53 ;
3409 void const *__cil_tmp54 ;
3410 void const *__cil_tmp55 ;
3411 size_t __cil_tmp56 ;
3412 int __cil_tmp57 ;
3413 long __cil_tmp58 ;
3414
3415 {
3416 {
3417#line 208
3418 err = 0;
3419#line 209
3420 __cil_tmp17 = (uint32_t )ebnum;
3421#line 209
3422 __cil_tmp18 = (unsigned long )mtd;
3423#line 209
3424 __cil_tmp19 = __cil_tmp18 + 16;
3425#line 209
3426 __cil_tmp20 = *((uint32_t *)__cil_tmp19);
3427#line 209
3428 __cil_tmp21 = __cil_tmp20 * __cil_tmp17;
3429#line 209
3430 addr = (loff_t )__cil_tmp21;
3431#line 211
3432 __cil_tmp22 = (size_t )subpgsize;
3433#line 211
3434 set_random_data(writebuf, __cil_tmp22);
3435#line 212
3436 __cil_tmp23 = (size_t )subpgsize;
3437#line 212
3438 clear_data(readbuf, __cil_tmp23);
3439#line 213
3440 __cil_tmp24 = (size_t )subpgsize;
3441#line 213
3442 err = mtd_read(mtd, addr, __cil_tmp24, & read, readbuf);
3443#line 214
3444 __cil_tmp25 = err != 0;
3445#line 214
3446 __cil_tmp26 = (long )__cil_tmp25;
3447#line 214
3448 tmp___1 = __builtin_expect(__cil_tmp26, 0L);
3449 }
3450#line 214
3451 if (tmp___1 != 0L) {
3452#line 214
3453 goto _L___0;
3454 } else {
3455 {
3456#line 214
3457 __cil_tmp27 = & read;
3458#line 214
3459 __cil_tmp28 = *__cil_tmp27;
3460#line 214
3461 __cil_tmp29 = (size_t )subpgsize;
3462#line 214
3463 __cil_tmp30 = __cil_tmp29 != __cil_tmp28;
3464#line 214
3465 __cil_tmp31 = (long )__cil_tmp30;
3466#line 214
3467 tmp___2 = __builtin_expect(__cil_tmp31, 0L);
3468 }
3469#line 214
3470 if (tmp___2 != 0L) {
3471 _L___0:
3472 {
3473#line 215
3474 tmp___0 = mtd_is_bitflip(err);
3475 }
3476#line 215
3477 if (tmp___0 != 0) {
3478 {
3479#line 215
3480 __cil_tmp32 = & read;
3481#line 215
3482 __cil_tmp33 = *__cil_tmp32;
3483#line 215
3484 __cil_tmp34 = (size_t )subpgsize;
3485#line 215
3486 if (__cil_tmp34 == __cil_tmp33) {
3487 {
3488#line 216
3489 printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
3490#line 218
3491 err = 0;
3492 }
3493 } else {
3494#line 215
3495 goto _L;
3496 }
3497 }
3498 } else {
3499 _L:
3500 {
3501#line 220
3502 printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
3503 }
3504#line 222
3505 if (err != 0) {
3506#line 222
3507 tmp = err;
3508 } else {
3509#line 222
3510 tmp = -1;
3511 }
3512#line 222
3513 return (tmp);
3514 }
3515 } else {
3516
3517 }
3518 }
3519 {
3520#line 225
3521 __cil_tmp35 = (void const *)readbuf;
3522#line 225
3523 __cil_tmp36 = (void const *)writebuf;
3524#line 225
3525 __cil_tmp37 = (size_t )subpgsize;
3526#line 225
3527 tmp___3 = memcmp(__cil_tmp35, __cil_tmp36, __cil_tmp37);
3528#line 225
3529 __cil_tmp38 = tmp___3 != 0;
3530#line 225
3531 __cil_tmp39 = (long )__cil_tmp38;
3532#line 225
3533 tmp___4 = __builtin_expect(__cil_tmp39, 0L);
3534 }
3535#line 225
3536 if (tmp___4 != 0L) {
3537 {
3538#line 226
3539 printk("<6>mtd_subpagetest: error: verify failed at %#llx\n", addr);
3540#line 228
3541 printk("<6>mtd_subpagetest: ------------- written----------------\n");
3542#line 229
3543 print_subpage(writebuf);
3544#line 230
3545 printk("<6>mtd_subpagetest: ------------- read ------------------\n");
3546#line 231
3547 print_subpage(readbuf);
3548#line 232
3549 printk("<6>mtd_subpagetest: -------------------------------------\n");
3550#line 233
3551 errcnt = errcnt + 1;
3552 }
3553 } else {
3554
3555 }
3556 {
3557#line 236
3558 __cil_tmp40 = (loff_t )subpgsize;
3559#line 236
3560 addr = __cil_tmp40 + addr;
3561#line 238
3562 __cil_tmp41 = (size_t )subpgsize;
3563#line 238
3564 set_random_data(writebuf, __cil_tmp41);
3565#line 239
3566 __cil_tmp42 = (size_t )subpgsize;
3567#line 239
3568 clear_data(readbuf, __cil_tmp42);
3569#line 240
3570 __cil_tmp43 = (size_t )subpgsize;
3571#line 240
3572 err = mtd_read(mtd, addr, __cil_tmp43, & read, readbuf);
3573#line 241
3574 __cil_tmp44 = err != 0;
3575#line 241
3576 __cil_tmp45 = (long )__cil_tmp44;
3577#line 241
3578 tmp___7 = __builtin_expect(__cil_tmp45, 0L);
3579 }
3580#line 241
3581 if (tmp___7 != 0L) {
3582#line 241
3583 goto _L___2;
3584 } else {
3585 {
3586#line 241
3587 __cil_tmp46 = & read;
3588#line 241
3589 __cil_tmp47 = *__cil_tmp46;
3590#line 241
3591 __cil_tmp48 = (size_t )subpgsize;
3592#line 241
3593 __cil_tmp49 = __cil_tmp48 != __cil_tmp47;
3594#line 241
3595 __cil_tmp50 = (long )__cil_tmp49;
3596#line 241
3597 tmp___8 = __builtin_expect(__cil_tmp50, 0L);
3598 }
3599#line 241
3600 if (tmp___8 != 0L) {
3601 _L___2:
3602 {
3603#line 242
3604 tmp___6 = mtd_is_bitflip(err);
3605 }
3606#line 242
3607 if (tmp___6 != 0) {
3608 {
3609#line 242
3610 __cil_tmp51 = & read;
3611#line 242
3612 __cil_tmp52 = *__cil_tmp51;
3613#line 242
3614 __cil_tmp53 = (size_t )subpgsize;
3615#line 242
3616 if (__cil_tmp53 == __cil_tmp52) {
3617 {
3618#line 243
3619 printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
3620#line 245
3621 err = 0;
3622 }
3623 } else {
3624#line 242
3625 goto _L___1;
3626 }
3627 }
3628 } else {
3629 _L___1:
3630 {
3631#line 247
3632 printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
3633 }
3634#line 249
3635 if (err != 0) {
3636#line 249
3637 tmp___5 = err;
3638 } else {
3639#line 249
3640 tmp___5 = -1;
3641 }
3642#line 249
3643 return (tmp___5);
3644 }
3645 } else {
3646
3647 }
3648 }
3649 {
3650#line 252
3651 __cil_tmp54 = (void const *)readbuf;
3652#line 252
3653 __cil_tmp55 = (void const *)writebuf;
3654#line 252
3655 __cil_tmp56 = (size_t )subpgsize;
3656#line 252
3657 tmp___9 = memcmp(__cil_tmp54, __cil_tmp55, __cil_tmp56);
3658#line 252
3659 __cil_tmp57 = tmp___9 != 0;
3660#line 252
3661 __cil_tmp58 = (long )__cil_tmp57;
3662#line 252
3663 tmp___10 = __builtin_expect(__cil_tmp58, 0L);
3664 }
3665#line 252
3666 if (tmp___10 != 0L) {
3667 {
3668#line 253
3669 printk("<6>mtd_subpagetest: error: verify failed at %#llx\n", addr);
3670#line 255
3671 printk("<6>mtd_subpagetest: ------------- written----------------\n");
3672#line 256
3673 print_subpage(writebuf);
3674#line 257
3675 printk("<6>mtd_subpagetest: ------------- read ------------------\n");
3676#line 258
3677 print_subpage(readbuf);
3678#line 259
3679 printk("<6>mtd_subpagetest: -------------------------------------\n");
3680#line 260
3681 errcnt = errcnt + 1;
3682 }
3683 } else {
3684
3685 }
3686#line 263
3687 return (err);
3688}
3689}
3690#line 266 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3691static int verify_eraseblock2(int ebnum )
3692{ size_t read ;
3693 int err ;
3694 int k ;
3695 loff_t addr ;
3696 int tmp ;
3697 int tmp___0 ;
3698 long tmp___1 ;
3699 long tmp___2 ;
3700 int tmp___3 ;
3701 long tmp___4 ;
3702 uint32_t __cil_tmp12 ;
3703 unsigned long __cil_tmp13 ;
3704 unsigned long __cil_tmp14 ;
3705 uint32_t __cil_tmp15 ;
3706 uint32_t __cil_tmp16 ;
3707 unsigned long __cil_tmp17 ;
3708 unsigned long __cil_tmp18 ;
3709 uint32_t __cil_tmp19 ;
3710 int __cil_tmp20 ;
3711 uint32_t __cil_tmp21 ;
3712 uint32_t __cil_tmp22 ;
3713 loff_t __cil_tmp23 ;
3714 int __cil_tmp24 ;
3715 loff_t __cil_tmp25 ;
3716 loff_t __cil_tmp26 ;
3717 int __cil_tmp27 ;
3718 size_t __cil_tmp28 ;
3719 int __cil_tmp29 ;
3720 size_t __cil_tmp30 ;
3721 int __cil_tmp31 ;
3722 size_t __cil_tmp32 ;
3723 int __cil_tmp33 ;
3724 long __cil_tmp34 ;
3725 size_t *__cil_tmp35 ;
3726 size_t __cil_tmp36 ;
3727 int __cil_tmp37 ;
3728 size_t __cil_tmp38 ;
3729 int __cil_tmp39 ;
3730 long __cil_tmp40 ;
3731 size_t *__cil_tmp41 ;
3732 size_t __cil_tmp42 ;
3733 int __cil_tmp43 ;
3734 size_t __cil_tmp44 ;
3735 void const *__cil_tmp45 ;
3736 void const *__cil_tmp46 ;
3737 int __cil_tmp47 ;
3738 size_t __cil_tmp48 ;
3739 int __cil_tmp49 ;
3740 long __cil_tmp50 ;
3741 int __cil_tmp51 ;
3742 loff_t __cil_tmp52 ;
3743
3744 {
3745#line 269
3746 err = 0;
3747#line 270
3748 __cil_tmp12 = (uint32_t )ebnum;
3749#line 270
3750 __cil_tmp13 = (unsigned long )mtd;
3751#line 270
3752 __cil_tmp14 = __cil_tmp13 + 16;
3753#line 270
3754 __cil_tmp15 = *((uint32_t *)__cil_tmp14);
3755#line 270
3756 __cil_tmp16 = __cil_tmp15 * __cil_tmp12;
3757#line 270
3758 addr = (loff_t )__cil_tmp16;
3759#line 272
3760 k = 1;
3761#line 272
3762 goto ldv_18731;
3763 ldv_18730: ;
3764 {
3765#line 273
3766 __cil_tmp17 = (unsigned long )mtd;
3767#line 273
3768 __cil_tmp18 = __cil_tmp17 + 16;
3769#line 273
3770 __cil_tmp19 = *((uint32_t *)__cil_tmp18);
3771#line 273
3772 __cil_tmp20 = ebnum + 1;
3773#line 273
3774 __cil_tmp21 = (uint32_t )__cil_tmp20;
3775#line 273
3776 __cil_tmp22 = __cil_tmp21 * __cil_tmp19;
3777#line 273
3778 __cil_tmp23 = (loff_t )__cil_tmp22;
3779#line 273
3780 __cil_tmp24 = subpgsize * k;
3781#line 273
3782 __cil_tmp25 = (loff_t )__cil_tmp24;
3783#line 273
3784 __cil_tmp26 = __cil_tmp25 + addr;
3785#line 273
3786 if (__cil_tmp26 > __cil_tmp23) {
3787#line 274
3788 goto ldv_18729;
3789 } else {
3790
3791 }
3792 }
3793 {
3794#line 275
3795 __cil_tmp27 = subpgsize * k;
3796#line 275
3797 __cil_tmp28 = (size_t )__cil_tmp27;
3798#line 275
3799 set_random_data(writebuf, __cil_tmp28);
3800#line 276
3801 __cil_tmp29 = subpgsize * k;
3802#line 276
3803 __cil_tmp30 = (size_t )__cil_tmp29;
3804#line 276
3805 clear_data(readbuf, __cil_tmp30);
3806#line 277
3807 __cil_tmp31 = subpgsize * k;
3808#line 277
3809 __cil_tmp32 = (size_t )__cil_tmp31;
3810#line 277
3811 err = mtd_read(mtd, addr, __cil_tmp32, & read, readbuf);
3812#line 278
3813 __cil_tmp33 = err != 0;
3814#line 278
3815 __cil_tmp34 = (long )__cil_tmp33;
3816#line 278
3817 tmp___1 = __builtin_expect(__cil_tmp34, 0L);
3818 }
3819#line 278
3820 if (tmp___1 != 0L) {
3821#line 278
3822 goto _L___0;
3823 } else {
3824 {
3825#line 278
3826 __cil_tmp35 = & read;
3827#line 278
3828 __cil_tmp36 = *__cil_tmp35;
3829#line 278
3830 __cil_tmp37 = subpgsize * k;
3831#line 278
3832 __cil_tmp38 = (size_t )__cil_tmp37;
3833#line 278
3834 __cil_tmp39 = __cil_tmp38 != __cil_tmp36;
3835#line 278
3836 __cil_tmp40 = (long )__cil_tmp39;
3837#line 278
3838 tmp___2 = __builtin_expect(__cil_tmp40, 0L);
3839 }
3840#line 278
3841 if (tmp___2 != 0L) {
3842 _L___0:
3843 {
3844#line 279
3845 tmp___0 = mtd_is_bitflip(err);
3846 }
3847#line 279
3848 if (tmp___0 != 0) {
3849 {
3850#line 279
3851 __cil_tmp41 = & read;
3852#line 279
3853 __cil_tmp42 = *__cil_tmp41;
3854#line 279
3855 __cil_tmp43 = subpgsize * k;
3856#line 279
3857 __cil_tmp44 = (size_t )__cil_tmp43;
3858#line 279
3859 if (__cil_tmp44 == __cil_tmp42) {
3860 {
3861#line 280
3862 printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
3863#line 282
3864 err = 0;
3865 }
3866 } else {
3867#line 279
3868 goto _L;
3869 }
3870 }
3871 } else {
3872 _L:
3873 {
3874#line 284
3875 printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
3876 }
3877#line 286
3878 if (err != 0) {
3879#line 286
3880 tmp = err;
3881 } else {
3882#line 286
3883 tmp = -1;
3884 }
3885#line 286
3886 return (tmp);
3887 }
3888 } else {
3889
3890 }
3891 }
3892 {
3893#line 289
3894 __cil_tmp45 = (void const *)readbuf;
3895#line 289
3896 __cil_tmp46 = (void const *)writebuf;
3897#line 289
3898 __cil_tmp47 = subpgsize * k;
3899#line 289
3900 __cil_tmp48 = (size_t )__cil_tmp47;
3901#line 289
3902 tmp___3 = memcmp(__cil_tmp45, __cil_tmp46, __cil_tmp48);
3903#line 289
3904 __cil_tmp49 = tmp___3 != 0;
3905#line 289
3906 __cil_tmp50 = (long )__cil_tmp49;
3907#line 289
3908 tmp___4 = __builtin_expect(__cil_tmp50, 0L);
3909 }
3910#line 289
3911 if (tmp___4 != 0L) {
3912 {
3913#line 290
3914 printk("<6>mtd_subpagetest: error: verify failed at %#llx\n", addr);
3915#line 292
3916 errcnt = errcnt + 1;
3917 }
3918 } else {
3919
3920 }
3921#line 294
3922 __cil_tmp51 = subpgsize * k;
3923#line 294
3924 __cil_tmp52 = (loff_t )__cil_tmp51;
3925#line 294
3926 addr = __cil_tmp52 + addr;
3927#line 272
3928 k = k + 1;
3929 ldv_18731: ;
3930#line 272
3931 if (k <= 32) {
3932#line 273
3933 goto ldv_18730;
3934 } else {
3935#line 275
3936 goto ldv_18729;
3937 }
3938 ldv_18729: ;
3939#line 297
3940 return (err);
3941}
3942}
3943#line 300 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
3944static int verify_eraseblock_ff(int ebnum )
3945{ uint32_t j ;
3946 size_t read ;
3947 int err ;
3948 loff_t addr ;
3949 int tmp ;
3950 int tmp___0 ;
3951 long tmp___1 ;
3952 long tmp___2 ;
3953 int tmp___3 ;
3954 long tmp___4 ;
3955 uint32_t __cil_tmp12 ;
3956 unsigned long __cil_tmp13 ;
3957 unsigned long __cil_tmp14 ;
3958 uint32_t __cil_tmp15 ;
3959 uint32_t __cil_tmp16 ;
3960 void *__cil_tmp17 ;
3961 size_t __cil_tmp18 ;
3962 size_t __cil_tmp19 ;
3963 size_t __cil_tmp20 ;
3964 int __cil_tmp21 ;
3965 long __cil_tmp22 ;
3966 size_t *__cil_tmp23 ;
3967 size_t __cil_tmp24 ;
3968 size_t __cil_tmp25 ;
3969 int __cil_tmp26 ;
3970 long __cil_tmp27 ;
3971 size_t *__cil_tmp28 ;
3972 size_t __cil_tmp29 ;
3973 size_t __cil_tmp30 ;
3974 void const *__cil_tmp31 ;
3975 void const *__cil_tmp32 ;
3976 size_t __cil_tmp33 ;
3977 int __cil_tmp34 ;
3978 long __cil_tmp35 ;
3979 loff_t __cil_tmp36 ;
3980 uint32_t __cil_tmp37 ;
3981 unsigned long __cil_tmp38 ;
3982 unsigned long __cil_tmp39 ;
3983 uint32_t __cil_tmp40 ;
3984 uint32_t __cil_tmp41 ;
3985
3986 {
3987 {
3988#line 304
3989 err = 0;
3990#line 305
3991 __cil_tmp12 = (uint32_t )ebnum;
3992#line 305
3993 __cil_tmp13 = (unsigned long )mtd;
3994#line 305
3995 __cil_tmp14 = __cil_tmp13 + 16;
3996#line 305
3997 __cil_tmp15 = *((uint32_t *)__cil_tmp14);
3998#line 305
3999 __cil_tmp16 = __cil_tmp15 * __cil_tmp12;
4000#line 305
4001 addr = (loff_t )__cil_tmp16;
4002#line 307
4003 __cil_tmp17 = (void *)writebuf;
4004#line 307
4005 __cil_tmp18 = (size_t )subpgsize;
4006#line 307
4007 memset(__cil_tmp17, 255, __cil_tmp18);
4008#line 308
4009 j = 0U;
4010 }
4011#line 308
4012 goto ldv_18740;
4013 ldv_18739:
4014 {
4015#line 309
4016 __cil_tmp19 = (size_t )subpgsize;
4017#line 309
4018 clear_data(readbuf, __cil_tmp19);
4019#line 310
4020 __cil_tmp20 = (size_t )subpgsize;
4021#line 310
4022 err = mtd_read(mtd, addr, __cil_tmp20, & read, readbuf);
4023#line 311
4024 __cil_tmp21 = err != 0;
4025#line 311
4026 __cil_tmp22 = (long )__cil_tmp21;
4027#line 311
4028 tmp___1 = __builtin_expect(__cil_tmp22, 0L);
4029 }
4030#line 311
4031 if (tmp___1 != 0L) {
4032#line 311
4033 goto _L___0;
4034 } else {
4035 {
4036#line 311
4037 __cil_tmp23 = & read;
4038#line 311
4039 __cil_tmp24 = *__cil_tmp23;
4040#line 311
4041 __cil_tmp25 = (size_t )subpgsize;
4042#line 311
4043 __cil_tmp26 = __cil_tmp25 != __cil_tmp24;
4044#line 311
4045 __cil_tmp27 = (long )__cil_tmp26;
4046#line 311
4047 tmp___2 = __builtin_expect(__cil_tmp27, 0L);
4048 }
4049#line 311
4050 if (tmp___2 != 0L) {
4051 _L___0:
4052 {
4053#line 312
4054 tmp___0 = mtd_is_bitflip(err);
4055 }
4056#line 312
4057 if (tmp___0 != 0) {
4058 {
4059#line 312
4060 __cil_tmp28 = & read;
4061#line 312
4062 __cil_tmp29 = *__cil_tmp28;
4063#line 312
4064 __cil_tmp30 = (size_t )subpgsize;
4065#line 312
4066 if (__cil_tmp30 == __cil_tmp29) {
4067 {
4068#line 313
4069 printk("<6>mtd_subpagetest: ECC correction at %#llx\n", addr);
4070#line 315
4071 err = 0;
4072 }
4073 } else {
4074#line 312
4075 goto _L;
4076 }
4077 }
4078 } else {
4079 _L:
4080 {
4081#line 317
4082 printk("<6>mtd_subpagetest: error: read failed at %#llx\n", addr);
4083 }
4084#line 319
4085 if (err != 0) {
4086#line 319
4087 tmp = err;
4088 } else {
4089#line 319
4090 tmp = -1;
4091 }
4092#line 319
4093 return (tmp);
4094 }
4095 } else {
4096
4097 }
4098 }
4099 {
4100#line 322
4101 __cil_tmp31 = (void const *)readbuf;
4102#line 322
4103 __cil_tmp32 = (void const *)writebuf;
4104#line 322
4105 __cil_tmp33 = (size_t )subpgsize;
4106#line 322
4107 tmp___3 = memcmp(__cil_tmp31, __cil_tmp32, __cil_tmp33);
4108#line 322
4109 __cil_tmp34 = tmp___3 != 0;
4110#line 322
4111 __cil_tmp35 = (long )__cil_tmp34;
4112#line 322
4113 tmp___4 = __builtin_expect(__cil_tmp35, 0L);
4114 }
4115#line 322
4116 if (tmp___4 != 0L) {
4117 {
4118#line 323
4119 printk("<6>mtd_subpagetest: error: verify 0xff failed at %#llx\n", addr);
4120#line 325
4121 errcnt = errcnt + 1;
4122 }
4123 } else {
4124
4125 }
4126#line 327
4127 __cil_tmp36 = (loff_t )subpgsize;
4128#line 327
4129 addr = __cil_tmp36 + addr;
4130#line 308
4131 j = j + 1U;
4132 ldv_18740: ;
4133 {
4134#line 308
4135 __cil_tmp37 = (uint32_t )subpgsize;
4136#line 308
4137 __cil_tmp38 = (unsigned long )mtd;
4138#line 308
4139 __cil_tmp39 = __cil_tmp38 + 16;
4140#line 308
4141 __cil_tmp40 = *((uint32_t *)__cil_tmp39);
4142#line 308
4143 __cil_tmp41 = __cil_tmp40 / __cil_tmp37;
4144#line 308
4145 if (__cil_tmp41 > j) {
4146#line 309
4147 goto ldv_18739;
4148 } else {
4149#line 311
4150 goto ldv_18741;
4151 }
4152 }
4153 ldv_18741: ;
4154#line 330
4155 return (err);
4156}
4157}
4158#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4159static int verify_all_eraseblocks_ff(void)
4160{ int err ;
4161 unsigned int i ;
4162 unsigned long __cil_tmp3 ;
4163 unsigned char *__cil_tmp4 ;
4164 unsigned char __cil_tmp5 ;
4165 unsigned int __cil_tmp6 ;
4166 int __cil_tmp7 ;
4167 unsigned int __cil_tmp8 ;
4168 unsigned int __cil_tmp9 ;
4169
4170 {
4171 {
4172#line 338
4173 printk("<6>mtd_subpagetest: verifying all eraseblocks for 0xff\n");
4174#line 339
4175 i = 0U;
4176 }
4177#line 339
4178 goto ldv_18750;
4179 ldv_18749: ;
4180 {
4181#line 340
4182 __cil_tmp3 = (unsigned long )i;
4183#line 340
4184 __cil_tmp4 = bbt + __cil_tmp3;
4185#line 340
4186 __cil_tmp5 = *__cil_tmp4;
4187#line 340
4188 __cil_tmp6 = (unsigned int )__cil_tmp5;
4189#line 340
4190 if (__cil_tmp6 != 0U) {
4191#line 341
4192 goto ldv_18747;
4193 } else {
4194
4195 }
4196 }
4197 {
4198#line 342
4199 __cil_tmp7 = (int )i;
4200#line 342
4201 err = verify_eraseblock_ff(__cil_tmp7);
4202 }
4203#line 343
4204 if (err != 0) {
4205#line 344
4206 return (err);
4207 } else {
4208
4209 }
4210 {
4211#line 345
4212 __cil_tmp8 = i & 255U;
4213#line 345
4214 if (__cil_tmp8 == 0U) {
4215 {
4216#line 346
4217 printk("<6>mtd_subpagetest: verified up to eraseblock %u\n", i);
4218 }
4219 } else {
4220
4221 }
4222 }
4223 {
4224#line 347
4225 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4226 347, 0);
4227#line 347
4228 _cond_resched();
4229 }
4230 ldv_18747:
4231#line 339
4232 i = i + 1U;
4233 ldv_18750: ;
4234 {
4235#line 339
4236 __cil_tmp9 = (unsigned int )ebcnt;
4237#line 339
4238 if (__cil_tmp9 > i) {
4239#line 340
4240 goto ldv_18749;
4241 } else {
4242#line 342
4243 goto ldv_18751;
4244 }
4245 }
4246 ldv_18751:
4247 {
4248#line 349
4249 printk("<6>mtd_subpagetest: verified %u eraseblocks\n", i);
4250 }
4251#line 350
4252 return (0);
4253}
4254}
4255#line 353 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4256static int is_block_bad(int ebnum )
4257{ loff_t addr ;
4258 int ret ;
4259 uint32_t __cil_tmp4 ;
4260 unsigned long __cil_tmp5 ;
4261 unsigned long __cil_tmp6 ;
4262 uint32_t __cil_tmp7 ;
4263 uint32_t __cil_tmp8 ;
4264
4265 {
4266 {
4267#line 355
4268 __cil_tmp4 = (uint32_t )ebnum;
4269#line 355
4270 __cil_tmp5 = (unsigned long )mtd;
4271#line 355
4272 __cil_tmp6 = __cil_tmp5 + 16;
4273#line 355
4274 __cil_tmp7 = *((uint32_t *)__cil_tmp6);
4275#line 355
4276 __cil_tmp8 = __cil_tmp7 * __cil_tmp4;
4277#line 355
4278 addr = (loff_t )__cil_tmp8;
4279#line 358
4280 ret = mtd_block_isbad(mtd, addr);
4281 }
4282#line 359
4283 if (ret != 0) {
4284 {
4285#line 360
4286 printk("<6>mtd_subpagetest: block %d is bad\n", ebnum);
4287 }
4288 } else {
4289
4290 }
4291#line 361
4292 return (ret);
4293}
4294}
4295#line 364 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4296static int scan_for_bad_eraseblocks(void)
4297{ int i ;
4298 int bad ;
4299 void *tmp ;
4300 int tmp___0 ;
4301 size_t __cil_tmp5 ;
4302 unsigned char *__cil_tmp6 ;
4303 unsigned long __cil_tmp7 ;
4304 unsigned long __cil_tmp8 ;
4305 unsigned long __cil_tmp9 ;
4306 unsigned char *__cil_tmp10 ;
4307 int __cil_tmp11 ;
4308 unsigned long __cil_tmp12 ;
4309 unsigned char *__cil_tmp13 ;
4310 unsigned char __cil_tmp14 ;
4311 unsigned int __cil_tmp15 ;
4312
4313 {
4314 {
4315#line 366
4316 bad = 0;
4317#line 368
4318 __cil_tmp5 = (size_t )ebcnt;
4319#line 368
4320 tmp = kzalloc(__cil_tmp5, 208U);
4321#line 368
4322 bbt = (unsigned char *)tmp;
4323 }
4324 {
4325#line 369
4326 __cil_tmp6 = (unsigned char *)0;
4327#line 369
4328 __cil_tmp7 = (unsigned long )__cil_tmp6;
4329#line 369
4330 __cil_tmp8 = (unsigned long )bbt;
4331#line 369
4332 if (__cil_tmp8 == __cil_tmp7) {
4333 {
4334#line 370
4335 printk("<6>mtd_subpagetest: error: cannot allocate memory\n");
4336 }
4337#line 371
4338 return (-12);
4339 } else {
4340
4341 }
4342 }
4343 {
4344#line 374
4345 printk("<6>mtd_subpagetest: scanning for bad eraseblocks\n");
4346#line 375
4347 i = 0;
4348 }
4349#line 375
4350 goto ldv_18764;
4351 ldv_18763:
4352 {
4353#line 376
4354 tmp___0 = is_block_bad(i);
4355#line 376
4356 __cil_tmp9 = (unsigned long )i;
4357#line 376
4358 __cil_tmp10 = bbt + __cil_tmp9;
4359#line 376
4360 __cil_tmp11 = tmp___0 != 0;
4361#line 376
4362 *__cil_tmp10 = (unsigned char )__cil_tmp11;
4363 }
4364 {
4365#line 377
4366 __cil_tmp12 = (unsigned long )i;
4367#line 377
4368 __cil_tmp13 = bbt + __cil_tmp12;
4369#line 377
4370 __cil_tmp14 = *__cil_tmp13;
4371#line 377
4372 __cil_tmp15 = (unsigned int )__cil_tmp14;
4373#line 377
4374 if (__cil_tmp15 != 0U) {
4375#line 378
4376 bad = bad + 1;
4377 } else {
4378
4379 }
4380 }
4381 {
4382#line 379
4383 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4384 379, 0);
4385#line 379
4386 _cond_resched();
4387#line 375
4388 i = i + 1;
4389 }
4390 ldv_18764: ;
4391#line 375
4392 if (i < ebcnt) {
4393#line 376
4394 goto ldv_18763;
4395 } else {
4396#line 378
4397 goto ldv_18765;
4398 }
4399 ldv_18765:
4400 {
4401#line 381
4402 printk("<6>mtd_subpagetest: scanned %d eraseblocks, %d are bad\n", i, bad);
4403 }
4404#line 382
4405 return (0);
4406}
4407}
4408#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
4409static int mtd_subpagetest_init(void)
4410{ int err ;
4411 uint32_t i ;
4412 uint64_t tmp ;
4413 long tmp___0 ;
4414 long tmp___1 ;
4415 uint32_t __base ;
4416 uint32_t __rem ;
4417 void *tmp___2 ;
4418 void *tmp___3 ;
4419 long tmp___4 ;
4420 long tmp___5 ;
4421 long tmp___6 ;
4422 long tmp___7 ;
4423 int *__cil_tmp14 ;
4424 int __cil_tmp15 ;
4425 int *__cil_tmp16 ;
4426 int __cil_tmp17 ;
4427 struct mtd_info *__cil_tmp18 ;
4428 int *__cil_tmp19 ;
4429 int __cil_tmp20 ;
4430 void const *__cil_tmp21 ;
4431 void const *__cil_tmp22 ;
4432 u_char __cil_tmp23 ;
4433 unsigned int __cil_tmp24 ;
4434 unsigned long __cil_tmp25 ;
4435 unsigned long __cil_tmp26 ;
4436 int __cil_tmp27 ;
4437 unsigned long __cil_tmp28 ;
4438 unsigned long __cil_tmp29 ;
4439 uint32_t __cil_tmp30 ;
4440 uint32_t __cil_tmp31 ;
4441 unsigned long __cil_tmp32 ;
4442 unsigned long __cil_tmp33 ;
4443 unsigned long __cil_tmp34 ;
4444 unsigned long __cil_tmp35 ;
4445 uint64_t __cil_tmp36 ;
4446 unsigned long long __cil_tmp37 ;
4447 uint64_t __cil_tmp38 ;
4448 unsigned long __cil_tmp39 ;
4449 unsigned long __cil_tmp40 ;
4450 uint32_t __cil_tmp41 ;
4451 unsigned long __cil_tmp42 ;
4452 unsigned long __cil_tmp43 ;
4453 uint32_t __cil_tmp44 ;
4454 uint32_t __cil_tmp45 ;
4455 unsigned long __cil_tmp46 ;
4456 unsigned long __cil_tmp47 ;
4457 uint64_t __cil_tmp48 ;
4458 unsigned long __cil_tmp49 ;
4459 unsigned long __cil_tmp50 ;
4460 uint32_t __cil_tmp51 ;
4461 unsigned long __cil_tmp52 ;
4462 unsigned long __cil_tmp53 ;
4463 uint32_t __cil_tmp54 ;
4464 unsigned long __cil_tmp55 ;
4465 unsigned long __cil_tmp56 ;
4466 uint32_t __cil_tmp57 ;
4467 size_t __cil_tmp58 ;
4468 unsigned char *__cil_tmp59 ;
4469 unsigned long __cil_tmp60 ;
4470 unsigned long __cil_tmp61 ;
4471 size_t __cil_tmp62 ;
4472 unsigned char *__cil_tmp63 ;
4473 unsigned long __cil_tmp64 ;
4474 unsigned long __cil_tmp65 ;
4475 unsigned long __cil_tmp66 ;
4476 unsigned char *__cil_tmp67 ;
4477 unsigned char __cil_tmp68 ;
4478 unsigned int __cil_tmp69 ;
4479 int __cil_tmp70 ;
4480 int __cil_tmp71 ;
4481 long __cil_tmp72 ;
4482 unsigned int __cil_tmp73 ;
4483 uint32_t __cil_tmp74 ;
4484 unsigned long __cil_tmp75 ;
4485 unsigned char *__cil_tmp76 ;
4486 unsigned char __cil_tmp77 ;
4487 unsigned int __cil_tmp78 ;
4488 int __cil_tmp79 ;
4489 int __cil_tmp80 ;
4490 long __cil_tmp81 ;
4491 unsigned int __cil_tmp82 ;
4492 uint32_t __cil_tmp83 ;
4493 unsigned long __cil_tmp84 ;
4494 unsigned char *__cil_tmp85 ;
4495 unsigned char __cil_tmp86 ;
4496 unsigned int __cil_tmp87 ;
4497 int __cil_tmp88 ;
4498 int __cil_tmp89 ;
4499 long __cil_tmp90 ;
4500 unsigned int __cil_tmp91 ;
4501 uint32_t __cil_tmp92 ;
4502 unsigned long __cil_tmp93 ;
4503 unsigned char *__cil_tmp94 ;
4504 unsigned char __cil_tmp95 ;
4505 unsigned int __cil_tmp96 ;
4506 int __cil_tmp97 ;
4507 int __cil_tmp98 ;
4508 long __cil_tmp99 ;
4509 unsigned int __cil_tmp100 ;
4510 uint32_t __cil_tmp101 ;
4511 void const *__cil_tmp102 ;
4512 void const *__cil_tmp103 ;
4513 void const *__cil_tmp104 ;
4514
4515 {
4516 {
4517#line 387
4518 err = 0;
4519#line 391
4520 printk("<6>\n");
4521#line 392
4522 printk("<6>=================================================\n");
4523 }
4524 {
4525#line 394
4526 __cil_tmp14 = & dev;
4527#line 394
4528 __cil_tmp15 = *__cil_tmp14;
4529#line 394
4530 if (__cil_tmp15 < 0) {
4531 {
4532#line 395
4533 printk("<6>mtd_subpagetest: Please specify a valid mtd-device via module paramter\n");
4534#line 396
4535 printk("<2>CAREFUL: This test wipes all data on the specified MTD device!\n");
4536 }
4537#line 397
4538 return (-22);
4539 } else {
4540
4541 }
4542 }
4543 {
4544#line 400
4545 __cil_tmp16 = & dev;
4546#line 400
4547 __cil_tmp17 = *__cil_tmp16;
4548#line 400
4549 printk("<6>mtd_subpagetest: MTD device: %d\n", __cil_tmp17);
4550#line 402
4551 __cil_tmp18 = (struct mtd_info *)0;
4552#line 402
4553 __cil_tmp19 = & dev;
4554#line 402
4555 __cil_tmp20 = *__cil_tmp19;
4556#line 402
4557 mtd = get_mtd_device(__cil_tmp18, __cil_tmp20);
4558#line 403
4559 __cil_tmp21 = (void const *)mtd;
4560#line 403
4561 tmp___1 = IS_ERR(__cil_tmp21);
4562 }
4563#line 403
4564 if (tmp___1 != 0L) {
4565 {
4566#line 404
4567 __cil_tmp22 = (void const *)mtd;
4568#line 404
4569 tmp___0 = PTR_ERR(__cil_tmp22);
4570#line 404
4571 err = (int )tmp___0;
4572#line 405
4573 printk("<6>mtd_subpagetest: error: cannot get MTD device\n");
4574 }
4575#line 406
4576 return (err);
4577 } else {
4578
4579 }
4580 {
4581#line 409
4582 __cil_tmp23 = *((u_char *)mtd);
4583#line 409
4584 __cil_tmp24 = (unsigned int )__cil_tmp23;
4585#line 409
4586 if (__cil_tmp24 != 4U) {
4587 {
4588#line 410
4589 printk("<6>mtd_subpagetest: this test requires NAND flash\n");
4590 }
4591#line 411
4592 goto out;
4593 } else {
4594
4595 }
4596 }
4597 {
4598#line 414
4599 __cil_tmp25 = (unsigned long )mtd;
4600#line 414
4601 __cil_tmp26 = __cil_tmp25 + 352;
4602#line 414
4603 __cil_tmp27 = *((int *)__cil_tmp26);
4604#line 414
4605 __cil_tmp28 = (unsigned long )mtd;
4606#line 414
4607 __cil_tmp29 = __cil_tmp28 + 20;
4608#line 414
4609 __cil_tmp30 = *((uint32_t *)__cil_tmp29);
4610#line 414
4611 __cil_tmp31 = __cil_tmp30 >> __cil_tmp27;
4612#line 414
4613 subpgsize = (int )__cil_tmp31;
4614#line 415
4615 __cil_tmp32 = (unsigned long )mtd;
4616#line 415
4617 __cil_tmp33 = __cil_tmp32 + 8;
4618#line 415
4619 tmp = *((uint64_t *)__cil_tmp33);
4620#line 416
4621 __cil_tmp34 = (unsigned long )mtd;
4622#line 416
4623 __cil_tmp35 = __cil_tmp34 + 16;
4624#line 416
4625 __base = *((uint32_t *)__cil_tmp35);
4626#line 416
4627 __cil_tmp36 = (uint64_t )__base;
4628#line 416
4629 __cil_tmp37 = tmp % __cil_tmp36;
4630#line 416
4631 __rem = (uint32_t )__cil_tmp37;
4632#line 416
4633 __cil_tmp38 = (uint64_t )__base;
4634#line 416
4635 tmp = tmp / __cil_tmp38;
4636#line 417
4637 ebcnt = (int )tmp;
4638#line 418
4639 __cil_tmp39 = (unsigned long )mtd;
4640#line 418
4641 __cil_tmp40 = __cil_tmp39 + 20;
4642#line 418
4643 __cil_tmp41 = *((uint32_t *)__cil_tmp40);
4644#line 418
4645 __cil_tmp42 = (unsigned long )mtd;
4646#line 418
4647 __cil_tmp43 = __cil_tmp42 + 16;
4648#line 418
4649 __cil_tmp44 = *((uint32_t *)__cil_tmp43);
4650#line 418
4651 __cil_tmp45 = __cil_tmp44 / __cil_tmp41;
4652#line 418
4653 pgcnt = (int )__cil_tmp45;
4654#line 420
4655 __cil_tmp46 = (unsigned long )mtd;
4656#line 420
4657 __cil_tmp47 = __cil_tmp46 + 8;
4658#line 420
4659 __cil_tmp48 = *((uint64_t *)__cil_tmp47);
4660#line 420
4661 __cil_tmp49 = (unsigned long )mtd;
4662#line 420
4663 __cil_tmp50 = __cil_tmp49 + 16;
4664#line 420
4665 __cil_tmp51 = *((uint32_t *)__cil_tmp50);
4666#line 420
4667 __cil_tmp52 = (unsigned long )mtd;
4668#line 420
4669 __cil_tmp53 = __cil_tmp52 + 20;
4670#line 420
4671 __cil_tmp54 = *((uint32_t *)__cil_tmp53);
4672#line 420
4673 __cil_tmp55 = (unsigned long )mtd;
4674#line 420
4675 __cil_tmp56 = __cil_tmp55 + 28;
4676#line 420
4677 __cil_tmp57 = *((uint32_t *)__cil_tmp56);
4678#line 420
4679 printk("<6>mtd_subpagetest: MTD device size %llu, eraseblock size %u, page size %u, subpage size %u, count of eraseblocks %u, pages per eraseblock %u, OOB size %u\n",
4680 __cil_tmp48, __cil_tmp51, __cil_tmp54, subpgsize, ebcnt, pgcnt, __cil_tmp57);
4681#line 426
4682 err = -12;
4683#line 427
4684 bufsize = subpgsize * 32;
4685#line 428
4686 __cil_tmp58 = (size_t )bufsize;
4687#line 428
4688 tmp___2 = kmalloc(__cil_tmp58, 208U);
4689#line 428
4690 writebuf = (unsigned char *)tmp___2;
4691 }
4692 {
4693#line 429
4694 __cil_tmp59 = (unsigned char *)0;
4695#line 429
4696 __cil_tmp60 = (unsigned long )__cil_tmp59;
4697#line 429
4698 __cil_tmp61 = (unsigned long )writebuf;
4699#line 429
4700 if (__cil_tmp61 == __cil_tmp60) {
4701 {
4702#line 430
4703 printk("<6>mtd_subpagetest: error: cannot allocate memory\n");
4704 }
4705#line 431
4706 goto out;
4707 } else {
4708
4709 }
4710 }
4711 {
4712#line 433
4713 __cil_tmp62 = (size_t )bufsize;
4714#line 433
4715 tmp___3 = kmalloc(__cil_tmp62, 208U);
4716#line 433
4717 readbuf = (unsigned char *)tmp___3;
4718 }
4719 {
4720#line 434
4721 __cil_tmp63 = (unsigned char *)0;
4722#line 434
4723 __cil_tmp64 = (unsigned long )__cil_tmp63;
4724#line 434
4725 __cil_tmp65 = (unsigned long )readbuf;
4726#line 434
4727 if (__cil_tmp65 == __cil_tmp64) {
4728 {
4729#line 435
4730 printk("<6>mtd_subpagetest: error: cannot allocate memory\n");
4731 }
4732#line 436
4733 goto out;
4734 } else {
4735
4736 }
4737 }
4738 {
4739#line 439
4740 err = scan_for_bad_eraseblocks();
4741 }
4742#line 440
4743 if (err != 0) {
4744#line 441
4745 goto out;
4746 } else {
4747
4748 }
4749 {
4750#line 443
4751 err = erase_whole_device();
4752 }
4753#line 444
4754 if (err != 0) {
4755#line 445
4756 goto out;
4757 } else {
4758
4759 }
4760 {
4761#line 447
4762 printk("<6>mtd_subpagetest: writing whole device\n");
4763#line 448
4764 simple_srand(1UL);
4765#line 449
4766 i = 0U;
4767 }
4768#line 449
4769 goto ldv_18779;
4770 ldv_18778: ;
4771 {
4772#line 450
4773 __cil_tmp66 = (unsigned long )i;
4774#line 450
4775 __cil_tmp67 = bbt + __cil_tmp66;
4776#line 450
4777 __cil_tmp68 = *__cil_tmp67;
4778#line 450
4779 __cil_tmp69 = (unsigned int )__cil_tmp68;
4780#line 450
4781 if (__cil_tmp69 != 0U) {
4782#line 451
4783 goto ldv_18776;
4784 } else {
4785
4786 }
4787 }
4788 {
4789#line 452
4790 __cil_tmp70 = (int )i;
4791#line 452
4792 err = write_eraseblock(__cil_tmp70);
4793#line 453
4794 __cil_tmp71 = err != 0;
4795#line 453
4796 __cil_tmp72 = (long )__cil_tmp71;
4797#line 453
4798 tmp___4 = __builtin_expect(__cil_tmp72, 0L);
4799 }
4800#line 453
4801 if (tmp___4 != 0L) {
4802#line 454
4803 goto out;
4804 } else {
4805
4806 }
4807 {
4808#line 455
4809 __cil_tmp73 = i & 255U;
4810#line 455
4811 if (__cil_tmp73 == 0U) {
4812 {
4813#line 456
4814 printk("<6>mtd_subpagetest: written up to eraseblock %u\n", i);
4815 }
4816 } else {
4817
4818 }
4819 }
4820 {
4821#line 457
4822 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4823 457, 0);
4824#line 457
4825 _cond_resched();
4826 }
4827 ldv_18776:
4828#line 449
4829 i = i + 1U;
4830 ldv_18779: ;
4831 {
4832#line 449
4833 __cil_tmp74 = (uint32_t )ebcnt;
4834#line 449
4835 if (__cil_tmp74 > i) {
4836#line 450
4837 goto ldv_18778;
4838 } else {
4839#line 452
4840 goto ldv_18780;
4841 }
4842 }
4843 ldv_18780:
4844 {
4845#line 459
4846 printk("<6>mtd_subpagetest: written %u eraseblocks\n", i);
4847#line 461
4848 simple_srand(1UL);
4849#line 462
4850 printk("<6>mtd_subpagetest: verifying all eraseblocks\n");
4851#line 463
4852 i = 0U;
4853 }
4854#line 463
4855 goto ldv_18784;
4856 ldv_18783: ;
4857 {
4858#line 464
4859 __cil_tmp75 = (unsigned long )i;
4860#line 464
4861 __cil_tmp76 = bbt + __cil_tmp75;
4862#line 464
4863 __cil_tmp77 = *__cil_tmp76;
4864#line 464
4865 __cil_tmp78 = (unsigned int )__cil_tmp77;
4866#line 464
4867 if (__cil_tmp78 != 0U) {
4868#line 465
4869 goto ldv_18781;
4870 } else {
4871
4872 }
4873 }
4874 {
4875#line 466
4876 __cil_tmp79 = (int )i;
4877#line 466
4878 err = verify_eraseblock(__cil_tmp79);
4879#line 467
4880 __cil_tmp80 = err != 0;
4881#line 467
4882 __cil_tmp81 = (long )__cil_tmp80;
4883#line 467
4884 tmp___5 = __builtin_expect(__cil_tmp81, 0L);
4885 }
4886#line 467
4887 if (tmp___5 != 0L) {
4888#line 468
4889 goto out;
4890 } else {
4891
4892 }
4893 {
4894#line 469
4895 __cil_tmp82 = i & 255U;
4896#line 469
4897 if (__cil_tmp82 == 0U) {
4898 {
4899#line 470
4900 printk("<6>mtd_subpagetest: verified up to eraseblock %u\n", i);
4901 }
4902 } else {
4903
4904 }
4905 }
4906 {
4907#line 471
4908 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
4909 471, 0);
4910#line 471
4911 _cond_resched();
4912 }
4913 ldv_18781:
4914#line 463
4915 i = i + 1U;
4916 ldv_18784: ;
4917 {
4918#line 463
4919 __cil_tmp83 = (uint32_t )ebcnt;
4920#line 463
4921 if (__cil_tmp83 > i) {
4922#line 464
4923 goto ldv_18783;
4924 } else {
4925#line 466
4926 goto ldv_18785;
4927 }
4928 }
4929 ldv_18785:
4930 {
4931#line 473
4932 printk("<6>mtd_subpagetest: verified %u eraseblocks\n", i);
4933#line 475
4934 err = erase_whole_device();
4935 }
4936#line 476
4937 if (err != 0) {
4938#line 477
4939 goto out;
4940 } else {
4941
4942 }
4943 {
4944#line 479
4945 err = verify_all_eraseblocks_ff();
4946 }
4947#line 480
4948 if (err != 0) {
4949#line 481
4950 goto out;
4951 } else {
4952
4953 }
4954 {
4955#line 484
4956 simple_srand(3UL);
4957#line 485
4958 printk("<6>mtd_subpagetest: writing whole device\n");
4959#line 486
4960 i = 0U;
4961 }
4962#line 486
4963 goto ldv_18789;
4964 ldv_18788: ;
4965 {
4966#line 487
4967 __cil_tmp84 = (unsigned long )i;
4968#line 487
4969 __cil_tmp85 = bbt + __cil_tmp84;
4970#line 487
4971 __cil_tmp86 = *__cil_tmp85;
4972#line 487
4973 __cil_tmp87 = (unsigned int )__cil_tmp86;
4974#line 487
4975 if (__cil_tmp87 != 0U) {
4976#line 488
4977 goto ldv_18786;
4978 } else {
4979
4980 }
4981 }
4982 {
4983#line 489
4984 __cil_tmp88 = (int )i;
4985#line 489
4986 err = write_eraseblock2(__cil_tmp88);
4987#line 490
4988 __cil_tmp89 = err != 0;
4989#line 490
4990 __cil_tmp90 = (long )__cil_tmp89;
4991#line 490
4992 tmp___6 = __builtin_expect(__cil_tmp90, 0L);
4993 }
4994#line 490
4995 if (tmp___6 != 0L) {
4996#line 491
4997 goto out;
4998 } else {
4999
5000 }
5001 {
5002#line 492
5003 __cil_tmp91 = i & 255U;
5004#line 492
5005 if (__cil_tmp91 == 0U) {
5006 {
5007#line 493
5008 printk("<6>mtd_subpagetest: written up to eraseblock %u\n", i);
5009 }
5010 } else {
5011
5012 }
5013 }
5014 {
5015#line 494
5016 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
5017 494, 0);
5018#line 494
5019 _cond_resched();
5020 }
5021 ldv_18786:
5022#line 486
5023 i = i + 1U;
5024 ldv_18789: ;
5025 {
5026#line 486
5027 __cil_tmp92 = (uint32_t )ebcnt;
5028#line 486
5029 if (__cil_tmp92 > i) {
5030#line 487
5031 goto ldv_18788;
5032 } else {
5033#line 489
5034 goto ldv_18790;
5035 }
5036 }
5037 ldv_18790:
5038 {
5039#line 496
5040 printk("<6>mtd_subpagetest: written %u eraseblocks\n", i);
5041#line 499
5042 simple_srand(3UL);
5043#line 500
5044 printk("<6>mtd_subpagetest: verifying all eraseblocks\n");
5045#line 501
5046 i = 0U;
5047 }
5048#line 501
5049 goto ldv_18794;
5050 ldv_18793: ;
5051 {
5052#line 502
5053 __cil_tmp93 = (unsigned long )i;
5054#line 502
5055 __cil_tmp94 = bbt + __cil_tmp93;
5056#line 502
5057 __cil_tmp95 = *__cil_tmp94;
5058#line 502
5059 __cil_tmp96 = (unsigned int )__cil_tmp95;
5060#line 502
5061 if (__cil_tmp96 != 0U) {
5062#line 503
5063 goto ldv_18791;
5064 } else {
5065
5066 }
5067 }
5068 {
5069#line 504
5070 __cil_tmp97 = (int )i;
5071#line 504
5072 err = verify_eraseblock2(__cil_tmp97);
5073#line 505
5074 __cil_tmp98 = err != 0;
5075#line 505
5076 __cil_tmp99 = (long )__cil_tmp98;
5077#line 505
5078 tmp___7 = __builtin_expect(__cil_tmp99, 0L);
5079 }
5080#line 505
5081 if (tmp___7 != 0L) {
5082#line 506
5083 goto out;
5084 } else {
5085
5086 }
5087 {
5088#line 507
5089 __cil_tmp100 = i & 255U;
5090#line 507
5091 if (__cil_tmp100 == 0U) {
5092 {
5093#line 508
5094 printk("<6>mtd_subpagetest: verified up to eraseblock %u\n", i);
5095 }
5096 } else {
5097
5098 }
5099 }
5100 {
5101#line 509
5102 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p",
5103 509, 0);
5104#line 509
5105 _cond_resched();
5106 }
5107 ldv_18791:
5108#line 501
5109 i = i + 1U;
5110 ldv_18794: ;
5111 {
5112#line 501
5113 __cil_tmp101 = (uint32_t )ebcnt;
5114#line 501
5115 if (__cil_tmp101 > i) {
5116#line 502
5117 goto ldv_18793;
5118 } else {
5119#line 504
5120 goto ldv_18795;
5121 }
5122 }
5123 ldv_18795:
5124 {
5125#line 511
5126 printk("<6>mtd_subpagetest: verified %u eraseblocks\n", i);
5127#line 513
5128 err = erase_whole_device();
5129 }
5130#line 514
5131 if (err != 0) {
5132#line 515
5133 goto out;
5134 } else {
5135
5136 }
5137 {
5138#line 517
5139 err = verify_all_eraseblocks_ff();
5140 }
5141#line 518
5142 if (err != 0) {
5143#line 519
5144 goto out;
5145 } else {
5146
5147 }
5148 {
5149#line 521
5150 printk("<6>mtd_subpagetest: finished with %d errors\n", errcnt);
5151 }
5152 out:
5153 {
5154#line 524
5155 __cil_tmp102 = (void const *)bbt;
5156#line 524
5157 kfree(__cil_tmp102);
5158#line 525
5159 __cil_tmp103 = (void const *)readbuf;
5160#line 525
5161 kfree(__cil_tmp103);
5162#line 526
5163 __cil_tmp104 = (void const *)writebuf;
5164#line 526
5165 kfree(__cil_tmp104);
5166#line 527
5167 put_mtd_device(mtd);
5168 }
5169#line 528
5170 if (err != 0) {
5171 {
5172#line 529
5173 printk("<6>mtd_subpagetest: error %d occurred\n", err);
5174 }
5175 } else {
5176
5177 }
5178 {
5179#line 530
5180 printk("<6>=================================================\n");
5181 }
5182#line 531
5183 return (err);
5184}
5185}
5186#line 535 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5187static void mtd_subpagetest_exit(void)
5188{
5189
5190 {
5191#line 537
5192 return;
5193}
5194}
5195#line 561
5196extern void ldv_check_final_state(void) ;
5197#line 567
5198extern void ldv_initialize(void) ;
5199#line 570
5200extern int __VERIFIER_nondet_int(void) ;
5201#line 573 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5202int LDV_IN_INTERRUPT ;
5203#line 576 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5204void main(void)
5205{ int tmp ;
5206 int tmp___0 ;
5207 int tmp___1 ;
5208
5209 {
5210 {
5211#line 588
5212 LDV_IN_INTERRUPT = 1;
5213#line 597
5214 ldv_initialize();
5215#line 605
5216 tmp = mtd_subpagetest_init();
5217 }
5218#line 605
5219 if (tmp != 0) {
5220#line 606
5221 goto ldv_final;
5222 } else {
5223
5224 }
5225#line 608
5226 goto ldv_18828;
5227 ldv_18827:
5228 {
5229#line 611
5230 tmp___0 = __VERIFIER_nondet_int();
5231 }
5232 {
5233#line 613
5234 goto switch_default;
5235#line 611
5236 if (0) {
5237 switch_default: ;
5238#line 613
5239 goto ldv_18826;
5240 } else {
5241 switch_break: ;
5242 }
5243 }
5244 ldv_18826: ;
5245 ldv_18828:
5246 {
5247#line 608
5248 tmp___1 = __VERIFIER_nondet_int();
5249 }
5250#line 608
5251 if (tmp___1 != 0) {
5252#line 609
5253 goto ldv_18827;
5254 } else {
5255#line 611
5256 goto ldv_18829;
5257 }
5258 ldv_18829: ;
5259 {
5260#line 627
5261 mtd_subpagetest_exit();
5262 }
5263 ldv_final:
5264 {
5265#line 630
5266 ldv_check_final_state();
5267 }
5268#line 633
5269 return;
5270}
5271}
5272#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
5273void ldv_blast_assert(void)
5274{
5275
5276 {
5277 ERROR: ;
5278#line 6
5279 goto ERROR;
5280}
5281}
5282#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
5283extern int __VERIFIER_nondet_int(void) ;
5284#line 654 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5285int ldv_spin = 0;
5286#line 658 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5287void ldv_check_alloc_flags(gfp_t flags )
5288{
5289
5290 {
5291#line 661
5292 if (ldv_spin != 0) {
5293#line 661
5294 if (flags != 32U) {
5295 {
5296#line 661
5297 ldv_blast_assert();
5298 }
5299 } else {
5300
5301 }
5302 } else {
5303
5304 }
5305#line 664
5306 return;
5307}
5308}
5309#line 664
5310extern struct page *ldv_some_page(void) ;
5311#line 667 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5312struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
5313{ struct page *tmp ;
5314
5315 {
5316#line 670
5317 if (ldv_spin != 0) {
5318#line 670
5319 if (flags != 32U) {
5320 {
5321#line 670
5322 ldv_blast_assert();
5323 }
5324 } else {
5325
5326 }
5327 } else {
5328
5329 }
5330 {
5331#line 672
5332 tmp = ldv_some_page();
5333 }
5334#line 672
5335 return (tmp);
5336}
5337}
5338#line 676 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5339void ldv_check_alloc_nonatomic(void)
5340{
5341
5342 {
5343#line 679
5344 if (ldv_spin != 0) {
5345 {
5346#line 679
5347 ldv_blast_assert();
5348 }
5349 } else {
5350
5351 }
5352#line 682
5353 return;
5354}
5355}
5356#line 683 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5357void ldv_spin_lock(void)
5358{
5359
5360 {
5361#line 686
5362 ldv_spin = 1;
5363#line 687
5364 return;
5365}
5366}
5367#line 690 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5368void ldv_spin_unlock(void)
5369{
5370
5371 {
5372#line 693
5373 ldv_spin = 0;
5374#line 694
5375 return;
5376}
5377}
5378#line 697 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5379int ldv_spin_trylock(void)
5380{ int is_lock ;
5381
5382 {
5383 {
5384#line 702
5385 is_lock = __VERIFIER_nondet_int();
5386 }
5387#line 704
5388 if (is_lock != 0) {
5389#line 707
5390 return (0);
5391 } else {
5392#line 712
5393 ldv_spin = 1;
5394#line 714
5395 return (1);
5396 }
5397}
5398}
5399#line 836 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5400__inline static void *kmalloc(size_t size , gfp_t flags )
5401{
5402
5403 {
5404 {
5405#line 842
5406 ldv_check_alloc_flags(flags);
5407#line 844
5408 ldv_kmalloc_12(size, flags);
5409 }
5410#line 845
5411 return ((void *)0);
5412}
5413}
5414#line 881 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5415void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
5416{
5417
5418 {
5419 {
5420#line 887
5421 ldv_check_alloc_flags(ldv_func_arg2);
5422#line 889
5423 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5424 }
5425#line 890
5426 return ((void *)0);
5427}
5428}
5429#line 892 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11608/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/tests/mtd_subpagetest.c.p"
5430__inline static void *kzalloc(size_t size , gfp_t flags )
5431{ void *tmp ;
5432
5433 {
5434 {
5435#line 898
5436 ldv_check_alloc_flags(flags);
5437#line 899
5438 tmp = __VERIFIER_nondet_pointer();
5439 }
5440#line 899
5441 return (tmp);
5442}
5443}