Re: [PATCH 02/30] x86-64: Use explicit sizes in sigcontext.h, prepare for x32
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2012-02-22 18:14:48
Also in:
lkml
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2012-02-22 18:14:48
Also in:
lkml
On 02/22/2012 04:22 AM, Arnd Bergmann wrote:
On Monday 20 February 2012, H. Peter Anvin wrote:quoted
We are using __u64 as x86-32 compatible since we are sharing most of the really complex path (like ioctl) with i386 much more so than x86-64. So it is defined in userspace as: typedef unsigned long long __u64 __attribute__((aligned(4))); __aligned_u64 obviously is naturally aligned, which matches uint64_t is userspace.Has someone audited the interfaces to check if there are data structures that use a plain signed or unsigned "long long" instead of __s64/__u64 in places where i386 differs from the other compat implementations? I found DRM_IOCTL_UPDATE_DRAW, but there could be more like this one.
Has someone audited every single ioctl in the kernel? Definitely not, which is why x32 is marked EXPERIMENTAL. I think it is still time for this work to switch to happening in the upstream, however. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.