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