* [PATCH] uapi: fix another asm/shmbuf.h userspace compilation error
@ 2017-03-02 0:46 Dmitry V. Levin
2017-03-02 13:07 ` Arnd Bergmann
0 siblings, 1 reply; 3+ messages in thread
From: Dmitry V. Levin @ 2017-03-02 0:46 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
Haavard Skinnemoen, Hans-Christian Egtvedt, Tony Luck, Fenghua Yu,
Ralf Baechle, David Howells, Benjamin Herrenschmidt,
Paul Mackerras, Michael Ellerman, Martin Schwidefsky,
Heiko Carstens, David S. Miller, Chris Zankel, Max Filippov,
linux-arch, linux-alpha, linux-ia64, linux-mips, linux-am33-list,
linuxppc-dev, linux-s390, sparclinux, linux-xtensa, linux-kernel
Replace size_t with __kernel_size_t to fix asm/shmbuf.h userspace
compilation errors like this:
/usr/include/asm-generic/shmbuf.h:28:2: error: unknown type name 'size_t'
size_t shm_segsz; /* size of segment (bytes) */
x32 is the only architecture where sizeof(size_t) is less than
sizeof(__kernel_size_t), but as the kernel treats shm_segsz field as
__kernel_size_t anyway, UAPI should follow. Thanks to little-endiannes
of x32 and 64-bit alignment of the field following shm_segsz, this
change doesn't break ABI, and the difference doesn't manifest itself
easily.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
include/uapi/asm-generic/shmbuf.h | 2 +-
arch/alpha/include/uapi/asm/shmbuf.h | 2 +-
arch/avr32/include/uapi/asm/shmbuf.h | 2 +-
arch/frv/include/uapi/asm/shmbuf.h | 2 +-
arch/ia64/include/uapi/asm/shmbuf.h | 2 +-
arch/m32r/include/uapi/asm/shmbuf.h | 2 +-
arch/mips/include/uapi/asm/shmbuf.h | 2 +-
arch/mn10300/include/uapi/asm/shmbuf.h | 2 +-
arch/powerpc/include/uapi/asm/shmbuf.h | 2 +-
arch/s390/include/uapi/asm/shmbuf.h | 2 +-
arch/sparc/include/uapi/asm/shmbuf.h | 2 +-
arch/xtensa/include/uapi/asm/shmbuf.h | 4 ++--
12 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/include/uapi/asm-generic/shmbuf.h b/include/uapi/asm-generic/shmbuf.h
index 2a6d508..0756934 100644
--- a/include/uapi/asm-generic/shmbuf.h
+++ b/include/uapi/asm-generic/shmbuf.h
@@ -25,7 +25,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
#if __BITS_PER_LONG != 64
unsigned long __unused1;
diff --git a/arch/alpha/include/uapi/asm/shmbuf.h b/arch/alpha/include/uapi/asm/shmbuf.h
index 6156099..e32ed1f 100644
--- a/arch/alpha/include/uapi/asm/shmbuf.h
+++ b/arch/alpha/include/uapi/asm/shmbuf.h
@@ -14,7 +14,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
__kernel_time_t shm_dtime; /* last detach time */
__kernel_time_t shm_ctime; /* last change time */
diff --git a/arch/avr32/include/uapi/asm/shmbuf.h b/arch/avr32/include/uapi/asm/shmbuf.h
index c8e5234..2804f25 100644
--- a/arch/avr32/include/uapi/asm/shmbuf.h
+++ b/arch/avr32/include/uapi/asm/shmbuf.h
@@ -15,7 +15,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
unsigned long __unused1;
__kernel_time_t shm_dtime; /* last detach time */
diff --git a/arch/frv/include/uapi/asm/shmbuf.h b/arch/frv/include/uapi/asm/shmbuf.h
index 943746c..2af199f 100644
--- a/arch/frv/include/uapi/asm/shmbuf.h
+++ b/arch/frv/include/uapi/asm/shmbuf.h
@@ -15,7 +15,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
unsigned long __unused1;
__kernel_time_t shm_dtime; /* last detach time */
diff --git a/arch/ia64/include/uapi/asm/shmbuf.h b/arch/ia64/include/uapi/asm/shmbuf.h
index ca81d77e..8e35495 100644
--- a/arch/ia64/include/uapi/asm/shmbuf.h
+++ b/arch/ia64/include/uapi/asm/shmbuf.h
@@ -14,7 +14,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
__kernel_time_t shm_dtime; /* last detach time */
__kernel_time_t shm_ctime; /* last change time */
diff --git a/arch/m32r/include/uapi/asm/shmbuf.h b/arch/m32r/include/uapi/asm/shmbuf.h
index 714de6e..fa36b9e 100644
--- a/arch/m32r/include/uapi/asm/shmbuf.h
+++ b/arch/m32r/include/uapi/asm/shmbuf.h
@@ -15,7 +15,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
unsigned long __unused1;
__kernel_time_t shm_dtime; /* last detach time */
diff --git a/arch/mips/include/uapi/asm/shmbuf.h b/arch/mips/include/uapi/asm/shmbuf.h
index f47d193..95c53ff 100644
--- a/arch/mips/include/uapi/asm/shmbuf.h
+++ b/arch/mips/include/uapi/asm/shmbuf.h
@@ -14,7 +14,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
__kernel_time_t shm_dtime; /* last detach time */
__kernel_time_t shm_ctime; /* last change time */
diff --git a/arch/mn10300/include/uapi/asm/shmbuf.h b/arch/mn10300/include/uapi/asm/shmbuf.h
index 71df684..e156878 100644
--- a/arch/mn10300/include/uapi/asm/shmbuf.h
+++ b/arch/mn10300/include/uapi/asm/shmbuf.h
@@ -15,7 +15,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
unsigned long __unused1;
__kernel_time_t shm_dtime; /* last detach time */
diff --git a/arch/powerpc/include/uapi/asm/shmbuf.h b/arch/powerpc/include/uapi/asm/shmbuf.h
index 7937289..a2425e5 100644
--- a/arch/powerpc/include/uapi/asm/shmbuf.h
+++ b/arch/powerpc/include/uapi/asm/shmbuf.h
@@ -38,7 +38,7 @@ struct shmid64_ds {
#ifndef __powerpc64__
unsigned long __unused4;
#endif
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_pid_t shm_cpid; /* pid of creator */
__kernel_pid_t shm_lpid; /* pid of last operator */
unsigned long shm_nattch; /* no. of current attaches */
diff --git a/arch/s390/include/uapi/asm/shmbuf.h b/arch/s390/include/uapi/asm/shmbuf.h
index 9ce1d9f..9ddf9e0 100644
--- a/arch/s390/include/uapi/asm/shmbuf.h
+++ b/arch/s390/include/uapi/asm/shmbuf.h
@@ -15,7 +15,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
#ifndef __s390x__
unsigned long __unused1;
diff --git a/arch/sparc/include/uapi/asm/shmbuf.h b/arch/sparc/include/uapi/asm/shmbuf.h
index f651952..ed72656 100644
--- a/arch/sparc/include/uapi/asm/shmbuf.h
+++ b/arch/sparc/include/uapi/asm/shmbuf.h
@@ -27,7 +27,7 @@ struct shmid64_ds {
__kernel_time_t shm_dtime; /* last detach time */
PADDING(__pad3)
__kernel_time_t shm_ctime; /* last change time */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_pid_t shm_cpid; /* pid of creator */
__kernel_pid_t shm_lpid; /* pid of last operator */
unsigned long shm_nattch; /* no. of current attaches */
diff --git a/arch/xtensa/include/uapi/asm/shmbuf.h b/arch/xtensa/include/uapi/asm/shmbuf.h
index ad90d05..8d9206e 100644
--- a/arch/xtensa/include/uapi/asm/shmbuf.h
+++ b/arch/xtensa/include/uapi/asm/shmbuf.h
@@ -24,7 +24,7 @@
#if defined (__XTENSA_EL__)
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
unsigned long __unused1;
__kernel_time_t shm_dtime; /* last detach time */
@@ -40,7 +40,7 @@ struct shmid64_ds {
#elif defined (__XTENSA_EB__)
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_size_t shm_segsz; /* size of segment (bytes) */
__kernel_time_t shm_atime; /* last attach time */
unsigned long __unused1;
__kernel_time_t shm_dtime; /* last detach time */
--
ldv
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] uapi: fix another asm/shmbuf.h userspace compilation error
2017-03-02 0:46 [PATCH] uapi: fix another asm/shmbuf.h userspace compilation error Dmitry V. Levin
@ 2017-03-02 13:07 ` Arnd Bergmann
2017-08-04 15:22 ` James Hogan
0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2017-03-02 13:07 UTC (permalink / raw)
To: Dmitry V. Levin
Cc: linux-mips, linux-ia64, linux-xtensa, Heiko Carstens,
David Howells, Max Filippov, Paul Mackerras, H. Peter Anvin,
sparclinux, Hans-Christian Egtvedt, linux-arch, linux-s390,
linux-am33-list, x86, Ingo Molnar, Haavard Skinnemoen, Fenghua Yu,
Thomas Gleixner, Chris Zankel, Tony Luck,
Linux Kernel Mailing List, Ralf Baechle, linux-alpha,
Martin Schwidefsky, linuxppc-dev, David S. Miller
On Thu, Mar 2, 2017 at 1:46 AM, Dmitry V. Levin <ldv@altlinux.org> wrote:
> Replace size_t with __kernel_size_t to fix asm/shmbuf.h userspace
> compilation errors like this:
>
> /usr/include/asm-generic/shmbuf.h:28:2: error: unknown type name 'size_t'
> size_t shm_segsz; /* size of segment (bytes) */
>
> x32 is the only architecture where sizeof(size_t) is less than
> sizeof(__kernel_size_t), but as the kernel treats shm_segsz field as
> __kernel_size_t anyway, UAPI should follow. Thanks to little-endiannes
> of x32 and 64-bit alignment of the field following shm_segsz, this
> change doesn't break ABI, and the difference doesn't manifest itself
> easily.
>
> Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] uapi: fix another asm/shmbuf.h userspace compilation error
2017-03-02 13:07 ` Arnd Bergmann
@ 2017-08-04 15:22 ` James Hogan
0 siblings, 0 replies; 3+ messages in thread
From: James Hogan @ 2017-08-04 15:22 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Dmitry V. Levin, linux-mips, linux-ia64, linux-xtensa,
Heiko Carstens, David Howells, Max Filippov, Paul Mackerras,
H. Peter Anvin, sparclinux, Hans-Christian Egtvedt, linux-arch,
linux-s390, linux-am33-list, x86, Ingo Molnar, Haavard Skinnemoen,
Fenghua Yu, Thomas Gleixner, Chris Zankel, Tony Luck,
Linux Kernel Mailing List, Ralf Baechle, linux-alpha,
Martin Schwidefsky, linuxppc-dev, David S. Miller
[-- Attachment #1: Type: text/plain, Size: 970 bytes --]
On Thu, Mar 02, 2017 at 02:07:20PM +0100, Arnd Bergmann wrote:
> On Thu, Mar 2, 2017 at 1:46 AM, Dmitry V. Levin <ldv@altlinux.org> wrote:
> > Replace size_t with __kernel_size_t to fix asm/shmbuf.h userspace
> > compilation errors like this:
> >
> > /usr/include/asm-generic/shmbuf.h:28:2: error: unknown type name 'size_t'
> > size_t shm_segsz; /* size of segment (bytes) */
> >
> > x32 is the only architecture where sizeof(size_t) is less than
> > sizeof(__kernel_size_t), but as the kernel treats shm_segsz field as
> > __kernel_size_t anyway, UAPI should follow. Thanks to little-endiannes
> > of x32 and 64-bit alignment of the field following shm_segsz, this
> > change doesn't break ABI, and the difference doesn't manifest itself
> > easily.
> >
> > Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
Out of interest, is there a plan for merging these patches from Dmitry?
Cheers
James
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-08-04 15:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-02 0:46 [PATCH] uapi: fix another asm/shmbuf.h userspace compilation error Dmitry V. Levin
2017-03-02 13:07 ` Arnd Bergmann
2017-08-04 15:22 ` James Hogan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).