1 |
vapier 13/09/03 03:08:11 |
2 |
|
3 |
Added: |
4 |
00_all_0001-kbuild-auto-convert-size-types-in-userspace-headers.patch |
5 |
00_all_0002-linux-stat.h-remove-__GLIBC__-checks.patch |
6 |
00_all_0003-linux-pull-in-other-needed-headers-for-userspace.patch |
7 |
00_all_0004-netfilter-pull-in-limits.h.patch |
8 |
00_all_0005-convert-PAGE_SIZE-usage.patch |
9 |
00_all_0006-asm-generic-fcntl.h-namespace-kernel-file-structs.patch |
10 |
00_all_0007-unifdef-drop-unused-errno.h-include.patch |
11 |
00_all_0008-Btrfs-use-__u64-in-exported-user-headers.patch |
12 |
00_all_0009-x86-make-stat-statfs-64-bit-for-x86_64-kernels.patch |
13 |
Log: |
14 |
initial 3.11 patchset based on last 3.10 patchset |
15 |
|
16 |
Revision Changes Path |
17 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0001-kbuild-auto-convert-size-types-in-userspace-headers.patch |
18 |
|
19 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0001-kbuild-auto-convert-size-types-in-userspace-headers.patch?rev=1.1&view=markup |
20 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0001-kbuild-auto-convert-size-types-in-userspace-headers.patch?rev=1.1&content-type=text/plain |
21 |
|
22 |
Index: 00_all_0001-kbuild-auto-convert-size-types-in-userspace-headers.patch |
23 |
=================================================================== |
24 |
From 99fad64f4ad061de4cbe468147861b1d8a08b2a5 Mon Sep 17 00:00:00 2001 |
25 |
From: Mike Frysinger <vapier@g.o> |
26 |
Date: Mon, 29 Dec 2008 06:07:47 -0500 |
27 |
Subject: [PATCH 1/9] kbuild: auto-convert size types in userspace headers |
28 |
|
29 |
Rather than constantly fixing up size type breakage in userspace headers, |
30 |
auto convert the types u_intXX_t, uintXX_t, intXX_t, uXX, and sXX to the |
31 |
appropriate __uXX or __sXX type. |
32 |
|
33 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
34 |
--- |
35 |
scripts/headers_install.sh | 3 +++ |
36 |
1 file changed, 3 insertions(+) |
37 |
|
38 |
diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh |
39 |
index 5de5660..38c8b2f 100644 |
40 |
--- a/scripts/headers_install.sh |
41 |
+++ b/scripts/headers_install.sh |
42 |
@@ -37,6 +37,9 @@ do |
43 |
-e 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g' \ |
44 |
-e 's/(^|[ \t(])(inline|asm|volatile)([ \t(]|$)/\1__\2__\3/g' \ |
45 |
-e 's@#(ifndef|define|endif[ \t]*/[*])[ \t]*_UAPI@#\1 @' \ |
46 |
+ -e 's/\b([us](8|16|32|64))\b/__\1/g' \ |
47 |
+ -e 's/\b(u_?int(8|16|32|64)_t)\b/__u\2/g' \ |
48 |
+ -e 's/\b(int(8|16|32|64)_t)\b/__s\2/g' \ |
49 |
"$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || exit 1 |
50 |
scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$FILE.sed" \ |
51 |
> "$OUTDIR/$FILE" |
52 |
-- |
53 |
1.8.3.2 |
54 |
|
55 |
|
56 |
|
57 |
|
58 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0002-linux-stat.h-remove-__GLIBC__-checks.patch |
59 |
|
60 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0002-linux-stat.h-remove-__GLIBC__-checks.patch?rev=1.1&view=markup |
61 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0002-linux-stat.h-remove-__GLIBC__-checks.patch?rev=1.1&content-type=text/plain |
62 |
|
63 |
Index: 00_all_0002-linux-stat.h-remove-__GLIBC__-checks.patch |
64 |
=================================================================== |
65 |
From 5cf4a58e8fec36621c693fa1fc13790cf4c9a64a Mon Sep 17 00:00:00 2001 |
66 |
From: Mike Frysinger <vapier@g.o> |
67 |
Date: Mon, 29 Dec 2008 06:52:59 -0500 |
68 |
Subject: [PATCH 2/9] linux/stat.h: remove __GLIBC__ checks |
69 |
|
70 |
Only check __KERNEL__ so we don't assume the C library is glibc. |
71 |
|
72 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
73 |
--- |
74 |
include/uapi/linux/stat.h | 2 +- |
75 |
1 file changed, 1 insertion(+), 1 deletion(-) |
76 |
|
77 |
diff --git a/include/uapi/linux/stat.h b/include/uapi/linux/stat.h |
78 |
index 7fec7e3..256ad24 100644 |
79 |
--- a/include/uapi/linux/stat.h |
80 |
+++ b/include/uapi/linux/stat.h |
81 |
@@ -2,7 +2,7 @@ |
82 |
#define _UAPI_LINUX_STAT_H |
83 |
|
84 |
|
85 |
-#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) |
86 |
+#if defined(__KERNEL__) |
87 |
|
88 |
#define S_IFMT 00170000 |
89 |
#define S_IFSOCK 0140000 |
90 |
-- |
91 |
1.8.3.2 |
92 |
|
93 |
|
94 |
|
95 |
|
96 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0003-linux-pull-in-other-needed-headers-for-userspace.patch |
97 |
|
98 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0003-linux-pull-in-other-needed-headers-for-userspace.patch?rev=1.1&view=markup |
99 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0003-linux-pull-in-other-needed-headers-for-userspace.patch?rev=1.1&content-type=text/plain |
100 |
|
101 |
Index: 00_all_0003-linux-pull-in-other-needed-headers-for-userspace.patch |
102 |
=================================================================== |
103 |
From f6c76379e9f0f2fcc6e127d67d5c40892aa75891 Mon Sep 17 00:00:00 2001 |
104 |
From: Mike Frysinger <vapier@g.o> |
105 |
Date: Mon, 29 Dec 2008 07:41:01 -0500 |
106 |
Subject: [PATCH 3/9] linux/*: pull in other needed headers for userspace |
107 |
|
108 |
mondo patch |
109 |
|
110 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
111 |
--- |
112 |
include/uapi/linux/dn.h | 1 + |
113 |
include/uapi/linux/ppp-ioctl.h | 1 + |
114 |
2 files changed, 2 insertions(+) |
115 |
|
116 |
diff --git a/include/uapi/linux/dn.h b/include/uapi/linux/dn.h |
117 |
index 9c50445..dc9f005 100644 |
118 |
--- a/include/uapi/linux/dn.h |
119 |
+++ b/include/uapi/linux/dn.h |
120 |
@@ -1,6 +1,7 @@ |
121 |
#ifndef _LINUX_DN_H |
122 |
#define _LINUX_DN_H |
123 |
|
124 |
+#include <linux/ioctl.h> |
125 |
#include <linux/types.h> |
126 |
|
127 |
/* |
128 |
diff --git a/include/uapi/linux/ppp-ioctl.h b/include/uapi/linux/ppp-ioctl.h |
129 |
index 2d9a885..63a23a3 100644 |
130 |
--- a/include/uapi/linux/ppp-ioctl.h |
131 |
+++ b/include/uapi/linux/ppp-ioctl.h |
132 |
@@ -12,6 +12,7 @@ |
133 |
|
134 |
#include <linux/types.h> |
135 |
#include <linux/compiler.h> |
136 |
+#include <linux/ppp_defs.h> |
137 |
|
138 |
/* |
139 |
* Bit definitions for flags argument to PPPIOCGFLAGS/PPPIOCSFLAGS. |
140 |
-- |
141 |
1.8.3.2 |
142 |
|
143 |
|
144 |
|
145 |
|
146 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0004-netfilter-pull-in-limits.h.patch |
147 |
|
148 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0004-netfilter-pull-in-limits.h.patch?rev=1.1&view=markup |
149 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0004-netfilter-pull-in-limits.h.patch?rev=1.1&content-type=text/plain |
150 |
|
151 |
Index: 00_all_0004-netfilter-pull-in-limits.h.patch |
152 |
=================================================================== |
153 |
From 40bfe2cd71bb17c1fa212a1d2a7b46b97867e1de Mon Sep 17 00:00:00 2001 |
154 |
From: Mike Frysinger <vapier@g.o> |
155 |
Date: Sat, 9 May 2009 17:30:35 -0400 |
156 |
Subject: [PATCH 4/9] netfilter: pull in limits.h |
157 |
|
158 |
A few netfilter sub-headers use INT_MAX which is in limits.h. |
159 |
|
160 |
URL: http://bugs.gentoo.org/246160 |
161 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
162 |
--- |
163 |
include/uapi/linux/netfilter.h | 1 + |
164 |
1 file changed, 1 insertion(+) |
165 |
|
166 |
diff --git a/include/uapi/linux/netfilter.h b/include/uapi/linux/netfilter.h |
167 |
index f7dc0eb..fcb9748 100644 |
168 |
--- a/include/uapi/linux/netfilter.h |
169 |
+++ b/include/uapi/linux/netfilter.h |
170 |
@@ -4,6 +4,7 @@ |
171 |
#include <linux/types.h> |
172 |
#include <linux/compiler.h> |
173 |
#include <linux/sysctl.h> |
174 |
+#include <limits.h> |
175 |
|
176 |
|
177 |
/* Responses from hook functions. */ |
178 |
-- |
179 |
1.8.3.2 |
180 |
|
181 |
|
182 |
|
183 |
|
184 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0005-convert-PAGE_SIZE-usage.patch |
185 |
|
186 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0005-convert-PAGE_SIZE-usage.patch?rev=1.1&view=markup |
187 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0005-convert-PAGE_SIZE-usage.patch?rev=1.1&content-type=text/plain |
188 |
|
189 |
Index: 00_all_0005-convert-PAGE_SIZE-usage.patch |
190 |
=================================================================== |
191 |
From 1fee0aebf8d0e888802a6b772607cd55d32dd667 Mon Sep 17 00:00:00 2001 |
192 |
From: Mike Frysinger <vapier@g.o> |
193 |
Date: Sat, 13 Feb 2010 03:09:23 -0500 |
194 |
Subject: [PATCH 5/9] convert PAGE_SIZE usage |
195 |
|
196 |
The size of a page may change at runtime or based on kernel settings, so |
197 |
a static value at compile time doesn't work. More importantly, no one |
198 |
exports PAGE_SIZE to user space anymore. |
199 |
|
200 |
URL: http://bugs.gentoo.org/301431 |
201 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
202 |
--- |
203 |
include/uapi/linux/binfmts.h | 3 ++- |
204 |
include/uapi/linux/resource.h | 3 ++- |
205 |
2 files changed, 4 insertions(+), 2 deletions(-) |
206 |
|
207 |
diff --git a/include/uapi/linux/binfmts.h b/include/uapi/linux/binfmts.h |
208 |
index 4eb5972..516bfcf 100644 |
209 |
--- a/include/uapi/linux/binfmts.h |
210 |
+++ b/include/uapi/linux/binfmts.h |
211 |
@@ -1,6 +1,7 @@ |
212 |
#ifndef _UAPI_LINUX_BINFMTS_H |
213 |
#define _UAPI_LINUX_BINFMTS_H |
214 |
|
215 |
+#include <unistd.h> |
216 |
#include <linux/capability.h> |
217 |
|
218 |
struct pt_regs; |
219 |
@@ -11,7 +12,7 @@ struct pt_regs; |
220 |
* prevent the kernel from being unduly impacted by misaddressed pointers. |
221 |
* MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer. |
222 |
*/ |
223 |
-#define MAX_ARG_STRLEN (PAGE_SIZE * 32) |
224 |
+#define MAX_ARG_STRLEN (sysconf(_SC_PAGESIZE) * 32) |
225 |
#define MAX_ARG_STRINGS 0x7FFFFFFF |
226 |
|
227 |
/* sizeof(linux_binprm->buf) */ |
228 |
diff --git a/include/uapi/linux/resource.h b/include/uapi/linux/resource.h |
229 |
index e0ed284..db8acf3 100644 |
230 |
--- a/include/uapi/linux/resource.h |
231 |
+++ b/include/uapi/linux/resource.h |
232 |
@@ -68,7 +68,8 @@ struct rlimit64 { |
233 |
* GPG2 wants 64kB of mlocked memory, to make sure pass phrases |
234 |
* and other sensitive information are never written to disk. |
235 |
*/ |
236 |
-#define MLOCK_LIMIT ((PAGE_SIZE > 64*1024) ? PAGE_SIZE : 64*1024) |
237 |
+/* No one currently defines PAGE_SIZE bigger than 64kB */ |
238 |
+#define MLOCK_LIMIT (64 * 1024) |
239 |
|
240 |
/* |
241 |
* Due to binary compatibility, the actual resource numbers |
242 |
-- |
243 |
1.8.3.2 |
244 |
|
245 |
|
246 |
|
247 |
|
248 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0006-asm-generic-fcntl.h-namespace-kernel-file-structs.patch |
249 |
|
250 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0006-asm-generic-fcntl.h-namespace-kernel-file-structs.patch?rev=1.1&view=markup |
251 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0006-asm-generic-fcntl.h-namespace-kernel-file-structs.patch?rev=1.1&content-type=text/plain |
252 |
|
253 |
Index: 00_all_0006-asm-generic-fcntl.h-namespace-kernel-file-structs.patch |
254 |
=================================================================== |
255 |
From c96ba199f5df1e6963c68bc5b17bab2c029c4662 Mon Sep 17 00:00:00 2001 |
256 |
From: Mike Frysinger <vapier@g.o> |
257 |
Date: Mon, 29 Dec 2008 07:39:14 -0500 |
258 |
Subject: [PATCH 6/9] asm-generic/fcntl.h: namespace kernel file structs |
259 |
|
260 |
No one should be using these structs, but just in case they are, |
261 |
keep them available in the __kernel_ namespace. |
262 |
|
263 |
Otherwise, trying to include something like: |
264 |
#include <fcntl.h> |
265 |
#include <linux/inotify.h> |
266 |
leads to horrible failure. |
267 |
|
268 |
URL: http://bugs.gentoo.org/244470 |
269 |
URL: http://bugs.gentoo.org/388633 |
270 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
271 |
--- |
272 |
include/uapi/asm-generic/fcntl.h | 6 +++--- |
273 |
1 file changed, 3 insertions(+), 3 deletions(-) |
274 |
|
275 |
diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h |
276 |
index 95e46c8..92c2df2 100644 |
277 |
--- a/include/uapi/asm-generic/fcntl.h |
278 |
+++ b/include/uapi/asm-generic/fcntl.h |
279 |
@@ -136,7 +136,7 @@ |
280 |
#define F_OWNER_PID 1 |
281 |
#define F_OWNER_PGRP 2 |
282 |
|
283 |
-struct f_owner_ex { |
284 |
+struct __kernel_f_owner_ex { |
285 |
int type; |
286 |
__kernel_pid_t pid; |
287 |
}; |
288 |
@@ -176,7 +176,7 @@ struct f_owner_ex { |
289 |
#define __ARCH_FLOCK_PAD |
290 |
#endif |
291 |
|
292 |
-struct flock { |
293 |
+struct __kernel_flock { |
294 |
short l_type; |
295 |
short l_whence; |
296 |
__kernel_off_t l_start; |
297 |
@@ -193,7 +193,7 @@ struct flock { |
298 |
#define __ARCH_FLOCK64_PAD |
299 |
#endif |
300 |
|
301 |
-struct flock64 { |
302 |
+struct __kernel_flock64 { |
303 |
short l_type; |
304 |
short l_whence; |
305 |
__kernel_loff_t l_start; |
306 |
-- |
307 |
1.8.3.2 |
308 |
|
309 |
|
310 |
|
311 |
|
312 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0007-unifdef-drop-unused-errno.h-include.patch |
313 |
|
314 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0007-unifdef-drop-unused-errno.h-include.patch?rev=1.1&view=markup |
315 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0007-unifdef-drop-unused-errno.h-include.patch?rev=1.1&content-type=text/plain |
316 |
|
317 |
Index: 00_all_0007-unifdef-drop-unused-errno.h-include.patch |
318 |
=================================================================== |
319 |
From ff05a34fefa6159d7f4e8c45a2b5ae0111a3fa29 Mon Sep 17 00:00:00 2001 |
320 |
From: Mike Frysinger <vapier@g.o> |
321 |
Date: Tue, 6 Dec 2011 17:22:42 -0500 |
322 |
Subject: [PATCH 7/9] unifdef: drop unused errno.h include |
323 |
|
324 |
This is the only header on my system that ends up requiring kernel |
325 |
headers, so if the kernel headers aren't available, we end up being |
326 |
unable to install kernel headers :). |
327 |
|
328 |
Since this file doesn't actually use anything from errno.h, drop |
329 |
the include so it at least makes us a bit more robust on glibc. |
330 |
|
331 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
332 |
--- |
333 |
scripts/unifdef.c | 1 - |
334 |
1 file changed, 1 deletion(-) |
335 |
|
336 |
diff --git a/scripts/unifdef.c b/scripts/unifdef.c |
337 |
index 7493c0e..c5dfae5 100644 |
338 |
--- a/scripts/unifdef.c |
339 |
+++ b/scripts/unifdef.c |
340 |
@@ -48,7 +48,6 @@ |
341 |
|
342 |
#include <ctype.h> |
343 |
#include <err.h> |
344 |
-#include <errno.h> |
345 |
#include <stdarg.h> |
346 |
#include <stdbool.h> |
347 |
#include <stdio.h> |
348 |
-- |
349 |
1.8.3.2 |
350 |
|
351 |
|
352 |
|
353 |
|
354 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0008-Btrfs-use-__u64-in-exported-user-headers.patch |
355 |
|
356 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0008-Btrfs-use-__u64-in-exported-user-headers.patch?rev=1.1&view=markup |
357 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0008-Btrfs-use-__u64-in-exported-user-headers.patch?rev=1.1&content-type=text/plain |
358 |
|
359 |
Index: 00_all_0008-Btrfs-use-__u64-in-exported-user-headers.patch |
360 |
=================================================================== |
361 |
From ddbbf17d9fde3258d7d8b12c1344ed7bd81b854e Mon Sep 17 00:00:00 2001 |
362 |
From: Mike Frysinger <vapier@g.o> |
363 |
Date: Fri, 16 Aug 2013 14:02:10 -0400 |
364 |
Subject: [PATCH 8/9] Btrfs: use __u64 in exported user headers |
365 |
|
366 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
367 |
--- |
368 |
include/uapi/linux/btrfs.h | 2 +- |
369 |
1 file changed, 1 insertion(+), 1 deletion(-) |
370 |
|
371 |
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h |
372 |
index 05aed70..3fa45ae 100644 |
373 |
--- a/include/uapi/linux/btrfs.h |
374 |
+++ b/include/uapi/linux/btrfs.h |
375 |
@@ -524,7 +524,7 @@ static inline char *btrfs_err_str(enum btrfs_err_code err_code) |
376 |
struct btrfs_ioctl_search_args) |
377 |
#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \ |
378 |
struct btrfs_ioctl_ino_lookup_args) |
379 |
-#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, u64) |
380 |
+#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64) |
381 |
#define BTRFS_IOC_SPACE_INFO _IOWR(BTRFS_IOCTL_MAGIC, 20, \ |
382 |
struct btrfs_ioctl_space_args) |
383 |
#define BTRFS_IOC_START_SYNC _IOR(BTRFS_IOCTL_MAGIC, 24, __u64) |
384 |
-- |
385 |
1.8.3.2 |
386 |
|
387 |
|
388 |
|
389 |
|
390 |
1.1 src/patchsets/gentoo-headers/3.11/00_all_0009-x86-make-stat-statfs-64-bit-for-x86_64-kernels.patch |
391 |
|
392 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0009-x86-make-stat-statfs-64-bit-for-x86_64-kernels.patch?rev=1.1&view=markup |
393 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gentoo-headers/3.11/00_all_0009-x86-make-stat-statfs-64-bit-for-x86_64-kernels.patch?rev=1.1&content-type=text/plain |
394 |
|
395 |
Index: 00_all_0009-x86-make-stat-statfs-64-bit-for-x86_64-kernels.patch |
396 |
=================================================================== |
397 |
From 2902e4d7072672ba3db8a4b544860fb115932cf7 Mon Sep 17 00:00:00 2001 |
398 |
From: Mike Frysinger <vapier@g.o> |
399 |
Date: Mon, 25 Mar 2013 16:38:47 -0400 |
400 |
Subject: [PATCH 9/9] x86: make stat/statfs 64-bit for x86_64 kernels |
401 |
|
402 |
When including these headers in the x32 ABI, the structs get declared |
403 |
with 32bit sizes which is incorrect. Use long long and such to make |
404 |
it work both with x32 and x86_64. |
405 |
|
406 |
Signed-off-by: Mike Frysinger <vapier@g.o> |
407 |
--- |
408 |
arch/x86/include/uapi/asm/stat.h | 38 +++++++++++++++++++------------------- |
409 |
arch/x86/include/uapi/asm/statfs.h | 5 +++++ |
410 |
2 files changed, 24 insertions(+), 19 deletions(-) |
411 |
|
412 |
diff --git a/arch/x86/include/uapi/asm/stat.h b/arch/x86/include/uapi/asm/stat.h |
413 |
index 7b3ddc3..e9d6951 100644 |
414 |
--- a/arch/x86/include/uapi/asm/stat.h |
415 |
+++ b/arch/x86/include/uapi/asm/stat.h |
416 |
@@ -78,26 +78,26 @@ struct stat64 { |
417 |
#else /* __i386__ */ |
418 |
|
419 |
struct stat { |
420 |
- unsigned long st_dev; |
421 |
- unsigned long st_ino; |
422 |
- unsigned long st_nlink; |
423 |
- |
424 |
- unsigned int st_mode; |
425 |
- unsigned int st_uid; |
426 |
- unsigned int st_gid; |
427 |
- unsigned int __pad0; |
428 |
- unsigned long st_rdev; |
429 |
- long st_size; |
430 |
- long st_blksize; |
431 |
- long st_blocks; /* Number 512-byte blocks allocated. */ |
432 |
+ unsigned long long st_dev; |
433 |
+ unsigned long long st_ino; |
434 |
+ unsigned long long st_nlink; |
435 |
|
436 |
- unsigned long st_atime; |
437 |
- unsigned long st_atime_nsec; |
438 |
- unsigned long st_mtime; |
439 |
- unsigned long st_mtime_nsec; |
440 |
- unsigned long st_ctime; |
441 |
- unsigned long st_ctime_nsec; |
442 |
- long __unused[3]; |
443 |
+ unsigned int st_mode; |
444 |
+ unsigned int st_uid; |
445 |
+ unsigned int st_gid; |
446 |
+ unsigned int __pad0; |
447 |
+ unsigned long long st_rdev; |
448 |
+ long long st_size; |
449 |
+ long long st_blksize; |
450 |
+ long long st_blocks; /* Number 512-byte blocks allocated. */ |
451 |
+ |
452 |
+ unsigned long long st_atime; |
453 |
+ unsigned long long st_atime_nsec; |
454 |
+ unsigned long long st_mtime; |
455 |
+ unsigned long long st_mtime_nsec; |
456 |
+ unsigned long long st_ctime; |
457 |
+ unsigned long long st_ctime_nsec; |
458 |
+ long long __unused[3]; |
459 |
}; |
460 |
|
461 |
/* We don't need to memset the whole thing just to initialize the padding */ |
462 |
diff --git a/arch/x86/include/uapi/asm/statfs.h b/arch/x86/include/uapi/asm/statfs.h |
463 |
index 2d0adbf..3cb5744 100644 |
464 |
--- a/arch/x86/include/uapi/asm/statfs.h |
465 |
+++ b/arch/x86/include/uapi/asm/statfs.h |
466 |
@@ -8,5 +8,10 @@ |
467 |
*/ |
468 |
#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4))) |
469 |
|
470 |
+/* For x86-64, both the 64bit and x32 ABIs have 64bit fields. */ |
471 |
+#ifdef __x86_64__ |
472 |
+#define __statfs_word __u64 |
473 |
+#endif |
474 |
+ |
475 |
#include <asm-generic/statfs.h> |
476 |
#endif /* _ASM_X86_STATFS_H */ |
477 |
-- |
478 |
1.8.3.2 |