On Tue, Jan 21, 2014 at 09:06:59AM -0800, H. Peter Anvin wrote: > On 12/27/2013 02:14 PM, H.J. Lu wrote: > > 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 > > > > As Catalin indirectly pointed out, I had made a followup to the wrong > version of the patchset (because I commented to Christoph's feedback.) > This is threaded to the proper version (without unnecessary #if > __BITS_PER_LONG.) >From an arm64 ILP32 perspective (though still work in progress), the patches look fine. We'll continue the trend with similar changes to generic semid64_ds. In case the series is not committed yet: Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html