Re: [PATCH 02/30] x86-64: Use explicit sizes in sigcontext.h, preparefor x32

From: H. Peter Anvin
Date: Wed Feb 22 2012 - 13:14:46 EST


On 02/22/2012 04:22 AM, Arnd Bergmann wrote:
> On Monday 20 February 2012, H. Peter Anvin wrote:
>> 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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/