Skip to contentSkip to conversation

uapi: fix asm/ipcbuf.h userspace compilation errors

PATCH In review Dmitry V. Levin 2 participants 6 messages Feb 26, 2017 – Mar 2, 2017

Subsystems (9)
x86 PowerPC MIPS s390 +5 more subsystems
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 uapi: fix asm/ipcbuf.h userspace compilation errors

Include <linux/posix_types.h> to fix asm/ipcbuf.h userspace compilation errors like this:

/usr/include/asm-generic/ipcbuf.h:20:2: error: unknown type name '__kernel_key_t'
__kernel_key_t key;
/usr/include/asm-generic/ipcbuf.h:21:2: error: unknown type name '__kernel_uid32_t'
__kernel_uid32_t uid;
/usr/include/asm-generic/ipcbuf.h:22:2: error: unknown type name '__kernel_gid32_t'
__kernel_gid32_t gid;
/usr/include/asm-generic/ipcbuf.h:23:2: error: unknown type name '__kernel_uid32_t'
__kernel_uid32_t cuid;
/usr/include/asm-generic/ipcbuf.h:24:2: error: unknown type name '__kernel_gid32_t'
__kernel_gid32_t cgid;
/usr/include/asm-generic/ipcbuf.h:25:2: error: unknown type name '__kernel_mode_t'
__kernel_mode_t mode;
/usr/include/asm-generic/ipcbuf.h:27:35: error: '__kernel_mode_t' undeclared here (not in a function)
unsigned char __pad1[4 - sizeof(__kernel_mode_t)];
/usr/include/asm-generic/ipcbuf.h:30:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused1;
/usr/include/asm-generic/ipcbuf.h:31:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused2;

---
 include/uapi/asm-generic/ipcbuf.h     | 2 ++
 arch/s390/include/uapi/asm/ipcbuf.h   | 2 ++
 arch/sparc/include/uapi/asm/ipcbuf.h  | 2 ++
 arch/xtensa/include/uapi/asm/ipcbuf.h | 2 ++
 4 files changed, 8 insertions(+)
include/uapi/asm-generic/ipcbuf.h +2 -0
index 3dbcc1e..909f825 100644
@@ -1,6 +1,8 @@
 #ifndef __ASM_GENERIC_IPCBUF_H
 #define __ASM_GENERIC_IPCBUF_H
 
