On 02/26, Oleg Nesterov wrote: > > Once again, to me "void __user*" looks better (just simpler). In this > case get_arg_ptr() becomes (without const/__user for the clarity) > > void *get_arg_ptr(void **argv, int argc, bool compat) > { > char *ptr; > > #ifdef CONFIG_COMPAT > if (unlikely(compat)) { > compat_uptr_t *a = argv; > compat_uptr_t p; > > if (get_user(p, a + argc)) > return ERR_PTR(-EFAULT); > > return compat_ptr(p); > } > #endif > > if (get_user(ptr, argv + argc)) > return ERR_PTR(-EFAULT); > > return ptr; > } > > Otherwise, get_arg_ptr() should return conditional_user_ptr_t as well, No, this is not true, I am stupid. Still, > this looks like the unnecessary complication to me, but of course this > is subjective. > > So, what do you think? Yes, please. Oleg. -- 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=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>