All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.