public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] Update kernel uabi header files for x32
@ 2013-12-27 17:25 H.J. Lu
  2013-12-27 17:25 ` [PATCH 1/8] Use __kernel_long_t in struct timex H.J. Lu
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: H.J. Lu @ 2013-12-27 17:25 UTC (permalink / raw)
  To: H. Peter Anvin, LKML; +Cc: H.J. Lu

X32 uses the same kernel system call interface as x86-64 for many
system calls.  However, "long" is 64-bit for x86-64 and is 32-bit for
x32.  Where long or unsigned long are used in struct types for such
system calls, they are wrong for x32.  __kernel_[u]long_t is [unsigned]
long for all ABIs other than x32.  I am submitting 8 patches to replace
long or unsigned long with __kernel_[u]long_t so that those struct types
can be used with x32 system calls.

H.J. Lu (8):
  Use __kernel_long_t in struct timex
  Use __kernel_long_t/__kernel_ulong_t in <linux/resource.h>
  Use __kernel_ulong_t in uapi struct ipc64_perm
  Use __kernel_long_t in struct msgbuf
  Use __kernel_ulong_t in struct msqid64_ds
  Use __kernel_ulong_t in x86 struct semid64_ds
  Use __kernel_ulong_t in shmid64_ds/shminfo64/shm_info
  Use __kernel_long_t in struct mq_attr

 arch/x86/include/uapi/asm/sembuf.h | 10 ++++-----
 include/uapi/asm-generic/ipcbuf.h  |  5 +++++
 include/uapi/asm-generic/msgbuf.h  | 19 +++++++++++-----
 include/uapi/asm-generic/shmbuf.h  | 36 +++++++++++++++++++++--------
 include/uapi/linux/mqueue.h        | 18 ++++++++++-----
 include/uapi/linux/msg.h           |  8 +++++--
 include/uapi/linux/resource.h      | 26 +++++++++++++++++++--
 include/uapi/linux/shm.h           | 14 +++++++++---
 include/uapi/linux/timex.h         | 46 +++++++++++++++++++++++++++++++-------
 9 files changed, 143 insertions(+), 39 deletions(-)

-- 
1.8.4.2


^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 0/8] Update kernel uabi header files for x32
@ 2013-12-27 22:14 H.J. Lu
  2013-12-27 22:14 ` [PATCH 1/8] Use __kernel_long_t in struct timex H.J. Lu
  0 siblings, 1 reply; 18+ messages in thread
From: H.J. Lu @ 2013-12-27 22:14 UTC (permalink / raw)
  To: H. Peter Anvin, LKML; +Cc: H.J. Lu

X32 uses the same kernel system call interface as x86-64 for many
system calls.  However, "long" is 64-bit for x86-64 and is 32-bit for
x32.  Where long or unsigned long are used in struct types for such
system calls, they are wrong for x32.  __kernel_[u]long_t is [unsigned]
long for all ABIs other than x32.  I am submitting 8 patches to replace
long or unsigned long with __kernel_[u]long_t so that those struct types
can be used with x32 system calls.

H.J. Lu (8):
  Use __kernel_long_t in struct timex
  Use __kernel_long_t/__kernel_ulong_t in <linux/resource.h>
  Use __kernel_ulong_t in uapi struct ipc64_perm
  Use __kernel_long_t in struct msgbuf
  Use __kernel_ulong_t in struct msqid64_ds
  Use __kernel_ulong_t in x86 struct semid64_ds
  Use __kernel_ulong_t in shmid64_ds/shminfo64/shm_info
  Use __kernel_long_t in struct mq_attr

 arch/x86/include/uapi/asm/sembuf.h | 10 ++++-----
 include/uapi/asm-generic/ipcbuf.h  |  5 +++++
 include/uapi/asm-generic/msgbuf.h  | 19 +++++++++++-----
 include/uapi/asm-generic/shmbuf.h  | 36 +++++++++++++++++++++--------
 include/uapi/linux/mqueue.h        | 18 ++++++++++-----
 include/uapi/linux/msg.h           |  8 +++++--
 include/uapi/linux/resource.h      | 26 +++++++++++++++++++--
 include/uapi/linux/shm.h           | 14 +++++++++---
 include/uapi/linux/timex.h         | 46 +++++++++++++++++++++++++++++++-------
 9 files changed, 143 insertions(+), 39 deletions(-)

-- 
1.8.4.2


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-01-22 15:21 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-27 17:25 [PATCH 0/8] Update kernel uabi header files for x32 H.J. Lu
2013-12-27 17:25 ` [PATCH 1/8] Use __kernel_long_t in struct timex H.J. Lu
2013-12-27 22:06   ` H. Peter Anvin
2014-01-21 16:58   ` Catalin Marinas
2014-01-21 17:03     ` H. Peter Anvin
2014-01-21 17:12       ` Catalin Marinas
2013-12-27 17:25 ` [PATCH 2/8] Use __kernel_long_t/__kernel_ulong_t in <linux/resource.h> H.J. Lu
2013-12-27 17:25 ` [PATCH 3/8] Use __kernel_ulong_t in uapi struct ipc64_perm H.J. Lu
2013-12-27 17:25 ` [PATCH 4/8] Use __kernel_long_t in struct msgbuf H.J. Lu
2013-12-27 17:25 ` [PATCH 5/8] Use __kernel_ulong_t in struct msqid64_ds H.J. Lu
2013-12-27 17:25 ` [PATCH 6/8] Use __kernel_ulong_t in x86 struct semid64_ds H.J. Lu
2014-01-21 17:10   ` Catalin Marinas
2014-01-21 18:06     ` H.J. Lu
2014-01-22 14:57       ` Catalin Marinas
2014-01-22 15:20         ` H. Peter Anvin
2013-12-27 17:25 ` [PATCH 7/8] Use __kernel_ulong_t in shmid64_ds/shminfo64/shm_info H.J. Lu
2013-12-27 17:25 ` [PATCH 8/8] Use __kernel_long_t in struct mq_attr H.J. Lu
  -- strict thread matches above, loose matches on Subject: below --
2013-12-27 22:14 [PATCH 0/8] Update kernel uabi header files for x32 H.J. Lu
2013-12-27 22:14 ` [PATCH 1/8] Use __kernel_long_t in struct timex H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox