Messages in this thread | | | Date | Sat, 26 Feb 2011 13:57:31 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 3/5] exec: unify compat_do_execve() code |
| |
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.
| |