On Sat, 10 Feb 2007, Ralf Baechle wrote: > Unfortunately struct epoll_event contains a gap so it bets on identical > padding rules between native and compat ABI and anyway, padding is wasted > space so the struct members should have been swapped when this structure > was created. Oh well, too late. You really should have needed padding in there, since even if you swapped the members, sizeof(struct epoll_event) would still need to be 16, if alignof(u64) == 8. Either adding an extra auxilliary u32, or make the two members be u64, would have been ok. I'll be posting a patch that adds the compat_ layer for epoll in kernel/compat.c. Architectures that needs it (currently only ARM-EABI and IA64 use a compat code for epoll), should wire them up. - Davide