+#include <linux/posix_types.h>
+
 /*
  * The generic ipc64_perm structure:
  * Note extra padding because this structure is passed back and forth
arch/s390/include/uapi/asm/ipcbuf.h +2 -0
index 37f293d..9f1185c 100644
@@ -1,6 +1,8 @@
 #ifndef __S390_IPCBUF_H__
 #define __S390_IPCBUF_H__
 
+#include <linux/posix_types.h>
+
 /*
  * The user_ipc_perm structure for S/390 architecture.
  * Note extra padding because this structure is passed back and forth
arch/sparc/include/uapi/asm/ipcbuf.h +2 -0
index 66013b4..b7b1bcb 100644
@@ -1,6 +1,8 @@
 #ifndef __SPARC_IPCBUF_H
 #define __SPARC_IPCBUF_H
 
+#include <linux/posix_types.h>
+
 /*
  * The ipc64_perm structure for sparc/sparc64 architecture.
  * Note extra padding because this structure is passed back and forth
arch/xtensa/include/uapi/asm/ipcbuf.h +2 -0
index c33aa6a..7442e48 100644
@@ -11,6 +11,8 @@
 #ifndef _XTENSA_IPCBUF_H
 #define _XTENSA_IPCBUF_H
 
+#include <linux/posix_types.h>
+
 /*
  * Pad space is left for:
  * - 32-bit mode_t and seq
Signature · 1 line
ldv
maintainer Acked-by on v1 1/1
#1 lore raw
Quoted 35 lines · Dmitry V. Levin

Include <linux/posix_types.h> to fix asm/ipcbuf.h userspace compilation errors like this:

/usr/include/asm-generic/ipcbuf.h:20:2: error: unknown type name '__kernel_key_t'
__kernel_key_t key;
/usr/include/asm-generic/ipcbuf.h:21:2: error: unknown type name '__kernel_uid32_t'
__kernel_uid32_t uid;
/usr/include/asm-generic/ipcbuf.h:22:2: error: unknown type name '__kernel_gid32_t'
__kernel_gid32_t gid;
/usr/include/asm-generic/ipcbuf.h:23:2: error: unknown type name '__kernel_uid32_t'
__kernel_uid32_t cuid;
/usr/include/asm-generic/ipcbuf.h:24:2: error: unknown type name '__kernel_gid32_t'
__kernel_gid32_t cgid;
/usr/include/asm-generic/ipcbuf.h:25:2: error: unknown type name '__kernel_mode_t'
__kernel_mode_t mode;
/usr/include/asm-generic/ipcbuf.h:27:35: error: '__kernel_mode_t' undeclared here (not in a function)
unsigned char __pad1[4 - sizeof(__kernel_mode_t)];
/usr/include/asm-generic/ipcbuf.h:30:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused1;
/usr/include/asm-generic/ipcbuf.h:31:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused2;

---
 include/uapi/asm-generic/ipcbuf.h     | 2 ++
 arch/s390/include/uapi/asm/ipcbuf.h   | 2 ++
 arch/sparc/include/uapi/asm/ipcbuf.h  | 2 ++
 arch/xtensa/include/uapi/asm/ipcbuf.h | 2 ++
 4 files changed, 8 insertions(+)
include/uapi/asm-generic/ipcbuf.h +0 -0
index 3dbcc1e..909f825 100644

include/uapi/asm-generic/ipcbuf.h line 5

Quoted 5 lines
include/uapi/asm-generic/ipcbuf.h +2 -0
@@ -1,6 +1,8 @@
 #ifndef __ASM_GENERIC_IPCBUF_H
 #define __ASM_GENERIC_IPCBUF_H
 
+#include <linux/posix_types.h>
+
#2 lore raw

PATCH 1/3 uapi: fix asm/msgbuf.h userspace compilation errors

Include <asm/ipcbuf.h> to fix asm/msgbuf.h userspace compilation errors like this:

/usr/include/asm-generic/msgbuf.h:25:20: error: field 'msg_perm' has incomplete type
struct ipc64_perm msg_perm;
/usr/include/asm-generic/msgbuf.h:26:2: error: unknown type name '__kernel_time_t'
__kernel_time_t msg_stime; /* last msgsnd time */
/usr/include/asm-generic/msgbuf.h:30:2: error: unknown type name '__kernel_time_t'
__kernel_time_t msg_rtime; /* last msgrcv time */
/usr/include/asm-generic/msgbuf.h:34:2: error: unknown type name '__kernel_time_t'
__kernel_time_t msg_ctime; /* last change time */
/usr/include/asm-generic/msgbuf.h:38:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t msg_cbytes; /* current number of bytes on queue */
/usr/include/asm-generic/msgbuf.h:39:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t msg_qnum; /* number of messages in queue */
/usr/include/asm-generic/msgbuf.h:40:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t msg_qbytes; /* max number of bytes on queue */
/usr/include/asm-generic/msgbuf.h:41:2: error: unknown type name '__kernel_pid_t'
__kernel_pid_t msg_lspid; /* pid of last msgsnd */
/usr/include/asm-generic/msgbuf.h:42:2: error: unknown type name '__kernel_pid_t'
__kernel_pid_t msg_lrpid; /* last receive pid */
/usr/include/asm-generic/msgbuf.h:43:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused4;
/usr/include/asm-generic/msgbuf.h:44:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused5;

