lkml.org 
[lkml]   [2011]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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.



\
 
 \ /
  Last update: 2011-02-26 14:09    [W:0.850 / U:0.692 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site