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 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 202 "include/linux/types.h"
73typedef unsigned int gfp_t;
74#line 203 "include/linux/types.h"
75typedef unsigned int fmode_t;
76#line 206 "include/linux/types.h"
77typedef u64 phys_addr_t;
78#line 211 "include/linux/types.h"
79typedef phys_addr_t resource_size_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 55
116struct module;
117#line 146 "include/linux/init.h"
118typedef void (*ctor_fn_t)(void);
119#line 46 "include/linux/dynamic_debug.h"
120struct device;
121#line 46
122struct device;
123#line 58
124struct pt_regs;
125#line 58
126struct pt_regs;
127#line 348 "include/linux/kernel.h"
128struct pid;
129#line 348
130struct pid;
131#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
132struct timespec;
133#line 112
134struct timespec;
135#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
136struct page;
137#line 58
138struct page;
139#line 26 "include/asm-generic/getorder.h"
140struct task_struct;
141#line 26
142struct task_struct;
143#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
144struct pt_regs {
145 unsigned long r15 ;
146 unsigned long r14 ;
147 unsigned long r13 ;
148 unsigned long r12 ;
149 unsigned long bp ;
150 unsigned long bx ;
151 unsigned long r11 ;
152 unsigned long r10 ;
153 unsigned long r9 ;
154 unsigned long r8 ;
155 unsigned long ax ;
156 unsigned long cx ;
157 unsigned long dx ;
158 unsigned long si ;
159 unsigned long di ;
160 unsigned long orig_ax ;
161 unsigned long ip ;
162 unsigned long cs ;
163 unsigned long flags ;
164 unsigned long sp ;
165 unsigned long ss ;
166};
167#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
168struct __anonstruct_ldv_2180_13 {
169 unsigned int a ;
170 unsigned int b ;
171};
172#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
173struct __anonstruct_ldv_2195_14 {
174 u16 limit0 ;
175 u16 base0 ;
176 unsigned char base1 ;
177 unsigned char type : 4 ;
178 unsigned char s : 1 ;
179 unsigned char dpl : 2 ;
180 unsigned char p : 1 ;
181 unsigned char limit : 4 ;
182 unsigned char avl : 1 ;
183 unsigned char l : 1 ;
184 unsigned char d : 1 ;
185 unsigned char g : 1 ;
186 unsigned char base2 ;
187};
188#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
189union __anonunion_ldv_2196_12 {
190 struct __anonstruct_ldv_2180_13 ldv_2180 ;
191 struct __anonstruct_ldv_2195_14 ldv_2195 ;
192};
193#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
194struct desc_struct {
195 union __anonunion_ldv_2196_12 ldv_2196 ;
196};
197#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
198struct gate_struct64 {
199 u16 offset_low ;
200 u16 segment ;
201 unsigned char ist : 3 ;
202 unsigned char zero0 : 5 ;
203 unsigned char type : 5 ;
204 unsigned char dpl : 2 ;
205 unsigned char p : 1 ;
206 u16 offset_middle ;
207 u32 offset_high ;
208 u32 zero1 ;
209};
210#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
211typedef struct gate_struct64 gate_desc;
212#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
213struct desc_ptr {
214 unsigned short size ;
215 unsigned long address ;
216};
217#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
218struct file;
219#line 290
220struct file;
221#line 305
222struct seq_file;
223#line 305
224struct seq_file;
225#line 337
226struct thread_struct;
227#line 337
228struct thread_struct;
229#line 338
230struct tss_struct;
231#line 338
232struct tss_struct;
233#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
234struct pv_cpu_ops {
235 unsigned long (*get_debugreg)(int ) ;
236 void (*set_debugreg)(int , unsigned long ) ;
237 void (*clts)(void) ;
238 unsigned long (*read_cr0)(void) ;
239 void (*write_cr0)(unsigned long ) ;
240 unsigned long (*read_cr4_safe)(void) ;
241 unsigned long (*read_cr4)(void) ;
242 void (*write_cr4)(unsigned long ) ;
243 unsigned long (*read_cr8)(void) ;
244 void (*write_cr8)(unsigned long ) ;
245 void (*load_tr_desc)(void) ;
246 void (*load_gdt)(struct desc_ptr const * ) ;
247 void (*load_idt)(struct desc_ptr const * ) ;
248 void (*store_gdt)(struct desc_ptr * ) ;
249 void (*store_idt)(struct desc_ptr * ) ;
250 void (*set_ldt)(void const * , unsigned int ) ;
251 unsigned long (*store_tr)(void) ;
252 void (*load_tls)(struct thread_struct * , unsigned int ) ;
253 void (*load_gs_index)(unsigned int ) ;
254 void (*write_ldt_entry)(struct desc_struct * , int , void const * ) ;
255 void (*write_gdt_entry)(struct desc_struct * , int , void const * , int ) ;
256 void (*write_idt_entry)(gate_desc * , int , gate_desc const * ) ;
257 void (*alloc_ldt)(struct desc_struct * , unsigned int ) ;
258 void (*free_ldt)(struct desc_struct * , unsigned int ) ;
259 void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
260 void (*set_iopl_mask)(unsigned int ) ;
261 void (*wbinvd)(void) ;
262 void (*io_delay)(void) ;
263 void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
264 u64 (*read_msr)(unsigned int , int * ) ;
265 int (*rdmsr_regs)(u32 * ) ;
266 int (*write_msr)(unsigned int , unsigned int , unsigned int ) ;
267 int (*wrmsr_regs)(u32 * ) ;
268 u64 (*read_tsc)(void) ;
269 u64 (*read_pmc)(int ) ;
270 unsigned long long (*read_tscp)(unsigned int * ) ;
271 void (*irq_enable_sysexit)(void) ;
272 void (*usergs_sysret64)(void) ;
273 void (*usergs_sysret32)(void) ;
274 void (*iret)(void) ;
275 void (*swapgs)(void) ;
276 void (*start_context_switch)(struct task_struct * ) ;
277 void (*end_context_switch)(struct task_struct * ) ;
278};
279#line 327
280struct arch_spinlock;
281#line 327
282struct arch_spinlock;
283#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
284struct kernel_vm86_regs {
285 struct pt_regs pt ;
286 unsigned short es ;
287 unsigned short __esh ;
288 unsigned short ds ;
289 unsigned short __dsh ;
290 unsigned short fs ;
291 unsigned short __fsh ;
292 unsigned short gs ;
293 unsigned short __gsh ;
294};
295#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
296union __anonunion_ldv_2824_19 {
297 struct pt_regs *regs ;
298 struct kernel_vm86_regs *vm86 ;
299};
300#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
301struct math_emu_info {
302 long ___orig_eip ;
303 union __anonunion_ldv_2824_19 ldv_2824 ;
304};
305#line 306 "include/linux/bitmap.h"
306struct bug_entry {
307 int bug_addr_disp ;
308 int file_disp ;
309 unsigned short line ;
310 unsigned short flags ;
311};
312#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
313struct static_key;
314#line 234
315struct static_key;
316#line 199 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
317struct x86_hw_tss {
318 u32 reserved1 ;
319 u64 sp0 ;
320 u64 sp1 ;
321 u64 sp2 ;
322 u64 reserved2 ;
323 u64 ist[7U] ;
324 u32 reserved3 ;
325 u32 reserved4 ;
326 u16 reserved5 ;
327 u16 io_bitmap_base ;
328};
329#line 246 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
330struct tss_struct {
331 struct x86_hw_tss x86_tss ;
332 unsigned long io_bitmap[1025U] ;
333 unsigned long stack[64U] ;
334};
335#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
336struct i387_fsave_struct {
337 u32 cwd ;
338 u32 swd ;
339 u32 twd ;
340 u32 fip ;
341 u32 fcs ;
342 u32 foo ;
343 u32 fos ;
344 u32 st_space[20U] ;
345 u32 status ;
346};
347#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
348struct __anonstruct_ldv_5180_24 {
349 u64 rip ;
350 u64 rdp ;
351};
352#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
353struct __anonstruct_ldv_5186_25 {
354 u32 fip ;
355 u32 fcs ;
356 u32 foo ;
357 u32 fos ;
358};
359#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
360union __anonunion_ldv_5187_23 {
361 struct __anonstruct_ldv_5180_24 ldv_5180 ;
362 struct __anonstruct_ldv_5186_25 ldv_5186 ;
363};
364#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
365union __anonunion_ldv_5196_26 {
366 u32 padding1[12U] ;
367 u32 sw_reserved[12U] ;
368};
369#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
370struct i387_fxsave_struct {
371 u16 cwd ;
372 u16 swd ;
373 u16 twd ;
374 u16 fop ;
375 union __anonunion_ldv_5187_23 ldv_5187 ;
376 u32 mxcsr ;
377 u32 mxcsr_mask ;
378 u32 st_space[32U] ;
379 u32 xmm_space[64U] ;
380 u32 padding[12U] ;
381 union __anonunion_ldv_5196_26 ldv_5196 ;
382};
383#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct i387_soft_struct {
385 u32 cwd ;
386 u32 swd ;
387 u32 twd ;
388 u32 fip ;
389 u32 fcs ;
390 u32 foo ;
391 u32 fos ;
392 u32 st_space[20U] ;
393 u8 ftop ;
394 u8 changed ;
395 u8 lookahead ;
396 u8 no_update ;
397 u8 rm ;
398 u8 alimit ;
399 struct math_emu_info *info ;
400 u32 entry_eip ;
401};
402#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403struct ymmh_struct {
404 u32 ymmh_space[64U] ;
405};
406#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
407struct xsave_hdr_struct {
408 u64 xstate_bv ;
409 u64 reserved1[2U] ;
410 u64 reserved2[5U] ;
411};
412#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
413struct xsave_struct {
414 struct i387_fxsave_struct i387 ;
415 struct xsave_hdr_struct xsave_hdr ;
416 struct ymmh_struct ymmh ;
417};
418#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
419union thread_xstate {
420 struct i387_fsave_struct fsave ;
421 struct i387_fxsave_struct fxsave ;
422 struct i387_soft_struct soft ;
423 struct xsave_struct xsave ;
424};
425#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
426struct fpu {
427 unsigned int last_cpu ;
428 unsigned int has_fpu ;
429 union thread_xstate *state ;
430};
431#line 433
432struct kmem_cache;
433#line 434
434struct perf_event;
435#line 434
436struct perf_event;
437#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
438struct thread_struct {
439 struct desc_struct tls_array[3U] ;
440 unsigned long sp0 ;
441 unsigned long sp ;
442 unsigned long usersp ;
443 unsigned short es ;
444 unsigned short ds ;
445 unsigned short fsindex ;
446 unsigned short gsindex ;
447 unsigned long fs ;
448 unsigned long gs ;
449 struct perf_event *ptrace_bps[4U] ;
450 unsigned long debugreg6 ;
451 unsigned long ptrace_dr7 ;
452 unsigned long cr2 ;
453 unsigned long trap_nr ;
454 unsigned long error_code ;
455 struct fpu fpu ;
456 unsigned long *io_bitmap_ptr ;
457 unsigned long iopl ;
458 unsigned int io_bitmap_max ;
459};
460#line 23 "include/asm-generic/atomic-long.h"
461typedef atomic64_t atomic_long_t;
462#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
463typedef u16 __ticket_t;
464#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
465typedef u32 __ticketpair_t;
466#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
467struct __raw_tickets {
468 __ticket_t head ;
469 __ticket_t tail ;
470};
471#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
472union __anonunion_ldv_5907_29 {
473 __ticketpair_t head_tail ;
474 struct __raw_tickets tickets ;
475};
476#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
477struct arch_spinlock {
478 union __anonunion_ldv_5907_29 ldv_5907 ;
479};
480#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
481typedef struct arch_spinlock arch_spinlock_t;
482#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
483struct __anonstruct_ldv_5914_31 {
484 u32 read ;
485 s32 write ;
486};
487#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
488union __anonunion_arch_rwlock_t_30 {
489 s64 lock ;
490 struct __anonstruct_ldv_5914_31 ldv_5914 ;
491};
492#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
493typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
494#line 34
495struct lockdep_map;
496#line 34
497struct lockdep_map;
498#line 55 "include/linux/debug_locks.h"
499struct stack_trace {
500 unsigned int nr_entries ;
501 unsigned int max_entries ;
502 unsigned long *entries ;
503 int skip ;
504};
505#line 26 "include/linux/stacktrace.h"
506struct lockdep_subclass_key {
507 char __one_byte ;
508};
509#line 53 "include/linux/lockdep.h"
510struct lock_class_key {
511 struct lockdep_subclass_key subkeys[8U] ;
512};
513#line 59 "include/linux/lockdep.h"
514struct lock_class {
515 struct list_head hash_entry ;
516 struct list_head lock_entry ;
517 struct lockdep_subclass_key *key ;
518 unsigned int subclass ;
519 unsigned int dep_gen_id ;
520 unsigned long usage_mask ;
521 struct stack_trace usage_traces[13U] ;
522 struct list_head locks_after ;
523 struct list_head locks_before ;
524 unsigned int version ;
525 unsigned long ops ;
526 char const *name ;
527 int name_version ;
528 unsigned long contention_point[4U] ;
529 unsigned long contending_point[4U] ;
530};
531#line 144 "include/linux/lockdep.h"
532struct lockdep_map {
533 struct lock_class_key *key ;
534 struct lock_class *class_cache[2U] ;
535 char const *name ;
536 int cpu ;
537 unsigned long ip ;
538};
539#line 556 "include/linux/lockdep.h"
540struct raw_spinlock {
541 arch_spinlock_t raw_lock ;
542 unsigned int magic ;
543 unsigned int owner_cpu ;
544 void *owner ;
545 struct lockdep_map dep_map ;
546};
547#line 32 "include/linux/spinlock_types.h"
548typedef struct raw_spinlock raw_spinlock_t;
549#line 33 "include/linux/spinlock_types.h"
550struct __anonstruct_ldv_6122_33 {
551 u8 __padding[24U] ;
552 struct lockdep_map dep_map ;
553};
554#line 33 "include/linux/spinlock_types.h"
555union __anonunion_ldv_6123_32 {
556 struct raw_spinlock rlock ;
557 struct __anonstruct_ldv_6122_33 ldv_6122 ;
558};
559#line 33 "include/linux/spinlock_types.h"
560struct spinlock {
561 union __anonunion_ldv_6123_32 ldv_6123 ;
562};
563#line 76 "include/linux/spinlock_types.h"
564typedef struct spinlock spinlock_t;
565#line 23 "include/linux/rwlock_types.h"
566struct __anonstruct_rwlock_t_34 {
567 arch_rwlock_t raw_lock ;
568 unsigned int magic ;
569 unsigned int owner_cpu ;
570 void *owner ;
571 struct lockdep_map dep_map ;
572};
573#line 23 "include/linux/rwlock_types.h"
574typedef struct __anonstruct_rwlock_t_34 rwlock_t;
575#line 110 "include/linux/seqlock.h"
576struct seqcount {
577 unsigned int sequence ;
578};
579#line 121 "include/linux/seqlock.h"
580typedef struct seqcount seqcount_t;
581#line 254 "include/linux/seqlock.h"
582struct timespec {
583 __kernel_time_t tv_sec ;
584 long tv_nsec ;
585};
586#line 286 "include/linux/time.h"
587struct kstat {
588 u64 ino ;
589 dev_t dev ;
590 umode_t mode ;
591 unsigned int nlink ;
592 uid_t uid ;
593 gid_t gid ;
594 dev_t rdev ;
595 loff_t size ;
596 struct timespec atime ;
597 struct timespec mtime ;
598 struct timespec ctime ;
599 unsigned long blksize ;
600 unsigned long long blocks ;
601};
602#line 48 "include/linux/wait.h"
603struct __wait_queue_head {
604 spinlock_t lock ;
605 struct list_head task_list ;
606};
607#line 53 "include/linux/wait.h"
608typedef struct __wait_queue_head wait_queue_head_t;
609#line 670 "include/linux/mmzone.h"
610struct mutex {
611 atomic_t count ;
612 spinlock_t wait_lock ;
613 struct list_head wait_list ;
614 struct task_struct *owner ;
615 char const *name ;
616 void *magic ;
617 struct lockdep_map dep_map ;
618};
619#line 171 "include/linux/mutex.h"
620struct rw_semaphore;
621#line 171
622struct rw_semaphore;
623#line 172 "include/linux/mutex.h"
624struct rw_semaphore {
625 long count ;
626 raw_spinlock_t wait_lock ;
627 struct list_head wait_list ;
628 struct lockdep_map dep_map ;
629};
630#line 188 "include/linux/rcupdate.h"
631struct notifier_block;
632#line 188
633struct notifier_block;
634#line 239 "include/linux/srcu.h"
635struct notifier_block {
636 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
637 struct notifier_block *next ;
638 int priority ;
639};
640#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
641struct resource {
642 resource_size_t start ;
643 resource_size_t end ;
644 char const *name ;
645 unsigned long flags ;
646 struct resource *parent ;
647 struct resource *sibling ;
648 struct resource *child ;
649};
650#line 341 "include/linux/ktime.h"
651struct tvec_base;
652#line 341
653struct tvec_base;
654#line 342 "include/linux/ktime.h"
655struct timer_list {
656 struct list_head entry ;
657 unsigned long expires ;
658 struct tvec_base *base ;
659 void (*function)(unsigned long ) ;
660 unsigned long data ;
661 int slack ;
662 int start_pid ;
663 void *start_site ;
664 char start_comm[16U] ;
665 struct lockdep_map lockdep_map ;
666};
667#line 18 "include/asm-generic/pci_iomap.h"
668struct vm_area_struct;
669#line 18
670struct vm_area_struct;
671#line 37 "include/linux/kmod.h"
672struct cred;
673#line 37
674struct cred;
675#line 18 "include/linux/elf.h"
676typedef __u64 Elf64_Addr;
677#line 19 "include/linux/elf.h"
678typedef __u16 Elf64_Half;
679#line 23 "include/linux/elf.h"
680typedef __u32 Elf64_Word;
681#line 24 "include/linux/elf.h"
682typedef __u64 Elf64_Xword;
683#line 193 "include/linux/elf.h"
684struct elf64_sym {
685 Elf64_Word st_name ;
686 unsigned char st_info ;
687 unsigned char st_other ;
688 Elf64_Half st_shndx ;
689 Elf64_Addr st_value ;
690 Elf64_Xword st_size ;
691};
692#line 201 "include/linux/elf.h"
693typedef struct elf64_sym Elf64_Sym;
694#line 445
695struct sock;
696#line 445
697struct sock;
698#line 446
699struct kobject;
700#line 446
701struct kobject;
702#line 447
703enum kobj_ns_type {
704 KOBJ_NS_TYPE_NONE = 0,
705 KOBJ_NS_TYPE_NET = 1,
706 KOBJ_NS_TYPES = 2
707} ;
708#line 453 "include/linux/elf.h"
709struct kobj_ns_type_operations {
710 enum kobj_ns_type type ;
711 void *(*grab_current_ns)(void) ;
712 void const *(*netlink_ns)(struct sock * ) ;
713 void const *(*initial_ns)(void) ;
714 void (*drop_ns)(void * ) ;
715};
716#line 57 "include/linux/kobject_ns.h"
717struct attribute {
718 char const *name ;
719 umode_t mode ;
720 struct lock_class_key *key ;
721 struct lock_class_key skey ;
722};
723#line 98 "include/linux/sysfs.h"
724struct sysfs_ops {
725 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
726 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
727 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
728};
729#line 117
730struct sysfs_dirent;
731#line 117
732struct sysfs_dirent;
733#line 182 "include/linux/sysfs.h"
734struct kref {
735 atomic_t refcount ;
736};
737#line 49 "include/linux/kobject.h"
738struct kset;
739#line 49
740struct kobj_type;
741#line 49 "include/linux/kobject.h"
742struct kobject {
743 char const *name ;
744 struct list_head entry ;
745 struct kobject *parent ;
746 struct kset *kset ;
747 struct kobj_type *ktype ;
748 struct sysfs_dirent *sd ;
749 struct kref kref ;
750 unsigned char state_initialized : 1 ;
751 unsigned char state_in_sysfs : 1 ;
752 unsigned char state_add_uevent_sent : 1 ;
753 unsigned char state_remove_uevent_sent : 1 ;
754 unsigned char uevent_suppress : 1 ;
755};
756#line 107 "include/linux/kobject.h"
757struct kobj_type {
758 void (*release)(struct kobject * ) ;
759 struct sysfs_ops const *sysfs_ops ;
760 struct attribute **default_attrs ;
761 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
762 void const *(*namespace)(struct kobject * ) ;
763};
764#line 115 "include/linux/kobject.h"
765struct kobj_uevent_env {
766 char *envp[32U] ;
767 int envp_idx ;
768 char buf[2048U] ;
769 int buflen ;
770};
771#line 122 "include/linux/kobject.h"
772struct kset_uevent_ops {
773 int (* const filter)(struct kset * , struct kobject * ) ;
774 char const *(* const name)(struct kset * , struct kobject * ) ;
775 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
776};
777#line 139 "include/linux/kobject.h"
778struct kset {
779 struct list_head list ;
780 spinlock_t list_lock ;
781 struct kobject kobj ;
782 struct kset_uevent_ops const *uevent_ops ;
783};
784#line 215
785struct kernel_param;
786#line 215
787struct kernel_param;
788#line 216 "include/linux/kobject.h"
789struct kernel_param_ops {
790 int (*set)(char const * , struct kernel_param const * ) ;
791 int (*get)(char * , struct kernel_param const * ) ;
792 void (*free)(void * ) ;
793};
794#line 49 "include/linux/moduleparam.h"
795struct kparam_string;
796#line 49
797struct kparam_array;
798#line 49 "include/linux/moduleparam.h"
799union __anonunion_ldv_13363_134 {
800 void *arg ;
801 struct kparam_string const *str ;
802 struct kparam_array const *arr ;
803};
804#line 49 "include/linux/moduleparam.h"
805struct kernel_param {
806 char const *name ;
807 struct kernel_param_ops const *ops ;
808 u16 perm ;
809 s16 level ;
810 union __anonunion_ldv_13363_134 ldv_13363 ;
811};
812#line 61 "include/linux/moduleparam.h"
813struct kparam_string {
814 unsigned int maxlen ;
815 char *string ;
816};
817#line 67 "include/linux/moduleparam.h"
818struct kparam_array {
819 unsigned int max ;
820 unsigned int elemsize ;
821 unsigned int *num ;
822 struct kernel_param_ops const *ops ;
823 void *elem ;
824};
825#line 458 "include/linux/moduleparam.h"
826struct static_key {
827 atomic_t enabled ;
828};
829#line 225 "include/linux/jump_label.h"
830struct tracepoint;
831#line 225
832struct tracepoint;
833#line 226 "include/linux/jump_label.h"
834struct tracepoint_func {
835 void *func ;
836 void *data ;
837};
838#line 29 "include/linux/tracepoint.h"
839struct tracepoint {
840 char const *name ;
841 struct static_key key ;
842 void (*regfunc)(void) ;
843 void (*unregfunc)(void) ;
844 struct tracepoint_func *funcs ;
845};
846#line 86 "include/linux/tracepoint.h"
847struct kernel_symbol {
848 unsigned long value ;
849 char const *name ;
850};
851#line 27 "include/linux/export.h"
852struct mod_arch_specific {
853
854};
855#line 34 "include/linux/module.h"
856struct module_param_attrs;
857#line 34 "include/linux/module.h"
858struct module_kobject {
859 struct kobject kobj ;
860 struct module *mod ;
861 struct kobject *drivers_dir ;
862 struct module_param_attrs *mp ;
863};
864#line 43 "include/linux/module.h"
865struct module_attribute {
866 struct attribute attr ;
867 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
868 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
869 size_t ) ;
870 void (*setup)(struct module * , char const * ) ;
871 int (*test)(struct module * ) ;
872 void (*free)(struct module * ) ;
873};
874#line 69
875struct exception_table_entry;
876#line 69
877struct exception_table_entry;
878#line 198
879enum module_state {
880 MODULE_STATE_LIVE = 0,
881 MODULE_STATE_COMING = 1,
882 MODULE_STATE_GOING = 2
883} ;
884#line 204 "include/linux/module.h"
885struct module_ref {
886 unsigned long incs ;
887 unsigned long decs ;
888};
889#line 219
890struct module_sect_attrs;
891#line 219
892struct module_notes_attrs;
893#line 219
894struct ftrace_event_call;
895#line 219 "include/linux/module.h"
896struct module {
897 enum module_state state ;
898 struct list_head list ;
899 char name[56U] ;
900 struct module_kobject mkobj ;
901 struct module_attribute *modinfo_attrs ;
902 char const *version ;
903 char const *srcversion ;
904 struct kobject *holders_dir ;
905 struct kernel_symbol const *syms ;
906 unsigned long const *crcs ;
907 unsigned int num_syms ;
908 struct kernel_param *kp ;
909 unsigned int num_kp ;
910 unsigned int num_gpl_syms ;
911 struct kernel_symbol const *gpl_syms ;
912 unsigned long const *gpl_crcs ;
913 struct kernel_symbol const *unused_syms ;
914 unsigned long const *unused_crcs ;
915 unsigned int num_unused_syms ;
916 unsigned int num_unused_gpl_syms ;
917 struct kernel_symbol const *unused_gpl_syms ;
918 unsigned long const *unused_gpl_crcs ;
919 struct kernel_symbol const *gpl_future_syms ;
920 unsigned long const *gpl_future_crcs ;
921 unsigned int num_gpl_future_syms ;
922 unsigned int num_exentries ;
923 struct exception_table_entry *extable ;
924 int (*init)(void) ;
925 void *module_init ;
926 void *module_core ;
927 unsigned int init_size ;
928 unsigned int core_size ;
929 unsigned int init_text_size ;
930 unsigned int core_text_size ;
931 unsigned int init_ro_size ;
932 unsigned int core_ro_size ;
933 struct mod_arch_specific arch ;
934 unsigned int taints ;
935 unsigned int num_bugs ;
936 struct list_head bug_list ;
937 struct bug_entry *bug_table ;
938 Elf64_Sym *symtab ;
939 Elf64_Sym *core_symtab ;
940 unsigned int num_symtab ;
941 unsigned int core_num_syms ;
942 char *strtab ;
943 char *core_strtab ;
944 struct module_sect_attrs *sect_attrs ;
945 struct module_notes_attrs *notes_attrs ;
946 char *args ;
947 void *percpu ;
948 unsigned int percpu_size ;
949 unsigned int num_tracepoints ;
950 struct tracepoint * const *tracepoints_ptrs ;
951 unsigned int num_trace_bprintk_fmt ;
952 char const **trace_bprintk_fmt_start ;
953 struct ftrace_event_call **trace_events ;
954 unsigned int num_trace_events ;
955 struct list_head source_list ;
956 struct list_head target_list ;
957 struct task_struct *waiter ;
958 void (*exit)(void) ;
959 struct module_ref *refptr ;
960 ctor_fn_t (**ctors)(void) ;
961 unsigned int num_ctors ;
962};
963#line 88 "include/linux/kmemleak.h"
964struct kmem_cache_cpu {
965 void **freelist ;
966 unsigned long tid ;
967 struct page *page ;
968 struct page *partial ;
969 int node ;
970 unsigned int stat[26U] ;
971};
972#line 55 "include/linux/slub_def.h"
973struct kmem_cache_node {
974 spinlock_t list_lock ;
975 unsigned long nr_partial ;
976 struct list_head partial ;
977 atomic_long_t nr_slabs ;
978 atomic_long_t total_objects ;
979 struct list_head full ;
980};
981#line 66 "include/linux/slub_def.h"
982struct kmem_cache_order_objects {
983 unsigned long x ;
984};
985#line 76 "include/linux/slub_def.h"
986struct kmem_cache {
987 struct kmem_cache_cpu *cpu_slab ;
988 unsigned long flags ;
989 unsigned long min_partial ;
990 int size ;
991 int objsize ;
992 int offset ;
993 int cpu_partial ;
994 struct kmem_cache_order_objects oo ;
995 struct kmem_cache_order_objects max ;
996 struct kmem_cache_order_objects min ;
997 gfp_t allocflags ;
998 int refcount ;
999 void (*ctor)(void * ) ;
1000 int inuse ;
1001 int align ;
1002 int reserved ;
1003 char const *name ;
1004 struct list_head list ;
1005 struct kobject kobj ;
1006 int remote_node_defrag_ratio ;
1007 struct kmem_cache_node *node[1024U] ;
1008};
1009#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
1010struct file_operations;
1011#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
1012struct miscdevice {
1013 int minor ;
1014 char const *name ;
1015 struct file_operations const *fops ;
1016 struct list_head list ;
1017 struct device *parent ;
1018 struct device *this_device ;
1019 char const *nodename ;
1020 umode_t mode ;
1021};
1022#line 63 "include/linux/miscdevice.h"
1023struct watchdog_info {
1024 __u32 options ;
1025 __u32 firmware_version ;
1026 __u8 identity[32U] ;
1027};
1028#line 155 "include/linux/watchdog.h"
1029struct block_device;
1030#line 155
1031struct block_device;
1032#line 93 "include/linux/bit_spinlock.h"
1033struct hlist_bl_node;
1034#line 93 "include/linux/bit_spinlock.h"
1035struct hlist_bl_head {
1036 struct hlist_bl_node *first ;
1037};
1038#line 36 "include/linux/list_bl.h"
1039struct hlist_bl_node {
1040 struct hlist_bl_node *next ;
1041 struct hlist_bl_node **pprev ;
1042};
1043#line 114 "include/linux/rculist_bl.h"
1044struct nameidata;
1045#line 114
1046struct nameidata;
1047#line 115
1048struct path;
1049#line 115
1050struct path;
1051#line 116
1052struct vfsmount;
1053#line 116
1054struct vfsmount;
1055#line 117 "include/linux/rculist_bl.h"
1056struct qstr {
1057 unsigned int hash ;
1058 unsigned int len ;
1059 unsigned char const *name ;
1060};
1061#line 72 "include/linux/dcache.h"
1062struct inode;
1063#line 72
1064struct dentry_operations;
1065#line 72
1066struct super_block;
1067#line 72 "include/linux/dcache.h"
1068union __anonunion_d_u_135 {
1069 struct list_head d_child ;
1070 struct rcu_head d_rcu ;
1071};
1072#line 72 "include/linux/dcache.h"
1073struct dentry {
1074 unsigned int d_flags ;
1075 seqcount_t d_seq ;
1076 struct hlist_bl_node d_hash ;
1077 struct dentry *d_parent ;
1078 struct qstr d_name ;
1079 struct inode *d_inode ;
1080 unsigned char d_iname[32U] ;
1081 unsigned int d_count ;
1082 spinlock_t d_lock ;
1083 struct dentry_operations const *d_op ;
1084 struct super_block *d_sb ;
1085 unsigned long d_time ;
1086 void *d_fsdata ;
1087 struct list_head d_lru ;
1088 union __anonunion_d_u_135 d_u ;
1089 struct list_head d_subdirs ;
1090 struct list_head d_alias ;
1091};
1092#line 123 "include/linux/dcache.h"
1093struct dentry_operations {
1094 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1095 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1096 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1097 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1098 int (*d_delete)(struct dentry const * ) ;
1099 void (*d_release)(struct dentry * ) ;
1100 void (*d_prune)(struct dentry * ) ;
1101 void (*d_iput)(struct dentry * , struct inode * ) ;
1102 char *(*d_dname)(struct dentry * , char * , int ) ;
1103 struct vfsmount *(*d_automount)(struct path * ) ;
1104 int (*d_manage)(struct dentry * , bool ) ;
1105};
1106#line 402 "include/linux/dcache.h"
1107struct path {
1108 struct vfsmount *mnt ;
1109 struct dentry *dentry ;
1110};
1111#line 58 "include/linux/radix-tree.h"
1112struct radix_tree_node;
1113#line 58 "include/linux/radix-tree.h"
1114struct radix_tree_root {
1115 unsigned int height ;
1116 gfp_t gfp_mask ;
1117 struct radix_tree_node *rnode ;
1118};
1119#line 377
1120struct prio_tree_node;
1121#line 19 "include/linux/prio_tree.h"
1122struct prio_tree_node {
1123 struct prio_tree_node *left ;
1124 struct prio_tree_node *right ;
1125 struct prio_tree_node *parent ;
1126 unsigned long start ;
1127 unsigned long last ;
1128};
1129#line 27 "include/linux/prio_tree.h"
1130struct prio_tree_root {
1131 struct prio_tree_node *prio_tree_node ;
1132 unsigned short index_bits ;
1133 unsigned short raw ;
1134};
1135#line 111
1136enum pid_type {
1137 PIDTYPE_PID = 0,
1138 PIDTYPE_PGID = 1,
1139 PIDTYPE_SID = 2,
1140 PIDTYPE_MAX = 3
1141} ;
1142#line 118
1143struct pid_namespace;
1144#line 118 "include/linux/prio_tree.h"
1145struct upid {
1146 int nr ;
1147 struct pid_namespace *ns ;
1148 struct hlist_node pid_chain ;
1149};
1150#line 56 "include/linux/pid.h"
1151struct pid {
1152 atomic_t count ;
1153 unsigned int level ;
1154 struct hlist_head tasks[3U] ;
1155 struct rcu_head rcu ;
1156 struct upid numbers[1U] ;
1157};
1158#line 45 "include/linux/semaphore.h"
1159struct fiemap_extent {
1160 __u64 fe_logical ;
1161 __u64 fe_physical ;
1162 __u64 fe_length ;
1163 __u64 fe_reserved64[2U] ;
1164 __u32 fe_flags ;
1165 __u32 fe_reserved[3U] ;
1166};
1167#line 38 "include/linux/fiemap.h"
1168struct shrink_control {
1169 gfp_t gfp_mask ;
1170 unsigned long nr_to_scan ;
1171};
1172#line 14 "include/linux/shrinker.h"
1173struct shrinker {
1174 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1175 int seeks ;
1176 long batch ;
1177 struct list_head list ;
1178 atomic_long_t nr_in_batch ;
1179};
1180#line 43
1181enum migrate_mode {
1182 MIGRATE_ASYNC = 0,
1183 MIGRATE_SYNC_LIGHT = 1,
1184 MIGRATE_SYNC = 2
1185} ;
1186#line 49
1187struct export_operations;
1188#line 49
1189struct export_operations;
1190#line 51
1191struct iovec;
1192#line 51
1193struct iovec;
1194#line 52
1195struct kiocb;
1196#line 52
1197struct kiocb;
1198#line 53
1199struct pipe_inode_info;
1200#line 53
1201struct pipe_inode_info;
1202#line 54
1203struct poll_table_struct;
1204#line 54
1205struct poll_table_struct;
1206#line 55
1207struct kstatfs;
1208#line 55
1209struct kstatfs;
1210#line 435 "include/linux/fs.h"
1211struct iattr {
1212 unsigned int ia_valid ;
1213 umode_t ia_mode ;
1214 uid_t ia_uid ;
1215 gid_t ia_gid ;
1216 loff_t ia_size ;
1217 struct timespec ia_atime ;
1218 struct timespec ia_mtime ;
1219 struct timespec ia_ctime ;
1220 struct file *ia_file ;
1221};
1222#line 119 "include/linux/quota.h"
1223struct if_dqinfo {
1224 __u64 dqi_bgrace ;
1225 __u64 dqi_igrace ;
1226 __u32 dqi_flags ;
1227 __u32 dqi_valid ;
1228};
1229#line 176 "include/linux/percpu_counter.h"
1230struct fs_disk_quota {
1231 __s8 d_version ;
1232 __s8 d_flags ;
1233 __u16 d_fieldmask ;
1234 __u32 d_id ;
1235 __u64 d_blk_hardlimit ;
1236 __u64 d_blk_softlimit ;
1237 __u64 d_ino_hardlimit ;
1238 __u64 d_ino_softlimit ;
1239 __u64 d_bcount ;
1240 __u64 d_icount ;
1241 __s32 d_itimer ;
1242 __s32 d_btimer ;
1243 __u16 d_iwarns ;
1244 __u16 d_bwarns ;
1245 __s32 d_padding2 ;
1246 __u64 d_rtb_hardlimit ;
1247 __u64 d_rtb_softlimit ;
1248 __u64 d_rtbcount ;
1249 __s32 d_rtbtimer ;
1250 __u16 d_rtbwarns ;
1251 __s16 d_padding3 ;
1252 char d_padding4[8U] ;
1253};
1254#line 75 "include/linux/dqblk_xfs.h"
1255struct fs_qfilestat {
1256 __u64 qfs_ino ;
1257 __u64 qfs_nblks ;
1258 __u32 qfs_nextents ;
1259};
1260#line 150 "include/linux/dqblk_xfs.h"
1261typedef struct fs_qfilestat fs_qfilestat_t;
1262#line 151 "include/linux/dqblk_xfs.h"
1263struct fs_quota_stat {
1264 __s8 qs_version ;
1265 __u16 qs_flags ;
1266 __s8 qs_pad ;
1267 fs_qfilestat_t qs_uquota ;
1268 fs_qfilestat_t qs_gquota ;
1269 __u32 qs_incoredqs ;
1270 __s32 qs_btimelimit ;
1271 __s32 qs_itimelimit ;
1272 __s32 qs_rtbtimelimit ;
1273 __u16 qs_bwarnlimit ;
1274 __u16 qs_iwarnlimit ;
1275};
1276#line 165
1277struct dquot;
1278#line 165
1279struct dquot;
1280#line 185 "include/linux/quota.h"
1281typedef __kernel_uid32_t qid_t;
1282#line 186 "include/linux/quota.h"
1283typedef long long qsize_t;
1284#line 189 "include/linux/quota.h"
1285struct mem_dqblk {
1286 qsize_t dqb_bhardlimit ;
1287 qsize_t dqb_bsoftlimit ;
1288 qsize_t dqb_curspace ;
1289 qsize_t dqb_rsvspace ;
1290 qsize_t dqb_ihardlimit ;
1291 qsize_t dqb_isoftlimit ;
1292 qsize_t dqb_curinodes ;
1293 time_t dqb_btime ;
1294 time_t dqb_itime ;
1295};
1296#line 211
1297struct quota_format_type;
1298#line 211
1299struct quota_format_type;
1300#line 212 "include/linux/quota.h"
1301struct mem_dqinfo {
1302 struct quota_format_type *dqi_format ;
1303 int dqi_fmt_id ;
1304 struct list_head dqi_dirty_list ;
1305 unsigned long dqi_flags ;
1306 unsigned int dqi_bgrace ;
1307 unsigned int dqi_igrace ;
1308 qsize_t dqi_maxblimit ;
1309 qsize_t dqi_maxilimit ;
1310 void *dqi_priv ;
1311};
1312#line 275 "include/linux/quota.h"
1313struct dquot {
1314 struct hlist_node dq_hash ;
1315 struct list_head dq_inuse ;
1316 struct list_head dq_free ;
1317 struct list_head dq_dirty ;
1318 struct mutex dq_lock ;
1319 atomic_t dq_count ;
1320 wait_queue_head_t dq_wait_unused ;
1321 struct super_block *dq_sb ;
1322 unsigned int dq_id ;
1323 loff_t dq_off ;
1324 unsigned long dq_flags ;
1325 short dq_type ;
1326 struct mem_dqblk dq_dqb ;
1327};
1328#line 303 "include/linux/quota.h"
1329struct quota_format_ops {
1330 int (*check_quota_file)(struct super_block * , int ) ;
1331 int (*read_file_info)(struct super_block * , int ) ;
1332 int (*write_file_info)(struct super_block * , int ) ;
1333 int (*free_file_info)(struct super_block * , int ) ;
1334 int (*read_dqblk)(struct dquot * ) ;
1335 int (*commit_dqblk)(struct dquot * ) ;
1336 int (*release_dqblk)(struct dquot * ) ;
1337};
1338#line 314 "include/linux/quota.h"
1339struct dquot_operations {
1340 int (*write_dquot)(struct dquot * ) ;
1341 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1342 void (*destroy_dquot)(struct dquot * ) ;
1343 int (*acquire_dquot)(struct dquot * ) ;
1344 int (*release_dquot)(struct dquot * ) ;
1345 int (*mark_dirty)(struct dquot * ) ;
1346 int (*write_info)(struct super_block * , int ) ;
1347 qsize_t *(*get_reserved_space)(struct inode * ) ;
1348};
1349#line 328 "include/linux/quota.h"
1350struct quotactl_ops {
1351 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1352 int (*quota_on_meta)(struct super_block * , int , int ) ;
1353 int (*quota_off)(struct super_block * , int ) ;
1354 int (*quota_sync)(struct super_block * , int , int ) ;
1355 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1356 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1357 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1358 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1359 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1360 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1361};
1362#line 344 "include/linux/quota.h"
1363struct quota_format_type {
1364 int qf_fmt_id ;
1365 struct quota_format_ops const *qf_ops ;
1366 struct module *qf_owner ;
1367 struct quota_format_type *qf_next ;
1368};
1369#line 390 "include/linux/quota.h"
1370struct quota_info {
1371 unsigned int flags ;
1372 struct mutex dqio_mutex ;
1373 struct mutex dqonoff_mutex ;
1374 struct rw_semaphore dqptr_sem ;
1375 struct inode *files[2U] ;
1376 struct mem_dqinfo info[2U] ;
1377 struct quota_format_ops const *ops[2U] ;
1378};
1379#line 421
1380struct address_space;
1381#line 421
1382struct address_space;
1383#line 422
1384struct writeback_control;
1385#line 422
1386struct writeback_control;
1387#line 585 "include/linux/fs.h"
1388union __anonunion_arg_138 {
1389 char *buf ;
1390 void *data ;
1391};
1392#line 585 "include/linux/fs.h"
1393struct __anonstruct_read_descriptor_t_137 {
1394 size_t written ;
1395 size_t count ;
1396 union __anonunion_arg_138 arg ;
1397 int error ;
1398};
1399#line 585 "include/linux/fs.h"
1400typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1401#line 588 "include/linux/fs.h"
1402struct address_space_operations {
1403 int (*writepage)(struct page * , struct writeback_control * ) ;
1404 int (*readpage)(struct file * , struct page * ) ;
1405 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1406 int (*set_page_dirty)(struct page * ) ;
1407 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1408 unsigned int ) ;
1409 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1410 unsigned int , struct page ** , void ** ) ;
1411 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1412 unsigned int , struct page * , void * ) ;
1413 sector_t (*bmap)(struct address_space * , sector_t ) ;
1414 void (*invalidatepage)(struct page * , unsigned long ) ;
1415 int (*releasepage)(struct page * , gfp_t ) ;
1416 void (*freepage)(struct page * ) ;
1417 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1418 unsigned long ) ;
1419 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1420 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1421 int (*launder_page)(struct page * ) ;
1422 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1423 int (*error_remove_page)(struct address_space * , struct page * ) ;
1424};
1425#line 642
1426struct backing_dev_info;
1427#line 642
1428struct backing_dev_info;
1429#line 643 "include/linux/fs.h"
1430struct address_space {
1431 struct inode *host ;
1432 struct radix_tree_root page_tree ;
1433 spinlock_t tree_lock ;
1434 unsigned int i_mmap_writable ;
1435 struct prio_tree_root i_mmap ;
1436 struct list_head i_mmap_nonlinear ;
1437 struct mutex i_mmap_mutex ;
1438 unsigned long nrpages ;
1439 unsigned long writeback_index ;
1440 struct address_space_operations const *a_ops ;
1441 unsigned long flags ;
1442 struct backing_dev_info *backing_dev_info ;
1443 spinlock_t private_lock ;
1444 struct list_head private_list ;
1445 struct address_space *assoc_mapping ;
1446};
1447#line 664
1448struct request_queue;
1449#line 664
1450struct request_queue;
1451#line 665
1452struct hd_struct;
1453#line 665
1454struct gendisk;
1455#line 665 "include/linux/fs.h"
1456struct block_device {
1457 dev_t bd_dev ;
1458 int bd_openers ;
1459 struct inode *bd_inode ;
1460 struct super_block *bd_super ;
1461 struct mutex bd_mutex ;
1462 struct list_head bd_inodes ;
1463 void *bd_claiming ;
1464 void *bd_holder ;
1465 int bd_holders ;
1466 bool bd_write_holder ;
1467 struct list_head bd_holder_disks ;
1468 struct block_device *bd_contains ;
1469 unsigned int bd_block_size ;
1470 struct hd_struct *bd_part ;
1471 unsigned int bd_part_count ;
1472 int bd_invalidated ;
1473 struct gendisk *bd_disk ;
1474 struct request_queue *bd_queue ;
1475 struct list_head bd_list ;
1476 unsigned long bd_private ;
1477 int bd_fsfreeze_count ;
1478 struct mutex bd_fsfreeze_mutex ;
1479};
1480#line 737
1481struct posix_acl;
1482#line 737
1483struct posix_acl;
1484#line 738
1485struct inode_operations;
1486#line 738 "include/linux/fs.h"
1487union __anonunion_ldv_15809_139 {
1488 unsigned int const i_nlink ;
1489 unsigned int __i_nlink ;
1490};
1491#line 738 "include/linux/fs.h"
1492union __anonunion_ldv_15828_140 {
1493 struct list_head i_dentry ;
1494 struct rcu_head i_rcu ;
1495};
1496#line 738
1497struct file_lock;
1498#line 738
1499struct cdev;
1500#line 738 "include/linux/fs.h"
1501union __anonunion_ldv_15845_141 {
1502 struct pipe_inode_info *i_pipe ;
1503 struct block_device *i_bdev ;
1504 struct cdev *i_cdev ;
1505};
1506#line 738 "include/linux/fs.h"
1507struct inode {
1508 umode_t i_mode ;
1509 unsigned short i_opflags ;
1510 uid_t i_uid ;
1511 gid_t i_gid ;
1512 unsigned int i_flags ;
1513 struct posix_acl *i_acl ;
1514 struct posix_acl *i_default_acl ;
1515 struct inode_operations const *i_op ;
1516 struct super_block *i_sb ;
1517 struct address_space *i_mapping ;
1518 void *i_security ;
1519 unsigned long i_ino ;
1520 union __anonunion_ldv_15809_139 ldv_15809 ;
1521 dev_t i_rdev ;
1522 struct timespec i_atime ;
1523 struct timespec i_mtime ;
1524 struct timespec i_ctime ;
1525 spinlock_t i_lock ;
1526 unsigned short i_bytes ;
1527 blkcnt_t i_blocks ;
1528 loff_t i_size ;
1529 unsigned long i_state ;
1530 struct mutex i_mutex ;
1531 unsigned long dirtied_when ;
1532 struct hlist_node i_hash ;
1533 struct list_head i_wb_list ;
1534 struct list_head i_lru ;
1535 struct list_head i_sb_list ;
1536 union __anonunion_ldv_15828_140 ldv_15828 ;
1537 atomic_t i_count ;
1538 unsigned int i_blkbits ;
1539 u64 i_version ;
1540 atomic_t i_dio_count ;
1541 atomic_t i_writecount ;
1542 struct file_operations const *i_fop ;
1543 struct file_lock *i_flock ;
1544 struct address_space i_data ;
1545 struct dquot *i_dquot[2U] ;
1546 struct list_head i_devices ;
1547 union __anonunion_ldv_15845_141 ldv_15845 ;
1548 __u32 i_generation ;
1549 __u32 i_fsnotify_mask ;
1550 struct hlist_head i_fsnotify_marks ;
1551 atomic_t i_readcount ;
1552 void *i_private ;
1553};
1554#line 941 "include/linux/fs.h"
1555struct fown_struct {
1556 rwlock_t lock ;
1557 struct pid *pid ;
1558 enum pid_type pid_type ;
1559 uid_t uid ;
1560 uid_t euid ;
1561 int signum ;
1562};
1563#line 949 "include/linux/fs.h"
1564struct file_ra_state {
1565 unsigned long start ;
1566 unsigned int size ;
1567 unsigned int async_size ;
1568 unsigned int ra_pages ;
1569 unsigned int mmap_miss ;
1570 loff_t prev_pos ;
1571};
1572#line 972 "include/linux/fs.h"
1573union __anonunion_f_u_142 {
1574 struct list_head fu_list ;
1575 struct rcu_head fu_rcuhead ;
1576};
1577#line 972 "include/linux/fs.h"
1578struct file {
1579 union __anonunion_f_u_142 f_u ;
1580 struct path f_path ;
1581 struct file_operations const *f_op ;
1582 spinlock_t f_lock ;
1583 int f_sb_list_cpu ;
1584 atomic_long_t f_count ;
1585 unsigned int f_flags ;
1586 fmode_t f_mode ;
1587 loff_t f_pos ;
1588 struct fown_struct f_owner ;
1589 struct cred const *f_cred ;
1590 struct file_ra_state f_ra ;
1591 u64 f_version ;
1592 void *f_security ;
1593 void *private_data ;
1594 struct list_head f_ep_links ;
1595 struct list_head f_tfile_llink ;
1596 struct address_space *f_mapping ;
1597 unsigned long f_mnt_write_state ;
1598};
1599#line 1111
1600struct files_struct;
1601#line 1111 "include/linux/fs.h"
1602typedef struct files_struct *fl_owner_t;
1603#line 1112 "include/linux/fs.h"
1604struct file_lock_operations {
1605 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1606 void (*fl_release_private)(struct file_lock * ) ;
1607};
1608#line 1117 "include/linux/fs.h"
1609struct lock_manager_operations {
1610 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1611 void (*lm_notify)(struct file_lock * ) ;
1612 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1613 void (*lm_release_private)(struct file_lock * ) ;
1614 void (*lm_break)(struct file_lock * ) ;
1615 int (*lm_change)(struct file_lock ** , int ) ;
1616};
1617#line 1134
1618struct nlm_lockowner;
1619#line 1134
1620struct nlm_lockowner;
1621#line 1135 "include/linux/fs.h"
1622struct nfs_lock_info {
1623 u32 state ;
1624 struct nlm_lockowner *owner ;
1625 struct list_head list ;
1626};
1627#line 14 "include/linux/nfs_fs_i.h"
1628struct nfs4_lock_state;
1629#line 14
1630struct nfs4_lock_state;
1631#line 15 "include/linux/nfs_fs_i.h"
1632struct nfs4_lock_info {
1633 struct nfs4_lock_state *owner ;
1634};
1635#line 19
1636struct fasync_struct;
1637#line 19 "include/linux/nfs_fs_i.h"
1638struct __anonstruct_afs_144 {
1639 struct list_head link ;
1640 int state ;
1641};
1642#line 19 "include/linux/nfs_fs_i.h"
1643union __anonunion_fl_u_143 {
1644 struct nfs_lock_info nfs_fl ;
1645 struct nfs4_lock_info nfs4_fl ;
1646 struct __anonstruct_afs_144 afs ;
1647};
1648#line 19 "include/linux/nfs_fs_i.h"
1649struct file_lock {
1650 struct file_lock *fl_next ;
1651 struct list_head fl_link ;
1652 struct list_head fl_block ;
1653 fl_owner_t fl_owner ;
1654 unsigned int fl_flags ;
1655 unsigned char fl_type ;
1656 unsigned int fl_pid ;
1657 struct pid *fl_nspid ;
1658 wait_queue_head_t fl_wait ;
1659 struct file *fl_file ;
1660 loff_t fl_start ;
1661 loff_t fl_end ;
1662 struct fasync_struct *fl_fasync ;
1663 unsigned long fl_break_time ;
1664 unsigned long fl_downgrade_time ;
1665 struct file_lock_operations const *fl_ops ;
1666 struct lock_manager_operations const *fl_lmops ;
1667 union __anonunion_fl_u_143 fl_u ;
1668};
1669#line 1221 "include/linux/fs.h"
1670struct fasync_struct {
1671 spinlock_t fa_lock ;
1672 int magic ;
1673 int fa_fd ;
1674 struct fasync_struct *fa_next ;
1675 struct file *fa_file ;
1676 struct rcu_head fa_rcu ;
1677};
1678#line 1417
1679struct file_system_type;
1680#line 1417
1681struct super_operations;
1682#line 1417
1683struct xattr_handler;
1684#line 1417
1685struct mtd_info;
1686#line 1417 "include/linux/fs.h"
1687struct super_block {
1688 struct list_head s_list ;
1689 dev_t s_dev ;
1690 unsigned char s_dirt ;
1691 unsigned char s_blocksize_bits ;
1692 unsigned long s_blocksize ;
1693 loff_t s_maxbytes ;
1694 struct file_system_type *s_type ;
1695 struct super_operations const *s_op ;
1696 struct dquot_operations const *dq_op ;
1697 struct quotactl_ops const *s_qcop ;
1698 struct export_operations const *s_export_op ;
1699 unsigned long s_flags ;
1700 unsigned long s_magic ;
1701 struct dentry *s_root ;
1702 struct rw_semaphore s_umount ;
1703 struct mutex s_lock ;
1704 int s_count ;
1705 atomic_t s_active ;
1706 void *s_security ;
1707 struct xattr_handler const **s_xattr ;
1708 struct list_head s_inodes ;
1709 struct hlist_bl_head s_anon ;
1710 struct list_head *s_files ;
1711 struct list_head s_mounts ;
1712 struct list_head s_dentry_lru ;
1713 int s_nr_dentry_unused ;
1714 spinlock_t s_inode_lru_lock ;
1715 struct list_head s_inode_lru ;
1716 int s_nr_inodes_unused ;
1717 struct block_device *s_bdev ;
1718 struct backing_dev_info *s_bdi ;
1719 struct mtd_info *s_mtd ;
1720 struct hlist_node s_instances ;
1721 struct quota_info s_dquot ;
1722 int s_frozen ;
1723 wait_queue_head_t s_wait_unfrozen ;
1724 char s_id[32U] ;
1725 u8 s_uuid[16U] ;
1726 void *s_fs_info ;
1727 unsigned int s_max_links ;
1728 fmode_t s_mode ;
1729 u32 s_time_gran ;
1730 struct mutex s_vfs_rename_mutex ;
1731 char *s_subtype ;
1732 char *s_options ;
1733 struct dentry_operations const *s_d_op ;
1734 int cleancache_poolid ;
1735 struct shrinker s_shrink ;
1736 atomic_long_t s_remove_count ;
1737 int s_readonly_remount ;
1738};
1739#line 1563 "include/linux/fs.h"
1740struct fiemap_extent_info {
1741 unsigned int fi_flags ;
1742 unsigned int fi_extents_mapped ;
1743 unsigned int fi_extents_max ;
1744 struct fiemap_extent *fi_extents_start ;
1745};
1746#line 1602 "include/linux/fs.h"
1747struct file_operations {
1748 struct module *owner ;
1749 loff_t (*llseek)(struct file * , loff_t , int ) ;
1750 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1751 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1752 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1753 loff_t ) ;
1754 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1755 loff_t ) ;
1756 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1757 loff_t , u64 , unsigned int ) ) ;
1758 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1759 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1760 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1761 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1762 int (*open)(struct inode * , struct file * ) ;
1763 int (*flush)(struct file * , fl_owner_t ) ;
1764 int (*release)(struct inode * , struct file * ) ;
1765 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1766 int (*aio_fsync)(struct kiocb * , int ) ;
1767 int (*fasync)(int , struct file * , int ) ;
1768 int (*lock)(struct file * , int , struct file_lock * ) ;
1769 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1770 int ) ;
1771 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1772 unsigned long , unsigned long ) ;
1773 int (*check_flags)(int ) ;
1774 int (*flock)(struct file * , int , struct file_lock * ) ;
1775 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1776 unsigned int ) ;
1777 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1778 unsigned int ) ;
1779 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1780 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1781};
1782#line 1637 "include/linux/fs.h"
1783struct inode_operations {
1784 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1785 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1786 int (*permission)(struct inode * , int ) ;
1787 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1788 int (*readlink)(struct dentry * , char * , int ) ;
1789 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1790 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1791 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1792 int (*unlink)(struct inode * , struct dentry * ) ;
1793 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1794 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1795 int (*rmdir)(struct inode * , struct dentry * ) ;
1796 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1797 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1798 void (*truncate)(struct inode * ) ;
1799 int (*setattr)(struct dentry * , struct iattr * ) ;
1800 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1801 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1802 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1803 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1804 int (*removexattr)(struct dentry * , char const * ) ;
1805 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1806 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1807};
1808#line 1682 "include/linux/fs.h"
1809struct super_operations {
1810 struct inode *(*alloc_inode)(struct super_block * ) ;
1811 void (*destroy_inode)(struct inode * ) ;
1812 void (*dirty_inode)(struct inode * , int ) ;
1813 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1814 int (*drop_inode)(struct inode * ) ;
1815 void (*evict_inode)(struct inode * ) ;
1816 void (*put_super)(struct super_block * ) ;
1817 void (*write_super)(struct super_block * ) ;
1818 int (*sync_fs)(struct super_block * , int ) ;
1819 int (*freeze_fs)(struct super_block * ) ;
1820 int (*unfreeze_fs)(struct super_block * ) ;
1821 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1822 int (*remount_fs)(struct super_block * , int * , char * ) ;
1823 void (*umount_begin)(struct super_block * ) ;
1824 int (*show_options)(struct seq_file * , struct dentry * ) ;
1825 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1826 int (*show_path)(struct seq_file * , struct dentry * ) ;
1827 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1828 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1829 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1830 loff_t ) ;
1831 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1832 int (*nr_cached_objects)(struct super_block * ) ;
1833 void (*free_cached_objects)(struct super_block * , int ) ;
1834};
1835#line 1834 "include/linux/fs.h"
1836struct file_system_type {
1837 char const *name ;
1838 int fs_flags ;
1839 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1840 void (*kill_sb)(struct super_block * ) ;
1841 struct module *owner ;
1842 struct file_system_type *next ;
1843 struct hlist_head fs_supers ;
1844 struct lock_class_key s_lock_key ;
1845 struct lock_class_key s_umount_key ;
1846 struct lock_class_key s_vfs_rename_key ;
1847 struct lock_class_key i_lock_key ;
1848 struct lock_class_key i_mutex_key ;
1849 struct lock_class_key i_mutex_dir_key ;
1850};
1851#line 69 "include/linux/io.h"
1852struct exception_table_entry {
1853 unsigned long insn ;
1854 unsigned long fixup ;
1855};
1856#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
1857void ldv_spin_lock(void) ;
1858#line 3
1859void ldv_spin_unlock(void) ;
1860#line 4
1861int ldv_spin_trylock(void) ;
1862#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1863__inline static void clear_bit(int nr , unsigned long volatile *addr )
1864{ long volatile *__cil_tmp3 ;
1865
1866 {
1867#line 105
1868 __cil_tmp3 = (long volatile *)addr;
1869#line 105
1870 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
1871#line 107
1872 return;
1873}
1874}
1875#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
1876__inline static int test_and_set_bit(int nr , unsigned long volatile *addr )
1877{ int oldbit ;
1878 long volatile *__cil_tmp4 ;
1879
1880 {
1881#line 199
1882 __cil_tmp4 = (long volatile *)addr;
1883#line 199
1884 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
1885 "+m" (*__cil_tmp4): "Ir" (nr): "memory");
1886#line 202
1887 return (oldbit);
1888}
1889}
1890#line 101 "include/linux/printk.h"
1891extern int printk(char const * , ...) ;
1892#line 192 "include/linux/kernel.h"
1893extern void might_fault(void) ;
1894#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1895extern struct pv_cpu_ops pv_cpu_ops ;
1896#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1897__inline static void slow_down_io(void)
1898{ unsigned long __cil_tmp1 ;
1899 void (*__cil_tmp2)(void) ;
1900
1901 {
1902 {
1903#line 351
1904 __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1905#line 351
1906 __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1907#line 351
1908 (*__cil_tmp2)();
1909 }
1910#line 352
1911 return;
1912}
1913}
1914#line 137 "include/linux/ioport.h"
1915extern struct resource ioport_resource ;
1916#line 181
1917extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
1918 char const * , int ) ;
1919#line 192
1920extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
1921#line 82 "include/linux/jiffies.h"
1922extern unsigned long volatile jiffies ;
1923#line 36 "include/linux/timer.h"
1924extern struct tvec_base boot_tvec_bases ;
1925#line 210
1926extern int del_timer(struct timer_list * ) ;
1927#line 211
1928extern int mod_timer(struct timer_list * , unsigned long ) ;
1929#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1930__inline static unsigned char inb(int port )
1931{ unsigned char value ;
1932
1933 {
1934#line 308
1935 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
1936#line 308
1937 return (value);
1938}
1939}
1940#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1941__inline static unsigned char inb_p(int port )
1942{ unsigned char value ;
1943 unsigned char tmp ;
1944
1945 {
1946 {
1947#line 308
1948 tmp = inb(port);
1949#line 308
1950 value = tmp;
1951#line 308
1952 slow_down_io();
1953 }
1954#line 308
1955 return (value);
1956}
1957}
1958#line 26 "include/linux/export.h"
1959extern struct module __this_module ;
1960#line 453 "include/linux/module.h"
1961extern void __module_get(struct module * ) ;
1962#line 220 "include/linux/slub_def.h"
1963extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
1964#line 223
1965void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1966#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
1967void ldv_check_alloc_flags(gfp_t flags ) ;
1968#line 12
1969void ldv_check_alloc_nonatomic(void) ;
1970#line 14
1971struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1972#line 61 "include/linux/miscdevice.h"
1973extern int misc_register(struct miscdevice * ) ;
1974#line 62
1975extern int misc_deregister(struct miscdevice * ) ;
1976#line 2402 "include/linux/fs.h"
1977extern loff_t no_llseek(struct file * , loff_t , int ) ;
1978#line 2407
1979extern int nonseekable_open(struct inode * , struct file * ) ;
1980#line 47 "include/linux/reboot.h"
1981extern int register_reboot_notifier(struct notifier_block * ) ;
1982#line 48
1983extern int unregister_reboot_notifier(struct notifier_block * ) ;
1984#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
1985extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
1986#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
1987__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
1988{ unsigned long tmp ;
1989
1990 {
1991 {
1992#line 65
1993 might_fault();
1994#line 67
1995 tmp = _copy_to_user(dst, src, size);
1996 }
1997#line 67
1998 return ((int )tmp);
1999}
2000}
2001#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2002static int wdt_stop = 69;
2003#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2004static int wdt_start = 1091;
2005#line 117 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2006static int timeout = 30;
2007#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2008static bool nowayout = (bool )1;
2009#line 130
2010static void wdt_timer_ping(unsigned long data ) ;
2011#line 131 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2012static struct timer_list timer =
2013#line 131
2014 {{(struct list_head *)0, (struct list_head *)1953723489}, 0UL, & boot_tvec_bases,
2015 & wdt_timer_ping, 0UL, -1, 0, (void *)0, {(char)0, (char)0, (char)0, (char)0,
2016 (char)0, (char)0, (char)0, (char)0,
2017 (char)0, (char)0, (char)0, (char)0,
2018 (char)0, (char)0, (char)0, (char)0},
2019 {(struct lock_class_key *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p:131",
2020 {(struct lock_class *)0, (struct lock_class *)0}, "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p:131",
2021 0, 0UL}};
2022#line 132 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2023static unsigned long next_heartbeat ;
2024#line 133 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2025static unsigned long wdt_is_open ;
2026#line 134 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2027static char wdt_expect_close ;
2028#line 140 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2029static void wdt_timer_ping(unsigned long data )
2030{ long __cil_tmp6 ;
2031 long __cil_tmp7 ;
2032 long __cil_tmp8 ;
2033 int *__cil_tmp9 ;
2034 int __cil_tmp10 ;
2035 unsigned long __cil_tmp11 ;
2036 unsigned long __cil_tmp12 ;
2037
2038 {
2039 {
2040#line 145
2041 __cil_tmp6 = (long )next_heartbeat;
2042#line 145
2043 __cil_tmp7 = (long )jiffies;
2044#line 145
2045 __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
2046#line 145
2047 if (__cil_tmp8 < 0L) {
2048 {
2049#line 147
2050 __cil_tmp9 = & wdt_start;
2051#line 147
2052 __cil_tmp10 = *__cil_tmp9;
2053#line 147
2054 inb_p(__cil_tmp10);
2055#line 149
2056 __cil_tmp11 = (unsigned long )jiffies;
2057#line 149
2058 __cil_tmp12 = __cil_tmp11 + 63UL;
2059#line 149
2060 mod_timer(& timer, __cil_tmp12);
2061 }
2062 } else {
2063 {
2064#line 151
2065 printk("<4>sbc60xxwdt: Heartbeat lost! Will not ping the watchdog\n");
2066 }
2067 }
2068 }
2069#line 152
2070 return;
2071}
2072}
2073#line 158 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2074static void wdt_startup(void)
2075{ unsigned long __cil_tmp1 ;
2076 int *__cil_tmp2 ;
2077 int __cil_tmp3 ;
2078 int __cil_tmp4 ;
2079 unsigned long __cil_tmp5 ;
2080 unsigned long __cil_tmp6 ;
2081 unsigned long __cil_tmp7 ;
2082
2083 {
2084 {
2085#line 160
2086 __cil_tmp1 = (unsigned long )jiffies;
2087#line 160
2088 __cil_tmp2 = & timeout;
2089#line 160
2090 __cil_tmp3 = *__cil_tmp2;
2091#line 160
2092 __cil_tmp4 = __cil_tmp3 * 250;
2093#line 160
2094 __cil_tmp5 = (unsigned long )__cil_tmp4;
2095#line 160
2096 next_heartbeat = __cil_tmp5 + __cil_tmp1;
2097#line 163
2098 __cil_tmp6 = (unsigned long )jiffies;
2099#line 163
2100 __cil_tmp7 = __cil_tmp6 + 63UL;
2101#line 163
2102 mod_timer(& timer, __cil_tmp7);
2103#line 164
2104 printk("<6>sbc60xxwdt: Watchdog timer is now enabled\n");
2105 }
2106#line 165
2107 return;
2108}
2109}
2110#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2111static void wdt_turnoff(void)
2112{ int *__cil_tmp1 ;
2113 int __cil_tmp2 ;
2114
2115 {
2116 {
2117#line 170
2118 del_timer(& timer);
2119#line 171
2120 __cil_tmp1 = & wdt_stop;
2121#line 171
2122 __cil_tmp2 = *__cil_tmp1;
2123#line 171
2124 inb_p(__cil_tmp2);
2125#line 172
2126 printk("<6>sbc60xxwdt: Watchdog timer is now disabled...\n");
2127 }
2128#line 173
2129 return;
2130}
2131}
2132#line 175 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2133static void wdt_keepalive(void)
2134{ unsigned long __cil_tmp1 ;
2135 int *__cil_tmp2 ;
2136 int __cil_tmp3 ;
2137 int __cil_tmp4 ;
2138 unsigned long __cil_tmp5 ;
2139
2140 {
2141#line 178
2142 __cil_tmp1 = (unsigned long )jiffies;
2143#line 178
2144 __cil_tmp2 = & timeout;
2145#line 178
2146 __cil_tmp3 = *__cil_tmp2;
2147#line 178
2148 __cil_tmp4 = __cil_tmp3 * 250;
2149#line 178
2150 __cil_tmp5 = (unsigned long )__cil_tmp4;
2151#line 178
2152 next_heartbeat = __cil_tmp5 + __cil_tmp1;
2153#line 179
2154 return;
2155}
2156}
2157#line 185 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2158static ssize_t fop_write(struct file *file , char const *buf , size_t count , loff_t *ppos )
2159{ size_t ofs ;
2160 char c ;
2161 int __ret_gu ;
2162 unsigned long __val_gu ;
2163 bool *__cil_tmp9 ;
2164 bool __cil_tmp10 ;
2165 signed char __cil_tmp11 ;
2166 int __cil_tmp12 ;
2167
2168 {
2169#line 189
2170 if (count != 0UL) {
2171 {
2172#line 190
2173 __cil_tmp9 = & nowayout;
2174#line 190
2175 __cil_tmp10 = *__cil_tmp9;
2176#line 190
2177 if (! __cil_tmp10) {
2178#line 195
2179 wdt_expect_close = (char)0;
2180#line 199
2181 ofs = 0UL;
2182#line 199
2183 goto ldv_18085;
2184 ldv_18084:
2185 {
2186#line 201
2187 might_fault();
2188 }
2189#line 201
2190 if (1 == 1) {
2191#line 201
2192 goto case_1;
2193 } else
2194#line 201
2195 if (1 == 2) {
2196#line 201
2197 goto case_2;
2198 } else
2199#line 201
2200 if (1 == 4) {
2201#line 201
2202 goto case_4;
2203 } else
2204#line 201
2205 if (1 == 8) {
2206#line 201
2207 goto case_8;
2208 } else {
2209 {
2210#line 201
2211 goto switch_default;
2212#line 201
2213 if (0) {
2214 case_1:
2215#line 201
2216 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2217#line 201
2218 goto ldv_18078;
2219 case_2:
2220#line 201
2221 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2222#line 201
2223 goto ldv_18078;
2224 case_4:
2225#line 201
2226 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2227#line 201
2228 goto ldv_18078;
2229 case_8:
2230#line 201
2231 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2232#line 201
2233 goto ldv_18078;
2234 switch_default:
2235#line 201
2236 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2237#line 201
2238 goto ldv_18078;
2239 } else {
2240 switch_break: ;
2241 }
2242 }
2243 }
2244 ldv_18078:
2245#line 201
2246 c = (char )__val_gu;
2247#line 201
2248 if (__ret_gu != 0) {
2249#line 202
2250 return (-14L);
2251 } else {
2252
2253 }
2254 {
2255#line 203
2256 __cil_tmp11 = (signed char )c;
2257#line 203
2258 __cil_tmp12 = (int )__cil_tmp11;
2259#line 203
2260 if (__cil_tmp12 == 86) {
2261#line 204
2262 wdt_expect_close = (char)42;
2263 } else {
2264
2265 }
2266 }
2267#line 199
2268 ofs = ofs + 1UL;
2269 ldv_18085: ;
2270#line 199
2271 if (ofs != count) {
2272#line 200
2273 goto ldv_18084;
2274 } else {
2275#line 202
2276 goto ldv_18086;
2277 }
2278 ldv_18086: ;
2279 } else {
2280
2281 }
2282 }
2283 {
2284#line 210
2285 wdt_keepalive();
2286 }
2287 } else {
2288
2289 }
2290#line 212
2291 return ((ssize_t )count);
2292}
2293}
2294#line 215 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2295static int fop_open(struct inode *inode , struct file *file )
2296{ int tmp ;
2297 int tmp___0 ;
2298 unsigned long volatile *__cil_tmp5 ;
2299 bool *__cil_tmp6 ;
2300 bool __cil_tmp7 ;
2301
2302 {
2303 {
2304#line 218
2305 __cil_tmp5 = (unsigned long volatile *)(& wdt_is_open);
2306#line 218
2307 tmp = test_and_set_bit(0, __cil_tmp5);
2308 }
2309#line 218
2310 if (tmp != 0) {
2311#line 219
2312 return (-16);
2313 } else {
2314
2315 }
2316 {
2317#line 221
2318 __cil_tmp6 = & nowayout;
2319#line 221
2320 __cil_tmp7 = *__cil_tmp6;
2321#line 221
2322 if ((int )__cil_tmp7) {
2323 {
2324#line 222
2325 __module_get(& __this_module);
2326 }
2327 } else {
2328
2329 }
2330 }
2331 {
2332#line 225
2333 wdt_startup();
2334#line 226
2335 tmp___0 = nonseekable_open(inode, file);
2336 }
2337#line 226
2338 return (tmp___0);
2339}
2340}
2341#line 229 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2342static int fop_close(struct inode *inode , struct file *file )
2343{ signed char __cil_tmp3 ;
2344 int __cil_tmp4 ;
2345 unsigned long volatile *__cil_tmp5 ;
2346
2347 {
2348 {
2349#line 231
2350 __cil_tmp3 = (signed char )wdt_expect_close;
2351#line 231
2352 __cil_tmp4 = (int )__cil_tmp3;
2353#line 231
2354 if (__cil_tmp4 == 42) {
2355 {
2356#line 232
2357 wdt_turnoff();
2358 }
2359 } else {
2360 {
2361#line 234
2362 del_timer(& timer);
2363#line 235
2364 printk("<2>sbc60xxwdt: device file closed unexpectedly. Will not stop the WDT!\n");
2365 }
2366 }
2367 }
2368 {
2369#line 237
2370 __cil_tmp5 = (unsigned long volatile *)(& wdt_is_open);
2371#line 237
2372 clear_bit(0, __cil_tmp5);
2373#line 238
2374 wdt_expect_close = (char)0;
2375 }
2376#line 239
2377 return (0);
2378}
2379}
2380#line 242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2381static long fop_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
2382{ void *argp ;
2383 int *p ;
2384 struct watchdog_info ident ;
2385 long tmp___0 ;
2386 int tmp___1 ;
2387 int __ret_pu ;
2388 int __pu_val ;
2389 int new_options ;
2390 int retval ;
2391 int __ret_gu ;
2392 unsigned long __val_gu ;
2393 int new_timeout ;
2394 int __ret_gu___0 ;
2395 unsigned long __val_gu___0 ;
2396 int __ret_pu___0 ;
2397 int __pu_val___0 ;
2398 struct watchdog_info *__cil_tmp21 ;
2399 unsigned long __cil_tmp22 ;
2400 unsigned long __cil_tmp23 ;
2401 unsigned long __cil_tmp24 ;
2402 unsigned long __cil_tmp25 ;
2403 unsigned long __cil_tmp26 ;
2404 unsigned long __cil_tmp27 ;
2405 unsigned long __cil_tmp28 ;
2406 unsigned long __cil_tmp29 ;
2407 unsigned long __cil_tmp30 ;
2408 unsigned long __cil_tmp31 ;
2409 unsigned long __cil_tmp32 ;
2410 unsigned long __cil_tmp33 ;
2411 unsigned long __cil_tmp34 ;
2412 unsigned long __cil_tmp35 ;
2413 unsigned long __cil_tmp36 ;
2414 unsigned long __cil_tmp37 ;
2415 unsigned long __cil_tmp38 ;
2416 unsigned long __cil_tmp39 ;
2417 unsigned long __cil_tmp40 ;
2418 unsigned long __cil_tmp41 ;
2419 unsigned long __cil_tmp42 ;
2420 unsigned long __cil_tmp43 ;
2421 unsigned long __cil_tmp44 ;
2422 unsigned long __cil_tmp45 ;
2423 unsigned long __cil_tmp46 ;
2424 void const *__cil_tmp47 ;
2425 int __cil_tmp48 ;
2426 int *__cil_tmp49 ;
2427 int *__cil_tmp50 ;
2428
2429 {
2430#line 244
2431 argp = (void *)arg;
2432#line 245
2433 p = (int *)argp;
2434#line 246
2435 __cil_tmp21 = & ident;
2436#line 246
2437 *((__u32 *)__cil_tmp21) = 33152U;
2438#line 246
2439 __cil_tmp22 = (unsigned long )(& ident) + 4;
2440#line 246
2441 *((__u32 *)__cil_tmp22) = 1U;
2442#line 246
2443 __cil_tmp23 = 0 * 1UL;
2444#line 246
2445 __cil_tmp24 = 8 + __cil_tmp23;
2446#line 246
2447 __cil_tmp25 = (unsigned long )(& ident) + __cil_tmp24;
2448#line 246
2449 *((__u8 *)__cil_tmp25) = (__u8 )'S';
2450#line 246
2451 __cil_tmp26 = 1 * 1UL;
2452#line 246
2453 __cil_tmp27 = 8 + __cil_tmp26;
2454#line 246
2455 __cil_tmp28 = (unsigned long )(& ident) + __cil_tmp27;
2456#line 246
2457 *((__u8 *)__cil_tmp28) = (__u8 )'B';
2458#line 246
2459 __cil_tmp29 = 2 * 1UL;
2460#line 246
2461 __cil_tmp30 = 8 + __cil_tmp29;
2462#line 246
2463 __cil_tmp31 = (unsigned long )(& ident) + __cil_tmp30;
2464#line 246
2465 *((__u8 *)__cil_tmp31) = (__u8 )'C';
2466#line 246
2467 __cil_tmp32 = 3 * 1UL;
2468#line 246
2469 __cil_tmp33 = 8 + __cil_tmp32;
2470#line 246
2471 __cil_tmp34 = (unsigned long )(& ident) + __cil_tmp33;
2472#line 246
2473 *((__u8 *)__cil_tmp34) = (__u8 )'6';
2474#line 246
2475 __cil_tmp35 = 4 * 1UL;
2476#line 246
2477 __cil_tmp36 = 8 + __cil_tmp35;
2478#line 246
2479 __cil_tmp37 = (unsigned long )(& ident) + __cil_tmp36;
2480#line 246
2481 *((__u8 *)__cil_tmp37) = (__u8 )'0';
2482#line 246
2483 __cil_tmp38 = 5 * 1UL;
2484#line 246
2485 __cil_tmp39 = 8 + __cil_tmp38;
2486#line 246
2487 __cil_tmp40 = (unsigned long )(& ident) + __cil_tmp39;
2488#line 246
2489 *((__u8 *)__cil_tmp40) = (__u8 )'x';
2490#line 246
2491 __cil_tmp41 = 6 * 1UL;
2492#line 246
2493 __cil_tmp42 = 8 + __cil_tmp41;
2494#line 246
2495 __cil_tmp43 = (unsigned long )(& ident) + __cil_tmp42;
2496#line 246
2497 *((__u8 *)__cil_tmp43) = (__u8 )'x';
2498#line 246
2499 __cil_tmp44 = 7 * 1UL;
2500#line 246
2501 __cil_tmp45 = 8 + __cil_tmp44;
2502#line 246
2503 __cil_tmp46 = (unsigned long )(& ident) + __cil_tmp45;
2504#line 246
2505 *((__u8 *)__cil_tmp46) = (__u8 )'\000';
2506#line 254
2507 if ((int )cmd == -2144839936) {
2508#line 254
2509 goto case_neg_2144839936;
2510 } else
2511#line 256
2512 if ((int )cmd == -2147199231) {
2513#line 256
2514 goto case_neg_2147199231;
2515 } else
2516#line 257
2517 if ((int )cmd == -2147199230) {
2518#line 257
2519 goto case_neg_2147199230;
2520 } else
2521#line 259
2522 if ((int )cmd == -2147199228) {
2523#line 259
2524 goto case_neg_2147199228;
2525 } else
2526#line 274
2527 if ((int )cmd == -2147199227) {
2528#line 274
2529 goto case_neg_2147199227;
2530 } else
2531#line 277
2532 if ((int )cmd == -1073457402) {
2533#line 277
2534 goto case_neg_1073457402;
2535 } else
2536#line 290
2537 if ((int )cmd == -2147199225) {
2538#line 290
2539 goto case_neg_2147199225;
2540 } else {
2541 {
2542#line 292
2543 goto switch_default___3;
2544#line 253
2545 if (0) {
2546 case_neg_2144839936:
2547 {
2548#line 255
2549 __cil_tmp47 = (void const *)(& ident);
2550#line 255
2551 tmp___1 = copy_to_user(argp, __cil_tmp47, 40U);
2552 }
2553#line 255
2554 if (tmp___1 != 0) {
2555#line 255
2556 tmp___0 = -14L;
2557 } else {
2558#line 255
2559 tmp___0 = 0L;
2560 }
2561#line 255
2562 return (tmp___0);
2563 case_neg_2147199231: ;
2564 case_neg_2147199230:
2565 {
2566#line 258
2567 might_fault();
2568#line 258
2569 __pu_val = 0;
2570 }
2571#line 258
2572 if (4 == 1) {
2573#line 258
2574 goto case_1;
2575 } else
2576#line 258
2577 if (4 == 2) {
2578#line 258
2579 goto case_2;
2580 } else
2581#line 258
2582 if (4 == 4) {
2583#line 258
2584 goto case_4;
2585 } else
2586#line 258
2587 if (4 == 8) {
2588#line 258
2589 goto case_8;
2590 } else {
2591 {
2592#line 258
2593 goto switch_default;
2594#line 258
2595 if (0) {
2596 case_1:
2597#line 258
2598 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
2599 "c" (p): "ebx");
2600#line 258
2601 goto ldv_18109;
2602 case_2:
2603#line 258
2604 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
2605 "c" (p): "ebx");
2606#line 258
2607 goto ldv_18109;
2608 case_4:
2609#line 258
2610 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
2611 "c" (p): "ebx");
2612#line 258
2613 goto ldv_18109;
2614 case_8:
2615#line 258
2616 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
2617 "c" (p): "ebx");
2618#line 258
2619 goto ldv_18109;
2620 switch_default:
2621#line 258
2622 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
2623 "c" (p): "ebx");
2624#line 258
2625 goto ldv_18109;
2626 } else {
2627 switch_break___0: ;
2628 }
2629 }
2630 }
2631 ldv_18109: ;
2632#line 258
2633 return ((long )__ret_pu);
2634 case_neg_2147199228:
2635 {
2636#line 261
2637 retval = -22;
2638#line 262
2639 might_fault();
2640 }
2641#line 262
2642 if (4 == 1) {
2643#line 262
2644 goto case_1___0;
2645 } else
2646#line 262
2647 if (4 == 2) {
2648#line 262
2649 goto case_2___0;
2650 } else
2651#line 262
2652 if (4 == 4) {
2653#line 262
2654 goto case_4___0;
2655 } else
2656#line 262
2657 if (4 == 8) {
2658#line 262
2659 goto case_8___0;
2660 } else {
2661 {
2662#line 262
2663 goto switch_default___0;
2664#line 262
2665 if (0) {
2666 case_1___0:
2667#line 262
2668 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2669#line 262
2670 goto ldv_18121;
2671 case_2___0:
2672#line 262
2673 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2674#line 262
2675 goto ldv_18121;
2676 case_4___0:
2677#line 262
2678 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2679#line 262
2680 goto ldv_18121;
2681 case_8___0:
2682#line 262
2683 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2684#line 262
2685 goto ldv_18121;
2686 switch_default___0:
2687#line 262
2688 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2689#line 262
2690 goto ldv_18121;
2691 } else {
2692 switch_break___1: ;
2693 }
2694 }
2695 }
2696 ldv_18121:
2697#line 262
2698 new_options = (int )__val_gu;
2699#line 262
2700 if (__ret_gu != 0) {
2701#line 263
2702 return (-14L);
2703 } else {
2704
2705 }
2706#line 264
2707 if (new_options & 1) {
2708 {
2709#line 265
2710 wdt_turnoff();
2711#line 266
2712 retval = 0;
2713 }
2714 } else {
2715
2716 }
2717 {
2718#line 268
2719 __cil_tmp48 = new_options & 2;
2720#line 268
2721 if (__cil_tmp48 != 0) {
2722 {
2723#line 269
2724 wdt_startup();
2725#line 270
2726 retval = 0;
2727 }
2728 } else {
2729
2730 }
2731 }
2732#line 272
2733 return ((long )retval);
2734 case_neg_2147199227:
2735 {
2736#line 275
2737 wdt_keepalive();
2738 }
2739#line 276
2740 return (0L);
2741 case_neg_1073457402:
2742 {
2743#line 280
2744 might_fault();
2745 }
2746#line 280
2747 if (4 == 1) {
2748#line 280
2749 goto case_1___1;
2750 } else
2751#line 280
2752 if (4 == 2) {
2753#line 280
2754 goto case_2___1;
2755 } else
2756#line 280
2757 if (4 == 4) {
2758#line 280
2759 goto case_4___1;
2760 } else
2761#line 280
2762 if (4 == 8) {
2763#line 280
2764 goto case_8___1;
2765 } else {
2766 {
2767#line 280
2768 goto switch_default___1;
2769#line 280
2770 if (0) {
2771 case_1___1:
2772#line 280
2773 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2774#line 280
2775 goto ldv_18133;
2776 case_2___1:
2777#line 280
2778 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2779#line 280
2780 goto ldv_18133;
2781 case_4___1:
2782#line 280
2783 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2784#line 280
2785 goto ldv_18133;
2786 case_8___1:
2787#line 280
2788 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2789#line 280
2790 goto ldv_18133;
2791 switch_default___1:
2792#line 280
2793 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2794#line 280
2795 goto ldv_18133;
2796 } else {
2797 switch_break___2: ;
2798 }
2799 }
2800 }
2801 ldv_18133:
2802#line 280
2803 new_timeout = (int )__val_gu___0;
2804#line 280
2805 if (__ret_gu___0 != 0) {
2806#line 281
2807 return (-14L);
2808 } else {
2809
2810 }
2811#line 283
2812 if (new_timeout <= 0) {
2813#line 284
2814 return (-22L);
2815 } else
2816#line 283
2817 if (new_timeout > 3600) {
2818#line 284
2819 return (-22L);
2820 } else {
2821
2822 }
2823 {
2824#line 286
2825 __cil_tmp49 = & timeout;
2826#line 286
2827 *__cil_tmp49 = new_timeout;
2828#line 287
2829 wdt_keepalive();
2830 }
2831 case_neg_2147199225:
2832 {
2833#line 291
2834 might_fault();
2835#line 291
2836 __cil_tmp50 = & timeout;
2837#line 291
2838 __pu_val___0 = *__cil_tmp50;
2839 }
2840#line 291
2841 if (4 == 1) {
2842#line 291
2843 goto case_1___2;
2844 } else
2845#line 291
2846 if (4 == 2) {
2847#line 291
2848 goto case_2___2;
2849 } else
2850#line 291
2851 if (4 == 4) {
2852#line 291
2853 goto case_4___2;
2854 } else
2855#line 291
2856 if (4 == 8) {
2857#line 291
2858 goto case_8___2;
2859 } else {
2860 {
2861#line 291
2862 goto switch_default___2;
2863#line 291
2864 if (0) {
2865 case_1___2:
2866#line 291
2867 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
2868 "c" (p): "ebx");
2869#line 291
2870 goto ldv_18143;
2871 case_2___2:
2872#line 291
2873 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
2874 "c" (p): "ebx");
2875#line 291
2876 goto ldv_18143;
2877 case_4___2:
2878#line 291
2879 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
2880 "c" (p): "ebx");
2881#line 291
2882 goto ldv_18143;
2883 case_8___2:
2884#line 291
2885 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
2886 "c" (p): "ebx");
2887#line 291
2888 goto ldv_18143;
2889 switch_default___2:
2890#line 291
2891 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
2892 "c" (p): "ebx");
2893#line 291
2894 goto ldv_18143;
2895 } else {
2896 switch_break___3: ;
2897 }
2898 }
2899 }
2900 ldv_18143: ;
2901#line 291
2902 return ((long )__ret_pu___0);
2903 switch_default___3: ;
2904#line 293
2905 return (-25L);
2906 } else {
2907 switch_break: ;
2908 }
2909 }
2910 }
2911}
2912}
2913#line 297 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2914static struct file_operations const wdt_fops =
2915#line 297
2916 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
2917 loff_t * ))0, & fop_write, (ssize_t (*)(struct kiocb * ,
2918 struct iovec const * ,
2919 unsigned long ,
2920 loff_t ))0,
2921 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
2922 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
2923 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
2924 struct poll_table_struct * ))0,
2925 & fop_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0, (int (*)(struct file * ,
2926 struct vm_area_struct * ))0,
2927 & fop_open, (int (*)(struct file * , fl_owner_t ))0, & fop_close, (int (*)(struct file * ,
2928 loff_t ,
2929 loff_t ,
2930 int ))0,
2931 (int (*)(struct kiocb * , int ))0, (int (*)(int , struct file * , int ))0,
2932 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
2933 struct page * ,
2934 int , size_t ,
2935 loff_t * ,
2936 int ))0,
2937 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
2938 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
2939 int , struct file_lock * ))0,
2940 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
2941 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
2942 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
2943 int , loff_t ,
2944 loff_t ))0};
2945#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2946static struct miscdevice wdt_miscdev =
2947#line 306
2948 {130, "watchdog", & wdt_fops, {(struct list_head *)0, (struct list_head *)0}, (struct device *)0,
2949 (struct device *)0, (char const *)0, (unsigned short)0};
2950#line 316 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2951static int wdt_notify_sys(struct notifier_block *this , unsigned long code , void *unused )
2952{
2953
2954 {
2955#line 319
2956 if (code == 1UL) {
2957 {
2958#line 320
2959 wdt_turnoff();
2960 }
2961 } else
2962#line 319
2963 if (code == 2UL) {
2964 {
2965#line 320
2966 wdt_turnoff();
2967 }
2968 } else {
2969
2970 }
2971#line 321
2972 return (0);
2973}
2974}
2975#line 329 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2976static struct notifier_block wdt_notifier = {& wdt_notify_sys, (struct notifier_block *)0, 0};
2977#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
2978static void sbc60xxwdt_unload(void)
2979{ int *__cil_tmp1 ;
2980 int __cil_tmp2 ;
2981 int *__cil_tmp3 ;
2982 int __cil_tmp4 ;
2983 int *__cil_tmp5 ;
2984 int __cil_tmp6 ;
2985 int *__cil_tmp7 ;
2986 int __cil_tmp8 ;
2987 resource_size_t __cil_tmp9 ;
2988 int *__cil_tmp10 ;
2989 int __cil_tmp11 ;
2990 resource_size_t __cil_tmp12 ;
2991
2992 {
2993 {
2994#line 335
2995 wdt_turnoff();
2996#line 338
2997 misc_deregister(& wdt_miscdev);
2998#line 340
2999 unregister_reboot_notifier(& wdt_notifier);
3000 }
3001 {
3002#line 341
3003 __cil_tmp1 = & wdt_stop;
3004#line 341
3005 __cil_tmp2 = *__cil_tmp1;
3006#line 341
3007 if (__cil_tmp2 != 69) {
3008 {
3009#line 341
3010 __cil_tmp3 = & wdt_start;
3011#line 341
3012 __cil_tmp4 = *__cil_tmp3;
3013#line 341
3014 __cil_tmp5 = & wdt_stop;
3015#line 341
3016 __cil_tmp6 = *__cil_tmp5;
3017#line 341
3018 if (__cil_tmp6 != __cil_tmp4) {
3019 {
3020#line 342
3021 __cil_tmp7 = & wdt_stop;
3022#line 342
3023 __cil_tmp8 = *__cil_tmp7;
3024#line 342
3025 __cil_tmp9 = (resource_size_t )__cil_tmp8;
3026#line 342
3027 __release_region(& ioport_resource, __cil_tmp9, 1ULL);
3028 }
3029 } else {
3030
3031 }
3032 }
3033 } else {
3034
3035 }
3036 }
3037 {
3038#line 343
3039 __cil_tmp10 = & wdt_start;
3040#line 343
3041 __cil_tmp11 = *__cil_tmp10;
3042#line 343
3043 __cil_tmp12 = (resource_size_t )__cil_tmp11;
3044#line 343
3045 __release_region(& ioport_resource, __cil_tmp12, 1ULL);
3046 }
3047#line 344
3048 return;
3049}
3050}
3051#line 346 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3052static int sbc60xxwdt_init(void)
3053{ int rc ;
3054 struct resource *tmp ;
3055 struct resource *tmp___0 ;
3056 int *__cil_tmp4 ;
3057 int __cil_tmp5 ;
3058 int *__cil_tmp6 ;
3059 int *__cil_tmp7 ;
3060 int __cil_tmp8 ;
3061 int *__cil_tmp9 ;
3062 int __cil_tmp10 ;
3063 int *__cil_tmp11 ;
3064 int *__cil_tmp12 ;
3065 int __cil_tmp13 ;
3066 int *__cil_tmp14 ;
3067 int __cil_tmp15 ;
3068 resource_size_t __cil_tmp16 ;
3069 struct resource *__cil_tmp17 ;
3070 unsigned long __cil_tmp18 ;
3071 unsigned long __cil_tmp19 ;
3072 int *__cil_tmp20 ;
3073 int __cil_tmp21 ;
3074 int *__cil_tmp22 ;
3075 int __cil_tmp23 ;
3076 int *__cil_tmp24 ;
3077 int __cil_tmp25 ;
3078 int *__cil_tmp26 ;
3079 int __cil_tmp27 ;
3080 int *__cil_tmp28 ;
3081 int __cil_tmp29 ;
3082 resource_size_t __cil_tmp30 ;
3083 struct resource *__cil_tmp31 ;
3084 unsigned long __cil_tmp32 ;
3085 unsigned long __cil_tmp33 ;
3086 int *__cil_tmp34 ;
3087 int __cil_tmp35 ;
3088 struct miscdevice *__cil_tmp36 ;
3089 int __cil_tmp37 ;
3090 int *__cil_tmp38 ;
3091 int __cil_tmp39 ;
3092 bool *__cil_tmp40 ;
3093 bool __cil_tmp41 ;
3094 int __cil_tmp42 ;
3095 int *__cil_tmp43 ;
3096 int __cil_tmp44 ;
3097 int *__cil_tmp45 ;
3098 int __cil_tmp46 ;
3099 int *__cil_tmp47 ;
3100 int __cil_tmp48 ;
3101 int *__cil_tmp49 ;
3102 int __cil_tmp50 ;
3103 resource_size_t __cil_tmp51 ;
3104 int *__cil_tmp52 ;
3105 int __cil_tmp53 ;
3106 resource_size_t __cil_tmp54 ;
3107
3108 {
3109#line 348
3110 rc = -16;
3111 {
3112#line 350
3113 __cil_tmp4 = & timeout;
3114#line 350
3115 __cil_tmp5 = *__cil_tmp4;
3116#line 350
3117 if (__cil_tmp5 <= 0) {
3118 {
3119#line 351
3120 __cil_tmp6 = & timeout;
3121#line 351
3122 *__cil_tmp6 = 30;
3123#line 352
3124 __cil_tmp7 = & timeout;
3125#line 352
3126 __cil_tmp8 = *__cil_tmp7;
3127#line 352
3128 printk("<6>sbc60xxwdt: timeout value must be 1 <= x <= 3600, using %d\n", __cil_tmp8);
3129 }
3130 } else {
3131 {
3132#line 350
3133 __cil_tmp9 = & timeout;
3134#line 350
3135 __cil_tmp10 = *__cil_tmp9;
3136#line 350
3137 if (__cil_tmp10 > 3600) {
3138 {
3139#line 351
3140 __cil_tmp11 = & timeout;
3141#line 351
3142 *__cil_tmp11 = 30;
3143#line 352
3144 __cil_tmp12 = & timeout;
3145#line 352
3146 __cil_tmp13 = *__cil_tmp12;
3147#line 352
3148 printk("<6>sbc60xxwdt: timeout value must be 1 <= x <= 3600, using %d\n", __cil_tmp13);
3149 }
3150 } else {
3151
3152 }
3153 }
3154 }
3155 }
3156 {
3157#line 356
3158 __cil_tmp14 = & wdt_start;
3159#line 356
3160 __cil_tmp15 = *__cil_tmp14;
3161#line 356
3162 __cil_tmp16 = (resource_size_t )__cil_tmp15;
3163#line 356
3164 tmp = __request_region(& ioport_resource, __cil_tmp16, 1ULL, "SBC 60XX WDT", 0);
3165 }
3166 {
3167#line 356
3168 __cil_tmp17 = (struct resource *)0;
3169#line 356
3170 __cil_tmp18 = (unsigned long )__cil_tmp17;
3171#line 356
3172 __cil_tmp19 = (unsigned long )tmp;
3173#line 356
3174 if (__cil_tmp19 == __cil_tmp18) {
3175 {
3176#line 357
3177 __cil_tmp20 = & wdt_start;
3178#line 357
3179 __cil_tmp21 = *__cil_tmp20;
3180#line 357
3181 printk("<3>sbc60xxwdt: I/O address 0x%04x already in use\n", __cil_tmp21);
3182#line 358
3183 rc = -5;
3184 }
3185#line 359
3186 goto err_out;
3187 } else {
3188
3189 }
3190 }
3191 {
3192#line 363
3193 __cil_tmp22 = & wdt_stop;
3194#line 363
3195 __cil_tmp23 = *__cil_tmp22;
3196#line 363
3197 if (__cil_tmp23 != 69) {
3198 {
3199#line 363
3200 __cil_tmp24 = & wdt_start;
3201#line 363
3202 __cil_tmp25 = *__cil_tmp24;
3203#line 363
3204 __cil_tmp26 = & wdt_stop;
3205#line 363
3206 __cil_tmp27 = *__cil_tmp26;
3207#line 363
3208 if (__cil_tmp27 != __cil_tmp25) {
3209 {
3210#line 364
3211 __cil_tmp28 = & wdt_stop;
3212#line 364
3213 __cil_tmp29 = *__cil_tmp28;
3214#line 364
3215 __cil_tmp30 = (resource_size_t )__cil_tmp29;
3216#line 364
3217 tmp___0 = __request_region(& ioport_resource, __cil_tmp30, 1ULL, "SBC 60XX WDT",
3218 0);
3219 }
3220 {
3221#line 364
3222 __cil_tmp31 = (struct resource *)0;
3223#line 364
3224 __cil_tmp32 = (unsigned long )__cil_tmp31;
3225#line 364
3226 __cil_tmp33 = (unsigned long )tmp___0;
3227#line 364
3228 if (__cil_tmp33 == __cil_tmp32) {
3229 {
3230#line 365
3231 __cil_tmp34 = & wdt_stop;
3232#line 365
3233 __cil_tmp35 = *__cil_tmp34;
3234#line 365
3235 printk("<3>sbc60xxwdt: I/O address 0x%04x already in use\n", __cil_tmp35);
3236#line 366
3237 rc = -5;
3238 }
3239#line 367
3240 goto err_out_region1;
3241 } else {
3242
3243 }
3244 }
3245 } else {
3246
3247 }
3248 }
3249 } else {
3250
3251 }
3252 }
3253 {
3254#line 371
3255 rc = register_reboot_notifier(& wdt_notifier);
3256 }
3257#line 372
3258 if (rc != 0) {
3259 {
3260#line 373
3261 printk("<3>sbc60xxwdt: cannot register reboot notifier (err=%d)\n", rc);
3262 }
3263#line 374
3264 goto err_out_region2;
3265 } else {
3266
3267 }
3268 {
3269#line 377
3270 rc = misc_register(& wdt_miscdev);
3271 }
3272#line 378
3273 if (rc != 0) {
3274 {
3275#line 379
3276 __cil_tmp36 = & wdt_miscdev;
3277#line 379
3278 __cil_tmp37 = *((int *)__cil_tmp36);
3279#line 379
3280 printk("<3>sbc60xxwdt: cannot register miscdev on minor=%d (err=%d)\n", __cil_tmp37,
3281 rc);
3282 }
3283#line 381
3284 goto err_out_reboot;
3285 } else {
3286
3287 }
3288 {
3289#line 383
3290 __cil_tmp38 = & timeout;
3291#line 383
3292 __cil_tmp39 = *__cil_tmp38;
3293#line 383
3294 __cil_tmp40 = & nowayout;
3295#line 383
3296 __cil_tmp41 = *__cil_tmp40;
3297#line 383
3298 __cil_tmp42 = (int )__cil_tmp41;
3299#line 383
3300 printk("<6>sbc60xxwdt: WDT driver for 60XX single board computer initialised. timeout=%d sec (nowayout=%d)\n",
3301 __cil_tmp39, __cil_tmp42);
3302 }
3303#line 386
3304 return (0);
3305 err_out_reboot:
3306 {
3307#line 389
3308 unregister_reboot_notifier(& wdt_notifier);
3309 }
3310 err_out_region2: ;
3311 {
3312#line 391
3313 __cil_tmp43 = & wdt_stop;
3314#line 391
3315 __cil_tmp44 = *__cil_tmp43;
3316#line 391
3317 if (__cil_tmp44 != 69) {
3318 {
3319#line 391
3320 __cil_tmp45 = & wdt_start;
3321#line 391
3322 __cil_tmp46 = *__cil_tmp45;
3323#line 391
3324 __cil_tmp47 = & wdt_stop;
3325#line 391
3326 __cil_tmp48 = *__cil_tmp47;
3327#line 391
3328 if (__cil_tmp48 != __cil_tmp46) {
3329 {
3330#line 392
3331 __cil_tmp49 = & wdt_stop;
3332#line 392
3333 __cil_tmp50 = *__cil_tmp49;
3334#line 392
3335 __cil_tmp51 = (resource_size_t )__cil_tmp50;
3336#line 392
3337 __release_region(& ioport_resource, __cil_tmp51, 1ULL);
3338 }
3339 } else {
3340
3341 }
3342 }
3343 } else {
3344
3345 }
3346 }
3347 err_out_region1:
3348 {
3349#line 394
3350 __cil_tmp52 = & wdt_start;
3351#line 394
3352 __cil_tmp53 = *__cil_tmp52;
3353#line 394
3354 __cil_tmp54 = (resource_size_t )__cil_tmp53;
3355#line 394
3356 __release_region(& ioport_resource, __cil_tmp54, 1ULL);
3357 }
3358 err_out: ;
3359#line 396
3360 return (rc);
3361}
3362}
3363#line 423
3364extern void ldv_check_final_state(void) ;
3365#line 426
3366extern void ldv_check_return_value(int ) ;
3367#line 429
3368extern void ldv_initialize(void) ;
3369#line 432
3370extern int __VERIFIER_nondet_int(void) ;
3371#line 435 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3372int LDV_IN_INTERRUPT ;
3373#line 438 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3374void main(void)
3375{ struct file *var_group1 ;
3376 char const *var_fop_write_4_p1 ;
3377 size_t var_fop_write_4_p2 ;
3378 loff_t *var_fop_write_4_p3 ;
3379 ssize_t res_fop_write_4 ;
3380 struct inode *var_group2 ;
3381 int res_fop_open_5 ;
3382 unsigned int var_fop_ioctl_7_p1 ;
3383 unsigned long var_fop_ioctl_7_p2 ;
3384 struct notifier_block *var_group3 ;
3385 unsigned long var_wdt_notify_sys_8_p1 ;
3386 void *var_wdt_notify_sys_8_p2 ;
3387 int ldv_s_wdt_fops_file_operations ;
3388 int tmp ;
3389 int tmp___0 ;
3390 int tmp___1 ;
3391 int __cil_tmp17 ;
3392
3393 {
3394 {
3395#line 541
3396 ldv_s_wdt_fops_file_operations = 0;
3397#line 518
3398 LDV_IN_INTERRUPT = 1;
3399#line 527
3400 ldv_initialize();
3401#line 539
3402 tmp = sbc60xxwdt_init();
3403 }
3404#line 539
3405 if (tmp != 0) {
3406#line 540
3407 goto ldv_final;
3408 } else {
3409
3410 }
3411#line 547
3412 goto ldv_18218;
3413 ldv_18217:
3414 {
3415#line 551
3416 tmp___0 = __VERIFIER_nondet_int();
3417 }
3418#line 553
3419 if (tmp___0 == 0) {
3420#line 553
3421 goto case_0;
3422 } else
3423#line 578
3424 if (tmp___0 == 1) {
3425#line 578
3426 goto case_1;
3427 } else
3428#line 603
3429 if (tmp___0 == 2) {
3430#line 603
3431 goto case_2;
3432 } else
3433#line 625
3434 if (tmp___0 == 3) {
3435#line 625
3436 goto case_3;
3437 } else
3438#line 647
3439 if (tmp___0 == 4) {
3440#line 647
3441 goto case_4;
3442 } else {
3443 {
3444#line 669
3445 goto switch_default;
3446#line 551
3447 if (0) {
3448 case_0: ;
3449#line 556
3450 if (ldv_s_wdt_fops_file_operations == 0) {
3451 {
3452#line 567
3453 res_fop_open_5 = fop_open(var_group2, var_group1);
3454#line 568
3455 ldv_check_return_value(res_fop_open_5);
3456 }
3457#line 569
3458 if (res_fop_open_5 != 0) {
3459#line 570
3460 goto ldv_module_exit;
3461 } else {
3462
3463 }
3464#line 571
3465 ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3466 } else {
3467
3468 }
3469#line 577
3470 goto ldv_18211;
3471 case_1: ;
3472#line 581
3473 if (ldv_s_wdt_fops_file_operations == 1) {
3474 {
3475#line 592
3476 res_fop_write_4 = fop_write(var_group1, var_fop_write_4_p1, var_fop_write_4_p2,
3477 var_fop_write_4_p3);
3478#line 593
3479 __cil_tmp17 = (int )res_fop_write_4;
3480#line 593
3481 ldv_check_return_value(__cil_tmp17);
3482 }
3483#line 594
3484 if (res_fop_write_4 < 0L) {
3485#line 595
3486 goto ldv_module_exit;
3487 } else {
3488
3489 }
3490#line 596
3491 ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3492 } else {
3493
3494 }
3495#line 602
3496 goto ldv_18211;
3497 case_2: ;
3498#line 606
3499 if (ldv_s_wdt_fops_file_operations == 2) {
3500 {
3501#line 617
3502 fop_close(var_group2, var_group1);
3503#line 618
3504 ldv_s_wdt_fops_file_operations = 0;
3505 }
3506 } else {
3507
3508 }
3509#line 624
3510 goto ldv_18211;
3511 case_3:
3512 {
3513#line 639
3514 fop_ioctl(var_group1, var_fop_ioctl_7_p1, var_fop_ioctl_7_p2);
3515 }
3516#line 646
3517 goto ldv_18211;
3518 case_4:
3519 {
3520#line 661
3521 wdt_notify_sys(var_group3, var_wdt_notify_sys_8_p1, var_wdt_notify_sys_8_p2);
3522 }
3523#line 668
3524 goto ldv_18211;
3525 switch_default: ;
3526#line 669
3527 goto ldv_18211;
3528 } else {
3529 switch_break: ;
3530 }
3531 }
3532 }
3533 ldv_18211: ;
3534 ldv_18218:
3535 {
3536#line 547
3537 tmp___1 = __VERIFIER_nondet_int();
3538 }
3539#line 547
3540 if (tmp___1 != 0) {
3541#line 549
3542 goto ldv_18217;
3543 } else
3544#line 547
3545 if (ldv_s_wdt_fops_file_operations != 0) {
3546#line 549
3547 goto ldv_18217;
3548 } else {
3549#line 551
3550 goto ldv_18219;
3551 }
3552 ldv_18219: ;
3553 ldv_module_exit:
3554 {
3555#line 687
3556 sbc60xxwdt_unload();
3557 }
3558 ldv_final:
3559 {
3560#line 690
3561 ldv_check_final_state();
3562 }
3563#line 693
3564 return;
3565}
3566}
3567#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3568void ldv_blast_assert(void)
3569{
3570
3571 {
3572 ERROR: ;
3573#line 6
3574 goto ERROR;
3575}
3576}
3577#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3578extern int __VERIFIER_nondet_int(void) ;
3579#line 714 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3580int ldv_spin = 0;
3581#line 718 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3582void ldv_check_alloc_flags(gfp_t flags )
3583{
3584
3585 {
3586#line 721
3587 if (ldv_spin != 0) {
3588#line 721
3589 if (flags != 32U) {
3590 {
3591#line 721
3592 ldv_blast_assert();
3593 }
3594 } else {
3595
3596 }
3597 } else {
3598
3599 }
3600#line 724
3601 return;
3602}
3603}
3604#line 724
3605extern struct page *ldv_some_page(void) ;
3606#line 727 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3607struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3608{ struct page *tmp ;
3609
3610 {
3611#line 730
3612 if (ldv_spin != 0) {
3613#line 730
3614 if (flags != 32U) {
3615 {
3616#line 730
3617 ldv_blast_assert();
3618 }
3619 } else {
3620
3621 }
3622 } else {
3623
3624 }
3625 {
3626#line 732
3627 tmp = ldv_some_page();
3628 }
3629#line 732
3630 return (tmp);
3631}
3632}
3633#line 736 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3634void ldv_check_alloc_nonatomic(void)
3635{
3636
3637 {
3638#line 739
3639 if (ldv_spin != 0) {
3640 {
3641#line 739
3642 ldv_blast_assert();
3643 }
3644 } else {
3645
3646 }
3647#line 742
3648 return;
3649}
3650}
3651#line 743 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3652void ldv_spin_lock(void)
3653{
3654
3655 {
3656#line 746
3657 ldv_spin = 1;
3658#line 747
3659 return;
3660}
3661}
3662#line 750 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3663void ldv_spin_unlock(void)
3664{
3665
3666 {
3667#line 753
3668 ldv_spin = 0;
3669#line 754
3670 return;
3671}
3672}
3673#line 757 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3674int ldv_spin_trylock(void)
3675{ int is_lock ;
3676
3677 {
3678 {
3679#line 762
3680 is_lock = __VERIFIER_nondet_int();
3681 }
3682#line 764
3683 if (is_lock != 0) {
3684#line 767
3685 return (0);
3686 } else {
3687#line 772
3688 ldv_spin = 1;
3689#line 774
3690 return (1);
3691 }
3692}
3693}
3694#line 941 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17356/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/sbc60xxwdt.c.p"
3695void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3696{
3697
3698 {
3699 {
3700#line 947
3701 ldv_check_alloc_flags(ldv_func_arg2);
3702#line 949
3703 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3704 }
3705#line 950
3706 return ((void *)0);
3707}
3708}