From nobody Sat May 18 04:13:29 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1667465488611711.1768917923947; Thu, 3 Nov 2022 01:51:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oqVuy-0006bk-2N; Thu, 03 Nov 2022 04:49:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVum-0006Wm-NM for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:41 -0400 Received: from mout.kundenserver.de ([212.227.126.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVuj-0004B5-Hr for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:31 -0400 Received: from quad ([82.142.8.70]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1Mae7u-1pREZp0J10-00c6T0; Thu, 03 Nov 2022 09:49:27 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Cc: Laurent Vivier , Helge Deller Subject: [PULL 1/4] linux-user/hppa: Detect glibc ABORT_INSTRUCTION and EXCP_BREAK handler Date: Thu, 3 Nov 2022 09:49:22 +0100 Message-Id: <20221103084925.3860524-2-laurent@vivier.eu> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221103084925.3860524-1-laurent@vivier.eu> References: <20221103084925.3860524-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:gM6NXiRLzzPvpRwDch01M6NZKw/xXzglwZTPhxlcnW3lX1iVH6M dk3dNk9tzlicme6QY3f0LImIgH48eixgY56KuFXeVqJ5n6J/rp+KfINP4/sEGnq4pVm6y0g f2oOHT084alPLzRtNwldxT2rV2ZLjQzKjMTgoCwnmTOUsEUqFFiK1EbuSC+bK/5IQtRQEIl MgLXqH4CMIlG/gV/GSFjQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:XZqdCWJtEdY=:OVaka1aAPzzN8MOTZirB0o TguoM0jDNLsaSXG7s/z9GzVW6mN2mk7Dl8SxqxSjqzhXE5RUuk4wPrUpCeF+TuXrPDfW8OK7A QJhXLq3DSPLJFc8yZf8Z2AKgQh0ckYm3UP3//mOdkhtIT+l7RxygwoUbm4/HphMVQx3dOJzQe t9/GwqCUAETQbILC5a5ODLe0zrtTA3ycHka35LRoVHW6BT8dNYBtvSM14VeRyQW7Nrr+zBaCp gu3KtgV4fzPTP4PNTblz9kQzH53tndwiE3QUZ/2L+8ZtgTA6Fdz5j5ei2n1Wse43Sp6mXkIfd hDxUfY3/7Fxj8Sg3UHUo32OjsYoNj7yo2Ku5cXgJFPfbHrPxEDj93NDapJZdHYheZ5U1zkNgM e/7oMSHmn0nw3/ZGn5Scc0Ys2Gefdz8IN4mWJrk82GwZikmIeGuLRHbHqGnol/VGCEpcto+AT fCXqUZG64ABDmqx7Q7MBuxY3tOwHjxhazAxR5gsRBdli99+vAVFzgkDLpbtBogdX/IKkIAyEM GqhR4/NT0Jdth21hw8bWCsQXboIXhtiIR4nVJo0JsZ1iuUSP8LnBjbYKILT17ToWkBkLDzRSF +yp92dACaUywk3DhVRhu3PlJ5vXKJIwZBMYRJXENfLi+zkrJjpnJHQIk+KW9DFlowooVxq5DJ cU1AbaUd9haGFTPawvA9dDATZodv3cXO4DIvYLTYbfSubEDTREOmDGJX6GMVkFBadBp2ay3rG cWcMbYCMzMtcJ6FZAnCJE3tAPvxcDzhg1pVCO5zQikTiqMa0P3AncrZ1cVx+FK8wwuskcNAnW xx02tbq Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.126.134; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1667465490193100003 Content-Type: text/plain; charset="utf-8" From: Helge Deller The glibc on the hppa platform uses the "iitlbp %r0,(%sr0, %r0)" assembler instruction as ABORT_INSTRUCTION. If this (in userspace context) illegal assembler statement is found, dump the registers and report the failure to userspace the same way as the Linux kernel on physical hardware. For other illegal instructions report TARGET_ILL_ILLOPC instead of TARGET_ILL_ILLOPN as si_code. Additionally add the missing EXCP_BREAK exception handler which occurs when the "break x,y" assembler instruction is executed and report EXCP_ASSIST traps. Signed-off-by: Helge Deller Message-Id: Signed-off-by: Laurent Vivier --- linux-user/hppa/cpu_loop.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index 1ef3b461911c..8ab133510602 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -147,15 +147,20 @@ void cpu_loop(CPUHPPAState *env) force_sig_fault(TARGET_SIGSEGV, TARGET_SEGV_MAPERR, env->iaoq_= f); break; case EXCP_ILL: - EXCP_DUMP(env, "qemu: got CPU exception 0x%x - aborting\n", tr= apnr); - force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->iaoq_f); + EXCP_DUMP(env, "qemu: EXCP_ILL exception %#x\n", trapnr); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->iaoq_f); break; case EXCP_PRIV_OPR: - EXCP_DUMP(env, "qemu: got CPU exception 0x%x - aborting\n", tr= apnr); - force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVOPC, env->iaoq_f); + /* check for glibc ABORT_INSTRUCTION "iitlbp %r0,(%sr0, %r0)" = */ + EXCP_DUMP(env, "qemu: EXCP_PRIV_OPR exception %#x\n", trapnr); + if (env->cr[CR_IIR] =3D=3D 0x04000000) { + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->iaoq_f); + } else { + force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVOPC, env->iaoq_f); + } break; case EXCP_PRIV_REG: - EXCP_DUMP(env, "qemu: got CPU exception 0x%x - aborting\n", tr= apnr); + EXCP_DUMP(env, "qemu: EXCP_PRIV_REG exception %#x\n", trapnr); force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVREG, env->iaoq_f); break; case EXCP_OVERFLOW: @@ -167,6 +172,10 @@ void cpu_loop(CPUHPPAState *env) case EXCP_ASSIST: force_sig_fault(TARGET_SIGFPE, 0, env->iaoq_f); break; + case EXCP_BREAK: + EXCP_DUMP(env, "qemu: EXCP_BREAK exception %#x\n", trapnr); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->iaoq_f= & ~3); + break; case EXCP_DEBUG: force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->iaoq_f= ); break; --=20 2.37.3 From nobody Sat May 18 04:13:29 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1667465475829564.5355304914983; Thu, 3 Nov 2022 01:51:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oqVv1-0006ds-Ej; Thu, 03 Nov 2022 04:49:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVuq-0006YO-Hg for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:41 -0400 Received: from mout.kundenserver.de ([212.227.126.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVum-0004BB-AC for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:34 -0400 Received: from quad ([82.142.8.70]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1M60HD-1owJjg2PRz-007QLv; Thu, 03 Nov 2022 09:49:27 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Cc: Laurent Vivier , Helge Deller , Richard Henderson Subject: [PULL 2/4] linux-user: Add close_range() syscall Date: Thu, 3 Nov 2022 09:49:23 +0100 Message-Id: <20221103084925.3860524-3-laurent@vivier.eu> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221103084925.3860524-1-laurent@vivier.eu> References: <20221103084925.3860524-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:OMuKM6XGJRrCYJA0EyyV0txYvybMK6TNBtMkOcxwpyg7/u5rc5t E8lcFnodQ3lmOO1KPmBgkXW98Z9svnng1QIScnSO8p1/TKGpV+UwhVAC59Hudy7x7Sg1HyQ BxnJX6DkECmgp1yagXvMAlFZ8nrtrN3JAglt3PFGLO5Y3bK5DT/GwtajcggBTxDH895PBky 5kpsPQq2RuqqG71YboPyg== X-UI-Out-Filterresults: notjunk:1;V03:K0:pDPZUDN2Qlg=:spj9zDi3mqo0QxqM+PSwZf pvpER+Hf5Rn7OCuD2xGNQXQC923XjNm2BfiiVEBogxEQsowX7wMMiTpDb3Cfwxsz2ZMjBKcHJ vcQ9ZpifZ6dVfbnA/3WP4WKRSzeOAL+Cizi29oJn+QorCGF/lp1lt01NMHpBEluFBHRZVTx4q EZcKUDRVrw+LjL7GNjnrEVxjvoAj2N1Ux4ebT93FHZgWcaCsTLYMRlWAuq8TMRJ2lU3pgk+P/ W8di5B9D3BS1Cq1AJHStvEBP9aZOZY2a4STpzgbzde9HCjb6o/emGazO0GIq8jeatw4j8DZC7 /ClLGovtcN5S7ECOVDnEFbA+r8eyxY9fY/xWLVszcpPTgiGQScbJbNlGOVw7DoD3YjqHSoLT2 gqYy1d45HdNkb70kk13CAaAaP4eNlmWbAqmZOa4g/FjjgqP1eXtnkUxj01WQ6r4bzNIPfckyu x60kOM4Mu9slrWHZzON2x3AILIs3TH2ZYvfpoJcpaJr2topEBZOLuqtysBYxlxU9pkfPPhUYV CSCpyIs1ZNzyOT00LZ1XLnzXgu3JCUeyHPjn2ic0X2Y0xsIEw4QBYqHXMluTnVTY8QR+6es3F 4YO9ulW5LBDewwno2a3n5gNC+bIkZCUpEYsWQki+Ixbfaz65wxDCLcWsa81x9vTp2dQlThcr8 SAaS6PnCysZI7bEb2QQnwRevOdnvloLsjSYrA6kYaiAqgdyb8ZzLV9QVBc/fpC1TSiaVFYKZ2 9/aBGFg0JtK23hdWzOv/0X5tX7nV82YsmT4GoeqZbTXfqD+2f/pKzz/WjJh0fG1x4KxYnL8/z ZB3wt5z Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.126.131; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1667465476112100001 Content-Type: text/plain; charset="utf-8" From: Helge Deller Signed-off-by: Helge Deller Reviewed-by: Richard Henderson Message-Id: Signed-off-by: Laurent Vivier --- linux-user/strace.list | 3 +++ linux-user/syscall.c | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/linux-user/strace.list b/linux-user/strace.list index 3df2184580aa..cd995e5d56db 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -103,6 +103,9 @@ #ifdef TARGET_NR_close { TARGET_NR_close, "close" , "%s(%d)", NULL, NULL }, #endif +#ifdef TARGET_NR_close_range +{ TARGET_NR_close_range, "close_range" , "%s(%u,%u,%u)", NULL, NULL }, +#endif #ifdef TARGET_NR_connect { TARGET_NR_connect, "connect" , "%s(%d,%#x,%d)", NULL, NULL }, #endif diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 8402c1399d3c..8b18adfba894 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -364,6 +364,13 @@ _syscall3(int,sys_syslog,int,type,char*,bufp,int,len) #ifdef __NR_exit_group _syscall1(int,exit_group,int,error_code) #endif +#if defined(__NR_close_range) && defined(TARGET_NR_close_range) +#define __NR_sys_close_range __NR_close_range +_syscall3(int,sys_close_range,int,first,int,last,int,flags) +#ifndef CLOSE_RANGE_CLOEXEC +#define CLOSE_RANGE_CLOEXEC (1U << 2) +#endif +#endif #if defined(__NR_futex) _syscall6(int,sys_futex,int *,uaddr,int,op,int,val, const struct timespec *,timeout,int *,uaddr2,int,val3) @@ -8756,6 +8763,18 @@ static abi_long do_syscall1(CPUArchState *cpu_env, i= nt num, abi_long arg1, case TARGET_NR_close: fd_trans_unregister(arg1); return get_errno(close(arg1)); +#if defined(__NR_close_range) && defined(TARGET_NR_close_range) + case TARGET_NR_close_range: + ret =3D get_errno(sys_close_range(arg1, arg2, arg3)); + if (ret =3D=3D 0 && !(arg3 & CLOSE_RANGE_CLOEXEC)) { + abi_long fd, maxfd; + maxfd =3D MIN(arg2, target_fd_max); + for (fd =3D arg1; fd < maxfd; fd++) { + fd_trans_unregister(fd); + } + } + return ret; +#endif =20 case TARGET_NR_brk: return do_brk(arg1); --=20 2.37.3 From nobody Sat May 18 04:13:29 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1667465430744166.6678170765066; Thu, 3 Nov 2022 01:50:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oqVv2-0006dt-01; Thu, 03 Nov 2022 04:49:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVuo-0006XE-KN for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:41 -0400 Received: from mout.kundenserver.de ([212.227.126.187]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVuk-0004B8-GB for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:33 -0400 Received: from quad ([82.142.8.70]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MelWf-1pQP6503xl-00ak5J; Thu, 03 Nov 2022 09:49:28 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Cc: Laurent Vivier , Helge Deller Subject: [PULL 3/4] linux-user: Add strace output for timer_settime64() syscall Date: Thu, 3 Nov 2022 09:49:24 +0100 Message-Id: <20221103084925.3860524-4-laurent@vivier.eu> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221103084925.3860524-1-laurent@vivier.eu> References: <20221103084925.3860524-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:tIjU4I5Up+ove+yzfTiT39raIYDAdo8nf9XWPUxTxo4YCBTjKv7 9OTZZvu0GvXvY8d+AH+KLz0FyuSMDp24CGILsqZcLLqPCLfF8pFEgFK3SJnYFM1x9KsUWE/ GtW1AD55qhBmcGQzIac5wQSncmOz5jGN+HfHYkoWbOXNnFZX6kgx6zVwk8pj/4BU2A0o8ih F/LSuOGU2c3+wJWn/c+7A== X-UI-Out-Filterresults: notjunk:1;V03:K0:QjUCUJ+0Dk4=:eaxrq0whxB3ijSJljf50Fb P6cYBLL7vjnNR+cweRHuHdXROTZqHZ9hRZu8GSsrh08rUBRsLMvuZFcTXWSfV0Xi2T6yAtFbM QGbB4r/V0Rtvzg8l3nxDMBmAKPztxNhLfeejIliMRiPcABHh6HsS9Dkis7zMb0PyTQzO0jxu8 7tHHeEIhWUmNGaRxiy29wwwW35w8nHpdGarONxpXN8rL+gLCMvUUoJTLvcKuw8E5950/LAuk2 D9hCo+kVer6rJeSq9it42ieGEU7AWRMUbhs1LntdrEfPD4W99glfiWuMy/bRvQYszJ6tz8DYU yRIBfu1xK/6uXj8s2QpdW50iSy4UhvObIMqFZQrB3DergggYSYOagET/PvuRnMIaUX2n1xvr9 Qs/RSl4GfLZnLFaduf1uNODxZBbA8aMWvP/0Xj7T/ntL7NZ+0Ht+Fvktqgae9iDi+Nn5zeIuO bCSgR2YWKUR1YAs6HrKfaJXXG3zTdIfL50YbRqiENekaq1MDkMwg/8Y0flGlJD0QdNcCmn8lx pVET1teU+VT7F03nHV/uIRglnraC9SovjjD28OjE+REwZh3tC6ZAcUx0XHcxurkoQCITWG8B2 DOqea5mfDrUiw1hSmlxtKU+RsmJy4UbbbyPkL94z95/JLiazNAj59qxvi1YPHZIsiJQVuYLb6 Co3VGkhBg4rbO8eShd2J1EsQoRq4GuKFOJ/C+AxI2ASKdd6FM73gyePsj4akg5DEZT/B6bReM Tii0QUtSbEJ5UwHkSeNUFi2u28+uz1z66C1zy0veh+ty7LO2UmqbCLmDfSVjmuYmsHHD3MN4o P9n7Loj Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.126.187; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1667465432164100002 Content-Type: text/plain; charset="utf-8" From: Helge Deller Add missing timer_settime64() strace output and specify format for timer_settime(). Signed-off-by: Helge Deller Message-Id: Signed-off-by: Laurent Vivier --- linux-user/strace.list | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/linux-user/strace.list b/linux-user/strace.list index cd995e5d56db..3a898e2532d3 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1534,7 +1534,10 @@ { TARGET_NR_timer_gettime, "timer_gettime" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_timer_settime -{ TARGET_NR_timer_settime, "timer_settime" , NULL, NULL, NULL }, +{ TARGET_NR_timer_settime, "timer_settime" , "%s(%d,%d,%p,%p)", NULL, NULL= }, +#endif +#ifdef TARGET_NR_timer_settime64 +{ TARGET_NR_timer_settime64, "timer_settime64" , "%s(%d,%d,%p,%p)", NULL, = NULL }, #endif #ifdef TARGET_NR_timerfd { TARGET_NR_timerfd, "timerfd" , NULL, NULL, NULL }, --=20 2.37.3 From nobody Sat May 18 04:13:29 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1667465440534708.4892193577479; Thu, 3 Nov 2022 01:50:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oqVuy-0006cP-Om; Thu, 03 Nov 2022 04:49:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVuq-0006YN-Hl for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:41 -0400 Received: from mout.kundenserver.de ([212.227.126.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqVun-0004BQ-HY for qemu-devel@nongnu.org; Thu, 03 Nov 2022 04:49:35 -0400 Received: from quad ([82.142.8.70]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1M6pck-1oxhB81u18-008Fpa; Thu, 03 Nov 2022 09:49:28 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Cc: Laurent Vivier , Icenowy Zheng Subject: [PULL 4/4] linux-user: always translate cmsg when recvmsg Date: Thu, 3 Nov 2022 09:49:25 +0100 Message-Id: <20221103084925.3860524-5-laurent@vivier.eu> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221103084925.3860524-1-laurent@vivier.eu> References: <20221103084925.3860524-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:ibC2P/ODJWldcRVmTBXwyDmlVCOm8KbgGwqgvpekqDfYeHBMSZ5 Jq0YHJiOjbHHUL/2OMBO2gfhi8dGqunMajNhQFVOyeZBiMxofz9kZQ1Y88gG+IxzJepj4fT 3aYbTQP13wW/kEfDNQ/Ah7NkXTC26a6sFMTUKCSF/3FYNL42Z/JujDDnHUk6dTf4yq0pqHQ OWG67hut4dP5JiNgTzzVg== X-UI-Out-Filterresults: notjunk:1;V03:K0:FN8iF9tiIzs=:oocMrKpJzUtJDqnbu1ogB8 g5xVGvTIgEeWm83Hw591yXqWZR43Z9mQ2u5nDA5xfUW5WoSLcBDP+s8u+/CUGOfjPV7BIHA2h k1sg4atCGc/ndObXn/BvBFWodEc9OEiZckhp/b+gwi1PO4Miv8qjZmtlMT32mcQR+KSo7yWH3 wKBtKorAnBZ/9ks+qb8avrOkP2ud597aUE3wywMv+bg6+XOLj4JWT5sUT8S0/dhJIGovNbq+F jOqBhwTkjZsI9yTJmPTcNjbOEy2orFsnyc4+S38IFfiAHZEUh/divCLec2XzUJHP4TFg157Nt hADdIwpGsm5VYUemQjmCKWCGUnv2nPBOBxKXf3UfXLSo3NWD1Fafk/4rCXFn43gBm3cKBTxC8 QONG2uriNxpipvZLwFbrhW7vD1rN+hkY+k3d9OuM6mXYgwqyFUO5r81JrAashHWrT/xjIcwIM r0Kva29LGt2D8aJXFDDhiYoqwsTnTgrIdFqMzELANOMXNlOrQuu+V8wsLdasWTtcVNStDqTp3 28OKrssjfnRaDoyU/RafVwfBEL5GnNkVSjAuOorC25C3TXfYeoMDJQjwUbqzZM/LfLtP3eLts ajPC0bFU0tfB99OnKtLJOoo5SwObFak0QW5JixcpA7QTJ+PJBLregzYog8HEddn4WrvwLwQip n8bHoinqXie6N3jQB6Q15mARijetBeCMXPJroKyY9E5cl5zpZL1N47zV7ei4SwMohsM8kkvBI zh6m7vFwLysMXW4Tg2B3/ik23fdcCB3UsLJQtPAFz8LKeR+VykNNK1bP/kbdV/BOCnrAXwMq+ VdGG+eT Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.126.134; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Qemu-devel" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1667465441975100001 Content-Type: text/plain; charset="utf-8" From: Icenowy Zheng It's possible that a message contains both normal payload and ancillary data in the same message, and even if no ancillary data is available this information should be passed to the target, otherwise the target cmsghdr will be left uninitialized and the target is going to access uninitialized memory if it expects cmsg. Always call the function that translate cmsg when recvmsg, because that function should be empty-cmsg-safe (it creates an empty cmsg in the target). Signed-off-by: Icenowy Zheng Reviewed-by: Laurent Vivier Message-Id: <20221028081220.1604244-1-uwu@icenowy.me> Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 8b18adfba894..24b25759beab 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3353,7 +3353,8 @@ static abi_long do_sendrecvmsg_locked(int fd, struct = target_msghdr *msgp, if (fd_trans_host_to_target_data(fd)) { ret =3D fd_trans_host_to_target_data(fd)(msg.msg_iov->iov_= base, MIN(msg.msg_iov->iov_len, l= en)); - } else { + } + if (!is_error(ret)) { ret =3D host_to_target_cmsg(msgp, &msg); } if (!is_error(ret)) { --=20 2.37.3