Ok, everything looks fine to me. Except looking at this, I don't think this part: On Sat, Mar 5, 2011 at 12:31 PM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > > struct user_arg_ptr { > - const char __user *const __user *native; > +#ifdef CONFIG_COMPAT > + bool is_compat; > +#endif > + union { > + const char __user *const __user *native; > + compat_uptr_t __user *compat; > + } ptr; > }; will necessarily even compile on an architecture that doesn't have any 'compat' support. Do we even define 'compat_uptr_t' for that case? I don't think so. So I suspect you need two of those annoying #ifdef's. Or we need to have some way to guarantee that 'compat_uptr_t' exists. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href