diff options
| author | Oleg Nesterov <[email protected]> | 2011-03-06 17:02:54 +0000 |
|---|---|---|
| committer | Oleg Nesterov <[email protected]> | 2011-04-09 13:53:56 +0000 |
| commit | 0e028465d18b7c6797fcbdea632299d16097c5cd (patch) | |
| tree | d03a1f0f688e9c4a780b2a1a3ef8354378b0ad42 /net/unix/af_unix.c | |
| parent | exec: introduce struct user_arg_ptr (diff) | |
| download | kernel-0e028465d18b7c6797fcbdea632299d16097c5cd.tar.gz kernel-0e028465d18b7c6797fcbdea632299d16097c5cd.zip | |
exec: unify do_execve/compat_do_execve code
Add the appropriate members into struct user_arg_ptr and teach
get_user_arg_ptr() to handle is_compat = T case correctly.
This allows us to remove the compat_do_execve() code from fs/compat.c
and reimplement compat_do_execve() as the trivial wrapper on top of
do_execve_common(is_compat => true).
In fact, this fixes another (minor) bug. "compat_uptr_t str" can
overflow after "str += len" in compat_copy_strings() if a 64bit
application execs via sys32_execve().
Unexport acct_arg_size() and get_arg_page(), fs/compat.c doesn't
need them any longer.
Signed-off-by: Oleg Nesterov <[email protected]>
Reviewed-by: KOSAKI Motohiro <[email protected]>
Tested-by: KOSAKI Motohiro <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions
