From: Jeff Dike UML/x86_64 needs the same packing of struct epoll_event as x86_64. Signed-off-by: Jeff Dike Cc: Davide Libenzi Cc: Signed-off-by: Andrew Morton --- include/linux/eventpoll.h | 7 +++++++ 1 file changed, 7 insertions(+) diff -puN include/linux/eventpoll.h~uml-fix-epoll include/linux/eventpoll.h --- a/include/linux/eventpoll.h~uml-fix-epoll +++ a/include/linux/eventpoll.h @@ -31,12 +31,19 @@ /* * On x86-64 make the 64bit structure have the same alignment as the * 32bit structure. This makes 32bit emulation easier. + * + * UML/x86_64 needs the same packing as x86_64 - UML + UML_X86 + + * 64_BIT adds up to UML/x86_64. */ #ifdef __x86_64__ #define EPOLL_PACKED __attribute__((packed)) #else +#if defined(CONFIG_UML) && defined(CONFIG_UML_X86) && defined(CONFIG_64BIT) +#define EPOLL_PACKED __attribute__((packed)) +#else #define EPOLL_PACKED #endif +#endif struct epoll_event { __u32 events; _