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