Thread (71 messages) 71 messages, 8 authors, 2012-03-06

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

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help