From: Riku Voipio Date: Wed, 23 Apr 2014 08:26:34 +0000 (+0300) Subject: signal/all/do_sigaltstack remove __get_user value check X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9eeb8306d56e8fd831bbbac6e3cfe69a40312a33;p=people%2Fpauldu%2Fqemu.git signal/all/do_sigaltstack remove __get_user value check Access is already checked in the lock_user_struct call before. Signed-off-by: Riku Voipio Reviewed-by: Peter Maydell --- diff --git a/linux-user/signal.c b/linux-user/signal.c index 2a1c681c7d..f55076d41e 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -619,11 +619,12 @@ abi_long do_sigaltstack(abi_ulong uss_addr, abi_ulong uoss_addr, abi_ulong sp) struct target_sigaltstack ss; ret = -TARGET_EFAULT; - if (!lock_user_struct(VERIFY_READ, uss, uss_addr, 1) - || __get_user(ss.ss_sp, &uss->ss_sp) - || __get_user(ss.ss_size, &uss->ss_size) - || __get_user(ss.ss_flags, &uss->ss_flags)) + if (!lock_user_struct(VERIFY_READ, uss, uss_addr, 1)) { goto out; + } + __get_user(ss.ss_sp, &uss->ss_sp); + __get_user(ss.ss_size, &uss->ss_size); + __get_user(ss.ss_flags, &uss->ss_flags); unlock_user_struct(uss, uss_addr, 0); ret = -TARGET_EPERM;