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