]>
Commit | Line | Data |
---|---|---|
45516216 | 1 | typedef long __kernel_off_t; |
2 | typedef unsigned long __kernel_size_t; | |
3 | typedef long __kernel_ssize_t; | |
4 | typedef long long __kernel_loff_t; | |
5 | typedef __kernel_off_t off_t; | |
6 | typedef __kernel_loff_t loff_t; | |
7 | typedef __kernel_size_t size_t; | |
8 | typedef __kernel_ssize_t ssize_t; | |
9 | ssize_t sys_sendfile(int out_fd, int in_fd, off_t *offset, size_t count) { | |
10 | loff_t pos; | |
11 | off_t off; | |
12 | if (offset) { | |
13 | if (__builtin_expect(!!(({ | |
14 | int _err = 0; | |
15 | typeof(*(offset)) *_p = (offset); | |
16 | if (!_access_ok((unsigned long)(_p),(sizeof(*(_p))))) { | |
17 | } | |
18 | else { | |
19 | switch (sizeof(*(_p))) { | |
20 | case 4: { | |
21 | unsigned long _tmp; | |
22 | (off) = (__typeof__(*(_p))) _tmp; | |
23 | }; | |
24 | } | |
25 | } | |
26 | _err; | |
27 | } | |
28 | )), 0)) return -14; | |
29 | pos = off; | |
30 | if (__builtin_expect(!!(({ | |
31 | int _err = 0; | |
32 | typeof(*(offset)) _x = (pos); | |
33 | typeof(*(offset)) *_p = (offset); | |
34 | if (!_access_ok((unsigned long)(_p),(sizeof(*(_p))))) { | |
35 | switch (sizeof (*(_p))) { | |
36 | case 4: __asm__ ("""[%1] = %0;\n\t" : :"d" (_x),"a" (((unsigned long *)(_p))) : "memory"); | |
37 | } | |
38 | } | |
39 | _err; | |
40 | } | |
41 | )), 0)) return -14; | |
42 | } | |
43 | } |