---
 include/uapi/asm-generic/msgbuf.h      | 1 +
 arch/alpha/include/uapi/asm/msgbuf.h   | 2 ++
 arch/avr32/include/uapi/asm/msgbuf.h   | 2 ++
 arch/frv/include/uapi/asm/msgbuf.h     | 2 ++
 arch/ia64/include/uapi/asm/msgbuf.h    | 2 ++
 arch/m32r/include/uapi/asm/msgbuf.h    | 2 ++
 arch/mips/include/uapi/asm/msgbuf.h    | 1 +
 arch/mn10300/include/uapi/asm/msgbuf.h | 2 ++
 arch/parisc/include/uapi/asm/msgbuf.h  | 1 +
 arch/powerpc/include/uapi/asm/msgbuf.h | 2 ++
 arch/s390/include/uapi/asm/msgbuf.h    | 2 ++
 arch/sparc/include/uapi/asm/msgbuf.h   | 2 ++
 arch/xtensa/include/uapi/asm/msgbuf.h  | 2 ++
 13 files changed, 23 insertions(+)
include/uapi/asm-generic/msgbuf.h +1 -0
index f55ecc4..f3c3b43 100644
@@ -1,6 +1,7 @@
 #ifndef __ASM_GENERIC_MSGBUF_H
 #define __ASM_GENERIC_MSGBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/bitsperlong.h>
 /*
  * generic msqid64_ds structure.
arch/alpha/include/uapi/asm/msgbuf.h +2 -0
index 9849650..8de899a 100644
@@ -1,6 +1,8 @@
 #ifndef _ALPHA_MSGBUF_H
 #define _ALPHA_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The msqid64_ds structure for alpha architecture.
  * Note extra padding because this structure is passed back and forth
arch/avr32/include/uapi/asm/msgbuf.h +2 -0
index 9eae6ef..45cdffb 100644
@@ -1,6 +1,8 @@
 #ifndef _UAPI__ASM_AVR32_MSGBUF_H
 #define _UAPI__ASM_AVR32_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for i386 architecture.
  * Note extra padding because this structure is passed back and forth
arch/frv/include/uapi/asm/msgbuf.h +2 -0
index 97ceb55..92d6656 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_MSGBUF_H
 #define _ASM_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for FR-V architecture.
  * Note extra padding because this structure is passed back and forth
arch/ia64/include/uapi/asm/msgbuf.h +2 -0
index 6c64c0d..9a31b60 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_IA64_MSGBUF_H
 #define _ASM_IA64_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for IA-64 architecture.
  * Note extra padding because this structure is passed back and forth
arch/m32r/include/uapi/asm/msgbuf.h +2 -0
index 0d5a877..4786c0c 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_M32R_MSGBUF_H
 #define _ASM_M32R_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for m32r architecture.
  * Note extra padding because this structure is passed back and forth
arch/mips/include/uapi/asm/msgbuf.h +1 -0
index df849e8..c84a388 100644
@@ -1,6 +1,7 @@
 #ifndef _ASM_MSGBUF_H
 #define _ASM_MSGBUF_H
 
+#include <asm/ipcbuf.h>
 
 /*
  * The msqid64_ds structure for the MIPS architecture.
arch/mn10300/include/uapi/asm/msgbuf.h +2 -0
index 8b60245..f1c5dd5 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_MSGBUF_H
 #define _ASM_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for MN10300 architecture.
  * Note extra padding because this structure is passed back and forth
arch/parisc/include/uapi/asm/msgbuf.h +1 -0
index 2e83ac7..c70f1d3 100644
@@ -1,6 +1,7 @@
 #ifndef _PARISC_MSGBUF_H
 #define _PARISC_MSGBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/bitsperlong.h>
 
 /* 
arch/powerpc/include/uapi/asm/msgbuf.h +2 -0
index dd76743..3b87d25 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_POWERPC_MSGBUF_H
 #define _ASM_POWERPC_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for the PowerPC architecture.
  * Note extra padding because this structure is passed back and forth
arch/s390/include/uapi/asm/msgbuf.h +2 -0
index 1bbdee9..ab04112 100644
@@ -1,6 +1,8 @@
 #ifndef _S390_MSGBUF_H
 #define _S390_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The msqid64_ds structure for S/390 architecture.
  * Note extra padding because this structure is passed back and forth
arch/sparc/include/uapi/asm/msgbuf.h +2 -0
index efc7cbe9..699f631 100644
@@ -1,6 +1,8 @@
 #ifndef _SPARC_MSGBUF_H
 #define _SPARC_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The msqid64_ds structure for sparc64 architecture.
  * Note extra padding because this structure is passed back and forth
arch/xtensa/include/uapi/asm/msgbuf.h +2 -0
index 693c967..b75458b 100644
@@ -17,6 +17,8 @@
 #ifndef _XTENSA_MSGBUF_H
 #define _XTENSA_MSGBUF_H
 
+#include <asm/ipcbuf.h>
+
 struct msqid64_ds {
 	struct ipc64_perm msg_perm;
 #ifdef __XTENSA_EB__
Signature · 1 line
ldv
#3 lore raw

PATCH 2/3 uapi: fix asm/sembuf.h userspace compilation errors

In reply to Arnd Bergmann

Include <asm/ipcbuf.h> to fix asm/sembuf.h userspace compilation errors like this:

/usr/include/asm/sembuf.h:14:20: error: field 'sem_perm' has incomplete type
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
/usr/include/asm/sembuf.h:15:2: error: unknown type name '__kernel_time_t'
__kernel_time_t sem_otime; /* last semop time */
/usr/include/asm/sembuf.h:16:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused1;
/usr/include/asm/sembuf.h:17:2: error: unknown type name '__kernel_time_t'
__kernel_time_t sem_ctime; /* last change time */
/usr/include/asm/sembuf.h:18:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused2;
/usr/include/asm/sembuf.h:19:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t sem_nsems; /* no. of semaphores in array */
/usr/include/asm/sembuf.h:20:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused3;
/usr/include/asm/sembuf.h:21:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused4;

