Re: [PATCH v3 2/4] exec: introduce struct conditional_ptr

From: KOSAKI Motohiro
Date: Wed Mar 02 2011 - 22:08:28 EST


> No functional changes, preparation.
>
> Introduce struct conditional_ptr, change do_execve() paths to use it
> instead of "char __user * const __user *argv".
>
> This makes the argv/envp arguments opaque, we are ready to handle the
> compat case which needs argv pointing to compat_uptr_t.
>
> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
> ---
>
> fs/exec.c | 42 ++++++++++++++++++++++++++++++------------
> 1 file changed, 30 insertions(+), 12 deletions(-)
>
> --- 38/fs/exec.c~2_typedef_for_argv 2011-03-02 15:40:22.000000000 +0100
> +++ 38/fs/exec.c 2011-03-02 15:40:44.000000000 +0100
> @@ -395,12 +395,15 @@ err:
> return err;
> }
>
> -static const char __user *
> -get_arg_ptr(const char __user * const __user *argv, int argc)
> +struct conditional_ptr {

I _personally_ don't like "conditional". Its name is based on code logic.
It's unclear what mean "conditional". From data strucuture view, It is
"opaque userland pointer".

but again, it is my personal preference.

Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/