aboutsummaryrefslogtreecommitdiffstats
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorOleg Nesterov <[email protected]>2011-03-06 17:02:54 +0000
committerOleg Nesterov <[email protected]>2011-04-09 13:53:56 +0000
commit0e028465d18b7c6797fcbdea632299d16097c5cd (patch)
treed03a1f0f688e9c4a780b2a1a3ef8354378b0ad42 /net/unix/af_unix.c
parentexec: introduce struct user_arg_ptr (diff)
downloadkernel-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