---
 include/uapi/asm-generic/sembuf.h      | 1 +
 arch/alpha/include/uapi/asm/sembuf.h   | 2 ++
 arch/avr32/include/uapi/asm/sembuf.h   | 2 ++
 arch/frv/include/uapi/asm/sembuf.h     | 2 ++
 arch/ia64/include/uapi/asm/sembuf.h    | 2 ++
 arch/m32r/include/uapi/asm/sembuf.h    | 2 ++
 arch/mips/include/uapi/asm/sembuf.h    | 2 ++
 arch/mn10300/include/uapi/asm/sembuf.h | 2 ++
 arch/parisc/include/uapi/asm/sembuf.h  | 1 +
 arch/powerpc/include/uapi/asm/sembuf.h | 2 ++
 arch/s390/include/uapi/asm/sembuf.h    | 2 ++
 arch/sparc/include/uapi/asm/sembuf.h   | 2 ++
 arch/x86/include/uapi/asm/sembuf.h     | 2 ++
 arch/xtensa/include/uapi/asm/sembuf.h  | 1 +
 14 files changed, 25 insertions(+)
include/uapi/asm-generic/sembuf.h +1 -0
index 4cb2c13..1d910d7 100644
@@ -1,6 +1,7 @@
 #ifndef __ASM_GENERIC_SEMBUF_H
 #define __ASM_GENERIC_SEMBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/bitsperlong.h>
 
 /*
arch/alpha/include/uapi/asm/sembuf.h +2 -0
index 7b38b15..b6bdd5f 100644
@@ -1,6 +1,8 @@
 #ifndef _ALPHA_SEMBUF_H
 #define _ALPHA_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The semid64_ds structure for alpha architecture.
  * Note extra padding because this structure is passed back and forth
arch/avr32/include/uapi/asm/sembuf.h +2 -0
index 6c6f7cf..ec4ddd6 100644
@@ -1,6 +1,8 @@
 #ifndef _UAPI__ASM_AVR32_SEMBUF_H
 #define _UAPI__ASM_AVR32_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
 * The semid64_ds structure for AVR32 architecture.
  * Note extra padding because this structure is passed back and forth
arch/frv/include/uapi/asm/sembuf.h +2 -0
index 164b127..0d73641 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_SEMBUF_H
 #define _ASM_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for FR-V architecture.
  * Note extra padding because this structure is passed back and forth
arch/ia64/include/uapi/asm/sembuf.h +2 -0
index 1340fbc..2e218b0 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_IA64_SEMBUF_H
 #define _ASM_IA64_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for IA-64 architecture.
  * Note extra padding because this structure is passed back and forth
arch/m32r/include/uapi/asm/sembuf.h +2 -0
index c9873d6..58ad1f8 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_M32R_SEMBUF_H
 #define _ASM_M32R_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for m32r architecture.
  * Note extra padding because this structure is passed back and forth
arch/mips/include/uapi/asm/sembuf.h +2 -0
index e1085ac..a55ab3c 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_SEMBUF_H
 #define _ASM_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for the MIPS architecture.
  * Note extra padding because this structure is passed back and forth
arch/mn10300/include/uapi/asm/sembuf.h +2 -0
index 301f3f9..3529f55 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_SEMBUF_H
 #define _ASM_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for MN10300 architecture.
  * Note extra padding because this structure is passed back and forth
arch/parisc/include/uapi/asm/sembuf.h +1 -0
index c20971b..cff5e43 100644
@@ -1,6 +1,7 @@
 #ifndef _PARISC_SEMBUF_H
 #define _PARISC_SEMBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/bitsperlong.h>
 
 /* 
arch/powerpc/include/uapi/asm/sembuf.h +2 -0
index 99a4193..d001c0a 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_POWERPC_SEMBUF_H
 #define _ASM_POWERPC_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
arch/s390/include/uapi/asm/sembuf.h +2 -0
index 32626b0..734c9de 100644
@@ -1,6 +1,8 @@
 #ifndef _S390_SEMBUF_H
 #define _S390_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The semid64_ds structure for S/390 architecture.
  * Note extra padding because this structure is passed back and forth
arch/sparc/include/uapi/asm/sembuf.h +2 -0
index faee1be..28f7060 100644
@@ -1,6 +1,8 @@
 #ifndef _SPARC_SEMBUF_H
 #define _SPARC_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for sparc architecture.
  * Note extra padding because this structure is passed back and forth
arch/x86/include/uapi/asm/sembuf.h +2 -0
index cc2d6a3..d88cc89 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_X86_SEMBUF_H
 #define _ASM_X86_SEMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The semid64_ds structure for x86 architecture.
  * Note extra padding because this structure is passed back and forth
arch/xtensa/include/uapi/asm/sembuf.h +1 -0
index c158704..2494c41 100644
@@ -21,6 +21,7 @@
 #ifndef _XTENSA_SEMBUF_H
 #define _XTENSA_SEMBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/byteorder.h>
 
 struct semid64_ds {
Signature · 1 line
ldv
#4 lore raw

PATCH 3/3 uapi: fix asm/shmbuf.h userspace compilation errors

In reply to Arnd Bergmann

Include <asm/ipcbuf.h> to fix asm/shmbuf.h userspace compilation errors like this:

/usr/include/asm-generic/shmbuf.h:26:20: error: field 'shm_perm' has incomplete type
struct ipc64_perm shm_perm; /* operation perms */
/usr/include/asm-generic/shmbuf.h:28:2: error: unknown type name '__kernel_time_t'
__kernel_time_t shm_atime; /* last attach time */
/usr/include/asm-generic/shmbuf.h:32:2: error: unknown type name '__kernel_time_t'
__kernel_time_t shm_dtime; /* last detach time */
/usr/include/asm-generic/shmbuf.h:36:2: error: unknown type name '__kernel_time_t'
__kernel_time_t shm_ctime; /* last change time */
/usr/include/asm-generic/shmbuf.h:40:2: error: unknown type name '__kernel_pid_t'
__kernel_pid_t shm_cpid; /* pid of creator */
/usr/include/asm-generic/shmbuf.h:41:2: error: unknown type name '__kernel_pid_t'
__kernel_pid_t shm_lpid; /* pid of last operator */
/usr/include/asm-generic/shmbuf.h:42:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shm_nattch; /* no. of current attaches */
/usr/include/asm-generic/shmbuf.h:43:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused4;
/usr/include/asm-generic/shmbuf.h:44:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused5;
/usr/include/asm-generic/shmbuf.h:48:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmmax;
/usr/include/asm-generic/shmbuf.h:49:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmmin;
/usr/include/asm-generic/shmbuf.h:50:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmmni;
/usr/include/asm-generic/shmbuf.h:51:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmseg;
/usr/include/asm-generic/shmbuf.h:52:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmall;
/usr/include/asm-generic/shmbuf.h:53:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused1;
/usr/include/asm-generic/shmbuf.h:54:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused2;
/usr/include/asm-generic/shmbuf.h:55:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused3;
/usr/include/asm-generic/shmbuf.h:56:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused4;

