Re: [PATCH] Fix/add raw1394 CONFIG_COMPAT code

From: Arnd Bergmann
Date: Sat May 19 2007 - 19:57:19 EST


On Monday 07 May 2007, Petr Vandrovec wrote:
> +struct raw1394_cycle_timer32 {
> +        __u32 cycle_timer;
> +        __u64 local_time;
> +} __attribute__((packed));

Note that this data structure only needs conversion on x86_64 and ia64, but
not on powerpc and other 64 bit architectures that align __u64 also in
32 bit mode.

I would suggest you introduce a new __compat_u64 type as

typedef __u64 __compat_u64 __attribute__((aligned(4)));

in include/asm-{x86_64,ia64}/compat.h and as

typdef __u64 __compat_u64;

in the other architectures. Other people have hit the same problem
before and found varying workarounds, but I think we should just
do it correctly now.

Arnd <><
-
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/