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/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.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/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.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/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.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 22 "include/linux/spinlock_api_smp.h"
1915extern void _raw_spin_lock(raw_spinlock_t * ) ;
1916#line 39
1917extern void _raw_spin_unlock(raw_spinlock_t * ) ;
1918#line 43
1919extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ;
1920#line 283 "include/linux/spinlock.h"
1921__inline static void ldv_spin_lock_1(spinlock_t *lock )
1922{ struct raw_spinlock *__cil_tmp2 ;
1923
1924 {
1925 {
1926#line 285
1927 __cil_tmp2 = (struct raw_spinlock *)lock;
1928#line 285
1929 _raw_spin_lock(__cil_tmp2);
1930 }
1931#line 286
1932 return;
1933}
1934}
1935#line 283
1936__inline static void spin_lock(spinlock_t *lock ) ;
1937#line 323 "include/linux/spinlock.h"
1938__inline static void ldv_spin_unlock_5(spinlock_t *lock )
1939{ struct raw_spinlock *__cil_tmp2 ;
1940
1941 {
1942 {
1943#line 325
1944 __cil_tmp2 = (struct raw_spinlock *)lock;
1945#line 325
1946 _raw_spin_unlock(__cil_tmp2);
1947 }
1948#line 326
1949 return;
1950}
1951}
1952#line 323
1953__inline static void spin_unlock(spinlock_t *lock ) ;
1954#line 350 "include/linux/spinlock.h"
1955__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags )
1956{ struct raw_spinlock *__cil_tmp5 ;
1957
1958 {
1959 {
1960#line 352
1961 __cil_tmp5 = (struct raw_spinlock *)lock;
1962#line 352
1963 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
1964 }
1965#line 353
1966 return;
1967}
1968}
1969#line 350
1970__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
1971#line 137 "include/linux/ioport.h"
1972extern struct resource ioport_resource ;
1973#line 181
1974extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
1975 char const * , int ) ;
1976#line 192
1977extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
1978#line 82 "include/linux/jiffies.h"
1979extern unsigned long volatile jiffies ;
1980#line 36 "include/linux/timer.h"
1981extern struct tvec_base boot_tvec_bases ;
1982#line 210
1983extern int del_timer(struct timer_list * ) ;
1984#line 211
1985extern int mod_timer(struct timer_list * , unsigned long ) ;
1986#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1987__inline static void outb(unsigned char value , int port )
1988{
1989
1990 {
1991#line 308
1992 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
1993#line 309
1994 return;
1995}
1996}
1997#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1998__inline static unsigned char inb(int port )
1999{ unsigned char value ;
2000
2001 {
2002#line 308
2003 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
2004#line 308
2005 return (value);
2006}
2007}
2008#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2009__inline static void outb_p(unsigned char value , int port )
2010{ int __cil_tmp3 ;
2011 unsigned char __cil_tmp4 ;
2012
2013 {
2014 {
2015#line 308
2016 __cil_tmp3 = (int )value;
2017#line 308
2018 __cil_tmp4 = (unsigned char )__cil_tmp3;
2019#line 308
2020 outb(__cil_tmp4, port);
2021#line 308
2022 slow_down_io();
2023 }
2024#line 309
2025 return;
2026}
2027}
2028#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2029__inline static unsigned char inb_p(int port )
2030{ unsigned char value ;
2031 unsigned char tmp ;
2032
2033 {
2034 {
2035#line 308
2036 tmp = inb(port);
2037#line 308
2038 value = tmp;
2039#line 308
2040 slow_down_io();
2041 }
2042#line 308
2043 return (value);
2044}
2045}
2046#line 26 "include/linux/export.h"
2047extern struct module __this_module ;
2048#line 220 "include/linux/slub_def.h"
2049extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2050#line 223
2051void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2052#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2053void ldv_check_alloc_flags(gfp_t flags ) ;
2054#line 12
2055void ldv_check_alloc_nonatomic(void) ;
2056#line 14
2057struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2058#line 61 "include/linux/miscdevice.h"
2059extern int misc_register(struct miscdevice * ) ;
2060#line 62
2061extern int misc_deregister(struct miscdevice * ) ;
2062#line 2402 "include/linux/fs.h"
2063extern loff_t no_llseek(struct file * , loff_t , int ) ;
2064#line 2407
2065extern int nonseekable_open(struct inode * , struct file * ) ;
2066#line 47 "include/linux/reboot.h"
2067extern int register_reboot_notifier(struct notifier_block * ) ;
2068#line 48
2069extern int unregister_reboot_notifier(struct notifier_block * ) ;
2070#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2071extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
2072#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2073__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
2074{ unsigned long tmp ;
2075
2076 {
2077 {
2078#line 65
2079 might_fault();
2080#line 67
2081 tmp = _copy_to_user(dst, src, size);
2082 }
2083#line 67
2084 return ((int )tmp);
2085}
2086}
2087#line 102 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2088static int timeout = 30;
2089#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2090static bool nowayout = (bool )1;
2091#line 115
2092static void wdt_timer_ping(unsigned long data ) ;
2093#line 116 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2094static struct timer_list timer =
2095#line 116
2096 {{(struct list_head *)0, (struct list_head *)1953723489}, 0UL, & boot_tvec_bases,
2097 & wdt_timer_ping, 0UL, -1, 0, (void *)0, {(char)0, (char)0, (char)0, (char)0,
2098 (char)0, (char)0, (char)0, (char)0,
2099 (char)0, (char)0, (char)0, (char)0,
2100 (char)0, (char)0, (char)0, (char)0},
2101 {(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/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p:116",
2102 {(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/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p:116",
2103 0, 0UL}};
2104#line 117 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2105static unsigned long next_heartbeat ;
2106#line 118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2107static unsigned long wdt_is_open ;
2108#line 119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2109static char wdt_expect_close ;
2110#line 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2111static spinlock_t wdt_spinlock = {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2112 {(struct lock_class *)0,
2113 (struct lock_class *)0},
2114 "wdt_spinlock",
2115 0, 0UL}}}};
2116#line 126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2117static void wdt_timer_ping(unsigned long data )
2118{ long __cil_tmp6 ;
2119 long __cil_tmp7 ;
2120 long __cil_tmp8 ;
2121 unsigned long __cil_tmp9 ;
2122 unsigned long __cil_tmp10 ;
2123
2124 {
2125 {
2126#line 131
2127 __cil_tmp6 = (long )next_heartbeat;
2128#line 131
2129 __cil_tmp7 = (long )jiffies;
2130#line 131
2131 __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
2132#line 131
2133 if (__cil_tmp8 < 0L) {
2134 {
2135#line 133
2136 spin_lock(& wdt_spinlock);
2137#line 136
2138 inb_p(1091);
2139#line 139
2140 __cil_tmp9 = (unsigned long )jiffies;
2141#line 139
2142 __cil_tmp10 = __cil_tmp9 + 63UL;
2143#line 139
2144 mod_timer(& timer, __cil_tmp10);
2145#line 141
2146 spin_unlock(& wdt_spinlock);
2147 }
2148 } else {
2149 {
2150#line 144
2151 printk("<4>w83877f_wdt: Heartbeat lost! Will not ping the watchdog\n");
2152 }
2153 }
2154 }
2155#line 145
2156 return;
2157}
2158}
2159#line 151 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2160static void wdt_change(int writeval )
2161{ unsigned long flags ;
2162 unsigned char __cil_tmp3 ;
2163 int __cil_tmp4 ;
2164 unsigned char __cil_tmp5 ;
2165
2166 {
2167 {
2168#line 154
2169 ldv_spin_lock();
2170#line 157
2171 inb_p(1091);
2172#line 160
2173 outb_p((unsigned char)135, 1008);
2174#line 161
2175 outb_p((unsigned char)135, 1008);
2176#line 164
2177 outb_p((unsigned char)20, 1008);
2178#line 165
2179 __cil_tmp3 = (unsigned char )writeval;
2180#line 165
2181 __cil_tmp4 = (int )__cil_tmp3;
2182#line 165
2183 __cil_tmp5 = (unsigned char )__cil_tmp4;
2184#line 165
2185 outb_p(__cil_tmp5, 1009);
2186#line 168
2187 outb_p((unsigned char)170, 1008);
2188#line 170
2189 spin_unlock_irqrestore(& wdt_spinlock, flags);
2190 }
2191#line 171
2192 return;
2193}
2194}
2195#line 173 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2196static void wdt_startup(void)
2197{ unsigned long __cil_tmp1 ;
2198 int *__cil_tmp2 ;
2199 int __cil_tmp3 ;
2200 int __cil_tmp4 ;
2201 unsigned long __cil_tmp5 ;
2202 unsigned long __cil_tmp6 ;
2203 unsigned long __cil_tmp7 ;
2204
2205 {
2206 {
2207#line 175
2208 __cil_tmp1 = (unsigned long )jiffies;
2209#line 175
2210 __cil_tmp2 = & timeout;
2211#line 175
2212 __cil_tmp3 = *__cil_tmp2;
2213#line 175
2214 __cil_tmp4 = __cil_tmp3 * 250;
2215#line 175
2216 __cil_tmp5 = (unsigned long )__cil_tmp4;
2217#line 175
2218 next_heartbeat = __cil_tmp5 + __cil_tmp1;
2219#line 178
2220 __cil_tmp6 = (unsigned long )jiffies;
2221#line 178
2222 __cil_tmp7 = __cil_tmp6 + 63UL;
2223#line 178
2224 mod_timer(& timer, __cil_tmp7);
2225#line 180
2226 wdt_change(156);
2227#line 182
2228 printk("<6>w83877f_wdt: Watchdog timer is now enabled\n");
2229 }
2230#line 183
2231 return;
2232}
2233}
2234#line 185 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2235static void wdt_turnoff(void)
2236{
2237
2238 {
2239 {
2240#line 188
2241 del_timer(& timer);
2242#line 190
2243 wdt_change(140);
2244#line 192
2245 printk("<6>w83877f_wdt: Watchdog timer is now disabled...\n");
2246 }
2247#line 193
2248 return;
2249}
2250}
2251#line 195 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2252static void wdt_keepalive(void)
2253{ unsigned long __cil_tmp1 ;
2254 int *__cil_tmp2 ;
2255 int __cil_tmp3 ;
2256 int __cil_tmp4 ;
2257 unsigned long __cil_tmp5 ;
2258
2259 {
2260#line 198
2261 __cil_tmp1 = (unsigned long )jiffies;
2262#line 198
2263 __cil_tmp2 = & timeout;
2264#line 198
2265 __cil_tmp3 = *__cil_tmp2;
2266#line 198
2267 __cil_tmp4 = __cil_tmp3 * 250;
2268#line 198
2269 __cil_tmp5 = (unsigned long )__cil_tmp4;
2270#line 198
2271 next_heartbeat = __cil_tmp5 + __cil_tmp1;
2272#line 199
2273 return;
2274}
2275}
2276#line 205 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2277static ssize_t fop_write(struct file *file , char const *buf , size_t count , loff_t *ppos )
2278{ size_t ofs ;
2279 char c ;
2280 int __ret_gu ;
2281 unsigned long __val_gu ;
2282 bool *__cil_tmp9 ;
2283 bool __cil_tmp10 ;
2284 signed char __cil_tmp11 ;
2285 int __cil_tmp12 ;
2286
2287 {
2288#line 209
2289 if (count != 0UL) {
2290 {
2291#line 210
2292 __cil_tmp9 = & nowayout;
2293#line 210
2294 __cil_tmp10 = *__cil_tmp9;
2295#line 210
2296 if (! __cil_tmp10) {
2297#line 215
2298 wdt_expect_close = (char)0;
2299#line 219
2300 ofs = 0UL;
2301#line 219
2302 goto ldv_18065;
2303 ldv_18064:
2304 {
2305#line 221
2306 might_fault();
2307 }
2308#line 221
2309 if (1 == 1) {
2310#line 221
2311 goto case_1;
2312 } else
2313#line 221
2314 if (1 == 2) {
2315#line 221
2316 goto case_2;
2317 } else
2318#line 221
2319 if (1 == 4) {
2320#line 221
2321 goto case_4;
2322 } else
2323#line 221
2324 if (1 == 8) {
2325#line 221
2326 goto case_8;
2327 } else {
2328 {
2329#line 221
2330 goto switch_default;
2331#line 221
2332 if (0) {
2333 case_1:
2334#line 221
2335 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2336#line 221
2337 goto ldv_18058;
2338 case_2:
2339#line 221
2340 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2341#line 221
2342 goto ldv_18058;
2343 case_4:
2344#line 221
2345 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2346#line 221
2347 goto ldv_18058;
2348 case_8:
2349#line 221
2350 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2351#line 221
2352 goto ldv_18058;
2353 switch_default:
2354#line 221
2355 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + ofs));
2356#line 221
2357 goto ldv_18058;
2358 } else {
2359 switch_break: ;
2360 }
2361 }
2362 }
2363 ldv_18058:
2364#line 221
2365 c = (char )__val_gu;
2366#line 221
2367 if (__ret_gu != 0) {
2368#line 222
2369 return (-14L);
2370 } else {
2371
2372 }
2373 {
2374#line 223
2375 __cil_tmp11 = (signed char )c;
2376#line 223
2377 __cil_tmp12 = (int )__cil_tmp11;
2378#line 223
2379 if (__cil_tmp12 == 86) {
2380#line 224
2381 wdt_expect_close = (char)42;
2382 } else {
2383
2384 }
2385 }
2386#line 219
2387 ofs = ofs + 1UL;
2388 ldv_18065: ;
2389#line 219
2390 if (ofs != count) {
2391#line 220
2392 goto ldv_18064;
2393 } else {
2394#line 222
2395 goto ldv_18066;
2396 }
2397 ldv_18066: ;
2398 } else {
2399
2400 }
2401 }
2402 {
2403#line 229
2404 wdt_keepalive();
2405 }
2406 } else {
2407
2408 }
2409#line 231
2410 return ((ssize_t )count);
2411}
2412}
2413#line 234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2414static int fop_open(struct inode *inode , struct file *file )
2415{ int tmp ;
2416 int tmp___0 ;
2417 unsigned long volatile *__cil_tmp5 ;
2418
2419 {
2420 {
2421#line 237
2422 __cil_tmp5 = (unsigned long volatile *)(& wdt_is_open);
2423#line 237
2424 tmp = test_and_set_bit(0, __cil_tmp5);
2425 }
2426#line 237
2427 if (tmp != 0) {
2428#line 238
2429 return (-16);
2430 } else {
2431
2432 }
2433 {
2434#line 241
2435 wdt_startup();
2436#line 242
2437 tmp___0 = nonseekable_open(inode, file);
2438 }
2439#line 242
2440 return (tmp___0);
2441}
2442}
2443#line 245 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2444static int fop_close(struct inode *inode , struct file *file )
2445{ signed char __cil_tmp3 ;
2446 int __cil_tmp4 ;
2447 unsigned long volatile *__cil_tmp5 ;
2448
2449 {
2450 {
2451#line 247
2452 __cil_tmp3 = (signed char )wdt_expect_close;
2453#line 247
2454 __cil_tmp4 = (int )__cil_tmp3;
2455#line 247
2456 if (__cil_tmp4 == 42) {
2457 {
2458#line 248
2459 wdt_turnoff();
2460 }
2461 } else {
2462 {
2463#line 250
2464 del_timer(& timer);
2465#line 251
2466 printk("<2>w83877f_wdt: device file closed unexpectedly. Will not stop the WDT!\n");
2467 }
2468 }
2469 }
2470 {
2471#line 253
2472 __cil_tmp5 = (unsigned long volatile *)(& wdt_is_open);
2473#line 253
2474 clear_bit(0, __cil_tmp5);
2475#line 254
2476 wdt_expect_close = (char)0;
2477 }
2478#line 255
2479 return (0);
2480}
2481}
2482#line 258 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
2483static long fop_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
2484{ void *argp ;
2485 int *p ;
2486 struct watchdog_info ident ;
2487 long tmp___0 ;
2488 int tmp___1 ;
2489 int __ret_pu ;
2490 int __pu_val ;
2491 int new_options ;
2492 int retval ;
2493 int __ret_gu ;
2494 unsigned long __val_gu ;
2495 int new_timeout ;
2496 int __ret_gu___0 ;
2497 unsigned long __val_gu___0 ;
2498 int __ret_pu___0 ;
2499 int __pu_val___0 ;
2500 struct watchdog_info *__cil_tmp21 ;
2501 unsigned long __cil_tmp22 ;
2502 unsigned long __cil_tmp23 ;
2503 unsigned long __cil_tmp24 ;
2504 unsigned long __cil_tmp25 ;
2505 unsigned long __cil_tmp26 ;
2506 unsigned long __cil_tmp27 ;
2507 unsigned long __cil_tmp28 ;
2508 unsigned long __cil_tmp29 ;
2509 unsigned long __cil_tmp30 ;
2510 unsigned long __cil_tmp31 ;
2511 unsigned long __cil_tmp32 ;
2512 unsigned long __cil_tmp33 ;
2513 unsigned long __cil_tmp34 ;
2514 unsigned long __cil_tmp35 ;
2515 unsigned long __cil_tmp36 ;
2516 unsigned long __cil_tmp37 ;
2517 unsigned long __cil_tmp38 ;
2518 unsigned long __cil_tmp39 ;
2519 unsigned long __cil_tmp40 ;
2520 unsigned long __cil_tmp41 ;
2521 unsigned long __cil_tmp42 ;
2522 unsigned long __cil_tmp43 ;
2523 unsigned long __cil_tmp44 ;
2524 unsigned long __cil_tmp45 ;
2525 unsigned long __cil_tmp46 ;
2526 void const *__cil_tmp47 ;
2527 int __cil_tmp48 ;
2528 int *__cil_tmp49 ;
2529 int *__cil_tmp50 ;
2530
2531 {
2532#line 260
2533 argp = (void *)arg;
2534#line 261
2535 p = (int *)argp;
2536#line 262
2537 __cil_tmp21 = & ident;
2538#line 262
2539 *((__u32 *)__cil_tmp21) = 33152U;
2540#line 262
2541 __cil_tmp22 = (unsigned long )(& ident) + 4;
2542#line 262
2543 *((__u32 *)__cil_tmp22) = 1U;
2544#line 262
2545 __cil_tmp23 = 0 * 1UL;
2546#line 262
2547 __cil_tmp24 = 8 + __cil_tmp23;
2548#line 262
2549 __cil_tmp25 = (unsigned long )(& ident) + __cil_tmp24;
2550#line 262
2551 *((__u8 *)__cil_tmp25) = (__u8 )'W';
2552#line 262
2553 __cil_tmp26 = 1 * 1UL;
2554#line 262
2555 __cil_tmp27 = 8 + __cil_tmp26;
2556#line 262
2557 __cil_tmp28 = (unsigned long )(& ident) + __cil_tmp27;
2558#line 262
2559 *((__u8 *)__cil_tmp28) = (__u8 )'8';
2560#line 262
2561 __cil_tmp29 = 2 * 1UL;
2562#line 262
2563 __cil_tmp30 = 8 + __cil_tmp29;
2564#line 262
2565 __cil_tmp31 = (unsigned long )(& ident) + __cil_tmp30;
2566#line 262
2567 *((__u8 *)__cil_tmp31) = (__u8 )'3';
2568#line 262
2569 __cil_tmp32 = 3 * 1UL;
2570#line 262
2571 __cil_tmp33 = 8 + __cil_tmp32;
2572#line 262
2573 __cil_tmp34 = (unsigned long )(& ident) + __cil_tmp33;
2574#line 262
2575 *((__u8 *)__cil_tmp34) = (__u8 )'8';
2576#line 262
2577 __cil_tmp35 = 4 * 1UL;
2578#line 262
2579 __cil_tmp36 = 8 + __cil_tmp35;
2580#line 262
2581 __cil_tmp37 = (unsigned long )(& ident) + __cil_tmp36;
2582#line 262
2583 *((__u8 *)__cil_tmp37) = (__u8 )'7';
2584#line 262
2585 __cil_tmp38 = 5 * 1UL;
2586#line 262
2587 __cil_tmp39 = 8 + __cil_tmp38;
2588#line 262
2589 __cil_tmp40 = (unsigned long )(& ident) + __cil_tmp39;
2590#line 262
2591 *((__u8 *)__cil_tmp40) = (__u8 )'7';
2592#line 262
2593 __cil_tmp41 = 6 * 1UL;
2594#line 262
2595 __cil_tmp42 = 8 + __cil_tmp41;
2596#line 262
2597 __cil_tmp43 = (unsigned long )(& ident) + __cil_tmp42;
2598#line 262
2599 *((__u8 *)__cil_tmp43) = (__u8 )'F';
2600#line 262
2601 __cil_tmp44 = 7 * 1UL;
2602#line 262
2603 __cil_tmp45 = 8 + __cil_tmp44;
2604#line 262
2605 __cil_tmp46 = (unsigned long )(& ident) + __cil_tmp45;
2606#line 262
2607 *((__u8 *)__cil_tmp46) = (__u8 )'\000';
2608#line 270
2609 if ((int )cmd == -2144839936) {
2610#line 270
2611 goto case_neg_2144839936;
2612 } else
2613#line 272
2614 if ((int )cmd == -2147199231) {
2615#line 272
2616 goto case_neg_2147199231;
2617 } else
2618#line 273
2619 if ((int )cmd == -2147199230) {
2620#line 273
2621 goto case_neg_2147199230;
2622 } else
2623#line 275
2624 if ((int )cmd == -2147199228) {
2625#line 275
2626 goto case_neg_2147199228;
2627 } else
2628#line 294
2629 if ((int )cmd == -2147199227) {
2630#line 294
2631 goto case_neg_2147199227;
2632 } else
2633#line 297
2634 if ((int )cmd == -1073457402) {
2635#line 297
2636 goto case_neg_1073457402;
2637 } else
2638#line 312
2639 if ((int )cmd == -2147199225) {
2640#line 312
2641 goto case_neg_2147199225;
2642 } else {
2643 {
2644#line 314
2645 goto switch_default___3;
2646#line 269
2647 if (0) {
2648 case_neg_2144839936:
2649 {
2650#line 271
2651 __cil_tmp47 = (void const *)(& ident);
2652#line 271
2653 tmp___1 = copy_to_user(argp, __cil_tmp47, 40U);
2654 }
2655#line 271
2656 if (tmp___1 != 0) {
2657#line 271
2658 tmp___0 = -14L;
2659 } else {
2660#line 271
2661 tmp___0 = 0L;
2662 }
2663#line 271
2664 return (tmp___0);
2665 case_neg_2147199231: ;
2666 case_neg_2147199230:
2667 {
2668#line 274
2669 might_fault();
2670#line 274
2671 __pu_val = 0;
2672 }
2673#line 274
2674 if (4 == 1) {
2675#line 274
2676 goto case_1;
2677 } else
2678#line 274
2679 if (4 == 2) {
2680#line 274
2681 goto case_2;
2682 } else
2683#line 274
2684 if (4 == 4) {
2685#line 274
2686 goto case_4;
2687 } else
2688#line 274
2689 if (4 == 8) {
2690#line 274
2691 goto case_8;
2692 } else {
2693 {
2694#line 274
2695 goto switch_default;
2696#line 274
2697 if (0) {
2698 case_1:
2699#line 274
2700 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
2701 "c" (p): "ebx");
2702#line 274
2703 goto ldv_18089;
2704 case_2:
2705#line 274
2706 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
2707 "c" (p): "ebx");
2708#line 274
2709 goto ldv_18089;
2710 case_4:
2711#line 274
2712 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
2713 "c" (p): "ebx");
2714#line 274
2715 goto ldv_18089;
2716 case_8:
2717#line 274
2718 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
2719 "c" (p): "ebx");
2720#line 274
2721 goto ldv_18089;
2722 switch_default:
2723#line 274
2724 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
2725 "c" (p): "ebx");
2726#line 274
2727 goto ldv_18089;
2728 } else {
2729 switch_break___0: ;
2730 }
2731 }
2732 }
2733 ldv_18089: ;
2734#line 274
2735 return ((long )__ret_pu);
2736 case_neg_2147199228:
2737 {
2738#line 277
2739 retval = -22;
2740#line 279
2741 might_fault();
2742 }
2743#line 279
2744 if (4 == 1) {
2745#line 279
2746 goto case_1___0;
2747 } else
2748#line 279
2749 if (4 == 2) {
2750#line 279
2751 goto case_2___0;
2752 } else
2753#line 279
2754 if (4 == 4) {
2755#line 279
2756 goto case_4___0;
2757 } else
2758#line 279
2759 if (4 == 8) {
2760#line 279
2761 goto case_8___0;
2762 } else {
2763 {
2764#line 279
2765 goto switch_default___0;
2766#line 279
2767 if (0) {
2768 case_1___0:
2769#line 279
2770 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2771#line 279
2772 goto ldv_18101;
2773 case_2___0:
2774#line 279
2775 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2776#line 279
2777 goto ldv_18101;
2778 case_4___0:
2779#line 279
2780 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2781#line 279
2782 goto ldv_18101;
2783 case_8___0:
2784#line 279
2785 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2786#line 279
2787 goto ldv_18101;
2788 switch_default___0:
2789#line 279
2790 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
2791#line 279
2792 goto ldv_18101;
2793 } else {
2794 switch_break___1: ;
2795 }
2796 }
2797 }
2798 ldv_18101:
2799#line 279
2800 new_options = (int )__val_gu;
2801#line 279
2802 if (__ret_gu != 0) {
2803#line 280
2804 return (-14L);
2805 } else {
2806
2807 }
2808#line 282
2809 if (new_options & 1) {
2810 {
2811#line 283
2812 wdt_turnoff();
2813#line 284
2814 retval = 0;
2815 }
2816 } else {
2817
2818 }
2819 {
2820#line 287
2821 __cil_tmp48 = new_options & 2;
2822#line 287
2823 if (__cil_tmp48 != 0) {
2824 {
2825#line 288
2826 wdt_startup();
2827#line 289
2828 retval = 0;
2829 }
2830 } else {
2831
2832 }
2833 }
2834#line 292
2835 return ((long )retval);
2836 case_neg_2147199227:
2837 {
2838#line 295
2839 wdt_keepalive();
2840 }
2841#line 296
2842 return (0L);
2843 case_neg_1073457402:
2844 {
2845#line 301
2846 might_fault();
2847 }
2848#line 301
2849 if (4 == 1) {
2850#line 301
2851 goto case_1___1;
2852 } else
2853#line 301
2854 if (4 == 2) {
2855#line 301
2856 goto case_2___1;
2857 } else
2858#line 301
2859 if (4 == 4) {
2860#line 301
2861 goto case_4___1;
2862 } else
2863#line 301
2864 if (4 == 8) {
2865#line 301
2866 goto case_8___1;
2867 } else {
2868 {
2869#line 301
2870 goto switch_default___1;
2871#line 301
2872 if (0) {
2873 case_1___1:
2874#line 301
2875 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2876#line 301
2877 goto ldv_18113;
2878 case_2___1:
2879#line 301
2880 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2881#line 301
2882 goto ldv_18113;
2883 case_4___1:
2884#line 301
2885 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2886#line 301
2887 goto ldv_18113;
2888 case_8___1:
2889#line 301
2890 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2891#line 301
2892 goto ldv_18113;
2893 switch_default___1:
2894#line 301
2895 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
2896#line 301
2897 goto ldv_18113;
2898 } else {
2899 switch_break___2: ;
2900 }
2901 }
2902 }
2903 ldv_18113:
2904#line 301
2905 new_timeout = (int )__val_gu___0;
2906#line 301
2907 if (__ret_gu___0 != 0) {
2908#line 302
2909 return (-14L);
2910 } else {
2911
2912 }
2913#line 305
2914 if (new_timeout <= 0) {
2915#line 306
2916 return (-22L);
2917 } else
2918#line 305
2919 if (new_timeout > 3600) {
2920#line 306
2921 return (-22L);
2922 } else {
2923
2924 }
2925 {
2926#line 308
2927 __cil_tmp49 = & timeout;
2928#line 308
2929 *__cil_tmp49 = new_timeout;
2930#line 309
2931 wdt_keepalive();
2932 }
2933 case_neg_2147199225:
2934 {
2935#line 313
2936 might_fault();
2937#line 313
2938 __cil_tmp50 = & timeout;
2939#line 313
2940 __pu_val___0 = *__cil_tmp50;
2941 }
2942#line 313
2943 if (4 == 1) {
2944#line 313
2945 goto case_1___2;
2946 } else
2947#line 313
2948 if (4 == 2) {
2949#line 313
2950 goto case_2___2;
2951 } else
2952#line 313
2953 if (4 == 4) {
2954#line 313
2955 goto case_4___2;
2956 } else
2957#line 313
2958 if (4 == 8) {
2959#line 313
2960 goto case_8___2;
2961 } else {
2962 {
2963#line 313
2964 goto switch_default___2;
2965#line 313
2966 if (0) {
2967 case_1___2:
2968#line 313
2969 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
2970 "c" (p): "ebx");
2971#line 313
2972 goto ldv_18123;
2973 case_2___2:
2974#line 313
2975 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
2976 "c" (p): "ebx");
2977#line 313
2978 goto ldv_18123;
2979 case_4___2:
2980#line 313
2981 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
2982 "c" (p): "ebx");
2983#line 313
2984 goto ldv_18123;
2985 case_8___2:
2986#line 313
2987 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
2988 "c" (p): "ebx");
2989#line 313
2990 goto ldv_18123;
2991 switch_default___2:
2992#line 313
2993 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
2994 "c" (p): "ebx");
2995#line 313
2996 goto ldv_18123;
2997 } else {
2998 switch_break___3: ;
2999 }
3000 }
3001 }
3002 ldv_18123: ;
3003#line 313
3004 return ((long )__ret_pu___0);
3005 switch_default___3: ;
3006#line 315
3007 return (-25L);
3008 } else {
3009 switch_break: ;
3010 }
3011 }
3012 }
3013}
3014}
3015#line 319 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3016static struct file_operations const wdt_fops =
3017#line 319
3018 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
3019 loff_t * ))0, & fop_write, (ssize_t (*)(struct kiocb * ,
3020 struct iovec const * ,
3021 unsigned long ,
3022 loff_t ))0,
3023 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
3024 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
3025 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
3026 struct poll_table_struct * ))0,
3027 & fop_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0, (int (*)(struct file * ,
3028 struct vm_area_struct * ))0,
3029 & fop_open, (int (*)(struct file * , fl_owner_t ))0, & fop_close, (int (*)(struct file * ,
3030 loff_t ,
3031 loff_t ,
3032 int ))0,
3033 (int (*)(struct kiocb * , int ))0, (int (*)(int , struct file * , int ))0,
3034 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
3035 struct page * ,
3036 int , size_t ,
3037 loff_t * ,
3038 int ))0,
3039 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
3040 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
3041 int , struct file_lock * ))0,
3042 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
3043 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
3044 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
3045 int , loff_t ,
3046 loff_t ))0};
3047#line 328 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3048static struct miscdevice wdt_miscdev =
3049#line 328
3050 {130, "watchdog", & wdt_fops, {(struct list_head *)0, (struct list_head *)0}, (struct device *)0,
3051 (struct device *)0, (char const *)0, (unsigned short)0};
3052#line 338 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3053static int wdt_notify_sys(struct notifier_block *this , unsigned long code , void *unused )
3054{
3055
3056 {
3057#line 341
3058 if (code == 1UL) {
3059 {
3060#line 342
3061 wdt_turnoff();
3062 }
3063 } else
3064#line 341
3065 if (code == 2UL) {
3066 {
3067#line 342
3068 wdt_turnoff();
3069 }
3070 } else {
3071
3072 }
3073#line 343
3074 return (0);
3075}
3076}
3077#line 351 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3078static struct notifier_block wdt_notifier = {& wdt_notify_sys, (struct notifier_block *)0, 0};
3079#line 355 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3080static void w83877f_wdt_unload(void)
3081{
3082
3083 {
3084 {
3085#line 357
3086 wdt_turnoff();
3087#line 360
3088 misc_deregister(& wdt_miscdev);
3089#line 362
3090 unregister_reboot_notifier(& wdt_notifier);
3091#line 363
3092 __release_region(& ioport_resource, 1091ULL, 1ULL);
3093#line 364
3094 __release_region(& ioport_resource, 1008ULL, 2ULL);
3095 }
3096#line 365
3097 return;
3098}
3099}
3100#line 367 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3101static int w83877f_wdt_init(void)
3102{ int rc ;
3103 struct resource *tmp ;
3104 struct resource *tmp___0 ;
3105 int *__cil_tmp4 ;
3106 int __cil_tmp5 ;
3107 int *__cil_tmp6 ;
3108 int *__cil_tmp7 ;
3109 int __cil_tmp8 ;
3110 int *__cil_tmp9 ;
3111 int __cil_tmp10 ;
3112 int *__cil_tmp11 ;
3113 int *__cil_tmp12 ;
3114 int __cil_tmp13 ;
3115 struct resource *__cil_tmp14 ;
3116 unsigned long __cil_tmp15 ;
3117 unsigned long __cil_tmp16 ;
3118 struct resource *__cil_tmp17 ;
3119 unsigned long __cil_tmp18 ;
3120 unsigned long __cil_tmp19 ;
3121 struct miscdevice *__cil_tmp20 ;
3122 int __cil_tmp21 ;
3123 int *__cil_tmp22 ;
3124 int __cil_tmp23 ;
3125 bool *__cil_tmp24 ;
3126 bool __cil_tmp25 ;
3127 int __cil_tmp26 ;
3128
3129 {
3130#line 369
3131 rc = -16;
3132 {
3133#line 371
3134 __cil_tmp4 = & timeout;
3135#line 371
3136 __cil_tmp5 = *__cil_tmp4;
3137#line 371
3138 if (__cil_tmp5 <= 0) {
3139 {
3140#line 372
3141 __cil_tmp6 = & timeout;
3142#line 372
3143 *__cil_tmp6 = 30;
3144#line 373
3145 __cil_tmp7 = & timeout;
3146#line 373
3147 __cil_tmp8 = *__cil_tmp7;
3148#line 373
3149 printk("<6>w83877f_wdt: timeout value must be 1 <= x <= 3600, using %d\n", __cil_tmp8);
3150 }
3151 } else {
3152 {
3153#line 371
3154 __cil_tmp9 = & timeout;
3155#line 371
3156 __cil_tmp10 = *__cil_tmp9;
3157#line 371
3158 if (__cil_tmp10 > 3600) {
3159 {
3160#line 372
3161 __cil_tmp11 = & timeout;
3162#line 372
3163 *__cil_tmp11 = 30;
3164#line 373
3165 __cil_tmp12 = & timeout;
3166#line 373
3167 __cil_tmp13 = *__cil_tmp12;
3168#line 373
3169 printk("<6>w83877f_wdt: timeout value must be 1 <= x <= 3600, using %d\n", __cil_tmp13);
3170 }
3171 } else {
3172
3173 }
3174 }
3175 }
3176 }
3177 {
3178#line 377
3179 tmp = __request_region(& ioport_resource, 1008ULL, 2ULL, "W83877F WDT", 0);
3180 }
3181 {
3182#line 377
3183 __cil_tmp14 = (struct resource *)0;
3184#line 377
3185 __cil_tmp15 = (unsigned long )__cil_tmp14;
3186#line 377
3187 __cil_tmp16 = (unsigned long )tmp;
3188#line 377
3189 if (__cil_tmp16 == __cil_tmp15) {
3190 {
3191#line 378
3192 printk("<3>w83877f_wdt: I/O address 0x%04x already in use\n", 1008);
3193#line 380
3194 rc = -5;
3195 }
3196#line 381
3197 goto err_out;
3198 } else {
3199
3200 }
3201 }
3202 {
3203#line 384
3204 tmp___0 = __request_region(& ioport_resource, 1091ULL, 1ULL, "W8387FF WDT", 0);
3205 }
3206 {
3207#line 384
3208 __cil_tmp17 = (struct resource *)0;
3209#line 384
3210 __cil_tmp18 = (unsigned long )__cil_tmp17;
3211#line 384
3212 __cil_tmp19 = (unsigned long )tmp___0;
3213#line 384
3214 if (__cil_tmp19 == __cil_tmp18) {
3215 {
3216#line 385
3217 printk("<3>w83877f_wdt: I/O address 0x%04x already in use\n", 1091);
3218#line 386
3219 rc = -5;
3220 }
3221#line 387
3222 goto err_out_region1;
3223 } else {
3224
3225 }
3226 }
3227 {
3228#line 390
3229 rc = register_reboot_notifier(& wdt_notifier);
3230 }
3231#line 391
3232 if (rc != 0) {
3233 {
3234#line 392
3235 printk("<3>w83877f_wdt: cannot register reboot notifier (err=%d)\n", rc);
3236 }
3237#line 393
3238 goto err_out_region2;
3239 } else {
3240
3241 }
3242 {
3243#line 396
3244 rc = misc_register(& wdt_miscdev);
3245 }
3246#line 397
3247 if (rc != 0) {
3248 {
3249#line 398
3250 __cil_tmp20 = & wdt_miscdev;
3251#line 398
3252 __cil_tmp21 = *((int *)__cil_tmp20);
3253#line 398
3254 printk("<3>w83877f_wdt: cannot register miscdev on minor=%d (err=%d)\n", __cil_tmp21,
3255 rc);
3256 }
3257#line 400
3258 goto err_out_reboot;
3259 } else {
3260
3261 }
3262 {
3263#line 403
3264 __cil_tmp22 = & timeout;
3265#line 403
3266 __cil_tmp23 = *__cil_tmp22;
3267#line 403
3268 __cil_tmp24 = & nowayout;
3269#line 403
3270 __cil_tmp25 = *__cil_tmp24;
3271#line 403
3272 __cil_tmp26 = (int )__cil_tmp25;
3273#line 403
3274 printk("<6>w83877f_wdt: WDT driver for W83877F initialised. timeout=%d sec (nowayout=%d)\n",
3275 __cil_tmp23, __cil_tmp26);
3276 }
3277#line 406
3278 return (0);
3279 err_out_reboot:
3280 {
3281#line 409
3282 unregister_reboot_notifier(& wdt_notifier);
3283 }
3284 err_out_region2:
3285 {
3286#line 411
3287 __release_region(& ioport_resource, 1091ULL, 1ULL);
3288 }
3289 err_out_region1:
3290 {
3291#line 413
3292 __release_region(& ioport_resource, 1008ULL, 2ULL);
3293 }
3294 err_out: ;
3295#line 415
3296 return (rc);
3297}
3298}
3299#line 442
3300extern void ldv_check_final_state(void) ;
3301#line 445
3302extern void ldv_check_return_value(int ) ;
3303#line 448
3304extern void ldv_initialize(void) ;
3305#line 451
3306extern int __VERIFIER_nondet_int(void) ;
3307#line 454 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3308int LDV_IN_INTERRUPT ;
3309#line 457 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3310void main(void)
3311{ struct file *var_group1 ;
3312 char const *var_fop_write_5_p1 ;
3313 size_t var_fop_write_5_p2 ;
3314 loff_t *var_fop_write_5_p3 ;
3315 ssize_t res_fop_write_5 ;
3316 struct inode *var_group2 ;
3317 int res_fop_open_6 ;
3318 unsigned int var_fop_ioctl_8_p1 ;
3319 unsigned long var_fop_ioctl_8_p2 ;
3320 struct notifier_block *var_group3 ;
3321 unsigned long var_wdt_notify_sys_9_p1 ;
3322 void *var_wdt_notify_sys_9_p2 ;
3323 int ldv_s_wdt_fops_file_operations ;
3324 int tmp ;
3325 int tmp___0 ;
3326 int tmp___1 ;
3327 int __cil_tmp17 ;
3328
3329 {
3330 {
3331#line 596
3332 ldv_s_wdt_fops_file_operations = 0;
3333#line 567
3334 LDV_IN_INTERRUPT = 1;
3335#line 576
3336 ldv_initialize();
3337#line 594
3338 tmp = w83877f_wdt_init();
3339 }
3340#line 594
3341 if (tmp != 0) {
3342#line 595
3343 goto ldv_final;
3344 } else {
3345
3346 }
3347#line 602
3348 goto ldv_18198;
3349 ldv_18197:
3350 {
3351#line 606
3352 tmp___0 = __VERIFIER_nondet_int();
3353 }
3354#line 608
3355 if (tmp___0 == 0) {
3356#line 608
3357 goto case_0;
3358 } else
3359#line 639
3360 if (tmp___0 == 1) {
3361#line 639
3362 goto case_1;
3363 } else
3364#line 670
3365 if (tmp___0 == 2) {
3366#line 670
3367 goto case_2;
3368 } else
3369#line 698
3370 if (tmp___0 == 3) {
3371#line 698
3372 goto case_3;
3373 } else
3374#line 726
3375 if (tmp___0 == 4) {
3376#line 726
3377 goto case_4;
3378 } else {
3379 {
3380#line 754
3381 goto switch_default;
3382#line 606
3383 if (0) {
3384 case_0: ;
3385#line 611
3386 if (ldv_s_wdt_fops_file_operations == 0) {
3387 {
3388#line 628
3389 res_fop_open_6 = fop_open(var_group2, var_group1);
3390#line 629
3391 ldv_check_return_value(res_fop_open_6);
3392 }
3393#line 630
3394 if (res_fop_open_6 != 0) {
3395#line 631
3396 goto ldv_module_exit;
3397 } else {
3398
3399 }
3400#line 632
3401 ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3402 } else {
3403
3404 }
3405#line 638
3406 goto ldv_18191;
3407 case_1: ;
3408#line 642
3409 if (ldv_s_wdt_fops_file_operations == 1) {
3410 {
3411#line 659
3412 res_fop_write_5 = fop_write(var_group1, var_fop_write_5_p1, var_fop_write_5_p2,
3413 var_fop_write_5_p3);
3414#line 660
3415 __cil_tmp17 = (int )res_fop_write_5;
3416#line 660
3417 ldv_check_return_value(__cil_tmp17);
3418 }
3419#line 661
3420 if (res_fop_write_5 < 0L) {
3421#line 662
3422 goto ldv_module_exit;
3423 } else {
3424
3425 }
3426#line 663
3427 ldv_s_wdt_fops_file_operations = ldv_s_wdt_fops_file_operations + 1;
3428 } else {
3429
3430 }
3431#line 669
3432 goto ldv_18191;
3433 case_2: ;
3434#line 673
3435 if (ldv_s_wdt_fops_file_operations == 2) {
3436 {
3437#line 690
3438 fop_close(var_group2, var_group1);
3439#line 691
3440 ldv_s_wdt_fops_file_operations = 0;
3441 }
3442 } else {
3443
3444 }
3445#line 697
3446 goto ldv_18191;
3447 case_3:
3448 {
3449#line 718
3450 fop_ioctl(var_group1, var_fop_ioctl_8_p1, var_fop_ioctl_8_p2);
3451 }
3452#line 725
3453 goto ldv_18191;
3454 case_4:
3455 {
3456#line 746
3457 wdt_notify_sys(var_group3, var_wdt_notify_sys_9_p1, var_wdt_notify_sys_9_p2);
3458 }
3459#line 753
3460 goto ldv_18191;
3461 switch_default: ;
3462#line 754
3463 goto ldv_18191;
3464 } else {
3465 switch_break: ;
3466 }
3467 }
3468 }
3469 ldv_18191: ;
3470 ldv_18198:
3471 {
3472#line 602
3473 tmp___1 = __VERIFIER_nondet_int();
3474 }
3475#line 602
3476 if (tmp___1 != 0) {
3477#line 604
3478 goto ldv_18197;
3479 } else
3480#line 602
3481 if (ldv_s_wdt_fops_file_operations != 0) {
3482#line 604
3483 goto ldv_18197;
3484 } else {
3485#line 606
3486 goto ldv_18199;
3487 }
3488 ldv_18199: ;
3489 ldv_module_exit:
3490 {
3491#line 778
3492 w83877f_wdt_unload();
3493 }
3494 ldv_final:
3495 {
3496#line 781
3497 ldv_check_final_state();
3498 }
3499#line 784
3500 return;
3501}
3502}
3503#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3504void ldv_blast_assert(void)
3505{
3506
3507 {
3508 ERROR: ;
3509#line 6
3510 goto ERROR;
3511}
3512}
3513#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3514extern int __VERIFIER_nondet_int(void) ;
3515#line 805 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3516int ldv_spin = 0;
3517#line 809 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3518void ldv_check_alloc_flags(gfp_t flags )
3519{
3520
3521 {
3522#line 812
3523 if (ldv_spin != 0) {
3524#line 812
3525 if (flags != 32U) {
3526 {
3527#line 812
3528 ldv_blast_assert();
3529 }
3530 } else {
3531
3532 }
3533 } else {
3534
3535 }
3536#line 815
3537 return;
3538}
3539}
3540#line 815
3541extern struct page *ldv_some_page(void) ;
3542#line 818 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3543struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3544{ struct page *tmp ;
3545
3546 {
3547#line 821
3548 if (ldv_spin != 0) {
3549#line 821
3550 if (flags != 32U) {
3551 {
3552#line 821
3553 ldv_blast_assert();
3554 }
3555 } else {
3556
3557 }
3558 } else {
3559
3560 }
3561 {
3562#line 823
3563 tmp = ldv_some_page();
3564 }
3565#line 823
3566 return (tmp);
3567}
3568}
3569#line 827 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3570void ldv_check_alloc_nonatomic(void)
3571{
3572
3573 {
3574#line 830
3575 if (ldv_spin != 0) {
3576 {
3577#line 830
3578 ldv_blast_assert();
3579 }
3580 } else {
3581
3582 }
3583#line 833
3584 return;
3585}
3586}
3587#line 834 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3588void ldv_spin_lock(void)
3589{
3590
3591 {
3592#line 837
3593 ldv_spin = 1;
3594#line 838
3595 return;
3596}
3597}
3598#line 841 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3599void ldv_spin_unlock(void)
3600{
3601
3602 {
3603#line 844
3604 ldv_spin = 0;
3605#line 845
3606 return;
3607}
3608}
3609#line 848 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3610int ldv_spin_trylock(void)
3611{ int is_lock ;
3612
3613 {
3614 {
3615#line 853
3616 is_lock = __VERIFIER_nondet_int();
3617 }
3618#line 855
3619 if (is_lock != 0) {
3620#line 858
3621 return (0);
3622 } else {
3623#line 863
3624 ldv_spin = 1;
3625#line 865
3626 return (1);
3627 }
3628}
3629}
3630#line 869 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3631__inline static void spin_lock(spinlock_t *lock )
3632{
3633
3634 {
3635 {
3636#line 874
3637 ldv_spin_lock();
3638#line 876
3639 ldv_spin_lock_1(lock);
3640 }
3641#line 877
3642 return;
3643}
3644}
3645#line 911 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3646__inline static void spin_unlock(spinlock_t *lock )
3647{
3648
3649 {
3650 {
3651#line 916
3652 ldv_spin_unlock();
3653#line 918
3654 ldv_spin_unlock_5(lock);
3655 }
3656#line 919
3657 return;
3658}
3659}
3660#line 941 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3661__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
3662{
3663
3664 {
3665 {
3666#line 947
3667 ldv_spin_unlock();
3668#line 949
3669 ldv_spin_unlock_irqrestore_8(lock, flags);
3670 }
3671#line 950
3672 return;
3673}
3674}
3675#line 1032 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17370/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/w83877f_wdt.c.p"
3676void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3677{
3678
3679 {
3680 {
3681#line 1038
3682 ldv_check_alloc_flags(ldv_func_arg2);
3683#line 1040
3684 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3685 }
3686#line 1041
3687 return ((void *)0);
3688}
3689}