---
 include/uapi/asm-generic/shmbuf.h      | 1 +
 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/parisc/include/uapi/asm/shmbuf.h  | 1 +
 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  | 2 ++
 13 files changed, 24 insertions(+)
include/uapi/asm-generic/shmbuf.h +1 -0
index 7e9fb2f..2a6d508 100644
@@ -1,6 +1,7 @@
 #ifndef __ASM_GENERIC_SHMBUF_H
 #define __ASM_GENERIC_SHMBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/bitsperlong.h>
 
 /*
arch/alpha/include/uapi/asm/shmbuf.h +2 -0
index 37ee84f..6156099 100644
@@ -1,6 +1,8 @@
 #ifndef _ALPHA_SHMBUF_H
 #define _ALPHA_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The shmid64_ds structure for alpha architecture.
  * Note extra padding because this structure is passed back and forth
arch/avr32/include/uapi/asm/shmbuf.h +2 -0
index b94cf8b..c8e5234 100644
@@ -1,6 +1,8 @@
 #ifndef _UAPI__ASM_AVR32_SHMBUF_H
 #define _UAPI__ASM_AVR32_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The shmid64_ds structure for i386 architecture.
  * Note extra padding because this structure is passed back and forth
arch/frv/include/uapi/asm/shmbuf.h +2 -0
index 4c6e711..943746c 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_SHMBUF_H
 #define _ASM_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The shmid64_ds structure for FR-V architecture.
  * Note extra padding because this structure is passed back and forth
arch/ia64/include/uapi/asm/shmbuf.h +2 -0
index 585002a..ca81d77e 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_IA64_SHMBUF_H
 #define _ASM_IA64_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The shmid64_ds structure for IA-64 architecture.
  * Note extra padding because this structure is passed back and forth
arch/m32r/include/uapi/asm/shmbuf.h +2 -0
index b0cdf0a..714de6e 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_M32R_SHMBUF_H
 #define _ASM_M32R_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The shmid64_ds structure for M32R architecture.
  * Note extra padding because this structure is passed back and forth
arch/mips/include/uapi/asm/shmbuf.h +2 -0
index f994438..f47d193 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_SHMBUF_H
 #define _ASM_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The shmid64_ds structure for the MIPS architecture.
  * Note extra padding because this structure is passed back and forth
arch/mn10300/include/uapi/asm/shmbuf.h +2 -0
index 8f300cc..71df684 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_SHMBUF_H
 #define _ASM_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * The shmid64_ds structure for MN10300 architecture.
  * Note extra padding because this structure is passed back and forth
arch/parisc/include/uapi/asm/shmbuf.h +1 -0
index 750e13e..d8105ef 100644
@@ -1,6 +1,7 @@
 #ifndef _PARISC_SHMBUF_H
 #define _PARISC_SHMBUF_H
 
+#include <asm/ipcbuf.h>
 #include <asm/bitsperlong.h>
 
 /* 
arch/powerpc/include/uapi/asm/shmbuf.h +2 -0
index 8efa396..7937289 100644
@@ -1,6 +1,8 @@
 #ifndef _ASM_POWERPC_SHMBUF_H
 #define _ASM_POWERPC_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /*
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
arch/s390/include/uapi/asm/shmbuf.h +2 -0
index eed2e28..9ce1d9f 100644
@@ -1,6 +1,8 @@
 #ifndef _S390_SHMBUF_H
 #define _S390_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The shmid64_ds structure for S/390 architecture.
  * Note extra padding because this structure is passed back and forth
arch/sparc/include/uapi/asm/shmbuf.h +2 -0
index 83a1605..f651952 100644
@@ -1,6 +1,8 @@
 #ifndef _SPARC_SHMBUF_H
 #define _SPARC_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 /* 
  * The shmid64_ds structure for sparc architecture.
  * Note extra padding because this structure is passed back and forth
arch/xtensa/include/uapi/asm/shmbuf.h +2 -0
index ad4b012..ad90d05 100644
@@ -19,6 +19,8 @@
 #ifndef _XTENSA_SHMBUF_H
 #define _XTENSA_SHMBUF_H
 
+#include <asm/ipcbuf.h>
+
 #if defined (__XTENSA_EL__)
 struct shmid64_ds {
 	struct ipc64_perm	shm_perm;	/* operation perms */
