linux-user: Remove dead error-checking code
Remove some dead code spotted by Coverity (CID 1009855, 1390854, 1390847). The underlying cause in all these cases is the same: QEMU's put_user operations can't result in errors, but the kernel's equivalent does. So when code was copied from the kernel signal-frame-setup/teardown code, checks on error flags that were needed in the kernel became dead code for us. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20181019161715.12122-1-peter.maydell@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
b4c0595446
commit
e285977e77
@ -334,9 +334,6 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
|
||||
(uint32_t *)(frame->retcode + 0));
|
||||
__put_user(0x4e40, (uint16_t *)(frame->retcode + 4));
|
||||
|
||||
if (err)
|
||||
goto give_sigsegv;
|
||||
|
||||
/* Set up to return from userspace */
|
||||
|
||||
env->aregs[7] = frame_addr;
|
||||
|
@ -279,7 +279,6 @@ long do_sigreturn(CPUSH4State *regs)
|
||||
sigset_t blocked;
|
||||
target_sigset_t target_set;
|
||||
int i;
|
||||
int err = 0;
|
||||
|
||||
frame_addr = regs->gregs[15];
|
||||
trace_user_do_sigreturn(regs, frame_addr);
|
||||
@ -292,9 +291,6 @@ long do_sigreturn(CPUSH4State *regs)
|
||||
__get_user(target_set.sig[i], &frame->extramask[i - 1]);
|
||||
}
|
||||
|
||||
if (err)
|
||||
goto badframe;
|
||||
|
||||
target_to_host_sigset_internal(&blocked, &target_set);
|
||||
set_sigmask(&blocked);
|
||||
|
||||
|
@ -256,8 +256,6 @@ void setup_frame(int sig, struct target_sigaction *ka,
|
||||
/* t 0x10 */
|
||||
val32 = 0x91d02010;
|
||||
__put_user(val32, &sf->insns[1]);
|
||||
if (err)
|
||||
goto sigsegv;
|
||||
}
|
||||
unlock_user(sf, sf_addr, sizeof(struct target_signal_frame));
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user