1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 90 "include/asm-generic/posix_types.h"
49typedef __kernel_long_t __kernel_off_t;
50#line 91 "include/asm-generic/posix_types.h"
51typedef long long __kernel_loff_t;
52#line 92 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_time_t;
54#line 93 "include/asm-generic/posix_types.h"
55typedef __kernel_long_t __kernel_clock_t;
56#line 94 "include/asm-generic/posix_types.h"
57typedef int __kernel_timer_t;
58#line 95 "include/asm-generic/posix_types.h"
59typedef int __kernel_clockid_t;
60#line 21 "include/linux/types.h"
61typedef __u32 __kernel_dev_t;
62#line 24 "include/linux/types.h"
63typedef __kernel_dev_t dev_t;
64#line 27 "include/linux/types.h"
65typedef unsigned short umode_t;
66#line 29 "include/linux/types.h"
67typedef __kernel_off_t off_t;
68#line 30 "include/linux/types.h"
69typedef __kernel_pid_t pid_t;
70#line 35 "include/linux/types.h"
71typedef __kernel_clockid_t clockid_t;
72#line 38 "include/linux/types.h"
73typedef _Bool bool;
74#line 40 "include/linux/types.h"
75typedef __kernel_uid32_t uid_t;
76#line 41 "include/linux/types.h"
77typedef __kernel_gid32_t gid_t;
78#line 54 "include/linux/types.h"
79typedef __kernel_loff_t loff_t;
80#line 63 "include/linux/types.h"
81typedef __kernel_size_t size_t;
82#line 68 "include/linux/types.h"
83typedef __kernel_ssize_t ssize_t;
84#line 78 "include/linux/types.h"
85typedef __kernel_time_t time_t;
86#line 111 "include/linux/types.h"
87typedef __s32 int32_t;
88#line 117 "include/linux/types.h"
89typedef __u32 uint32_t;
90#line 142 "include/linux/types.h"
91typedef unsigned long sector_t;
92#line 143 "include/linux/types.h"
93typedef unsigned long blkcnt_t;
94#line 155 "include/linux/types.h"
95typedef u64 dma_addr_t;
96#line 178 "include/linux/types.h"
97typedef __u16 __le16;
98#line 179 "include/linux/types.h"
99typedef __u16 __be16;
100#line 180 "include/linux/types.h"
101typedef __u32 __le32;
102#line 181 "include/linux/types.h"
103typedef __u32 __be32;
104#line 202 "include/linux/types.h"
105typedef unsigned int gfp_t;
106#line 203 "include/linux/types.h"
107typedef unsigned int fmode_t;
108#line 221 "include/linux/types.h"
109struct __anonstruct_atomic_t_6 {
110 int counter ;
111};
112#line 221 "include/linux/types.h"
113typedef struct __anonstruct_atomic_t_6 atomic_t;
114#line 226 "include/linux/types.h"
115struct __anonstruct_atomic64_t_7 {
116 long counter ;
117};
118#line 226 "include/linux/types.h"
119typedef struct __anonstruct_atomic64_t_7 atomic64_t;
120#line 227 "include/linux/types.h"
121struct list_head {
122 struct list_head *next ;
123 struct list_head *prev ;
124};
125#line 232
126struct hlist_node;
127#line 232 "include/linux/types.h"
128struct hlist_head {
129 struct hlist_node *first ;
130};
131#line 236 "include/linux/types.h"
132struct hlist_node {
133 struct hlist_node *next ;
134 struct hlist_node **pprev ;
135};
136#line 247 "include/linux/types.h"
137struct rcu_head {
138 struct rcu_head *next ;
139 void (*func)(struct rcu_head * ) ;
140};
141#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
142struct module;
143#line 55
144struct module;
145#line 146 "include/linux/init.h"
146typedef void (*ctor_fn_t)(void);
147#line 46 "include/linux/dynamic_debug.h"
148struct device;
149#line 46
150struct device;
151#line 57
152struct completion;
153#line 57
154struct completion;
155#line 58
156struct pt_regs;
157#line 58
158struct pt_regs;
159#line 348 "include/linux/kernel.h"
160struct pid;
161#line 348
162struct pid;
163#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
164struct timespec;
165#line 112
166struct timespec;
167#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
168struct page;
169#line 58
170struct page;
171#line 26 "include/asm-generic/getorder.h"
172struct task_struct;
173#line 26
174struct task_struct;
175#line 28
176struct mm_struct;
177#line 28
178struct mm_struct;
179#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
180struct pt_regs {
181 unsigned long r15 ;
182 unsigned long r14 ;
183 unsigned long r13 ;
184 unsigned long r12 ;
185 unsigned long bp ;
186 unsigned long bx ;
187 unsigned long r11 ;
188 unsigned long r10 ;
189 unsigned long r9 ;
190 unsigned long r8 ;
191 unsigned long ax ;
192 unsigned long cx ;
193 unsigned long dx ;
194 unsigned long si ;
195 unsigned long di ;
196 unsigned long orig_ax ;
197 unsigned long ip ;
198 unsigned long cs ;
199 unsigned long flags ;
200 unsigned long sp ;
201 unsigned long ss ;
202};
203#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
204struct __anonstruct_ldv_2180_13 {
205 unsigned int a ;
206 unsigned int b ;
207};
208#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
209struct __anonstruct_ldv_2195_14 {
210 u16 limit0 ;
211 u16 base0 ;
212 unsigned char base1 ;
213 unsigned char type : 4 ;
214 unsigned char s : 1 ;
215 unsigned char dpl : 2 ;
216 unsigned char p : 1 ;
217 unsigned char limit : 4 ;
218 unsigned char avl : 1 ;
219 unsigned char l : 1 ;
220 unsigned char d : 1 ;
221 unsigned char g : 1 ;
222 unsigned char base2 ;
223};
224#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
225union __anonunion_ldv_2196_12 {
226 struct __anonstruct_ldv_2180_13 ldv_2180 ;
227 struct __anonstruct_ldv_2195_14 ldv_2195 ;
228};
229#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
230struct desc_struct {
231 union __anonunion_ldv_2196_12 ldv_2196 ;
232};
233#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
234typedef unsigned long pgdval_t;
235#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
236typedef unsigned long pgprotval_t;
237#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
238struct pgprot {
239 pgprotval_t pgprot ;
240};
241#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
242typedef struct pgprot pgprot_t;
243#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
244struct __anonstruct_pgd_t_16 {
245 pgdval_t pgd ;
246};
247#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
248typedef struct __anonstruct_pgd_t_16 pgd_t;
249#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
250typedef struct page *pgtable_t;
251#line 290
252struct file;
253#line 290
254struct file;
255#line 305
256struct seq_file;
257#line 305
258struct seq_file;
259#line 337
260struct thread_struct;
261#line 337
262struct thread_struct;
263#line 339
264struct cpumask;
265#line 339
266struct cpumask;
267#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
268struct arch_spinlock;
269#line 327
270struct arch_spinlock;
271#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
272struct kernel_vm86_regs {
273 struct pt_regs pt ;
274 unsigned short es ;
275 unsigned short __esh ;
276 unsigned short ds ;
277 unsigned short __dsh ;
278 unsigned short fs ;
279 unsigned short __fsh ;
280 unsigned short gs ;
281 unsigned short __gsh ;
282};
283#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
284union __anonunion_ldv_2824_19 {
285 struct pt_regs *regs ;
286 struct kernel_vm86_regs *vm86 ;
287};
288#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
289struct math_emu_info {
290 long ___orig_eip ;
291 union __anonunion_ldv_2824_19 ldv_2824 ;
292};
293#line 306 "include/linux/bitmap.h"
294struct bug_entry {
295 int bug_addr_disp ;
296 int file_disp ;
297 unsigned short line ;
298 unsigned short flags ;
299};
300#line 89 "include/linux/bug.h"
301struct cpumask {
302 unsigned long bits[64U] ;
303};
304#line 14 "include/linux/cpumask.h"
305typedef struct cpumask cpumask_t;
306#line 637 "include/linux/cpumask.h"
307typedef struct cpumask *cpumask_var_t;
308#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
309struct static_key;
310#line 234
311struct static_key;
312#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
313struct i387_fsave_struct {
314 u32 cwd ;
315 u32 swd ;
316 u32 twd ;
317 u32 fip ;
318 u32 fcs ;
319 u32 foo ;
320 u32 fos ;
321 u32 st_space[20U] ;
322 u32 status ;
323};
324#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
325struct __anonstruct_ldv_5180_24 {
326 u64 rip ;
327 u64 rdp ;
328};
329#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
330struct __anonstruct_ldv_5186_25 {
331 u32 fip ;
332 u32 fcs ;
333 u32 foo ;
334 u32 fos ;
335};
336#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
337union __anonunion_ldv_5187_23 {
338 struct __anonstruct_ldv_5180_24 ldv_5180 ;
339 struct __anonstruct_ldv_5186_25 ldv_5186 ;
340};
341#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
342union __anonunion_ldv_5196_26 {
343 u32 padding1[12U] ;
344 u32 sw_reserved[12U] ;
345};
346#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
347struct i387_fxsave_struct {
348 u16 cwd ;
349 u16 swd ;
350 u16 twd ;
351 u16 fop ;
352 union __anonunion_ldv_5187_23 ldv_5187 ;
353 u32 mxcsr ;
354 u32 mxcsr_mask ;
355 u32 st_space[32U] ;
356 u32 xmm_space[64U] ;
357 u32 padding[12U] ;
358 union __anonunion_ldv_5196_26 ldv_5196 ;
359};
360#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
361struct i387_soft_struct {
362 u32 cwd ;
363 u32 swd ;
364 u32 twd ;
365 u32 fip ;
366 u32 fcs ;
367 u32 foo ;
368 u32 fos ;
369 u32 st_space[20U] ;
370 u8 ftop ;
371 u8 changed ;
372 u8 lookahead ;
373 u8 no_update ;
374 u8 rm ;
375 u8 alimit ;
376 struct math_emu_info *info ;
377 u32 entry_eip ;
378};
379#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
380struct ymmh_struct {
381 u32 ymmh_space[64U] ;
382};
383#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct xsave_hdr_struct {
385 u64 xstate_bv ;
386 u64 reserved1[2U] ;
387 u64 reserved2[5U] ;
388};
389#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
390struct xsave_struct {
391 struct i387_fxsave_struct i387 ;
392 struct xsave_hdr_struct xsave_hdr ;
393 struct ymmh_struct ymmh ;
394};
395#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
396union thread_xstate {
397 struct i387_fsave_struct fsave ;
398 struct i387_fxsave_struct fxsave ;
399 struct i387_soft_struct soft ;
400 struct xsave_struct xsave ;
401};
402#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403struct fpu {
404 unsigned int last_cpu ;
405 unsigned int has_fpu ;
406 union thread_xstate *state ;
407};
408#line 433
409struct kmem_cache;
410#line 434
411struct perf_event;
412#line 434
413struct perf_event;
414#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
415struct thread_struct {
416 struct desc_struct tls_array[3U] ;
417 unsigned long sp0 ;
418 unsigned long sp ;
419 unsigned long usersp ;
420 unsigned short es ;
421 unsigned short ds ;
422 unsigned short fsindex ;
423 unsigned short gsindex ;
424 unsigned long fs ;
425 unsigned long gs ;
426 struct perf_event *ptrace_bps[4U] ;
427 unsigned long debugreg6 ;
428 unsigned long ptrace_dr7 ;
429 unsigned long cr2 ;
430 unsigned long trap_nr ;
431 unsigned long error_code ;
432 struct fpu fpu ;
433 unsigned long *io_bitmap_ptr ;
434 unsigned long iopl ;
435 unsigned int io_bitmap_max ;
436};
437#line 23 "include/asm-generic/atomic-long.h"
438typedef atomic64_t atomic_long_t;
439#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
440typedef u16 __ticket_t;
441#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
442typedef u32 __ticketpair_t;
443#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
444struct __raw_tickets {
445 __ticket_t head ;
446 __ticket_t tail ;
447};
448#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
449union __anonunion_ldv_5907_29 {
450 __ticketpair_t head_tail ;
451 struct __raw_tickets tickets ;
452};
453#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
454struct arch_spinlock {
455 union __anonunion_ldv_5907_29 ldv_5907 ;
456};
457#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
458typedef struct arch_spinlock arch_spinlock_t;
459#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
460struct __anonstruct_ldv_5914_31 {
461 u32 read ;
462 s32 write ;
463};
464#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
465union __anonunion_arch_rwlock_t_30 {
466 s64 lock ;
467 struct __anonstruct_ldv_5914_31 ldv_5914 ;
468};
469#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
470typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
471#line 34
472struct lockdep_map;
473#line 34
474struct lockdep_map;
475#line 55 "include/linux/debug_locks.h"
476struct stack_trace {
477 unsigned int nr_entries ;
478 unsigned int max_entries ;
479 unsigned long *entries ;
480 int skip ;
481};
482#line 26 "include/linux/stacktrace.h"
483struct lockdep_subclass_key {
484 char __one_byte ;
485};
486#line 53 "include/linux/lockdep.h"
487struct lock_class_key {
488 struct lockdep_subclass_key subkeys[8U] ;
489};
490#line 59 "include/linux/lockdep.h"
491struct lock_class {
492 struct list_head hash_entry ;
493 struct list_head lock_entry ;
494 struct lockdep_subclass_key *key ;
495 unsigned int subclass ;
496 unsigned int dep_gen_id ;
497 unsigned long usage_mask ;
498 struct stack_trace usage_traces[13U] ;
499 struct list_head locks_after ;
500 struct list_head locks_before ;
501 unsigned int version ;
502 unsigned long ops ;
503 char const *name ;
504 int name_version ;
505 unsigned long contention_point[4U] ;
506 unsigned long contending_point[4U] ;
507};
508#line 144 "include/linux/lockdep.h"
509struct lockdep_map {
510 struct lock_class_key *key ;
511 struct lock_class *class_cache[2U] ;
512 char const *name ;
513 int cpu ;
514 unsigned long ip ;
515};
516#line 187 "include/linux/lockdep.h"
517struct held_lock {
518 u64 prev_chain_key ;
519 unsigned long acquire_ip ;
520 struct lockdep_map *instance ;
521 struct lockdep_map *nest_lock ;
522 u64 waittime_stamp ;
523 u64 holdtime_stamp ;
524 unsigned short class_idx : 13 ;
525 unsigned char irq_context : 2 ;
526 unsigned char trylock : 1 ;
527 unsigned char read : 2 ;
528 unsigned char check : 2 ;
529 unsigned char hardirqs_off : 1 ;
530 unsigned short references : 11 ;
531};
532#line 556 "include/linux/lockdep.h"
533struct raw_spinlock {
534 arch_spinlock_t raw_lock ;
535 unsigned int magic ;
536 unsigned int owner_cpu ;
537 void *owner ;
538 struct lockdep_map dep_map ;
539};
540#line 32 "include/linux/spinlock_types.h"
541typedef struct raw_spinlock raw_spinlock_t;
542#line 33 "include/linux/spinlock_types.h"
543struct __anonstruct_ldv_6122_33 {
544 u8 __padding[24U] ;
545 struct lockdep_map dep_map ;
546};
547#line 33 "include/linux/spinlock_types.h"
548union __anonunion_ldv_6123_32 {
549 struct raw_spinlock rlock ;
550 struct __anonstruct_ldv_6122_33 ldv_6122 ;
551};
552#line 33 "include/linux/spinlock_types.h"
553struct spinlock {
554 union __anonunion_ldv_6123_32 ldv_6123 ;
555};
556#line 76 "include/linux/spinlock_types.h"
557typedef struct spinlock spinlock_t;
558#line 23 "include/linux/rwlock_types.h"
559struct __anonstruct_rwlock_t_34 {
560 arch_rwlock_t raw_lock ;
561 unsigned int magic ;
562 unsigned int owner_cpu ;
563 void *owner ;
564 struct lockdep_map dep_map ;
565};
566#line 23 "include/linux/rwlock_types.h"
567typedef struct __anonstruct_rwlock_t_34 rwlock_t;
568#line 110 "include/linux/seqlock.h"
569struct seqcount {
570 unsigned int sequence ;
571};
572#line 121 "include/linux/seqlock.h"
573typedef struct seqcount seqcount_t;
574#line 254 "include/linux/seqlock.h"
575struct timespec {
576 __kernel_time_t tv_sec ;
577 long tv_nsec ;
578};
579#line 286 "include/linux/time.h"
580struct kstat {
581 u64 ino ;
582 dev_t dev ;
583 umode_t mode ;
584 unsigned int nlink ;
585 uid_t uid ;
586 gid_t gid ;
587 dev_t rdev ;
588 loff_t size ;
589 struct timespec atime ;
590 struct timespec mtime ;
591 struct timespec ctime ;
592 unsigned long blksize ;
593 unsigned long long blocks ;
594};
595#line 48 "include/linux/wait.h"
596struct __wait_queue_head {
597 spinlock_t lock ;
598 struct list_head task_list ;
599};
600#line 53 "include/linux/wait.h"
601typedef struct __wait_queue_head wait_queue_head_t;
602#line 98 "include/linux/nodemask.h"
603struct __anonstruct_nodemask_t_36 {
604 unsigned long bits[16U] ;
605};
606#line 98 "include/linux/nodemask.h"
607typedef struct __anonstruct_nodemask_t_36 nodemask_t;
608#line 670 "include/linux/mmzone.h"
609struct mutex {
610 atomic_t count ;
611 spinlock_t wait_lock ;
612 struct list_head wait_list ;
613 struct task_struct *owner ;
614 char const *name ;
615 void *magic ;
616 struct lockdep_map dep_map ;
617};
618#line 63 "include/linux/mutex.h"
619struct mutex_waiter {
620 struct list_head list ;
621 struct task_struct *task ;
622 void *magic ;
623};
624#line 171
625struct rw_semaphore;
626#line 171
627struct rw_semaphore;
628#line 172 "include/linux/mutex.h"
629struct rw_semaphore {
630 long count ;
631 raw_spinlock_t wait_lock ;
632 struct list_head wait_list ;
633 struct lockdep_map dep_map ;
634};
635#line 128 "include/linux/rwsem.h"
636struct completion {
637 unsigned int done ;
638 wait_queue_head_t wait ;
639};
640#line 312 "include/linux/jiffies.h"
641union ktime {
642 s64 tv64 ;
643};
644#line 59 "include/linux/ktime.h"
645typedef union ktime ktime_t;
646#line 341
647struct tvec_base;
648#line 341
649struct tvec_base;
650#line 342 "include/linux/ktime.h"
651struct timer_list {
652 struct list_head entry ;
653 unsigned long expires ;
654 struct tvec_base *base ;
655 void (*function)(unsigned long ) ;
656 unsigned long data ;
657 int slack ;
658 int start_pid ;
659 void *start_site ;
660 char start_comm[16U] ;
661 struct lockdep_map lockdep_map ;
662};
663#line 289 "include/linux/timer.h"
664struct hrtimer;
665#line 289
666struct hrtimer;
667#line 290
668enum hrtimer_restart;
669#line 301
670struct workqueue_struct;
671#line 301
672struct workqueue_struct;
673#line 302
674struct work_struct;
675#line 302
676struct work_struct;
677#line 45 "include/linux/workqueue.h"
678struct work_struct {
679 atomic_long_t data ;
680 struct list_head entry ;
681 void (*func)(struct work_struct * ) ;
682 struct lockdep_map lockdep_map ;
683};
684#line 86 "include/linux/workqueue.h"
685struct delayed_work {
686 struct work_struct work ;
687 struct timer_list timer ;
688};
689#line 102 "include/linux/workqueue.h"
690struct execute_work {
691 struct work_struct work ;
692};
693#line 46 "include/linux/pm.h"
694struct pm_message {
695 int event ;
696};
697#line 52 "include/linux/pm.h"
698typedef struct pm_message pm_message_t;
699#line 53 "include/linux/pm.h"
700struct dev_pm_ops {
701 int (*prepare)(struct device * ) ;
702 void (*complete)(struct device * ) ;
703 int (*suspend)(struct device * ) ;
704 int (*resume)(struct device * ) ;
705 int (*freeze)(struct device * ) ;
706 int (*thaw)(struct device * ) ;
707 int (*poweroff)(struct device * ) ;
708 int (*restore)(struct device * ) ;
709 int (*suspend_late)(struct device * ) ;
710 int (*resume_early)(struct device * ) ;
711 int (*freeze_late)(struct device * ) ;
712 int (*thaw_early)(struct device * ) ;
713 int (*poweroff_late)(struct device * ) ;
714 int (*restore_early)(struct device * ) ;
715 int (*suspend_noirq)(struct device * ) ;
716 int (*resume_noirq)(struct device * ) ;
717 int (*freeze_noirq)(struct device * ) ;
718 int (*thaw_noirq)(struct device * ) ;
719 int (*poweroff_noirq)(struct device * ) ;
720 int (*restore_noirq)(struct device * ) ;
721 int (*runtime_suspend)(struct device * ) ;
722 int (*runtime_resume)(struct device * ) ;
723 int (*runtime_idle)(struct device * ) ;
724};
725#line 289
726enum rpm_status {
727 RPM_ACTIVE = 0,
728 RPM_RESUMING = 1,
729 RPM_SUSPENDED = 2,
730 RPM_SUSPENDING = 3
731} ;
732#line 296
733enum rpm_request {
734 RPM_REQ_NONE = 0,
735 RPM_REQ_IDLE = 1,
736 RPM_REQ_SUSPEND = 2,
737 RPM_REQ_AUTOSUSPEND = 3,
738 RPM_REQ_RESUME = 4
739} ;
740#line 304
741struct wakeup_source;
742#line 304
743struct wakeup_source;
744#line 494 "include/linux/pm.h"
745struct pm_subsys_data {
746 spinlock_t lock ;
747 unsigned int refcount ;
748};
749#line 499
750struct dev_pm_qos_request;
751#line 499
752struct pm_qos_constraints;
753#line 499 "include/linux/pm.h"
754struct dev_pm_info {
755 pm_message_t power_state ;
756 unsigned char can_wakeup : 1 ;
757 unsigned char async_suspend : 1 ;
758 bool is_prepared ;
759 bool is_suspended ;
760 bool ignore_children ;
761 spinlock_t lock ;
762 struct list_head entry ;
763 struct completion completion ;
764 struct wakeup_source *wakeup ;
765 bool wakeup_path ;
766 struct timer_list suspend_timer ;
767 unsigned long timer_expires ;
768 struct work_struct work ;
769 wait_queue_head_t wait_queue ;
770 atomic_t usage_count ;
771 atomic_t child_count ;
772 unsigned char disable_depth : 3 ;
773 unsigned char idle_notification : 1 ;
774 unsigned char request_pending : 1 ;
775 unsigned char deferred_resume : 1 ;
776 unsigned char run_wake : 1 ;
777 unsigned char runtime_auto : 1 ;
778 unsigned char no_callbacks : 1 ;
779 unsigned char irq_safe : 1 ;
780 unsigned char use_autosuspend : 1 ;
781 unsigned char timer_autosuspends : 1 ;
782 enum rpm_request request ;
783 enum rpm_status runtime_status ;
784 int runtime_error ;
785 int autosuspend_delay ;
786 unsigned long last_busy ;
787 unsigned long active_jiffies ;
788 unsigned long suspended_jiffies ;
789 unsigned long accounting_timestamp ;
790 ktime_t suspend_time ;
791 s64 max_time_suspended_ns ;
792 struct dev_pm_qos_request *pq_req ;
793 struct pm_subsys_data *subsys_data ;
794 struct pm_qos_constraints *constraints ;
795};
796#line 558 "include/linux/pm.h"
797struct dev_pm_domain {
798 struct dev_pm_ops ops ;
799};
800#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
801struct __anonstruct_mm_context_t_101 {
802 void *ldt ;
803 int size ;
804 unsigned short ia32_compat ;
805 struct mutex lock ;
806 void *vdso ;
807};
808#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
809typedef struct __anonstruct_mm_context_t_101 mm_context_t;
810#line 18 "include/asm-generic/pci_iomap.h"
811struct vm_area_struct;
812#line 18
813struct vm_area_struct;
814#line 68 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/hypervisor.h"
815struct bio_vec;
816#line 68
817struct bio_vec;
818#line 18 "include/linux/smp.h"
819struct call_single_data {
820 struct list_head list ;
821 void (*func)(void * ) ;
822 void *info ;
823 u16 flags ;
824 u16 priv ;
825};
826#line 835 "include/linux/sysctl.h"
827struct rb_node {
828 unsigned long rb_parent_color ;
829 struct rb_node *rb_right ;
830 struct rb_node *rb_left ;
831};
832#line 108 "include/linux/rbtree.h"
833struct rb_root {
834 struct rb_node *rb_node ;
835};
836#line 176
837struct nsproxy;
838#line 176
839struct nsproxy;
840#line 37 "include/linux/kmod.h"
841struct cred;
842#line 37
843struct cred;
844#line 18 "include/linux/elf.h"
845typedef __u64 Elf64_Addr;
846#line 19 "include/linux/elf.h"
847typedef __u16 Elf64_Half;
848#line 23 "include/linux/elf.h"
849typedef __u32 Elf64_Word;
850#line 24 "include/linux/elf.h"
851typedef __u64 Elf64_Xword;
852#line 193 "include/linux/elf.h"
853struct elf64_sym {
854 Elf64_Word st_name ;
855 unsigned char st_info ;
856 unsigned char st_other ;
857 Elf64_Half st_shndx ;
858 Elf64_Addr st_value ;
859 Elf64_Xword st_size ;
860};
861#line 201 "include/linux/elf.h"
862typedef struct elf64_sym Elf64_Sym;
863#line 445
864struct sock;
865#line 445
866struct sock;
867#line 446
868struct kobject;
869#line 446
870struct kobject;
871#line 447
872enum kobj_ns_type {
873 KOBJ_NS_TYPE_NONE = 0,
874 KOBJ_NS_TYPE_NET = 1,
875 KOBJ_NS_TYPES = 2
876} ;
877#line 453 "include/linux/elf.h"
878struct kobj_ns_type_operations {
879 enum kobj_ns_type type ;
880 void *(*grab_current_ns)(void) ;
881 void const *(*netlink_ns)(struct sock * ) ;
882 void const *(*initial_ns)(void) ;
883 void (*drop_ns)(void * ) ;
884};
885#line 57 "include/linux/kobject_ns.h"
886struct attribute {
887 char const *name ;
888 umode_t mode ;
889 struct lock_class_key *key ;
890 struct lock_class_key skey ;
891};
892#line 33 "include/linux/sysfs.h"
893struct attribute_group {
894 char const *name ;
895 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
896 struct attribute **attrs ;
897};
898#line 62 "include/linux/sysfs.h"
899struct bin_attribute {
900 struct attribute attr ;
901 size_t size ;
902 void *private ;
903 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
904 loff_t , size_t ) ;
905 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
906 loff_t , size_t ) ;
907 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
908};
909#line 98 "include/linux/sysfs.h"
910struct sysfs_ops {
911 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
912 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
913 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
914};
915#line 117
916struct sysfs_dirent;
917#line 117
918struct sysfs_dirent;
919#line 182 "include/linux/sysfs.h"
920struct kref {
921 atomic_t refcount ;
922};
923#line 49 "include/linux/kobject.h"
924struct kset;
925#line 49
926struct kobj_type;
927#line 49 "include/linux/kobject.h"
928struct kobject {
929 char const *name ;
930 struct list_head entry ;
931 struct kobject *parent ;
932 struct kset *kset ;
933 struct kobj_type *ktype ;
934 struct sysfs_dirent *sd ;
935 struct kref kref ;
936 unsigned char state_initialized : 1 ;
937 unsigned char state_in_sysfs : 1 ;
938 unsigned char state_add_uevent_sent : 1 ;
939 unsigned char state_remove_uevent_sent : 1 ;
940 unsigned char uevent_suppress : 1 ;
941};
942#line 107 "include/linux/kobject.h"
943struct kobj_type {
944 void (*release)(struct kobject * ) ;
945 struct sysfs_ops const *sysfs_ops ;
946 struct attribute **default_attrs ;
947 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
948 void const *(*namespace)(struct kobject * ) ;
949};
950#line 115 "include/linux/kobject.h"
951struct kobj_uevent_env {
952 char *envp[32U] ;
953 int envp_idx ;
954 char buf[2048U] ;
955 int buflen ;
956};
957#line 122 "include/linux/kobject.h"
958struct kset_uevent_ops {
959 int (* const filter)(struct kset * , struct kobject * ) ;
960 char const *(* const name)(struct kset * , struct kobject * ) ;
961 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
962};
963#line 139 "include/linux/kobject.h"
964struct kset {
965 struct list_head list ;
966 spinlock_t list_lock ;
967 struct kobject kobj ;
968 struct kset_uevent_ops const *uevent_ops ;
969};
970#line 215
971struct kernel_param;
972#line 215
973struct kernel_param;
974#line 216 "include/linux/kobject.h"
975struct kernel_param_ops {
976 int (*set)(char const * , struct kernel_param const * ) ;
977 int (*get)(char * , struct kernel_param const * ) ;
978 void (*free)(void * ) ;
979};
980#line 49 "include/linux/moduleparam.h"
981struct kparam_string;
982#line 49
983struct kparam_array;
984#line 49 "include/linux/moduleparam.h"
985union __anonunion_ldv_13363_134 {
986 void *arg ;
987 struct kparam_string const *str ;
988 struct kparam_array const *arr ;
989};
990#line 49 "include/linux/moduleparam.h"
991struct kernel_param {
992 char const *name ;
993 struct kernel_param_ops const *ops ;
994 u16 perm ;
995 s16 level ;
996 union __anonunion_ldv_13363_134 ldv_13363 ;
997};
998#line 61 "include/linux/moduleparam.h"
999struct kparam_string {
1000 unsigned int maxlen ;
1001 char *string ;
1002};
1003#line 67 "include/linux/moduleparam.h"
1004struct kparam_array {
1005 unsigned int max ;
1006 unsigned int elemsize ;
1007 unsigned int *num ;
1008 struct kernel_param_ops const *ops ;
1009 void *elem ;
1010};
1011#line 458 "include/linux/moduleparam.h"
1012struct static_key {
1013 atomic_t enabled ;
1014};
1015#line 225 "include/linux/jump_label.h"
1016struct tracepoint;
1017#line 225
1018struct tracepoint;
1019#line 226 "include/linux/jump_label.h"
1020struct tracepoint_func {
1021 void *func ;
1022 void *data ;
1023};
1024#line 29 "include/linux/tracepoint.h"
1025struct tracepoint {
1026 char const *name ;
1027 struct static_key key ;
1028 void (*regfunc)(void) ;
1029 void (*unregfunc)(void) ;
1030 struct tracepoint_func *funcs ;
1031};
1032#line 86 "include/linux/tracepoint.h"
1033struct kernel_symbol {
1034 unsigned long value ;
1035 char const *name ;
1036};
1037#line 27 "include/linux/export.h"
1038struct mod_arch_specific {
1039
1040};
1041#line 34 "include/linux/module.h"
1042struct module_param_attrs;
1043#line 34 "include/linux/module.h"
1044struct module_kobject {
1045 struct kobject kobj ;
1046 struct module *mod ;
1047 struct kobject *drivers_dir ;
1048 struct module_param_attrs *mp ;
1049};
1050#line 43 "include/linux/module.h"
1051struct module_attribute {
1052 struct attribute attr ;
1053 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1054 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1055 size_t ) ;
1056 void (*setup)(struct module * , char const * ) ;
1057 int (*test)(struct module * ) ;
1058 void (*free)(struct module * ) ;
1059};
1060#line 69
1061struct exception_table_entry;
1062#line 69
1063struct exception_table_entry;
1064#line 198
1065enum module_state {
1066 MODULE_STATE_LIVE = 0,
1067 MODULE_STATE_COMING = 1,
1068 MODULE_STATE_GOING = 2
1069} ;
1070#line 204 "include/linux/module.h"
1071struct module_ref {
1072 unsigned long incs ;
1073 unsigned long decs ;
1074};
1075#line 219
1076struct module_sect_attrs;
1077#line 219
1078struct module_notes_attrs;
1079#line 219
1080struct ftrace_event_call;
1081#line 219 "include/linux/module.h"
1082struct module {
1083 enum module_state state ;
1084 struct list_head list ;
1085 char name[56U] ;
1086 struct module_kobject mkobj ;
1087 struct module_attribute *modinfo_attrs ;
1088 char const *version ;
1089 char const *srcversion ;
1090 struct kobject *holders_dir ;
1091 struct kernel_symbol const *syms ;
1092 unsigned long const *crcs ;
1093 unsigned int num_syms ;
1094 struct kernel_param *kp ;
1095 unsigned int num_kp ;
1096 unsigned int num_gpl_syms ;
1097 struct kernel_symbol const *gpl_syms ;
1098 unsigned long const *gpl_crcs ;
1099 struct kernel_symbol const *unused_syms ;
1100 unsigned long const *unused_crcs ;
1101 unsigned int num_unused_syms ;
1102 unsigned int num_unused_gpl_syms ;
1103 struct kernel_symbol const *unused_gpl_syms ;
1104 unsigned long const *unused_gpl_crcs ;
1105 struct kernel_symbol const *gpl_future_syms ;
1106 unsigned long const *gpl_future_crcs ;
1107 unsigned int num_gpl_future_syms ;
1108 unsigned int num_exentries ;
1109 struct exception_table_entry *extable ;
1110 int (*init)(void) ;
1111 void *module_init ;
1112 void *module_core ;
1113 unsigned int init_size ;
1114 unsigned int core_size ;
1115 unsigned int init_text_size ;
1116 unsigned int core_text_size ;
1117 unsigned int init_ro_size ;
1118 unsigned int core_ro_size ;
1119 struct mod_arch_specific arch ;
1120 unsigned int taints ;
1121 unsigned int num_bugs ;
1122 struct list_head bug_list ;
1123 struct bug_entry *bug_table ;
1124 Elf64_Sym *symtab ;
1125 Elf64_Sym *core_symtab ;
1126 unsigned int num_symtab ;
1127 unsigned int core_num_syms ;
1128 char *strtab ;
1129 char *core_strtab ;
1130 struct module_sect_attrs *sect_attrs ;
1131 struct module_notes_attrs *notes_attrs ;
1132 char *args ;
1133 void *percpu ;
1134 unsigned int percpu_size ;
1135 unsigned int num_tracepoints ;
1136 struct tracepoint * const *tracepoints_ptrs ;
1137 unsigned int num_trace_bprintk_fmt ;
1138 char const **trace_bprintk_fmt_start ;
1139 struct ftrace_event_call **trace_events ;
1140 unsigned int num_trace_events ;
1141 struct list_head source_list ;
1142 struct list_head target_list ;
1143 struct task_struct *waiter ;
1144 void (*exit)(void) ;
1145 struct module_ref *refptr ;
1146 ctor_fn_t (**ctors)(void) ;
1147 unsigned int num_ctors ;
1148};
1149#line 88 "include/linux/kmemleak.h"
1150struct kmem_cache_cpu {
1151 void **freelist ;
1152 unsigned long tid ;
1153 struct page *page ;
1154 struct page *partial ;
1155 int node ;
1156 unsigned int stat[26U] ;
1157};
1158#line 55 "include/linux/slub_def.h"
1159struct kmem_cache_node {
1160 spinlock_t list_lock ;
1161 unsigned long nr_partial ;
1162 struct list_head partial ;
1163 atomic_long_t nr_slabs ;
1164 atomic_long_t total_objects ;
1165 struct list_head full ;
1166};
1167#line 66 "include/linux/slub_def.h"
1168struct kmem_cache_order_objects {
1169 unsigned long x ;
1170};
1171#line 76 "include/linux/slub_def.h"
1172struct kmem_cache {
1173 struct kmem_cache_cpu *cpu_slab ;
1174 unsigned long flags ;
1175 unsigned long min_partial ;
1176 int size ;
1177 int objsize ;
1178 int offset ;
1179 int cpu_partial ;
1180 struct kmem_cache_order_objects oo ;
1181 struct kmem_cache_order_objects max ;
1182 struct kmem_cache_order_objects min ;
1183 gfp_t allocflags ;
1184 int refcount ;
1185 void (*ctor)(void * ) ;
1186 int inuse ;
1187 int align ;
1188 int reserved ;
1189 char const *name ;
1190 struct list_head list ;
1191 struct kobject kobj ;
1192 int remote_node_defrag_ratio ;
1193 struct kmem_cache_node *node[1024U] ;
1194};
1195#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
1196struct prio_tree_node;
1197#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
1198struct raw_prio_tree_node {
1199 struct prio_tree_node *left ;
1200 struct prio_tree_node *right ;
1201 struct prio_tree_node *parent ;
1202};
1203#line 19 "include/linux/prio_tree.h"
1204struct prio_tree_node {
1205 struct prio_tree_node *left ;
1206 struct prio_tree_node *right ;
1207 struct prio_tree_node *parent ;
1208 unsigned long start ;
1209 unsigned long last ;
1210};
1211#line 27 "include/linux/prio_tree.h"
1212struct prio_tree_root {
1213 struct prio_tree_node *prio_tree_node ;
1214 unsigned short index_bits ;
1215 unsigned short raw ;
1216};
1217#line 116
1218struct address_space;
1219#line 116
1220struct address_space;
1221#line 117 "include/linux/prio_tree.h"
1222union __anonunion_ldv_14216_136 {
1223 unsigned long index ;
1224 void *freelist ;
1225};
1226#line 117 "include/linux/prio_tree.h"
1227struct __anonstruct_ldv_14226_140 {
1228 unsigned short inuse ;
1229 unsigned short objects : 15 ;
1230 unsigned char frozen : 1 ;
1231};
1232#line 117 "include/linux/prio_tree.h"
1233union __anonunion_ldv_14227_139 {
1234 atomic_t _mapcount ;
1235 struct __anonstruct_ldv_14226_140 ldv_14226 ;
1236};
1237#line 117 "include/linux/prio_tree.h"
1238struct __anonstruct_ldv_14229_138 {
1239 union __anonunion_ldv_14227_139 ldv_14227 ;
1240 atomic_t _count ;
1241};
1242#line 117 "include/linux/prio_tree.h"
1243union __anonunion_ldv_14230_137 {
1244 unsigned long counters ;
1245 struct __anonstruct_ldv_14229_138 ldv_14229 ;
1246};
1247#line 117 "include/linux/prio_tree.h"
1248struct __anonstruct_ldv_14231_135 {
1249 union __anonunion_ldv_14216_136 ldv_14216 ;
1250 union __anonunion_ldv_14230_137 ldv_14230 ;
1251};
1252#line 117 "include/linux/prio_tree.h"
1253struct __anonstruct_ldv_14238_142 {
1254 struct page *next ;
1255 int pages ;
1256 int pobjects ;
1257};
1258#line 117 "include/linux/prio_tree.h"
1259union __anonunion_ldv_14239_141 {
1260 struct list_head lru ;
1261 struct __anonstruct_ldv_14238_142 ldv_14238 ;
1262};
1263#line 117 "include/linux/prio_tree.h"
1264union __anonunion_ldv_14244_143 {
1265 unsigned long private ;
1266 struct kmem_cache *slab ;
1267 struct page *first_page ;
1268};
1269#line 117 "include/linux/prio_tree.h"
1270struct page {
1271 unsigned long flags ;
1272 struct address_space *mapping ;
1273 struct __anonstruct_ldv_14231_135 ldv_14231 ;
1274 union __anonunion_ldv_14239_141 ldv_14239 ;
1275 union __anonunion_ldv_14244_143 ldv_14244 ;
1276 unsigned long debug_flags ;
1277};
1278#line 192 "include/linux/mm_types.h"
1279struct __anonstruct_vm_set_145 {
1280 struct list_head list ;
1281 void *parent ;
1282 struct vm_area_struct *head ;
1283};
1284#line 192 "include/linux/mm_types.h"
1285union __anonunion_shared_144 {
1286 struct __anonstruct_vm_set_145 vm_set ;
1287 struct raw_prio_tree_node prio_tree_node ;
1288};
1289#line 192
1290struct anon_vma;
1291#line 192
1292struct vm_operations_struct;
1293#line 192
1294struct mempolicy;
1295#line 192 "include/linux/mm_types.h"
1296struct vm_area_struct {
1297 struct mm_struct *vm_mm ;
1298 unsigned long vm_start ;
1299 unsigned long vm_end ;
1300 struct vm_area_struct *vm_next ;
1301 struct vm_area_struct *vm_prev ;
1302 pgprot_t vm_page_prot ;
1303 unsigned long vm_flags ;
1304 struct rb_node vm_rb ;
1305 union __anonunion_shared_144 shared ;
1306 struct list_head anon_vma_chain ;
1307 struct anon_vma *anon_vma ;
1308 struct vm_operations_struct const *vm_ops ;
1309 unsigned long vm_pgoff ;
1310 struct file *vm_file ;
1311 void *vm_private_data ;
1312 struct mempolicy *vm_policy ;
1313};
1314#line 255 "include/linux/mm_types.h"
1315struct core_thread {
1316 struct task_struct *task ;
1317 struct core_thread *next ;
1318};
1319#line 261 "include/linux/mm_types.h"
1320struct core_state {
1321 atomic_t nr_threads ;
1322 struct core_thread dumper ;
1323 struct completion startup ;
1324};
1325#line 274 "include/linux/mm_types.h"
1326struct mm_rss_stat {
1327 atomic_long_t count[3U] ;
1328};
1329#line 287
1330struct linux_binfmt;
1331#line 287
1332struct mmu_notifier_mm;
1333#line 287 "include/linux/mm_types.h"
1334struct mm_struct {
1335 struct vm_area_struct *mmap ;
1336 struct rb_root mm_rb ;
1337 struct vm_area_struct *mmap_cache ;
1338 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1339 unsigned long , unsigned long ) ;
1340 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1341 unsigned long mmap_base ;
1342 unsigned long task_size ;
1343 unsigned long cached_hole_size ;
1344 unsigned long free_area_cache ;
1345 pgd_t *pgd ;
1346 atomic_t mm_users ;
1347 atomic_t mm_count ;
1348 int map_count ;
1349 spinlock_t page_table_lock ;
1350 struct rw_semaphore mmap_sem ;
1351 struct list_head mmlist ;
1352 unsigned long hiwater_rss ;
1353 unsigned long hiwater_vm ;
1354 unsigned long total_vm ;
1355 unsigned long locked_vm ;
1356 unsigned long pinned_vm ;
1357 unsigned long shared_vm ;
1358 unsigned long exec_vm ;
1359 unsigned long stack_vm ;
1360 unsigned long reserved_vm ;
1361 unsigned long def_flags ;
1362 unsigned long nr_ptes ;
1363 unsigned long start_code ;
1364 unsigned long end_code ;
1365 unsigned long start_data ;
1366 unsigned long end_data ;
1367 unsigned long start_brk ;
1368 unsigned long brk ;
1369 unsigned long start_stack ;
1370 unsigned long arg_start ;
1371 unsigned long arg_end ;
1372 unsigned long env_start ;
1373 unsigned long env_end ;
1374 unsigned long saved_auxv[44U] ;
1375 struct mm_rss_stat rss_stat ;
1376 struct linux_binfmt *binfmt ;
1377 cpumask_var_t cpu_vm_mask_var ;
1378 mm_context_t context ;
1379 unsigned int faultstamp ;
1380 unsigned int token_priority ;
1381 unsigned int last_interval ;
1382 unsigned long flags ;
1383 struct core_state *core_state ;
1384 spinlock_t ioctx_lock ;
1385 struct hlist_head ioctx_list ;
1386 struct task_struct *owner ;
1387 struct file *exe_file ;
1388 unsigned long num_exe_file_vmas ;
1389 struct mmu_notifier_mm *mmu_notifier_mm ;
1390 pgtable_t pmd_huge_pte ;
1391 struct cpumask cpumask_allocation ;
1392};
1393#line 93 "include/linux/bit_spinlock.h"
1394struct shrink_control {
1395 gfp_t gfp_mask ;
1396 unsigned long nr_to_scan ;
1397};
1398#line 14 "include/linux/shrinker.h"
1399struct shrinker {
1400 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1401 int seeks ;
1402 long batch ;
1403 struct list_head list ;
1404 atomic_long_t nr_in_batch ;
1405};
1406#line 43
1407struct file_ra_state;
1408#line 43
1409struct file_ra_state;
1410#line 44
1411struct user_struct;
1412#line 44
1413struct user_struct;
1414#line 45
1415struct writeback_control;
1416#line 45
1417struct writeback_control;
1418#line 178 "include/linux/mm.h"
1419struct vm_fault {
1420 unsigned int flags ;
1421 unsigned long pgoff ;
1422 void *virtual_address ;
1423 struct page *page ;
1424};
1425#line 195 "include/linux/mm.h"
1426struct vm_operations_struct {
1427 void (*open)(struct vm_area_struct * ) ;
1428 void (*close)(struct vm_area_struct * ) ;
1429 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1430 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1431 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
1432 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1433 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
1434 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
1435 unsigned long ) ;
1436};
1437#line 244
1438struct inode;
1439#line 244
1440struct inode;
1441#line 1631 "include/linux/mm.h"
1442struct scatterlist {
1443 unsigned long sg_magic ;
1444 unsigned long page_link ;
1445 unsigned int offset ;
1446 unsigned int length ;
1447 dma_addr_t dma_address ;
1448 unsigned int dma_length ;
1449};
1450#line 17 "include/asm-generic/scatterlist.h"
1451struct sg_table {
1452 struct scatterlist *sgl ;
1453 unsigned int nents ;
1454 unsigned int orig_nents ;
1455};
1456#line 268 "include/linux/scatterlist.h"
1457struct scsi_cmnd;
1458#line 268
1459struct scsi_cmnd;
1460#line 564 "include/scsi/scsi.h"
1461struct klist_node;
1462#line 564
1463struct klist_node;
1464#line 37 "include/linux/klist.h"
1465struct klist_node {
1466 void *n_klist ;
1467 struct list_head n_node ;
1468 struct kref n_ref ;
1469};
1470#line 67
1471struct dma_map_ops;
1472#line 67 "include/linux/klist.h"
1473struct dev_archdata {
1474 void *acpi_handle ;
1475 struct dma_map_ops *dma_ops ;
1476 void *iommu ;
1477};
1478#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1479struct device_private;
1480#line 17
1481struct device_private;
1482#line 18
1483struct device_driver;
1484#line 18
1485struct device_driver;
1486#line 19
1487struct driver_private;
1488#line 19
1489struct driver_private;
1490#line 20
1491struct class;
1492#line 20
1493struct class;
1494#line 21
1495struct subsys_private;
1496#line 21
1497struct subsys_private;
1498#line 22
1499struct bus_type;
1500#line 22
1501struct bus_type;
1502#line 23
1503struct device_node;
1504#line 23
1505struct device_node;
1506#line 24
1507struct iommu_ops;
1508#line 24
1509struct iommu_ops;
1510#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1511struct bus_attribute {
1512 struct attribute attr ;
1513 ssize_t (*show)(struct bus_type * , char * ) ;
1514 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1515};
1516#line 51 "include/linux/device.h"
1517struct device_attribute;
1518#line 51
1519struct driver_attribute;
1520#line 51 "include/linux/device.h"
1521struct bus_type {
1522 char const *name ;
1523 char const *dev_name ;
1524 struct device *dev_root ;
1525 struct bus_attribute *bus_attrs ;
1526 struct device_attribute *dev_attrs ;
1527 struct driver_attribute *drv_attrs ;
1528 int (*match)(struct device * , struct device_driver * ) ;
1529 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1530 int (*probe)(struct device * ) ;
1531 int (*remove)(struct device * ) ;
1532 void (*shutdown)(struct device * ) ;
1533 int (*suspend)(struct device * , pm_message_t ) ;
1534 int (*resume)(struct device * ) ;
1535 struct dev_pm_ops const *pm ;
1536 struct iommu_ops *iommu_ops ;
1537 struct subsys_private *p ;
1538};
1539#line 125
1540struct device_type;
1541#line 182
1542struct of_device_id;
1543#line 182 "include/linux/device.h"
1544struct device_driver {
1545 char const *name ;
1546 struct bus_type *bus ;
1547 struct module *owner ;
1548 char const *mod_name ;
1549 bool suppress_bind_attrs ;
1550 struct of_device_id const *of_match_table ;
1551 int (*probe)(struct device * ) ;
1552 int (*remove)(struct device * ) ;
1553 void (*shutdown)(struct device * ) ;
1554 int (*suspend)(struct device * , pm_message_t ) ;
1555 int (*resume)(struct device * ) ;
1556 struct attribute_group const **groups ;
1557 struct dev_pm_ops const *pm ;
1558 struct driver_private *p ;
1559};
1560#line 245 "include/linux/device.h"
1561struct driver_attribute {
1562 struct attribute attr ;
1563 ssize_t (*show)(struct device_driver * , char * ) ;
1564 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1565};
1566#line 299
1567struct class_attribute;
1568#line 299 "include/linux/device.h"
1569struct class {
1570 char const *name ;
1571 struct module *owner ;
1572 struct class_attribute *class_attrs ;
1573 struct device_attribute *dev_attrs ;
1574 struct bin_attribute *dev_bin_attrs ;
1575 struct kobject *dev_kobj ;
1576 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1577 char *(*devnode)(struct device * , umode_t * ) ;
1578 void (*class_release)(struct class * ) ;
1579 void (*dev_release)(struct device * ) ;
1580 int (*suspend)(struct device * , pm_message_t ) ;
1581 int (*resume)(struct device * ) ;
1582 struct kobj_ns_type_operations const *ns_type ;
1583 void const *(*namespace)(struct device * ) ;
1584 struct dev_pm_ops const *pm ;
1585 struct subsys_private *p ;
1586};
1587#line 394 "include/linux/device.h"
1588struct class_attribute {
1589 struct attribute attr ;
1590 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1591 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1592 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1593};
1594#line 447 "include/linux/device.h"
1595struct device_type {
1596 char const *name ;
1597 struct attribute_group const **groups ;
1598 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1599 char *(*devnode)(struct device * , umode_t * ) ;
1600 void (*release)(struct device * ) ;
1601 struct dev_pm_ops const *pm ;
1602};
1603#line 474 "include/linux/device.h"
1604struct device_attribute {
1605 struct attribute attr ;
1606 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1607 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1608 size_t ) ;
1609};
1610#line 557 "include/linux/device.h"
1611struct device_dma_parameters {
1612 unsigned int max_segment_size ;
1613 unsigned long segment_boundary_mask ;
1614};
1615#line 567
1616struct dma_coherent_mem;
1617#line 567 "include/linux/device.h"
1618struct device {
1619 struct device *parent ;
1620 struct device_private *p ;
1621 struct kobject kobj ;
1622 char const *init_name ;
1623 struct device_type const *type ;
1624 struct mutex mutex ;
1625 struct bus_type *bus ;
1626 struct device_driver *driver ;
1627 void *platform_data ;
1628 struct dev_pm_info power ;
1629 struct dev_pm_domain *pm_domain ;
1630 int numa_node ;
1631 u64 *dma_mask ;
1632 u64 coherent_dma_mask ;
1633 struct device_dma_parameters *dma_parms ;
1634 struct list_head dma_pools ;
1635 struct dma_coherent_mem *dma_mem ;
1636 struct dev_archdata archdata ;
1637 struct device_node *of_node ;
1638 dev_t devt ;
1639 u32 id ;
1640 spinlock_t devres_lock ;
1641 struct list_head devres_head ;
1642 struct klist_node knode_class ;
1643 struct class *class ;
1644 struct attribute_group const **groups ;
1645 void (*release)(struct device * ) ;
1646};
1647#line 681 "include/linux/device.h"
1648struct wakeup_source {
1649 char const *name ;
1650 struct list_head entry ;
1651 spinlock_t lock ;
1652 struct timer_list timer ;
1653 unsigned long timer_expires ;
1654 ktime_t total_time ;
1655 ktime_t max_time ;
1656 ktime_t last_time ;
1657 unsigned long event_count ;
1658 unsigned long active_count ;
1659 unsigned long relax_count ;
1660 unsigned long hit_count ;
1661 unsigned char active : 1 ;
1662};
1663#line 999 "include/linux/device.h"
1664struct dma_attrs {
1665 unsigned long flags[1U] ;
1666};
1667#line 67 "include/linux/dma-attrs.h"
1668enum dma_data_direction {
1669 DMA_BIDIRECTIONAL = 0,
1670 DMA_TO_DEVICE = 1,
1671 DMA_FROM_DEVICE = 2,
1672 DMA_NONE = 3
1673} ;
1674#line 74 "include/linux/dma-attrs.h"
1675struct dma_map_ops {
1676 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
1677 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
1678 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1679 size_t , struct dma_attrs * ) ;
1680 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
1681 enum dma_data_direction , struct dma_attrs * ) ;
1682 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
1683 struct dma_attrs * ) ;
1684 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1685 struct dma_attrs * ) ;
1686 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1687 struct dma_attrs * ) ;
1688 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1689 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1690 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1691 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1692 int (*mapping_error)(struct device * , dma_addr_t ) ;
1693 int (*dma_supported)(struct device * , u64 ) ;
1694 int (*set_dma_mask)(struct device * , u64 ) ;
1695 int is_phys ;
1696};
1697#line 93 "include/linux/capability.h"
1698struct kernel_cap_struct {
1699 __u32 cap[2U] ;
1700};
1701#line 96 "include/linux/capability.h"
1702typedef struct kernel_cap_struct kernel_cap_t;
1703#line 104
1704struct dentry;
1705#line 104
1706struct dentry;
1707#line 105
1708struct user_namespace;
1709#line 105
1710struct user_namespace;
1711#line 7 "include/asm-generic/cputime.h"
1712typedef unsigned long cputime_t;
1713#line 98 "include/linux/sem.h"
1714struct sem_undo_list;
1715#line 98 "include/linux/sem.h"
1716struct sysv_sem {
1717 struct sem_undo_list *undo_list ;
1718};
1719#line 107
1720struct siginfo;
1721#line 107
1722struct siginfo;
1723#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1724struct __anonstruct_sigset_t_147 {
1725 unsigned long sig[1U] ;
1726};
1727#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1728typedef struct __anonstruct_sigset_t_147 sigset_t;
1729#line 17 "include/asm-generic/signal-defs.h"
1730typedef void __signalfn_t(int );
1731#line 18 "include/asm-generic/signal-defs.h"
1732typedef __signalfn_t *__sighandler_t;
1733#line 20 "include/asm-generic/signal-defs.h"
1734typedef void __restorefn_t(void);
1735#line 21 "include/asm-generic/signal-defs.h"
1736typedef __restorefn_t *__sigrestore_t;
1737#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1738struct sigaction {
1739 __sighandler_t sa_handler ;
1740 unsigned long sa_flags ;
1741 __sigrestore_t sa_restorer ;
1742 sigset_t sa_mask ;
1743};
1744#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1745struct k_sigaction {
1746 struct sigaction sa ;
1747};
1748#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1749union sigval {
1750 int sival_int ;
1751 void *sival_ptr ;
1752};
1753#line 10 "include/asm-generic/siginfo.h"
1754typedef union sigval sigval_t;
1755#line 11 "include/asm-generic/siginfo.h"
1756struct __anonstruct__kill_149 {
1757 __kernel_pid_t _pid ;
1758 __kernel_uid32_t _uid ;
1759};
1760#line 11 "include/asm-generic/siginfo.h"
1761struct __anonstruct__timer_150 {
1762 __kernel_timer_t _tid ;
1763 int _overrun ;
1764 char _pad[0U] ;
1765 sigval_t _sigval ;
1766 int _sys_private ;
1767};
1768#line 11 "include/asm-generic/siginfo.h"
1769struct __anonstruct__rt_151 {
1770 __kernel_pid_t _pid ;
1771 __kernel_uid32_t _uid ;
1772 sigval_t _sigval ;
1773};
1774#line 11 "include/asm-generic/siginfo.h"
1775struct __anonstruct__sigchld_152 {
1776 __kernel_pid_t _pid ;
1777 __kernel_uid32_t _uid ;
1778 int _status ;
1779 __kernel_clock_t _utime ;
1780 __kernel_clock_t _stime ;
1781};
1782#line 11 "include/asm-generic/siginfo.h"
1783struct __anonstruct__sigfault_153 {
1784 void *_addr ;
1785 short _addr_lsb ;
1786};
1787#line 11 "include/asm-generic/siginfo.h"
1788struct __anonstruct__sigpoll_154 {
1789 long _band ;
1790 int _fd ;
1791};
1792#line 11 "include/asm-generic/siginfo.h"
1793union __anonunion__sifields_148 {
1794 int _pad[28U] ;
1795 struct __anonstruct__kill_149 _kill ;
1796 struct __anonstruct__timer_150 _timer ;
1797 struct __anonstruct__rt_151 _rt ;
1798 struct __anonstruct__sigchld_152 _sigchld ;
1799 struct __anonstruct__sigfault_153 _sigfault ;
1800 struct __anonstruct__sigpoll_154 _sigpoll ;
1801};
1802#line 11 "include/asm-generic/siginfo.h"
1803struct siginfo {
1804 int si_signo ;
1805 int si_errno ;
1806 int si_code ;
1807 union __anonunion__sifields_148 _sifields ;
1808};
1809#line 102 "include/asm-generic/siginfo.h"
1810typedef struct siginfo siginfo_t;
1811#line 24 "include/linux/signal.h"
1812struct sigpending {
1813 struct list_head list ;
1814 sigset_t signal ;
1815};
1816#line 388
1817enum pid_type {
1818 PIDTYPE_PID = 0,
1819 PIDTYPE_PGID = 1,
1820 PIDTYPE_SID = 2,
1821 PIDTYPE_MAX = 3
1822} ;
1823#line 395
1824struct pid_namespace;
1825#line 395 "include/linux/signal.h"
1826struct upid {
1827 int nr ;
1828 struct pid_namespace *ns ;
1829 struct hlist_node pid_chain ;
1830};
1831#line 56 "include/linux/pid.h"
1832struct pid {
1833 atomic_t count ;
1834 unsigned int level ;
1835 struct hlist_head tasks[3U] ;
1836 struct rcu_head rcu ;
1837 struct upid numbers[1U] ;
1838};
1839#line 68 "include/linux/pid.h"
1840struct pid_link {
1841 struct hlist_node node ;
1842 struct pid *pid ;
1843};
1844#line 175 "include/linux/pid.h"
1845struct percpu_counter {
1846 raw_spinlock_t lock ;
1847 s64 count ;
1848 struct list_head list ;
1849 s32 *counters ;
1850};
1851#line 45 "include/linux/proportions.h"
1852struct prop_local_percpu {
1853 struct percpu_counter events ;
1854 int shift ;
1855 unsigned long period ;
1856 raw_spinlock_t lock ;
1857};
1858#line 10 "include/linux/seccomp.h"
1859struct __anonstruct_seccomp_t_157 {
1860 int mode ;
1861};
1862#line 10 "include/linux/seccomp.h"
1863typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1864#line 427 "include/linux/rculist.h"
1865struct plist_head {
1866 struct list_head node_list ;
1867};
1868#line 84 "include/linux/plist.h"
1869struct plist_node {
1870 int prio ;
1871 struct list_head prio_list ;
1872 struct list_head node_list ;
1873};
1874#line 38 "include/linux/rtmutex.h"
1875struct rt_mutex_waiter;
1876#line 38
1877struct rt_mutex_waiter;
1878#line 41 "include/linux/resource.h"
1879struct rlimit {
1880 unsigned long rlim_cur ;
1881 unsigned long rlim_max ;
1882};
1883#line 85 "include/linux/resource.h"
1884struct timerqueue_node {
1885 struct rb_node node ;
1886 ktime_t expires ;
1887};
1888#line 12 "include/linux/timerqueue.h"
1889struct timerqueue_head {
1890 struct rb_root head ;
1891 struct timerqueue_node *next ;
1892};
1893#line 50
1894struct hrtimer_clock_base;
1895#line 50
1896struct hrtimer_clock_base;
1897#line 51
1898struct hrtimer_cpu_base;
1899#line 51
1900struct hrtimer_cpu_base;
1901#line 60
1902enum hrtimer_restart {
1903 HRTIMER_NORESTART = 0,
1904 HRTIMER_RESTART = 1
1905} ;
1906#line 65 "include/linux/timerqueue.h"
1907struct hrtimer {
1908 struct timerqueue_node node ;
1909 ktime_t _softexpires ;
1910 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1911 struct hrtimer_clock_base *base ;
1912 unsigned long state ;
1913 int start_pid ;
1914 void *start_site ;
1915 char start_comm[16U] ;
1916};
1917#line 132 "include/linux/hrtimer.h"
1918struct hrtimer_clock_base {
1919 struct hrtimer_cpu_base *cpu_base ;
1920 int index ;
1921 clockid_t clockid ;
1922 struct timerqueue_head active ;
1923 ktime_t resolution ;
1924 ktime_t (*get_time)(void) ;
1925 ktime_t softirq_time ;
1926 ktime_t offset ;
1927};
1928#line 162 "include/linux/hrtimer.h"
1929struct hrtimer_cpu_base {
1930 raw_spinlock_t lock ;
1931 unsigned long active_bases ;
1932 ktime_t expires_next ;
1933 int hres_active ;
1934 int hang_detected ;
1935 unsigned long nr_events ;
1936 unsigned long nr_retries ;
1937 unsigned long nr_hangs ;
1938 ktime_t max_hang_time ;
1939 struct hrtimer_clock_base clock_base[3U] ;
1940};
1941#line 452 "include/linux/hrtimer.h"
1942struct task_io_accounting {
1943 u64 rchar ;
1944 u64 wchar ;
1945 u64 syscr ;
1946 u64 syscw ;
1947 u64 read_bytes ;
1948 u64 write_bytes ;
1949 u64 cancelled_write_bytes ;
1950};
1951#line 45 "include/linux/task_io_accounting.h"
1952struct latency_record {
1953 unsigned long backtrace[12U] ;
1954 unsigned int count ;
1955 unsigned long time ;
1956 unsigned long max ;
1957};
1958#line 29 "include/linux/key.h"
1959typedef int32_t key_serial_t;
1960#line 32 "include/linux/key.h"
1961typedef uint32_t key_perm_t;
1962#line 33
1963struct key;
1964#line 33
1965struct key;
1966#line 34
1967struct signal_struct;
1968#line 34
1969struct signal_struct;
1970#line 35
1971struct key_type;
1972#line 35
1973struct key_type;
1974#line 37
1975struct keyring_list;
1976#line 37
1977struct keyring_list;
1978#line 115
1979struct key_user;
1980#line 115 "include/linux/key.h"
1981union __anonunion_ldv_19571_158 {
1982 time_t expiry ;
1983 time_t revoked_at ;
1984};
1985#line 115 "include/linux/key.h"
1986union __anonunion_type_data_159 {
1987 struct list_head link ;
1988 unsigned long x[2U] ;
1989 void *p[2U] ;
1990 int reject_error ;
1991};
1992#line 115 "include/linux/key.h"
1993union __anonunion_payload_160 {
1994 unsigned long value ;
1995 void *rcudata ;
1996 void *data ;
1997 struct keyring_list *subscriptions ;
1998};
1999#line 115 "include/linux/key.h"
2000struct key {
2001 atomic_t usage ;
2002 key_serial_t serial ;
2003 struct rb_node serial_node ;
2004 struct key_type *type ;
2005 struct rw_semaphore sem ;
2006 struct key_user *user ;
2007 void *security ;
2008 union __anonunion_ldv_19571_158 ldv_19571 ;
2009 uid_t uid ;
2010 gid_t gid ;
2011 key_perm_t perm ;
2012 unsigned short quotalen ;
2013 unsigned short datalen ;
2014 unsigned long flags ;
2015 char *description ;
2016 union __anonunion_type_data_159 type_data ;
2017 union __anonunion_payload_160 payload ;
2018};
2019#line 316
2020struct audit_context;
2021#line 316
2022struct audit_context;
2023#line 27 "include/linux/selinux.h"
2024struct group_info {
2025 atomic_t usage ;
2026 int ngroups ;
2027 int nblocks ;
2028 gid_t small_block[32U] ;
2029 gid_t *blocks[0U] ;
2030};
2031#line 77 "include/linux/cred.h"
2032struct thread_group_cred {
2033 atomic_t usage ;
2034 pid_t tgid ;
2035 spinlock_t lock ;
2036 struct key *session_keyring ;
2037 struct key *process_keyring ;
2038 struct rcu_head rcu ;
2039};
2040#line 91 "include/linux/cred.h"
2041struct cred {
2042 atomic_t usage ;
2043 atomic_t subscribers ;
2044 void *put_addr ;
2045 unsigned int magic ;
2046 uid_t uid ;
2047 gid_t gid ;
2048 uid_t suid ;
2049 gid_t sgid ;
2050 uid_t euid ;
2051 gid_t egid ;
2052 uid_t fsuid ;
2053 gid_t fsgid ;
2054 unsigned int securebits ;
2055 kernel_cap_t cap_inheritable ;
2056 kernel_cap_t cap_permitted ;
2057 kernel_cap_t cap_effective ;
2058 kernel_cap_t cap_bset ;
2059 unsigned char jit_keyring ;
2060 struct key *thread_keyring ;
2061 struct key *request_key_auth ;
2062 struct thread_group_cred *tgcred ;
2063 void *security ;
2064 struct user_struct *user ;
2065 struct user_namespace *user_ns ;
2066 struct group_info *group_info ;
2067 struct rcu_head rcu ;
2068};
2069#line 264
2070struct llist_node;
2071#line 64 "include/linux/llist.h"
2072struct llist_node {
2073 struct llist_node *next ;
2074};
2075#line 185
2076struct futex_pi_state;
2077#line 185
2078struct futex_pi_state;
2079#line 186
2080struct robust_list_head;
2081#line 186
2082struct robust_list_head;
2083#line 187
2084struct bio_list;
2085#line 187
2086struct bio_list;
2087#line 188
2088struct fs_struct;
2089#line 188
2090struct fs_struct;
2091#line 189
2092struct perf_event_context;
2093#line 189
2094struct perf_event_context;
2095#line 190
2096struct blk_plug;
2097#line 190
2098struct blk_plug;
2099#line 149 "include/linux/sched.h"
2100struct cfs_rq;
2101#line 149
2102struct cfs_rq;
2103#line 44 "include/linux/aio_abi.h"
2104struct io_event {
2105 __u64 data ;
2106 __u64 obj ;
2107 __s64 res ;
2108 __s64 res2 ;
2109};
2110#line 106 "include/linux/aio_abi.h"
2111struct iovec {
2112 void *iov_base ;
2113 __kernel_size_t iov_len ;
2114};
2115#line 54 "include/linux/uio.h"
2116struct kioctx;
2117#line 54
2118struct kioctx;
2119#line 55 "include/linux/uio.h"
2120union __anonunion_ki_obj_161 {
2121 void *user ;
2122 struct task_struct *tsk ;
2123};
2124#line 55
2125struct eventfd_ctx;
2126#line 55 "include/linux/uio.h"
2127struct kiocb {
2128 struct list_head ki_run_list ;
2129 unsigned long ki_flags ;
2130 int ki_users ;
2131 unsigned int ki_key ;
2132 struct file *ki_filp ;
2133 struct kioctx *ki_ctx ;
2134 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2135 ssize_t (*ki_retry)(struct kiocb * ) ;
2136 void (*ki_dtor)(struct kiocb * ) ;
2137 union __anonunion_ki_obj_161 ki_obj ;
2138 __u64 ki_user_data ;
2139 loff_t ki_pos ;
2140 void *private ;
2141 unsigned short ki_opcode ;
2142 size_t ki_nbytes ;
2143 char *ki_buf ;
2144 size_t ki_left ;
2145 struct iovec ki_inline_vec ;
2146 struct iovec *ki_iovec ;
2147 unsigned long ki_nr_segs ;
2148 unsigned long ki_cur_seg ;
2149 struct list_head ki_list ;
2150 struct list_head ki_batch ;
2151 struct eventfd_ctx *ki_eventfd ;
2152};
2153#line 162 "include/linux/aio.h"
2154struct aio_ring_info {
2155 unsigned long mmap_base ;
2156 unsigned long mmap_size ;
2157 struct page **ring_pages ;
2158 spinlock_t ring_lock ;
2159 long nr_pages ;
2160 unsigned int nr ;
2161 unsigned int tail ;
2162 struct page *internal_pages[8U] ;
2163};
2164#line 178 "include/linux/aio.h"
2165struct kioctx {
2166 atomic_t users ;
2167 int dead ;
2168 struct mm_struct *mm ;
2169 unsigned long user_id ;
2170 struct hlist_node list ;
2171 wait_queue_head_t wait ;
2172 spinlock_t ctx_lock ;
2173 int reqs_active ;
2174 struct list_head active_reqs ;
2175 struct list_head run_list ;
2176 unsigned int max_reqs ;
2177 struct aio_ring_info ring_info ;
2178 struct delayed_work wq ;
2179 struct rcu_head rcu_head ;
2180};
2181#line 406 "include/linux/sched.h"
2182struct sighand_struct {
2183 atomic_t count ;
2184 struct k_sigaction action[64U] ;
2185 spinlock_t siglock ;
2186 wait_queue_head_t signalfd_wqh ;
2187};
2188#line 449 "include/linux/sched.h"
2189struct pacct_struct {
2190 int ac_flag ;
2191 long ac_exitcode ;
2192 unsigned long ac_mem ;
2193 cputime_t ac_utime ;
2194 cputime_t ac_stime ;
2195 unsigned long ac_minflt ;
2196 unsigned long ac_majflt ;
2197};
2198#line 457 "include/linux/sched.h"
2199struct cpu_itimer {
2200 cputime_t expires ;
2201 cputime_t incr ;
2202 u32 error ;
2203 u32 incr_error ;
2204};
2205#line 464 "include/linux/sched.h"
2206struct task_cputime {
2207 cputime_t utime ;
2208 cputime_t stime ;
2209 unsigned long long sum_exec_runtime ;
2210};
2211#line 481 "include/linux/sched.h"
2212struct thread_group_cputimer {
2213 struct task_cputime cputime ;
2214 int running ;
2215 raw_spinlock_t lock ;
2216};
2217#line 517
2218struct autogroup;
2219#line 517
2220struct autogroup;
2221#line 518
2222struct tty_struct;
2223#line 518
2224struct taskstats;
2225#line 518
2226struct tty_audit_buf;
2227#line 518 "include/linux/sched.h"
2228struct signal_struct {
2229 atomic_t sigcnt ;
2230 atomic_t live ;
2231 int nr_threads ;
2232 wait_queue_head_t wait_chldexit ;
2233 struct task_struct *curr_target ;
2234 struct sigpending shared_pending ;
2235 int group_exit_code ;
2236 int notify_count ;
2237 struct task_struct *group_exit_task ;
2238 int group_stop_count ;
2239 unsigned int flags ;
2240 unsigned char is_child_subreaper : 1 ;
2241 unsigned char has_child_subreaper : 1 ;
2242 struct list_head posix_timers ;
2243 struct hrtimer real_timer ;
2244 struct pid *leader_pid ;
2245 ktime_t it_real_incr ;
2246 struct cpu_itimer it[2U] ;
2247 struct thread_group_cputimer cputimer ;
2248 struct task_cputime cputime_expires ;
2249 struct list_head cpu_timers[3U] ;
2250 struct pid *tty_old_pgrp ;
2251 int leader ;
2252 struct tty_struct *tty ;
2253 struct autogroup *autogroup ;
2254 cputime_t utime ;
2255 cputime_t stime ;
2256 cputime_t cutime ;
2257 cputime_t cstime ;
2258 cputime_t gtime ;
2259 cputime_t cgtime ;
2260 cputime_t prev_utime ;
2261 cputime_t prev_stime ;
2262 unsigned long nvcsw ;
2263 unsigned long nivcsw ;
2264 unsigned long cnvcsw ;
2265 unsigned long cnivcsw ;
2266 unsigned long min_flt ;
2267 unsigned long maj_flt ;
2268 unsigned long cmin_flt ;
2269 unsigned long cmaj_flt ;
2270 unsigned long inblock ;
2271 unsigned long oublock ;
2272 unsigned long cinblock ;
2273 unsigned long coublock ;
2274 unsigned long maxrss ;
2275 unsigned long cmaxrss ;
2276 struct task_io_accounting ioac ;
2277 unsigned long long sum_sched_runtime ;
2278 struct rlimit rlim[16U] ;
2279 struct pacct_struct pacct ;
2280 struct taskstats *stats ;
2281 unsigned int audit_tty ;
2282 struct tty_audit_buf *tty_audit_buf ;
2283 struct rw_semaphore group_rwsem ;
2284 int oom_adj ;
2285 int oom_score_adj ;
2286 int oom_score_adj_min ;
2287 struct mutex cred_guard_mutex ;
2288};
2289#line 699 "include/linux/sched.h"
2290struct user_struct {
2291 atomic_t __count ;
2292 atomic_t processes ;
2293 atomic_t files ;
2294 atomic_t sigpending ;
2295 atomic_t inotify_watches ;
2296 atomic_t inotify_devs ;
2297 atomic_t fanotify_listeners ;
2298 atomic_long_t epoll_watches ;
2299 unsigned long mq_bytes ;
2300 unsigned long locked_shm ;
2301 struct key *uid_keyring ;
2302 struct key *session_keyring ;
2303 struct hlist_node uidhash_node ;
2304 uid_t uid ;
2305 struct user_namespace *user_ns ;
2306 atomic_long_t locked_vm ;
2307};
2308#line 744
2309struct backing_dev_info;
2310#line 744
2311struct backing_dev_info;
2312#line 745
2313struct reclaim_state;
2314#line 745
2315struct reclaim_state;
2316#line 746 "include/linux/sched.h"
2317struct sched_info {
2318 unsigned long pcount ;
2319 unsigned long long run_delay ;
2320 unsigned long long last_arrival ;
2321 unsigned long long last_queued ;
2322};
2323#line 760 "include/linux/sched.h"
2324struct task_delay_info {
2325 spinlock_t lock ;
2326 unsigned int flags ;
2327 struct timespec blkio_start ;
2328 struct timespec blkio_end ;
2329 u64 blkio_delay ;
2330 u64 swapin_delay ;
2331 u32 blkio_count ;
2332 u32 swapin_count ;
2333 struct timespec freepages_start ;
2334 struct timespec freepages_end ;
2335 u64 freepages_delay ;
2336 u32 freepages_count ;
2337};
2338#line 1069
2339struct io_context;
2340#line 1069
2341struct io_context;
2342#line 1097
2343struct pipe_inode_info;
2344#line 1097
2345struct pipe_inode_info;
2346#line 1099
2347struct rq;
2348#line 1099
2349struct rq;
2350#line 1100 "include/linux/sched.h"
2351struct sched_class {
2352 struct sched_class const *next ;
2353 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2354 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2355 void (*yield_task)(struct rq * ) ;
2356 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2357 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2358 struct task_struct *(*pick_next_task)(struct rq * ) ;
2359 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2360 int (*select_task_rq)(struct task_struct * , int , int ) ;
2361 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2362 void (*post_schedule)(struct rq * ) ;
2363 void (*task_waking)(struct task_struct * ) ;
2364 void (*task_woken)(struct rq * , struct task_struct * ) ;
2365 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2366 void (*rq_online)(struct rq * ) ;
2367 void (*rq_offline)(struct rq * ) ;
2368 void (*set_curr_task)(struct rq * ) ;
2369 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2370 void (*task_fork)(struct task_struct * ) ;
2371 void (*switched_from)(struct rq * , struct task_struct * ) ;
2372 void (*switched_to)(struct rq * , struct task_struct * ) ;
2373 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2374 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2375 void (*task_move_group)(struct task_struct * , int ) ;
2376};
2377#line 1165 "include/linux/sched.h"
2378struct load_weight {
2379 unsigned long weight ;
2380 unsigned long inv_weight ;
2381};
2382#line 1170 "include/linux/sched.h"
2383struct sched_statistics {
2384 u64 wait_start ;
2385 u64 wait_max ;
2386 u64 wait_count ;
2387 u64 wait_sum ;
2388 u64 iowait_count ;
2389 u64 iowait_sum ;
2390 u64 sleep_start ;
2391 u64 sleep_max ;
2392 s64 sum_sleep_runtime ;
2393 u64 block_start ;
2394 u64 block_max ;
2395 u64 exec_max ;
2396 u64 slice_max ;
2397 u64 nr_migrations_cold ;
2398 u64 nr_failed_migrations_affine ;
2399 u64 nr_failed_migrations_running ;
2400 u64 nr_failed_migrations_hot ;
2401 u64 nr_forced_migrations ;
2402 u64 nr_wakeups ;
2403 u64 nr_wakeups_sync ;
2404 u64 nr_wakeups_migrate ;
2405 u64 nr_wakeups_local ;
2406 u64 nr_wakeups_remote ;
2407 u64 nr_wakeups_affine ;
2408 u64 nr_wakeups_affine_attempts ;
2409 u64 nr_wakeups_passive ;
2410 u64 nr_wakeups_idle ;
2411};
2412#line 1205 "include/linux/sched.h"
2413struct sched_entity {
2414 struct load_weight load ;
2415 struct rb_node run_node ;
2416 struct list_head group_node ;
2417 unsigned int on_rq ;
2418 u64 exec_start ;
2419 u64 sum_exec_runtime ;
2420 u64 vruntime ;
2421 u64 prev_sum_exec_runtime ;
2422 u64 nr_migrations ;
2423 struct sched_statistics statistics ;
2424 struct sched_entity *parent ;
2425 struct cfs_rq *cfs_rq ;
2426 struct cfs_rq *my_q ;
2427};
2428#line 1231
2429struct rt_rq;
2430#line 1231 "include/linux/sched.h"
2431struct sched_rt_entity {
2432 struct list_head run_list ;
2433 unsigned long timeout ;
2434 unsigned int time_slice ;
2435 int nr_cpus_allowed ;
2436 struct sched_rt_entity *back ;
2437 struct sched_rt_entity *parent ;
2438 struct rt_rq *rt_rq ;
2439 struct rt_rq *my_q ;
2440};
2441#line 1255
2442struct mem_cgroup;
2443#line 1255 "include/linux/sched.h"
2444struct memcg_batch_info {
2445 int do_batch ;
2446 struct mem_cgroup *memcg ;
2447 unsigned long nr_pages ;
2448 unsigned long memsw_nr_pages ;
2449};
2450#line 1616
2451struct files_struct;
2452#line 1616
2453struct css_set;
2454#line 1616
2455struct compat_robust_list_head;
2456#line 1616 "include/linux/sched.h"
2457struct task_struct {
2458 long volatile state ;
2459 void *stack ;
2460 atomic_t usage ;
2461 unsigned int flags ;
2462 unsigned int ptrace ;
2463 struct llist_node wake_entry ;
2464 int on_cpu ;
2465 int on_rq ;
2466 int prio ;
2467 int static_prio ;
2468 int normal_prio ;
2469 unsigned int rt_priority ;
2470 struct sched_class const *sched_class ;
2471 struct sched_entity se ;
2472 struct sched_rt_entity rt ;
2473 struct hlist_head preempt_notifiers ;
2474 unsigned char fpu_counter ;
2475 unsigned int policy ;
2476 cpumask_t cpus_allowed ;
2477 struct sched_info sched_info ;
2478 struct list_head tasks ;
2479 struct plist_node pushable_tasks ;
2480 struct mm_struct *mm ;
2481 struct mm_struct *active_mm ;
2482 unsigned char brk_randomized : 1 ;
2483 int exit_state ;
2484 int exit_code ;
2485 int exit_signal ;
2486 int pdeath_signal ;
2487 unsigned int jobctl ;
2488 unsigned int personality ;
2489 unsigned char did_exec : 1 ;
2490 unsigned char in_execve : 1 ;
2491 unsigned char in_iowait : 1 ;
2492 unsigned char sched_reset_on_fork : 1 ;
2493 unsigned char sched_contributes_to_load : 1 ;
2494 unsigned char irq_thread : 1 ;
2495 pid_t pid ;
2496 pid_t tgid ;
2497 unsigned long stack_canary ;
2498 struct task_struct *real_parent ;
2499 struct task_struct *parent ;
2500 struct list_head children ;
2501 struct list_head sibling ;
2502 struct task_struct *group_leader ;
2503 struct list_head ptraced ;
2504 struct list_head ptrace_entry ;
2505 struct pid_link pids[3U] ;
2506 struct list_head thread_group ;
2507 struct completion *vfork_done ;
2508 int *set_child_tid ;
2509 int *clear_child_tid ;
2510 cputime_t utime ;
2511 cputime_t stime ;
2512 cputime_t utimescaled ;
2513 cputime_t stimescaled ;
2514 cputime_t gtime ;
2515 cputime_t prev_utime ;
2516 cputime_t prev_stime ;
2517 unsigned long nvcsw ;
2518 unsigned long nivcsw ;
2519 struct timespec start_time ;
2520 struct timespec real_start_time ;
2521 unsigned long min_flt ;
2522 unsigned long maj_flt ;
2523 struct task_cputime cputime_expires ;
2524 struct list_head cpu_timers[3U] ;
2525 struct cred const *real_cred ;
2526 struct cred const *cred ;
2527 struct cred *replacement_session_keyring ;
2528 char comm[16U] ;
2529 int link_count ;
2530 int total_link_count ;
2531 struct sysv_sem sysvsem ;
2532 unsigned long last_switch_count ;
2533 struct thread_struct thread ;
2534 struct fs_struct *fs ;
2535 struct files_struct *files ;
2536 struct nsproxy *nsproxy ;
2537 struct signal_struct *signal ;
2538 struct sighand_struct *sighand ;
2539 sigset_t blocked ;
2540 sigset_t real_blocked ;
2541 sigset_t saved_sigmask ;
2542 struct sigpending pending ;
2543 unsigned long sas_ss_sp ;
2544 size_t sas_ss_size ;
2545 int (*notifier)(void * ) ;
2546 void *notifier_data ;
2547 sigset_t *notifier_mask ;
2548 struct audit_context *audit_context ;
2549 uid_t loginuid ;
2550 unsigned int sessionid ;
2551 seccomp_t seccomp ;
2552 u32 parent_exec_id ;
2553 u32 self_exec_id ;
2554 spinlock_t alloc_lock ;
2555 raw_spinlock_t pi_lock ;
2556 struct plist_head pi_waiters ;
2557 struct rt_mutex_waiter *pi_blocked_on ;
2558 struct mutex_waiter *blocked_on ;
2559 unsigned int irq_events ;
2560 unsigned long hardirq_enable_ip ;
2561 unsigned long hardirq_disable_ip ;
2562 unsigned int hardirq_enable_event ;
2563 unsigned int hardirq_disable_event ;
2564 int hardirqs_enabled ;
2565 int hardirq_context ;
2566 unsigned long softirq_disable_ip ;
2567 unsigned long softirq_enable_ip ;
2568 unsigned int softirq_disable_event ;
2569 unsigned int softirq_enable_event ;
2570 int softirqs_enabled ;
2571 int softirq_context ;
2572 u64 curr_chain_key ;
2573 int lockdep_depth ;
2574 unsigned int lockdep_recursion ;
2575 struct held_lock held_locks[48U] ;
2576 gfp_t lockdep_reclaim_gfp ;
2577 void *journal_info ;
2578 struct bio_list *bio_list ;
2579 struct blk_plug *plug ;
2580 struct reclaim_state *reclaim_state ;
2581 struct backing_dev_info *backing_dev_info ;
2582 struct io_context *io_context ;
2583 unsigned long ptrace_message ;
2584 siginfo_t *last_siginfo ;
2585 struct task_io_accounting ioac ;
2586 u64 acct_rss_mem1 ;
2587 u64 acct_vm_mem1 ;
2588 cputime_t acct_timexpd ;
2589 nodemask_t mems_allowed ;
2590 seqcount_t mems_allowed_seq ;
2591 int cpuset_mem_spread_rotor ;
2592 int cpuset_slab_spread_rotor ;
2593 struct css_set *cgroups ;
2594 struct list_head cg_list ;
2595 struct robust_list_head *robust_list ;
2596 struct compat_robust_list_head *compat_robust_list ;
2597 struct list_head pi_state_list ;
2598 struct futex_pi_state *pi_state_cache ;
2599 struct perf_event_context *perf_event_ctxp[2U] ;
2600 struct mutex perf_event_mutex ;
2601 struct list_head perf_event_list ;
2602 struct mempolicy *mempolicy ;
2603 short il_next ;
2604 short pref_node_fork ;
2605 struct rcu_head rcu ;
2606 struct pipe_inode_info *splice_pipe ;
2607 struct task_delay_info *delays ;
2608 int make_it_fail ;
2609 int nr_dirtied ;
2610 int nr_dirtied_pause ;
2611 unsigned long dirty_paused_when ;
2612 int latency_record_count ;
2613 struct latency_record latency_record[32U] ;
2614 unsigned long timer_slack_ns ;
2615 unsigned long default_timer_slack_ns ;
2616 struct list_head *scm_work_list ;
2617 unsigned long trace ;
2618 unsigned long trace_recursion ;
2619 struct memcg_batch_info memcg_batch ;
2620 atomic_t ptrace_bp_refcnt ;
2621};
2622#line 52 "include/linux/genhd.h"
2623struct bio;
2624#line 52
2625struct bio;
2626#line 53
2627struct bio_integrity_payload;
2628#line 53
2629struct bio_integrity_payload;
2630#line 54
2631struct block_device;
2632#line 54
2633struct block_device;
2634#line 17 "include/linux/blk_types.h"
2635typedef void bio_end_io_t(struct bio * , int );
2636#line 18 "include/linux/blk_types.h"
2637typedef void bio_destructor_t(struct bio * );
2638#line 19 "include/linux/blk_types.h"
2639struct bio_vec {
2640 struct page *bv_page ;
2641 unsigned int bv_len ;
2642 unsigned int bv_offset ;
2643};
2644#line 28 "include/linux/blk_types.h"
2645struct bio {
2646 sector_t bi_sector ;
2647 struct bio *bi_next ;
2648 struct block_device *bi_bdev ;
2649 unsigned long bi_flags ;
2650 unsigned long bi_rw ;
2651 unsigned short bi_vcnt ;
2652 unsigned short bi_idx ;
2653 unsigned int bi_phys_segments ;
2654 unsigned int bi_size ;
2655 unsigned int bi_seg_front_size ;
2656 unsigned int bi_seg_back_size ;
2657 unsigned int bi_max_vecs ;
2658 atomic_t bi_cnt ;
2659 struct bio_vec *bi_io_vec ;
2660 bio_end_io_t *bi_end_io ;
2661 void *bi_private ;
2662 struct bio_integrity_payload *bi_integrity ;
2663 bio_destructor_t *bi_destructor ;
2664 struct bio_vec bi_inline_vecs[0U] ;
2665};
2666#line 57 "include/linux/fs.h"
2667struct hlist_bl_node;
2668#line 57 "include/linux/fs.h"
2669struct hlist_bl_head {
2670 struct hlist_bl_node *first ;
2671};
2672#line 36 "include/linux/list_bl.h"
2673struct hlist_bl_node {
2674 struct hlist_bl_node *next ;
2675 struct hlist_bl_node **pprev ;
2676};
2677#line 114 "include/linux/rculist_bl.h"
2678struct nameidata;
2679#line 114
2680struct nameidata;
2681#line 115
2682struct path;
2683#line 115
2684struct path;
2685#line 116
2686struct vfsmount;
2687#line 116
2688struct vfsmount;
2689#line 117 "include/linux/rculist_bl.h"
2690struct qstr {
2691 unsigned int hash ;
2692 unsigned int len ;
2693 unsigned char const *name ;
2694};
2695#line 72 "include/linux/dcache.h"
2696struct dentry_operations;
2697#line 72
2698struct super_block;
2699#line 72 "include/linux/dcache.h"
2700union __anonunion_d_u_163 {
2701 struct list_head d_child ;
2702 struct rcu_head d_rcu ;
2703};
2704#line 72 "include/linux/dcache.h"
2705struct dentry {
2706 unsigned int d_flags ;
2707 seqcount_t d_seq ;
2708 struct hlist_bl_node d_hash ;
2709 struct dentry *d_parent ;
2710 struct qstr d_name ;
2711 struct inode *d_inode ;
2712 unsigned char d_iname[32U] ;
2713 unsigned int d_count ;
2714 spinlock_t d_lock ;
2715 struct dentry_operations const *d_op ;
2716 struct super_block *d_sb ;
2717 unsigned long d_time ;
2718 void *d_fsdata ;
2719 struct list_head d_lru ;
2720 union __anonunion_d_u_163 d_u ;
2721 struct list_head d_subdirs ;
2722 struct list_head d_alias ;
2723};
2724#line 123 "include/linux/dcache.h"
2725struct dentry_operations {
2726 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2727 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2728 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2729 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2730 int (*d_delete)(struct dentry const * ) ;
2731 void (*d_release)(struct dentry * ) ;
2732 void (*d_prune)(struct dentry * ) ;
2733 void (*d_iput)(struct dentry * , struct inode * ) ;
2734 char *(*d_dname)(struct dentry * , char * , int ) ;
2735 struct vfsmount *(*d_automount)(struct path * ) ;
2736 int (*d_manage)(struct dentry * , bool ) ;
2737};
2738#line 402 "include/linux/dcache.h"
2739struct path {
2740 struct vfsmount *mnt ;
2741 struct dentry *dentry ;
2742};
2743#line 58 "include/linux/radix-tree.h"
2744struct radix_tree_node;
2745#line 58 "include/linux/radix-tree.h"
2746struct radix_tree_root {
2747 unsigned int height ;
2748 gfp_t gfp_mask ;
2749 struct radix_tree_node *rnode ;
2750};
2751#line 45 "include/linux/semaphore.h"
2752struct fiemap_extent {
2753 __u64 fe_logical ;
2754 __u64 fe_physical ;
2755 __u64 fe_length ;
2756 __u64 fe_reserved64[2U] ;
2757 __u32 fe_flags ;
2758 __u32 fe_reserved[3U] ;
2759};
2760#line 38 "include/linux/fiemap.h"
2761enum migrate_mode {
2762 MIGRATE_ASYNC = 0,
2763 MIGRATE_SYNC_LIGHT = 1,
2764 MIGRATE_SYNC = 2
2765} ;
2766#line 44
2767struct export_operations;
2768#line 44
2769struct export_operations;
2770#line 45
2771struct hd_geometry;
2772#line 45
2773struct hd_geometry;
2774#line 46
2775struct poll_table_struct;
2776#line 46
2777struct poll_table_struct;
2778#line 47
2779struct kstatfs;
2780#line 47
2781struct kstatfs;
2782#line 435 "include/linux/fs.h"
2783struct iattr {
2784 unsigned int ia_valid ;
2785 umode_t ia_mode ;
2786 uid_t ia_uid ;
2787 gid_t ia_gid ;
2788 loff_t ia_size ;
2789 struct timespec ia_atime ;
2790 struct timespec ia_mtime ;
2791 struct timespec ia_ctime ;
2792 struct file *ia_file ;
2793};
2794#line 119 "include/linux/quota.h"
2795struct if_dqinfo {
2796 __u64 dqi_bgrace ;
2797 __u64 dqi_igrace ;
2798 __u32 dqi_flags ;
2799 __u32 dqi_valid ;
2800};
2801#line 152 "include/linux/quota.h"
2802struct fs_disk_quota {
2803 __s8 d_version ;
2804 __s8 d_flags ;
2805 __u16 d_fieldmask ;
2806 __u32 d_id ;
2807 __u64 d_blk_hardlimit ;
2808 __u64 d_blk_softlimit ;
2809 __u64 d_ino_hardlimit ;
2810 __u64 d_ino_softlimit ;
2811 __u64 d_bcount ;
2812 __u64 d_icount ;
2813 __s32 d_itimer ;
2814 __s32 d_btimer ;
2815 __u16 d_iwarns ;
2816 __u16 d_bwarns ;
2817 __s32 d_padding2 ;
2818 __u64 d_rtb_hardlimit ;
2819 __u64 d_rtb_softlimit ;
2820 __u64 d_rtbcount ;
2821 __s32 d_rtbtimer ;
2822 __u16 d_rtbwarns ;
2823 __s16 d_padding3 ;
2824 char d_padding4[8U] ;
2825};
2826#line 75 "include/linux/dqblk_xfs.h"
2827struct fs_qfilestat {
2828 __u64 qfs_ino ;
2829 __u64 qfs_nblks ;
2830 __u32 qfs_nextents ;
2831};
2832#line 150 "include/linux/dqblk_xfs.h"
2833typedef struct fs_qfilestat fs_qfilestat_t;
2834#line 151 "include/linux/dqblk_xfs.h"
2835struct fs_quota_stat {
2836 __s8 qs_version ;
2837 __u16 qs_flags ;
2838 __s8 qs_pad ;
2839 fs_qfilestat_t qs_uquota ;
2840 fs_qfilestat_t qs_gquota ;
2841 __u32 qs_incoredqs ;
2842 __s32 qs_btimelimit ;
2843 __s32 qs_itimelimit ;
2844 __s32 qs_rtbtimelimit ;
2845 __u16 qs_bwarnlimit ;
2846 __u16 qs_iwarnlimit ;
2847};
2848#line 165
2849struct dquot;
2850#line 165
2851struct dquot;
2852#line 185 "include/linux/quota.h"
2853typedef __kernel_uid32_t qid_t;
2854#line 186 "include/linux/quota.h"
2855typedef long long qsize_t;
2856#line 189 "include/linux/quota.h"
2857struct mem_dqblk {
2858 qsize_t dqb_bhardlimit ;
2859 qsize_t dqb_bsoftlimit ;
2860 qsize_t dqb_curspace ;
2861 qsize_t dqb_rsvspace ;
2862 qsize_t dqb_ihardlimit ;
2863 qsize_t dqb_isoftlimit ;
2864 qsize_t dqb_curinodes ;
2865 time_t dqb_btime ;
2866 time_t dqb_itime ;
2867};
2868#line 211
2869struct quota_format_type;
2870#line 211
2871struct quota_format_type;
2872#line 212 "include/linux/quota.h"
2873struct mem_dqinfo {
2874 struct quota_format_type *dqi_format ;
2875 int dqi_fmt_id ;
2876 struct list_head dqi_dirty_list ;
2877 unsigned long dqi_flags ;
2878 unsigned int dqi_bgrace ;
2879 unsigned int dqi_igrace ;
2880 qsize_t dqi_maxblimit ;
2881 qsize_t dqi_maxilimit ;
2882 void *dqi_priv ;
2883};
2884#line 275 "include/linux/quota.h"
2885struct dquot {
2886 struct hlist_node dq_hash ;
2887 struct list_head dq_inuse ;
2888 struct list_head dq_free ;
2889 struct list_head dq_dirty ;
2890 struct mutex dq_lock ;
2891 atomic_t dq_count ;
2892 wait_queue_head_t dq_wait_unused ;
2893 struct super_block *dq_sb ;
2894 unsigned int dq_id ;
2895 loff_t dq_off ;
2896 unsigned long dq_flags ;
2897 short dq_type ;
2898 struct mem_dqblk dq_dqb ;
2899};
2900#line 303 "include/linux/quota.h"
2901struct quota_format_ops {
2902 int (*check_quota_file)(struct super_block * , int ) ;
2903 int (*read_file_info)(struct super_block * , int ) ;
2904 int (*write_file_info)(struct super_block * , int ) ;
2905 int (*free_file_info)(struct super_block * , int ) ;
2906 int (*read_dqblk)(struct dquot * ) ;
2907 int (*commit_dqblk)(struct dquot * ) ;
2908 int (*release_dqblk)(struct dquot * ) ;
2909};
2910#line 314 "include/linux/quota.h"
2911struct dquot_operations {
2912 int (*write_dquot)(struct dquot * ) ;
2913 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
2914 void (*destroy_dquot)(struct dquot * ) ;
2915 int (*acquire_dquot)(struct dquot * ) ;
2916 int (*release_dquot)(struct dquot * ) ;
2917 int (*mark_dirty)(struct dquot * ) ;
2918 int (*write_info)(struct super_block * , int ) ;
2919 qsize_t *(*get_reserved_space)(struct inode * ) ;
2920};
2921#line 328 "include/linux/quota.h"
2922struct quotactl_ops {
2923 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
2924 int (*quota_on_meta)(struct super_block * , int , int ) ;
2925 int (*quota_off)(struct super_block * , int ) ;
2926 int (*quota_sync)(struct super_block * , int , int ) ;
2927 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
2928 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
2929 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2930 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2931 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2932 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
2933};
2934#line 344 "include/linux/quota.h"
2935struct quota_format_type {
2936 int qf_fmt_id ;
2937 struct quota_format_ops const *qf_ops ;
2938 struct module *qf_owner ;
2939 struct quota_format_type *qf_next ;
2940};
2941#line 390 "include/linux/quota.h"
2942struct quota_info {
2943 unsigned int flags ;
2944 struct mutex dqio_mutex ;
2945 struct mutex dqonoff_mutex ;
2946 struct rw_semaphore dqptr_sem ;
2947 struct inode *files[2U] ;
2948 struct mem_dqinfo info[2U] ;
2949 struct quota_format_ops const *ops[2U] ;
2950};
2951#line 585 "include/linux/fs.h"
2952union __anonunion_arg_165 {
2953 char *buf ;
2954 void *data ;
2955};
2956#line 585 "include/linux/fs.h"
2957struct __anonstruct_read_descriptor_t_164 {
2958 size_t written ;
2959 size_t count ;
2960 union __anonunion_arg_165 arg ;
2961 int error ;
2962};
2963#line 585 "include/linux/fs.h"
2964typedef struct __anonstruct_read_descriptor_t_164 read_descriptor_t;
2965#line 588 "include/linux/fs.h"
2966struct address_space_operations {
2967 int (*writepage)(struct page * , struct writeback_control * ) ;
2968 int (*readpage)(struct file * , struct page * ) ;
2969 int (*writepages)(struct address_space * , struct writeback_control * ) ;
2970 int (*set_page_dirty)(struct page * ) ;
2971 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2972 unsigned int ) ;
2973 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
2974 unsigned int , struct page ** , void ** ) ;
2975 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
2976 unsigned int , struct page * , void * ) ;
2977 sector_t (*bmap)(struct address_space * , sector_t ) ;
2978 void (*invalidatepage)(struct page * , unsigned long ) ;
2979 int (*releasepage)(struct page * , gfp_t ) ;
2980 void (*freepage)(struct page * ) ;
2981 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
2982 unsigned long ) ;
2983 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
2984 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
2985 int (*launder_page)(struct page * ) ;
2986 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
2987 int (*error_remove_page)(struct address_space * , struct page * ) ;
2988};
2989#line 642 "include/linux/fs.h"
2990struct address_space {
2991 struct inode *host ;
2992 struct radix_tree_root page_tree ;
2993 spinlock_t tree_lock ;
2994 unsigned int i_mmap_writable ;
2995 struct prio_tree_root i_mmap ;
2996 struct list_head i_mmap_nonlinear ;
2997 struct mutex i_mmap_mutex ;
2998 unsigned long nrpages ;
2999 unsigned long writeback_index ;
3000 struct address_space_operations const *a_ops ;
3001 unsigned long flags ;
3002 struct backing_dev_info *backing_dev_info ;
3003 spinlock_t private_lock ;
3004 struct list_head private_list ;
3005 struct address_space *assoc_mapping ;
3006};
3007#line 664
3008struct request_queue;
3009#line 664
3010struct request_queue;
3011#line 665
3012struct hd_struct;
3013#line 665
3014struct gendisk;
3015#line 665 "include/linux/fs.h"
3016struct block_device {
3017 dev_t bd_dev ;
3018 int bd_openers ;
3019 struct inode *bd_inode ;
3020 struct super_block *bd_super ;
3021 struct mutex bd_mutex ;
3022 struct list_head bd_inodes ;
3023 void *bd_claiming ;
3024 void *bd_holder ;
3025 int bd_holders ;
3026 bool bd_write_holder ;
3027 struct list_head bd_holder_disks ;
3028 struct block_device *bd_contains ;
3029 unsigned int bd_block_size ;
3030 struct hd_struct *bd_part ;
3031 unsigned int bd_part_count ;
3032 int bd_invalidated ;
3033 struct gendisk *bd_disk ;
3034 struct request_queue *bd_queue ;
3035 struct list_head bd_list ;
3036 unsigned long bd_private ;
3037 int bd_fsfreeze_count ;
3038 struct mutex bd_fsfreeze_mutex ;
3039};
3040#line 737
3041struct posix_acl;
3042#line 737
3043struct posix_acl;
3044#line 738
3045struct inode_operations;
3046#line 738 "include/linux/fs.h"
3047union __anonunion_ldv_22603_166 {
3048 unsigned int const i_nlink ;
3049 unsigned int __i_nlink ;
3050};
3051#line 738 "include/linux/fs.h"
3052union __anonunion_ldv_22622_167 {
3053 struct list_head i_dentry ;
3054 struct rcu_head i_rcu ;
3055};
3056#line 738
3057struct file_operations;
3058#line 738
3059struct file_lock;
3060#line 738
3061struct cdev;
3062#line 738 "include/linux/fs.h"
3063union __anonunion_ldv_22640_168 {
3064 struct pipe_inode_info *i_pipe ;
3065 struct block_device *i_bdev ;
3066 struct cdev *i_cdev ;
3067};
3068#line 738 "include/linux/fs.h"
3069struct inode {
3070 umode_t i_mode ;
3071 unsigned short i_opflags ;
3072 uid_t i_uid ;
3073 gid_t i_gid ;
3074 unsigned int i_flags ;
3075 struct posix_acl *i_acl ;
3076 struct posix_acl *i_default_acl ;
3077 struct inode_operations const *i_op ;
3078 struct super_block *i_sb ;
3079 struct address_space *i_mapping ;
3080 void *i_security ;
3081 unsigned long i_ino ;
3082 union __anonunion_ldv_22603_166 ldv_22603 ;
3083 dev_t i_rdev ;
3084 struct timespec i_atime ;
3085 struct timespec i_mtime ;
3086 struct timespec i_ctime ;
3087 spinlock_t i_lock ;
3088 unsigned short i_bytes ;
3089 blkcnt_t i_blocks ;
3090 loff_t i_size ;
3091 unsigned long i_state ;
3092 struct mutex i_mutex ;
3093 unsigned long dirtied_when ;
3094 struct hlist_node i_hash ;
3095 struct list_head i_wb_list ;
3096 struct list_head i_lru ;
3097 struct list_head i_sb_list ;
3098 union __anonunion_ldv_22622_167 ldv_22622 ;
3099 atomic_t i_count ;
3100 unsigned int i_blkbits ;
3101 u64 i_version ;
3102 atomic_t i_dio_count ;
3103 atomic_t i_writecount ;
3104 struct file_operations const *i_fop ;
3105 struct file_lock *i_flock ;
3106 struct address_space i_data ;
3107 struct dquot *i_dquot[2U] ;
3108 struct list_head i_devices ;
3109 union __anonunion_ldv_22640_168 ldv_22640 ;
3110 __u32 i_generation ;
3111 __u32 i_fsnotify_mask ;
3112 struct hlist_head i_fsnotify_marks ;
3113 atomic_t i_readcount ;
3114 void *i_private ;
3115};
3116#line 941 "include/linux/fs.h"
3117struct fown_struct {
3118 rwlock_t lock ;
3119 struct pid *pid ;
3120 enum pid_type pid_type ;
3121 uid_t uid ;
3122 uid_t euid ;
3123 int signum ;
3124};
3125#line 949 "include/linux/fs.h"
3126struct file_ra_state {
3127 unsigned long start ;
3128 unsigned int size ;
3129 unsigned int async_size ;
3130 unsigned int ra_pages ;
3131 unsigned int mmap_miss ;
3132 loff_t prev_pos ;
3133};
3134#line 972 "include/linux/fs.h"
3135union __anonunion_f_u_169 {
3136 struct list_head fu_list ;
3137 struct rcu_head fu_rcuhead ;
3138};
3139#line 972 "include/linux/fs.h"
3140struct file {
3141 union __anonunion_f_u_169 f_u ;
3142 struct path f_path ;
3143 struct file_operations const *f_op ;
3144 spinlock_t f_lock ;
3145 int f_sb_list_cpu ;
3146 atomic_long_t f_count ;
3147 unsigned int f_flags ;
3148 fmode_t f_mode ;
3149 loff_t f_pos ;
3150 struct fown_struct f_owner ;
3151 struct cred const *f_cred ;
3152 struct file_ra_state f_ra ;
3153 u64 f_version ;
3154 void *f_security ;
3155 void *private_data ;
3156 struct list_head f_ep_links ;
3157 struct list_head f_tfile_llink ;
3158 struct address_space *f_mapping ;
3159 unsigned long f_mnt_write_state ;
3160};
3161#line 1111 "include/linux/fs.h"
3162typedef struct files_struct *fl_owner_t;
3163#line 1112 "include/linux/fs.h"
3164struct file_lock_operations {
3165 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3166 void (*fl_release_private)(struct file_lock * ) ;
3167};
3168#line 1117 "include/linux/fs.h"
3169struct lock_manager_operations {
3170 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3171 void (*lm_notify)(struct file_lock * ) ;
3172 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3173 void (*lm_release_private)(struct file_lock * ) ;
3174 void (*lm_break)(struct file_lock * ) ;
3175 int (*lm_change)(struct file_lock ** , int ) ;
3176};
3177#line 1134
3178struct nlm_lockowner;
3179#line 1134
3180struct nlm_lockowner;
3181#line 1135 "include/linux/fs.h"
3182struct nfs_lock_info {
3183 u32 state ;
3184 struct nlm_lockowner *owner ;
3185 struct list_head list ;
3186};
3187#line 14 "include/linux/nfs_fs_i.h"
3188struct nfs4_lock_state;
3189#line 14
3190struct nfs4_lock_state;
3191#line 15 "include/linux/nfs_fs_i.h"
3192struct nfs4_lock_info {
3193 struct nfs4_lock_state *owner ;
3194};
3195#line 19
3196struct fasync_struct;
3197#line 19 "include/linux/nfs_fs_i.h"
3198struct __anonstruct_afs_171 {
3199 struct list_head link ;
3200 int state ;
3201};
3202#line 19 "include/linux/nfs_fs_i.h"
3203union __anonunion_fl_u_170 {
3204 struct nfs_lock_info nfs_fl ;
3205 struct nfs4_lock_info nfs4_fl ;
3206 struct __anonstruct_afs_171 afs ;
3207};
3208#line 19 "include/linux/nfs_fs_i.h"
3209struct file_lock {
3210 struct file_lock *fl_next ;
3211 struct list_head fl_link ;
3212 struct list_head fl_block ;
3213 fl_owner_t fl_owner ;
3214 unsigned int fl_flags ;
3215 unsigned char fl_type ;
3216 unsigned int fl_pid ;
3217 struct pid *fl_nspid ;
3218 wait_queue_head_t fl_wait ;
3219 struct file *fl_file ;
3220 loff_t fl_start ;
3221 loff_t fl_end ;
3222 struct fasync_struct *fl_fasync ;
3223 unsigned long fl_break_time ;
3224 unsigned long fl_downgrade_time ;
3225 struct file_lock_operations const *fl_ops ;
3226 struct lock_manager_operations const *fl_lmops ;
3227 union __anonunion_fl_u_170 fl_u ;
3228};
3229#line 1221 "include/linux/fs.h"
3230struct fasync_struct {
3231 spinlock_t fa_lock ;
3232 int magic ;
3233 int fa_fd ;
3234 struct fasync_struct *fa_next ;
3235 struct file *fa_file ;
3236 struct rcu_head fa_rcu ;
3237};
3238#line 1417
3239struct file_system_type;
3240#line 1417
3241struct super_operations;
3242#line 1417
3243struct xattr_handler;
3244#line 1417
3245struct mtd_info;
3246#line 1417 "include/linux/fs.h"
3247struct super_block {
3248 struct list_head s_list ;
3249 dev_t s_dev ;
3250 unsigned char s_dirt ;
3251 unsigned char s_blocksize_bits ;
3252 unsigned long s_blocksize ;
3253 loff_t s_maxbytes ;
3254 struct file_system_type *s_type ;
3255 struct super_operations const *s_op ;
3256 struct dquot_operations const *dq_op ;
3257 struct quotactl_ops const *s_qcop ;
3258 struct export_operations const *s_export_op ;
3259 unsigned long s_flags ;
3260 unsigned long s_magic ;
3261 struct dentry *s_root ;
3262 struct rw_semaphore s_umount ;
3263 struct mutex s_lock ;
3264 int s_count ;
3265 atomic_t s_active ;
3266 void *s_security ;
3267 struct xattr_handler const **s_xattr ;
3268 struct list_head s_inodes ;
3269 struct hlist_bl_head s_anon ;
3270 struct list_head *s_files ;
3271 struct list_head s_mounts ;
3272 struct list_head s_dentry_lru ;
3273 int s_nr_dentry_unused ;
3274 spinlock_t s_inode_lru_lock ;
3275 struct list_head s_inode_lru ;
3276 int s_nr_inodes_unused ;
3277 struct block_device *s_bdev ;
3278 struct backing_dev_info *s_bdi ;
3279 struct mtd_info *s_mtd ;
3280 struct hlist_node s_instances ;
3281 struct quota_info s_dquot ;
3282 int s_frozen ;
3283 wait_queue_head_t s_wait_unfrozen ;
3284 char s_id[32U] ;
3285 u8 s_uuid[16U] ;
3286 void *s_fs_info ;
3287 unsigned int s_max_links ;
3288 fmode_t s_mode ;
3289 u32 s_time_gran ;
3290 struct mutex s_vfs_rename_mutex ;
3291 char *s_subtype ;
3292 char *s_options ;
3293 struct dentry_operations const *s_d_op ;
3294 int cleancache_poolid ;
3295 struct shrinker s_shrink ;
3296 atomic_long_t s_remove_count ;
3297 int s_readonly_remount ;
3298};
3299#line 1563 "include/linux/fs.h"
3300struct fiemap_extent_info {
3301 unsigned int fi_flags ;
3302 unsigned int fi_extents_mapped ;
3303 unsigned int fi_extents_max ;
3304 struct fiemap_extent *fi_extents_start ;
3305};
3306#line 1601
3307struct block_device_operations;
3308#line 1601
3309struct block_device_operations;
3310#line 1602 "include/linux/fs.h"
3311struct file_operations {
3312 struct module *owner ;
3313 loff_t (*llseek)(struct file * , loff_t , int ) ;
3314 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3315 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3316 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3317 loff_t ) ;
3318 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3319 loff_t ) ;
3320 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3321 loff_t , u64 , unsigned int ) ) ;
3322 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3323 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3324 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3325 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3326 int (*open)(struct inode * , struct file * ) ;
3327 int (*flush)(struct file * , fl_owner_t ) ;
3328 int (*release)(struct inode * , struct file * ) ;
3329 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
3330 int (*aio_fsync)(struct kiocb * , int ) ;
3331 int (*fasync)(int , struct file * , int ) ;
3332 int (*lock)(struct file * , int , struct file_lock * ) ;
3333 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3334 int ) ;
3335 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3336 unsigned long , unsigned long ) ;
3337 int (*check_flags)(int ) ;
3338 int (*flock)(struct file * , int , struct file_lock * ) ;
3339 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3340 unsigned int ) ;
3341 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3342 unsigned int ) ;
3343 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3344 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
3345};
3346#line 1637 "include/linux/fs.h"
3347struct inode_operations {
3348 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3349 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3350 int (*permission)(struct inode * , int ) ;
3351 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3352 int (*readlink)(struct dentry * , char * , int ) ;
3353 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3354 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3355 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3356 int (*unlink)(struct inode * , struct dentry * ) ;
3357 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3358 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3359 int (*rmdir)(struct inode * , struct dentry * ) ;
3360 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3361 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3362 void (*truncate)(struct inode * ) ;
3363 int (*setattr)(struct dentry * , struct iattr * ) ;
3364 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3365 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3366 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3367 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3368 int (*removexattr)(struct dentry * , char const * ) ;
3369 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3370 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
3371};
3372#line 1682 "include/linux/fs.h"
3373struct super_operations {
3374 struct inode *(*alloc_inode)(struct super_block * ) ;
3375 void (*destroy_inode)(struct inode * ) ;
3376 void (*dirty_inode)(struct inode * , int ) ;
3377 int (*write_inode)(struct inode * , struct writeback_control * ) ;
3378 int (*drop_inode)(struct inode * ) ;
3379 void (*evict_inode)(struct inode * ) ;
3380 void (*put_super)(struct super_block * ) ;
3381 void (*write_super)(struct super_block * ) ;
3382 int (*sync_fs)(struct super_block * , int ) ;
3383 int (*freeze_fs)(struct super_block * ) ;
3384 int (*unfreeze_fs)(struct super_block * ) ;
3385 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3386 int (*remount_fs)(struct super_block * , int * , char * ) ;
3387 void (*umount_begin)(struct super_block * ) ;
3388 int (*show_options)(struct seq_file * , struct dentry * ) ;
3389 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3390 int (*show_path)(struct seq_file * , struct dentry * ) ;
3391 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3392 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3393 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3394 loff_t ) ;
3395 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3396 int (*nr_cached_objects)(struct super_block * ) ;
3397 void (*free_cached_objects)(struct super_block * , int ) ;
3398};
3399#line 1834 "include/linux/fs.h"
3400struct file_system_type {
3401 char const *name ;
3402 int fs_flags ;
3403 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3404 void (*kill_sb)(struct super_block * ) ;
3405 struct module *owner ;
3406 struct file_system_type *next ;
3407 struct hlist_head fs_supers ;
3408 struct lock_class_key s_lock_key ;
3409 struct lock_class_key s_umount_key ;
3410 struct lock_class_key s_vfs_rename_key ;
3411 struct lock_class_key i_lock_key ;
3412 struct lock_class_key i_mutex_key ;
3413 struct lock_class_key i_mutex_dir_key ;
3414};
3415#line 81 "include/linux/genhd.h"
3416struct disk_stats {
3417 unsigned long sectors[2U] ;
3418 unsigned long ios[2U] ;
3419 unsigned long merges[2U] ;
3420 unsigned long ticks[2U] ;
3421 unsigned long io_ticks ;
3422 unsigned long time_in_queue ;
3423};
3424#line 90 "include/linux/genhd.h"
3425struct partition_meta_info {
3426 u8 uuid[16U] ;
3427 u8 volname[64U] ;
3428};
3429#line 98 "include/linux/genhd.h"
3430struct hd_struct {
3431 sector_t start_sect ;
3432 sector_t nr_sects ;
3433 sector_t alignment_offset ;
3434 unsigned int discard_alignment ;
3435 struct device __dev ;
3436 struct kobject *holder_dir ;
3437 int policy ;
3438 int partno ;
3439 struct partition_meta_info *info ;
3440 int make_it_fail ;
3441 unsigned long stamp ;
3442 atomic_t in_flight[2U] ;
3443 struct disk_stats *dkstats ;
3444 atomic_t ref ;
3445 struct rcu_head rcu_head ;
3446};
3447#line 146 "include/linux/genhd.h"
3448struct disk_part_tbl {
3449 struct rcu_head rcu_head ;
3450 int len ;
3451 struct hd_struct *last_lookup ;
3452 struct hd_struct *part[0U] ;
3453};
3454#line 153
3455struct disk_events;
3456#line 153
3457struct disk_events;
3458#line 154
3459struct timer_rand_state;
3460#line 154
3461struct blk_integrity;
3462#line 154 "include/linux/genhd.h"
3463struct gendisk {
3464 int major ;
3465 int first_minor ;
3466 int minors ;
3467 char disk_name[32U] ;
3468 char *(*devnode)(struct gendisk * , umode_t * ) ;
3469 unsigned int events ;
3470 unsigned int async_events ;
3471 struct disk_part_tbl *part_tbl ;
3472 struct hd_struct part0 ;
3473 struct block_device_operations const *fops ;
3474 struct request_queue *queue ;
3475 void *private_data ;
3476 int flags ;
3477 struct device *driverfs_dev ;
3478 struct kobject *slave_dir ;
3479 struct timer_rand_state *random ;
3480 atomic_t sync_io ;
3481 struct disk_events *ev ;
3482 struct blk_integrity *integrity ;
3483 int node_id ;
3484};
3485#line 650 "include/linux/genhd.h"
3486struct exception_table_entry {
3487 unsigned long insn ;
3488 unsigned long fixup ;
3489};
3490#line 348 "include/linux/irq.h"
3491struct proc_dir_entry;
3492#line 348
3493struct proc_dir_entry;
3494#line 11 "include/linux/writeback.h"
3495enum writeback_sync_modes {
3496 WB_SYNC_NONE = 0,
3497 WB_SYNC_ALL = 1
3498} ;
3499#line 54 "include/linux/writeback.h"
3500struct writeback_control {
3501 enum writeback_sync_modes sync_mode ;
3502 long nr_to_write ;
3503 long pages_skipped ;
3504 loff_t range_start ;
3505 loff_t range_end ;
3506 unsigned char for_kupdate : 1 ;
3507 unsigned char for_background : 1 ;
3508 unsigned char tagged_writepages : 1 ;
3509 unsigned char for_reclaim : 1 ;
3510 unsigned char range_cyclic : 1 ;
3511};
3512#line 80
3513struct bdi_writeback;
3514#line 80
3515struct bdi_writeback;
3516#line 38 "include/linux/backing-dev.h"
3517typedef int congested_fn(void * , int );
3518#line 47 "include/linux/backing-dev.h"
3519struct bdi_writeback {
3520 struct backing_dev_info *bdi ;
3521 unsigned int nr ;
3522 unsigned long last_old_flush ;
3523 unsigned long last_active ;
3524 struct task_struct *task ;
3525 struct timer_list wakeup_timer ;
3526 struct list_head b_dirty ;
3527 struct list_head b_io ;
3528 struct list_head b_more_io ;
3529 spinlock_t list_lock ;
3530};
3531#line 64 "include/linux/backing-dev.h"
3532struct backing_dev_info {
3533 struct list_head bdi_list ;
3534 unsigned long ra_pages ;
3535 unsigned long state ;
3536 unsigned int capabilities ;
3537 congested_fn *congested_fn ;
3538 void *congested_data ;
3539 char *name ;
3540 struct percpu_counter bdi_stat[4U] ;
3541 unsigned long bw_time_stamp ;
3542 unsigned long dirtied_stamp ;
3543 unsigned long written_stamp ;
3544 unsigned long write_bandwidth ;
3545 unsigned long avg_write_bandwidth ;
3546 unsigned long dirty_ratelimit ;
3547 unsigned long balanced_dirty_ratelimit ;
3548 struct prop_local_percpu completions ;
3549 int dirty_exceeded ;
3550 unsigned int min_ratio ;
3551 unsigned int max_ratio ;
3552 unsigned int max_prop_frac ;
3553 struct bdi_writeback wb ;
3554 spinlock_t wb_lock ;
3555 struct list_head work_list ;
3556 struct device *dev ;
3557 struct timer_list laptop_mode_wb_timer ;
3558 struct dentry *debug_dir ;
3559 struct dentry *debug_stats ;
3560};
3561#line 11 "include/linux/mempool.h"
3562typedef void *mempool_alloc_t(gfp_t , void * );
3563#line 12 "include/linux/mempool.h"
3564typedef void mempool_free_t(void * , void * );
3565#line 13 "include/linux/mempool.h"
3566struct mempool_s {
3567 spinlock_t lock ;
3568 int min_nr ;
3569 int curr_nr ;
3570 void **elements ;
3571 void *pool_data ;
3572 mempool_alloc_t *alloc ;
3573 mempool_free_t *free ;
3574 wait_queue_head_t wait ;
3575};
3576#line 24 "include/linux/mempool.h"
3577typedef struct mempool_s mempool_t;
3578#line 79 "include/linux/mempool.h"
3579union __anonunion_ldv_26913_173 {
3580 struct list_head q_node ;
3581 struct kmem_cache *__rcu_icq_cache ;
3582};
3583#line 79 "include/linux/mempool.h"
3584union __anonunion_ldv_26917_174 {
3585 struct hlist_node ioc_node ;
3586 struct rcu_head __rcu_head ;
3587};
3588#line 79 "include/linux/mempool.h"
3589struct io_cq {
3590 struct request_queue *q ;
3591 struct io_context *ioc ;
3592 union __anonunion_ldv_26913_173 ldv_26913 ;
3593 union __anonunion_ldv_26917_174 ldv_26917 ;
3594 unsigned int flags ;
3595};
3596#line 96 "include/linux/iocontext.h"
3597struct io_context {
3598 atomic_long_t refcount ;
3599 atomic_t nr_tasks ;
3600 spinlock_t lock ;
3601 unsigned short ioprio ;
3602 int nr_batch_requests ;
3603 unsigned long last_waited ;
3604 struct radix_tree_root icq_tree ;
3605 struct io_cq *icq_hint ;
3606 struct hlist_head icq_list ;
3607 struct work_struct release_work ;
3608};
3609#line 91 "include/linux/bio.h"
3610struct bio_integrity_payload {
3611 struct bio *bip_bio ;
3612 sector_t bip_sector ;
3613 void *bip_buf ;
3614 bio_end_io_t *bip_end_io ;
3615 unsigned int bip_size ;
3616 unsigned short bip_slab ;
3617 unsigned short bip_vcnt ;
3618 unsigned short bip_idx ;
3619 struct work_struct bip_work ;
3620 struct bio_vec bip_vec[0U] ;
3621};
3622#line 366 "include/linux/bio.h"
3623struct bio_list {
3624 struct bio *head ;
3625 struct bio *tail ;
3626};
3627#line 63 "include/linux/bsg.h"
3628struct bsg_class_device {
3629 struct device *class_dev ;
3630 struct device *parent ;
3631 int minor ;
3632 struct request_queue *queue ;
3633 struct kref ref ;
3634 void (*release)(struct device * ) ;
3635};
3636#line 81
3637struct elevator_queue;
3638#line 81
3639struct elevator_queue;
3640#line 84
3641struct request;
3642#line 84
3643struct request;
3644#line 86
3645struct bsg_job;
3646#line 86
3647struct bsg_job;
3648#line 40 "include/linux/blkdev.h"
3649typedef void rq_end_io_fn(struct request * , int );
3650#line 41 "include/linux/blkdev.h"
3651struct request_list {
3652 int count[2U] ;
3653 int starved[2U] ;
3654 int elvpriv ;
3655 mempool_t *rq_pool ;
3656 wait_queue_head_t wait[2U] ;
3657};
3658#line 53
3659enum rq_cmd_type_bits {
3660 REQ_TYPE_FS = 1,
3661 REQ_TYPE_BLOCK_PC = 2,
3662 REQ_TYPE_SENSE = 3,
3663 REQ_TYPE_PM_SUSPEND = 4,
3664 REQ_TYPE_PM_RESUME = 5,
3665 REQ_TYPE_PM_SHUTDOWN = 6,
3666 REQ_TYPE_SPECIAL = 7,
3667 REQ_TYPE_ATA_TASKFILE = 8,
3668 REQ_TYPE_ATA_PC = 9
3669} ;
3670#line 65 "include/linux/blkdev.h"
3671union __anonunion_ldv_27340_175 {
3672 struct rb_node rb_node ;
3673 void *completion_data ;
3674};
3675#line 65 "include/linux/blkdev.h"
3676struct __anonstruct_elv_177 {
3677 struct io_cq *icq ;
3678 void *priv[2U] ;
3679};
3680#line 65 "include/linux/blkdev.h"
3681struct __anonstruct_flush_178 {
3682 unsigned int seq ;
3683 struct list_head list ;
3684 rq_end_io_fn *saved_end_io ;
3685};
3686#line 65 "include/linux/blkdev.h"
3687union __anonunion_ldv_27351_176 {
3688 struct __anonstruct_elv_177 elv ;
3689 struct __anonstruct_flush_178 flush ;
3690};
3691#line 65 "include/linux/blkdev.h"
3692struct request {
3693 struct list_head queuelist ;
3694 struct call_single_data csd ;
3695 struct request_queue *q ;
3696 unsigned int cmd_flags ;
3697 enum rq_cmd_type_bits cmd_type ;
3698 unsigned long atomic_flags ;
3699 int cpu ;
3700 unsigned int __data_len ;
3701 sector_t __sector ;
3702 struct bio *bio ;
3703 struct bio *biotail ;
3704 struct hlist_node hash ;
3705 union __anonunion_ldv_27340_175 ldv_27340 ;
3706 union __anonunion_ldv_27351_176 ldv_27351 ;
3707 struct gendisk *rq_disk ;
3708 struct hd_struct *part ;
3709 unsigned long start_time ;
3710 unsigned short nr_phys_segments ;
3711 unsigned short nr_integrity_segments ;
3712 unsigned short ioprio ;
3713 int ref_count ;
3714 void *special ;
3715 char *buffer ;
3716 int tag ;
3717 int errors ;
3718 unsigned char __cmd[16U] ;
3719 unsigned char *cmd ;
3720 unsigned short cmd_len ;
3721 unsigned int extra_len ;
3722 unsigned int sense_len ;
3723 unsigned int resid_len ;
3724 void *sense ;
3725 unsigned long deadline ;
3726 struct list_head timeout_list ;
3727 unsigned int timeout ;
3728 int retries ;
3729 rq_end_io_fn *end_io ;
3730 void *end_io_data ;
3731 struct request *next_rq ;
3732};
3733#line 10 "include/linux/elevator.h"
3734typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
3735#line 13 "include/linux/elevator.h"
3736typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
3737#line 15 "include/linux/elevator.h"
3738typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
3739#line 17 "include/linux/elevator.h"
3740typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
3741#line 19 "include/linux/elevator.h"
3742typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
3743#line 22 "include/linux/elevator.h"
3744typedef int elevator_dispatch_fn(struct request_queue * , int );
3745#line 24 "include/linux/elevator.h"
3746typedef void elevator_add_req_fn(struct request_queue * , struct request * );
3747#line 25 "include/linux/elevator.h"
3748typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
3749#line 26 "include/linux/elevator.h"
3750typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
3751#line 27 "include/linux/elevator.h"
3752typedef int elevator_may_queue_fn(struct request_queue * , int );
3753#line 29 "include/linux/elevator.h"
3754typedef void elevator_init_icq_fn(struct io_cq * );
3755#line 30 "include/linux/elevator.h"
3756typedef void elevator_exit_icq_fn(struct io_cq * );
3757#line 31 "include/linux/elevator.h"
3758typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
3759#line 32 "include/linux/elevator.h"
3760typedef void elevator_put_req_fn(struct request * );
3761#line 33 "include/linux/elevator.h"
3762typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
3763#line 34 "include/linux/elevator.h"
3764typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
3765#line 36 "include/linux/elevator.h"
3766typedef void *elevator_init_fn(struct request_queue * );
3767#line 37 "include/linux/elevator.h"
3768typedef void elevator_exit_fn(struct elevator_queue * );
3769#line 38 "include/linux/elevator.h"
3770struct elevator_ops {
3771 elevator_merge_fn *elevator_merge_fn ;
3772 elevator_merged_fn *elevator_merged_fn ;
3773 elevator_merge_req_fn *elevator_merge_req_fn ;
3774 elevator_allow_merge_fn *elevator_allow_merge_fn ;
3775 elevator_bio_merged_fn *elevator_bio_merged_fn ;
3776 elevator_dispatch_fn *elevator_dispatch_fn ;
3777 elevator_add_req_fn *elevator_add_req_fn ;
3778 elevator_activate_req_fn *elevator_activate_req_fn ;
3779 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
3780 elevator_completed_req_fn *elevator_completed_req_fn ;
3781 elevator_request_list_fn *elevator_former_req_fn ;
3782 elevator_request_list_fn *elevator_latter_req_fn ;
3783 elevator_init_icq_fn *elevator_init_icq_fn ;
3784 elevator_exit_icq_fn *elevator_exit_icq_fn ;
3785 elevator_set_req_fn *elevator_set_req_fn ;
3786 elevator_put_req_fn *elevator_put_req_fn ;
3787 elevator_may_queue_fn *elevator_may_queue_fn ;
3788 elevator_init_fn *elevator_init_fn ;
3789 elevator_exit_fn *elevator_exit_fn ;
3790};
3791#line 68 "include/linux/elevator.h"
3792struct elv_fs_entry {
3793 struct attribute attr ;
3794 ssize_t (*show)(struct elevator_queue * , char * ) ;
3795 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
3796};
3797#line 76 "include/linux/elevator.h"
3798struct elevator_type {
3799 struct kmem_cache *icq_cache ;
3800 struct elevator_ops ops ;
3801 size_t icq_size ;
3802 size_t icq_align ;
3803 struct elv_fs_entry *elevator_attrs ;
3804 char elevator_name[16U] ;
3805 struct module *elevator_owner ;
3806 char icq_cache_name[21U] ;
3807 struct list_head list ;
3808};
3809#line 97 "include/linux/elevator.h"
3810struct elevator_queue {
3811 struct elevator_type *type ;
3812 void *elevator_data ;
3813 struct kobject kobj ;
3814 struct mutex sysfs_lock ;
3815 struct hlist_head *hash ;
3816 unsigned char registered : 1 ;
3817};
3818#line 202 "include/linux/blkdev.h"
3819typedef void request_fn_proc(struct request_queue * );
3820#line 203 "include/linux/blkdev.h"
3821typedef void make_request_fn(struct request_queue * , struct bio * );
3822#line 204 "include/linux/blkdev.h"
3823typedef int prep_rq_fn(struct request_queue * , struct request * );
3824#line 205 "include/linux/blkdev.h"
3825typedef void unprep_rq_fn(struct request_queue * , struct request * );
3826#line 206 "include/linux/blkdev.h"
3827struct bvec_merge_data {
3828 struct block_device *bi_bdev ;
3829 sector_t bi_sector ;
3830 unsigned int bi_size ;
3831 unsigned long bi_rw ;
3832};
3833#line 214 "include/linux/blkdev.h"
3834typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
3835#line 216 "include/linux/blkdev.h"
3836typedef void softirq_done_fn(struct request * );
3837#line 217 "include/linux/blkdev.h"
3838typedef int dma_drain_needed_fn(struct request * );
3839#line 218 "include/linux/blkdev.h"
3840typedef int lld_busy_fn(struct request_queue * );
3841#line 219 "include/linux/blkdev.h"
3842typedef int bsg_job_fn(struct bsg_job * );
3843#line 220
3844enum blk_eh_timer_return {
3845 BLK_EH_NOT_HANDLED = 0,
3846 BLK_EH_HANDLED = 1,
3847 BLK_EH_RESET_TIMER = 2
3848} ;
3849#line 227 "include/linux/blkdev.h"
3850typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
3851#line 233 "include/linux/blkdev.h"
3852struct blk_queue_tag {
3853 struct request **tag_index ;
3854 unsigned long *tag_map ;
3855 int busy ;
3856 int max_depth ;
3857 int real_max_depth ;
3858 atomic_t refcnt ;
3859};
3860#line 242 "include/linux/blkdev.h"
3861struct queue_limits {
3862 unsigned long bounce_pfn ;
3863 unsigned long seg_boundary_mask ;
3864 unsigned int max_hw_sectors ;
3865 unsigned int max_sectors ;
3866 unsigned int max_segment_size ;
3867 unsigned int physical_block_size ;
3868 unsigned int alignment_offset ;
3869 unsigned int io_min ;
3870 unsigned int io_opt ;
3871 unsigned int max_discard_sectors ;
3872 unsigned int discard_granularity ;
3873 unsigned int discard_alignment ;
3874 unsigned short logical_block_size ;
3875 unsigned short max_segments ;
3876 unsigned short max_integrity_segments ;
3877 unsigned char misaligned ;
3878 unsigned char discard_misaligned ;
3879 unsigned char cluster ;
3880 unsigned char discard_zeroes_data ;
3881};
3882#line 270 "include/linux/blkdev.h"
3883struct request_queue {
3884 struct list_head queue_head ;
3885 struct request *last_merge ;
3886 struct elevator_queue *elevator ;
3887 struct request_list rq ;
3888 request_fn_proc *request_fn ;
3889 make_request_fn *make_request_fn ;
3890 prep_rq_fn *prep_rq_fn ;
3891 unprep_rq_fn *unprep_rq_fn ;
3892 merge_bvec_fn *merge_bvec_fn ;
3893 softirq_done_fn *softirq_done_fn ;
3894 rq_timed_out_fn *rq_timed_out_fn ;
3895 dma_drain_needed_fn *dma_drain_needed ;
3896 lld_busy_fn *lld_busy_fn ;
3897 sector_t end_sector ;
3898 struct request *boundary_rq ;
3899 struct delayed_work delay_work ;
3900 struct backing_dev_info backing_dev_info ;
3901 void *queuedata ;
3902 unsigned long queue_flags ;
3903 int id ;
3904 gfp_t bounce_gfp ;
3905 spinlock_t __queue_lock ;
3906 spinlock_t *queue_lock ;
3907 struct kobject kobj ;
3908 unsigned long nr_requests ;
3909 unsigned int nr_congestion_on ;
3910 unsigned int nr_congestion_off ;
3911 unsigned int nr_batching ;
3912 unsigned int dma_drain_size ;
3913 void *dma_drain_buffer ;
3914 unsigned int dma_pad_mask ;
3915 unsigned int dma_alignment ;
3916 struct blk_queue_tag *queue_tags ;
3917 struct list_head tag_busy_list ;
3918 unsigned int nr_sorted ;
3919 unsigned int in_flight[2U] ;
3920 unsigned int rq_timeout ;
3921 struct timer_list timeout ;
3922 struct list_head timeout_list ;
3923 struct list_head icq_list ;
3924 struct queue_limits limits ;
3925 unsigned int sg_timeout ;
3926 unsigned int sg_reserved_size ;
3927 int node ;
3928 unsigned int flush_flags ;
3929 unsigned char flush_not_queueable : 1 ;
3930 unsigned char flush_queue_delayed : 1 ;
3931 unsigned char flush_pending_idx : 1 ;
3932 unsigned char flush_running_idx : 1 ;
3933 unsigned long flush_pending_since ;
3934 struct list_head flush_queue[2U] ;
3935 struct list_head flush_data_in_flight ;
3936 struct request flush_rq ;
3937 struct mutex sysfs_lock ;
3938 bsg_job_fn *bsg_job_fn ;
3939 int bsg_job_size ;
3940 struct bsg_class_device bsg_dev ;
3941};
3942#line 876 "include/linux/blkdev.h"
3943struct blk_plug {
3944 unsigned long magic ;
3945 struct list_head list ;
3946 struct list_head cb_list ;
3947 unsigned int should_sort ;
3948};
3949#line 1208 "include/linux/blkdev.h"
3950struct blk_integrity_exchg {
3951 void *prot_buf ;
3952 void *data_buf ;
3953 sector_t sector ;
3954 unsigned int data_size ;
3955 unsigned short sector_size ;
3956 char const *disk_name ;
3957};
3958#line 1229 "include/linux/blkdev.h"
3959typedef void integrity_gen_fn(struct blk_integrity_exchg * );
3960#line 1230 "include/linux/blkdev.h"
3961typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
3962#line 1231 "include/linux/blkdev.h"
3963typedef void integrity_set_tag_fn(void * , void * , unsigned int );
3964#line 1232 "include/linux/blkdev.h"
3965typedef void integrity_get_tag_fn(void * , void * , unsigned int );
3966#line 1233 "include/linux/blkdev.h"
3967struct blk_integrity {
3968 integrity_gen_fn *generate_fn ;
3969 integrity_vrfy_fn *verify_fn ;
3970 integrity_set_tag_fn *set_tag_fn ;
3971 integrity_get_tag_fn *get_tag_fn ;
3972 unsigned short flags ;
3973 unsigned short tuple_size ;
3974 unsigned short sector_size ;
3975 unsigned short tag_size ;
3976 char const *name ;
3977 struct kobject kobj ;
3978};
3979#line 1292 "include/linux/blkdev.h"
3980struct block_device_operations {
3981 int (*open)(struct block_device * , fmode_t ) ;
3982 int (*release)(struct gendisk * , fmode_t ) ;
3983 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
3984 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
3985 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
3986 unsigned int (*check_events)(struct gendisk * , unsigned int ) ;
3987 int (*media_changed)(struct gendisk * ) ;
3988 void (*unlock_native_capacity)(struct gendisk * ) ;
3989 int (*revalidate_disk)(struct gendisk * ) ;
3990 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
3991 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
3992 struct module *owner ;
3993};
3994#line 1382
3995struct Scsi_Host;
3996#line 1382
3997struct Scsi_Host;
3998#line 1383
3999struct scsi_device;
4000#line 1383
4001struct scsi_device;
4002#line 1385 "include/linux/blkdev.h"
4003struct scsi_data_buffer {
4004 struct sg_table table ;
4005 unsigned int length ;
4006 int resid ;
4007};
4008#line 37 "include/scsi/scsi_cmnd.h"
4009struct scsi_pointer {
4010 char *ptr ;
4011 int this_residual ;
4012 struct scatterlist *buffer ;
4013 int buffers_residual ;
4014 dma_addr_t dma_handle ;
4015 int volatile Status ;
4016 int volatile Message ;
4017 int volatile have_data_in ;
4018 int volatile sent_command ;
4019 int volatile phase ;
4020};
4021#line 53 "include/scsi/scsi_cmnd.h"
4022struct scsi_cmnd {
4023 struct scsi_device *device ;
4024 struct list_head list ;
4025 struct list_head eh_entry ;
4026 int eh_eflags ;
4027 unsigned long serial_number ;
4028 unsigned long jiffies_at_alloc ;
4029 int retries ;
4030 int allowed ;
4031 unsigned char prot_op ;
4032 unsigned char prot_type ;
4033 unsigned short cmd_len ;
4034 enum dma_data_direction sc_data_direction ;
4035 unsigned char *cmnd ;
4036 struct scsi_data_buffer sdb ;
4037 struct scsi_data_buffer *prot_sdb ;
4038 unsigned int underflow ;
4039 unsigned int transfersize ;
4040 struct request *request ;
4041 unsigned char *sense_buffer ;
4042 void (*scsi_done)(struct scsi_cmnd * ) ;
4043 struct scsi_pointer SCp ;
4044 unsigned char *host_scribble ;
4045 int result ;
4046 unsigned char tag ;
4047};
4048#line 313
4049struct scsi_sense_hdr;
4050#line 313
4051struct scsi_sense_hdr;
4052#line 25 "include/scsi/scsi_device.h"
4053enum scsi_device_state {
4054 SDEV_CREATED = 1,
4055 SDEV_RUNNING = 2,
4056 SDEV_CANCEL = 3,
4057 SDEV_DEL = 4,
4058 SDEV_QUIESCE = 5,
4059 SDEV_OFFLINE = 6,
4060 SDEV_BLOCK = 7,
4061 SDEV_CREATED_BLOCK = 8
4062} ;
4063#line 63
4064struct scsi_target;
4065#line 63
4066struct scsi_dh_data;
4067#line 63 "include/scsi/scsi_device.h"
4068struct scsi_device {
4069 struct Scsi_Host *host ;
4070 struct request_queue *request_queue ;
4071 struct list_head siblings ;
4072 struct list_head same_target_siblings ;
4073 unsigned int device_busy ;
4074 spinlock_t list_lock ;
4075 struct list_head cmd_list ;
4076 struct list_head starved_entry ;
4077 struct scsi_cmnd *current_cmnd ;
4078 unsigned short queue_depth ;
4079 unsigned short max_queue_depth ;
4080 unsigned short last_queue_full_depth ;
4081 unsigned short last_queue_full_count ;
4082 unsigned long last_queue_full_time ;
4083 unsigned long queue_ramp_up_period ;
4084 unsigned long last_queue_ramp_up ;
4085 unsigned int id ;
4086 unsigned int lun ;
4087 unsigned int channel ;
4088 unsigned int manufacturer ;
4089 unsigned int sector_size ;
4090 void *hostdata ;
4091 char type ;
4092 char scsi_level ;
4093 char inq_periph_qual ;
4094 unsigned char inquiry_len ;
4095 unsigned char *inquiry ;
4096 char const *vendor ;
4097 char const *model ;
4098 char const *rev ;
4099 unsigned char current_tag ;
4100 struct scsi_target *sdev_target ;
4101 unsigned int sdev_bflags ;
4102 unsigned char writeable : 1 ;
4103 unsigned char removable : 1 ;
4104 unsigned char changed : 1 ;
4105 unsigned char busy : 1 ;
4106 unsigned char lockable : 1 ;
4107 unsigned char locked : 1 ;
4108 unsigned char borken : 1 ;
4109 unsigned char disconnect : 1 ;
4110 unsigned char soft_reset : 1 ;
4111 unsigned char sdtr : 1 ;
4112 unsigned char wdtr : 1 ;
4113 unsigned char ppr : 1 ;
4114 unsigned char tagged_supported : 1 ;
4115 unsigned char simple_tags : 1 ;
4116 unsigned char ordered_tags : 1 ;
4117 unsigned char was_reset : 1 ;
4118 unsigned char expecting_cc_ua : 1 ;
4119 unsigned char use_10_for_rw : 1 ;
4120 unsigned char use_10_for_ms : 1 ;
4121 unsigned char skip_ms_page_8 : 1 ;
4122 unsigned char skip_ms_page_3f : 1 ;
4123 unsigned char skip_vpd_pages : 1 ;
4124 unsigned char use_192_bytes_for_3f : 1 ;
4125 unsigned char no_start_on_add : 1 ;
4126 unsigned char allow_restart : 1 ;
4127 unsigned char manage_start_stop : 1 ;
4128 unsigned char start_stop_pwr_cond : 1 ;
4129 unsigned char no_uld_attach : 1 ;
4130 unsigned char select_no_atn : 1 ;
4131 unsigned char fix_capacity : 1 ;
4132 unsigned char guess_capacity : 1 ;
4133 unsigned char retry_hwerror : 1 ;
4134 unsigned char last_sector_bug : 1 ;
4135 unsigned char no_read_disc_info : 1 ;
4136 unsigned char no_read_capacity_16 : 1 ;
4137 unsigned char is_visible : 1 ;
4138 unsigned long supported_events[1U] ;
4139 struct list_head event_list ;
4140 struct work_struct event_work ;
4141 unsigned int device_blocked ;
4142 unsigned int max_device_blocked ;
4143 atomic_t iorequest_cnt ;
4144 atomic_t iodone_cnt ;
4145 atomic_t ioerr_cnt ;
4146 struct device sdev_gendev ;
4147 struct device sdev_dev ;
4148 struct execute_work ew ;
4149 struct work_struct requeue_work ;
4150 struct scsi_dh_data *scsi_dh_data ;
4151 enum scsi_device_state sdev_state ;
4152 unsigned long sdev_data[0U] ;
4153};
4154#line 179 "include/scsi/scsi_device.h"
4155struct scsi_dh_devlist {
4156 char *vendor ;
4157 char *model ;
4158};
4159#line 186 "include/scsi/scsi_device.h"
4160struct scsi_device_handler {
4161 struct list_head list ;
4162 struct module *module ;
4163 char const *name ;
4164 struct scsi_dh_devlist const *devlist ;
4165 int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
4166 int (*attach)(struct scsi_device * ) ;
4167 void (*detach)(struct scsi_device * ) ;
4168 int (*activate)(struct scsi_device * , void (*)(void * , int ) , void * ) ;
4169 int (*prep_fn)(struct scsi_device * , struct request * ) ;
4170 int (*set_params)(struct scsi_device * , char const * ) ;
4171 bool (*match)(struct scsi_device * ) ;
4172};
4173#line 202 "include/scsi/scsi_device.h"
4174struct scsi_dh_data {
4175 struct scsi_device_handler *scsi_dh ;
4176 struct scsi_device *sdev ;
4177 struct kref kref ;
4178 char buf[0U] ;
4179};
4180#line 209
4181enum scsi_target_state {
4182 STARGET_CREATED = 1,
4183 STARGET_RUNNING = 2,
4184 STARGET_DEL = 3
4185} ;
4186#line 215 "include/scsi/scsi_device.h"
4187struct scsi_target {
4188 struct scsi_device *starget_sdev_user ;
4189 struct list_head siblings ;
4190 struct list_head devices ;
4191 struct device dev ;
4192 unsigned int reap_ref ;
4193 unsigned int channel ;
4194 unsigned int id ;
4195 unsigned char create : 1 ;
4196 unsigned char single_lun : 1 ;
4197 unsigned char pdt_1f_for_no_lun : 1 ;
4198 unsigned char no_report_luns : 1 ;
4199 unsigned int target_busy ;
4200 unsigned int can_queue ;
4201 unsigned int target_blocked ;
4202 unsigned int max_target_blocked ;
4203 char scsi_level ;
4204 struct execute_work ew ;
4205 enum scsi_target_state state ;
4206 void *hostdata ;
4207 unsigned long starget_data[0U] ;
4208};
4209#line 12 "include/linux/mod_devicetable.h"
4210typedef unsigned long kernel_ulong_t;
4211#line 38 "include/linux/mod_devicetable.h"
4212struct usb_device_id {
4213 __u16 match_flags ;
4214 __u16 idVendor ;
4215 __u16 idProduct ;
4216 __u16 bcdDevice_lo ;
4217 __u16 bcdDevice_hi ;
4218 __u8 bDeviceClass ;
4219 __u8 bDeviceSubClass ;
4220 __u8 bDeviceProtocol ;
4221 __u8 bInterfaceClass ;
4222 __u8 bInterfaceSubClass ;
4223 __u8 bInterfaceProtocol ;
4224 kernel_ulong_t driver_info ;
4225};
4226#line 215 "include/linux/mod_devicetable.h"
4227struct of_device_id {
4228 char name[32U] ;
4229 char type[32U] ;
4230 char compatible[128U] ;
4231 void *data ;
4232};
4233#line 584 "include/linux/mod_devicetable.h"
4234struct usb_ctrlrequest {
4235 __u8 bRequestType ;
4236 __u8 bRequest ;
4237 __le16 wValue ;
4238 __le16 wIndex ;
4239 __le16 wLength ;
4240};
4241#line 245 "include/linux/usb/ch9.h"
4242struct usb_device_descriptor {
4243 __u8 bLength ;
4244 __u8 bDescriptorType ;
4245 __le16 bcdUSB ;
4246 __u8 bDeviceClass ;
4247 __u8 bDeviceSubClass ;
4248 __u8 bDeviceProtocol ;
4249 __u8 bMaxPacketSize0 ;
4250 __le16 idVendor ;
4251 __le16 idProduct ;
4252 __le16 bcdDevice ;
4253 __u8 iManufacturer ;
4254 __u8 iProduct ;
4255 __u8 iSerialNumber ;
4256 __u8 bNumConfigurations ;
4257};
4258#line 267 "include/linux/usb/ch9.h"
4259struct usb_config_descriptor {
4260 __u8 bLength ;
4261 __u8 bDescriptorType ;
4262 __le16 wTotalLength ;
4263 __u8 bNumInterfaces ;
4264 __u8 bConfigurationValue ;
4265 __u8 iConfiguration ;
4266 __u8 bmAttributes ;
4267 __u8 bMaxPower ;
4268};
4269#line 335 "include/linux/usb/ch9.h"
4270struct usb_interface_descriptor {
4271 __u8 bLength ;
4272 __u8 bDescriptorType ;
4273 __u8 bInterfaceNumber ;
4274 __u8 bAlternateSetting ;
4275 __u8 bNumEndpoints ;
4276 __u8 bInterfaceClass ;
4277 __u8 bInterfaceSubClass ;
4278 __u8 bInterfaceProtocol ;
4279 __u8 iInterface ;
4280};
4281#line 355 "include/linux/usb/ch9.h"
4282struct usb_endpoint_descriptor {
4283 __u8 bLength ;
4284 __u8 bDescriptorType ;
4285 __u8 bEndpointAddress ;
4286 __u8 bmAttributes ;
4287 __le16 wMaxPacketSize ;
4288 __u8 bInterval ;
4289 __u8 bRefresh ;
4290 __u8 bSynchAddress ;
4291};
4292#line 594 "include/linux/usb/ch9.h"
4293struct usb_ss_ep_comp_descriptor {
4294 __u8 bLength ;
4295 __u8 bDescriptorType ;
4296 __u8 bMaxBurst ;
4297 __u8 bmAttributes ;
4298 __le16 wBytesPerInterval ;
4299};
4300#line 673 "include/linux/usb/ch9.h"
4301struct usb_interface_assoc_descriptor {
4302 __u8 bLength ;
4303 __u8 bDescriptorType ;
4304 __u8 bFirstInterface ;
4305 __u8 bInterfaceCount ;
4306 __u8 bFunctionClass ;
4307 __u8 bFunctionSubClass ;
4308 __u8 bFunctionProtocol ;
4309 __u8 iFunction ;
4310};
4311#line 732 "include/linux/usb/ch9.h"
4312struct usb_bos_descriptor {
4313 __u8 bLength ;
4314 __u8 bDescriptorType ;
4315 __le16 wTotalLength ;
4316 __u8 bNumDeviceCaps ;
4317};
4318#line 782 "include/linux/usb/ch9.h"
4319struct usb_ext_cap_descriptor {
4320 __u8 bLength ;
4321 __u8 bDescriptorType ;
4322 __u8 bDevCapabilityType ;
4323 __le32 bmAttributes ;
4324};
4325#line 792 "include/linux/usb/ch9.h"
4326struct usb_ss_cap_descriptor {
4327 __u8 bLength ;
4328 __u8 bDescriptorType ;
4329 __u8 bDevCapabilityType ;
4330 __u8 bmAttributes ;
4331 __le16 wSpeedSupported ;
4332 __u8 bFunctionalitySupport ;
4333 __u8 bU1devExitLat ;
4334 __le16 bU2DevExitLat ;
4335};
4336#line 821 "include/linux/usb/ch9.h"
4337struct usb_ss_container_id_descriptor {
4338 __u8 bLength ;
4339 __u8 bDescriptorType ;
4340 __u8 bDevCapabilityType ;
4341 __u8 bReserved ;
4342 __u8 ContainerID[16U] ;
4343};
4344#line 886
4345enum usb_device_speed {
4346 USB_SPEED_UNKNOWN = 0,
4347 USB_SPEED_LOW = 1,
4348 USB_SPEED_FULL = 2,
4349 USB_SPEED_HIGH = 3,
4350 USB_SPEED_WIRELESS = 4,
4351 USB_SPEED_SUPER = 5
4352} ;
4353#line 908
4354enum usb_device_state {
4355 USB_STATE_NOTATTACHED = 0,
4356 USB_STATE_ATTACHED = 1,
4357 USB_STATE_POWERED = 2,
4358 USB_STATE_RECONNECTING = 3,
4359 USB_STATE_UNAUTHENTICATED = 4,
4360 USB_STATE_DEFAULT = 5,
4361 USB_STATE_ADDRESS = 6,
4362 USB_STATE_CONFIGURED = 7,
4363 USB_STATE_SUSPENDED = 8
4364} ;
4365#line 253 "include/linux/pm_runtime.h"
4366struct usb_device;
4367#line 253
4368struct usb_device;
4369#line 255
4370struct wusb_dev;
4371#line 255
4372struct wusb_dev;
4373#line 256
4374struct ep_device;
4375#line 256
4376struct ep_device;
4377#line 257 "include/linux/pm_runtime.h"
4378struct usb_host_endpoint {
4379 struct usb_endpoint_descriptor desc ;
4380 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4381 struct list_head urb_list ;
4382 void *hcpriv ;
4383 struct ep_device *ep_dev ;
4384 unsigned char *extra ;
4385 int extralen ;
4386 int enabled ;
4387};
4388#line 75 "include/linux/usb.h"
4389struct usb_host_interface {
4390 struct usb_interface_descriptor desc ;
4391 struct usb_host_endpoint *endpoint ;
4392 char *string ;
4393 unsigned char *extra ;
4394 int extralen ;
4395};
4396#line 89
4397enum usb_interface_condition {
4398 USB_INTERFACE_UNBOUND = 0,
4399 USB_INTERFACE_BINDING = 1,
4400 USB_INTERFACE_BOUND = 2,
4401 USB_INTERFACE_UNBINDING = 3
4402} ;
4403#line 96 "include/linux/usb.h"
4404struct usb_interface {
4405 struct usb_host_interface *altsetting ;
4406 struct usb_host_interface *cur_altsetting ;
4407 unsigned int num_altsetting ;
4408 struct usb_interface_assoc_descriptor *intf_assoc ;
4409 int minor ;
4410 enum usb_interface_condition condition ;
4411 unsigned char sysfs_files_created : 1 ;
4412 unsigned char ep_devs_created : 1 ;
4413 unsigned char unregistering : 1 ;
4414 unsigned char needs_remote_wakeup : 1 ;
4415 unsigned char needs_altsetting0 : 1 ;
4416 unsigned char needs_binding : 1 ;
4417 unsigned char reset_running : 1 ;
4418 unsigned char resetting_device : 1 ;
4419 struct device dev ;
4420 struct device *usb_dev ;
4421 atomic_t pm_usage_cnt ;
4422 struct work_struct reset_ws ;
4423};
4424#line 203 "include/linux/usb.h"
4425struct usb_interface_cache {
4426 unsigned int num_altsetting ;
4427 struct kref ref ;
4428 struct usb_host_interface altsetting[0U] ;
4429};
4430#line 230 "include/linux/usb.h"
4431struct usb_host_config {
4432 struct usb_config_descriptor desc ;
4433 char *string ;
4434 struct usb_interface_assoc_descriptor *intf_assoc[16U] ;
4435 struct usb_interface *interface[32U] ;
4436 struct usb_interface_cache *intf_cache[32U] ;
4437 unsigned char *extra ;
4438 int extralen ;
4439};
4440#line 294 "include/linux/usb.h"
4441struct usb_host_bos {
4442 struct usb_bos_descriptor *desc ;
4443 struct usb_ext_cap_descriptor *ext_cap ;
4444 struct usb_ss_cap_descriptor *ss_cap ;
4445 struct usb_ss_container_id_descriptor *ss_id ;
4446};
4447#line 306 "include/linux/usb.h"
4448struct usb_devmap {
4449 unsigned long devicemap[2U] ;
4450};
4451#line 318
4452struct mon_bus;
4453#line 318 "include/linux/usb.h"
4454struct usb_bus {
4455 struct device *controller ;
4456 int busnum ;
4457 char const *bus_name ;
4458 u8 uses_dma ;
4459 u8 uses_pio_for_control ;
4460 u8 otg_port ;
4461 unsigned char is_b_host : 1 ;
4462 unsigned char b_hnp_enable : 1 ;
4463 unsigned int sg_tablesize ;
4464 int devnum_next ;
4465 struct usb_devmap devmap ;
4466 struct usb_device *root_hub ;
4467 struct usb_bus *hs_companion ;
4468 struct list_head bus_list ;
4469 int bandwidth_allocated ;
4470 int bandwidth_int_reqs ;
4471 int bandwidth_isoc_reqs ;
4472 struct dentry *usbfs_dentry ;
4473 struct mon_bus *mon_bus ;
4474 int monitored ;
4475};
4476#line 362
4477struct usb_tt;
4478#line 362
4479struct usb_tt;
4480#line 363
4481enum usb_device_removable {
4482 USB_DEVICE_REMOVABLE_UNKNOWN = 0,
4483 USB_DEVICE_REMOVABLE = 1,
4484 USB_DEVICE_FIXED = 2
4485} ;
4486#line 369 "include/linux/usb.h"
4487struct usb_device {
4488 int devnum ;
4489 char devpath[16U] ;
4490 u32 route ;
4491 enum usb_device_state state ;
4492 enum usb_device_speed speed ;
4493 struct usb_tt *tt ;
4494 int ttport ;
4495 unsigned int toggle[2U] ;
4496 struct usb_device *parent ;
4497 struct usb_bus *bus ;
4498 struct usb_host_endpoint ep0 ;
4499 struct device dev ;
4500 struct usb_device_descriptor descriptor ;
4501 struct usb_host_bos *bos ;
4502 struct usb_host_config *config ;
4503 struct usb_host_config *actconfig ;
4504 struct usb_host_endpoint *ep_in[16U] ;
4505 struct usb_host_endpoint *ep_out[16U] ;
4506 char **rawdescriptors ;
4507 unsigned short bus_mA ;
4508 u8 portnum ;
4509 u8 level ;
4510 unsigned char can_submit : 1 ;
4511 unsigned char persist_enabled : 1 ;
4512 unsigned char have_langid : 1 ;
4513 unsigned char authorized : 1 ;
4514 unsigned char authenticated : 1 ;
4515 unsigned char wusb : 1 ;
4516 unsigned char lpm_capable : 1 ;
4517 unsigned char usb2_hw_lpm_capable : 1 ;
4518 unsigned char usb2_hw_lpm_enabled : 1 ;
4519 int string_langid ;
4520 char *product ;
4521 char *manufacturer ;
4522 char *serial ;
4523 struct list_head filelist ;
4524 struct device *usb_classdev ;
4525 struct dentry *usbfs_dentry ;
4526 int maxchild ;
4527 struct usb_device **children ;
4528 u32 quirks ;
4529 atomic_t urbnum ;
4530 unsigned long active_duration ;
4531 unsigned long connect_time ;
4532 unsigned char do_remote_wakeup : 1 ;
4533 unsigned char reset_resume : 1 ;
4534 struct wusb_dev *wusb_dev ;
4535 int slot_id ;
4536 enum usb_device_removable removable ;
4537};
4538#line 986 "include/linux/usb.h"
4539struct usb_iso_packet_descriptor {
4540 unsigned int offset ;
4541 unsigned int length ;
4542 unsigned int actual_length ;
4543 int status ;
4544};
4545#line 1028
4546struct urb;
4547#line 1028
4548struct urb;
4549#line 1029 "include/linux/usb.h"
4550struct usb_anchor {
4551 struct list_head urb_list ;
4552 wait_queue_head_t wait ;
4553 spinlock_t lock ;
4554 unsigned char poisoned : 1 ;
4555};
4556#line 1046 "include/linux/usb.h"
4557struct urb {
4558 struct kref kref ;
4559 void *hcpriv ;
4560 atomic_t use_count ;
4561 atomic_t reject ;
4562 int unlinked ;
4563 struct list_head urb_list ;
4564 struct list_head anchor_list ;
4565 struct usb_anchor *anchor ;
4566 struct usb_device *dev ;
4567 struct usb_host_endpoint *ep ;
4568 unsigned int pipe ;
4569 unsigned int stream_id ;
4570 int status ;
4571 unsigned int transfer_flags ;
4572 void *transfer_buffer ;
4573 dma_addr_t transfer_dma ;
4574 struct scatterlist *sg ;
4575 int num_mapped_sgs ;
4576 int num_sgs ;
4577 u32 transfer_buffer_length ;
4578 u32 actual_length ;
4579 unsigned char *setup_packet ;
4580 dma_addr_t setup_dma ;
4581 int start_frame ;
4582 int number_of_packets ;
4583 int interval ;
4584 int error_count ;
4585 void *context ;
4586 void (*complete)(struct urb * ) ;
4587 struct usb_iso_packet_descriptor iso_frame_desc[0U] ;
4588};
4589#line 1468 "include/linux/usb.h"
4590struct usb_sg_request {
4591 int status ;
4592 size_t bytes ;
4593 spinlock_t lock ;
4594 struct usb_device *dev ;
4595 int pipe ;
4596 int entries ;
4597 struct urb **urbs ;
4598 int count ;
4599 struct completion complete ;
4600};
4601#line 95 "include/linux/usb_usual.h"
4602struct scsi_host_cmd_pool;
4603#line 95
4604struct scsi_host_cmd_pool;
4605#line 96
4606struct scsi_transport_template;
4607#line 96
4608struct scsi_transport_template;
4609#line 104 "include/linux/usb_usual.h"
4610struct scsi_host_template {
4611 struct module *module ;
4612 char const *name ;
4613 int (*detect)(struct scsi_host_template * ) ;
4614 int (*release)(struct Scsi_Host * ) ;
4615 char const *(*info)(struct Scsi_Host * ) ;
4616 int (*ioctl)(struct scsi_device * , int , void * ) ;
4617 int (*compat_ioctl)(struct scsi_device * , int , void * ) ;
4618 int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
4619 int (*transfer_response)(struct scsi_cmnd * , void (*)(struct scsi_cmnd * ) ) ;
4620 int (*eh_abort_handler)(struct scsi_cmnd * ) ;
4621 int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
4622 int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
4623 int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
4624 int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
4625 int (*slave_alloc)(struct scsi_device * ) ;
4626 int (*slave_configure)(struct scsi_device * ) ;
4627 void (*slave_destroy)(struct scsi_device * ) ;
4628 int (*target_alloc)(struct scsi_target * ) ;
4629 void (*target_destroy)(struct scsi_target * ) ;
4630 int (*scan_finished)(struct Scsi_Host * , unsigned long ) ;
4631 void (*scan_start)(struct Scsi_Host * ) ;
4632 int (*change_queue_depth)(struct scsi_device * , int , int ) ;
4633 int (*change_queue_type)(struct scsi_device * , int ) ;
4634 int (*bios_param)(struct scsi_device * , struct block_device * , sector_t , int * ) ;
4635 void (*unlock_native_capacity)(struct scsi_device * ) ;
4636 int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t , int , int ) ;
4637 enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
4638 int (*host_reset)(struct Scsi_Host * , int ) ;
4639 char const *proc_name ;
4640 struct proc_dir_entry *proc_dir ;
4641 int can_queue ;
4642 int this_id ;
4643 unsigned short sg_tablesize ;
4644 unsigned short sg_prot_tablesize ;
4645 unsigned short max_sectors ;
4646 unsigned long dma_boundary ;
4647 short cmd_per_lun ;
4648 unsigned char present ;
4649 unsigned char supported_mode : 2 ;
4650 unsigned char unchecked_isa_dma : 1 ;
4651 unsigned char use_clustering : 1 ;
4652 unsigned char emulated : 1 ;
4653 unsigned char skip_settle_delay : 1 ;
4654 unsigned char ordered_tag : 1 ;
4655 unsigned int max_host_blocked ;
4656 struct device_attribute **shost_attrs ;
4657 struct device_attribute **sdev_attrs ;
4658 struct list_head legacy_hosts ;
4659 u64 vendor_id ;
4660};
4661#line 518 "include/scsi/scsi_host.h"
4662enum scsi_host_state {
4663 SHOST_CREATED = 1,
4664 SHOST_RUNNING = 2,
4665 SHOST_CANCEL = 3,
4666 SHOST_DEL = 4,
4667 SHOST_RECOVERY = 5,
4668 SHOST_CANCEL_RECOVERY = 6,
4669 SHOST_DEL_RECOVERY = 7
4670} ;
4671#line 528 "include/scsi/scsi_host.h"
4672struct Scsi_Host {
4673 struct list_head __devices ;
4674 struct list_head __targets ;
4675 struct scsi_host_cmd_pool *cmd_pool ;
4676 spinlock_t free_list_lock ;
4677 struct list_head free_list ;
4678 struct list_head starved_list ;
4679 spinlock_t default_lock ;
4680 spinlock_t *host_lock ;
4681 struct mutex scan_mutex ;
4682 struct list_head eh_cmd_q ;
4683 struct task_struct *ehandler ;
4684 struct completion *eh_action ;
4685 wait_queue_head_t host_wait ;
4686 struct scsi_host_template *hostt ;
4687 struct scsi_transport_template *transportt ;
4688 struct blk_queue_tag *bqt ;
4689 unsigned int host_busy ;
4690 unsigned int host_failed ;
4691 unsigned int host_eh_scheduled ;
4692 unsigned int host_no ;
4693 int resetting ;
4694 unsigned long last_reset ;
4695 unsigned int max_id ;
4696 unsigned int max_lun ;
4697 unsigned int max_channel ;
4698 unsigned int unique_id ;
4699 unsigned short max_cmd_len ;
4700 int this_id ;
4701 int can_queue ;
4702 short cmd_per_lun ;
4703 unsigned short sg_tablesize ;
4704 unsigned short sg_prot_tablesize ;
4705 unsigned short max_sectors ;
4706 unsigned long dma_boundary ;
4707 unsigned long cmd_serial_number ;
4708 unsigned char active_mode : 2 ;
4709 unsigned char unchecked_isa_dma : 1 ;
4710 unsigned char use_clustering : 1 ;
4711 unsigned char use_blk_tcq : 1 ;
4712 unsigned char host_self_blocked : 1 ;
4713 unsigned char reverse_ordering : 1 ;
4714 unsigned char ordered_tag : 1 ;
4715 unsigned char tmf_in_progress : 1 ;
4716 unsigned char async_scan : 1 ;
4717 unsigned char eh_noresume : 1 ;
4718 char work_q_name[20U] ;
4719 struct workqueue_struct *work_q ;
4720 unsigned int host_blocked ;
4721 unsigned int max_host_blocked ;
4722 unsigned int prot_capabilities ;
4723 unsigned char prot_guard_type ;
4724 struct request_queue *uspace_req_q ;
4725 unsigned long base ;
4726 unsigned long io_port ;
4727 unsigned char n_io_port ;
4728 unsigned char dma_channel ;
4729 unsigned int irq ;
4730 enum scsi_host_state shost_state ;
4731 struct device shost_gendev ;
4732 struct device shost_dev ;
4733 struct list_head sht_legacy_list ;
4734 void *shost_data ;
4735 struct device *dma_dev ;
4736 unsigned long hostdata[0U] ;
4737};
4738#line 920
4739struct us_data;
4740#line 920
4741struct us_data;
4742#line 921 "include/scsi/scsi_host.h"
4743struct us_unusual_dev {
4744 char const *vendorName ;
4745 char const *productName ;
4746 __u8 useProtocol ;
4747 __u8 useTransport ;
4748 int (*initFunction)(struct us_data * ) ;
4749};
4750#line 97 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4751struct us_data {
4752 struct mutex dev_mutex ;
4753 struct usb_device *pusb_dev ;
4754 struct usb_interface *pusb_intf ;
4755 struct us_unusual_dev *unusual_dev ;
4756 unsigned long fflags ;
4757 unsigned long dflags ;
4758 unsigned int send_bulk_pipe ;
4759 unsigned int recv_bulk_pipe ;
4760 unsigned int send_ctrl_pipe ;
4761 unsigned int recv_ctrl_pipe ;
4762 unsigned int recv_intr_pipe ;
4763 char *transport_name ;
4764 char *protocol_name ;
4765 __le32 bcs_signature ;
4766 u8 subclass ;
4767 u8 protocol ;
4768 u8 max_lun ;
4769 u8 ifnum ;
4770 u8 ep_bInterval ;
4771 int (*transport)(struct scsi_cmnd * , struct us_data * ) ;
4772 int (*transport_reset)(struct us_data * ) ;
4773 void (*proto_handler)(struct scsi_cmnd * , struct us_data * ) ;
4774 struct scsi_cmnd *srb ;
4775 unsigned int tag ;
4776 char scsi_name[32U] ;
4777 struct urb *current_urb ;
4778 struct usb_ctrlrequest *cr ;
4779 struct usb_sg_request current_sg ;
4780 unsigned char *iobuf ;
4781 dma_addr_t iobuf_dma ;
4782 struct task_struct *ctl_thread ;
4783 struct completion cmnd_ready ;
4784 struct completion notify ;
4785 wait_queue_head_t delay_wait ;
4786 struct delayed_work scan_dwork ;
4787 void *extra ;
4788 void (*extra_destructor)(void * ) ;
4789 void (*suspend_resume_hook)(struct us_data * , int ) ;
4790 int use_last_sector_hacks ;
4791 int last_sector_retries ;
4792};
4793#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/protocol.h"
4794enum xfer_buf_dir {
4795 TO_XFER_BUF = 0,
4796 FROM_XFER_BUF = 1
4797} ;
4798#line 52 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/unusual_sddr09.h"
4799struct nand_flash_dev {
4800 int model_id ;
4801 int chipshift ;
4802 char pageshift ;
4803 char blockshift ;
4804 char zoneshift ;
4805 char pageadrlen ;
4806};
4807#line 272 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4808struct sddr09_card_info {
4809 unsigned long capacity ;
4810 int pagesize ;
4811 int pageshift ;
4812 int blocksize ;
4813 int blockshift ;
4814 int blockmask ;
4815 int *lba_to_pba ;
4816 int *pba_to_lba ;
4817 int lbact ;
4818 int flags ;
4819};
4820#line 1 "<compiler builtins>"
4821
4822#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4823void ldv_spin_lock(void) ;
4824#line 3
4825void ldv_spin_unlock(void) ;
4826#line 4
4827int ldv_spin_trylock(void) ;
4828#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
4829__inline static __u32 __arch_swab32(__u32 val )
4830{
4831
4832 {
4833#line 21
4834 __asm__ ("bswapl %0": "=r" (val): "0" (val));
4835#line 25
4836 return (val);
4837}
4838}
4839#line 55 "include/linux/swab.h"
4840__inline static __u32 __fswab32(__u32 val )
4841{ __u32 tmp ;
4842
4843 {
4844 {
4845#line 58
4846 tmp = __arch_swab32(val);
4847 }
4848#line 58
4849 return (tmp);
4850}
4851}
4852#line 101 "include/linux/printk.h"
4853extern int printk(char const * , ...) ;
4854#line 320 "include/linux/kernel.h"
4855extern int sprintf(char * , char const * , ...) ;
4856#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
4857extern void *__memcpy(void * , void const * , size_t ) ;
4858#line 55
4859extern void *memset(void * , int , size_t ) ;
4860#line 61
4861extern size_t strlen(char const * ) ;
4862#line 161 "include/linux/slab.h"
4863extern void kfree(void const * ) ;
4864#line 220 "include/linux/slub_def.h"
4865extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
4866#line 223
4867void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
4868#line 225
4869extern void *__kmalloc(size_t , gfp_t ) ;
4870#line 268 "include/linux/slub_def.h"
4871__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags )
4872{ void *tmp___2 ;
4873
4874 {
4875 {
4876#line 283
4877 tmp___2 = __kmalloc(size, flags);
4878 }
4879#line 283
4880 return (tmp___2);
4881}
4882}
4883#line 268
4884__inline static void *kmalloc(size_t size , gfp_t flags ) ;
4885#line 353 "include/linux/slab.h"
4886__inline static void *kzalloc(size_t size , gfp_t flags ) ;
4887#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4888extern void *__VERIFIER_nondet_pointer(void) ;
4889#line 11
4890void ldv_check_alloc_flags(gfp_t flags ) ;
4891#line 12
4892void ldv_check_alloc_nonatomic(void) ;
4893#line 14
4894struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
4895#line 173 "include/scsi/scsi_cmnd.h"
4896__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd )
4897{ unsigned long __cil_tmp2 ;
4898 unsigned long __cil_tmp3 ;
4899 unsigned long __cil_tmp4 ;
4900
4901 {
4902 {
4903#line 175
4904 __cil_tmp2 = 88 + 16;
4905#line 175
4906 __cil_tmp3 = (unsigned long )cmd;
4907#line 175
4908 __cil_tmp4 = __cil_tmp3 + __cil_tmp2;
4909#line 175
4910 return (*((unsigned int *)__cil_tmp4));
4911 }
4912}
4913}
4914#line 1462 "include/linux/usb.h"
4915extern int usb_reset_configuration(struct usb_device * ) ;
4916#line 175 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4917extern void fill_inquiry_response(struct us_data * , unsigned char * , unsigned int ) ;
4918#line 197
4919extern int usb_stor_probe1(struct us_data ** , struct usb_interface * , struct usb_device_id const * ,
4920 struct us_unusual_dev * ) ;
4921#line 201
4922extern int usb_stor_probe2(struct us_data * ) ;
4923#line 77 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/transport.h"
4924extern int usb_stor_CB_transport(struct scsi_cmnd * , struct us_data * ) ;
4925#line 78
4926extern int usb_stor_CB_reset(struct us_data * ) ;
4927#line 92
4928extern int usb_stor_ctrl_transfer(struct us_data * , unsigned int , u8 , u8 , u16 ,
4929 u16 , void * , u16 ) ;
4930#line 95
4931extern int usb_stor_bulk_transfer_buf(struct us_data * , unsigned int , void * ,
4932 unsigned int , unsigned int * ) ;
4933#line 97
4934extern int usb_stor_bulk_transfer_sg(struct us_data * , unsigned int , void * , unsigned int ,
4935 int , int * ) ;
4936#line 99
4937extern int usb_stor_bulk_srb(struct us_data * , unsigned int , struct scsi_cmnd * ) ;
4938#line 51 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/protocol.h"
4939extern unsigned int usb_stor_access_xfer_buf(unsigned char * , unsigned int , struct scsi_cmnd * ,
4940 struct scatterlist ** , unsigned int * ,
4941 enum xfer_buf_dir ) ;
4942#line 55
4943extern void usb_stor_set_xfer_buf(unsigned char * , unsigned int , struct scsi_cmnd * ) ;
4944#line 75 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4945static int usb_stor_sddr09_dpcm_init(struct us_data *us ) ;
4946#line 76
4947static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
4948#line 77
4949static int usb_stor_sddr09_init(struct us_data *us ) ;
4950#line 89 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4951static struct usb_device_id sddr09_usb_ids[7U] = { {(__u16 )15U, (__u16 )1078U, (__u16 )5U, (__u16 )256U, (__u16 )256U, (unsigned char)0,
4952 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4953 16777216UL},
4954 {(__u16 )15U, (__u16 )1254U, (__u16 )3U, (__u16 )0U, (__u16 )39321U, (unsigned char)0,
4955 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4956 16777216UL},
4957 {(__u16 )15U, (__u16 )1254U, (__u16 )5U, (__u16 )256U, (__u16 )520U, (unsigned char)0,
4958 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4959 16777216UL},
4960 {(__u16 )15U, (__u16 )1643U, (__u16 )261U, (__u16 )256U, (__u16 )256U, (unsigned char)0,
4961 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4962 16777216UL},
4963 {(__u16 )15U, (__u16 )1921U, (__u16 )512U, (__u16 )0U, (__u16 )39321U, (unsigned char)0,
4964 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4965 16777216UL},
4966 {(__u16 )15U, (__u16 )1967U, (__u16 )6U, (__u16 )256U, (__u16 )256U, (unsigned char)0,
4967 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4968 16777216UL},
4969 {(unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0,
4970 (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4971 (unsigned char)0, (unsigned char)0, 0UL}};
4972#line 93 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4973struct usb_device_id const __mod_usb_device_table ;
4974#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4975static struct us_unusual_dev sddr09_unusual_dev_list[7U] = { {"Microtech", "CameraMate (DPCM_USB)", (__u8 )6U, (__u8 )240U, (int (*)(struct us_data * ))0},
4976 {"Sandisk",
4977 "ImageMate SDDR09", (__u8 )6U, (__u8 )129U, & usb_stor_sddr09_init},
4978 {"SCM Microsystems", "eUSB SmartMedia / CompactFlash Adapter", (__u8 )6U, (__u8 )240U,
4979 & usb_stor_sddr09_dpcm_init},
4980 {"Olympus", "Camedia MAUSB-2", (__u8 )6U, (__u8 )129U, & usb_stor_sddr09_init},
4981 {"Sandisk",
4982 "ImageMate SDDR-09", (__u8 )6U, (__u8 )129U, & usb_stor_sddr09_init},
4983 {"Microtech", "CameraMate (DPCM_USB)", (__u8 )6U, (__u8 )240U, (int (*)(struct us_data * ))0},
4984 {(char const *)0,
4985 (char const *)0, (unsigned char)0, (unsigned char)0, (int (*)(struct us_data * ))0}};
4986#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
4987__inline static char *nand_flash_manufacturer(int manuf_id )
4988{
4989
4990 {
4991#line 152
4992 if (manuf_id == 1) {
4993#line 152
4994 goto case_1;
4995 } else
4996#line 154
4997 if (manuf_id == 143) {
4998#line 154
4999 goto case_143;
5000 } else
5001#line 156
5002 if (manuf_id == 152) {
5003#line 156
5004 goto case_152;
5005 } else
5006#line 158
5007 if (manuf_id == 236) {
5008#line 158
5009 goto case_236;
5010 } else {
5011 {
5012#line 160
5013 goto switch_default;
5014#line 151
5015 if (0) {
5016 case_1: ;
5017#line 153
5018 return ((char *)"AMD");
5019 case_143: ;
5020#line 155
5021 return ((char *)"NATSEMI");
5022 case_152: ;
5023#line 157
5024 return ((char *)"Toshiba");
5025 case_236: ;
5026#line 159
5027 return ((char *)"Samsung");
5028 switch_default: ;
5029#line 161
5030 return ((char *)"unknown");
5031 } else {
5032 switch_break: ;
5033 }
5034 }
5035 }
5036}
5037}
5038#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5039static struct nand_flash_dev nand_flash_ids[19U] =
5040#line 172
5041 { {110, 20, (char)8, (char)4, (char)8, (char)2},
5042 {232, 20, (char)8, (char)4, (char)8, (char)2},
5043 {236, 20, (char)8, (char)4, (char)8, (char)2},
5044 {100, 21, (char)8, (char)4, (char)9, (char)2},
5045 {234, 21, (char)8, (char)4, (char)9, (char)2},
5046 {107, 22, (char)9, (char)4, (char)9, (char)2},
5047 {227, 22, (char)9, (char)4, (char)9, (char)2},
5048 {229, 22, (char)9, (char)4, (char)9, (char)2},
5049 {230, 23, (char)9, (char)4, (char)10, (char)2},
5050 {115, 24, (char)9, (char)5, (char)10, (char)2},
5051 {117, 25, (char)9, (char)5, (char)10, (char)2},
5052 {118, 26, (char)9, (char)5, (char)10, (char)3},
5053 {121, 27, (char)9, (char)5, (char)10, (char)3},
5054 {93, 21, (char)9, (char)4, (char)8, (char)2},
5055 {213, 22, (char)9, (char)4, (char)9, (char)2},
5056 {214, 23, (char)9, (char)4, (char)10, (char)2},
5057 {87, 24, (char)9, (char)4, (char)11, (char)2},
5058 {88, 25, (char)9, (char)4, (char)12, (char)2},
5059 {0, 0, (char)0, (char)0, (char)0, (char)0}};
5060#line 198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5061static struct nand_flash_dev *nand_find_id(unsigned char id )
5062{ int i ;
5063 int __cil_tmp3 ;
5064 unsigned long __cil_tmp4 ;
5065 unsigned long __cil_tmp5 ;
5066 int __cil_tmp6 ;
5067 unsigned long __cil_tmp7 ;
5068 struct nand_flash_dev *__cil_tmp8 ;
5069 unsigned int __cil_tmp9 ;
5070
5071 {
5072#line 201
5073 i = 0;
5074#line 201
5075 goto ldv_31053;
5076 ldv_31052: ;
5077 {
5078#line 202
5079 __cil_tmp3 = (int )id;
5080#line 202
5081 __cil_tmp4 = i * 12UL;
5082#line 202
5083 __cil_tmp5 = (unsigned long )(nand_flash_ids) + __cil_tmp4;
5084#line 202
5085 __cil_tmp6 = *((int *)__cil_tmp5);
5086#line 202
5087 if (__cil_tmp6 == __cil_tmp3) {
5088 {
5089#line 203
5090 __cil_tmp7 = (unsigned long )i;
5091#line 203
5092 __cil_tmp8 = (struct nand_flash_dev *)(& nand_flash_ids);
5093#line 203
5094 return (__cil_tmp8 + __cil_tmp7);
5095 }
5096 } else {
5097
5098 }
5099 }
5100#line 201
5101 i = i + 1;
5102 ldv_31053: ;
5103 {
5104#line 201
5105 __cil_tmp9 = (unsigned int )i;
5106#line 201
5107 if (__cil_tmp9 <= 18U) {
5108#line 202
5109 goto ldv_31052;
5110 } else {
5111#line 204
5112 goto ldv_31054;
5113 }
5114 }
5115 ldv_31054: ;
5116#line 204
5117 return ((struct nand_flash_dev *)0);
5118}
5119}
5120#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5121static unsigned char parity[256U] ;
5122#line 211 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5123static unsigned char ecc2[256U] ;
5124#line 213 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5125static void nand_init_ecc(void)
5126{ int i ;
5127 int j ;
5128 int a ;
5129 int tmp ;
5130 unsigned long __cil_tmp5 ;
5131 unsigned long __cil_tmp6 ;
5132 unsigned long __cil_tmp7 ;
5133 unsigned long __cil_tmp8 ;
5134 int __cil_tmp9 ;
5135 int __cil_tmp10 ;
5136 unsigned long __cil_tmp11 ;
5137 unsigned long __cil_tmp12 ;
5138 unsigned char __cil_tmp13 ;
5139 unsigned int __cil_tmp14 ;
5140 unsigned int __cil_tmp15 ;
5141 int __cil_tmp16 ;
5142 int __cil_tmp17 ;
5143 int __cil_tmp18 ;
5144 int __cil_tmp19 ;
5145 unsigned long __cil_tmp20 ;
5146 unsigned long __cil_tmp21 ;
5147 unsigned char __cil_tmp22 ;
5148 unsigned int __cil_tmp23 ;
5149 unsigned long __cil_tmp24 ;
5150 unsigned long __cil_tmp25 ;
5151 signed char __cil_tmp26 ;
5152 int __cil_tmp27 ;
5153 int __cil_tmp28 ;
5154 signed char __cil_tmp29 ;
5155 int __cil_tmp30 ;
5156 int __cil_tmp31 ;
5157 int __cil_tmp32 ;
5158
5159 {
5160#line 216
5161 __cil_tmp5 = 0 * 1UL;
5162#line 216
5163 __cil_tmp6 = (unsigned long )(parity) + __cil_tmp5;
5164#line 216
5165 *((unsigned char *)__cil_tmp6) = (unsigned char)0;
5166#line 217
5167 i = 1;
5168#line 217
5169 goto ldv_31064;
5170 ldv_31063:
5171#line 218
5172 __cil_tmp7 = i * 1UL;
5173#line 218
5174 __cil_tmp8 = (unsigned long )(parity) + __cil_tmp7;
5175#line 218
5176 __cil_tmp9 = i + -1;
5177#line 218
5178 __cil_tmp10 = __cil_tmp9 & i;
5179#line 218
5180 __cil_tmp11 = __cil_tmp10 * 1UL;
5181#line 218
5182 __cil_tmp12 = (unsigned long )(parity) + __cil_tmp11;
5183#line 218
5184 __cil_tmp13 = *((unsigned char *)__cil_tmp12);
5185#line 218
5186 __cil_tmp14 = (unsigned int )__cil_tmp13;
5187#line 218
5188 __cil_tmp15 = __cil_tmp14 ^ 1U;
5189#line 218
5190 *((unsigned char *)__cil_tmp8) = (unsigned char )__cil_tmp15;
5191#line 217
5192 i = i + 1;
5193 ldv_31064: ;
5194#line 217
5195 if (i <= 255) {
5196#line 218
5197 goto ldv_31063;
5198 } else {
5199#line 220
5200 goto ldv_31065;
5201 }
5202 ldv_31065:
5203#line 220
5204 i = 0;
5205#line 220
5206 goto ldv_31070;
5207 ldv_31069:
5208#line 221
5209 a = 0;
5210#line 222
5211 j = 0;
5212#line 222
5213 goto ldv_31067;
5214 ldv_31066: ;
5215 {
5216#line 223
5217 __cil_tmp16 = i >> j;
5218#line 223
5219 if (__cil_tmp16 & 1) {
5220 {
5221#line 224
5222 __cil_tmp17 = j & 1;
5223#line 224
5224 if (__cil_tmp17 == 0) {
5225#line 225
5226 a = a ^ 4;
5227 } else {
5228
5229 }
5230 }
5231 {
5232#line 226
5233 __cil_tmp18 = j & 2;
5234#line 226
5235 if (__cil_tmp18 == 0) {
5236#line 227
5237 a = a ^ 16;
5238 } else {
5239
5240 }
5241 }
5242 {
5243#line 228
5244 __cil_tmp19 = j & 4;
5245#line 228
5246 if (__cil_tmp19 == 0) {
5247#line 229
5248 a = a ^ 64;
5249 } else {
5250
5251 }
5252 }
5253 } else {
5254
5255 }
5256 }
5257#line 222
5258 j = j + 1;
5259 ldv_31067: ;
5260#line 222
5261 if (j <= 7) {
5262#line 223
5263 goto ldv_31066;
5264 } else {
5265#line 225
5266 goto ldv_31068;
5267 }
5268 ldv_31068: ;
5269 {
5270#line 232
5271 __cil_tmp20 = i * 1UL;
5272#line 232
5273 __cil_tmp21 = (unsigned long )(parity) + __cil_tmp20;
5274#line 232
5275 __cil_tmp22 = *((unsigned char *)__cil_tmp21);
5276#line 232
5277 __cil_tmp23 = (unsigned int )__cil_tmp22;
5278#line 232
5279 if (__cil_tmp23 != 0U) {
5280#line 232
5281 tmp = 87;
5282 } else {
5283#line 232
5284 tmp = -1;
5285 }
5286 }
5287#line 232
5288 __cil_tmp24 = i * 1UL;
5289#line 232
5290 __cil_tmp25 = (unsigned long )(ecc2) + __cil_tmp24;
5291#line 232
5292 __cil_tmp26 = (signed char )a;
5293#line 232
5294 __cil_tmp27 = (int )__cil_tmp26;
5295#line 232
5296 __cil_tmp28 = a << 1;
5297#line 232
5298 __cil_tmp29 = (signed char )__cil_tmp28;
5299#line 232
5300 __cil_tmp30 = (int )__cil_tmp29;
5301#line 232
5302 __cil_tmp31 = __cil_tmp30 ^ __cil_tmp27;
5303#line 232
5304 __cil_tmp32 = __cil_tmp31 ^ tmp;
5305#line 232
5306 *((unsigned char *)__cil_tmp25) = (unsigned char )__cil_tmp32;
5307#line 220
5308 i = i + 1;
5309 ldv_31070: ;
5310#line 220
5311 if (i <= 255) {
5312#line 221
5313 goto ldv_31069;
5314 } else {
5315#line 223
5316 goto ldv_31071;
5317 }
5318 ldv_31071: ;
5319#line 225
5320 return;
5321}
5322}
5323#line 237 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5324static void nand_compute_ecc(unsigned char *data , unsigned char *ecc )
5325{ int i ;
5326 int j ;
5327 int a ;
5328 unsigned char par ;
5329 unsigned char bit ;
5330 unsigned char bits[8U] ;
5331 int tmp ;
5332 int tmp___0 ;
5333 unsigned long __cil_tmp11 ;
5334 unsigned long __cil_tmp12 ;
5335 int __cil_tmp13 ;
5336 unsigned long __cil_tmp14 ;
5337 unsigned char *__cil_tmp15 ;
5338 unsigned char __cil_tmp16 ;
5339 int __cil_tmp17 ;
5340 int __cil_tmp18 ;
5341 unsigned long __cil_tmp19 ;
5342 unsigned char *__cil_tmp20 ;
5343 unsigned char __cil_tmp21 ;
5344 int __cil_tmp22 ;
5345 unsigned long __cil_tmp23 ;
5346 unsigned long __cil_tmp24 ;
5347 int __cil_tmp25 ;
5348 int __cil_tmp26 ;
5349 unsigned long __cil_tmp27 ;
5350 unsigned long __cil_tmp28 ;
5351 int __cil_tmp29 ;
5352 unsigned long __cil_tmp30 ;
5353 unsigned long __cil_tmp31 ;
5354 unsigned char __cil_tmp32 ;
5355 int __cil_tmp33 ;
5356 int __cil_tmp34 ;
5357 unsigned long __cil_tmp35 ;
5358 unsigned long __cil_tmp36 ;
5359 unsigned char __cil_tmp37 ;
5360 int __cil_tmp38 ;
5361 unsigned long __cil_tmp39 ;
5362 unsigned long __cil_tmp40 ;
5363 unsigned char __cil_tmp41 ;
5364 int __cil_tmp42 ;
5365 int __cil_tmp43 ;
5366 unsigned long __cil_tmp44 ;
5367 unsigned long __cil_tmp45 ;
5368 unsigned char __cil_tmp46 ;
5369 int __cil_tmp47 ;
5370 int __cil_tmp48 ;
5371 unsigned long __cil_tmp49 ;
5372 unsigned long __cil_tmp50 ;
5373 unsigned char __cil_tmp51 ;
5374 int __cil_tmp52 ;
5375 int __cil_tmp53 ;
5376 int __cil_tmp54 ;
5377 int __cil_tmp55 ;
5378 int __cil_tmp56 ;
5379 unsigned long __cil_tmp57 ;
5380 unsigned long __cil_tmp58 ;
5381 unsigned char __cil_tmp59 ;
5382 unsigned int __cil_tmp60 ;
5383 signed char __cil_tmp61 ;
5384 int __cil_tmp62 ;
5385 int __cil_tmp63 ;
5386 signed char __cil_tmp64 ;
5387 int __cil_tmp65 ;
5388 int __cil_tmp66 ;
5389 int __cil_tmp67 ;
5390 unsigned long __cil_tmp68 ;
5391 unsigned long __cil_tmp69 ;
5392 unsigned char __cil_tmp70 ;
5393 int __cil_tmp71 ;
5394 unsigned long __cil_tmp72 ;
5395 unsigned long __cil_tmp73 ;
5396 unsigned char __cil_tmp74 ;
5397 int __cil_tmp75 ;
5398 int __cil_tmp76 ;
5399 unsigned long __cil_tmp77 ;
5400 unsigned long __cil_tmp78 ;
5401 unsigned char __cil_tmp79 ;
5402 int __cil_tmp80 ;
5403 int __cil_tmp81 ;
5404 unsigned long __cil_tmp82 ;
5405 unsigned long __cil_tmp83 ;
5406 unsigned char __cil_tmp84 ;
5407 int __cil_tmp85 ;
5408 int __cil_tmp86 ;
5409 int __cil_tmp87 ;
5410 int __cil_tmp88 ;
5411 int __cil_tmp89 ;
5412 unsigned long __cil_tmp90 ;
5413 unsigned long __cil_tmp91 ;
5414 unsigned char __cil_tmp92 ;
5415 unsigned int __cil_tmp93 ;
5416 unsigned char *__cil_tmp94 ;
5417 signed char __cil_tmp95 ;
5418 int __cil_tmp96 ;
5419 int __cil_tmp97 ;
5420 signed char __cil_tmp98 ;
5421 int __cil_tmp99 ;
5422 int __cil_tmp100 ;
5423 int __cil_tmp101 ;
5424 unsigned char *__cil_tmp102 ;
5425 int __cil_tmp103 ;
5426 unsigned long __cil_tmp104 ;
5427 unsigned long __cil_tmp105 ;
5428
5429 {
5430#line 241
5431 par = (unsigned char)0;
5432#line 242
5433 j = 0;
5434#line 242
5435 goto ldv_31083;
5436 ldv_31082:
5437#line 243
5438 __cil_tmp11 = j * 1UL;
5439#line 243
5440 __cil_tmp12 = (unsigned long )(bits) + __cil_tmp11;
5441#line 243
5442 *((unsigned char *)__cil_tmp12) = (unsigned char)0;
5443#line 242
5444 j = j + 1;
5445 ldv_31083: ;
5446#line 242
5447 if (j <= 7) {
5448#line 243
5449 goto ldv_31082;
5450 } else {
5451#line 245
5452 goto ldv_31084;
5453 }
5454 ldv_31084:
5455#line 246
5456 i = 0;
5457#line 246
5458 goto ldv_31089;
5459 ldv_31088:
5460#line 247
5461 __cil_tmp13 = (int )par;
5462#line 247
5463 __cil_tmp14 = (unsigned long )i;
5464#line 247
5465 __cil_tmp15 = data + __cil_tmp14;
5466#line 247
5467 __cil_tmp16 = *__cil_tmp15;
5468#line 247
5469 __cil_tmp17 = (int )__cil_tmp16;
5470#line 247
5471 __cil_tmp18 = __cil_tmp17 ^ __cil_tmp13;
5472#line 247
5473 par = (unsigned char )__cil_tmp18;
5474#line 248
5475 __cil_tmp19 = (unsigned long )i;
5476#line 248
5477 __cil_tmp20 = data + __cil_tmp19;
5478#line 248
5479 __cil_tmp21 = *__cil_tmp20;
5480#line 248
5481 __cil_tmp22 = (int )__cil_tmp21;
5482#line 248
5483 __cil_tmp23 = __cil_tmp22 * 1UL;
5484#line 248
5485 __cil_tmp24 = (unsigned long )(parity) + __cil_tmp23;
5486#line 248
5487 bit = *((unsigned char *)__cil_tmp24);
5488#line 249
5489 j = 0;
5490#line 249
5491 goto ldv_31086;
5492 ldv_31085: ;
5493 {
5494#line 250
5495 __cil_tmp25 = i >> j;
5496#line 250
5497 __cil_tmp26 = __cil_tmp25 & 1;
5498#line 250
5499 if (__cil_tmp26 == 0) {
5500#line 251
5501 __cil_tmp27 = j * 1UL;
5502#line 251
5503 __cil_tmp28 = (unsigned long )(bits) + __cil_tmp27;
5504#line 251
5505 __cil_tmp29 = (int )bit;
5506#line 251
5507 __cil_tmp30 = j * 1UL;
5508#line 251
5509 __cil_tmp31 = (unsigned long )(bits) + __cil_tmp30;
5510#line 251
5511 __cil_tmp32 = *((unsigned char *)__cil_tmp31);
5512#line 251
5513 __cil_tmp33 = (int )__cil_tmp32;
5514#line 251
5515 __cil_tmp34 = __cil_tmp33 ^ __cil_tmp29;
5516#line 251
5517 *((unsigned char *)__cil_tmp28) = (unsigned char )__cil_tmp34;
5518 } else {
5519
5520 }
5521 }
5522#line 249
5523 j = j + 1;
5524 ldv_31086: ;
5525#line 249
5526 if (j <= 7) {
5527#line 250
5528 goto ldv_31085;
5529 } else {
5530#line 252
5531 goto ldv_31087;
5532 }
5533 ldv_31087:
5534#line 246
5535 i = i + 1;
5536 ldv_31089: ;
5537#line 246
5538 if (i <= 255) {
5539#line 247
5540 goto ldv_31088;
5541 } else {
5542#line 249
5543 goto ldv_31090;
5544 }
5545 ldv_31090:
5546#line 255
5547 __cil_tmp35 = 0 * 1UL;
5548#line 255
5549 __cil_tmp36 = (unsigned long )(bits) + __cil_tmp35;
5550#line 255
5551 __cil_tmp37 = *((unsigned char *)__cil_tmp36);
5552#line 255
5553 __cil_tmp38 = (int )__cil_tmp37;
5554#line 255
5555 __cil_tmp39 = 1 * 1UL;
5556#line 255
5557 __cil_tmp40 = (unsigned long )(bits) + __cil_tmp39;
5558#line 255
5559 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
5560#line 255
5561 __cil_tmp42 = (int )__cil_tmp41;
5562#line 255
5563 __cil_tmp43 = __cil_tmp42 << 2;
5564#line 255
5565 __cil_tmp44 = 2 * 1UL;
5566#line 255
5567 __cil_tmp45 = (unsigned long )(bits) + __cil_tmp44;
5568#line 255
5569 __cil_tmp46 = *((unsigned char *)__cil_tmp45);
5570#line 255
5571 __cil_tmp47 = (int )__cil_tmp46;
5572#line 255
5573 __cil_tmp48 = __cil_tmp47 << 4;
5574#line 255
5575 __cil_tmp49 = 3 * 1UL;
5576#line 255
5577 __cil_tmp50 = (unsigned long )(bits) + __cil_tmp49;
5578#line 255
5579 __cil_tmp51 = *((unsigned char *)__cil_tmp50);
5580#line 255
5581 __cil_tmp52 = (int )__cil_tmp51;
5582#line 255
5583 __cil_tmp53 = __cil_tmp52 << 6;
5584#line 255
5585 __cil_tmp54 = __cil_tmp53 + __cil_tmp48;
5586#line 255
5587 __cil_tmp55 = __cil_tmp54 + __cil_tmp43;
5588#line 255
5589 a = __cil_tmp55 + __cil_tmp38;
5590 {
5591#line 256
5592 __cil_tmp56 = (int )par;
5593#line 256
5594 __cil_tmp57 = __cil_tmp56 * 1UL;
5595#line 256
5596 __cil_tmp58 = (unsigned long )(parity) + __cil_tmp57;
5597#line 256
5598 __cil_tmp59 = *((unsigned char *)__cil_tmp58);
5599#line 256
5600 __cil_tmp60 = (unsigned int )__cil_tmp59;
5601#line 256
5602 if (__cil_tmp60 != 0U) {
5603#line 256
5604 tmp = 85;
5605 } else {
5606#line 256
5607 tmp = -1;
5608 }
5609 }
5610#line 256
5611 __cil_tmp61 = (signed char )a;
5612#line 256
5613 __cil_tmp62 = (int )__cil_tmp61;
5614#line 256
5615 __cil_tmp63 = a << 1;
5616#line 256
5617 __cil_tmp64 = (signed char )__cil_tmp63;
5618#line 256
5619 __cil_tmp65 = (int )__cil_tmp64;
5620#line 256
5621 __cil_tmp66 = __cil_tmp65 ^ __cil_tmp62;
5622#line 256
5623 __cil_tmp67 = __cil_tmp66 ^ tmp;
5624#line 256
5625 *ecc = (unsigned char )__cil_tmp67;
5626#line 258
5627 __cil_tmp68 = 4 * 1UL;
5628#line 258
5629 __cil_tmp69 = (unsigned long )(bits) + __cil_tmp68;
5630#line 258
5631 __cil_tmp70 = *((unsigned char *)__cil_tmp69);
5632#line 258
5633 __cil_tmp71 = (int )__cil_tmp70;
5634#line 258
5635 __cil_tmp72 = 5 * 1UL;
5636#line 258
5637 __cil_tmp73 = (unsigned long )(bits) + __cil_tmp72;
5638#line 258
5639 __cil_tmp74 = *((unsigned char *)__cil_tmp73);
5640#line 258
5641 __cil_tmp75 = (int )__cil_tmp74;
5642#line 258
5643 __cil_tmp76 = __cil_tmp75 << 2;
5644#line 258
5645 __cil_tmp77 = 6 * 1UL;
5646#line 258
5647 __cil_tmp78 = (unsigned long )(bits) + __cil_tmp77;
5648#line 258
5649 __cil_tmp79 = *((unsigned char *)__cil_tmp78);
5650#line 258
5651 __cil_tmp80 = (int )__cil_tmp79;
5652#line 258
5653 __cil_tmp81 = __cil_tmp80 << 4;
5654#line 258
5655 __cil_tmp82 = 7 * 1UL;
5656#line 258
5657 __cil_tmp83 = (unsigned long )(bits) + __cil_tmp82;
5658#line 258
5659 __cil_tmp84 = *((unsigned char *)__cil_tmp83);
5660#line 258
5661 __cil_tmp85 = (int )__cil_tmp84;
5662#line 258
5663 __cil_tmp86 = __cil_tmp85 << 6;
5664#line 258
5665 __cil_tmp87 = __cil_tmp86 + __cil_tmp81;
5666#line 258
5667 __cil_tmp88 = __cil_tmp87 + __cil_tmp76;
5668#line 258
5669 a = __cil_tmp88 + __cil_tmp71;
5670 {
5671#line 259
5672 __cil_tmp89 = (int )par;
5673#line 259
5674 __cil_tmp90 = __cil_tmp89 * 1UL;
5675#line 259
5676 __cil_tmp91 = (unsigned long )(parity) + __cil_tmp90;
5677#line 259
5678 __cil_tmp92 = *((unsigned char *)__cil_tmp91);
5679#line 259
5680 __cil_tmp93 = (unsigned int )__cil_tmp92;
5681#line 259
5682 if (__cil_tmp93 != 0U) {
5683#line 259
5684 tmp___0 = 85;
5685 } else {
5686#line 259
5687 tmp___0 = -1;
5688 }
5689 }
5690#line 259
5691 __cil_tmp94 = ecc + 1UL;
5692#line 259
5693 __cil_tmp95 = (signed char )a;
5694#line 259
5695 __cil_tmp96 = (int )__cil_tmp95;
5696#line 259
5697 __cil_tmp97 = a << 1;
5698#line 259
5699 __cil_tmp98 = (signed char )__cil_tmp97;
5700#line 259
5701 __cil_tmp99 = (int )__cil_tmp98;
5702#line 259
5703 __cil_tmp100 = __cil_tmp99 ^ __cil_tmp96;
5704#line 259
5705 __cil_tmp101 = __cil_tmp100 ^ tmp___0;
5706#line 259
5707 *__cil_tmp94 = (unsigned char )__cil_tmp101;
5708#line 261
5709 __cil_tmp102 = ecc + 2UL;
5710#line 261
5711 __cil_tmp103 = (int )par;
5712#line 261
5713 __cil_tmp104 = __cil_tmp103 * 1UL;
5714#line 261
5715 __cil_tmp105 = (unsigned long )(ecc2) + __cil_tmp104;
5716#line 261
5717 *__cil_tmp102 = *((unsigned char *)__cil_tmp105);
5718#line 262
5719 return;
5720}
5721}
5722#line 264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5723static int nand_compare_ecc(unsigned char *data , unsigned char *ecc )
5724{ int tmp ;
5725 unsigned char __cil_tmp4 ;
5726 int __cil_tmp5 ;
5727 unsigned char __cil_tmp6 ;
5728 int __cil_tmp7 ;
5729 unsigned char *__cil_tmp8 ;
5730 unsigned char __cil_tmp9 ;
5731 int __cil_tmp10 ;
5732 unsigned char *__cil_tmp11 ;
5733 unsigned char __cil_tmp12 ;
5734 int __cil_tmp13 ;
5735 unsigned char *__cil_tmp14 ;
5736 unsigned char __cil_tmp15 ;
5737 int __cil_tmp16 ;
5738 unsigned char *__cil_tmp17 ;
5739 unsigned char __cil_tmp18 ;
5740 int __cil_tmp19 ;
5741
5742 {
5743 {
5744#line 265
5745 __cil_tmp4 = *ecc;
5746#line 265
5747 __cil_tmp5 = (int )__cil_tmp4;
5748#line 265
5749 __cil_tmp6 = *data;
5750#line 265
5751 __cil_tmp7 = (int )__cil_tmp6;
5752#line 265
5753 if (__cil_tmp7 == __cil_tmp5) {
5754 {
5755#line 265
5756 __cil_tmp8 = ecc + 1UL;
5757#line 265
5758 __cil_tmp9 = *__cil_tmp8;
5759#line 265
5760 __cil_tmp10 = (int )__cil_tmp9;
5761#line 265
5762 __cil_tmp11 = data + 1UL;
5763#line 265
5764 __cil_tmp12 = *__cil_tmp11;
5765#line 265
5766 __cil_tmp13 = (int )__cil_tmp12;
5767#line 265
5768 if (__cil_tmp13 == __cil_tmp10) {
5769 {
5770#line 265
5771 __cil_tmp14 = ecc + 2UL;
5772#line 265
5773 __cil_tmp15 = *__cil_tmp14;
5774#line 265
5775 __cil_tmp16 = (int )__cil_tmp15;
5776#line 265
5777 __cil_tmp17 = data + 2UL;
5778#line 265
5779 __cil_tmp18 = *__cil_tmp17;
5780#line 265
5781 __cil_tmp19 = (int )__cil_tmp18;
5782#line 265
5783 if (__cil_tmp19 == __cil_tmp16) {
5784#line 265
5785 tmp = 1;
5786 } else {
5787#line 265
5788 tmp = 0;
5789 }
5790 }
5791 } else {
5792#line 265
5793 tmp = 0;
5794 }
5795 }
5796 } else {
5797#line 265
5798 tmp = 0;
5799 }
5800 }
5801#line 265
5802 return (tmp);
5803}
5804}
5805#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5806static void nand_store_ecc(unsigned char *data , unsigned char *ecc )
5807{ size_t __len ;
5808 void *__ret ;
5809 void *__cil_tmp5 ;
5810 void const *__cil_tmp6 ;
5811 void *__cil_tmp7 ;
5812 void const *__cil_tmp8 ;
5813
5814 {
5815#line 269
5816 __len = 3UL;
5817#line 269
5818 if (__len > 63UL) {
5819 {
5820#line 269
5821 __cil_tmp5 = (void *)data;
5822#line 269
5823 __cil_tmp6 = (void const *)ecc;
5824#line 269
5825 __ret = __memcpy(__cil_tmp5, __cil_tmp6, __len);
5826 }
5827 } else {
5828 {
5829#line 269
5830 __cil_tmp7 = (void *)data;
5831#line 269
5832 __cil_tmp8 = (void const *)ecc;
5833#line 269
5834 __ret = __builtin_memcpy(__cil_tmp7, __cil_tmp8, __len);
5835 }
5836 }
5837#line 271
5838 return;
5839}
5840}
5841#line 313 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5842static int const erase_bad_lba_entries = (int const )0;
5843#line 318 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5844static int sddr09_send_command(struct us_data *us , unsigned char request , unsigned char direction ,
5845 unsigned char *xfer_data , unsigned int xfer_len )
5846{ unsigned int pipe ;
5847 unsigned char requesttype ;
5848 int rc ;
5849 unsigned int __cil_tmp9 ;
5850 unsigned int __cil_tmp10 ;
5851 unsigned int __cil_tmp11 ;
5852 unsigned long __cil_tmp12 ;
5853 unsigned long __cil_tmp13 ;
5854 unsigned long __cil_tmp14 ;
5855 unsigned long __cil_tmp15 ;
5856 int __cil_tmp16 ;
5857 u8 __cil_tmp17 ;
5858 int __cil_tmp18 ;
5859 u8 __cil_tmp19 ;
5860 u16 __cil_tmp20 ;
5861 u16 __cil_tmp21 ;
5862 void *__cil_tmp22 ;
5863 u16 __cil_tmp23 ;
5864 int __cil_tmp24 ;
5865 u16 __cil_tmp25 ;
5866
5867 {
5868#line 324
5869 __cil_tmp9 = (unsigned int )direction;
5870#line 324
5871 __cil_tmp10 = __cil_tmp9 | 65U;
5872#line 324
5873 requesttype = (unsigned char )__cil_tmp10;
5874 {
5875#line 329
5876 __cil_tmp11 = (unsigned int )direction;
5877#line 329
5878 if (__cil_tmp11 == 128U) {
5879#line 330
5880 __cil_tmp12 = (unsigned long )us;
5881#line 330
5882 __cil_tmp13 = __cil_tmp12 + 220;
5883#line 330
5884 pipe = *((unsigned int *)__cil_tmp13);
5885 } else {
5886#line 332
5887 __cil_tmp14 = (unsigned long )us;
5888#line 332
5889 __cil_tmp15 = __cil_tmp14 + 216;
5890#line 332
5891 pipe = *((unsigned int *)__cil_tmp15);
5892 }
5893 }
5894 {
5895#line 334
5896 __cil_tmp16 = (int )request;
5897#line 334
5898 __cil_tmp17 = (u8 )__cil_tmp16;
5899#line 334
5900 __cil_tmp18 = (int )requesttype;
5901#line 334
5902 __cil_tmp19 = (u8 )__cil_tmp18;
5903#line 334
5904 __cil_tmp20 = (u16 )0;
5905#line 334
5906 __cil_tmp21 = (u16 )0;
5907#line 334
5908 __cil_tmp22 = (void *)xfer_data;
5909#line 334
5910 __cil_tmp23 = (u16 )xfer_len;
5911#line 334
5912 __cil_tmp24 = (int )__cil_tmp23;
5913#line 334
5914 __cil_tmp25 = (u16 )__cil_tmp24;
5915#line 334
5916 rc = usb_stor_ctrl_transfer(us, pipe, __cil_tmp17, __cil_tmp19, __cil_tmp20, __cil_tmp21,
5917 __cil_tmp22, __cil_tmp25);
5918 }
5919#line 337
5920 if (rc == 0) {
5921#line 337
5922 goto case_0;
5923 } else
5924#line 338
5925 if (rc == 2) {
5926#line 338
5927 goto case_2;
5928 } else {
5929 {
5930#line 339
5931 goto switch_default;
5932#line 336
5933 if (0) {
5934 case_0: ;
5935#line 337
5936 return (0);
5937 case_2: ;
5938#line 338
5939 return (-32);
5940 switch_default: ;
5941#line 339
5942 return (-5);
5943 } else {
5944 switch_break: ;
5945 }
5946 }
5947 }
5948}
5949}
5950#line 344 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5951static int sddr09_send_scsi_command(struct us_data *us , unsigned char *command ,
5952 unsigned int command_len )
5953{ int tmp ;
5954
5955 {
5956 {
5957#line 347
5958 tmp = sddr09_send_command(us, (unsigned char)0, (unsigned char)0, command, command_len);
5959 }
5960#line 347
5961 return (tmp);
5962}
5963}
5964#line 377 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
5965static int sddr09_request_sense(struct us_data *us , unsigned char *sensebuf , int buflen )
5966{ unsigned char *command ;
5967 int result ;
5968 int tmp ;
5969 unsigned long __cil_tmp7 ;
5970 unsigned long __cil_tmp8 ;
5971 void *__cil_tmp9 ;
5972 unsigned char *__cil_tmp10 ;
5973 unsigned char *__cil_tmp11 ;
5974 unsigned long __cil_tmp12 ;
5975 unsigned long __cil_tmp13 ;
5976 unsigned int __cil_tmp14 ;
5977 void *__cil_tmp15 ;
5978 unsigned int __cil_tmp16 ;
5979 unsigned int *__cil_tmp17 ;
5980
5981 {
5982 {
5983#line 378
5984 __cil_tmp7 = (unsigned long )us;
5985#line 378
5986 __cil_tmp8 = __cil_tmp7 + 568;
5987#line 378
5988 command = *((unsigned char **)__cil_tmp8);
5989#line 381
5990 __cil_tmp9 = (void *)command;
5991#line 381
5992 memset(__cil_tmp9, 0, 12UL);
5993#line 382
5994 *command = (unsigned char)3;
5995#line 383
5996 __cil_tmp10 = command + 1UL;
5997#line 383
5998 *__cil_tmp10 = (unsigned char)32;
5999#line 384
6000 __cil_tmp11 = command + 4UL;
6001#line 384
6002 *__cil_tmp11 = (unsigned char )buflen;
6003#line 386
6004 result = sddr09_send_scsi_command(us, command, 12U);
6005 }
6006#line 387
6007 if (result != 0) {
6008#line 388
6009 return (result);
6010 } else {
6011
6012 }
6013 {
6014#line 390
6015 __cil_tmp12 = (unsigned long )us;
6016#line 390
6017 __cil_tmp13 = __cil_tmp12 + 212;
6018#line 390
6019 __cil_tmp14 = *((unsigned int *)__cil_tmp13);
6020#line 390
6021 __cil_tmp15 = (void *)sensebuf;
6022#line 390
6023 __cil_tmp16 = (unsigned int )buflen;
6024#line 390
6025 __cil_tmp17 = (unsigned int *)0;
6026#line 390
6027 result = usb_stor_bulk_transfer_buf(us, __cil_tmp14, __cil_tmp15, __cil_tmp16, __cil_tmp17);
6028 }
6029#line 392
6030 if (result == 0) {
6031#line 392
6032 tmp = 0;
6033 } else {
6034#line 392
6035 tmp = -5;
6036 }
6037#line 392
6038 return (tmp);
6039}
6040}
6041#line 418 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6042static int sddr09_readX(struct us_data *us , int x , unsigned long fromaddress , int nr_of_pages ,
6043 int bulklen , unsigned char *buf , int use_sg )
6044{ unsigned char *command ;
6045 int result ;
6046 unsigned long __cil_tmp10 ;
6047 unsigned long __cil_tmp11 ;
6048 unsigned char *__cil_tmp12 ;
6049 signed char __cil_tmp13 ;
6050 int __cil_tmp14 ;
6051 int __cil_tmp15 ;
6052 unsigned char *__cil_tmp16 ;
6053 unsigned long __cil_tmp17 ;
6054 unsigned char *__cil_tmp18 ;
6055 unsigned long __cil_tmp19 ;
6056 unsigned char *__cil_tmp20 ;
6057 unsigned long __cil_tmp21 ;
6058 unsigned long __cil_tmp22 ;
6059 unsigned char *__cil_tmp23 ;
6060 unsigned char *__cil_tmp24 ;
6061 unsigned char *__cil_tmp25 ;
6062 unsigned char *__cil_tmp26 ;
6063 unsigned char *__cil_tmp27 ;
6064 unsigned char *__cil_tmp28 ;
6065 int __cil_tmp29 ;
6066 unsigned char *__cil_tmp30 ;
6067 unsigned long __cil_tmp31 ;
6068 unsigned long __cil_tmp32 ;
6069 unsigned int __cil_tmp33 ;
6070 void *__cil_tmp34 ;
6071 unsigned int __cil_tmp35 ;
6072 int *__cil_tmp36 ;
6073
6074 {
6075 {
6076#line 422
6077 __cil_tmp10 = (unsigned long )us;
6078#line 422
6079 __cil_tmp11 = __cil_tmp10 + 568;
6080#line 422
6081 command = *((unsigned char **)__cil_tmp11);
6082#line 425
6083 *command = (unsigned char)232;
6084#line 426
6085 __cil_tmp12 = command + 1UL;
6086#line 426
6087 __cil_tmp13 = (signed char )x;
6088#line 426
6089 __cil_tmp14 = (int )__cil_tmp13;
6090#line 426
6091 __cil_tmp15 = __cil_tmp14 | 32;
6092#line 426
6093 *__cil_tmp12 = (unsigned char )__cil_tmp15;
6094#line 427
6095 __cil_tmp16 = command + 2UL;
6096#line 427
6097 __cil_tmp17 = fromaddress >> 24UL;
6098#line 427
6099 *__cil_tmp16 = (unsigned char )__cil_tmp17;
6100#line 428
6101 __cil_tmp18 = command + 3UL;
6102#line 428
6103 __cil_tmp19 = fromaddress >> 16;
6104#line 428
6105 *__cil_tmp18 = (unsigned char )__cil_tmp19;
6106#line 429
6107 __cil_tmp20 = command + 4UL;
6108#line 429
6109 __cil_tmp21 = fromaddress & 65535UL;
6110#line 429
6111 __cil_tmp22 = __cil_tmp21 >> 8;
6112#line 429
6113 *__cil_tmp20 = (unsigned char )__cil_tmp22;
6114#line 430
6115 __cil_tmp23 = command + 5UL;
6116#line 430
6117 *__cil_tmp23 = (unsigned char )fromaddress;
6118#line 431
6119 __cil_tmp24 = command + 6UL;
6120#line 431
6121 *__cil_tmp24 = (unsigned char)0;
6122#line 432
6123 __cil_tmp25 = command + 7UL;
6124#line 432
6125 *__cil_tmp25 = (unsigned char)0;
6126#line 433
6127 __cil_tmp26 = command + 8UL;
6128#line 433
6129 *__cil_tmp26 = (unsigned char)0;
6130#line 434
6131 __cil_tmp27 = command + 9UL;
6132#line 434
6133 *__cil_tmp27 = (unsigned char)0;
6134#line 435
6135 __cil_tmp28 = command + 10UL;
6136#line 435
6137 __cil_tmp29 = nr_of_pages >> 8;
6138#line 435
6139 *__cil_tmp28 = (unsigned char )__cil_tmp29;
6140#line 436
6141 __cil_tmp30 = command + 11UL;
6142#line 436
6143 *__cil_tmp30 = (unsigned char )nr_of_pages;
6144#line 438
6145 result = sddr09_send_scsi_command(us, command, 12U);
6146 }
6147#line 440
6148 if (result != 0) {
6149 {
6150#line 441
6151 printk("<7>usb-storage: Result for send_control in sddr09_read2%d %d\n", x, result);
6152 }
6153#line 443
6154 return (result);
6155 } else {
6156
6157 }
6158 {
6159#line 446
6160 __cil_tmp31 = (unsigned long )us;
6161#line 446
6162 __cil_tmp32 = __cil_tmp31 + 212;
6163#line 446
6164 __cil_tmp33 = *((unsigned int *)__cil_tmp32);
6165#line 446
6166 __cil_tmp34 = (void *)buf;
6167#line 446
6168 __cil_tmp35 = (unsigned int )bulklen;
6169#line 446
6170 __cil_tmp36 = (int *)0;
6171#line 446
6172 result = usb_stor_bulk_transfer_sg(us, __cil_tmp33, __cil_tmp34, __cil_tmp35, use_sg,
6173 __cil_tmp36);
6174 }
6175#line 449
6176 if (result != 0) {
6177 {
6178#line 450
6179 printk("<7>usb-storage: Result for bulk_transfer in sddr09_read2%d %d\n", x, result);
6180 }
6181#line 452
6182 return (-5);
6183 } else {
6184
6185 }
6186#line 454
6187 return (0);
6188}
6189}
6190#line 467 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6191static int sddr09_read20(struct us_data *us , unsigned long fromaddress , int nr_of_pages ,
6192 int pageshift , unsigned char *buf , int use_sg )
6193{ int bulklen ;
6194 int tmp ;
6195
6196 {
6197 {
6198#line 469
6199 bulklen = nr_of_pages << pageshift;
6200#line 472
6201 tmp = sddr09_readX(us, 0, fromaddress, nr_of_pages, bulklen, buf, use_sg);
6202 }
6203#line 472
6204 return (tmp);
6205}
6206}
6207#line 490 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6208static int sddr09_read21(struct us_data *us , unsigned long fromaddress , int count ,
6209 int controlshift , unsigned char *buf , int use_sg )
6210{ int bulklen ;
6211 int tmp ;
6212
6213 {
6214 {
6215#line 493
6216 bulklen = count << controlshift;
6217#line 494
6218 tmp = sddr09_readX(us, 1, fromaddress, count, bulklen, buf, use_sg);
6219 }
6220#line 494
6221 return (tmp);
6222}
6223}
6224#line 508 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6225static int sddr09_read22(struct us_data *us , unsigned long fromaddress , int nr_of_pages ,
6226 int pageshift , unsigned char *buf , int use_sg )
6227{ int bulklen ;
6228 int tmp ;
6229 int __cil_tmp9 ;
6230 int __cil_tmp10 ;
6231
6232 {
6233 {
6234#line 511
6235 __cil_tmp9 = nr_of_pages << 6;
6236#line 511
6237 __cil_tmp10 = nr_of_pages << pageshift;
6238#line 511
6239 bulklen = __cil_tmp10 + __cil_tmp9;
6240#line 512
6241 printk("<7>usb-storage: sddr09_read22: reading %d pages, %d bytes\n", nr_of_pages,
6242 bulklen);
6243#line 514
6244 tmp = sddr09_readX(us, 2, fromaddress, nr_of_pages, bulklen, buf, use_sg);
6245 }
6246#line 514
6247 return (tmp);
6248}
6249}
6250#line 552 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6251static int sddr09_erase(struct us_data *us , unsigned long Eaddress )
6252{ unsigned char *command ;
6253 int result ;
6254 unsigned long __cil_tmp5 ;
6255 unsigned long __cil_tmp6 ;
6256 void *__cil_tmp7 ;
6257 unsigned char *__cil_tmp8 ;
6258 unsigned char *__cil_tmp9 ;
6259 unsigned long __cil_tmp10 ;
6260 unsigned char *__cil_tmp11 ;
6261 unsigned long __cil_tmp12 ;
6262 unsigned char *__cil_tmp13 ;
6263 unsigned long __cil_tmp14 ;
6264 unsigned long __cil_tmp15 ;
6265 unsigned char *__cil_tmp16 ;
6266
6267 {
6268 {
6269#line 553
6270 __cil_tmp5 = (unsigned long )us;
6271#line 553
6272 __cil_tmp6 = __cil_tmp5 + 568;
6273#line 553
6274 command = *((unsigned char **)__cil_tmp6);
6275#line 556
6276 printk("<7>usb-storage: sddr09_erase: erase address %lu\n", Eaddress);
6277#line 558
6278 __cil_tmp7 = (void *)command;
6279#line 558
6280 memset(__cil_tmp7, 0, 12UL);
6281#line 559
6282 *command = (unsigned char)234;
6283#line 560
6284 __cil_tmp8 = command + 1UL;
6285#line 560
6286 *__cil_tmp8 = (unsigned char)32;
6287#line 561
6288 __cil_tmp9 = command + 6UL;
6289#line 561
6290 __cil_tmp10 = Eaddress >> 24UL;
6291#line 561
6292 *__cil_tmp9 = (unsigned char )__cil_tmp10;
6293#line 562
6294 __cil_tmp11 = command + 7UL;
6295#line 562
6296 __cil_tmp12 = Eaddress >> 16;
6297#line 562
6298 *__cil_tmp11 = (unsigned char )__cil_tmp12;
6299#line 563
6300 __cil_tmp13 = command + 8UL;
6301#line 563
6302 __cil_tmp14 = Eaddress & 65535UL;
6303#line 563
6304 __cil_tmp15 = __cil_tmp14 >> 8;
6305#line 563
6306 *__cil_tmp13 = (unsigned char )__cil_tmp15;
6307#line 564
6308 __cil_tmp16 = command + 9UL;
6309#line 564
6310 *__cil_tmp16 = (unsigned char )Eaddress;
6311#line 566
6312 result = sddr09_send_scsi_command(us, command, 12U);
6313 }
6314#line 568
6315 if (result != 0) {
6316 {
6317#line 569
6318 printk("<7>usb-storage: Result for send_control in sddr09_erase %d\n", result);
6319 }
6320 } else {
6321
6322 }
6323#line 572
6324 return (result);
6325}
6326}
6327#line 601 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6328static int sddr09_writeX(struct us_data *us , unsigned long Waddress , unsigned long Eaddress ,
6329 int nr_of_pages , int bulklen , unsigned char *buf , int use_sg )
6330{ unsigned char *command ;
6331 int result ;
6332 unsigned long __cil_tmp10 ;
6333 unsigned long __cil_tmp11 ;
6334 unsigned char *__cil_tmp12 ;
6335 unsigned char *__cil_tmp13 ;
6336 unsigned long __cil_tmp14 ;
6337 unsigned char *__cil_tmp15 ;
6338 unsigned long __cil_tmp16 ;
6339 unsigned char *__cil_tmp17 ;
6340 unsigned long __cil_tmp18 ;
6341 unsigned long __cil_tmp19 ;
6342 unsigned char *__cil_tmp20 ;
6343 unsigned char *__cil_tmp21 ;
6344 unsigned long __cil_tmp22 ;
6345 unsigned char *__cil_tmp23 ;
6346 unsigned long __cil_tmp24 ;
6347 unsigned char *__cil_tmp25 ;
6348 unsigned long __cil_tmp26 ;
6349 unsigned long __cil_tmp27 ;
6350 unsigned char *__cil_tmp28 ;
6351 unsigned char *__cil_tmp29 ;
6352 int __cil_tmp30 ;
6353 unsigned char *__cil_tmp31 ;
6354 unsigned long __cil_tmp32 ;
6355 unsigned long __cil_tmp33 ;
6356 unsigned int __cil_tmp34 ;
6357 void *__cil_tmp35 ;
6358 unsigned int __cil_tmp36 ;
6359 int *__cil_tmp37 ;
6360
6361 {
6362 {
6363#line 605
6364 __cil_tmp10 = (unsigned long )us;
6365#line 605
6366 __cil_tmp11 = __cil_tmp10 + 568;
6367#line 605
6368 command = *((unsigned char **)__cil_tmp11);
6369#line 608
6370 *command = (unsigned char)233;
6371#line 609
6372 __cil_tmp12 = command + 1UL;
6373#line 609
6374 *__cil_tmp12 = (unsigned char)32;
6375#line 611
6376 __cil_tmp13 = command + 2UL;
6377#line 611
6378 __cil_tmp14 = Waddress >> 24UL;
6379#line 611
6380 *__cil_tmp13 = (unsigned char )__cil_tmp14;
6381#line 612
6382 __cil_tmp15 = command + 3UL;
6383#line 612
6384 __cil_tmp16 = Waddress >> 16;
6385#line 612
6386 *__cil_tmp15 = (unsigned char )__cil_tmp16;
6387#line 613
6388 __cil_tmp17 = command + 4UL;
6389#line 613
6390 __cil_tmp18 = Waddress & 65535UL;
6391#line 613
6392 __cil_tmp19 = __cil_tmp18 >> 8;
6393#line 613
6394 *__cil_tmp17 = (unsigned char )__cil_tmp19;
6395#line 614
6396 __cil_tmp20 = command + 5UL;
6397#line 614
6398 *__cil_tmp20 = (unsigned char )Waddress;
6399#line 616
6400 __cil_tmp21 = command + 6UL;
6401#line 616
6402 __cil_tmp22 = Eaddress >> 24UL;
6403#line 616
6404 *__cil_tmp21 = (unsigned char )__cil_tmp22;
6405#line 617
6406 __cil_tmp23 = command + 7UL;
6407#line 617
6408 __cil_tmp24 = Eaddress >> 16;
6409#line 617
6410 *__cil_tmp23 = (unsigned char )__cil_tmp24;
6411#line 618
6412 __cil_tmp25 = command + 8UL;
6413#line 618
6414 __cil_tmp26 = Eaddress & 65535UL;
6415#line 618
6416 __cil_tmp27 = __cil_tmp26 >> 8;
6417#line 618
6418 *__cil_tmp25 = (unsigned char )__cil_tmp27;
6419#line 619
6420 __cil_tmp28 = command + 9UL;
6421#line 619
6422 *__cil_tmp28 = (unsigned char )Eaddress;
6423#line 621
6424 __cil_tmp29 = command + 10UL;
6425#line 621
6426 __cil_tmp30 = nr_of_pages >> 8;
6427#line 621
6428 *__cil_tmp29 = (unsigned char )__cil_tmp30;
6429#line 622
6430 __cil_tmp31 = command + 11UL;
6431#line 622
6432 *__cil_tmp31 = (unsigned char )nr_of_pages;
6433#line 624
6434 result = sddr09_send_scsi_command(us, command, 12U);
6435 }
6436#line 626
6437 if (result != 0) {
6438 {
6439#line 627
6440 printk("<7>usb-storage: Result for send_control in sddr09_writeX %d\n", result);
6441 }
6442#line 629
6443 return (result);
6444 } else {
6445
6446 }
6447 {
6448#line 632
6449 __cil_tmp32 = (unsigned long )us;
6450#line 632
6451 __cil_tmp33 = __cil_tmp32 + 208;
6452#line 632
6453 __cil_tmp34 = *((unsigned int *)__cil_tmp33);
6454#line 632
6455 __cil_tmp35 = (void *)buf;
6456#line 632
6457 __cil_tmp36 = (unsigned int )bulklen;
6458#line 632
6459 __cil_tmp37 = (int *)0;
6460#line 632
6461 result = usb_stor_bulk_transfer_sg(us, __cil_tmp34, __cil_tmp35, __cil_tmp36, use_sg,
6462 __cil_tmp37);
6463 }
6464#line 635
6465 if (result != 0) {
6466 {
6467#line 636
6468 printk("<7>usb-storage: Result for bulk_transfer in sddr09_writeX %d\n", result);
6469 }
6470#line 638
6471 return (-5);
6472 } else {
6473
6474 }
6475#line 640
6476 return (0);
6477}
6478}
6479#line 645 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6480static int sddr09_write_inplace(struct us_data *us , unsigned long address , int nr_of_pages ,
6481 int pageshift , unsigned char *buf , int use_sg )
6482{ int bulklen ;
6483 int tmp ;
6484 int __cil_tmp9 ;
6485 int __cil_tmp10 ;
6486
6487 {
6488 {
6489#line 648
6490 __cil_tmp9 = nr_of_pages << 6;
6491#line 648
6492 __cil_tmp10 = nr_of_pages << pageshift;
6493#line 648
6494 bulklen = __cil_tmp10 + __cil_tmp9;
6495#line 649
6496 tmp = sddr09_writeX(us, address, address, nr_of_pages, bulklen, buf, use_sg);
6497 }
6498#line 649
6499 return (tmp);
6500}
6501}
6502#line 739 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6503static int sddr09_read_status(struct us_data *us , unsigned char *status )
6504{ unsigned char *command ;
6505 unsigned char *data ;
6506 int result ;
6507 int tmp ;
6508 unsigned long __cil_tmp7 ;
6509 unsigned long __cil_tmp8 ;
6510 unsigned long __cil_tmp9 ;
6511 unsigned long __cil_tmp10 ;
6512 void *__cil_tmp11 ;
6513 unsigned char *__cil_tmp12 ;
6514 unsigned long __cil_tmp13 ;
6515 unsigned long __cil_tmp14 ;
6516 unsigned int __cil_tmp15 ;
6517 void *__cil_tmp16 ;
6518 unsigned int *__cil_tmp17 ;
6519
6520 {
6521 {
6522#line 741
6523 __cil_tmp7 = (unsigned long )us;
6524#line 741
6525 __cil_tmp8 = __cil_tmp7 + 568;
6526#line 741
6527 command = *((unsigned char **)__cil_tmp8);
6528#line 742
6529 __cil_tmp9 = (unsigned long )us;
6530#line 742
6531 __cil_tmp10 = __cil_tmp9 + 568;
6532#line 742
6533 data = *((unsigned char **)__cil_tmp10);
6534#line 745
6535 printk("<7>usb-storage: Reading status...\n");
6536#line 747
6537 __cil_tmp11 = (void *)command;
6538#line 747
6539 memset(__cil_tmp11, 0, 12UL);
6540#line 748
6541 *command = (unsigned char)236;
6542#line 749
6543 __cil_tmp12 = command + 1UL;
6544#line 749
6545 *__cil_tmp12 = (unsigned char)32;
6546#line 751
6547 result = sddr09_send_scsi_command(us, command, 12U);
6548 }
6549#line 752
6550 if (result != 0) {
6551#line 753
6552 return (result);
6553 } else {
6554
6555 }
6556 {
6557#line 755
6558 __cil_tmp13 = (unsigned long )us;
6559#line 755
6560 __cil_tmp14 = __cil_tmp13 + 212;
6561#line 755
6562 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
6563#line 755
6564 __cil_tmp16 = (void *)data;
6565#line 755
6566 __cil_tmp17 = (unsigned int *)0;
6567#line 755
6568 result = usb_stor_bulk_transfer_buf(us, __cil_tmp15, __cil_tmp16, 64U, __cil_tmp17);
6569#line 757
6570 *status = *data;
6571 }
6572#line 758
6573 if (result == 0) {
6574#line 758
6575 tmp = 0;
6576 } else {
6577#line 758
6578 tmp = -5;
6579 }
6580#line 758
6581 return (tmp);
6582}
6583}
6584#line 762 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6585static int sddr09_read_data(struct us_data *us , unsigned long address , unsigned int sectors )
6586{ struct sddr09_card_info *info ;
6587 unsigned char *buffer ;
6588 unsigned int lba ;
6589 unsigned int maxlba ;
6590 unsigned int pba ;
6591 unsigned int page ;
6592 unsigned int pages ;
6593 unsigned int len ;
6594 unsigned int offset ;
6595 struct scatterlist *sg ;
6596 int result ;
6597 unsigned int _min1 ;
6598 unsigned int _min2 ;
6599 unsigned int tmp ;
6600 void *tmp___0 ;
6601 unsigned int _min1___0 ;
6602 unsigned int _min2___0 ;
6603 unsigned int tmp___1 ;
6604 unsigned long __cil_tmp22 ;
6605 unsigned long __cil_tmp23 ;
6606 void *__cil_tmp24 ;
6607 unsigned long __cil_tmp25 ;
6608 unsigned long __cil_tmp26 ;
6609 int __cil_tmp27 ;
6610 unsigned long __cil_tmp28 ;
6611 unsigned int __cil_tmp29 ;
6612 unsigned long __cil_tmp30 ;
6613 unsigned long __cil_tmp31 ;
6614 int __cil_tmp32 ;
6615 unsigned int __cil_tmp33 ;
6616 unsigned long __cil_tmp34 ;
6617 unsigned long __cil_tmp35 ;
6618 int __cil_tmp36 ;
6619 unsigned long __cil_tmp37 ;
6620 unsigned long __cil_tmp38 ;
6621 int __cil_tmp39 ;
6622 int __cil_tmp40 ;
6623 unsigned long __cil_tmp41 ;
6624 unsigned long __cil_tmp42 ;
6625 unsigned long __cil_tmp43 ;
6626 unsigned long __cil_tmp44 ;
6627 int __cil_tmp45 ;
6628 unsigned long __cil_tmp46 ;
6629 unsigned long __cil_tmp47 ;
6630 int __cil_tmp48 ;
6631 unsigned int __cil_tmp49 ;
6632 size_t __cil_tmp50 ;
6633 unsigned char *__cil_tmp51 ;
6634 unsigned long __cil_tmp52 ;
6635 unsigned long __cil_tmp53 ;
6636 unsigned int *__cil_tmp54 ;
6637 struct scatterlist **__cil_tmp55 ;
6638 unsigned long __cil_tmp56 ;
6639 unsigned long __cil_tmp57 ;
6640 int __cil_tmp58 ;
6641 unsigned int __cil_tmp59 ;
6642 unsigned long __cil_tmp60 ;
6643 unsigned long __cil_tmp61 ;
6644 int __cil_tmp62 ;
6645 unsigned long __cil_tmp63 ;
6646 unsigned long __cil_tmp64 ;
6647 unsigned long __cil_tmp65 ;
6648 int *__cil_tmp66 ;
6649 int *__cil_tmp67 ;
6650 int __cil_tmp68 ;
6651 void *__cil_tmp69 ;
6652 size_t __cil_tmp70 ;
6653 unsigned long __cil_tmp71 ;
6654 unsigned long __cil_tmp72 ;
6655 int __cil_tmp73 ;
6656 unsigned long __cil_tmp74 ;
6657 unsigned long __cil_tmp75 ;
6658 int __cil_tmp76 ;
6659 unsigned int __cil_tmp77 ;
6660 unsigned int __cil_tmp78 ;
6661 unsigned int __cil_tmp79 ;
6662 unsigned long __cil_tmp80 ;
6663 int __cil_tmp81 ;
6664 unsigned long __cil_tmp82 ;
6665 unsigned long __cil_tmp83 ;
6666 int __cil_tmp84 ;
6667 unsigned long __cil_tmp85 ;
6668 unsigned long __cil_tmp86 ;
6669 struct scsi_cmnd *__cil_tmp87 ;
6670 enum xfer_buf_dir __cil_tmp88 ;
6671 void const *__cil_tmp89 ;
6672
6673 {
6674#line 766
6675 __cil_tmp22 = (unsigned long )us;
6676#line 766
6677 __cil_tmp23 = __cil_tmp22 + 1080;
6678#line 766
6679 __cil_tmp24 = *((void **)__cil_tmp23);
6680#line 766
6681 info = (struct sddr09_card_info *)__cil_tmp24;
6682#line 775
6683 __cil_tmp25 = (unsigned long )info;
6684#line 775
6685 __cil_tmp26 = __cil_tmp25 + 20;
6686#line 775
6687 __cil_tmp27 = *((int *)__cil_tmp26);
6688#line 775
6689 __cil_tmp28 = address >> __cil_tmp27;
6690#line 775
6691 lba = (unsigned int )__cil_tmp28;
6692#line 776
6693 __cil_tmp29 = (unsigned int )address;
6694#line 776
6695 __cil_tmp30 = (unsigned long )info;
6696#line 776
6697 __cil_tmp31 = __cil_tmp30 + 24;
6698#line 776
6699 __cil_tmp32 = *((int *)__cil_tmp31);
6700#line 776
6701 __cil_tmp33 = (unsigned int )__cil_tmp32;
6702#line 776
6703 page = __cil_tmp33 & __cil_tmp29;
6704#line 777
6705 __cil_tmp34 = (unsigned long )info;
6706#line 777
6707 __cil_tmp35 = __cil_tmp34 + 20;
6708#line 777
6709 __cil_tmp36 = *((int *)__cil_tmp35);
6710#line 777
6711 __cil_tmp37 = (unsigned long )info;
6712#line 777
6713 __cil_tmp38 = __cil_tmp37 + 12;
6714#line 777
6715 __cil_tmp39 = *((int *)__cil_tmp38);
6716#line 777
6717 __cil_tmp40 = __cil_tmp39 + __cil_tmp36;
6718#line 777
6719 __cil_tmp41 = *((unsigned long *)info);
6720#line 777
6721 __cil_tmp42 = __cil_tmp41 >> __cil_tmp40;
6722#line 777
6723 maxlba = (unsigned int )__cil_tmp42;
6724#line 778
6725 if (lba >= maxlba) {
6726#line 779
6727 return (-5);
6728 } else {
6729
6730 }
6731#line 785
6732 _min1 = sectors;
6733#line 785
6734 __cil_tmp43 = (unsigned long )info;
6735#line 785
6736 __cil_tmp44 = __cil_tmp43 + 16;
6737#line 785
6738 __cil_tmp45 = *((int *)__cil_tmp44);
6739#line 785
6740 _min2 = (unsigned int )__cil_tmp45;
6741#line 785
6742 if (_min1 < _min2) {
6743#line 785
6744 tmp = _min1;
6745 } else {
6746#line 785
6747 tmp = _min2;
6748 }
6749 {
6750#line 785
6751 __cil_tmp46 = (unsigned long )info;
6752#line 785
6753 __cil_tmp47 = __cil_tmp46 + 8;
6754#line 785
6755 __cil_tmp48 = *((int *)__cil_tmp47);
6756#line 785
6757 __cil_tmp49 = (unsigned int )__cil_tmp48;
6758#line 785
6759 len = tmp * __cil_tmp49;
6760#line 786
6761 __cil_tmp50 = (size_t )len;
6762#line 786
6763 tmp___0 = kmalloc(__cil_tmp50, 16U);
6764#line 786
6765 buffer = (unsigned char *)tmp___0;
6766 }
6767 {
6768#line 787
6769 __cil_tmp51 = (unsigned char *)0;
6770#line 787
6771 __cil_tmp52 = (unsigned long )__cil_tmp51;
6772#line 787
6773 __cil_tmp53 = (unsigned long )buffer;
6774#line 787
6775 if (__cil_tmp53 == __cil_tmp52) {
6776 {
6777#line 788
6778 printk("<4>sddr09_read_data: Out of memory\n");
6779 }
6780#line 789
6781 return (-12);
6782 } else {
6783
6784 }
6785 }
6786#line 795
6787 result = 0;
6788#line 796
6789 __cil_tmp54 = & offset;
6790#line 796
6791 *__cil_tmp54 = 0U;
6792#line 797
6793 __cil_tmp55 = & sg;
6794#line 797
6795 *__cil_tmp55 = (struct scatterlist *)0;
6796#line 799
6797 goto ldv_31234;
6798 ldv_31233:
6799#line 802
6800 _min1___0 = sectors;
6801#line 802
6802 __cil_tmp56 = (unsigned long )info;
6803#line 802
6804 __cil_tmp57 = __cil_tmp56 + 16;
6805#line 802
6806 __cil_tmp58 = *((int *)__cil_tmp57);
6807#line 802
6808 __cil_tmp59 = (unsigned int )__cil_tmp58;
6809#line 802
6810 _min2___0 = __cil_tmp59 - page;
6811#line 802
6812 if (_min1___0 < _min2___0) {
6813#line 802
6814 tmp___1 = _min1___0;
6815 } else {
6816#line 802
6817 tmp___1 = _min2___0;
6818 }
6819#line 802
6820 pages = tmp___1;
6821#line 803
6822 __cil_tmp60 = (unsigned long )info;
6823#line 803
6824 __cil_tmp61 = __cil_tmp60 + 12;
6825#line 803
6826 __cil_tmp62 = *((int *)__cil_tmp61);
6827#line 803
6828 len = pages << __cil_tmp62;
6829#line 806
6830 if (lba >= maxlba) {
6831 {
6832#line 807
6833 printk("<7>usb-storage: Error: Requested lba %u exceeds maximum %u\n", lba, maxlba);
6834#line 809
6835 result = -5;
6836 }
6837#line 810
6838 goto ldv_31232;
6839 } else {
6840
6841 }
6842#line 814
6843 __cil_tmp63 = (unsigned long )lba;
6844#line 814
6845 __cil_tmp64 = (unsigned long )info;
6846#line 814
6847 __cil_tmp65 = __cil_tmp64 + 32;
6848#line 814
6849 __cil_tmp66 = *((int **)__cil_tmp65);
6850#line 814
6851 __cil_tmp67 = __cil_tmp66 + __cil_tmp63;
6852#line 814
6853 __cil_tmp68 = *__cil_tmp67;
6854#line 814
6855 pba = (unsigned int )__cil_tmp68;
6856#line 816
6857 if (pba == 4294967295U) {
6858 {
6859#line 818
6860 printk("<7>usb-storage: Read %d zero pages (LBA %d) page %d\n", pages, lba, page);
6861#line 826
6862 __cil_tmp69 = (void *)buffer;
6863#line 826
6864 __cil_tmp70 = (size_t )len;
6865#line 826
6866 memset(__cil_tmp69, 0, __cil_tmp70);
6867 }
6868 } else {
6869 {
6870#line 829
6871 printk("<7>usb-storage: Read %d pages, from PBA %d (LBA %d) page %d\n", pages,
6872 pba, lba, page);
6873#line 833
6874 __cil_tmp71 = (unsigned long )info;
6875#line 833
6876 __cil_tmp72 = __cil_tmp71 + 12;
6877#line 833
6878 __cil_tmp73 = *((int *)__cil_tmp72);
6879#line 833
6880 __cil_tmp74 = (unsigned long )info;
6881#line 833
6882 __cil_tmp75 = __cil_tmp74 + 20;
6883#line 833
6884 __cil_tmp76 = *((int *)__cil_tmp75);
6885#line 833
6886 __cil_tmp77 = pba << __cil_tmp76;
6887#line 833
6888 __cil_tmp78 = __cil_tmp77 + page;
6889#line 833
6890 __cil_tmp79 = __cil_tmp78 << __cil_tmp73;
6891#line 833
6892 address = (unsigned long )__cil_tmp79;
6893#line 836
6894 __cil_tmp80 = address >> 1;
6895#line 836
6896 __cil_tmp81 = (int )pages;
6897#line 836
6898 __cil_tmp82 = (unsigned long )info;
6899#line 836
6900 __cil_tmp83 = __cil_tmp82 + 12;
6901#line 836
6902 __cil_tmp84 = *((int *)__cil_tmp83);
6903#line 836
6904 result = sddr09_read20(us, __cil_tmp80, __cil_tmp81, __cil_tmp84, buffer, 0);
6905 }
6906#line 838
6907 if (result != 0) {
6908#line 839
6909 goto ldv_31232;
6910 } else {
6911
6912 }
6913 }
6914 {
6915#line 843
6916 __cil_tmp85 = (unsigned long )us;
6917#line 843
6918 __cil_tmp86 = __cil_tmp85 + 288;
6919#line 843
6920 __cil_tmp87 = *((struct scsi_cmnd **)__cil_tmp86);
6921#line 843
6922 __cil_tmp88 = (enum xfer_buf_dir )0;
6923#line 843
6924 usb_stor_access_xfer_buf(buffer, len, __cil_tmp87, & sg, & offset, __cil_tmp88);
6925#line 846
6926 page = 0U;
6927#line 847
6928 lba = lba + 1U;
6929#line 848
6930 sectors = sectors - pages;
6931 }
6932 ldv_31234: ;
6933#line 799
6934 if (sectors != 0U) {
6935#line 800
6936 goto ldv_31233;
6937 } else {
6938#line 802
6939 goto ldv_31232;
6940 }
6941 ldv_31232:
6942 {
6943#line 851
6944 __cil_tmp89 = (void const *)buffer;
6945#line 851
6946 kfree(__cil_tmp89);
6947 }
6948#line 852
6949 return (result);
6950}
6951}
6952#line 856 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
6953static unsigned int sddr09_find_unused_pba(struct sddr09_card_info *info , unsigned int lba )
6954{ unsigned int lastpba ;
6955 int zonestart ;
6956 int end ;
6957 int i ;
6958 unsigned int __cil_tmp7 ;
6959 unsigned int __cil_tmp8 ;
6960 unsigned long __cil_tmp9 ;
6961 unsigned long __cil_tmp10 ;
6962 int __cil_tmp11 ;
6963 unsigned long __cil_tmp12 ;
6964 unsigned long __cil_tmp13 ;
6965 int __cil_tmp14 ;
6966 int __cil_tmp15 ;
6967 unsigned long __cil_tmp16 ;
6968 unsigned long __cil_tmp17 ;
6969 unsigned int __cil_tmp18 ;
6970 int __cil_tmp19 ;
6971 unsigned long __cil_tmp20 ;
6972 unsigned long __cil_tmp21 ;
6973 unsigned long __cil_tmp22 ;
6974 int *__cil_tmp23 ;
6975 int *__cil_tmp24 ;
6976 int __cil_tmp25 ;
6977 int __cil_tmp26 ;
6978 int __cil_tmp27 ;
6979 unsigned long __cil_tmp28 ;
6980 unsigned long __cil_tmp29 ;
6981 unsigned long __cil_tmp30 ;
6982 int *__cil_tmp31 ;
6983 int *__cil_tmp32 ;
6984 int __cil_tmp33 ;
6985 int __cil_tmp34 ;
6986 unsigned int __cil_tmp35 ;
6987
6988 {
6989#line 857
6990 lastpba = 1U;
6991#line 860
6992 __cil_tmp7 = lba / 1000U;
6993#line 860
6994 __cil_tmp8 = __cil_tmp7 << 10;
6995#line 860
6996 zonestart = (int )__cil_tmp8;
6997#line 861
6998 __cil_tmp9 = (unsigned long )info;
6999#line 861
7000 __cil_tmp10 = __cil_tmp9 + 12;
7001#line 861
7002 __cil_tmp11 = *((int *)__cil_tmp10);
7003#line 861
7004 __cil_tmp12 = (unsigned long )info;
7005#line 861
7006 __cil_tmp13 = __cil_tmp12 + 20;
7007#line 861
7008 __cil_tmp14 = *((int *)__cil_tmp13);
7009#line 861
7010 __cil_tmp15 = __cil_tmp14 + __cil_tmp11;
7011#line 861
7012 __cil_tmp16 = *((unsigned long *)info);
7013#line 861
7014 __cil_tmp17 = __cil_tmp16 >> __cil_tmp15;
7015#line 861
7016 end = (int )__cil_tmp17;
7017#line 862
7018 end = end - zonestart;
7019#line 863
7020 if (end > 1024) {
7021#line 864
7022 end = 1024;
7023 } else {
7024
7025 }
7026#line 866
7027 __cil_tmp18 = lastpba + 1U;
7028#line 866
7029 i = (int )__cil_tmp18;
7030#line 866
7031 goto ldv_31244;
7032 ldv_31243: ;
7033 {
7034#line 867
7035 __cil_tmp19 = zonestart + i;
7036#line 867
7037 __cil_tmp20 = (unsigned long )__cil_tmp19;
7038#line 867
7039 __cil_tmp21 = (unsigned long )info;
7040#line 867
7041 __cil_tmp22 = __cil_tmp21 + 40;
7042#line 867
7043 __cil_tmp23 = *((int **)__cil_tmp22);
7044#line 867
7045 __cil_tmp24 = __cil_tmp23 + __cil_tmp20;
7046#line 867
7047 __cil_tmp25 = *__cil_tmp24;
7048#line 867
7049 if (__cil_tmp25 == -1) {
7050#line 868
7051 lastpba = (unsigned int )i;
7052 {
7053#line 869
7054 __cil_tmp26 = zonestart + i;
7055#line 869
7056 return ((unsigned int )__cil_tmp26);
7057 }
7058 } else {
7059
7060 }
7061 }
7062#line 866
7063 i = i + 1;
7064 ldv_31244: ;
7065#line 866
7066 if (i < end) {
7067#line 867
7068 goto ldv_31243;
7069 } else {
7070#line 869
7071 goto ldv_31245;
7072 }
7073 ldv_31245:
7074#line 872
7075 i = 0;
7076#line 872
7077 goto ldv_31247;
7078 ldv_31246: ;
7079 {
7080#line 873
7081 __cil_tmp27 = zonestart + i;
7082#line 873
7083 __cil_tmp28 = (unsigned long )__cil_tmp27;
7084#line 873
7085 __cil_tmp29 = (unsigned long )info;
7086#line 873
7087 __cil_tmp30 = __cil_tmp29 + 40;
7088#line 873
7089 __cil_tmp31 = *((int **)__cil_tmp30);
7090#line 873
7091 __cil_tmp32 = __cil_tmp31 + __cil_tmp28;
7092#line 873
7093 __cil_tmp33 = *__cil_tmp32;
7094#line 873
7095 if (__cil_tmp33 == -1) {
7096#line 874
7097 lastpba = (unsigned int )i;
7098 {
7099#line 875
7100 __cil_tmp34 = zonestart + i;
7101#line 875
7102 return ((unsigned int )__cil_tmp34);
7103 }
7104 } else {
7105
7106 }
7107 }
7108#line 872
7109 i = i + 1;
7110 ldv_31247: ;
7111 {
7112#line 872
7113 __cil_tmp35 = (unsigned int )i;
7114#line 872
7115 if (__cil_tmp35 <= lastpba) {
7116#line 873
7117 goto ldv_31246;
7118 } else {
7119#line 875
7120 goto ldv_31248;
7121 }
7122 }
7123 ldv_31248: ;
7124#line 878
7125 return (0U);
7126}
7127}
7128#line 882 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
7129static int sddr09_write_lba(struct us_data *us , unsigned int lba , unsigned int page ,
7130 unsigned int pages , unsigned char *ptr , unsigned char *blockbuffer )
7131{ struct sddr09_card_info *info ;
7132 unsigned long address ;
7133 unsigned int pba ;
7134 unsigned int lbap ;
7135 unsigned int pagelen ;
7136 unsigned char *bptr ;
7137 unsigned char *cptr ;
7138 unsigned char *xptr ;
7139 unsigned char ecc[3U] ;
7140 int i ;
7141 int result ;
7142 int isnew ;
7143 int tmp ;
7144 int tmp___0 ;
7145 unsigned char tmp___1 ;
7146 unsigned char tmp___2 ;
7147 size_t __len ;
7148 void *__ret ;
7149 unsigned long __cil_tmp25 ;
7150 unsigned long __cil_tmp26 ;
7151 void *__cil_tmp27 ;
7152 unsigned int __cil_tmp28 ;
7153 unsigned int __cil_tmp29 ;
7154 unsigned int __cil_tmp30 ;
7155 unsigned int __cil_tmp31 ;
7156 unsigned int __cil_tmp32 ;
7157 unsigned long __cil_tmp33 ;
7158 unsigned long __cil_tmp34 ;
7159 unsigned char __cil_tmp35 ;
7160 unsigned int __cil_tmp36 ;
7161 unsigned long __cil_tmp37 ;
7162 unsigned long __cil_tmp38 ;
7163 unsigned long __cil_tmp39 ;
7164 int *__cil_tmp40 ;
7165 int *__cil_tmp41 ;
7166 int __cil_tmp42 ;
7167 unsigned long __cil_tmp43 ;
7168 unsigned long __cil_tmp44 ;
7169 unsigned long __cil_tmp45 ;
7170 int *__cil_tmp46 ;
7171 int *__cil_tmp47 ;
7172 unsigned long __cil_tmp48 ;
7173 unsigned long __cil_tmp49 ;
7174 unsigned long __cil_tmp50 ;
7175 int *__cil_tmp51 ;
7176 int *__cil_tmp52 ;
7177 unsigned long __cil_tmp53 ;
7178 unsigned long __cil_tmp54 ;
7179 int __cil_tmp55 ;
7180 int __cil_tmp56 ;
7181 int __cil_tmp57 ;
7182 unsigned long __cil_tmp58 ;
7183 unsigned long __cil_tmp59 ;
7184 int __cil_tmp60 ;
7185 unsigned long __cil_tmp61 ;
7186 unsigned long __cil_tmp62 ;
7187 int __cil_tmp63 ;
7188 int __cil_tmp64 ;
7189 unsigned int __cil_tmp65 ;
7190 unsigned long __cil_tmp66 ;
7191 unsigned long __cil_tmp67 ;
7192 unsigned long __cil_tmp68 ;
7193 int __cil_tmp69 ;
7194 unsigned long __cil_tmp70 ;
7195 unsigned long __cil_tmp71 ;
7196 int __cil_tmp72 ;
7197 unsigned int __cil_tmp73 ;
7198 unsigned int __cil_tmp74 ;
7199 unsigned long __cil_tmp75 ;
7200 unsigned long __cil_tmp76 ;
7201 unsigned long __cil_tmp77 ;
7202 int __cil_tmp78 ;
7203 unsigned long __cil_tmp79 ;
7204 unsigned char *__cil_tmp80 ;
7205 unsigned char *__cil_tmp81 ;
7206 unsigned char *__cil_tmp82 ;
7207 unsigned char *__cil_tmp83 ;
7208 unsigned char *__cil_tmp84 ;
7209 unsigned long __cil_tmp85 ;
7210 unsigned long __cil_tmp86 ;
7211 int __cil_tmp87 ;
7212 int __cil_tmp88 ;
7213 unsigned long __cil_tmp89 ;
7214 unsigned char *__cil_tmp90 ;
7215 unsigned char *__cil_tmp91 ;
7216 unsigned char *__cil_tmp92 ;
7217 unsigned char *__cil_tmp93 ;
7218 unsigned char *__cil_tmp94 ;
7219 unsigned char *__cil_tmp95 ;
7220 unsigned int __cil_tmp96 ;
7221 unsigned char *__cil_tmp97 ;
7222 unsigned char *__cil_tmp98 ;
7223 unsigned char *__cil_tmp99 ;
7224 unsigned char *__cil_tmp100 ;
7225 unsigned long __cil_tmp101 ;
7226 unsigned long __cil_tmp102 ;
7227 int __cil_tmp103 ;
7228 unsigned int __cil_tmp104 ;
7229 unsigned int __cil_tmp105 ;
7230 unsigned long __cil_tmp106 ;
7231 unsigned long __cil_tmp107 ;
7232 unsigned long __cil_tmp108 ;
7233 int __cil_tmp109 ;
7234 unsigned long __cil_tmp110 ;
7235 unsigned long __cil_tmp111 ;
7236 unsigned long __cil_tmp112 ;
7237 int __cil_tmp113 ;
7238 void *__cil_tmp114 ;
7239 void const *__cil_tmp115 ;
7240 unsigned long __cil_tmp116 ;
7241 unsigned long __cil_tmp117 ;
7242 int __cil_tmp118 ;
7243 unsigned long __cil_tmp119 ;
7244 unsigned char *__cil_tmp120 ;
7245 unsigned char *__cil_tmp121 ;
7246 unsigned char *__cil_tmp122 ;
7247 unsigned long __cil_tmp123 ;
7248 unsigned long __cil_tmp124 ;
7249 int __cil_tmp125 ;
7250 int __cil_tmp126 ;
7251 unsigned long __cil_tmp127 ;
7252 unsigned char *__cil_tmp128 ;
7253 unsigned char *__cil_tmp129 ;
7254 unsigned char *__cil_tmp130 ;
7255 unsigned char *__cil_tmp131 ;
7256 unsigned int __cil_tmp132 ;
7257 unsigned int __cil_tmp133 ;
7258 unsigned long __cil_tmp134 ;
7259 unsigned long __cil_tmp135 ;
7260 unsigned long __cil_tmp136 ;
7261 int __cil_tmp137 ;
7262 unsigned long __cil_tmp138 ;
7263 unsigned long __cil_tmp139 ;
7264 int __cil_tmp140 ;
7265
7266 {
7267#line 886
7268 __cil_tmp25 = (unsigned long )us;
7269#line 886
7270 __cil_tmp26 = __cil_tmp25 + 1080;
7271#line 886
7272 __cil_tmp27 = *((void **)__cil_tmp26);
7273#line 886
7274 info = (struct sddr09_card_info *)__cil_tmp27;
7275#line 894
7276 __cil_tmp28 = lba % 1000U;
7277#line 894
7278 __cil_tmp29 = __cil_tmp28 << 1;
7279#line 894
7280 lbap = __cil_tmp29 | 4096U;
7281 {
7282#line 895
7283 __cil_tmp30 = lbap & 255U;
7284#line 895
7285 __cil_tmp31 = lbap >> 8;
7286#line 895
7287 __cil_tmp32 = __cil_tmp31 ^ __cil_tmp30;
7288#line 895
7289 __cil_tmp33 = __cil_tmp32 * 1UL;
7290#line 895
7291 __cil_tmp34 = (unsigned long )(parity) + __cil_tmp33;
7292#line 895
7293 __cil_tmp35 = *((unsigned char *)__cil_tmp34);
7294#line 895
7295 __cil_tmp36 = (unsigned int )__cil_tmp35;
7296#line 895
7297 if (__cil_tmp36 != 0U) {
7298#line 896
7299 lbap = lbap ^ 1U;
7300 } else {
7301
7302 }
7303 }
7304#line 897
7305 __cil_tmp37 = (unsigned long )lba;
7306#line 897
7307 __cil_tmp38 = (unsigned long )info;
7308#line 897
7309 __cil_tmp39 = __cil_tmp38 + 32;
7310#line 897
7311 __cil_tmp40 = *((int **)__cil_tmp39);
7312#line 897
7313 __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
7314#line 897
7315 __cil_tmp42 = *__cil_tmp41;
7316#line 897
7317 pba = (unsigned int )__cil_tmp42;
7318#line 898
7319 isnew = 0;
7320#line 900
7321 if (pba == 4294967295U) {
7322 {
7323#line 901
7324 pba = sddr09_find_unused_pba(info, lba);
7325 }
7326#line 902
7327 if (pba == 0U) {
7328 {
7329#line 903
7330 printk("<4>sddr09_write_lba: Out of unused blocks\n");
7331 }
7332#line 905
7333 return (-28);
7334 } else {
7335
7336 }
7337#line 907
7338 __cil_tmp43 = (unsigned long )pba;
7339#line 907
7340 __cil_tmp44 = (unsigned long )info;
7341#line 907
7342 __cil_tmp45 = __cil_tmp44 + 40;
7343#line 907
7344 __cil_tmp46 = *((int **)__cil_tmp45);
7345#line 907
7346 __cil_tmp47 = __cil_tmp46 + __cil_tmp43;
7347#line 907
7348 *__cil_tmp47 = (int )lba;
7349#line 908
7350 __cil_tmp48 = (unsigned long )lba;
7351#line 908
7352 __cil_tmp49 = (unsigned long )info;
7353#line 908
7354 __cil_tmp50 = __cil_tmp49 + 32;
7355#line 908
7356 __cil_tmp51 = *((int **)__cil_tmp50);
7357#line 908
7358 __cil_tmp52 = __cil_tmp51 + __cil_tmp48;
7359#line 908
7360 *__cil_tmp52 = (int )pba;
7361#line 909
7362 isnew = 1;
7363 } else {
7364
7365 }
7366#line 912
7367 if (pba == 1U) {
7368 {
7369#line 915
7370 printk("<4>sddr09: avoid writing to pba 1\n");
7371 }
7372#line 916
7373 return (0);
7374 } else {
7375
7376 }
7377 {
7378#line 919
7379 __cil_tmp53 = (unsigned long )info;
7380#line 919
7381 __cil_tmp54 = __cil_tmp53 + 12;
7382#line 919
7383 __cil_tmp55 = *((int *)__cil_tmp54);
7384#line 919
7385 __cil_tmp56 = 1 << __cil_tmp55;
7386#line 919
7387 __cil_tmp57 = __cil_tmp56 + 64;
7388#line 919
7389 pagelen = (unsigned int )__cil_tmp57;
7390#line 922
7391 __cil_tmp58 = (unsigned long )info;
7392#line 922
7393 __cil_tmp59 = __cil_tmp58 + 20;
7394#line 922
7395 __cil_tmp60 = *((int *)__cil_tmp59);
7396#line 922
7397 __cil_tmp61 = (unsigned long )info;
7398#line 922
7399 __cil_tmp62 = __cil_tmp61 + 12;
7400#line 922
7401 __cil_tmp63 = *((int *)__cil_tmp62);
7402#line 922
7403 __cil_tmp64 = __cil_tmp63 + __cil_tmp60;
7404#line 922
7405 __cil_tmp65 = pba << __cil_tmp64;
7406#line 922
7407 address = (unsigned long )__cil_tmp65;
7408#line 923
7409 __cil_tmp66 = address >> 1;
7410#line 923
7411 __cil_tmp67 = (unsigned long )info;
7412#line 923
7413 __cil_tmp68 = __cil_tmp67 + 16;
7414#line 923
7415 __cil_tmp69 = *((int *)__cil_tmp68);
7416#line 923
7417 __cil_tmp70 = (unsigned long )info;
7418#line 923
7419 __cil_tmp71 = __cil_tmp70 + 12;
7420#line 923
7421 __cil_tmp72 = *((int *)__cil_tmp71);
7422#line 923
7423 result = sddr09_read22(us, __cil_tmp66, __cil_tmp69, __cil_tmp72, blockbuffer, 0);
7424 }
7425#line 925
7426 if (result != 0) {
7427#line 926
7428 return (result);
7429 } else {
7430
7431 }
7432#line 929
7433 i = 0;
7434#line 929
7435 goto ldv_31270;
7436 ldv_31269:
7437 {
7438#line 930
7439 __cil_tmp73 = (unsigned int )i;
7440#line 930
7441 __cil_tmp74 = __cil_tmp73 * pagelen;
7442#line 930
7443 __cil_tmp75 = (unsigned long )__cil_tmp74;
7444#line 930
7445 bptr = blockbuffer + __cil_tmp75;
7446#line 931
7447 __cil_tmp76 = (unsigned long )info;
7448#line 931
7449 __cil_tmp77 = __cil_tmp76 + 8;
7450#line 931
7451 __cil_tmp78 = *((int *)__cil_tmp77);
7452#line 931
7453 __cil_tmp79 = (unsigned long )__cil_tmp78;
7454#line 931
7455 cptr = bptr + __cil_tmp79;
7456#line 932
7457 __cil_tmp80 = (unsigned char *)(& ecc);
7458#line 932
7459 nand_compute_ecc(bptr, __cil_tmp80);
7460#line 933
7461 __cil_tmp81 = cptr + 13UL;
7462#line 933
7463 __cil_tmp82 = (unsigned char *)(& ecc);
7464#line 933
7465 tmp = nand_compare_ecc(__cil_tmp81, __cil_tmp82);
7466 }
7467#line 933
7468 if (tmp == 0) {
7469 {
7470#line 934
7471 printk("<7>usb-storage: Warning: bad ecc in page %d- of pba %d\n", i, pba);
7472#line 936
7473 __cil_tmp83 = cptr + 13UL;
7474#line 936
7475 __cil_tmp84 = (unsigned char *)(& ecc);
7476#line 936
7477 nand_store_ecc(__cil_tmp83, __cil_tmp84);
7478 }
7479 } else {
7480
7481 }
7482 {
7483#line 938
7484 __cil_tmp85 = (unsigned long )info;
7485#line 938
7486 __cil_tmp86 = __cil_tmp85 + 8;
7487#line 938
7488 __cil_tmp87 = *((int *)__cil_tmp86);
7489#line 938
7490 __cil_tmp88 = __cil_tmp87 / 2;
7491#line 938
7492 __cil_tmp89 = (unsigned long )__cil_tmp88;
7493#line 938
7494 __cil_tmp90 = bptr + __cil_tmp89;
7495#line 938
7496 __cil_tmp91 = (unsigned char *)(& ecc);
7497#line 938
7498 nand_compute_ecc(__cil_tmp90, __cil_tmp91);
7499#line 939
7500 __cil_tmp92 = cptr + 8UL;
7501#line 939
7502 __cil_tmp93 = (unsigned char *)(& ecc);
7503#line 939
7504 tmp___0 = nand_compare_ecc(__cil_tmp92, __cil_tmp93);
7505 }
7506#line 939
7507 if (tmp___0 == 0) {
7508 {
7509#line 940
7510 printk("<7>usb-storage: Warning: bad ecc in page %d+ of pba %d\n", i, pba);
7511#line 942
7512 __cil_tmp94 = cptr + 8UL;
7513#line 942
7514 __cil_tmp95 = (unsigned char *)(& ecc);
7515#line 942
7516 nand_store_ecc(__cil_tmp94, __cil_tmp95);
7517 }
7518 } else {
7519
7520 }
7521#line 944
7522 __cil_tmp96 = lbap >> 8;
7523#line 944
7524 tmp___1 = (unsigned char )__cil_tmp96;
7525#line 944
7526 __cil_tmp97 = cptr + 11UL;
7527#line 944
7528 *__cil_tmp97 = tmp___1;
7529#line 944
7530 __cil_tmp98 = cptr + 6UL;
7531#line 944
7532 *__cil_tmp98 = tmp___1;
7533#line 945
7534 tmp___2 = (unsigned char )lbap;
7535#line 945
7536 __cil_tmp99 = cptr + 12UL;
7537#line 945
7538 *__cil_tmp99 = tmp___2;
7539#line 945
7540 __cil_tmp100 = cptr + 7UL;
7541#line 945
7542 *__cil_tmp100 = tmp___2;
7543#line 929
7544 i = i + 1;
7545 ldv_31270: ;
7546 {
7547#line 929
7548 __cil_tmp101 = (unsigned long )info;
7549#line 929
7550 __cil_tmp102 = __cil_tmp101 + 16;
7551#line 929
7552 __cil_tmp103 = *((int *)__cil_tmp102);
7553#line 929
7554 if (__cil_tmp103 > i) {
7555#line 930
7556 goto ldv_31269;
7557 } else {
7558#line 932
7559 goto ldv_31271;
7560 }
7561 }
7562 ldv_31271:
7563#line 949
7564 xptr = ptr;
7565#line 950
7566 i = (int )page;
7567#line 950
7568 goto ldv_31276;
7569 ldv_31275:
7570 {
7571#line 951
7572 __cil_tmp104 = (unsigned int )i;
7573#line 951
7574 __cil_tmp105 = __cil_tmp104 * pagelen;
7575#line 951
7576 __cil_tmp106 = (unsigned long )__cil_tmp105;
7577#line 951
7578 bptr = blockbuffer + __cil_tmp106;
7579#line 952
7580 __cil_tmp107 = (unsigned long )info;
7581#line 952
7582 __cil_tmp108 = __cil_tmp107 + 8;
7583#line 952
7584 __cil_tmp109 = *((int *)__cil_tmp108);
7585#line 952
7586 __cil_tmp110 = (unsigned long )__cil_tmp109;
7587#line 952
7588 cptr = bptr + __cil_tmp110;
7589#line 953
7590 __cil_tmp111 = (unsigned long )info;
7591#line 953
7592 __cil_tmp112 = __cil_tmp111 + 8;
7593#line 953
7594 __cil_tmp113 = *((int *)__cil_tmp112);
7595#line 953
7596 __len = (size_t )__cil_tmp113;
7597#line 953
7598 __cil_tmp114 = (void *)bptr;
7599#line 953
7600 __cil_tmp115 = (void const *)xptr;
7601#line 953
7602 __ret = __builtin_memcpy(__cil_tmp114, __cil_tmp115, __len);
7603#line 954
7604 __cil_tmp116 = (unsigned long )info;
7605#line 954
7606 __cil_tmp117 = __cil_tmp116 + 8;
7607#line 954
7608 __cil_tmp118 = *((int *)__cil_tmp117);
7609#line 954
7610 __cil_tmp119 = (unsigned long )__cil_tmp118;
7611#line 954
7612 xptr = xptr + __cil_tmp119;
7613#line 955
7614 __cil_tmp120 = (unsigned char *)(& ecc);
7615#line 955
7616 nand_compute_ecc(bptr, __cil_tmp120);
7617#line 956
7618 __cil_tmp121 = cptr + 13UL;
7619#line 956
7620 __cil_tmp122 = (unsigned char *)(& ecc);
7621#line 956
7622 nand_store_ecc(__cil_tmp121, __cil_tmp122);
7623#line 957
7624 __cil_tmp123 = (unsigned long )info;
7625#line 957
7626 __cil_tmp124 = __cil_tmp123 + 8;
7627#line 957
7628 __cil_tmp125 = *((int *)__cil_tmp124);
7629#line 957
7630 __cil_tmp126 = __cil_tmp125 / 2;
7631#line 957
7632 __cil_tmp127 = (unsigned long )__cil_tmp126;
7633#line 957
7634 __cil_tmp128 = bptr + __cil_tmp127;
7635#line 957
7636 __cil_tmp129 = (unsigned char *)(& ecc);
7637#line 957
7638 nand_compute_ecc(__cil_tmp128, __cil_tmp129);
7639#line 958
7640 __cil_tmp130 = cptr + 8UL;
7641#line 958
7642 __cil_tmp131 = (unsigned char *)(& ecc);
7643#line 958
7644 nand_store_ecc(__cil_tmp130, __cil_tmp131);
7645#line 950
7646 i = i + 1;
7647 }
7648 ldv_31276: ;
7649 {
7650#line 950
7651 __cil_tmp132 = page + pages;
7652#line 950
7653 __cil_tmp133 = (unsigned int )i;
7654#line 950
7655 if (__cil_tmp133 < __cil_tmp132) {
7656#line 951
7657 goto ldv_31275;
7658 } else {
7659#line 953
7660 goto ldv_31277;
7661 }
7662 }
7663 ldv_31277:
7664 {
7665#line 961
7666 printk("<7>usb-storage: Rewrite PBA %d (LBA %d)\n", pba, lba);
7667#line 963
7668 __cil_tmp134 = address >> 1;
7669#line 963
7670 __cil_tmp135 = (unsigned long )info;
7671#line 963
7672 __cil_tmp136 = __cil_tmp135 + 16;
7673#line 963
7674 __cil_tmp137 = *((int *)__cil_tmp136);
7675#line 963
7676 __cil_tmp138 = (unsigned long )info;
7677#line 963
7678 __cil_tmp139 = __cil_tmp138 + 12;
7679#line 963
7680 __cil_tmp140 = *((int *)__cil_tmp139);
7681#line 963
7682 result = sddr09_write_inplace(us, __cil_tmp134, __cil_tmp137, __cil_tmp140, blockbuffer,
7683 0);
7684#line 966
7685 printk("<7>usb-storage: sddr09_write_inplace returns %d\n", result);
7686 }
7687#line 986
7688 return (result);
7689}
7690}
7691#line 990 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
7692static int sddr09_write_data(struct us_data *us , unsigned long address , unsigned int sectors )
7693{ struct sddr09_card_info *info ;
7694 unsigned int lba ;
7695 unsigned int maxlba ;
7696 unsigned int page ;
7697 unsigned int pages ;
7698 unsigned int pagelen ;
7699 unsigned int blocklen ;
7700 unsigned char *blockbuffer ;
7701 unsigned char *buffer ;
7702 unsigned int len ;
7703 unsigned int offset ;
7704 struct scatterlist *sg ;
7705 int result ;
7706 void *tmp ;
7707 unsigned int _min1 ;
7708 unsigned int _min2 ;
7709 unsigned int tmp___0 ;
7710 void *tmp___1 ;
7711 unsigned int _min1___0 ;
7712 unsigned int _min2___0 ;
7713 unsigned int tmp___2 ;
7714 unsigned long __cil_tmp25 ;
7715 unsigned long __cil_tmp26 ;
7716 void *__cil_tmp27 ;
7717 unsigned long __cil_tmp28 ;
7718 unsigned long __cil_tmp29 ;
7719 int __cil_tmp30 ;
7720 unsigned long __cil_tmp31 ;
7721 unsigned int __cil_tmp32 ;
7722 unsigned long __cil_tmp33 ;
7723 unsigned long __cil_tmp34 ;
7724 int __cil_tmp35 ;
7725 unsigned int __cil_tmp36 ;
7726 unsigned long __cil_tmp37 ;
7727 unsigned long __cil_tmp38 ;
7728 int __cil_tmp39 ;
7729 unsigned long __cil_tmp40 ;
7730 unsigned long __cil_tmp41 ;
7731 int __cil_tmp42 ;
7732 int __cil_tmp43 ;
7733 unsigned long __cil_tmp44 ;
7734 unsigned long __cil_tmp45 ;
7735 unsigned long __cil_tmp46 ;
7736 unsigned long __cil_tmp47 ;
7737 int __cil_tmp48 ;
7738 int __cil_tmp49 ;
7739 int __cil_tmp50 ;
7740 unsigned long __cil_tmp51 ;
7741 unsigned long __cil_tmp52 ;
7742 int __cil_tmp53 ;
7743 size_t __cil_tmp54 ;
7744 unsigned char *__cil_tmp55 ;
7745 unsigned long __cil_tmp56 ;
7746 unsigned long __cil_tmp57 ;
7747 unsigned long __cil_tmp58 ;
7748 unsigned long __cil_tmp59 ;
7749 int __cil_tmp60 ;
7750 unsigned long __cil_tmp61 ;
7751 unsigned long __cil_tmp62 ;
7752 int __cil_tmp63 ;
7753 unsigned int __cil_tmp64 ;
7754 size_t __cil_tmp65 ;
7755 unsigned char *__cil_tmp66 ;
7756 unsigned long __cil_tmp67 ;
7757 unsigned long __cil_tmp68 ;
7758 void const *__cil_tmp69 ;
7759 unsigned int *__cil_tmp70 ;
7760 struct scatterlist **__cil_tmp71 ;
7761 unsigned long __cil_tmp72 ;
7762 unsigned long __cil_tmp73 ;
7763 int __cil_tmp74 ;
7764 unsigned int __cil_tmp75 ;
7765 unsigned long __cil_tmp76 ;
7766 unsigned long __cil_tmp77 ;
7767 int __cil_tmp78 ;
7768 unsigned long __cil_tmp79 ;
7769 unsigned long __cil_tmp80 ;
7770 struct scsi_cmnd *__cil_tmp81 ;
7771 enum xfer_buf_dir __cil_tmp82 ;
7772 void const *__cil_tmp83 ;
7773 void const *__cil_tmp84 ;
7774
7775 {
7776#line 994
7777 __cil_tmp25 = (unsigned long )us;
7778#line 994
7779 __cil_tmp26 = __cil_tmp25 + 1080;
7780#line 994
7781 __cil_tmp27 = *((void **)__cil_tmp26);
7782#line 994
7783 info = (struct sddr09_card_info *)__cil_tmp27;
7784#line 1004
7785 __cil_tmp28 = (unsigned long )info;
7786#line 1004
7787 __cil_tmp29 = __cil_tmp28 + 20;
7788#line 1004
7789 __cil_tmp30 = *((int *)__cil_tmp29);
7790#line 1004
7791 __cil_tmp31 = address >> __cil_tmp30;
7792#line 1004
7793 lba = (unsigned int )__cil_tmp31;
7794#line 1005
7795 __cil_tmp32 = (unsigned int )address;
7796#line 1005
7797 __cil_tmp33 = (unsigned long )info;
7798#line 1005
7799 __cil_tmp34 = __cil_tmp33 + 24;
7800#line 1005
7801 __cil_tmp35 = *((int *)__cil_tmp34);
7802#line 1005
7803 __cil_tmp36 = (unsigned int )__cil_tmp35;
7804#line 1005
7805 page = __cil_tmp36 & __cil_tmp32;
7806#line 1006
7807 __cil_tmp37 = (unsigned long )info;
7808#line 1006
7809 __cil_tmp38 = __cil_tmp37 + 20;
7810#line 1006
7811 __cil_tmp39 = *((int *)__cil_tmp38);
7812#line 1006
7813 __cil_tmp40 = (unsigned long )info;
7814#line 1006
7815 __cil_tmp41 = __cil_tmp40 + 12;
7816#line 1006
7817 __cil_tmp42 = *((int *)__cil_tmp41);
7818#line 1006
7819 __cil_tmp43 = __cil_tmp42 + __cil_tmp39;
7820#line 1006
7821 __cil_tmp44 = *((unsigned long *)info);
7822#line 1006
7823 __cil_tmp45 = __cil_tmp44 >> __cil_tmp43;
7824#line 1006
7825 maxlba = (unsigned int )__cil_tmp45;
7826#line 1007
7827 if (lba >= maxlba) {
7828#line 1008
7829 return (-5);
7830 } else {
7831
7832 }
7833 {
7834#line 1016
7835 __cil_tmp46 = (unsigned long )info;
7836#line 1016
7837 __cil_tmp47 = __cil_tmp46 + 12;
7838#line 1016
7839 __cil_tmp48 = *((int *)__cil_tmp47);
7840#line 1016
7841 __cil_tmp49 = 1 << __cil_tmp48;
7842#line 1016
7843 __cil_tmp50 = __cil_tmp49 + 64;
7844#line 1016
7845 pagelen = (unsigned int )__cil_tmp50;
7846#line 1017
7847 __cil_tmp51 = (unsigned long )info;
7848#line 1017
7849 __cil_tmp52 = __cil_tmp51 + 20;
7850#line 1017
7851 __cil_tmp53 = *((int *)__cil_tmp52);
7852#line 1017
7853 blocklen = pagelen << __cil_tmp53;
7854#line 1018
7855 __cil_tmp54 = (size_t )blocklen;
7856#line 1018
7857 tmp = kmalloc(__cil_tmp54, 16U);
7858#line 1018
7859 blockbuffer = (unsigned char *)tmp;
7860 }
7861 {
7862#line 1019
7863 __cil_tmp55 = (unsigned char *)0;
7864#line 1019
7865 __cil_tmp56 = (unsigned long )__cil_tmp55;
7866#line 1019
7867 __cil_tmp57 = (unsigned long )blockbuffer;
7868#line 1019
7869 if (__cil_tmp57 == __cil_tmp56) {
7870 {
7871#line 1020
7872 printk("<4>sddr09_write_data: Out of memory\n");
7873 }
7874#line 1021
7875 return (-12);
7876 } else {
7877
7878 }
7879 }
7880#line 1028
7881 _min1 = sectors;
7882#line 1028
7883 __cil_tmp58 = (unsigned long )info;
7884#line 1028
7885 __cil_tmp59 = __cil_tmp58 + 16;
7886#line 1028
7887 __cil_tmp60 = *((int *)__cil_tmp59);
7888#line 1028
7889 _min2 = (unsigned int )__cil_tmp60;
7890#line 1028
7891 if (_min1 < _min2) {
7892#line 1028
7893 tmp___0 = _min1;
7894 } else {
7895#line 1028
7896 tmp___0 = _min2;
7897 }
7898 {
7899#line 1028
7900 __cil_tmp61 = (unsigned long )info;
7901#line 1028
7902 __cil_tmp62 = __cil_tmp61 + 8;
7903#line 1028
7904 __cil_tmp63 = *((int *)__cil_tmp62);
7905#line 1028
7906 __cil_tmp64 = (unsigned int )__cil_tmp63;
7907#line 1028
7908 len = tmp___0 * __cil_tmp64;
7909#line 1029
7910 __cil_tmp65 = (size_t )len;
7911#line 1029
7912 tmp___1 = kmalloc(__cil_tmp65, 16U);
7913#line 1029
7914 buffer = (unsigned char *)tmp___1;
7915 }
7916 {
7917#line 1030
7918 __cil_tmp66 = (unsigned char *)0;
7919#line 1030
7920 __cil_tmp67 = (unsigned long )__cil_tmp66;
7921#line 1030
7922 __cil_tmp68 = (unsigned long )buffer;
7923#line 1030
7924 if (__cil_tmp68 == __cil_tmp67) {
7925 {
7926#line 1031
7927 printk("<4>sddr09_write_data: Out of memory\n");
7928#line 1032
7929 __cil_tmp69 = (void const *)blockbuffer;
7930#line 1032
7931 kfree(__cil_tmp69);
7932 }
7933#line 1033
7934 return (-12);
7935 } else {
7936
7937 }
7938 }
7939#line 1036
7940 result = 0;
7941#line 1037
7942 __cil_tmp70 = & offset;
7943#line 1037
7944 *__cil_tmp70 = 0U;
7945#line 1038
7946 __cil_tmp71 = & sg;
7947#line 1038
7948 *__cil_tmp71 = (struct scatterlist *)0;
7949#line 1040
7950 goto ldv_31304;
7951 ldv_31303:
7952#line 1044
7953 _min1___0 = sectors;
7954#line 1044
7955 __cil_tmp72 = (unsigned long )info;
7956#line 1044
7957 __cil_tmp73 = __cil_tmp72 + 16;
7958#line 1044
7959 __cil_tmp74 = *((int *)__cil_tmp73);
7960#line 1044
7961 __cil_tmp75 = (unsigned int )__cil_tmp74;
7962#line 1044
7963 _min2___0 = __cil_tmp75 - page;
7964#line 1044
7965 if (_min1___0 < _min2___0) {
7966#line 1044
7967 tmp___2 = _min1___0;
7968 } else {
7969#line 1044
7970 tmp___2 = _min2___0;
7971 }
7972#line 1044
7973 pages = tmp___2;
7974#line 1045
7975 __cil_tmp76 = (unsigned long )info;
7976#line 1045
7977 __cil_tmp77 = __cil_tmp76 + 12;
7978#line 1045
7979 __cil_tmp78 = *((int *)__cil_tmp77);
7980#line 1045
7981 len = pages << __cil_tmp78;
7982#line 1048
7983 if (lba >= maxlba) {
7984 {
7985#line 1049
7986 printk("<7>usb-storage: Error: Requested lba %u exceeds maximum %u\n", lba, maxlba);
7987#line 1051
7988 result = -5;
7989 }
7990#line 1052
7991 goto ldv_31302;
7992 } else {
7993
7994 }
7995 {
7996#line 1056
7997 __cil_tmp79 = (unsigned long )us;
7998#line 1056
7999 __cil_tmp80 = __cil_tmp79 + 288;
8000#line 1056
8001 __cil_tmp81 = *((struct scsi_cmnd **)__cil_tmp80);
8002#line 1056
8003 __cil_tmp82 = (enum xfer_buf_dir )1;
8004#line 1056
8005 usb_stor_access_xfer_buf(buffer, len, __cil_tmp81, & sg, & offset, __cil_tmp82);
8006#line 1059
8007 result = sddr09_write_lba(us, lba, page, pages, buffer, blockbuffer);
8008 }
8009#line 1061
8010 if (result != 0) {
8011#line 1062
8012 goto ldv_31302;
8013 } else {
8014
8015 }
8016#line 1064
8017 page = 0U;
8018#line 1065
8019 lba = lba + 1U;
8020#line 1066
8021 sectors = sectors - pages;
8022 ldv_31304: ;
8023#line 1040
8024 if (sectors != 0U) {
8025#line 1041
8026 goto ldv_31303;
8027 } else {
8028#line 1043
8029 goto ldv_31302;
8030 }
8031 ldv_31302:
8032 {
8033#line 1069
8034 __cil_tmp83 = (void const *)buffer;
8035#line 1069
8036 kfree(__cil_tmp83);
8037#line 1070
8038 __cil_tmp84 = (void const *)blockbuffer;
8039#line 1070
8040 kfree(__cil_tmp84);
8041 }
8042#line 1072
8043 return (result);
8044}
8045}
8046#line 1076 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
8047static int sddr09_read_control(struct us_data *us , unsigned long address , unsigned int blocks ,
8048 unsigned char *content , int use_sg )
8049{ int tmp ;
8050 int __cil_tmp7 ;
8051
8052 {
8053 {
8054#line 1082
8055 printk("<7>usb-storage: Read control address %lu, blocks %d\n", address, blocks);
8056#line 1085
8057 __cil_tmp7 = (int )blocks;
8058#line 1085
8059 tmp = sddr09_read21(us, address, __cil_tmp7, 6, content, use_sg);
8060 }
8061#line 1085
8062 return (tmp);
8063}
8064}
8065#line 1100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
8066static int sddr09_read_deviceID(struct us_data *us , unsigned char *deviceID )
8067{ unsigned char *command ;
8068 unsigned char *content ;
8069 int result ;
8070 int i ;
8071 int tmp ;
8072 unsigned long __cil_tmp8 ;
8073 unsigned long __cil_tmp9 ;
8074 unsigned long __cil_tmp10 ;
8075 unsigned long __cil_tmp11 ;
8076 void *__cil_tmp12 ;
8077 unsigned char *__cil_tmp13 ;
8078 unsigned long __cil_tmp14 ;
8079 unsigned long __cil_tmp15 ;
8080 unsigned int __cil_tmp16 ;
8081 void *__cil_tmp17 ;
8082 unsigned int *__cil_tmp18 ;
8083 unsigned long __cil_tmp19 ;
8084 unsigned char *__cil_tmp20 ;
8085 unsigned long __cil_tmp21 ;
8086 unsigned char *__cil_tmp22 ;
8087
8088 {
8089 {
8090#line 1101
8091 __cil_tmp8 = (unsigned long )us;
8092#line 1101
8093 __cil_tmp9 = __cil_tmp8 + 568;
8094#line 1101
8095 command = *((unsigned char **)__cil_tmp9);
8096#line 1102
8097 __cil_tmp10 = (unsigned long )us;
8098#line 1102
8099 __cil_tmp11 = __cil_tmp10 + 568;
8100#line 1102
8101 content = *((unsigned char **)__cil_tmp11);
8102#line 1105
8103 __cil_tmp12 = (void *)command;
8104#line 1105
8105 memset(__cil_tmp12, 0, 12UL);
8106#line 1106
8107 *command = (unsigned char)237;
8108#line 1107
8109 __cil_tmp13 = command + 1UL;
8110#line 1107
8111 *__cil_tmp13 = (unsigned char)32;
8112#line 1109
8113 result = sddr09_send_scsi_command(us, command, 12U);
8114 }
8115#line 1110
8116 if (result != 0) {
8117#line 1111
8118 return (result);
8119 } else {
8120
8121 }
8122 {
8123#line 1113
8124 __cil_tmp14 = (unsigned long )us;
8125#line 1113
8126 __cil_tmp15 = __cil_tmp14 + 212;
8127#line 1113
8128 __cil_tmp16 = *((unsigned int *)__cil_tmp15);
8129#line 1113
8130 __cil_tmp17 = (void *)content;
8131#line 1113
8132 __cil_tmp18 = (unsigned int *)0;
8133#line 1113
8134 result = usb_stor_bulk_transfer_buf(us, __cil_tmp16, __cil_tmp17, 64U, __cil_tmp18);
8135#line 1116
8136 i = 0;
8137 }
8138#line 1116
8139 goto ldv_31321;
8140 ldv_31320:
8141#line 1117
8142 __cil_tmp19 = (unsigned long )i;
8143#line 1117
8144 __cil_tmp20 = deviceID + __cil_tmp19;
8145#line 1117
8146 __cil_tmp21 = (unsigned long )i;
8147#line 1117
8148 __cil_tmp22 = content + __cil_tmp21;
8149#line 1117
8150 *__cil_tmp20 = *__cil_tmp22;
8151#line 1116
8152 i = i + 1;
8153 ldv_31321: ;
8154#line 1116
8155 if (i <= 3) {
8156#line 1117
8157 goto ldv_31320;
8158 } else {
8159#line 1119
8160 goto ldv_31322;
8161 }
8162 ldv_31322: ;
8163#line 1119
8164 if (result == 0) {
8165#line 1119
8166 tmp = 0;
8167 } else {
8168#line 1119
8169 tmp = -5;
8170 }
8171#line 1119
8172 return (tmp);
8173}
8174}
8175#line 1123 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
8176static int sddr09_get_wp(struct us_data *us , struct sddr09_card_info *info )
8177{ int result ;
8178 unsigned char status ;
8179 unsigned char *__cil_tmp5 ;
8180 unsigned char __cil_tmp6 ;
8181 int __cil_tmp7 ;
8182 unsigned char *__cil_tmp8 ;
8183 unsigned char __cil_tmp9 ;
8184 signed char __cil_tmp10 ;
8185 int __cil_tmp11 ;
8186 unsigned long __cil_tmp12 ;
8187 unsigned long __cil_tmp13 ;
8188 unsigned long __cil_tmp14 ;
8189 unsigned long __cil_tmp15 ;
8190 int __cil_tmp16 ;
8191 unsigned char *__cil_tmp17 ;
8192 unsigned char __cil_tmp18 ;
8193 int __cil_tmp19 ;
8194 int __cil_tmp20 ;
8195 unsigned char *__cil_tmp21 ;
8196 unsigned char __cil_tmp22 ;
8197 int __cil_tmp23 ;
8198 int __cil_tmp24 ;
8199 unsigned char *__cil_tmp25 ;
8200 unsigned char __cil_tmp26 ;
8201 int __cil_tmp27 ;
8202
8203 {
8204 {
8205#line 1127
8206 result = sddr09_read_status(us, & status);
8207 }
8208#line 1128
8209 if (result != 0) {
8210 {
8211#line 1129
8212 printk("<7>usb-storage: sddr09_get_wp: read_status fails\n");
8213 }
8214#line 1130
8215 return (result);
8216 } else {
8217
8218 }
8219 {
8220#line 1132
8221 __cil_tmp5 = & status;
8222#line 1132
8223 __cil_tmp6 = *__cil_tmp5;
8224#line 1132
8225 __cil_tmp7 = (int )__cil_tmp6;
8226#line 1132
8227 printk("<7>usb-storage: sddr09_get_wp: status 0x%02X", __cil_tmp7);
8228 }
8229 {
8230#line 1133
8231 __cil_tmp8 = & status;
8232#line 1133
8233 __cil_tmp9 = *__cil_tmp8;
8234#line 1133
8235 __cil_tmp10 = (signed char )__cil_tmp9;
8236#line 1133
8237 __cil_tmp11 = (int )__cil_tmp10;
8238#line 1133
8239 if (__cil_tmp11 >= 0) {
8240 {
8241#line 1134
8242 __cil_tmp12 = (unsigned long )info;
8243#line 1134
8244 __cil_tmp13 = __cil_tmp12 + 52;
8245#line 1134
8246 __cil_tmp14 = (unsigned long )info;
8247#line 1134
8248 __cil_tmp15 = __cil_tmp14 + 52;
8249#line 1134
8250 __cil_tmp16 = *((int *)__cil_tmp15);
8251#line 1134
8252 *((int *)__cil_tmp13) = __cil_tmp16 | 1;
8253#line 1135
8254 printk("<7>usb-storage: WP");
8255 }
8256 } else {
8257
8258 }
8259 }
8260 {
8261#line 1137
8262 __cil_tmp17 = & status;
8263#line 1137
8264 __cil_tmp18 = *__cil_tmp17;
8265#line 1137
8266 __cil_tmp19 = (int )__cil_tmp18;
8267#line 1137
8268 __cil_tmp20 = __cil_tmp19 & 64;
8269#line 1137
8270 if (__cil_tmp20 != 0) {
8271 {
8272#line 1138
8273 printk("<7>usb-storage: Ready");
8274 }
8275 } else {
8276
8277 }
8278 }
8279 {
8280#line 1139
8281 __cil_tmp21 = & status;
8282#line 1139
8283 __cil_tmp22 = *__cil_tmp21;
8284#line 1139
8285 __cil_tmp23 = (int )__cil_tmp22;
8286#line 1139
8287 __cil_tmp24 = __cil_tmp23 & 32;
8288#line 1139
8289 if (__cil_tmp24 != 0) {
8290 {
8291#line 1140
8292 printk("<7>usb-storage: Suspended");
8293 }
8294 } else {
8295
8296 }
8297 }
8298 {
8299#line 1141
8300 __cil_tmp25 = & status;
8301#line 1141
8302 __cil_tmp26 = *__cil_tmp25;
8303#line 1141
8304 __cil_tmp27 = (int )__cil_tmp26;
8305#line 1141
8306 if (__cil_tmp27 & 1) {
8307 {
8308#line 1142
8309 printk("<7>usb-storage: Error");
8310 }
8311 } else {
8312
8313 }
8314 }
8315 {
8316#line 1143
8317 printk("<7>usb-storage: \n");
8318 }
8319#line 1144
8320 return (0);
8321}
8322}
8323#line 1166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
8324static struct nand_flash_dev *sddr09_get_cardinfo(struct us_data *us , unsigned char flags )
8325{ struct nand_flash_dev *cardinfo ;
8326 unsigned char deviceID[4U] ;
8327 char blurbtxt[256U] ;
8328 int result ;
8329 char *tmp ;
8330 size_t tmp___0 ;
8331 size_t tmp___1 ;
8332 size_t tmp___2 ;
8333 size_t tmp___3 ;
8334 size_t tmp___4 ;
8335 size_t tmp___5 ;
8336 unsigned char *__cil_tmp14 ;
8337 char *__cil_tmp15 ;
8338 unsigned long __cil_tmp16 ;
8339 unsigned long __cil_tmp17 ;
8340 unsigned char __cil_tmp18 ;
8341 int __cil_tmp19 ;
8342 unsigned long __cil_tmp20 ;
8343 unsigned long __cil_tmp21 ;
8344 unsigned char __cil_tmp22 ;
8345 int __cil_tmp23 ;
8346 unsigned long __cil_tmp24 ;
8347 unsigned long __cil_tmp25 ;
8348 unsigned char __cil_tmp26 ;
8349 int __cil_tmp27 ;
8350 unsigned long __cil_tmp28 ;
8351 unsigned long __cil_tmp29 ;
8352 unsigned char __cil_tmp30 ;
8353 int __cil_tmp31 ;
8354 unsigned long __cil_tmp32 ;
8355 unsigned long __cil_tmp33 ;
8356 unsigned char __cil_tmp34 ;
8357 int __cil_tmp35 ;
8358 char const *__cil_tmp36 ;
8359 char *__cil_tmp37 ;
8360 char *__cil_tmp38 ;
8361 unsigned long __cil_tmp39 ;
8362 unsigned long __cil_tmp40 ;
8363 unsigned char __cil_tmp41 ;
8364 int __cil_tmp42 ;
8365 unsigned char __cil_tmp43 ;
8366 struct nand_flash_dev *__cil_tmp44 ;
8367 unsigned long __cil_tmp45 ;
8368 unsigned long __cil_tmp46 ;
8369 char const *__cil_tmp47 ;
8370 char *__cil_tmp48 ;
8371 char *__cil_tmp49 ;
8372 unsigned long __cil_tmp50 ;
8373 unsigned long __cil_tmp51 ;
8374 int __cil_tmp52 ;
8375 int __cil_tmp53 ;
8376 int __cil_tmp54 ;
8377 char const *__cil_tmp55 ;
8378 char *__cil_tmp56 ;
8379 char *__cil_tmp57 ;
8380 unsigned long __cil_tmp58 ;
8381 unsigned long __cil_tmp59 ;
8382 unsigned char __cil_tmp60 ;
8383 unsigned int __cil_tmp61 ;
8384 char const *__cil_tmp62 ;
8385 char *__cil_tmp63 ;
8386 char *__cil_tmp64 ;
8387 unsigned long __cil_tmp65 ;
8388 unsigned long __cil_tmp66 ;
8389 unsigned char __cil_tmp67 ;
8390 unsigned int __cil_tmp68 ;
8391 char const *__cil_tmp69 ;
8392 char *__cil_tmp70 ;
8393 char *__cil_tmp71 ;
8394 int __cil_tmp72 ;
8395 char const *__cil_tmp73 ;
8396 char *__cil_tmp74 ;
8397 char *__cil_tmp75 ;
8398 char *__cil_tmp76 ;
8399
8400 {
8401 {
8402#line 1172
8403 printk("<7>usb-storage: Reading capacity...\n");
8404#line 1174
8405 __cil_tmp14 = (unsigned char *)(& deviceID);
8406#line 1174
8407 result = sddr09_read_deviceID(us, __cil_tmp14);
8408 }
8409#line 1176
8410 if (result != 0) {
8411 {
8412#line 1177
8413 printk("<7>usb-storage: Result of read_deviceID is %d\n", result);
8414#line 1178
8415 printk("<4>sddr09: could not read card info\n");
8416 }
8417#line 1179
8418 return ((struct nand_flash_dev *)0);
8419 } else {
8420
8421 }
8422 {
8423#line 1182
8424 __cil_tmp15 = (char *)(& blurbtxt);
8425#line 1182
8426 __cil_tmp16 = 0 * 1UL;
8427#line 1182
8428 __cil_tmp17 = (unsigned long )(deviceID) + __cil_tmp16;
8429#line 1182
8430 __cil_tmp18 = *((unsigned char *)__cil_tmp17);
8431#line 1182
8432 __cil_tmp19 = (int )__cil_tmp18;
8433#line 1182
8434 __cil_tmp20 = 1 * 1UL;
8435#line 1182
8436 __cil_tmp21 = (unsigned long )(deviceID) + __cil_tmp20;
8437#line 1182
8438 __cil_tmp22 = *((unsigned char *)__cil_tmp21);
8439#line 1182
8440 __cil_tmp23 = (int )__cil_tmp22;
8441#line 1182
8442 __cil_tmp24 = 2 * 1UL;
8443#line 1182
8444 __cil_tmp25 = (unsigned long )(deviceID) + __cil_tmp24;
8445#line 1182
8446 __cil_tmp26 = *((unsigned char *)__cil_tmp25);
8447#line 1182
8448 __cil_tmp27 = (int )__cil_tmp26;
8449#line 1182
8450 __cil_tmp28 = 3 * 1UL;
8451#line 1182
8452 __cil_tmp29 = (unsigned long )(deviceID) + __cil_tmp28;
8453#line 1182
8454 __cil_tmp30 = *((unsigned char *)__cil_tmp29);
8455#line 1182
8456 __cil_tmp31 = (int )__cil_tmp30;
8457#line 1182
8458 sprintf(__cil_tmp15, "sddr09: Found Flash card, ID = %02X %02X %02X %02X", __cil_tmp19,
8459 __cil_tmp23, __cil_tmp27, __cil_tmp31);
8460#line 1186
8461 __cil_tmp32 = 0 * 1UL;
8462#line 1186
8463 __cil_tmp33 = (unsigned long )(deviceID) + __cil_tmp32;
8464#line 1186
8465 __cil_tmp34 = *((unsigned char *)__cil_tmp33);
8466#line 1186
8467 __cil_tmp35 = (int )__cil_tmp34;
8468#line 1186
8469 tmp = nand_flash_manufacturer(__cil_tmp35);
8470#line 1186
8471 __cil_tmp36 = (char const *)(& blurbtxt);
8472#line 1186
8473 tmp___0 = strlen(__cil_tmp36);
8474#line 1186
8475 __cil_tmp37 = (char *)(& blurbtxt);
8476#line 1186
8477 __cil_tmp38 = __cil_tmp37 + tmp___0;
8478#line 1186
8479 sprintf(__cil_tmp38, ": Manuf. %s", tmp);
8480#line 1191
8481 __cil_tmp39 = 1 * 1UL;
8482#line 1191
8483 __cil_tmp40 = (unsigned long )(deviceID) + __cil_tmp39;
8484#line 1191
8485 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
8486#line 1191
8487 __cil_tmp42 = (int )__cil_tmp41;
8488#line 1191
8489 __cil_tmp43 = (unsigned char )__cil_tmp42;
8490#line 1191
8491 cardinfo = nand_find_id(__cil_tmp43);
8492 }
8493 {
8494#line 1192
8495 __cil_tmp44 = (struct nand_flash_dev *)0;
8496#line 1192
8497 __cil_tmp45 = (unsigned long )__cil_tmp44;
8498#line 1192
8499 __cil_tmp46 = (unsigned long )cardinfo;
8500#line 1192
8501 if (__cil_tmp46 != __cil_tmp45) {
8502 {
8503#line 1196
8504 __cil_tmp47 = (char const *)(& blurbtxt);
8505#line 1196
8506 tmp___1 = strlen(__cil_tmp47);
8507#line 1196
8508 __cil_tmp48 = (char *)(& blurbtxt);
8509#line 1196
8510 __cil_tmp49 = __cil_tmp48 + tmp___1;
8511#line 1196
8512 __cil_tmp50 = (unsigned long )cardinfo;
8513#line 1196
8514 __cil_tmp51 = __cil_tmp50 + 4;
8515#line 1196
8516 __cil_tmp52 = *((int *)__cil_tmp51);
8517#line 1196
8518 __cil_tmp53 = __cil_tmp52 + -20;
8519#line 1196
8520 __cil_tmp54 = 1 << __cil_tmp53;
8521#line 1196
8522 sprintf(__cil_tmp49, ", %d MB", __cil_tmp54);
8523 }
8524 } else {
8525 {
8526#line 1199
8527 __cil_tmp55 = (char const *)(& blurbtxt);
8528#line 1199
8529 tmp___2 = strlen(__cil_tmp55);
8530#line 1199
8531 __cil_tmp56 = (char *)(& blurbtxt);
8532#line 1199
8533 __cil_tmp57 = __cil_tmp56 + tmp___2;
8534#line 1199
8535 sprintf(__cil_tmp57, ", type unrecognized");
8536 }
8537 }
8538 }
8539 {
8540#line 1204
8541 __cil_tmp58 = 2 * 1UL;
8542#line 1204
8543 __cil_tmp59 = (unsigned long )(deviceID) + __cil_tmp58;
8544#line 1204
8545 __cil_tmp60 = *((unsigned char *)__cil_tmp59);
8546#line 1204
8547 __cil_tmp61 = (unsigned int )__cil_tmp60;
8548#line 1204
8549 if (__cil_tmp61 == 165U) {
8550 {
8551#line 1205
8552 __cil_tmp62 = (char const *)(& blurbtxt);
8553#line 1205
8554 tmp___3 = strlen(__cil_tmp62);
8555#line 1205
8556 __cil_tmp63 = (char *)(& blurbtxt);
8557#line 1205
8558 __cil_tmp64 = __cil_tmp63 + tmp___3;
8559#line 1205
8560 sprintf(__cil_tmp64, ", 128-bit ID");
8561 }
8562 } else {
8563
8564 }
8565 }
8566 {
8567#line 1210
8568 __cil_tmp65 = 3 * 1UL;
8569#line 1210
8570 __cil_tmp66 = (unsigned long )(deviceID) + __cil_tmp65;
8571#line 1210
8572 __cil_tmp67 = *((unsigned char *)__cil_tmp66);
8573#line 1210
8574 __cil_tmp68 = (unsigned int )__cil_tmp67;
8575#line 1210
8576 if (__cil_tmp68 == 192U) {
8577 {
8578#line 1211
8579 __cil_tmp69 = (char const *)(& blurbtxt);
8580#line 1211
8581 tmp___4 = strlen(__cil_tmp69);
8582#line 1211
8583 __cil_tmp70 = (char *)(& blurbtxt);
8584#line 1211
8585 __cil_tmp71 = __cil_tmp70 + tmp___4;
8586#line 1211
8587 sprintf(__cil_tmp71, ", extra cmd");
8588 }
8589 } else {
8590
8591 }
8592 }
8593 {
8594#line 1215
8595 __cil_tmp72 = (int )flags;
8596#line 1215
8597 if (__cil_tmp72 & 1) {
8598 {
8599#line 1216
8600 __cil_tmp73 = (char const *)(& blurbtxt);
8601#line 1216
8602 tmp___5 = strlen(__cil_tmp73);
8603#line 1216
8604 __cil_tmp74 = (char *)(& blurbtxt);
8605#line 1216
8606 __cil_tmp75 = __cil_tmp74 + tmp___5;
8607#line 1216
8608 sprintf(__cil_tmp75, ", WP");
8609 }
8610 } else {
8611
8612 }
8613 }
8614 {
8615#line 1219
8616 __cil_tmp76 = (char *)(& blurbtxt);
8617#line 1219
8618 printk("<4>%s\n", __cil_tmp76);
8619 }
8620#line 1221
8621 return (cardinfo);
8622}
8623}
8624#line 1225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
8625static int sddr09_read_map(struct us_data *us )
8626{ struct sddr09_card_info *info ;
8627 int numblocks ;
8628 int alloc_len ;
8629 int alloc_blocks ;
8630 int i ;
8631 int j ;
8632 int result ;
8633 unsigned char *buffer ;
8634 unsigned char *buffer_end ;
8635 unsigned char *ptr ;
8636 unsigned int lba ;
8637 unsigned int lbact ;
8638 int _min1 ;
8639 int _min2 ;
8640 int tmp ;
8641 void *tmp___0 ;
8642 void *tmp___1 ;
8643 void *tmp___2 ;
8644 int tmp___3 ;
8645 unsigned long address ;
8646 int _min1___0 ;
8647 int _min2___0 ;
8648 int tmp___4 ;
8649 unsigned long address___0 ;
8650 int ct ;
8651 unsigned long __cil_tmp27 ;
8652 unsigned long __cil_tmp28 ;
8653 void *__cil_tmp29 ;
8654 unsigned long __cil_tmp30 ;
8655 unsigned long __cil_tmp31 ;
8656 unsigned long __cil_tmp32 ;
8657 int __cil_tmp33 ;
8658 unsigned long __cil_tmp34 ;
8659 unsigned long __cil_tmp35 ;
8660 int __cil_tmp36 ;
8661 int __cil_tmp37 ;
8662 unsigned long __cil_tmp38 ;
8663 unsigned long __cil_tmp39 ;
8664 size_t __cil_tmp40 ;
8665 unsigned char *__cil_tmp41 ;
8666 unsigned long __cil_tmp42 ;
8667 unsigned long __cil_tmp43 ;
8668 unsigned long __cil_tmp44 ;
8669 unsigned long __cil_tmp45 ;
8670 unsigned long __cil_tmp46 ;
8671 int *__cil_tmp47 ;
8672 void const *__cil_tmp48 ;
8673 unsigned long __cil_tmp49 ;
8674 unsigned long __cil_tmp50 ;
8675 int *__cil_tmp51 ;
8676 void const *__cil_tmp52 ;
8677 unsigned long __cil_tmp53 ;
8678 unsigned long __cil_tmp54 ;
8679 unsigned long __cil_tmp55 ;
8680 unsigned long __cil_tmp56 ;
8681 unsigned long __cil_tmp57 ;
8682 unsigned long __cil_tmp58 ;
8683 unsigned long __cil_tmp59 ;
8684 unsigned long __cil_tmp60 ;
8685 int *__cil_tmp61 ;
8686 unsigned long __cil_tmp62 ;
8687 unsigned long __cil_tmp63 ;
8688 unsigned long __cil_tmp64 ;
8689 int *__cil_tmp65 ;
8690 unsigned long __cil_tmp66 ;
8691 int *__cil_tmp67 ;
8692 unsigned long __cil_tmp68 ;
8693 unsigned long __cil_tmp69 ;
8694 unsigned long __cil_tmp70 ;
8695 int *__cil_tmp71 ;
8696 unsigned long __cil_tmp72 ;
8697 unsigned long __cil_tmp73 ;
8698 unsigned long __cil_tmp74 ;
8699 unsigned long __cil_tmp75 ;
8700 int *__cil_tmp76 ;
8701 int *__cil_tmp77 ;
8702 unsigned long __cil_tmp78 ;
8703 unsigned long __cil_tmp79 ;
8704 unsigned long __cil_tmp80 ;
8705 int *__cil_tmp81 ;
8706 int *__cil_tmp82 ;
8707 unsigned long __cil_tmp83 ;
8708 unsigned long __cil_tmp84 ;
8709 unsigned long __cil_tmp85 ;
8710 unsigned long __cil_tmp86 ;
8711 int __cil_tmp87 ;
8712 unsigned long __cil_tmp88 ;
8713 unsigned long __cil_tmp89 ;
8714 int __cil_tmp90 ;
8715 int __cil_tmp91 ;
8716 int __cil_tmp92 ;
8717 unsigned long __cil_tmp93 ;
8718 unsigned int __cil_tmp94 ;
8719 unsigned long __cil_tmp95 ;
8720 unsigned long __cil_tmp96 ;
8721 unsigned long __cil_tmp97 ;
8722 int *__cil_tmp98 ;
8723 int *__cil_tmp99 ;
8724 unsigned long __cil_tmp100 ;
8725 unsigned long __cil_tmp101 ;
8726 unsigned long __cil_tmp102 ;
8727 int *__cil_tmp103 ;
8728 int *__cil_tmp104 ;
8729 unsigned long __cil_tmp105 ;
8730 unsigned char *__cil_tmp106 ;
8731 unsigned char __cil_tmp107 ;
8732 unsigned int __cil_tmp108 ;
8733 unsigned long __cil_tmp109 ;
8734 unsigned long __cil_tmp110 ;
8735 unsigned long __cil_tmp111 ;
8736 int *__cil_tmp112 ;
8737 int *__cil_tmp113 ;
8738 unsigned long __cil_tmp114 ;
8739 unsigned char *__cil_tmp115 ;
8740 unsigned char __cil_tmp116 ;
8741 unsigned int __cil_tmp117 ;
8742 unsigned char __cil_tmp118 ;
8743 int __cil_tmp119 ;
8744 unsigned char *__cil_tmp120 ;
8745 unsigned char __cil_tmp121 ;
8746 int __cil_tmp122 ;
8747 unsigned char *__cil_tmp123 ;
8748 unsigned char __cil_tmp124 ;
8749 int __cil_tmp125 ;
8750 unsigned char *__cil_tmp126 ;
8751 unsigned char __cil_tmp127 ;
8752 int __cil_tmp128 ;
8753 unsigned char *__cil_tmp129 ;
8754 unsigned char __cil_tmp130 ;
8755 int __cil_tmp131 ;
8756 unsigned char *__cil_tmp132 ;
8757 unsigned char __cil_tmp133 ;
8758 int __cil_tmp134 ;
8759 unsigned long __cil_tmp135 ;
8760 unsigned long __cil_tmp136 ;
8761 unsigned long __cil_tmp137 ;
8762 int *__cil_tmp138 ;
8763 int *__cil_tmp139 ;
8764 unsigned char *__cil_tmp140 ;
8765 unsigned char __cil_tmp141 ;
8766 int __cil_tmp142 ;
8767 int __cil_tmp143 ;
8768 unsigned int __cil_tmp144 ;
8769 unsigned char *__cil_tmp145 ;
8770 unsigned char __cil_tmp146 ;
8771 int __cil_tmp147 ;
8772 unsigned char *__cil_tmp148 ;
8773 unsigned char __cil_tmp149 ;
8774 int __cil_tmp150 ;
8775 unsigned char *__cil_tmp151 ;
8776 unsigned char __cil_tmp152 ;
8777 int __cil_tmp153 ;
8778 unsigned char *__cil_tmp154 ;
8779 unsigned char __cil_tmp155 ;
8780 int __cil_tmp156 ;
8781 unsigned long __cil_tmp157 ;
8782 unsigned long __cil_tmp158 ;
8783 unsigned long __cil_tmp159 ;
8784 int *__cil_tmp160 ;
8785 int *__cil_tmp161 ;
8786 unsigned char *__cil_tmp162 ;
8787 unsigned char __cil_tmp163 ;
8788 int __cil_tmp164 ;
8789 unsigned char *__cil_tmp165 ;
8790 unsigned char __cil_tmp166 ;
8791 int __cil_tmp167 ;
8792 int __cil_tmp168 ;
8793 unsigned long __cil_tmp169 ;
8794 unsigned long __cil_tmp170 ;
8795 unsigned char __cil_tmp171 ;
8796 unsigned int __cil_tmp172 ;
8797 unsigned char *__cil_tmp173 ;
8798 unsigned char __cil_tmp174 ;
8799 int __cil_tmp175 ;
8800 unsigned char *__cil_tmp176 ;
8801 unsigned char __cil_tmp177 ;
8802 int __cil_tmp178 ;
8803 unsigned long __cil_tmp179 ;
8804 unsigned long __cil_tmp180 ;
8805 unsigned long __cil_tmp181 ;
8806 int *__cil_tmp182 ;
8807 int *__cil_tmp183 ;
8808 unsigned char *__cil_tmp184 ;
8809 unsigned char __cil_tmp185 ;
8810 int __cil_tmp186 ;
8811 int __cil_tmp187 ;
8812 unsigned char *__cil_tmp188 ;
8813 unsigned char __cil_tmp189 ;
8814 int __cil_tmp190 ;
8815 int __cil_tmp191 ;
8816 unsigned int __cil_tmp192 ;
8817 int __cil_tmp193 ;
8818 int __cil_tmp194 ;
8819 unsigned int __cil_tmp195 ;
8820 unsigned long __cil_tmp196 ;
8821 unsigned long __cil_tmp197 ;
8822 unsigned long __cil_tmp198 ;
8823 int *__cil_tmp199 ;
8824 int *__cil_tmp200 ;
8825 int __cil_tmp201 ;
8826 unsigned long __cil_tmp202 ;
8827 unsigned long __cil_tmp203 ;
8828 unsigned long __cil_tmp204 ;
8829 int *__cil_tmp205 ;
8830 int *__cil_tmp206 ;
8831 int __cil_tmp207 ;
8832 unsigned long __cil_tmp208 ;
8833 unsigned long __cil_tmp209 ;
8834 unsigned long __cil_tmp210 ;
8835 int *__cil_tmp211 ;
8836 int *__cil_tmp212 ;
8837 unsigned long __cil_tmp213 ;
8838 unsigned long __cil_tmp214 ;
8839 unsigned long __cil_tmp215 ;
8840 int *__cil_tmp216 ;
8841 int *__cil_tmp217 ;
8842 int __cil_tmp218 ;
8843 unsigned long __cil_tmp219 ;
8844 unsigned long __cil_tmp220 ;
8845 int __cil_tmp221 ;
8846 unsigned long __cil_tmp222 ;
8847 unsigned long __cil_tmp223 ;
8848 int __cil_tmp224 ;
8849 int __cil_tmp225 ;
8850 int __cil_tmp226 ;
8851 unsigned long __cil_tmp227 ;
8852 unsigned long __cil_tmp228 ;
8853 unsigned long __cil_tmp229 ;
8854 unsigned long __cil_tmp230 ;
8855 int *__cil_tmp231 ;
8856 int *__cil_tmp232 ;
8857 unsigned long __cil_tmp233 ;
8858 unsigned long __cil_tmp234 ;
8859 unsigned long __cil_tmp235 ;
8860 int *__cil_tmp236 ;
8861 int *__cil_tmp237 ;
8862 int __cil_tmp238 ;
8863 unsigned long __cil_tmp239 ;
8864 unsigned long __cil_tmp240 ;
8865 unsigned long __cil_tmp241 ;
8866 int *__cil_tmp242 ;
8867 int *__cil_tmp243 ;
8868 int __cil_tmp244 ;
8869 int __cil_tmp245 ;
8870 unsigned long __cil_tmp246 ;
8871 unsigned long __cil_tmp247 ;
8872 unsigned long __cil_tmp248 ;
8873 int *__cil_tmp249 ;
8874 int *__cil_tmp250 ;
8875 int __cil_tmp251 ;
8876 unsigned int __cil_tmp252 ;
8877 unsigned long __cil_tmp253 ;
8878 unsigned long __cil_tmp254 ;
8879 unsigned long __cil_tmp255 ;
8880 unsigned long __cil_tmp256 ;
8881 int *__cil_tmp257 ;
8882 void const *__cil_tmp258 ;
8883 unsigned long __cil_tmp259 ;
8884 unsigned long __cil_tmp260 ;
8885 int *__cil_tmp261 ;
8886 void const *__cil_tmp262 ;
8887 unsigned long __cil_tmp263 ;
8888 unsigned long __cil_tmp264 ;
8889 unsigned long __cil_tmp265 ;
8890 unsigned long __cil_tmp266 ;
8891 void const *__cil_tmp267 ;
8892
8893 {
8894#line 1227
8895 __cil_tmp27 = (unsigned long )us;
8896#line 1227
8897 __cil_tmp28 = __cil_tmp27 + 1080;
8898#line 1227
8899 __cil_tmp29 = *((void **)__cil_tmp28);
8900#line 1227
8901 info = (struct sddr09_card_info *)__cil_tmp29;
8902 {
8903#line 1233
8904 __cil_tmp30 = *((unsigned long *)info);
8905#line 1233
8906 if (__cil_tmp30 == 0UL) {
8907#line 1234
8908 return (-1);
8909 } else {
8910
8911 }
8912 }
8913#line 1239
8914 __cil_tmp31 = (unsigned long )info;
8915#line 1239
8916 __cil_tmp32 = __cil_tmp31 + 12;
8917#line 1239
8918 __cil_tmp33 = *((int *)__cil_tmp32);
8919#line 1239
8920 __cil_tmp34 = (unsigned long )info;
8921#line 1239
8922 __cil_tmp35 = __cil_tmp34 + 20;
8923#line 1239
8924 __cil_tmp36 = *((int *)__cil_tmp35);
8925#line 1239
8926 __cil_tmp37 = __cil_tmp36 + __cil_tmp33;
8927#line 1239
8928 __cil_tmp38 = *((unsigned long *)info);
8929#line 1239
8930 __cil_tmp39 = __cil_tmp38 >> __cil_tmp37;
8931#line 1239
8932 numblocks = (int )__cil_tmp39;
8933#line 1246
8934 _min1 = numblocks;
8935#line 1246
8936 _min2 = 1024;
8937#line 1246
8938 if (_min1 < _min2) {
8939#line 1246
8940 tmp = _min1;
8941 } else {
8942#line 1246
8943 tmp = _min2;
8944 }
8945 {
8946#line 1246
8947 alloc_blocks = tmp;
8948#line 1247
8949 alloc_len = alloc_blocks << 6;
8950#line 1248
8951 __cil_tmp40 = (size_t )alloc_len;
8952#line 1248
8953 tmp___0 = kmalloc(__cil_tmp40, 16U);
8954#line 1248
8955 buffer = (unsigned char *)tmp___0;
8956 }
8957 {
8958#line 1249
8959 __cil_tmp41 = (unsigned char *)0;
8960#line 1249
8961 __cil_tmp42 = (unsigned long )__cil_tmp41;
8962#line 1249
8963 __cil_tmp43 = (unsigned long )buffer;
8964#line 1249
8965 if (__cil_tmp43 == __cil_tmp42) {
8966 {
8967#line 1250
8968 printk("<4>sddr09_read_map: out of memory\n");
8969#line 1251
8970 result = -1;
8971 }
8972#line 1252
8973 goto done;
8974 } else {
8975
8976 }
8977 }
8978 {
8979#line 1254
8980 __cil_tmp44 = (unsigned long )alloc_len;
8981#line 1254
8982 buffer_end = buffer + __cil_tmp44;
8983#line 1258
8984 __cil_tmp45 = (unsigned long )info;
8985#line 1258
8986 __cil_tmp46 = __cil_tmp45 + 32;
8987#line 1258
8988 __cil_tmp47 = *((int **)__cil_tmp46);
8989#line 1258
8990 __cil_tmp48 = (void const *)__cil_tmp47;
8991#line 1258
8992 kfree(__cil_tmp48);
8993#line 1259
8994 __cil_tmp49 = (unsigned long )info;
8995#line 1259
8996 __cil_tmp50 = __cil_tmp49 + 40;
8997#line 1259
8998 __cil_tmp51 = *((int **)__cil_tmp50);
8999#line 1259
9000 __cil_tmp52 = (void const *)__cil_tmp51;
9001#line 1259
9002 kfree(__cil_tmp52);
9003#line 1260
9004 __cil_tmp53 = (unsigned long )numblocks;
9005#line 1260
9006 __cil_tmp54 = __cil_tmp53 * 4UL;
9007#line 1260
9008 tmp___1 = kmalloc(__cil_tmp54, 16U);
9009#line 1260
9010 __cil_tmp55 = (unsigned long )info;
9011#line 1260
9012 __cil_tmp56 = __cil_tmp55 + 32;
9013#line 1260
9014 *((int **)__cil_tmp56) = (int *)tmp___1;
9015#line 1261
9016 __cil_tmp57 = (unsigned long )numblocks;
9017#line 1261
9018 __cil_tmp58 = __cil_tmp57 * 4UL;
9019#line 1261
9020 tmp___2 = kmalloc(__cil_tmp58, 16U);
9021#line 1261
9022 __cil_tmp59 = (unsigned long )info;
9023#line 1261
9024 __cil_tmp60 = __cil_tmp59 + 40;
9025#line 1261
9026 *((int **)__cil_tmp60) = (int *)tmp___2;
9027 }
9028 {
9029#line 1263
9030 __cil_tmp61 = (int *)0;
9031#line 1263
9032 __cil_tmp62 = (unsigned long )__cil_tmp61;
9033#line 1263
9034 __cil_tmp63 = (unsigned long )info;
9035#line 1263
9036 __cil_tmp64 = __cil_tmp63 + 32;
9037#line 1263
9038 __cil_tmp65 = *((int **)__cil_tmp64);
9039#line 1263
9040 __cil_tmp66 = (unsigned long )__cil_tmp65;
9041#line 1263
9042 if (__cil_tmp66 == __cil_tmp62) {
9043 {
9044#line 1264
9045 printk("<4>sddr09_read_map: out of memory\n");
9046#line 1265
9047 result = -1;
9048 }
9049#line 1266
9050 goto done;
9051 } else {
9052 {
9053#line 1263
9054 __cil_tmp67 = (int *)0;
9055#line 1263
9056 __cil_tmp68 = (unsigned long )__cil_tmp67;
9057#line 1263
9058 __cil_tmp69 = (unsigned long )info;
9059#line 1263
9060 __cil_tmp70 = __cil_tmp69 + 40;
9061#line 1263
9062 __cil_tmp71 = *((int **)__cil_tmp70);
9063#line 1263
9064 __cil_tmp72 = (unsigned long )__cil_tmp71;
9065#line 1263
9066 if (__cil_tmp72 == __cil_tmp68) {
9067 {
9068#line 1264
9069 printk("<4>sddr09_read_map: out of memory\n");
9070#line 1265
9071 result = -1;
9072 }
9073#line 1266
9074 goto done;
9075 } else {
9076
9077 }
9078 }
9079 }
9080 }
9081#line 1269
9082 i = 0;
9083#line 1269
9084 goto ldv_31357;
9085 ldv_31356:
9086#line 1270
9087 tmp___3 = -1;
9088#line 1270
9089 __cil_tmp73 = (unsigned long )i;
9090#line 1270
9091 __cil_tmp74 = (unsigned long )info;
9092#line 1270
9093 __cil_tmp75 = __cil_tmp74 + 40;
9094#line 1270
9095 __cil_tmp76 = *((int **)__cil_tmp75);
9096#line 1270
9097 __cil_tmp77 = __cil_tmp76 + __cil_tmp73;
9098#line 1270
9099 *__cil_tmp77 = tmp___3;
9100#line 1270
9101 __cil_tmp78 = (unsigned long )i;
9102#line 1270
9103 __cil_tmp79 = (unsigned long )info;
9104#line 1270
9105 __cil_tmp80 = __cil_tmp79 + 32;
9106#line 1270
9107 __cil_tmp81 = *((int **)__cil_tmp80);
9108#line 1270
9109 __cil_tmp82 = __cil_tmp81 + __cil_tmp78;
9110#line 1270
9111 *__cil_tmp82 = tmp___3;
9112#line 1269
9113 i = i + 1;
9114 ldv_31357: ;
9115#line 1269
9116 if (i < numblocks) {
9117#line 1270
9118 goto ldv_31356;
9119 } else {
9120#line 1272
9121 goto ldv_31358;
9122 }
9123 ldv_31358:
9124#line 1276
9125 ptr = buffer_end;
9126#line 1277
9127 i = 0;
9128#line 1277
9129 goto ldv_31375;
9130 ldv_31374:
9131#line 1278
9132 ptr = ptr + 64UL;
9133 {
9134#line 1279
9135 __cil_tmp83 = (unsigned long )buffer_end;
9136#line 1279
9137 __cil_tmp84 = (unsigned long )ptr;
9138#line 1279
9139 if (__cil_tmp84 >= __cil_tmp83) {
9140#line 1282
9141 __cil_tmp85 = (unsigned long )info;
9142#line 1282
9143 __cil_tmp86 = __cil_tmp85 + 20;
9144#line 1282
9145 __cil_tmp87 = *((int *)__cil_tmp86);
9146#line 1282
9147 __cil_tmp88 = (unsigned long )info;
9148#line 1282
9149 __cil_tmp89 = __cil_tmp88 + 12;
9150#line 1282
9151 __cil_tmp90 = *((int *)__cil_tmp89);
9152#line 1282
9153 __cil_tmp91 = __cil_tmp90 + __cil_tmp87;
9154#line 1282
9155 __cil_tmp92 = i << __cil_tmp91;
9156#line 1282
9157 address = (unsigned long )__cil_tmp92;
9158#line 1285
9159 _min1___0 = alloc_blocks;
9160#line 1285
9161 _min2___0 = numblocks - i;
9162#line 1285
9163 if (_min1___0 < _min2___0) {
9164#line 1285
9165 tmp___4 = _min1___0;
9166 } else {
9167#line 1285
9168 tmp___4 = _min2___0;
9169 }
9170 {
9171#line 1285
9172 __cil_tmp93 = address >> 1;
9173#line 1285
9174 __cil_tmp94 = (unsigned int )tmp___4;
9175#line 1285
9176 result = sddr09_read_control(us, __cil_tmp93, __cil_tmp94, buffer, 0);
9177 }
9178#line 1287
9179 if (result != 0) {
9180#line 1288
9181 result = -1;
9182#line 1289
9183 goto done;
9184 } else {
9185
9186 }
9187#line 1291
9188 ptr = buffer;
9189 } else {
9190
9191 }
9192 }
9193#line 1294
9194 if (i == 0) {
9195#line 1295
9196 __cil_tmp95 = (unsigned long )i;
9197#line 1295
9198 __cil_tmp96 = (unsigned long )info;
9199#line 1295
9200 __cil_tmp97 = __cil_tmp96 + 40;
9201#line 1295
9202 __cil_tmp98 = *((int **)__cil_tmp97);
9203#line 1295
9204 __cil_tmp99 = __cil_tmp98 + __cil_tmp95;
9205#line 1295
9206 *__cil_tmp99 = -3;
9207#line 1296
9208 goto ldv_31363;
9209 } else
9210#line 1294
9211 if (i == 1) {
9212#line 1295
9213 __cil_tmp100 = (unsigned long )i;
9214#line 1295
9215 __cil_tmp101 = (unsigned long )info;
9216#line 1295
9217 __cil_tmp102 = __cil_tmp101 + 40;
9218#line 1295
9219 __cil_tmp103 = *((int **)__cil_tmp102);
9220#line 1295
9221 __cil_tmp104 = __cil_tmp103 + __cil_tmp100;
9222#line 1295
9223 *__cil_tmp104 = -3;
9224#line 1296
9225 goto ldv_31363;
9226 } else {
9227
9228 }
9229#line 1300
9230 j = 0;
9231#line 1300
9232 goto ldv_31366;
9233 ldv_31365: ;
9234 {
9235#line 1301
9236 __cil_tmp105 = (unsigned long )j;
9237#line 1301
9238 __cil_tmp106 = ptr + __cil_tmp105;
9239#line 1301
9240 __cil_tmp107 = *__cil_tmp106;
9241#line 1301
9242 __cil_tmp108 = (unsigned int )__cil_tmp107;
9243#line 1301
9244 if (__cil_tmp108 != 0U) {
9245#line 1302
9246 goto nonz;
9247 } else {
9248
9249 }
9250 }
9251#line 1300
9252 j = j + 1;
9253 ldv_31366: ;
9254#line 1300
9255 if (j <= 15) {
9256#line 1301
9257 goto ldv_31365;
9258 } else {
9259#line 1303
9260 goto ldv_31367;
9261 }
9262 ldv_31367:
9263 {
9264#line 1303
9265 __cil_tmp109 = (unsigned long )i;
9266#line 1303
9267 __cil_tmp110 = (unsigned long )info;
9268#line 1303
9269 __cil_tmp111 = __cil_tmp110 + 40;
9270#line 1303
9271 __cil_tmp112 = *((int **)__cil_tmp111);
9272#line 1303
9273 __cil_tmp113 = __cil_tmp112 + __cil_tmp109;
9274#line 1303
9275 *__cil_tmp113 = -3;
9276#line 1304
9277 printk("<4>sddr09: PBA %d has no logical mapping\n", i);
9278 }
9279#line 1306
9280 goto ldv_31363;
9281 nonz:
9282#line 1310
9283 j = 0;
9284#line 1310
9285 goto ldv_31370;
9286 ldv_31369: ;
9287 {
9288#line 1311
9289 __cil_tmp114 = (unsigned long )j;
9290#line 1311
9291 __cil_tmp115 = ptr + __cil_tmp114;
9292#line 1311
9293 __cil_tmp116 = *__cil_tmp115;
9294#line 1311
9295 __cil_tmp117 = (unsigned int )__cil_tmp116;
9296#line 1311
9297 if (__cil_tmp117 != 255U) {
9298#line 1312
9299 goto nonff;
9300 } else {
9301
9302 }
9303 }
9304#line 1310
9305 j = j + 1;
9306 ldv_31370: ;
9307#line 1310
9308 if (j <= 15) {
9309#line 1311
9310 goto ldv_31369;
9311 } else {
9312#line 1313
9313 goto ldv_31371;
9314 }
9315 ldv_31371: ;
9316#line 1313
9317 goto ldv_31363;
9318 nonff: ;
9319#line 1317
9320 if (j <= 5) {
9321 {
9322#line 1318
9323 __cil_tmp118 = *ptr;
9324#line 1318
9325 __cil_tmp119 = (int )__cil_tmp118;
9326#line 1318
9327 __cil_tmp120 = ptr + 1UL;
9328#line 1318
9329 __cil_tmp121 = *__cil_tmp120;
9330#line 1318
9331 __cil_tmp122 = (int )__cil_tmp121;
9332#line 1318
9333 __cil_tmp123 = ptr + 2UL;
9334#line 1318
9335 __cil_tmp124 = *__cil_tmp123;
9336#line 1318
9337 __cil_tmp125 = (int )__cil_tmp124;
9338#line 1318
9339 __cil_tmp126 = ptr + 3UL;
9340#line 1318
9341 __cil_tmp127 = *__cil_tmp126;
9342#line 1318
9343 __cil_tmp128 = (int )__cil_tmp127;
9344#line 1318
9345 __cil_tmp129 = ptr + 4UL;
9346#line 1318
9347 __cil_tmp130 = *__cil_tmp129;
9348#line 1318
9349 __cil_tmp131 = (int )__cil_tmp130;
9350#line 1318
9351 __cil_tmp132 = ptr + 5UL;
9352#line 1318
9353 __cil_tmp133 = *__cil_tmp132;
9354#line 1318
9355 __cil_tmp134 = (int )__cil_tmp133;
9356#line 1318
9357 printk("<4>sddr09: PBA %d has no logical mapping: reserved area = %02X%02X%02X%02X data status %02X block status %02X\n",
9358 i, __cil_tmp119, __cil_tmp122, __cil_tmp125, __cil_tmp128, __cil_tmp131,
9359 __cil_tmp134);
9360#line 1324
9361 __cil_tmp135 = (unsigned long )i;
9362#line 1324
9363 __cil_tmp136 = (unsigned long )info;
9364#line 1324
9365 __cil_tmp137 = __cil_tmp136 + 40;
9366#line 1324
9367 __cil_tmp138 = *((int **)__cil_tmp137);
9368#line 1324
9369 __cil_tmp139 = __cil_tmp138 + __cil_tmp135;
9370#line 1324
9371 *__cil_tmp139 = -3;
9372 }
9373#line 1325
9374 goto ldv_31363;
9375 } else {
9376
9377 }
9378 {
9379#line 1328
9380 __cil_tmp140 = ptr + 6UL;
9381#line 1328
9382 __cil_tmp141 = *__cil_tmp140;
9383#line 1328
9384 __cil_tmp142 = (int )__cil_tmp141;
9385#line 1328
9386 __cil_tmp143 = __cil_tmp142 >> 4;
9387#line 1328
9388 __cil_tmp144 = (unsigned int )__cil_tmp143;
9389#line 1328
9390 if (__cil_tmp144 != 1U) {
9391 {
9392#line 1329
9393 __cil_tmp145 = ptr + 6UL;
9394#line 1329
9395 __cil_tmp146 = *__cil_tmp145;
9396#line 1329
9397 __cil_tmp147 = (int )__cil_tmp146;
9398#line 1329
9399 __cil_tmp148 = ptr + 7UL;
9400#line 1329
9401 __cil_tmp149 = *__cil_tmp148;
9402#line 1329
9403 __cil_tmp150 = (int )__cil_tmp149;
9404#line 1329
9405 __cil_tmp151 = ptr + 11UL;
9406#line 1329
9407 __cil_tmp152 = *__cil_tmp151;
9408#line 1329
9409 __cil_tmp153 = (int )__cil_tmp152;
9410#line 1329
9411 __cil_tmp154 = ptr + 12UL;
9412#line 1329
9413 __cil_tmp155 = *__cil_tmp154;
9414#line 1329
9415 __cil_tmp156 = (int )__cil_tmp155;
9416#line 1329
9417 printk("<4>sddr09: PBA %d has invalid address field %02X%02X/%02X%02X\n", i, __cil_tmp147,
9418 __cil_tmp150, __cil_tmp153, __cil_tmp156);
9419#line 1333
9420 __cil_tmp157 = (unsigned long )i;
9421#line 1333
9422 __cil_tmp158 = (unsigned long )info;
9423#line 1333
9424 __cil_tmp159 = __cil_tmp158 + 40;
9425#line 1333
9426 __cil_tmp160 = *((int **)__cil_tmp159);
9427#line 1333
9428 __cil_tmp161 = __cil_tmp160 + __cil_tmp157;
9429#line 1333
9430 *__cil_tmp161 = -3;
9431 }
9432#line 1334
9433 goto ldv_31363;
9434 } else {
9435
9436 }
9437 }
9438 {
9439#line 1338
9440 __cil_tmp162 = ptr + 7UL;
9441#line 1338
9442 __cil_tmp163 = *__cil_tmp162;
9443#line 1338
9444 __cil_tmp164 = (int )__cil_tmp163;
9445#line 1338
9446 __cil_tmp165 = ptr + 6UL;
9447#line 1338
9448 __cil_tmp166 = *__cil_tmp165;
9449#line 1338
9450 __cil_tmp167 = (int )__cil_tmp166;
9451#line 1338
9452 __cil_tmp168 = __cil_tmp167 ^ __cil_tmp164;
9453#line 1338
9454 __cil_tmp169 = __cil_tmp168 * 1UL;
9455#line 1338
9456 __cil_tmp170 = (unsigned long )(parity) + __cil_tmp169;
9457#line 1338
9458 __cil_tmp171 = *((unsigned char *)__cil_tmp170);
9459#line 1338
9460 __cil_tmp172 = (unsigned int )__cil_tmp171;
9461#line 1338
9462 if (__cil_tmp172 != 0U) {
9463 {
9464#line 1339
9465 __cil_tmp173 = ptr + 6UL;
9466#line 1339
9467 __cil_tmp174 = *__cil_tmp173;
9468#line 1339
9469 __cil_tmp175 = (int )__cil_tmp174;
9470#line 1339
9471 __cil_tmp176 = ptr + 7UL;
9472#line 1339
9473 __cil_tmp177 = *__cil_tmp176;
9474#line 1339
9475 __cil_tmp178 = (int )__cil_tmp177;
9476#line 1339
9477 printk("<4>sddr09: Bad parity in LBA for block %d (%02X %02X)\n", i, __cil_tmp175,
9478 __cil_tmp178);
9479#line 1342
9480 __cil_tmp179 = (unsigned long )i;
9481#line 1342
9482 __cil_tmp180 = (unsigned long )info;
9483#line 1342
9484 __cil_tmp181 = __cil_tmp180 + 40;
9485#line 1342
9486 __cil_tmp182 = *((int **)__cil_tmp181);
9487#line 1342
9488 __cil_tmp183 = __cil_tmp182 + __cil_tmp179;
9489#line 1342
9490 *__cil_tmp183 = -3;
9491 }
9492#line 1343
9493 goto ldv_31363;
9494 } else {
9495
9496 }
9497 }
9498#line 1346
9499 __cil_tmp184 = ptr + 6UL;
9500#line 1346
9501 __cil_tmp185 = *__cil_tmp184;
9502#line 1346
9503 __cil_tmp186 = (int )__cil_tmp185;
9504#line 1346
9505 __cil_tmp187 = __cil_tmp186 << 8;
9506#line 1346
9507 __cil_tmp188 = ptr + 7UL;
9508#line 1346
9509 __cil_tmp189 = *__cil_tmp188;
9510#line 1346
9511 __cil_tmp190 = (int )__cil_tmp189;
9512#line 1346
9513 __cil_tmp191 = __cil_tmp190 | __cil_tmp187;
9514#line 1346
9515 lba = (unsigned int )__cil_tmp191;
9516#line 1347
9517 __cil_tmp192 = lba & 2047U;
9518#line 1347
9519 lba = __cil_tmp192 >> 1;
9520#line 1358
9521 if (lba > 999U) {
9522 {
9523#line 1359
9524 printk("<4>sddr09: Bad low LBA %d for block %d\n", lba, i);
9525 }
9526#line 1362
9527 goto possibly_erase;
9528 } else {
9529
9530 }
9531#line 1365
9532 __cil_tmp193 = i / 1024;
9533#line 1365
9534 __cil_tmp194 = __cil_tmp193 * 1000;
9535#line 1365
9536 __cil_tmp195 = (unsigned int )__cil_tmp194;
9537#line 1365
9538 lba = __cil_tmp195 + lba;
9539 {
9540#line 1367
9541 __cil_tmp196 = (unsigned long )lba;
9542#line 1367
9543 __cil_tmp197 = (unsigned long )info;
9544#line 1367
9545 __cil_tmp198 = __cil_tmp197 + 32;
9546#line 1367
9547 __cil_tmp199 = *((int **)__cil_tmp198);
9548#line 1367
9549 __cil_tmp200 = __cil_tmp199 + __cil_tmp196;
9550#line 1367
9551 __cil_tmp201 = *__cil_tmp200;
9552#line 1367
9553 if (__cil_tmp201 != -1) {
9554 {
9555#line 1368
9556 __cil_tmp202 = (unsigned long )lba;
9557#line 1368
9558 __cil_tmp203 = (unsigned long )info;
9559#line 1368
9560 __cil_tmp204 = __cil_tmp203 + 32;
9561#line 1368
9562 __cil_tmp205 = *((int **)__cil_tmp204);
9563#line 1368
9564 __cil_tmp206 = __cil_tmp205 + __cil_tmp202;
9565#line 1368
9566 __cil_tmp207 = *__cil_tmp206;
9567#line 1368
9568 printk("<4>sddr09: LBA %d seen for PBA %d and %d\n", lba, __cil_tmp207, i);
9569 }
9570#line 1371
9571 goto possibly_erase;
9572 } else {
9573
9574 }
9575 }
9576#line 1374
9577 __cil_tmp208 = (unsigned long )i;
9578#line 1374
9579 __cil_tmp209 = (unsigned long )info;
9580#line 1374
9581 __cil_tmp210 = __cil_tmp209 + 40;
9582#line 1374
9583 __cil_tmp211 = *((int **)__cil_tmp210);
9584#line 1374
9585 __cil_tmp212 = __cil_tmp211 + __cil_tmp208;
9586#line 1374
9587 *__cil_tmp212 = (int )lba;
9588#line 1375
9589 __cil_tmp213 = (unsigned long )lba;
9590#line 1375
9591 __cil_tmp214 = (unsigned long )info;
9592#line 1375
9593 __cil_tmp215 = __cil_tmp214 + 32;
9594#line 1375
9595 __cil_tmp216 = *((int **)__cil_tmp215);
9596#line 1375
9597 __cil_tmp217 = __cil_tmp216 + __cil_tmp213;
9598#line 1375
9599 *__cil_tmp217 = i;
9600#line 1376
9601 goto ldv_31363;
9602 possibly_erase: ;
9603 {
9604#line 1379
9605 __cil_tmp218 = (int )erase_bad_lba_entries;
9606#line 1379
9607 if (__cil_tmp218 != 0) {
9608 {
9609#line 1382
9610 __cil_tmp219 = (unsigned long )info;
9611#line 1382
9612 __cil_tmp220 = __cil_tmp219 + 20;
9613#line 1382
9614 __cil_tmp221 = *((int *)__cil_tmp220);
9615#line 1382
9616 __cil_tmp222 = (unsigned long )info;
9617#line 1382
9618 __cil_tmp223 = __cil_tmp222 + 12;
9619#line 1382
9620 __cil_tmp224 = *((int *)__cil_tmp223);
9621#line 1382
9622 __cil_tmp225 = __cil_tmp224 + __cil_tmp221;
9623#line 1382
9624 __cil_tmp226 = i << __cil_tmp225;
9625#line 1382
9626 address___0 = (unsigned long )__cil_tmp226;
9627#line 1383
9628 __cil_tmp227 = address___0 >> 1;
9629#line 1383
9630 sddr09_erase(us, __cil_tmp227);
9631#line 1384
9632 __cil_tmp228 = (unsigned long )i;
9633#line 1384
9634 __cil_tmp229 = (unsigned long )info;
9635#line 1384
9636 __cil_tmp230 = __cil_tmp229 + 40;
9637#line 1384
9638 __cil_tmp231 = *((int **)__cil_tmp230);
9639#line 1384
9640 __cil_tmp232 = __cil_tmp231 + __cil_tmp228;
9641#line 1384
9642 *__cil_tmp232 = -1;
9643 }
9644 } else {
9645#line 1386
9646 __cil_tmp233 = (unsigned long )i;
9647#line 1386
9648 __cil_tmp234 = (unsigned long )info;
9649#line 1386
9650 __cil_tmp235 = __cil_tmp234 + 40;
9651#line 1386
9652 __cil_tmp236 = *((int **)__cil_tmp235);
9653#line 1386
9654 __cil_tmp237 = __cil_tmp236 + __cil_tmp233;
9655#line 1386
9656 *__cil_tmp237 = -3;
9657 }
9658 }
9659 ldv_31363:
9660#line 1277
9661 i = i + 1;
9662 ldv_31375: ;
9663#line 1277
9664 if (i < numblocks) {
9665#line 1278
9666 goto ldv_31374;
9667 } else {
9668#line 1280
9669 goto ldv_31376;
9670 }
9671 ldv_31376:
9672#line 1395
9673 lbact = 0U;
9674#line 1396
9675 i = 0;
9676#line 1396
9677 goto ldv_31382;
9678 ldv_31381:
9679#line 1397
9680 ct = 0;
9681#line 1399
9682 j = 0;
9683#line 1399
9684 goto ldv_31379;
9685 ldv_31378: ;
9686 {
9687#line 1400
9688 __cil_tmp238 = i + j;
9689#line 1400
9690 __cil_tmp239 = (unsigned long )__cil_tmp238;
9691#line 1400
9692 __cil_tmp240 = (unsigned long )info;
9693#line 1400
9694 __cil_tmp241 = __cil_tmp240 + 40;
9695#line 1400
9696 __cil_tmp242 = *((int **)__cil_tmp241);
9697#line 1400
9698 __cil_tmp243 = __cil_tmp242 + __cil_tmp239;
9699#line 1400
9700 __cil_tmp244 = *__cil_tmp243;
9701#line 1400
9702 if (__cil_tmp244 != -3) {
9703#line 1401
9704 if (ct > 999) {
9705#line 1402
9706 __cil_tmp245 = i + j;
9707#line 1402
9708 __cil_tmp246 = (unsigned long )__cil_tmp245;
9709#line 1402
9710 __cil_tmp247 = (unsigned long )info;
9711#line 1402
9712 __cil_tmp248 = __cil_tmp247 + 40;
9713#line 1402
9714 __cil_tmp249 = *((int **)__cil_tmp248);
9715#line 1402
9716 __cil_tmp250 = __cil_tmp249 + __cil_tmp246;
9717#line 1402
9718 *__cil_tmp250 = -2;
9719 } else {
9720#line 1404
9721 ct = ct + 1;
9722 }
9723 } else {
9724
9725 }
9726 }
9727#line 1399
9728 j = j + 1;
9729 ldv_31379: ;
9730#line 1399
9731 if (j <= 1023) {
9732 {
9733#line 1399
9734 __cil_tmp251 = i + j;
9735#line 1399
9736 if (__cil_tmp251 < numblocks) {
9737#line 1400
9738 goto ldv_31378;
9739 } else {
9740#line 1402
9741 goto ldv_31380;
9742 }
9743 }
9744 } else {
9745#line 1402
9746 goto ldv_31380;
9747 }
9748 ldv_31380:
9749#line 1407
9750 __cil_tmp252 = (unsigned int )ct;
9751#line 1407
9752 lbact = lbact + __cil_tmp252;
9753#line 1396
9754 i = i + 1024;
9755 ldv_31382: ;
9756#line 1396
9757 if (i < numblocks) {
9758#line 1397
9759 goto ldv_31381;
9760 } else {
9761#line 1399
9762 goto ldv_31383;
9763 }
9764 ldv_31383:
9765 {
9766#line 1409
9767 __cil_tmp253 = (unsigned long )info;
9768#line 1409
9769 __cil_tmp254 = __cil_tmp253 + 48;
9770#line 1409
9771 *((int *)__cil_tmp254) = (int )lbact;
9772#line 1410
9773 printk("<7>usb-storage: Found %d LBA\'s\n", lbact);
9774#line 1411
9775 result = 0;
9776 }
9777 done: ;
9778#line 1414
9779 if (result != 0) {
9780 {
9781#line 1415
9782 __cil_tmp255 = (unsigned long )info;
9783#line 1415
9784 __cil_tmp256 = __cil_tmp255 + 32;
9785#line 1415
9786 __cil_tmp257 = *((int **)__cil_tmp256);
9787#line 1415
9788 __cil_tmp258 = (void const *)__cil_tmp257;
9789#line 1415
9790 kfree(__cil_tmp258);
9791#line 1416
9792 __cil_tmp259 = (unsigned long )info;
9793#line 1416
9794 __cil_tmp260 = __cil_tmp259 + 40;
9795#line 1416
9796 __cil_tmp261 = *((int **)__cil_tmp260);
9797#line 1416
9798 __cil_tmp262 = (void const *)__cil_tmp261;
9799#line 1416
9800 kfree(__cil_tmp262);
9801#line 1417
9802 __cil_tmp263 = (unsigned long )info;
9803#line 1417
9804 __cil_tmp264 = __cil_tmp263 + 32;
9805#line 1417
9806 *((int **)__cil_tmp264) = (int *)0;
9807#line 1418
9808 __cil_tmp265 = (unsigned long )info;
9809#line 1418
9810 __cil_tmp266 = __cil_tmp265 + 40;
9811#line 1418
9812 *((int **)__cil_tmp266) = (int *)0;
9813 }
9814 } else {
9815
9816 }
9817 {
9818#line 1420
9819 __cil_tmp267 = (void const *)buffer;
9820#line 1420
9821 kfree(__cil_tmp267);
9822 }
9823#line 1421
9824 return (result);
9825}
9826}
9827#line 1425 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
9828static void sddr09_card_info_destructor(void *extra )
9829{ struct sddr09_card_info *info ;
9830 struct sddr09_card_info *__cil_tmp3 ;
9831 unsigned long __cil_tmp4 ;
9832 unsigned long __cil_tmp5 ;
9833 unsigned long __cil_tmp6 ;
9834 unsigned long __cil_tmp7 ;
9835 int *__cil_tmp8 ;
9836 void const *__cil_tmp9 ;
9837 unsigned long __cil_tmp10 ;
9838 unsigned long __cil_tmp11 ;
9839 int *__cil_tmp12 ;
9840 void const *__cil_tmp13 ;
9841
9842 {
9843#line 1426
9844 info = (struct sddr09_card_info *)extra;
9845 {
9846#line 1428
9847 __cil_tmp3 = (struct sddr09_card_info *)0;
9848#line 1428
9849 __cil_tmp4 = (unsigned long )__cil_tmp3;
9850#line 1428
9851 __cil_tmp5 = (unsigned long )info;
9852#line 1428
9853 if (__cil_tmp5 == __cil_tmp4) {
9854#line 1429
9855 return;
9856 } else {
9857
9858 }
9859 }
9860 {
9861#line 1431
9862 __cil_tmp6 = (unsigned long )info;
9863#line 1431
9864 __cil_tmp7 = __cil_tmp6 + 32;
9865#line 1431
9866 __cil_tmp8 = *((int **)__cil_tmp7);
9867#line 1431
9868 __cil_tmp9 = (void const *)__cil_tmp8;
9869#line 1431
9870 kfree(__cil_tmp9);
9871#line 1432
9872 __cil_tmp10 = (unsigned long )info;
9873#line 1432
9874 __cil_tmp11 = __cil_tmp10 + 40;
9875#line 1432
9876 __cil_tmp12 = *((int **)__cil_tmp11);
9877#line 1432
9878 __cil_tmp13 = (void const *)__cil_tmp12;
9879#line 1432
9880 kfree(__cil_tmp13);
9881 }
9882#line 1433
9883 return;
9884}
9885}
9886#line 1436 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
9887static int sddr09_common_init(struct us_data *us )
9888{ int result ;
9889 unsigned long __cil_tmp3 ;
9890 unsigned long __cil_tmp4 ;
9891 unsigned long __cil_tmp5 ;
9892 struct usb_device *__cil_tmp6 ;
9893 unsigned long __cil_tmp7 ;
9894 unsigned long __cil_tmp8 ;
9895 struct usb_host_config *__cil_tmp9 ;
9896 unsigned long __cil_tmp10 ;
9897 unsigned long __cil_tmp11 ;
9898 __u8 __cil_tmp12 ;
9899 unsigned int __cil_tmp13 ;
9900 unsigned long __cil_tmp14 ;
9901 unsigned long __cil_tmp15 ;
9902 unsigned long __cil_tmp16 ;
9903 struct usb_device *__cil_tmp17 ;
9904 unsigned long __cil_tmp18 ;
9905 unsigned long __cil_tmp19 ;
9906 struct usb_host_config *__cil_tmp20 ;
9907 unsigned long __cil_tmp21 ;
9908 unsigned long __cil_tmp22 ;
9909 __u8 __cil_tmp23 ;
9910 int __cil_tmp24 ;
9911 unsigned long __cil_tmp25 ;
9912 unsigned long __cil_tmp26 ;
9913 struct usb_device *__cil_tmp27 ;
9914 unsigned long __cil_tmp28 ;
9915 unsigned long __cil_tmp29 ;
9916 void *__cil_tmp30 ;
9917 unsigned long __cil_tmp31 ;
9918 unsigned long __cil_tmp32 ;
9919 unsigned long __cil_tmp33 ;
9920 void *__cil_tmp34 ;
9921 unsigned long __cil_tmp35 ;
9922 unsigned long __cil_tmp36 ;
9923 unsigned long __cil_tmp37 ;
9924
9925 {
9926 {
9927#line 1440
9928 __cil_tmp3 = 0 + 5;
9929#line 1440
9930 __cil_tmp4 = (unsigned long )us;
9931#line 1440
9932 __cil_tmp5 = __cil_tmp4 + 168;
9933#line 1440
9934 __cil_tmp6 = *((struct usb_device **)__cil_tmp5);
9935#line 1440
9936 __cil_tmp7 = (unsigned long )__cil_tmp6;
9937#line 1440
9938 __cil_tmp8 = __cil_tmp7 + 1328;
9939#line 1440
9940 __cil_tmp9 = *((struct usb_host_config **)__cil_tmp8);
9941#line 1440
9942 __cil_tmp10 = (unsigned long )__cil_tmp9;
9943#line 1440
9944 __cil_tmp11 = __cil_tmp10 + __cil_tmp3;
9945#line 1440
9946 __cil_tmp12 = *((__u8 *)__cil_tmp11);
9947#line 1440
9948 __cil_tmp13 = (unsigned int )__cil_tmp12;
9949#line 1440
9950 if (__cil_tmp13 != 1U) {
9951 {
9952#line 1441
9953 __cil_tmp14 = 0 + 5;
9954#line 1441
9955 __cil_tmp15 = (unsigned long )us;
9956#line 1441
9957 __cil_tmp16 = __cil_tmp15 + 168;
9958#line 1441
9959 __cil_tmp17 = *((struct usb_device **)__cil_tmp16);
9960#line 1441
9961 __cil_tmp18 = (unsigned long )__cil_tmp17;
9962#line 1441
9963 __cil_tmp19 = __cil_tmp18 + 1328;
9964#line 1441
9965 __cil_tmp20 = *((struct usb_host_config **)__cil_tmp19);
9966#line 1441
9967 __cil_tmp21 = (unsigned long )__cil_tmp20;
9968#line 1441
9969 __cil_tmp22 = __cil_tmp21 + __cil_tmp14;
9970#line 1441
9971 __cil_tmp23 = *((__u8 *)__cil_tmp22);
9972#line 1441
9973 __cil_tmp24 = (int )__cil_tmp23;
9974#line 1441
9975 printk("<7>usb-storage: active config #%d != 1 ??\n", __cil_tmp24);
9976 }
9977#line 1443
9978 return (-22);
9979 } else {
9980
9981 }
9982 }
9983 {
9984#line 1446
9985 __cil_tmp25 = (unsigned long )us;
9986#line 1446
9987 __cil_tmp26 = __cil_tmp25 + 168;
9988#line 1446
9989 __cil_tmp27 = *((struct usb_device **)__cil_tmp26);
9990#line 1446
9991 result = usb_reset_configuration(__cil_tmp27);
9992#line 1447
9993 printk("<7>usb-storage: Result of usb_reset_configuration is %d\n", result);
9994 }
9995#line 1448
9996 if (result == -32) {
9997 {
9998#line 1449
9999 printk("<7>usb-storage: -- stall on control interface\n");
10000 }
10001 } else
10002#line 1450
10003 if (result != 0) {
10004 {
10005#line 1452
10006 printk("<7>usb-storage: -- Unknown error. Rejecting device\n");
10007 }
10008#line 1453
10009 return (-22);
10010 } else {
10011
10012 }
10013 {
10014#line 1456
10015 __cil_tmp28 = (unsigned long )us;
10016#line 1456
10017 __cil_tmp29 = __cil_tmp28 + 1080;
10018#line 1456
10019 *((void **)__cil_tmp29) = kzalloc(56UL, 16U);
10020 }
10021 {
10022#line 1457
10023 __cil_tmp30 = (void *)0;
10024#line 1457
10025 __cil_tmp31 = (unsigned long )__cil_tmp30;
10026#line 1457
10027 __cil_tmp32 = (unsigned long )us;
10028#line 1457
10029 __cil_tmp33 = __cil_tmp32 + 1080;
10030#line 1457
10031 __cil_tmp34 = *((void **)__cil_tmp33);
10032#line 1457
10033 __cil_tmp35 = (unsigned long )__cil_tmp34;
10034#line 1457
10035 if (__cil_tmp35 == __cil_tmp31) {
10036#line 1458
10037 return (-12);
10038 } else {
10039
10040 }
10041 }
10042 {
10043#line 1459
10044 __cil_tmp36 = (unsigned long )us;
10045#line 1459
10046 __cil_tmp37 = __cil_tmp36 + 1088;
10047#line 1459
10048 *((void (**)(void * ))__cil_tmp37) = & sddr09_card_info_destructor;
10049#line 1461
10050 nand_init_ecc();
10051 }
10052#line 1462
10053 return (0);
10054}
10055}
10056#line 1472 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
10057static int usb_stor_sddr09_dpcm_init(struct us_data *us )
10058{ int result ;
10059 unsigned char *data ;
10060 int j ;
10061 unsigned long __cil_tmp5 ;
10062 unsigned long __cil_tmp6 ;
10063 unsigned char __cil_tmp7 ;
10064 int __cil_tmp8 ;
10065 unsigned char *__cil_tmp9 ;
10066 unsigned char __cil_tmp10 ;
10067 int __cil_tmp11 ;
10068 unsigned char __cil_tmp12 ;
10069 int __cil_tmp13 ;
10070 unsigned char *__cil_tmp14 ;
10071 unsigned char __cil_tmp15 ;
10072 int __cil_tmp16 ;
10073 unsigned char *__cil_tmp17 ;
10074 unsigned char __cil_tmp18 ;
10075 unsigned int __cil_tmp19 ;
10076 unsigned long __cil_tmp20 ;
10077 unsigned char *__cil_tmp21 ;
10078 unsigned char __cil_tmp22 ;
10079 int __cil_tmp23 ;
10080
10081 {
10082 {
10083#line 1474
10084 __cil_tmp5 = (unsigned long )us;
10085#line 1474
10086 __cil_tmp6 = __cil_tmp5 + 568;
10087#line 1474
10088 data = *((unsigned char **)__cil_tmp6);
10089#line 1476
10090 result = sddr09_common_init(us);
10091 }
10092#line 1477
10093 if (result != 0) {
10094#line 1478
10095 return (result);
10096 } else {
10097
10098 }
10099 {
10100#line 1480
10101 result = sddr09_send_command(us, (unsigned char)1, (unsigned char)128, data, 2U);
10102 }
10103#line 1481
10104 if (result != 0) {
10105 {
10106#line 1482
10107 printk("<7>usb-storage: sddr09_init: send_command fails\n");
10108 }
10109#line 1483
10110 return (result);
10111 } else {
10112
10113 }
10114 {
10115#line 1486
10116 __cil_tmp7 = *data;
10117#line 1486
10118 __cil_tmp8 = (int )__cil_tmp7;
10119#line 1486
10120 __cil_tmp9 = data + 1UL;
10121#line 1486
10122 __cil_tmp10 = *__cil_tmp9;
10123#line 1486
10124 __cil_tmp11 = (int )__cil_tmp10;
10125#line 1486
10126 printk("<7>usb-storage: SDDR09init: %02X %02X\n", __cil_tmp8, __cil_tmp11);
10127#line 1489
10128 result = sddr09_send_command(us, (unsigned char)8, (unsigned char)128, data, 2U);
10129 }
10130#line 1490
10131 if (result != 0) {
10132 {
10133#line 1491
10134 printk("<7>usb-storage: sddr09_init: 2nd send_command fails\n");
10135 }
10136#line 1492
10137 return (result);
10138 } else {
10139
10140 }
10141 {
10142#line 1495
10143 __cil_tmp12 = *data;
10144#line 1495
10145 __cil_tmp13 = (int )__cil_tmp12;
10146#line 1495
10147 __cil_tmp14 = data + 1UL;
10148#line 1495
10149 __cil_tmp15 = *__cil_tmp14;
10150#line 1495
10151 __cil_tmp16 = (int )__cil_tmp15;
10152#line 1495
10153 printk("<7>usb-storage: SDDR09init: %02X %02X\n", __cil_tmp13, __cil_tmp16);
10154#line 1498
10155 result = sddr09_request_sense(us, data, 18);
10156 }
10157#line 1499
10158 if (result == 0) {
10159 {
10160#line 1499
10161 __cil_tmp17 = data + 2UL;
10162#line 1499
10163 __cil_tmp18 = *__cil_tmp17;
10164#line 1499
10165 __cil_tmp19 = (unsigned int )__cil_tmp18;
10166#line 1499
10167 if (__cil_tmp19 != 0U) {
10168#line 1501
10169 j = 0;
10170#line 1501
10171 goto ldv_31399;
10172 ldv_31398:
10173 {
10174#line 1502
10175 __cil_tmp20 = (unsigned long )j;
10176#line 1502
10177 __cil_tmp21 = data + __cil_tmp20;
10178#line 1502
10179 __cil_tmp22 = *__cil_tmp21;
10180#line 1502
10181 __cil_tmp23 = (int )__cil_tmp22;
10182#line 1502
10183 printk(" %02X", __cil_tmp23);
10184#line 1501
10185 j = j + 1;
10186 }
10187 ldv_31399: ;
10188#line 1501
10189 if (j <= 17) {
10190#line 1502
10191 goto ldv_31398;
10192 } else {
10193#line 1504
10194 goto ldv_31400;
10195 }
10196 ldv_31400:
10197 {
10198#line 1503
10199 printk("\n");
10200 }
10201 } else {
10202
10203 }
10204 }
10205 } else {
10206
10207 }
10208#line 1515
10209 return (0);
10210}
10211}
10212#line 1521 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
10213static int dpcm_transport(struct scsi_cmnd *srb , struct us_data *us )
10214{ int ret ;
10215 struct scsi_device *__cil_tmp4 ;
10216 unsigned long __cil_tmp5 ;
10217 unsigned long __cil_tmp6 ;
10218 unsigned int __cil_tmp7 ;
10219 struct scsi_device *__cil_tmp8 ;
10220 unsigned long __cil_tmp9 ;
10221 unsigned long __cil_tmp10 ;
10222 unsigned int __cil_tmp11 ;
10223 struct scsi_device *__cil_tmp12 ;
10224 unsigned long __cil_tmp13 ;
10225 unsigned long __cil_tmp14 ;
10226 struct scsi_device *__cil_tmp15 ;
10227 unsigned long __cil_tmp16 ;
10228 unsigned long __cil_tmp17 ;
10229 struct scsi_device *__cil_tmp18 ;
10230 unsigned long __cil_tmp19 ;
10231 unsigned long __cil_tmp20 ;
10232 unsigned int __cil_tmp21 ;
10233
10234 {
10235 {
10236#line 1525
10237 __cil_tmp4 = *((struct scsi_device **)srb);
10238#line 1525
10239 __cil_tmp5 = (unsigned long )__cil_tmp4;
10240#line 1525
10241 __cil_tmp6 = __cil_tmp5 + 204;
10242#line 1525
10243 __cil_tmp7 = *((unsigned int *)__cil_tmp6);
10244#line 1525
10245 printk("<7>usb-storage: dpcm_transport: LUN=%d\n", __cil_tmp7);
10246 }
10247 {
10248#line 1527
10249 __cil_tmp8 = *((struct scsi_device **)srb);
10250#line 1527
10251 __cil_tmp9 = (unsigned long )__cil_tmp8;
10252#line 1527
10253 __cil_tmp10 = __cil_tmp9 + 204;
10254#line 1527
10255 __cil_tmp11 = *((unsigned int *)__cil_tmp10);
10256#line 1528
10257 if ((int )__cil_tmp11 == 0) {
10258#line 1528
10259 goto case_0;
10260 } else
10261#line 1536
10262 if ((int )__cil_tmp11 == 1) {
10263#line 1536
10264 goto case_1;
10265 } else {
10266 {
10267#line 1550
10268 goto switch_default;
10269#line 1527
10270 if (0) {
10271 case_0:
10272 {
10273#line 1533
10274 ret = usb_stor_CB_transport(srb, us);
10275 }
10276#line 1534
10277 goto ldv_31407;
10278 case_1:
10279 {
10280#line 1545
10281 __cil_tmp12 = *((struct scsi_device **)srb);
10282#line 1545
10283 __cil_tmp13 = (unsigned long )__cil_tmp12;
10284#line 1545
10285 __cil_tmp14 = __cil_tmp13 + 204;
10286#line 1545
10287 *((unsigned int *)__cil_tmp14) = 0U;
10288#line 1546
10289 ret = sddr09_transport(srb, us);
10290#line 1547
10291 __cil_tmp15 = *((struct scsi_device **)srb);
10292#line 1547
10293 __cil_tmp16 = (unsigned long )__cil_tmp15;
10294#line 1547
10295 __cil_tmp17 = __cil_tmp16 + 204;
10296#line 1547
10297 *((unsigned int *)__cil_tmp17) = 1U;
10298 }
10299#line 1548
10300 goto ldv_31407;
10301 switch_default:
10302 {
10303#line 1551
10304 __cil_tmp18 = *((struct scsi_device **)srb);
10305#line 1551
10306 __cil_tmp19 = (unsigned long )__cil_tmp18;
10307#line 1551
10308 __cil_tmp20 = __cil_tmp19 + 204;
10309#line 1551
10310 __cil_tmp21 = *((unsigned int *)__cil_tmp20);
10311#line 1551
10312 printk("<7>usb-storage: dpcm_transport: Invalid LUN %d\n", __cil_tmp21);
10313#line 1553
10314 ret = 3;
10315 }
10316#line 1554
10317 goto ldv_31407;
10318 } else {
10319 switch_break: ;
10320 }
10321 }
10322 }
10323 }
10324 ldv_31407: ;
10325#line 1556
10326 return (ret);
10327}
10328}
10329#line 1563 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
10330static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us )
10331{ unsigned char sensekey ;
10332 unsigned char sensecode ;
10333 unsigned char havefakesense ;
10334 int result ;
10335 int i ;
10336 unsigned char *ptr ;
10337 unsigned long capacity ;
10338 unsigned int page ;
10339 unsigned int pages ;
10340 struct sddr09_card_info *info ;
10341 unsigned char inquiry_response[8U] ;
10342 unsigned char mode_page_01[19U] ;
10343 size_t __len ;
10344 void *__ret ;
10345 struct nand_flash_dev *cardinfo ;
10346 int tmp ;
10347 __u32 tmp___0 ;
10348 __u32 tmp___1 ;
10349 int modepage ;
10350 size_t __len___0 ;
10351 void *__ret___0 ;
10352 int tmp___2 ;
10353 int tmp___3 ;
10354 size_t tmp___4 ;
10355 unsigned int tmp___5 ;
10356 unsigned int pipe ;
10357 unsigned int tmp___6 ;
10358 unsigned int tmp___7 ;
10359 char *tmp___8 ;
10360 int tmp___9 ;
10361 unsigned long __cil_tmp33 ;
10362 unsigned long __cil_tmp34 ;
10363 unsigned long __cil_tmp35 ;
10364 unsigned long __cil_tmp36 ;
10365 unsigned long __cil_tmp37 ;
10366 unsigned long __cil_tmp38 ;
10367 unsigned long __cil_tmp39 ;
10368 unsigned long __cil_tmp40 ;
10369 unsigned long __cil_tmp41 ;
10370 unsigned long __cil_tmp42 ;
10371 unsigned long __cil_tmp43 ;
10372 unsigned long __cil_tmp44 ;
10373 unsigned long __cil_tmp45 ;
10374 unsigned long __cil_tmp46 ;
10375 unsigned long __cil_tmp47 ;
10376 unsigned long __cil_tmp48 ;
10377 unsigned long __cil_tmp49 ;
10378 unsigned long __cil_tmp50 ;
10379 unsigned long __cil_tmp51 ;
10380 unsigned long __cil_tmp52 ;
10381 unsigned long __cil_tmp53 ;
10382 unsigned long __cil_tmp54 ;
10383 unsigned long __cil_tmp55 ;
10384 unsigned long __cil_tmp56 ;
10385 unsigned long __cil_tmp57 ;
10386 unsigned long __cil_tmp58 ;
10387 unsigned long __cil_tmp59 ;
10388 unsigned long __cil_tmp60 ;
10389 unsigned long __cil_tmp61 ;
10390 unsigned long __cil_tmp62 ;
10391 unsigned long __cil_tmp63 ;
10392 unsigned long __cil_tmp64 ;
10393 unsigned long __cil_tmp65 ;
10394 unsigned long __cil_tmp66 ;
10395 unsigned long __cil_tmp67 ;
10396 unsigned long __cil_tmp68 ;
10397 unsigned long __cil_tmp69 ;
10398 unsigned long __cil_tmp70 ;
10399 unsigned long __cil_tmp71 ;
10400 unsigned long __cil_tmp72 ;
10401 unsigned long __cil_tmp73 ;
10402 unsigned long __cil_tmp74 ;
10403 unsigned long __cil_tmp75 ;
10404 unsigned long __cil_tmp76 ;
10405 unsigned long __cil_tmp77 ;
10406 unsigned long __cil_tmp78 ;
10407 unsigned long __cil_tmp79 ;
10408 unsigned long __cil_tmp80 ;
10409 unsigned long __cil_tmp81 ;
10410 unsigned long __cil_tmp82 ;
10411 unsigned long __cil_tmp83 ;
10412 unsigned long __cil_tmp84 ;
10413 unsigned long __cil_tmp85 ;
10414 unsigned long __cil_tmp86 ;
10415 unsigned long __cil_tmp87 ;
10416 unsigned long __cil_tmp88 ;
10417 unsigned long __cil_tmp89 ;
10418 unsigned long __cil_tmp90 ;
10419 void *__cil_tmp91 ;
10420 unsigned long __cil_tmp92 ;
10421 unsigned long __cil_tmp93 ;
10422 unsigned char *__cil_tmp94 ;
10423 unsigned char __cil_tmp95 ;
10424 unsigned int __cil_tmp96 ;
10425 unsigned int __cil_tmp97 ;
10426 void *__cil_tmp98 ;
10427 unsigned char *__cil_tmp99 ;
10428 unsigned char *__cil_tmp100 ;
10429 unsigned char *__cil_tmp101 ;
10430 unsigned long __cil_tmp102 ;
10431 unsigned long __cil_tmp103 ;
10432 unsigned char *__cil_tmp104 ;
10433 unsigned char __cil_tmp105 ;
10434 unsigned int __cil_tmp106 ;
10435 void *__cil_tmp107 ;
10436 void const *__cil_tmp108 ;
10437 void *__cil_tmp109 ;
10438 void const *__cil_tmp110 ;
10439 unsigned long __cil_tmp111 ;
10440 unsigned long __cil_tmp112 ;
10441 unsigned char *__cil_tmp113 ;
10442 unsigned char __cil_tmp114 ;
10443 unsigned int __cil_tmp115 ;
10444 unsigned long __cil_tmp116 ;
10445 unsigned long __cil_tmp117 ;
10446 int __cil_tmp118 ;
10447 unsigned char __cil_tmp119 ;
10448 int __cil_tmp120 ;
10449 unsigned char __cil_tmp121 ;
10450 struct nand_flash_dev *__cil_tmp122 ;
10451 unsigned long __cil_tmp123 ;
10452 unsigned long __cil_tmp124 ;
10453 unsigned long __cil_tmp125 ;
10454 unsigned long __cil_tmp126 ;
10455 int __cil_tmp127 ;
10456 int __cil_tmp128 ;
10457 unsigned long __cil_tmp129 ;
10458 unsigned long __cil_tmp130 ;
10459 unsigned long __cil_tmp131 ;
10460 unsigned long __cil_tmp132 ;
10461 char __cil_tmp133 ;
10462 unsigned long __cil_tmp134 ;
10463 unsigned long __cil_tmp135 ;
10464 unsigned long __cil_tmp136 ;
10465 unsigned long __cil_tmp137 ;
10466 int __cil_tmp138 ;
10467 unsigned long __cil_tmp139 ;
10468 unsigned long __cil_tmp140 ;
10469 unsigned long __cil_tmp141 ;
10470 unsigned long __cil_tmp142 ;
10471 char __cil_tmp143 ;
10472 unsigned long __cil_tmp144 ;
10473 unsigned long __cil_tmp145 ;
10474 unsigned long __cil_tmp146 ;
10475 unsigned long __cil_tmp147 ;
10476 int __cil_tmp148 ;
10477 unsigned long __cil_tmp149 ;
10478 unsigned long __cil_tmp150 ;
10479 unsigned long __cil_tmp151 ;
10480 unsigned long __cil_tmp152 ;
10481 int __cil_tmp153 ;
10482 unsigned long __cil_tmp154 ;
10483 unsigned long __cil_tmp155 ;
10484 int __cil_tmp156 ;
10485 unsigned long __cil_tmp157 ;
10486 unsigned long __cil_tmp158 ;
10487 int __cil_tmp159 ;
10488 int __cil_tmp160 ;
10489 int __cil_tmp161 ;
10490 __u32 __cil_tmp162 ;
10491 __be32 *__cil_tmp163 ;
10492 unsigned long __cil_tmp164 ;
10493 unsigned long __cil_tmp165 ;
10494 int __cil_tmp166 ;
10495 __u32 __cil_tmp167 ;
10496 __be32 *__cil_tmp168 ;
10497 __be32 *__cil_tmp169 ;
10498 unsigned long __cil_tmp170 ;
10499 unsigned long __cil_tmp171 ;
10500 unsigned char *__cil_tmp172 ;
10501 unsigned char __cil_tmp173 ;
10502 unsigned int __cil_tmp174 ;
10503 unsigned long __cil_tmp175 ;
10504 unsigned long __cil_tmp176 ;
10505 unsigned char *__cil_tmp177 ;
10506 unsigned char *__cil_tmp178 ;
10507 unsigned char __cil_tmp179 ;
10508 int __cil_tmp180 ;
10509 void *__cil_tmp181 ;
10510 void const *__cil_tmp182 ;
10511 void *__cil_tmp183 ;
10512 void const *__cil_tmp184 ;
10513 __be16 *__cil_tmp185 ;
10514 unsigned long __cil_tmp186 ;
10515 unsigned long __cil_tmp187 ;
10516 int __cil_tmp188 ;
10517 unsigned char *__cil_tmp189 ;
10518 unsigned char *__cil_tmp190 ;
10519 unsigned long __cil_tmp191 ;
10520 unsigned long __cil_tmp192 ;
10521 unsigned char *__cil_tmp193 ;
10522 unsigned char __cil_tmp194 ;
10523 unsigned int __cil_tmp195 ;
10524 unsigned long __cil_tmp196 ;
10525 unsigned long __cil_tmp197 ;
10526 unsigned char *__cil_tmp198 ;
10527 unsigned char __cil_tmp199 ;
10528 unsigned int __cil_tmp200 ;
10529 unsigned long __cil_tmp201 ;
10530 unsigned long __cil_tmp202 ;
10531 unsigned char *__cil_tmp203 ;
10532 unsigned char *__cil_tmp204 ;
10533 unsigned char __cil_tmp205 ;
10534 int __cil_tmp206 ;
10535 int __cil_tmp207 ;
10536 unsigned long __cil_tmp208 ;
10537 unsigned long __cil_tmp209 ;
10538 unsigned char *__cil_tmp210 ;
10539 unsigned char *__cil_tmp211 ;
10540 unsigned char __cil_tmp212 ;
10541 int __cil_tmp213 ;
10542 int __cil_tmp214 ;
10543 unsigned long __cil_tmp215 ;
10544 unsigned long __cil_tmp216 ;
10545 unsigned char *__cil_tmp217 ;
10546 unsigned char *__cil_tmp218 ;
10547 unsigned char __cil_tmp219 ;
10548 int __cil_tmp220 ;
10549 int __cil_tmp221 ;
10550 unsigned long __cil_tmp222 ;
10551 unsigned long __cil_tmp223 ;
10552 unsigned char *__cil_tmp224 ;
10553 unsigned char *__cil_tmp225 ;
10554 unsigned char __cil_tmp226 ;
10555 int __cil_tmp227 ;
10556 int __cil_tmp228 ;
10557 unsigned int __cil_tmp229 ;
10558 unsigned long __cil_tmp230 ;
10559 unsigned long __cil_tmp231 ;
10560 unsigned char *__cil_tmp232 ;
10561 unsigned char *__cil_tmp233 ;
10562 unsigned char __cil_tmp234 ;
10563 int __cil_tmp235 ;
10564 int __cil_tmp236 ;
10565 unsigned long __cil_tmp237 ;
10566 unsigned long __cil_tmp238 ;
10567 unsigned char *__cil_tmp239 ;
10568 unsigned char *__cil_tmp240 ;
10569 unsigned char __cil_tmp241 ;
10570 int __cil_tmp242 ;
10571 int __cil_tmp243 ;
10572 unsigned long __cil_tmp244 ;
10573 unsigned long __cil_tmp245 ;
10574 unsigned long __cil_tmp246 ;
10575 unsigned char *__cil_tmp247 ;
10576 unsigned char __cil_tmp248 ;
10577 unsigned int __cil_tmp249 ;
10578 unsigned long __cil_tmp250 ;
10579 unsigned long __cil_tmp251 ;
10580 unsigned char *__cil_tmp252 ;
10581 unsigned char *__cil_tmp253 ;
10582 unsigned char __cil_tmp254 ;
10583 int __cil_tmp255 ;
10584 int __cil_tmp256 ;
10585 unsigned long __cil_tmp257 ;
10586 unsigned long __cil_tmp258 ;
10587 unsigned char *__cil_tmp259 ;
10588 unsigned char *__cil_tmp260 ;
10589 unsigned char __cil_tmp261 ;
10590 int __cil_tmp262 ;
10591 int __cil_tmp263 ;
10592 unsigned long __cil_tmp264 ;
10593 unsigned long __cil_tmp265 ;
10594 unsigned char *__cil_tmp266 ;
10595 unsigned char *__cil_tmp267 ;
10596 unsigned char __cil_tmp268 ;
10597 int __cil_tmp269 ;
10598 int __cil_tmp270 ;
10599 unsigned long __cil_tmp271 ;
10600 unsigned long __cil_tmp272 ;
10601 unsigned char *__cil_tmp273 ;
10602 unsigned char *__cil_tmp274 ;
10603 unsigned char __cil_tmp275 ;
10604 int __cil_tmp276 ;
10605 int __cil_tmp277 ;
10606 unsigned int __cil_tmp278 ;
10607 unsigned long __cil_tmp279 ;
10608 unsigned long __cil_tmp280 ;
10609 unsigned char *__cil_tmp281 ;
10610 unsigned char *__cil_tmp282 ;
10611 unsigned char __cil_tmp283 ;
10612 int __cil_tmp284 ;
10613 int __cil_tmp285 ;
10614 unsigned long __cil_tmp286 ;
10615 unsigned long __cil_tmp287 ;
10616 unsigned char *__cil_tmp288 ;
10617 unsigned char *__cil_tmp289 ;
10618 unsigned char __cil_tmp290 ;
10619 int __cil_tmp291 ;
10620 int __cil_tmp292 ;
10621 unsigned long __cil_tmp293 ;
10622 unsigned long __cil_tmp294 ;
10623 unsigned long __cil_tmp295 ;
10624 unsigned char *__cil_tmp296 ;
10625 unsigned char __cil_tmp297 ;
10626 unsigned int __cil_tmp298 ;
10627 unsigned long __cil_tmp299 ;
10628 unsigned long __cil_tmp300 ;
10629 unsigned char *__cil_tmp301 ;
10630 unsigned char __cil_tmp302 ;
10631 unsigned int __cil_tmp303 ;
10632 unsigned long __cil_tmp304 ;
10633 unsigned long __cil_tmp305 ;
10634 unsigned short __cil_tmp306 ;
10635 unsigned long __cil_tmp307 ;
10636 unsigned long __cil_tmp308 ;
10637 unsigned long __cil_tmp309 ;
10638 unsigned char *__cil_tmp310 ;
10639 unsigned char *__cil_tmp311 ;
10640 unsigned long __cil_tmp312 ;
10641 unsigned long __cil_tmp313 ;
10642 unsigned long __cil_tmp314 ;
10643 unsigned long __cil_tmp315 ;
10644 unsigned short __cil_tmp316 ;
10645 int __cil_tmp317 ;
10646 int __cil_tmp318 ;
10647 unsigned long __cil_tmp319 ;
10648 unsigned long __cil_tmp320 ;
10649 unsigned short __cil_tmp321 ;
10650 unsigned int __cil_tmp322 ;
10651 unsigned long __cil_tmp323 ;
10652 unsigned long __cil_tmp324 ;
10653 unsigned char *__cil_tmp325 ;
10654 unsigned char *__cil_tmp326 ;
10655 char const *__cil_tmp327 ;
10656 unsigned char *__cil_tmp328 ;
10657 char *__cil_tmp329 ;
10658 unsigned long __cil_tmp330 ;
10659 unsigned long __cil_tmp331 ;
10660 unsigned long __cil_tmp332 ;
10661 unsigned char *__cil_tmp333 ;
10662 unsigned char *__cil_tmp334 ;
10663 unsigned char __cil_tmp335 ;
10664 int __cil_tmp336 ;
10665 unsigned long __cil_tmp337 ;
10666 unsigned long __cil_tmp338 ;
10667 unsigned char *__cil_tmp339 ;
10668 unsigned long __cil_tmp340 ;
10669 unsigned long __cil_tmp341 ;
10670 enum dma_data_direction __cil_tmp342 ;
10671 unsigned int __cil_tmp343 ;
10672 unsigned long __cil_tmp344 ;
10673 unsigned long __cil_tmp345 ;
10674 enum dma_data_direction __cil_tmp346 ;
10675 unsigned int __cil_tmp347 ;
10676 unsigned long __cil_tmp348 ;
10677 unsigned long __cil_tmp349 ;
10678 enum dma_data_direction __cil_tmp350 ;
10679 unsigned int __cil_tmp351 ;
10680 unsigned long __cil_tmp352 ;
10681 unsigned long __cil_tmp353 ;
10682 unsigned long __cil_tmp354 ;
10683 unsigned long __cil_tmp355 ;
10684 unsigned long __cil_tmp356 ;
10685 unsigned long __cil_tmp357 ;
10686 enum dma_data_direction __cil_tmp358 ;
10687 unsigned int __cil_tmp359 ;
10688
10689 {
10690#line 1565
10691 sensekey = (unsigned char)0;
10692#line 1565
10693 sensecode = (unsigned char)0;
10694#line 1566
10695 havefakesense = (unsigned char)0;
10696#line 1568
10697 __cil_tmp33 = (unsigned long )us;
10698#line 1568
10699 __cil_tmp34 = __cil_tmp33 + 568;
10700#line 1568
10701 ptr = *((unsigned char **)__cil_tmp34);
10702#line 1574
10703 __cil_tmp35 = 0 * 1UL;
10704#line 1574
10705 __cil_tmp36 = (unsigned long )(inquiry_response) + __cil_tmp35;
10706#line 1574
10707 *((unsigned char *)__cil_tmp36) = (unsigned char)0;
10708#line 1574
10709 __cil_tmp37 = 1 * 1UL;
10710#line 1574
10711 __cil_tmp38 = (unsigned long )(inquiry_response) + __cil_tmp37;
10712#line 1574
10713 *((unsigned char *)__cil_tmp38) = (unsigned char)128;
10714#line 1574
10715 __cil_tmp39 = 2 * 1UL;
10716#line 1574
10717 __cil_tmp40 = (unsigned long )(inquiry_response) + __cil_tmp39;
10718#line 1574
10719 *((unsigned char *)__cil_tmp40) = (unsigned char)0;
10720#line 1574
10721 __cil_tmp41 = 3 * 1UL;
10722#line 1574
10723 __cil_tmp42 = (unsigned long )(inquiry_response) + __cil_tmp41;
10724#line 1574
10725 *((unsigned char *)__cil_tmp42) = (unsigned char)2;
10726#line 1574
10727 __cil_tmp43 = 4 * 1UL;
10728#line 1574
10729 __cil_tmp44 = (unsigned long )(inquiry_response) + __cil_tmp43;
10730#line 1574
10731 *((unsigned char *)__cil_tmp44) = (unsigned char)31;
10732#line 1574
10733 __cil_tmp45 = 5 * 1UL;
10734#line 1574
10735 __cil_tmp46 = (unsigned long )(inquiry_response) + __cil_tmp45;
10736#line 1574
10737 *((unsigned char *)__cil_tmp46) = (unsigned char)0;
10738#line 1574
10739 __cil_tmp47 = 6 * 1UL;
10740#line 1574
10741 __cil_tmp48 = (unsigned long )(inquiry_response) + __cil_tmp47;
10742#line 1574
10743 *((unsigned char *)__cil_tmp48) = (unsigned char)0;
10744#line 1574
10745 __cil_tmp49 = 7 * 1UL;
10746#line 1574
10747 __cil_tmp50 = (unsigned long )(inquiry_response) + __cil_tmp49;
10748#line 1574
10749 *((unsigned char *)__cil_tmp50) = (unsigned char)0;
10750#line 1579
10751 __cil_tmp51 = 0 * 1UL;
10752#line 1579
10753 __cil_tmp52 = (unsigned long )(mode_page_01) + __cil_tmp51;
10754#line 1579
10755 *((unsigned char *)__cil_tmp52) = (unsigned char)0;
10756#line 1579
10757 __cil_tmp53 = 1 * 1UL;
10758#line 1579
10759 __cil_tmp54 = (unsigned long )(mode_page_01) + __cil_tmp53;
10760#line 1579
10761 *((unsigned char *)__cil_tmp54) = (unsigned char)15;
10762#line 1579
10763 __cil_tmp55 = 2 * 1UL;
10764#line 1579
10765 __cil_tmp56 = (unsigned long )(mode_page_01) + __cil_tmp55;
10766#line 1579
10767 *((unsigned char *)__cil_tmp56) = (unsigned char)0;
10768#line 1579
10769 __cil_tmp57 = 3 * 1UL;
10770#line 1579
10771 __cil_tmp58 = (unsigned long )(mode_page_01) + __cil_tmp57;
10772#line 1579
10773 *((unsigned char *)__cil_tmp58) = (unsigned char)0;
10774#line 1579
10775 __cil_tmp59 = 4 * 1UL;
10776#line 1579
10777 __cil_tmp60 = (unsigned long )(mode_page_01) + __cil_tmp59;
10778#line 1579
10779 *((unsigned char *)__cil_tmp60) = (unsigned char)0;
10780#line 1579
10781 __cil_tmp61 = 5 * 1UL;
10782#line 1579
10783 __cil_tmp62 = (unsigned long )(mode_page_01) + __cil_tmp61;
10784#line 1579
10785 *((unsigned char *)__cil_tmp62) = (unsigned char)0;
10786#line 1579
10787 __cil_tmp63 = 6 * 1UL;
10788#line 1579
10789 __cil_tmp64 = (unsigned long )(mode_page_01) + __cil_tmp63;
10790#line 1579
10791 *((unsigned char *)__cil_tmp64) = (unsigned char)0;
10792#line 1579
10793 __cil_tmp65 = 7 * 1UL;
10794#line 1579
10795 __cil_tmp66 = (unsigned long )(mode_page_01) + __cil_tmp65;
10796#line 1579
10797 *((unsigned char *)__cil_tmp66) = (unsigned char)1;
10798#line 1579
10799 __cil_tmp67 = 8 * 1UL;
10800#line 1579
10801 __cil_tmp68 = (unsigned long )(mode_page_01) + __cil_tmp67;
10802#line 1579
10803 *((unsigned char *)__cil_tmp68) = (unsigned char)10;
10804#line 1579
10805 __cil_tmp69 = 9 * 1UL;
10806#line 1579
10807 __cil_tmp70 = (unsigned long )(mode_page_01) + __cil_tmp69;
10808#line 1579
10809 *((unsigned char *)__cil_tmp70) = (unsigned char)0;
10810#line 1579
10811 __cil_tmp71 = 10 * 1UL;
10812#line 1579
10813 __cil_tmp72 = (unsigned long )(mode_page_01) + __cil_tmp71;
10814#line 1579
10815 *((unsigned char *)__cil_tmp72) = (unsigned char)0;
10816#line 1579
10817 __cil_tmp73 = 11 * 1UL;
10818#line 1579
10819 __cil_tmp74 = (unsigned long )(mode_page_01) + __cil_tmp73;
10820#line 1579
10821 *((unsigned char *)__cil_tmp74) = (unsigned char)0;
10822#line 1579
10823 __cil_tmp75 = 12 * 1UL;
10824#line 1579
10825 __cil_tmp76 = (unsigned long )(mode_page_01) + __cil_tmp75;
10826#line 1579
10827 *((unsigned char *)__cil_tmp76) = (unsigned char)0;
10828#line 1579
10829 __cil_tmp77 = 13 * 1UL;
10830#line 1579
10831 __cil_tmp78 = (unsigned long )(mode_page_01) + __cil_tmp77;
10832#line 1579
10833 *((unsigned char *)__cil_tmp78) = (unsigned char)0;
10834#line 1579
10835 __cil_tmp79 = 14 * 1UL;
10836#line 1579
10837 __cil_tmp80 = (unsigned long )(mode_page_01) + __cil_tmp79;
10838#line 1579
10839 *((unsigned char *)__cil_tmp80) = (unsigned char)0;
10840#line 1579
10841 __cil_tmp81 = 15 * 1UL;
10842#line 1579
10843 __cil_tmp82 = (unsigned long )(mode_page_01) + __cil_tmp81;
10844#line 1579
10845 *((unsigned char *)__cil_tmp82) = (unsigned char)0;
10846#line 1579
10847 __cil_tmp83 = 16 * 1UL;
10848#line 1579
10849 __cil_tmp84 = (unsigned long )(mode_page_01) + __cil_tmp83;
10850#line 1579
10851 *((unsigned char *)__cil_tmp84) = (unsigned char)0;
10852#line 1579
10853 __cil_tmp85 = 17 * 1UL;
10854#line 1579
10855 __cil_tmp86 = (unsigned long )(mode_page_01) + __cil_tmp85;
10856#line 1579
10857 *((unsigned char *)__cil_tmp86) = (unsigned char)0;
10858#line 1579
10859 __cil_tmp87 = 18 * 1UL;
10860#line 1579
10861 __cil_tmp88 = (unsigned long )(mode_page_01) + __cil_tmp87;
10862#line 1579
10863 *((unsigned char *)__cil_tmp88) = (unsigned char)0;
10864#line 1585
10865 __cil_tmp89 = (unsigned long )us;
10866#line 1585
10867 __cil_tmp90 = __cil_tmp89 + 1080;
10868#line 1585
10869 __cil_tmp91 = *((void **)__cil_tmp90);
10870#line 1585
10871 info = (struct sddr09_card_info *)__cil_tmp91;
10872 {
10873#line 1587
10874 __cil_tmp92 = (unsigned long )srb;
10875#line 1587
10876 __cil_tmp93 = __cil_tmp92 + 80;
10877#line 1587
10878 __cil_tmp94 = *((unsigned char **)__cil_tmp93);
10879#line 1587
10880 __cil_tmp95 = *__cil_tmp94;
10881#line 1587
10882 __cil_tmp96 = (unsigned int )__cil_tmp95;
10883#line 1587
10884 if (__cil_tmp96 == 3U) {
10885 {
10886#line 1587
10887 __cil_tmp97 = (unsigned int )havefakesense;
10888#line 1587
10889 if (__cil_tmp97 != 0U) {
10890 {
10891#line 1589
10892 __cil_tmp98 = (void *)ptr;
10893#line 1589
10894 memset(__cil_tmp98, 0, 18UL);
10895#line 1590
10896 *ptr = (unsigned char)112;
10897#line 1591
10898 __cil_tmp99 = ptr + 2UL;
10899#line 1591
10900 *__cil_tmp99 = sensekey;
10901#line 1592
10902 __cil_tmp100 = ptr + 7UL;
10903#line 1592
10904 *__cil_tmp100 = (unsigned char)11;
10905#line 1593
10906 __cil_tmp101 = ptr + 12UL;
10907#line 1593
10908 *__cil_tmp101 = sensecode;
10909#line 1594
10910 usb_stor_set_xfer_buf(ptr, 18U, srb);
10911#line 1595
10912 havefakesense = (unsigned char)0;
10913#line 1595
10914 sensecode = havefakesense;
10915#line 1595
10916 sensekey = sensecode;
10917 }
10918#line 1596
10919 return (0);
10920 } else {
10921
10922 }
10923 }
10924 } else {
10925
10926 }
10927 }
10928#line 1599
10929 havefakesense = (unsigned char)1;
10930 {
10931#line 1604
10932 __cil_tmp102 = (unsigned long )srb;
10933#line 1604
10934 __cil_tmp103 = __cil_tmp102 + 80;
10935#line 1604
10936 __cil_tmp104 = *((unsigned char **)__cil_tmp103);
10937#line 1604
10938 __cil_tmp105 = *__cil_tmp104;
10939#line 1604
10940 __cil_tmp106 = (unsigned int )__cil_tmp105;
10941#line 1604
10942 if (__cil_tmp106 == 18U) {
10943#line 1605
10944 __len = 8UL;
10945#line 1605
10946 if (__len > 63UL) {
10947 {
10948#line 1605
10949 __cil_tmp107 = (void *)ptr;
10950#line 1605
10951 __cil_tmp108 = (void const *)(& inquiry_response);
10952#line 1605
10953 __ret = __memcpy(__cil_tmp107, __cil_tmp108, __len);
10954 }
10955 } else {
10956 {
10957#line 1605
10958 __cil_tmp109 = (void *)ptr;
10959#line 1605
10960 __cil_tmp110 = (void const *)(& inquiry_response);
10961#line 1605
10962 __ret = __builtin_memcpy(__cil_tmp109, __cil_tmp110, __len);
10963 }
10964 }
10965 {
10966#line 1606
10967 fill_inquiry_response(us, ptr, 36U);
10968 }
10969#line 1607
10970 return (0);
10971 } else {
10972
10973 }
10974 }
10975 {
10976#line 1610
10977 __cil_tmp111 = (unsigned long )srb;
10978#line 1610
10979 __cil_tmp112 = __cil_tmp111 + 80;
10980#line 1610
10981 __cil_tmp113 = *((unsigned char **)__cil_tmp112);
10982#line 1610
10983 __cil_tmp114 = *__cil_tmp113;
10984#line 1610
10985 __cil_tmp115 = (unsigned int )__cil_tmp114;
10986#line 1610
10987 if (__cil_tmp115 == 37U) {
10988 {
10989#line 1613
10990 sddr09_get_wp(us, info);
10991#line 1615
10992 __cil_tmp116 = (unsigned long )info;
10993#line 1615
10994 __cil_tmp117 = __cil_tmp116 + 52;
10995#line 1615
10996 __cil_tmp118 = *((int *)__cil_tmp117);
10997#line 1615
10998 __cil_tmp119 = (unsigned char )__cil_tmp118;
10999#line 1615
11000 __cil_tmp120 = (int )__cil_tmp119;
11001#line 1615
11002 __cil_tmp121 = (unsigned char )__cil_tmp120;
11003#line 1615
11004 cardinfo = sddr09_get_cardinfo(us, __cil_tmp121);
11005 }
11006 {
11007#line 1616
11008 __cil_tmp122 = (struct nand_flash_dev *)0;
11009#line 1616
11010 __cil_tmp123 = (unsigned long )__cil_tmp122;
11011#line 1616
11012 __cil_tmp124 = (unsigned long )cardinfo;
11013#line 1616
11014 if (__cil_tmp124 == __cil_tmp123) {
11015 init_error:
11016#line 1619
11017 sensekey = (unsigned char)2;
11018#line 1620
11019 sensecode = (unsigned char)58;
11020#line 1621
11021 return (1);
11022 } else {
11023
11024 }
11025 }
11026 {
11027#line 1624
11028 __cil_tmp125 = (unsigned long )cardinfo;
11029#line 1624
11030 __cil_tmp126 = __cil_tmp125 + 4;
11031#line 1624
11032 __cil_tmp127 = *((int *)__cil_tmp126);
11033#line 1624
11034 __cil_tmp128 = 1 << __cil_tmp127;
11035#line 1624
11036 *((unsigned long *)info) = (unsigned long )__cil_tmp128;
11037#line 1625
11038 __cil_tmp129 = (unsigned long )info;
11039#line 1625
11040 __cil_tmp130 = __cil_tmp129 + 12;
11041#line 1625
11042 __cil_tmp131 = (unsigned long )cardinfo;
11043#line 1625
11044 __cil_tmp132 = __cil_tmp131 + 8;
11045#line 1625
11046 __cil_tmp133 = *((char *)__cil_tmp132);
11047#line 1625
11048 *((int *)__cil_tmp130) = (int )__cil_tmp133;
11049#line 1626
11050 __cil_tmp134 = (unsigned long )info;
11051#line 1626
11052 __cil_tmp135 = __cil_tmp134 + 8;
11053#line 1626
11054 __cil_tmp136 = (unsigned long )info;
11055#line 1626
11056 __cil_tmp137 = __cil_tmp136 + 12;
11057#line 1626
11058 __cil_tmp138 = *((int *)__cil_tmp137);
11059#line 1626
11060 *((int *)__cil_tmp135) = 1 << __cil_tmp138;
11061#line 1627
11062 __cil_tmp139 = (unsigned long )info;
11063#line 1627
11064 __cil_tmp140 = __cil_tmp139 + 20;
11065#line 1627
11066 __cil_tmp141 = (unsigned long )cardinfo;
11067#line 1627
11068 __cil_tmp142 = __cil_tmp141 + 9;
11069#line 1627
11070 __cil_tmp143 = *((char *)__cil_tmp142);
11071#line 1627
11072 *((int *)__cil_tmp140) = (int )__cil_tmp143;
11073#line 1628
11074 __cil_tmp144 = (unsigned long )info;
11075#line 1628
11076 __cil_tmp145 = __cil_tmp144 + 16;
11077#line 1628
11078 __cil_tmp146 = (unsigned long )info;
11079#line 1628
11080 __cil_tmp147 = __cil_tmp146 + 20;
11081#line 1628
11082 __cil_tmp148 = *((int *)__cil_tmp147);
11083#line 1628
11084 *((int *)__cil_tmp145) = 1 << __cil_tmp148;
11085#line 1629
11086 __cil_tmp149 = (unsigned long )info;
11087#line 1629
11088 __cil_tmp150 = __cil_tmp149 + 24;
11089#line 1629
11090 __cil_tmp151 = (unsigned long )info;
11091#line 1629
11092 __cil_tmp152 = __cil_tmp151 + 16;
11093#line 1629
11094 __cil_tmp153 = *((int *)__cil_tmp152);
11095#line 1629
11096 *((int *)__cil_tmp150) = __cil_tmp153 + -1;
11097#line 1632
11098 tmp = sddr09_read_map(us);
11099 }
11100#line 1632
11101 if (tmp != 0) {
11102#line 1634
11103 goto init_error;
11104 } else {
11105
11106 }
11107 {
11108#line 1639
11109 __cil_tmp154 = (unsigned long )info;
11110#line 1639
11111 __cil_tmp155 = __cil_tmp154 + 20;
11112#line 1639
11113 __cil_tmp156 = *((int *)__cil_tmp155);
11114#line 1639
11115 __cil_tmp157 = (unsigned long )info;
11116#line 1639
11117 __cil_tmp158 = __cil_tmp157 + 48;
11118#line 1639
11119 __cil_tmp159 = *((int *)__cil_tmp158);
11120#line 1639
11121 __cil_tmp160 = __cil_tmp159 << __cil_tmp156;
11122#line 1639
11123 __cil_tmp161 = __cil_tmp160 + -1;
11124#line 1639
11125 capacity = (unsigned long )__cil_tmp161;
11126#line 1641
11127 __cil_tmp162 = (__u32 )capacity;
11128#line 1641
11129 tmp___0 = __fswab32(__cil_tmp162);
11130#line 1641
11131 __cil_tmp163 = (__be32 *)ptr;
11132#line 1641
11133 *__cil_tmp163 = tmp___0;
11134#line 1645
11135 __cil_tmp164 = (unsigned long )info;
11136#line 1645
11137 __cil_tmp165 = __cil_tmp164 + 8;
11138#line 1645
11139 __cil_tmp166 = *((int *)__cil_tmp165);
11140#line 1645
11141 __cil_tmp167 = (__u32 )__cil_tmp166;
11142#line 1645
11143 tmp___1 = __fswab32(__cil_tmp167);
11144#line 1645
11145 __cil_tmp168 = (__be32 *)ptr;
11146#line 1645
11147 __cil_tmp169 = __cil_tmp168 + 1UL;
11148#line 1645
11149 *__cil_tmp169 = tmp___1;
11150#line 1646
11151 usb_stor_set_xfer_buf(ptr, 8U, srb);
11152 }
11153#line 1648
11154 return (0);
11155 } else {
11156
11157 }
11158 }
11159 {
11160#line 1651
11161 __cil_tmp170 = (unsigned long )srb;
11162#line 1651
11163 __cil_tmp171 = __cil_tmp170 + 80;
11164#line 1651
11165 __cil_tmp172 = *((unsigned char **)__cil_tmp171);
11166#line 1651
11167 __cil_tmp173 = *__cil_tmp172;
11168#line 1651
11169 __cil_tmp174 = (unsigned int )__cil_tmp173;
11170#line 1651
11171 if (__cil_tmp174 == 90U) {
11172#line 1652
11173 __cil_tmp175 = (unsigned long )srb;
11174#line 1652
11175 __cil_tmp176 = __cil_tmp175 + 80;
11176#line 1652
11177 __cil_tmp177 = *((unsigned char **)__cil_tmp176);
11178#line 1652
11179 __cil_tmp178 = __cil_tmp177 + 2UL;
11180#line 1652
11181 __cil_tmp179 = *__cil_tmp178;
11182#line 1652
11183 __cil_tmp180 = (int )__cil_tmp179;
11184#line 1652
11185 modepage = __cil_tmp180 & 63;
11186#line 1657
11187 if (modepage == 1) {
11188#line 1657
11189 goto _L;
11190 } else
11191#line 1657
11192 if (modepage == 63) {
11193 _L:
11194 {
11195#line 1658
11196 printk("<7>usb-storage: SDDR09: Dummy up request for mode page 0x%x\n", modepage);
11197#line 1661
11198 __len___0 = 19UL;
11199 }
11200#line 1661
11201 if (__len___0 > 63UL) {
11202 {
11203#line 1661
11204 __cil_tmp181 = (void *)ptr;
11205#line 1661
11206 __cil_tmp182 = (void const *)(& mode_page_01);
11207#line 1661
11208 __ret___0 = __memcpy(__cil_tmp181, __cil_tmp182, __len___0);
11209 }
11210 } else {
11211 {
11212#line 1661
11213 __cil_tmp183 = (void *)ptr;
11214#line 1661
11215 __cil_tmp184 = (void const *)(& mode_page_01);
11216#line 1661
11217 __ret___0 = __builtin_memcpy(__cil_tmp183, __cil_tmp184, __len___0);
11218 }
11219 }
11220#line 1662
11221 __cil_tmp185 = (__be16 *)ptr;
11222#line 1662
11223 *__cil_tmp185 = (__be16 )4352U;
11224 {
11225#line 1663
11226 __cil_tmp186 = (unsigned long )info;
11227#line 1663
11228 __cil_tmp187 = __cil_tmp186 + 52;
11229#line 1663
11230 __cil_tmp188 = *((int *)__cil_tmp187);
11231#line 1663
11232 if (__cil_tmp188 & 1) {
11233#line 1663
11234 __cil_tmp189 = ptr + 3UL;
11235#line 1663
11236 *__cil_tmp189 = (unsigned char)128;
11237 } else {
11238#line 1663
11239 __cil_tmp190 = ptr + 3UL;
11240#line 1663
11241 *__cil_tmp190 = (unsigned char)0;
11242 }
11243 }
11244 {
11245#line 1664
11246 usb_stor_set_xfer_buf(ptr, 19U, srb);
11247 }
11248#line 1665
11249 return (0);
11250 } else {
11251
11252 }
11253#line 1668
11254 sensekey = (unsigned char)5;
11255#line 1669
11256 sensecode = (unsigned char)36;
11257#line 1670
11258 return (1);
11259 } else {
11260
11261 }
11262 }
11263 {
11264#line 1673
11265 __cil_tmp191 = (unsigned long )srb;
11266#line 1673
11267 __cil_tmp192 = __cil_tmp191 + 80;
11268#line 1673
11269 __cil_tmp193 = *((unsigned char **)__cil_tmp192);
11270#line 1673
11271 __cil_tmp194 = *__cil_tmp193;
11272#line 1673
11273 __cil_tmp195 = (unsigned int )__cil_tmp194;
11274#line 1673
11275 if (__cil_tmp195 == 30U) {
11276#line 1674
11277 return (0);
11278 } else {
11279
11280 }
11281 }
11282#line 1676
11283 havefakesense = (unsigned char)0;
11284 {
11285#line 1678
11286 __cil_tmp196 = (unsigned long )srb;
11287#line 1678
11288 __cil_tmp197 = __cil_tmp196 + 80;
11289#line 1678
11290 __cil_tmp198 = *((unsigned char **)__cil_tmp197);
11291#line 1678
11292 __cil_tmp199 = *__cil_tmp198;
11293#line 1678
11294 __cil_tmp200 = (unsigned int )__cil_tmp199;
11295#line 1678
11296 if (__cil_tmp200 == 40U) {
11297 {
11298#line 1680
11299 __cil_tmp201 = (unsigned long )srb;
11300#line 1680
11301 __cil_tmp202 = __cil_tmp201 + 80;
11302#line 1680
11303 __cil_tmp203 = *((unsigned char **)__cil_tmp202);
11304#line 1680
11305 __cil_tmp204 = __cil_tmp203 + 2UL;
11306#line 1680
11307 __cil_tmp205 = *__cil_tmp204;
11308#line 1680
11309 __cil_tmp206 = (int )__cil_tmp205;
11310#line 1680
11311 __cil_tmp207 = __cil_tmp206 << 8;
11312#line 1680
11313 __cil_tmp208 = (unsigned long )srb;
11314#line 1680
11315 __cil_tmp209 = __cil_tmp208 + 80;
11316#line 1680
11317 __cil_tmp210 = *((unsigned char **)__cil_tmp209);
11318#line 1680
11319 __cil_tmp211 = __cil_tmp210 + 3UL;
11320#line 1680
11321 __cil_tmp212 = *__cil_tmp211;
11322#line 1680
11323 __cil_tmp213 = (int )__cil_tmp212;
11324#line 1680
11325 __cil_tmp214 = __cil_tmp213 | __cil_tmp207;
11326#line 1680
11327 page = (unsigned int )__cil_tmp214;
11328#line 1681
11329 page = page << 16;
11330#line 1682
11331 __cil_tmp215 = (unsigned long )srb;
11332#line 1682
11333 __cil_tmp216 = __cil_tmp215 + 80;
11334#line 1682
11335 __cil_tmp217 = *((unsigned char **)__cil_tmp216);
11336#line 1682
11337 __cil_tmp218 = __cil_tmp217 + 4UL;
11338#line 1682
11339 __cil_tmp219 = *__cil_tmp218;
11340#line 1682
11341 __cil_tmp220 = (int )__cil_tmp219;
11342#line 1682
11343 __cil_tmp221 = __cil_tmp220 << 8;
11344#line 1682
11345 __cil_tmp222 = (unsigned long )srb;
11346#line 1682
11347 __cil_tmp223 = __cil_tmp222 + 80;
11348#line 1682
11349 __cil_tmp224 = *((unsigned char **)__cil_tmp223);
11350#line 1682
11351 __cil_tmp225 = __cil_tmp224 + 5UL;
11352#line 1682
11353 __cil_tmp226 = *__cil_tmp225;
11354#line 1682
11355 __cil_tmp227 = (int )__cil_tmp226;
11356#line 1682
11357 __cil_tmp228 = __cil_tmp227 | __cil_tmp221;
11358#line 1682
11359 __cil_tmp229 = (unsigned int )__cil_tmp228;
11360#line 1682
11361 page = __cil_tmp229 | page;
11362#line 1683
11363 __cil_tmp230 = (unsigned long )srb;
11364#line 1683
11365 __cil_tmp231 = __cil_tmp230 + 80;
11366#line 1683
11367 __cil_tmp232 = *((unsigned char **)__cil_tmp231);
11368#line 1683
11369 __cil_tmp233 = __cil_tmp232 + 7UL;
11370#line 1683
11371 __cil_tmp234 = *__cil_tmp233;
11372#line 1683
11373 __cil_tmp235 = (int )__cil_tmp234;
11374#line 1683
11375 __cil_tmp236 = __cil_tmp235 << 8;
11376#line 1683
11377 __cil_tmp237 = (unsigned long )srb;
11378#line 1683
11379 __cil_tmp238 = __cil_tmp237 + 80;
11380#line 1683
11381 __cil_tmp239 = *((unsigned char **)__cil_tmp238);
11382#line 1683
11383 __cil_tmp240 = __cil_tmp239 + 8UL;
11384#line 1683
11385 __cil_tmp241 = *__cil_tmp240;
11386#line 1683
11387 __cil_tmp242 = (int )__cil_tmp241;
11388#line 1683
11389 __cil_tmp243 = __cil_tmp242 | __cil_tmp236;
11390#line 1683
11391 pages = (unsigned int )__cil_tmp243;
11392#line 1685
11393 printk("<7>usb-storage: READ_10: read page %d pagect %d\n", page, pages);
11394#line 1688
11395 __cil_tmp244 = (unsigned long )page;
11396#line 1688
11397 result = sddr09_read_data(us, __cil_tmp244, pages);
11398 }
11399#line 1689
11400 if (result == 0) {
11401#line 1689
11402 tmp___2 = 0;
11403 } else {
11404#line 1689
11405 tmp___2 = 3;
11406 }
11407#line 1689
11408 return (tmp___2);
11409 } else {
11410
11411 }
11412 }
11413 {
11414#line 1693
11415 __cil_tmp245 = (unsigned long )srb;
11416#line 1693
11417 __cil_tmp246 = __cil_tmp245 + 80;
11418#line 1693
11419 __cil_tmp247 = *((unsigned char **)__cil_tmp246);
11420#line 1693
11421 __cil_tmp248 = *__cil_tmp247;
11422#line 1693
11423 __cil_tmp249 = (unsigned int )__cil_tmp248;
11424#line 1693
11425 if (__cil_tmp249 == 42U) {
11426 {
11427#line 1695
11428 __cil_tmp250 = (unsigned long )srb;
11429#line 1695
11430 __cil_tmp251 = __cil_tmp250 + 80;
11431#line 1695
11432 __cil_tmp252 = *((unsigned char **)__cil_tmp251);
11433#line 1695
11434 __cil_tmp253 = __cil_tmp252 + 2UL;
11435#line 1695
11436 __cil_tmp254 = *__cil_tmp253;
11437#line 1695
11438 __cil_tmp255 = (int )__cil_tmp254;
11439#line 1695
11440 __cil_tmp256 = __cil_tmp255 << 8;
11441#line 1695
11442 __cil_tmp257 = (unsigned long )srb;
11443#line 1695
11444 __cil_tmp258 = __cil_tmp257 + 80;
11445#line 1695
11446 __cil_tmp259 = *((unsigned char **)__cil_tmp258);
11447#line 1695
11448 __cil_tmp260 = __cil_tmp259 + 3UL;
11449#line 1695
11450 __cil_tmp261 = *__cil_tmp260;
11451#line 1695
11452 __cil_tmp262 = (int )__cil_tmp261;
11453#line 1695
11454 __cil_tmp263 = __cil_tmp262 | __cil_tmp256;
11455#line 1695
11456 page = (unsigned int )__cil_tmp263;
11457#line 1696
11458 page = page << 16;
11459#line 1697
11460 __cil_tmp264 = (unsigned long )srb;
11461#line 1697
11462 __cil_tmp265 = __cil_tmp264 + 80;
11463#line 1697
11464 __cil_tmp266 = *((unsigned char **)__cil_tmp265);
11465#line 1697
11466 __cil_tmp267 = __cil_tmp266 + 4UL;
11467#line 1697
11468 __cil_tmp268 = *__cil_tmp267;
11469#line 1697
11470 __cil_tmp269 = (int )__cil_tmp268;
11471#line 1697
11472 __cil_tmp270 = __cil_tmp269 << 8;
11473#line 1697
11474 __cil_tmp271 = (unsigned long )srb;
11475#line 1697
11476 __cil_tmp272 = __cil_tmp271 + 80;
11477#line 1697
11478 __cil_tmp273 = *((unsigned char **)__cil_tmp272);
11479#line 1697
11480 __cil_tmp274 = __cil_tmp273 + 5UL;
11481#line 1697
11482 __cil_tmp275 = *__cil_tmp274;
11483#line 1697
11484 __cil_tmp276 = (int )__cil_tmp275;
11485#line 1697
11486 __cil_tmp277 = __cil_tmp276 | __cil_tmp270;
11487#line 1697
11488 __cil_tmp278 = (unsigned int )__cil_tmp277;
11489#line 1697
11490 page = __cil_tmp278 | page;
11491#line 1698
11492 __cil_tmp279 = (unsigned long )srb;
11493#line 1698
11494 __cil_tmp280 = __cil_tmp279 + 80;
11495#line 1698
11496 __cil_tmp281 = *((unsigned char **)__cil_tmp280);
11497#line 1698
11498 __cil_tmp282 = __cil_tmp281 + 7UL;
11499#line 1698
11500 __cil_tmp283 = *__cil_tmp282;
11501#line 1698
11502 __cil_tmp284 = (int )__cil_tmp283;
11503#line 1698
11504 __cil_tmp285 = __cil_tmp284 << 8;
11505#line 1698
11506 __cil_tmp286 = (unsigned long )srb;
11507#line 1698
11508 __cil_tmp287 = __cil_tmp286 + 80;
11509#line 1698
11510 __cil_tmp288 = *((unsigned char **)__cil_tmp287);
11511#line 1698
11512 __cil_tmp289 = __cil_tmp288 + 8UL;
11513#line 1698
11514 __cil_tmp290 = *__cil_tmp289;
11515#line 1698
11516 __cil_tmp291 = (int )__cil_tmp290;
11517#line 1698
11518 __cil_tmp292 = __cil_tmp291 | __cil_tmp285;
11519#line 1698
11520 pages = (unsigned int )__cil_tmp292;
11521#line 1700
11522 printk("<7>usb-storage: WRITE_10: write page %d pagect %d\n", page, pages);
11523#line 1703
11524 __cil_tmp293 = (unsigned long )page;
11525#line 1703
11526 result = sddr09_write_data(us, __cil_tmp293, pages);
11527 }
11528#line 1704
11529 if (result == 0) {
11530#line 1704
11531 tmp___3 = 0;
11532 } else {
11533#line 1704
11534 tmp___3 = 3;
11535 }
11536#line 1704
11537 return (tmp___3);
11538 } else {
11539
11540 }
11541 }
11542 {
11543#line 1711
11544 __cil_tmp294 = (unsigned long )srb;
11545#line 1711
11546 __cil_tmp295 = __cil_tmp294 + 80;
11547#line 1711
11548 __cil_tmp296 = *((unsigned char **)__cil_tmp295);
11549#line 1711
11550 __cil_tmp297 = *__cil_tmp296;
11551#line 1711
11552 __cil_tmp298 = (unsigned int )__cil_tmp297;
11553#line 1711
11554 if (__cil_tmp298 != 0U) {
11555 {
11556#line 1711
11557 __cil_tmp299 = (unsigned long )srb;
11558#line 1711
11559 __cil_tmp300 = __cil_tmp299 + 80;
11560#line 1711
11561 __cil_tmp301 = *((unsigned char **)__cil_tmp300);
11562#line 1711
11563 __cil_tmp302 = *__cil_tmp301;
11564#line 1711
11565 __cil_tmp303 = (unsigned int )__cil_tmp302;
11566#line 1711
11567 if (__cil_tmp303 != 3U) {
11568#line 1713
11569 sensekey = (unsigned char)5;
11570#line 1714
11571 sensecode = (unsigned char)32;
11572#line 1715
11573 havefakesense = (unsigned char)1;
11574#line 1716
11575 return (1);
11576 } else {
11577
11578 }
11579 }
11580 } else {
11581
11582 }
11583 }
11584#line 1719
11585 goto ldv_31436;
11586 ldv_31435:
11587#line 1720
11588 __cil_tmp304 = (unsigned long )srb;
11589#line 1720
11590 __cil_tmp305 = __cil_tmp304 + 74;
11591#line 1720
11592 __cil_tmp306 = *((unsigned short *)__cil_tmp305);
11593#line 1720
11594 __cil_tmp307 = (unsigned long )__cil_tmp306;
11595#line 1720
11596 __cil_tmp308 = (unsigned long )srb;
11597#line 1720
11598 __cil_tmp309 = __cil_tmp308 + 80;
11599#line 1720
11600 __cil_tmp310 = *((unsigned char **)__cil_tmp309);
11601#line 1720
11602 __cil_tmp311 = __cil_tmp310 + __cil_tmp307;
11603#line 1720
11604 *__cil_tmp311 = (unsigned char)0;
11605#line 1719
11606 __cil_tmp312 = (unsigned long )srb;
11607#line 1719
11608 __cil_tmp313 = __cil_tmp312 + 74;
11609#line 1719
11610 __cil_tmp314 = (unsigned long )srb;
11611#line 1719
11612 __cil_tmp315 = __cil_tmp314 + 74;
11613#line 1719
11614 __cil_tmp316 = *((unsigned short *)__cil_tmp315);
11615#line 1719
11616 __cil_tmp317 = (int )__cil_tmp316;
11617#line 1719
11618 __cil_tmp318 = __cil_tmp317 + 1;
11619#line 1719
11620 *((unsigned short *)__cil_tmp313) = (unsigned short )__cil_tmp318;
11621 ldv_31436: ;
11622 {
11623#line 1719
11624 __cil_tmp319 = (unsigned long )srb;
11625#line 1719
11626 __cil_tmp320 = __cil_tmp319 + 74;
11627#line 1719
11628 __cil_tmp321 = *((unsigned short *)__cil_tmp320);
11629#line 1719
11630 __cil_tmp322 = (unsigned int )__cil_tmp321;
11631#line 1719
11632 if (__cil_tmp322 <= 11U) {
11633#line 1720
11634 goto ldv_31435;
11635 } else {
11636#line 1722
11637 goto ldv_31437;
11638 }
11639 }
11640 ldv_31437:
11641#line 1722
11642 __cil_tmp323 = (unsigned long )srb;
11643#line 1722
11644 __cil_tmp324 = __cil_tmp323 + 80;
11645#line 1722
11646 __cil_tmp325 = *((unsigned char **)__cil_tmp324);
11647#line 1722
11648 __cil_tmp326 = __cil_tmp325 + 1UL;
11649#line 1722
11650 *__cil_tmp326 = (unsigned char)32;
11651#line 1724
11652 *ptr = (unsigned char)0;
11653#line 1725
11654 i = 0;
11655#line 1725
11656 goto ldv_31439;
11657 ldv_31438:
11658 {
11659#line 1726
11660 __cil_tmp327 = (char const *)ptr;
11661#line 1726
11662 tmp___4 = strlen(__cil_tmp327);
11663#line 1726
11664 __cil_tmp328 = ptr + tmp___4;
11665#line 1726
11666 __cil_tmp329 = (char *)__cil_tmp328;
11667#line 1726
11668 __cil_tmp330 = (unsigned long )i;
11669#line 1726
11670 __cil_tmp331 = (unsigned long )srb;
11671#line 1726
11672 __cil_tmp332 = __cil_tmp331 + 80;
11673#line 1726
11674 __cil_tmp333 = *((unsigned char **)__cil_tmp332);
11675#line 1726
11676 __cil_tmp334 = __cil_tmp333 + __cil_tmp330;
11677#line 1726
11678 __cil_tmp335 = *__cil_tmp334;
11679#line 1726
11680 __cil_tmp336 = (int )__cil_tmp335;
11681#line 1726
11682 sprintf(__cil_tmp329, "%02X ", __cil_tmp336);
11683#line 1725
11684 i = i + 1;
11685 }
11686 ldv_31439: ;
11687#line 1725
11688 if (i <= 11) {
11689#line 1726
11690 goto ldv_31438;
11691 } else {
11692#line 1728
11693 goto ldv_31440;
11694 }
11695 ldv_31440:
11696 {
11697#line 1728
11698 printk("<7>usb-storage: SDDR09: Send control for command %s\n", ptr);
11699#line 1730
11700 __cil_tmp337 = (unsigned long )srb;
11701#line 1730
11702 __cil_tmp338 = __cil_tmp337 + 80;
11703#line 1730
11704 __cil_tmp339 = *((unsigned char **)__cil_tmp338);
11705#line 1730
11706 result = sddr09_send_scsi_command(us, __cil_tmp339, 12U);
11707 }
11708#line 1731
11709 if (result != 0) {
11710 {
11711#line 1732
11712 printk("<7>usb-storage: sddr09_transport: sddr09_send_scsi_command returns %d\n",
11713 result);
11714 }
11715#line 1734
11716 return (3);
11717 } else {
11718
11719 }
11720 {
11721#line 1737
11722 tmp___5 = scsi_bufflen(srb);
11723 }
11724#line 1737
11725 if (tmp___5 == 0U) {
11726#line 1738
11727 return (0);
11728 } else {
11729
11730 }
11731 {
11732#line 1740
11733 __cil_tmp340 = (unsigned long )srb;
11734#line 1740
11735 __cil_tmp341 = __cil_tmp340 + 76;
11736#line 1740
11737 __cil_tmp342 = *((enum dma_data_direction *)__cil_tmp341);
11738#line 1740
11739 __cil_tmp343 = (unsigned int )__cil_tmp342;
11740#line 1740
11741 if (__cil_tmp343 == 1U) {
11742#line 1740
11743 goto _L___0;
11744 } else {
11745 {
11746#line 1740
11747 __cil_tmp344 = (unsigned long )srb;
11748#line 1740
11749 __cil_tmp345 = __cil_tmp344 + 76;
11750#line 1740
11751 __cil_tmp346 = *((enum dma_data_direction *)__cil_tmp345);
11752#line 1740
11753 __cil_tmp347 = (unsigned int )__cil_tmp346;
11754#line 1740
11755 if (__cil_tmp347 == 2U) {
11756 _L___0:
11757 {
11758#line 1742
11759 __cil_tmp348 = (unsigned long )srb;
11760#line 1742
11761 __cil_tmp349 = __cil_tmp348 + 76;
11762#line 1742
11763 __cil_tmp350 = *((enum dma_data_direction *)__cil_tmp349);
11764#line 1742
11765 __cil_tmp351 = (unsigned int )__cil_tmp350;
11766#line 1742
11767 if (__cil_tmp351 == 1U) {
11768#line 1742
11769 __cil_tmp352 = (unsigned long )us;
11770#line 1742
11771 __cil_tmp353 = __cil_tmp352 + 208;
11772#line 1742
11773 tmp___6 = *((unsigned int *)__cil_tmp353);
11774 } else {
11775#line 1742
11776 __cil_tmp354 = (unsigned long )us;
11777#line 1742
11778 __cil_tmp355 = __cil_tmp354 + 212;
11779#line 1742
11780 tmp___6 = *((unsigned int *)__cil_tmp355);
11781 }
11782 }
11783 {
11784#line 1742
11785 pipe = tmp___6;
11786#line 1745
11787 tmp___7 = scsi_bufflen(srb);
11788 }
11789 {
11790#line 1745
11791 __cil_tmp356 = (unsigned long )srb;
11792#line 1745
11793 __cil_tmp357 = __cil_tmp356 + 76;
11794#line 1745
11795 __cil_tmp358 = *((enum dma_data_direction *)__cil_tmp357);
11796#line 1745
11797 __cil_tmp359 = (unsigned int )__cil_tmp358;
11798#line 1745
11799 if (__cil_tmp359 == 1U) {
11800#line 1745
11801 tmp___8 = (char *)"sending";
11802 } else {
11803#line 1745
11804 tmp___8 = (char *)"receiving";
11805 }
11806 }
11807 {
11808#line 1745
11809 printk("<7>usb-storage: SDDR09: %s %d bytes\n", tmp___8, tmp___7);
11810#line 1750
11811 result = usb_stor_bulk_srb(us, pipe, srb);
11812 }
11813#line 1752
11814 if (result == 0) {
11815#line 1752
11816 tmp___9 = 0;
11817 } else {
11818#line 1752
11819 tmp___9 = 3;
11820 }
11821#line 1752
11822 return (tmp___9);
11823 } else {
11824
11825 }
11826 }
11827 }
11828 }
11829#line 1756
11830 return (0);
11831}
11832}
11833#line 1763 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
11834static int usb_stor_sddr09_init(struct us_data *us )
11835{ int tmp ;
11836
11837 {
11838 {
11839#line 1764
11840 tmp = sddr09_common_init(us);
11841 }
11842#line 1764
11843 return (tmp);
11844}
11845}
11846#line 1767 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
11847static int sddr09_probe(struct usb_interface *intf , struct usb_device_id const *id )
11848{ struct us_data *us ;
11849 int result ;
11850 long __cil_tmp5 ;
11851 long __cil_tmp6 ;
11852 long __cil_tmp7 ;
11853 long __cil_tmp8 ;
11854 unsigned long __cil_tmp9 ;
11855 struct us_unusual_dev *__cil_tmp10 ;
11856 struct us_unusual_dev *__cil_tmp11 ;
11857 struct us_data **__cil_tmp12 ;
11858 struct us_data *__cil_tmp13 ;
11859 unsigned long __cil_tmp14 ;
11860 unsigned long __cil_tmp15 ;
11861 u8 __cil_tmp16 ;
11862 unsigned int __cil_tmp17 ;
11863 struct us_data **__cil_tmp18 ;
11864 struct us_data *__cil_tmp19 ;
11865 unsigned long __cil_tmp20 ;
11866 unsigned long __cil_tmp21 ;
11867 struct us_data **__cil_tmp22 ;
11868 struct us_data *__cil_tmp23 ;
11869 unsigned long __cil_tmp24 ;
11870 unsigned long __cil_tmp25 ;
11871 struct us_data **__cil_tmp26 ;
11872 struct us_data *__cil_tmp27 ;
11873 unsigned long __cil_tmp28 ;
11874 unsigned long __cil_tmp29 ;
11875 struct us_data **__cil_tmp30 ;
11876 struct us_data *__cil_tmp31 ;
11877 unsigned long __cil_tmp32 ;
11878 unsigned long __cil_tmp33 ;
11879 struct us_data **__cil_tmp34 ;
11880 struct us_data *__cil_tmp35 ;
11881 unsigned long __cil_tmp36 ;
11882 unsigned long __cil_tmp37 ;
11883 struct us_data **__cil_tmp38 ;
11884 struct us_data *__cil_tmp39 ;
11885 unsigned long __cil_tmp40 ;
11886 unsigned long __cil_tmp41 ;
11887 struct us_data **__cil_tmp42 ;
11888 struct us_data *__cil_tmp43 ;
11889 unsigned long __cil_tmp44 ;
11890 unsigned long __cil_tmp45 ;
11891 struct us_data **__cil_tmp46 ;
11892 struct us_data *__cil_tmp47 ;
11893 unsigned long __cil_tmp48 ;
11894 unsigned long __cil_tmp49 ;
11895 struct us_data **__cil_tmp50 ;
11896 struct us_data *__cil_tmp51 ;
11897
11898 {
11899 {
11900#line 1773
11901 __cil_tmp5 = (long )(& sddr09_usb_ids);
11902#line 1773
11903 __cil_tmp6 = (long )id;
11904#line 1773
11905 __cil_tmp7 = __cil_tmp6 - __cil_tmp5;
11906#line 1773
11907 __cil_tmp8 = __cil_tmp7 / 24L;
11908#line 1773
11909 __cil_tmp9 = (unsigned long )__cil_tmp8;
11910#line 1773
11911 __cil_tmp10 = (struct us_unusual_dev *)(& sddr09_unusual_dev_list);
11912#line 1773
11913 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
11914#line 1773
11915 result = usb_stor_probe1(& us, intf, id, __cil_tmp11);
11916 }
11917#line 1775
11918 if (result != 0) {
11919#line 1776
11920 return (result);
11921 } else {
11922
11923 }
11924 {
11925#line 1778
11926 __cil_tmp12 = & us;
11927#line 1778
11928 __cil_tmp13 = *__cil_tmp12;
11929#line 1778
11930 __cil_tmp14 = (unsigned long )__cil_tmp13;
11931#line 1778
11932 __cil_tmp15 = __cil_tmp14 + 253;
11933#line 1778
11934 __cil_tmp16 = *((u8 *)__cil_tmp15);
11935#line 1778
11936 __cil_tmp17 = (unsigned int )__cil_tmp16;
11937#line 1778
11938 if (__cil_tmp17 == 240U) {
11939#line 1779
11940 __cil_tmp18 = & us;
11941#line 1779
11942 __cil_tmp19 = *__cil_tmp18;
11943#line 1779
11944 __cil_tmp20 = (unsigned long )__cil_tmp19;
11945#line 1779
11946 __cil_tmp21 = __cil_tmp20 + 232;
11947#line 1779
11948 *((char **)__cil_tmp21) = (char *)"Control/Bulk-EUSB/SDDR09";
11949#line 1780
11950 __cil_tmp22 = & us;
11951#line 1780
11952 __cil_tmp23 = *__cil_tmp22;
11953#line 1780
11954 __cil_tmp24 = (unsigned long )__cil_tmp23;
11955#line 1780
11956 __cil_tmp25 = __cil_tmp24 + 264;
11957#line 1780
11958 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp25) = & dpcm_transport;
11959#line 1781
11960 __cil_tmp26 = & us;
11961#line 1781
11962 __cil_tmp27 = *__cil_tmp26;
11963#line 1781
11964 __cil_tmp28 = (unsigned long )__cil_tmp27;
11965#line 1781
11966 __cil_tmp29 = __cil_tmp28 + 272;
11967#line 1781
11968 *((int (**)(struct us_data * ))__cil_tmp29) = & usb_stor_CB_reset;
11969#line 1782
11970 __cil_tmp30 = & us;
11971#line 1782
11972 __cil_tmp31 = *__cil_tmp30;
11973#line 1782
11974 __cil_tmp32 = (unsigned long )__cil_tmp31;
11975#line 1782
11976 __cil_tmp33 = __cil_tmp32 + 254;
11977#line 1782
11978 *((u8 *)__cil_tmp33) = (u8 )1U;
11979 } else {
11980#line 1784
11981 __cil_tmp34 = & us;
11982#line 1784
11983 __cil_tmp35 = *__cil_tmp34;
11984#line 1784
11985 __cil_tmp36 = (unsigned long )__cil_tmp35;
11986#line 1784
11987 __cil_tmp37 = __cil_tmp36 + 232;
11988#line 1784
11989 *((char **)__cil_tmp37) = (char *)"EUSB/SDDR09";
11990#line 1785
11991 __cil_tmp38 = & us;
11992#line 1785
11993 __cil_tmp39 = *__cil_tmp38;
11994#line 1785
11995 __cil_tmp40 = (unsigned long )__cil_tmp39;
11996#line 1785
11997 __cil_tmp41 = __cil_tmp40 + 264;
11998#line 1785
11999 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp41) = & sddr09_transport;
12000#line 1786
12001 __cil_tmp42 = & us;
12002#line 1786
12003 __cil_tmp43 = *__cil_tmp42;
12004#line 1786
12005 __cil_tmp44 = (unsigned long )__cil_tmp43;
12006#line 1786
12007 __cil_tmp45 = __cil_tmp44 + 272;
12008#line 1786
12009 *((int (**)(struct us_data * ))__cil_tmp45) = & usb_stor_CB_reset;
12010#line 1787
12011 __cil_tmp46 = & us;
12012#line 1787
12013 __cil_tmp47 = *__cil_tmp46;
12014#line 1787
12015 __cil_tmp48 = (unsigned long )__cil_tmp47;
12016#line 1787
12017 __cil_tmp49 = __cil_tmp48 + 254;
12018#line 1787
12019 *((u8 *)__cil_tmp49) = (u8 )0U;
12020 }
12021 }
12022 {
12023#line 1790
12024 __cil_tmp50 = & us;
12025#line 1790
12026 __cil_tmp51 = *__cil_tmp50;
12027#line 1790
12028 result = usb_stor_probe2(__cil_tmp51);
12029 }
12030#line 1791
12031 return (result);
12032}
12033}
12034#line 1826
12035extern void ldv_check_final_state(void) ;
12036#line 1829
12037extern void ldv_check_return_value(int ) ;
12038#line 1832
12039extern void ldv_initialize(void) ;
12040#line 1835
12041extern int __VERIFIER_nondet_int(void) ;
12042#line 1838 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12043int LDV_IN_INTERRUPT ;
12044#line 1841 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12045void main(void)
12046{ struct usb_interface *var_group1 ;
12047 struct usb_device_id const *var_sddr09_probe_36_p1 ;
12048 int res_sddr09_probe_36 ;
12049 int ldv_s_sddr09_driver_usb_driver ;
12050 int tmp ;
12051 int tmp___0 ;
12052
12053 {
12054 {
12055#line 1919
12056 ldv_s_sddr09_driver_usb_driver = 0;
12057#line 1909
12058 LDV_IN_INTERRUPT = 1;
12059#line 1918
12060 ldv_initialize();
12061 }
12062#line 1922
12063 goto ldv_31489;
12064 ldv_31488:
12065 {
12066#line 1926
12067 tmp = __VERIFIER_nondet_int();
12068 }
12069#line 1928
12070 if (tmp == 0) {
12071#line 1928
12072 goto case_0;
12073 } else {
12074 {
12075#line 1993
12076 goto switch_default;
12077#line 1926
12078 if (0) {
12079 case_0: ;
12080#line 1931
12081 if (ldv_s_sddr09_driver_usb_driver == 0) {
12082 {
12083#line 1982
12084 res_sddr09_probe_36 = sddr09_probe(var_group1, var_sddr09_probe_36_p1);
12085#line 1983
12086 ldv_check_return_value(res_sddr09_probe_36);
12087 }
12088#line 1984
12089 if (res_sddr09_probe_36 != 0) {
12090#line 1985
12091 goto ldv_module_exit;
12092 } else {
12093
12094 }
12095#line 1986
12096 ldv_s_sddr09_driver_usb_driver = 0;
12097 } else {
12098
12099 }
12100#line 1992
12101 goto ldv_31486;
12102 switch_default: ;
12103#line 1993
12104 goto ldv_31486;
12105 } else {
12106 switch_break: ;
12107 }
12108 }
12109 }
12110 ldv_31486: ;
12111 ldv_31489:
12112 {
12113#line 1922
12114 tmp___0 = __VERIFIER_nondet_int();
12115 }
12116#line 1922
12117 if (tmp___0 != 0) {
12118#line 1924
12119 goto ldv_31488;
12120 } else
12121#line 1922
12122 if (ldv_s_sddr09_driver_usb_driver != 0) {
12123#line 1924
12124 goto ldv_31488;
12125 } else {
12126#line 1926
12127 goto ldv_31490;
12128 }
12129 ldv_31490: ;
12130 ldv_module_exit: ;
12131 {
12132#line 2002
12133 ldv_check_final_state();
12134 }
12135#line 2005
12136 return;
12137}
12138}
12139#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
12140void ldv_blast_assert(void)
12141{
12142
12143 {
12144 ERROR: ;
12145#line 6
12146 goto ERROR;
12147}
12148}
12149#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
12150extern int __VERIFIER_nondet_int(void) ;
12151#line 2026 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12152int ldv_spin = 0;
12153#line 2030 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12154void ldv_check_alloc_flags(gfp_t flags )
12155{
12156
12157 {
12158#line 2033
12159 if (ldv_spin != 0) {
12160#line 2033
12161 if (flags != 32U) {
12162 {
12163#line 2033
12164 ldv_blast_assert();
12165 }
12166 } else {
12167
12168 }
12169 } else {
12170
12171 }
12172#line 2036
12173 return;
12174}
12175}
12176#line 2036
12177extern struct page *ldv_some_page(void) ;
12178#line 2039 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12179struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
12180{ struct page *tmp ;
12181
12182 {
12183#line 2042
12184 if (ldv_spin != 0) {
12185#line 2042
12186 if (flags != 32U) {
12187 {
12188#line 2042
12189 ldv_blast_assert();
12190 }
12191 } else {
12192
12193 }
12194 } else {
12195
12196 }
12197 {
12198#line 2044
12199 tmp = ldv_some_page();
12200 }
12201#line 2044
12202 return (tmp);
12203}
12204}
12205#line 2048 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12206void ldv_check_alloc_nonatomic(void)
12207{
12208
12209 {
12210#line 2051
12211 if (ldv_spin != 0) {
12212 {
12213#line 2051
12214 ldv_blast_assert();
12215 }
12216 } else {
12217
12218 }
12219#line 2054
12220 return;
12221}
12222}
12223#line 2055 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12224void ldv_spin_lock(void)
12225{
12226
12227 {
12228#line 2058
12229 ldv_spin = 1;
12230#line 2059
12231 return;
12232}
12233}
12234#line 2062 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12235void ldv_spin_unlock(void)
12236{
12237
12238 {
12239#line 2065
12240 ldv_spin = 0;
12241#line 2066
12242 return;
12243}
12244}
12245#line 2069 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12246int ldv_spin_trylock(void)
12247{ int is_lock ;
12248
12249 {
12250 {
12251#line 2074
12252 is_lock = __VERIFIER_nondet_int();
12253 }
12254#line 2076
12255 if (is_lock != 0) {
12256#line 2079
12257 return (0);
12258 } else {
12259#line 2084
12260 ldv_spin = 1;
12261#line 2086
12262 return (1);
12263 }
12264}
12265}
12266#line 2208 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12267__inline static void *kmalloc(size_t size , gfp_t flags )
12268{
12269
12270 {
12271 {
12272#line 2214
12273 ldv_check_alloc_flags(flags);
12274#line 2216
12275 ldv_kmalloc_12(size, flags);
12276 }
12277#line 2217
12278 return ((void *)0);
12279}
12280}
12281#line 2253 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12282void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
12283{
12284
12285 {
12286 {
12287#line 2259
12288 ldv_check_alloc_flags(ldv_func_arg2);
12289#line 2261
12290 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
12291 }
12292#line 2262
12293 return ((void *)0);
12294}
12295}
12296#line 2264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2022/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/sddr09.c.p"
12297__inline static void *kzalloc(size_t size , gfp_t flags )
12298{ void *tmp ;
12299
12300 {
12301 {
12302#line 2270
12303 ldv_check_alloc_flags(flags);
12304#line 2271
12305 tmp = __VERIFIER_nondet_pointer();
12306 }
12307#line 2271
12308 return (tmp);
12309}
12310}