Signature · 1 line
ldv
maintainer Acked-by on v1 3/3
#5 lore raw

Re: [PATCH 3/3] uapi: fix asm/shmbuf.h userspace compilation errors

Quoted 40 lines · Dmitry V. Levin

Include <asm/ipcbuf.h> to fix asm/shmbuf.h userspace compilation errors like this:

/usr/include/asm-generic/shmbuf.h:26:20: error: field 'shm_perm' has incomplete type
struct ipc64_perm shm_perm; /* operation perms */
/usr/include/asm-generic/shmbuf.h:28:2: error: unknown type name '__kernel_time_t'
__kernel_time_t shm_atime; /* last attach time */
/usr/include/asm-generic/shmbuf.h:32:2: error: unknown type name '__kernel_time_t'
__kernel_time_t shm_dtime; /* last detach time */
/usr/include/asm-generic/shmbuf.h:36:2: error: unknown type name '__kernel_time_t'
__kernel_time_t shm_ctime; /* last change time */
/usr/include/asm-generic/shmbuf.h:40:2: error: unknown type name '__kernel_pid_t'
__kernel_pid_t shm_cpid; /* pid of creator */
/usr/include/asm-generic/shmbuf.h:41:2: error: unknown type name '__kernel_pid_t'
__kernel_pid_t shm_lpid; /* pid of last operator */
/usr/include/asm-generic/shmbuf.h:42:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shm_nattch; /* no. of current attaches */
/usr/include/asm-generic/shmbuf.h:43:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused4;
/usr/include/asm-generic/shmbuf.h:44:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused5;
/usr/include/asm-generic/shmbuf.h:48:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmmax;
/usr/include/asm-generic/shmbuf.h:49:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmmin;
/usr/include/asm-generic/shmbuf.h:50:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmmni;
/usr/include/asm-generic/shmbuf.h:51:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmseg;
/usr/include/asm-generic/shmbuf.h:52:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t shmall;
/usr/include/asm-generic/shmbuf.h:53:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused1;
/usr/include/asm-generic/shmbuf.h:54:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused2;
/usr/include/asm-generic/shmbuf.h:55:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused3;
/usr/include/asm-generic/shmbuf.h:56:2: error: unknown type name '__kernel_ulong_t'
__kernel_ulong_t __unused4;

Quoted 2 lines

---