linux-user patches for 2.3-rc1
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUAVRAafLRIkN7ePJvAAQhJdA//YXWICMENECsj8ds8UFh8OswzvkiB9IRV JJdzjfRAjGKi2vj3mh9G2djnOWfwXui/P0d5upZ3lP+IE0QHN2mU+ZgD7TH4FcVl 9ZxSPtiXP8sKqrVAojk04nYrRVpnyDGtrlEDRShFCpDCnoIZJyQBJxIsorctfaQd 5KXrJcHIEFVQzp8vQ5DT0wZQfkEajmXNoENK7whaTeITeIYeVL4XmwhNbxcTmyX5 bxthelavp/U4mUT20llLa1k52HSnK/vNzsU4ncJ/zwEv8MVxPRWrE6NNNQhtCotS 1o+i5WH6N8GI38vyu33tyLgDO32Xzjd4cMSVglaqs6vK5Xr8Nrjjvc0DH+x3h5VT 5b+jSwPbATwRft21AYvpiKMrSF8Vq8het7Qa6xY16FL7Z/PS3vC6GM8wmKWmLUhT 0IeHL2FgNmDQw9w8XIK1S90TlAbQILAzoYQuEMxaNa/ItXQuNnohiwEnMsrCJKrU 3+SY9d789A+Zz+PPCAdZQ6ETP35vka4fSV0cq8fDTH5nr9ehUi7pdTdj2qvIeCkq r5UevHwXwJnh0HHdQJZkCHnrjXAoQHxIAlemSCGxzcX+Yfo2fgbHvbWU8GVE8FqY aDWpJ8kXzpWqb0d65NpgRoDDXQYSrH9U8e4gWi1LcREA4hzdeHRlomNf9R+4pu+I 39eTe9bTyGo= =lL2u -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20150323' into staging linux-user patches for 2.3-rc1 # gpg: Signature made Mon Mar 23 13:51:56 2015 GMT using RSA key ID DE3C9BC0 # gpg: Good signature from "Riku Voipio <riku.voipio@iki.fi>" # gpg: aka "Riku Voipio <riku.voipio@linaro.org>" * remotes/riku/tags/pull-linux-user-20150323: linux-user: fix broken cpu_copy() linux-user: fix emulation of splice syscall linux-user/main.c: Remove redundant end_exclusive() in arm_kernel_cmpxchg64_helper() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
e7aab6d6e3
|
@ -525,8 +525,6 @@ segv:
|
|||
info.si_code = TARGET_SEGV_MAPERR;
|
||||
info._sifields._sigfault._addr = env->exception.vaddress;
|
||||
queue_signal(env, info.si_signo, &info);
|
||||
|
||||
end_exclusive();
|
||||
}
|
||||
|
||||
/* Handle a jump to the kernel code page. */
|
||||
|
@ -3453,7 +3451,7 @@ CPUArchState *cpu_copy(CPUArchState *env)
|
|||
{
|
||||
CPUState *cpu = ENV_GET_CPU(env);
|
||||
CPUState *new_cpu = cpu_init(cpu_model);
|
||||
CPUArchState *new_env = cpu->env_ptr;
|
||||
CPUArchState *new_env = new_cpu->env_ptr;
|
||||
CPUBreakpoint *bp;
|
||||
CPUWatchpoint *wp;
|
||||
|
||||
|
|
|
@ -9351,15 +9351,29 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
{
|
||||
loff_t loff_in, loff_out;
|
||||
loff_t *ploff_in = NULL, *ploff_out = NULL;
|
||||
if(arg2) {
|
||||
get_user_u64(loff_in, arg2);
|
||||
if (arg2) {
|
||||
if (get_user_u64(loff_in, arg2)) {
|
||||
goto efault;
|
||||
}
|
||||
ploff_in = &loff_in;
|
||||
}
|
||||
if(arg4) {
|
||||
get_user_u64(loff_out, arg2);
|
||||
if (arg4) {
|
||||
if (get_user_u64(loff_out, arg4)) {
|
||||
goto efault;
|
||||
}
|
||||
ploff_out = &loff_out;
|
||||
}
|
||||
ret = get_errno(splice(arg1, ploff_in, arg3, ploff_out, arg5, arg6));
|
||||
if (arg2) {
|
||||
if (put_user_u64(loff_in, arg2)) {
|
||||
goto efault;
|
||||
}
|
||||
}
|
||||
if (arg4) {
|
||||
if (put_user_u64(loff_out, arg4)) {
|
||||
goto efault;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue