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));
|
(uint32_t *)(frame->retcode + 0));
|
||||||
__put_user(0x4e40, (uint16_t *)(frame->retcode + 4));
|
__put_user(0x4e40, (uint16_t *)(frame->retcode + 4));
|
||||||
|
|
||||||
if (err)
|
|
||||||
goto give_sigsegv;
|
|
||||||
|
|
||||||
/* Set up to return from userspace */
|
/* Set up to return from userspace */
|
||||||
|
|
||||||
env->aregs[7] = frame_addr;
|
env->aregs[7] = frame_addr;
|
||||||
|
@ -279,7 +279,6 @@ long do_sigreturn(CPUSH4State *regs)
|
|||||||
sigset_t blocked;
|
sigset_t blocked;
|
||||||
target_sigset_t target_set;
|
target_sigset_t target_set;
|
||||||
int i;
|
int i;
|
||||||
int err = 0;
|
|
||||||
|
|
||||||
frame_addr = regs->gregs[15];
|
frame_addr = regs->gregs[15];
|
||||||
trace_user_do_sigreturn(regs, frame_addr);
|
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]);
|
__get_user(target_set.sig[i], &frame->extramask[i - 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err)
|
|
||||||
goto badframe;
|
|
||||||
|
|
||||||
target_to_host_sigset_internal(&blocked, &target_set);
|
target_to_host_sigset_internal(&blocked, &target_set);
|
||||||
set_sigmask(&blocked);
|
set_sigmask(&blocked);
|
||||||
|
|
||||||
|
@ -256,8 +256,6 @@ void setup_frame(int sig, struct target_sigaction *ka,
|
|||||||
/* t 0x10 */
|
/* t 0x10 */
|
||||||
val32 = 0x91d02010;
|
val32 = 0x91d02010;
|
||||||
__put_user(val32, &sf->insns[1]);
|
__put_user(val32, &sf->insns[1]);
|
||||||
if (err)
|
|
||||||
goto sigsegv;
|
|
||||||
}
|
}
|
||||||
unlock_user(sf, sf_addr, sizeof(struct target_signal_frame));
|
unlock_user(sf, sf_addr, sizeof(struct target_signal_frame));
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user