From nobody Mon Feb 9 16:27:14 2026 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 1644226936429683.3686535854546; Mon, 7 Feb 2022 01:42:16 -0800 (PST) Received: from localhost ([::1]:39684 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH0XH-00009w-9I for importer@patchew.org; Mon, 07 Feb 2022 04:42:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-000645-KG for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:08 -0500 Received: from mout.kundenserver.de ([212.227.17.10]:53171) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNV-00079B-4C for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:07 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N0o3X-1oDLK00jPJ-00wkou; Mon, 07 Feb 2022 09:28:01 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 1/8] linux-user: Remove unnecessary 'aligned' attribute from TaskState Date: Mon, 7 Feb 2022 09:27:52 +0100 Message-Id: <20220207082759.180431-2-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:JY/PovTIkwSsApTcj3xi4dQnCYGxxgq7387nWZV6ESeBWC9/snp wavuVoYcuHORoNoERvZFSxb0ILEUaTNY5y7kVEwXAttZ+ODGV4iTsFsvqTQGE9pX3TYFbJZ JcrUupZm7c7o8nFQwni4C44wN0wEkTix2BG5ORcJxRkaTghw9ePW32Mh8gbJ/Xr4A35UYn3 hWaU1KQEmvdkPLq9f3Oag== X-UI-Out-Filterresults: notjunk:1;V03:K0:KqoL3oVntYc=:A30PJevTPN1bXAYGzXQpxZ ItSFdWaDCIv2MHk8INXvdO4u5YwInuSe16r8kgUPKCTFr7excPq9MJMdtYCNmnnn60EI62stU EF4Bs0dxgry+g0abYPBu6EbmEgRDPcIfGaoDEmH2Gb8aFq28kWazFNh8k+KBjdxe3XkIEjH7+ BDxXUYGsZEmnbYnT75pLrJc5RrC1P7j+nlWvDOleEP/h9R7lHLlCdENN3bvCFBz3fdhJw9RXo lS0fAZiZsfX4ROtSSKvAMdkAtZCoIE2WDrCdw2TrdbTGCKQyt/b6nDRRoxtlgVyvhh4GyHoxH wmV0B12hfXTYwrmzdQKLQzZ/hCVkYjU95m/gjDaRMw4I/z5NLXvJSDZFEboE3EXC6IccRJ+jd YstNKdlBSwgU8BFUPfb427wMvQhBO/oJ5abpAM93plVCtkQIuYmfCQlXSd253K1mpsZ6Rvfwx pvUlgcmFdmr00ZGPKWo6kIN8v0njHxdiOlTtT/5LWbnAthgeBXgE1chfptQabMCl64u09fibp TMMjJCKfb7+nzL1HcNlgfjH3IecLoW8/mz+GTt24RP1AurCRY4vJQyV5PWSo7W5BPAQRNwFjB YxabPOCRW9Hpc6PHpql/G0eUsGWrm8mlFGbbJVp3mqGBsG1UwCvQ1Ct3KQH/6ULswu5O0HPvF wg7WrxMcXgzZpPpb1LGa6GiuMEaQUtL0N4vY4l26MkS7slVKmXG/mOWY350iy3TEpcb8= 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.17.10; 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_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Peter Maydell , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644226938896100001 Content-Type: text/plain; charset="utf-8" From: Peter Maydell The linux-user struct TaskState has an 'aligned(16)' attribute. When the struct was first added in commit 851e67a1b46f in 2003, there was a justification in a comment (still present in the source today): /* NOTE: we force a big alignment so that the stack stored after is aligned too */ because the final field in the struct was "uint8_t stack[0];" But that field was removed in commit 48e15fc2d in 2010 which switched us to allocating the stack and the TaskState separately. Because we allocate the structure with g_new0() rather than as a local variable, the attribute made no difference to the alignment of the structure anyway. Remove the unnecessary attribute, and the corresponding comment. Signed-off-by: Peter Maydell Message-Id: <20220114153732.3767229-2-peter.maydell@linaro.org> Signed-off-by: Laurent Vivier --- linux-user/qemu.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 7910ce59cc8c..9d2b3119d1fe 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -94,10 +94,6 @@ struct emulated_sigtable { target_siginfo_t info; }; =20 -/* - * NOTE: we force a big alignment so that the stack stored after is - * aligned too - */ typedef struct TaskState { pid_t ts_tid; /* tid (or pid) of this task */ #ifdef TARGET_ARM @@ -158,7 +154,7 @@ typedef struct TaskState { =20 /* This thread's sigaltstack, if it has one */ struct target_sigaltstack sigaltstack_used; -} __attribute__((aligned(16))) TaskState; +} TaskState; =20 abi_long do_brk(abi_ulong new_brk); =20 --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644225139030145.41813171530862; Mon, 7 Feb 2022 01:12:19 -0800 (PST) Received: from localhost ([::1]:37206 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH04H-0003Jz-OE for importer@patchew.org; Mon, 07 Feb 2022 04:12:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-00064H-MH for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:08 -0500 Received: from mout.kundenserver.de ([212.227.17.24]:40409) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNV-00079M-4D for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:06 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MGQax-1nXmEW3tEL-00GqV2; Mon, 07 Feb 2022 09:28:02 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 2/8] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Date: Mon, 7 Feb 2022 09:27:53 +0100 Message-Id: <20220207082759.180431-3-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:VOgaERXLKga6CpkOKFs9/fgZlALhB8dtd2Kh6k/C4wD/27id7LY azSHAn7sWbrp4UXECbSdW4jr7AnWnHHgF0scW1WLpCKaLnNBgDjx0QZAMVk9Pc8lmtVEwt+ A0ebrzT60CKnzHmjp7ZgOOfykU3k3fku4O4hkCQK9nTY+mGZ+d4x9uN8Vcg46SCsypjo6fS HpUTq8Eaw9b+nRs3NraQw== X-UI-Out-Filterresults: notjunk:1;V03:K0:Uuy+mfXd1LM=://BRaStL8Qo+1hA7LdNJHg aT4LMJgP+JTR3Oj3XCz7/EUtthSBM6AF62LbQ10Rdw0Q8iAaFWm1TodA/cJH55TUT4ZoKroV+ umRCyBNfpH3jGIf5fXkdJRujjt+wGZq6HK+YW0Q/Tg+Ja7ERIE9/XZKp3FSz9qm43udvFF5PF SGYbJGja2PStOqraLOYnZL7AYkGBwPk3bpwZiuO8ZTIvr7wzbqI/gZVv+JSojEt9xTS4VD/Um jrOb9CGGJmfyk8V4tH3u6vpwExYySswu5YDG5f+vW/xlWDXLYqikZ7wc7sibTIT/TA6oaL9WQ i5LgyzxozaVlTqc54Xk7HosQ2rN7WD0WzcXVixdQmH64cZwXU2/DcCpR8moxqa9zhLC3IiaFM Vw5U55RACn273QUzz1m4fItrPCh5J6NywkwVMPlVR0jJvNC//Tgg+xSs0SYYSi+aGuPJd8N6a eBEWWr0JUQtQl1sNBZfQAEIdEWTBqs1bMwUkFrgPUffgt0ba/x2FOtIeom7jM0wjQyNa8cK7A Zb+zHLAk7lvOZHj3qyC0bh/cJd0LUdRMdrNzGpozREYBh/jx7qVIreL1c5eJ4qWojJrdVA9lU T7kKrW4muqO7qszsSpovew5h8yMO0vQJWEvpcw8TaZyx43Q1kEWFiJu1T1wBbKZCNndgXAC2z 4hgX4Yv+oB03YNITxCOFwfHC/vb5lCBCz5cRLzoQ4FuKWzsHEV3V10Oca+ZB3ED6w/JE= 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.17.24; 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_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Serge Belyshev , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644225140965100001 Content-Type: text/plain; charset="utf-8" From: Serge Belyshev Alpha uses different values of some TARGET_RLIMIT_* constants, which were missing and caused bugs like #577, fixed thus. Also rearranged all three (alpha, mips and sparc) that differ from everyone else for clarity. Signed-off-by: Serge Belyshev Resolves: https://gitlab.com/qemu-project/qemu/-/issues/577 Reviewed-by: Laurent Vivier Message-Id: <87y236lpwb.fsf@depni.sinp.msu.ru> [lv: replace tabs by spaces] Signed-off-by: Laurent Vivier --- linux-user/syscall_defs.h | 67 +++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index f23f0a2178f8..c8690688b5b7 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -730,44 +730,41 @@ struct target_rlimit { #define TARGET_RLIM_INFINITY ((abi_ulong)-1) #endif =20 +#define TARGET_RLIMIT_CPU 0 +#define TARGET_RLIMIT_FSIZE 1 +#define TARGET_RLIMIT_DATA 2 +#define TARGET_RLIMIT_STACK 3 +#define TARGET_RLIMIT_CORE 4 #if defined(TARGET_MIPS) -#define TARGET_RLIMIT_CPU 0 -#define TARGET_RLIMIT_FSIZE 1 -#define TARGET_RLIMIT_DATA 2 -#define TARGET_RLIMIT_STACK 3 -#define TARGET_RLIMIT_CORE 4 -#define TARGET_RLIMIT_RSS 7 -#define TARGET_RLIMIT_NPROC 8 -#define TARGET_RLIMIT_NOFILE 5 -#define TARGET_RLIMIT_MEMLOCK 9 -#define TARGET_RLIMIT_AS 6 -#define TARGET_RLIMIT_LOCKS 10 -#define TARGET_RLIMIT_SIGPENDING 11 -#define TARGET_RLIMIT_MSGQUEUE 12 -#define TARGET_RLIMIT_NICE 13 -#define TARGET_RLIMIT_RTPRIO 14 -#else -#define TARGET_RLIMIT_CPU 0 -#define TARGET_RLIMIT_FSIZE 1 -#define TARGET_RLIMIT_DATA 2 -#define TARGET_RLIMIT_STACK 3 -#define TARGET_RLIMIT_CORE 4 -#define TARGET_RLIMIT_RSS 5 -#if defined(TARGET_SPARC) -#define TARGET_RLIMIT_NOFILE 6 -#define TARGET_RLIMIT_NPROC 7 +#define TARGET_RLIMIT_NOFILE 5 +#define TARGET_RLIMIT_AS 6 +#define TARGET_RLIMIT_RSS 7 +#define TARGET_RLIMIT_NPROC 8 +#define TARGET_RLIMIT_MEMLOCK 9 +#elif defined(TARGET_ALPHA) +#define TARGET_RLIMIT_RSS 5 +#define TARGET_RLIMIT_NOFILE 6 +#define TARGET_RLIMIT_AS 7 +#define TARGET_RLIMIT_NPROC 8 +#define TARGET_RLIMIT_MEMLOCK 9 +#elif defined(TARGET_SPARC) +#define TARGET_RLIMIT_RSS 5 +#define TARGET_RLIMIT_NOFILE 6 +#define TARGET_RLIMIT_NPROC 7 +#define TARGET_RLIMIT_MEMLOCK 8 +#define TARGET_RLIMIT_AS 9 #else -#define TARGET_RLIMIT_NPROC 6 -#define TARGET_RLIMIT_NOFILE 7 -#endif -#define TARGET_RLIMIT_MEMLOCK 8 -#define TARGET_RLIMIT_AS 9 -#define TARGET_RLIMIT_LOCKS 10 -#define TARGET_RLIMIT_SIGPENDING 11 -#define TARGET_RLIMIT_MSGQUEUE 12 -#define TARGET_RLIMIT_NICE 13 -#define TARGET_RLIMIT_RTPRIO 14 +#define TARGET_RLIMIT_RSS 5 +#define TARGET_RLIMIT_NPROC 6 +#define TARGET_RLIMIT_NOFILE 7 +#define TARGET_RLIMIT_MEMLOCK 8 +#define TARGET_RLIMIT_AS 9 #endif +#define TARGET_RLIMIT_LOCKS 10 +#define TARGET_RLIMIT_SIGPENDING 11 +#define TARGET_RLIMIT_MSGQUEUE 12 +#define TARGET_RLIMIT_NICE 13 +#define TARGET_RLIMIT_RTPRIO 14 =20 struct target_pollfd { int fd; /* file descriptor */ --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644225881621743.7869263373608; Mon, 7 Feb 2022 01:24:41 -0800 (PST) Received: from localhost ([::1]:53578 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH0GG-0006lz-At for importer@patchew.org; Mon, 07 Feb 2022 04:24:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-00064J-Li for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:08 -0500 Received: from mout.kundenserver.de ([212.227.17.10]:47615) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNV-00079O-4V for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:07 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1M8hMt-1nLeCp1p9V-004nHs; Mon, 07 Feb 2022 09:28:02 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 3/8] linux-user: Fix inotify on aarch64 Date: Mon, 7 Feb 2022 09:27:54 +0100 Message-Id: <20220207082759.180431-4-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:aDxuC56Ae2yHsgEEFWcmtqbqr0Cs0bv9WP0MXBBSC3jCL5wuqBn +YzCPlDuj0Xqo8KLyjcjM3BwOtXzsBh3NOZyCOaqDTjTd/vEYxOUByRTGHp0PBF4OkZ/wF9 wvOvYqc675jD9vK4OYIfuGqv3EunZCzJXNg8cCpSHddnJp478QK2gbsX6uN9u26IBAg48kw BIKWUtQPKs8ZB8MErXeSA== X-UI-Out-Filterresults: notjunk:1;V03:K0:lxvyslDvC34=:7WbOu8N7CX6rTjBZ1vy4Eg WOOg+9t4Z5EFbIKRX3FeERQ5oxu9xR8Wmu9HojS8ZmcTnPkV7g7HxkJzkyxc0Ec4Pg0obc1Pi qqf4arwCzRhg1GaCQeNHnAE3gZosZvYJqdiScwueJnAxRiv0a9Z3vnwzgLBlnplkAF+CCy4S/ W5oZI8nh+1rjbXE9ynBQ37XY8G1Zp6SklI4mjxnJDnawtihMhlQ9fK44jrRwSLF2v7oh7vwa7 FJliyjDYxFeLQhp1DzAb6KeaCKkjDT4kK8zfndpsedMsG+ohWVjyH1G4B6au2ASUu7lCEOi5A uyCvs0xuJe1zg5lIVu++olmYc08pPeIZ451AT+me9y0/1VLw2wmTt8J0NQE8DxTmZXlTfJNkg MQjBdOcA43+k357h8nnAcMrnsCnvF0n6pfwApsmohDhlP99ts8dPBPubjaheG7PnkeI9QrSgE 6Hl5iauyyyl2QlXrFhUaUKd9UZZW74v0bDLLPGPjBQMBbRQinuGNgHiLAh0TJ4JUlYEdafknA EAw/889nQ7k/ZTpO0jWe+p5r28gNRq0rx0PpW1afYFEkYNM53fj6FBSjmGZB7PMGA2kXFVMiu nvRiFux6DW7q98jSTpHFYx7hRFtal6Wq6T6vzohKDBHDz0jGtesHOhvpTlk0m2D3umlQ4YVYD o+oRbnbdHF6s94iQJG1ZBgj9W8WKS+OwFIuxUkONp8y1JIO/C3olbeAkzSboaxPi7YGs= 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.17.10; 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_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Laurent Vivier , Paul Brook Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644225883474100001 Content-Type: text/plain; charset="utf-8" From: Paul Brook The inotify implementation originally called the raw host syscalls. Commit 3b3f24add0 changed this to use the glibc wrappers. However ifdefs in syscall.c still test for presence of the raw syscalls. This causes a problem on e.g. aarch64 hosts which never had the inotify_init syscall - it had been obsoleted by inotify_init1 before aarch64 was invented! However it does have a perfectly good glibc implementation of inotify_wait. Fix this by removing all the raw __NR_inotify_* tests, and instead check CONFIG_INOTIFY, which already tests for the glibc functionality we use. Also remove the now-pointless sys_inotify* wrappers. Tested using x86-64 inotifywatch on aarch64 host, and vice-versa Signed-off-by: Paul Brook Reviewed-by: Laurent Vivier Message-Id: <20220126202636.655289-1-paul@nowt.org> Signed-off-by: Laurent Vivier --- linux-user/fd-trans.c | 5 ++--- linux-user/syscall.c | 50 +++++++++---------------------------------- 2 files changed, 12 insertions(+), 43 deletions(-) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index a17d05c07923..7b25468d0208 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -1644,9 +1644,8 @@ TargetFdTrans target_eventfd_trans =3D { .target_to_host_data =3D swap_data_eventfd, }; =20 -#if (defined(TARGET_NR_inotify_init) && defined(__NR_inotify_init)) || \ - (defined(CONFIG_INOTIFY1) && defined(TARGET_NR_inotify_init1) && \ - defined(__NR_inotify_init1)) +#if defined(CONFIG_INOTIFY) && (defined(TARGET_NR_inotify_init) || \ + defined(TARGET_NR_inotify_init1)) static abi_long host_to_target_data_inotify(void *buf, size_t len) { struct inotify_event *ev; diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 5950222a77e0..2ca0f086dbfc 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -272,9 +272,6 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type= 4 arg4,type5 arg5, \ #if defined(__NR_futex_time64) # define __NR_sys_futex_time64 __NR_futex_time64 #endif -#define __NR_sys_inotify_init __NR_inotify_init -#define __NR_sys_inotify_add_watch __NR_inotify_add_watch -#define __NR_sys_inotify_rm_watch __NR_inotify_rm_watch #define __NR_sys_statx __NR_statx =20 #if defined(__alpha__) || defined(__x86_64__) || defined(__s390x__) @@ -477,33 +474,6 @@ static int sys_renameat2(int oldfd, const char *old, =20 #ifdef CONFIG_INOTIFY #include - -#if defined(TARGET_NR_inotify_init) && defined(__NR_inotify_init) -static int sys_inotify_init(void) -{ - return (inotify_init()); -} -#endif -#if defined(TARGET_NR_inotify_add_watch) && defined(__NR_inotify_add_watch) -static int sys_inotify_add_watch(int fd,const char *pathname, int32_t mask) -{ - return (inotify_add_watch(fd, pathname, mask)); -} -#endif -#if defined(TARGET_NR_inotify_rm_watch) && defined(__NR_inotify_rm_watch) -static int sys_inotify_rm_watch(int fd, int32_t wd) -{ - return (inotify_rm_watch(fd, wd)); -} -#endif -#ifdef CONFIG_INOTIFY1 -#if defined(TARGET_NR_inotify_init1) && defined(__NR_inotify_init1) -static int sys_inotify_init1(int flags) -{ - return (inotify_init1(flags)); -} -#endif -#endif #else /* Userspace can usually survive runtime without inotify */ #undef TARGET_NR_inotify_init @@ -12341,35 +12311,35 @@ static abi_long do_syscall1(void *cpu_env, int nu= m, abi_long arg1, case TARGET_NR_futex_time64: return do_futex_time64(cpu, arg1, arg2, arg3, arg4, arg5, arg6); #endif -#if defined(TARGET_NR_inotify_init) && defined(__NR_inotify_init) +#ifdef CONFIG_INOTIFY +#if defined(TARGET_NR_inotify_init) case TARGET_NR_inotify_init: - ret =3D get_errno(sys_inotify_init()); + ret =3D get_errno(inotify_init()); if (ret >=3D 0) { fd_trans_register(ret, &target_inotify_trans); } return ret; #endif -#ifdef CONFIG_INOTIFY1 -#if defined(TARGET_NR_inotify_init1) && defined(__NR_inotify_init1) +#if defined(TARGET_NR_inotify_init1) && defined(CONFIG_INOTIFY1) case TARGET_NR_inotify_init1: - ret =3D get_errno(sys_inotify_init1(target_to_host_bitmask(arg1, + ret =3D get_errno(inotify_init1(target_to_host_bitmask(arg1, fcntl_flags_tbl))); if (ret >=3D 0) { fd_trans_register(ret, &target_inotify_trans); } return ret; #endif -#endif -#if defined(TARGET_NR_inotify_add_watch) && defined(__NR_inotify_add_watch) +#if defined(TARGET_NR_inotify_add_watch) case TARGET_NR_inotify_add_watch: p =3D lock_user_string(arg2); - ret =3D get_errno(sys_inotify_add_watch(arg1, path(p), arg3)); + ret =3D get_errno(inotify_add_watch(arg1, path(p), arg3)); unlock_user(p, arg2, 0); return ret; #endif -#if defined(TARGET_NR_inotify_rm_watch) && defined(__NR_inotify_rm_watch) +#if defined(TARGET_NR_inotify_rm_watch) case TARGET_NR_inotify_rm_watch: - return get_errno(sys_inotify_rm_watch(arg1, arg2)); + return get_errno(inotify_rm_watch(arg1, arg2)); +#endif #endif =20 #if defined(TARGET_NR_mq_open) && defined(__NR_mq_open) --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644227535477159.90948996986162; Mon, 7 Feb 2022 01:52:15 -0800 (PST) Received: from localhost ([::1]:59866 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH0gx-0005k9-2K for importer@patchew.org; Mon, 07 Feb 2022 04:52:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59610) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-00065P-W6 for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:10 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:59409) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNV-00079k-FJ for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:08 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MPooP-1ndjJx3yMd-00Ms6U; Mon, 07 Feb 2022 09:28:03 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 4/8] linux-user: rt_sigprocmask, check read perms first Date: Mon, 7 Feb 2022 09:27:55 +0100 Message-Id: <20220207082759.180431-5-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:2cTLxPYCwaWO7QuCVqzcudZI6dQKrGuRyp9Tg7YVoNq1qv+DT5O UgmFUtRCodcmZWzVRfBFuplrSbGBl0W01ntw10Odk0yDXADcYRZfLQgf2K6TmIEIyH/N/gB duQjJprrJ/A8D6mI1slcelIvJbZPSFXm186BC5CXdu3yPeJEf3BQyVyUHl6zWFATvL382ov GpzAYrvcC3grcXUUSfPxA== X-UI-Out-Filterresults: notjunk:1;V03:K0:Zae7VvQajlQ=:bDAqzuOGZ4E3QmSRZPwkfE LTDhLsNAYmxqh5uy5E6pXvyNohIGbnNe7cnz7utTOjT+kQGvg9ewKzhtQmkysZ0R7Jm2/j78u Rp5oBEf6RoGIiq+nwWi1iFjAJJCVilUr3erIlHuPCLiJvJoRuOi624m/425WwkfMo2sbXUPIh 8dAGetO3t2pb0bTryQ2qCQAytC0MRXNR8KpVAG1E98vtRCFRTR8RocwXSR+wAY3nauEn1cVJX 90lYj395wBNxde6wAFBaAvfuT4VVYv10mci3+UqZq0PH4dxpBV2QV0ppVwE4jpMHx4UjtHwQY /yBfPNoSV+tc0z23SLrNBP0y1F5lKj+LFyQSq8XILr0IRxjFNjOG2g8slykC5yzz252ujcpbo 8GBU09Of4VKOF+eVmZHaDrkwsBjIgy3PMQ7ocCCfvHN/I1lyU8EbEX6TjMEbI1+3X6ryOrEiq ZUJASiEM6X0viJ50f0LtGoazx+Mn9wn27t7SjrIfrW5WKN6k1Rbt9HeA9Avl2wbIOvkyMfX7G aBH+0uoFM+yhjZ7CZOa4OBgniGUAL+MkI8N1/IpopeOB75whOWzPS7tyY0W3BeZ/3SwlaNGqj w+R8S4pyj1L15bz4dKjVeBp9EqVMlwl4VPqiX4z9QlUAxnwrnyAIUX/E3Gz0K4xUMSVxKyXFt FNgbOvspJaiJ48F1Wpg/HeMMlAwIZFMNq+zQ0p833a3nmHEGDa1H7INFw3WzPXJf3VI0= 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.17.13; 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_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Patrick Venture , Shu-Chun Weng , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644227536972100001 Content-Type: text/plain; charset="utf-8" From: Shu-Chun Weng Linux kernel does it this way (checks read permission before validating `ho= w`) and the latest version of ABSL's `AddressIsReadable()` depends on this behavior. c.f. https://github.com/torvalds/linux/blob/9539ba4308ad5bdca6cb41c7b73cbb= 9f796dcdd7/kernel/signal.c#L3147 Reviewed-by: Patrick Venture Signed-off-by: Shu-Chun Weng Reviewed-by: Laurent Vivier Signed-off-by: Patrick Venture Message-Id: <20220126212559.1936290-2-venture@google.com> Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 2ca0f086dbfc..9f8b497fa353 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -9478,6 +9478,13 @@ static abi_long do_syscall1(void *cpu_env, int num, = abi_long arg1, } =20 if (arg2) { + p =3D lock_user(VERIFY_READ, arg2, sizeof(target_sigset_t)= , 1); + if (!p) { + return -TARGET_EFAULT; + } + target_to_host_sigset(&set, p); + unlock_user(p, arg2, 0); + set_ptr =3D &set; switch(how) { case TARGET_SIG_BLOCK: how =3D SIG_BLOCK; @@ -9491,11 +9498,6 @@ static abi_long do_syscall1(void *cpu_env, int num, = abi_long arg1, default: return -TARGET_EINVAL; } - if (!(p =3D lock_user(VERIFY_READ, arg2, sizeof(target_sig= set_t), 1))) - return -TARGET_EFAULT; - target_to_host_sigset(&set, p); - unlock_user(p, arg2, 0); - set_ptr =3D &set; } else { how =3D 0; set_ptr =3D NULL; --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644225491937949.9023780360253; Mon, 7 Feb 2022 01:18:11 -0800 (PST) Received: from localhost ([::1]:44792 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH09w-0008QU-7p for importer@patchew.org; Mon, 07 Feb 2022 04:18:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-00064G-LA for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:08 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:38667) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNV-00079m-HJ for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:07 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MKbc2-1nboaN1QrM-00Kx5Z; Mon, 07 Feb 2022 09:28:03 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 5/8] linux-user: sigprocmask check read perms first Date: Mon, 7 Feb 2022 09:27:56 +0100 Message-Id: <20220207082759.180431-6-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:046jjnAg86yT37kaNVqfVhU4AOjM4jVQNI8AxUXHhhm0LbfRZNL dq7grsNiDNhoRQPQ27V9VuHxW9ThPHVbUlcSpsjvvZ43s4dGgiLAygvs3lvrV6XWATxdBo2 4OY+hlG28vabdL5eouqH//3Qs6qNhUzmzIaBJOWMW9vGrspANRejhSaPLOTCdexvhXeNBMy Oz8cKl4tHOY9fG5ebJl1w== X-UI-Out-Filterresults: notjunk:1;V03:K0:U3LhDQCJzEQ=:90MzH8gOjzoK2sHu/OL8Q6 2/fRpJcGpF9FQGaOoRiUXFKCthXVDfqTJx7aZA78Mk3SDsJlWhIqb/N1xtx4gcM1nHPlTbPjf hP8t9QgUTZLil4XQ/bJZhdEbHQvsDOsOLf4c8rbD0BUf6Cf1CIoZbO5EOLVTcKDKPo6OdRLLn vEfVk97mwsYRu4BMB+0uswsj6yonbtCQJDCVvPigbbFNZqMLygR3cHgA7U10cAe8wqCa26GCq kuO+qa5a/xezh7rzzn/taiJ25blxKjkIUQHl4bxIV9FbIJkZcWaVKAeKATbTLC36OuT+ehnIw vs4DELIB/Lkt7BfkP0Rz6nlSZYaxXvpBXplQNNt8HBdrw1Ix1XpfakRSbWwHRTmbh/JlbIsXN OTmc4Ecr60Ma3Rzwo6i8AW7pri8VVptkYlufovAdFUkFXnwLG+/OMBCXWRm3gMRwYwWa/gCuW wJEoM/NZCmX7fZXYrVF1xFrQNvN0hwlklZ0ckU+G3EG6tytaHONUzWe+qseUmBWB9wuBh1WW9 kEmhVgxBG6Scd5K24jlw2p4SkKXf1x6hv3E1FwPxpslQmGQe6/8X9fJyRXDs0lJbqD1dUEg0C DTuemVFc1ZUP2DVms98D+UPl0Ua78s7IUJglA1IK/0FbAeSPX2S7b5KSu4qW150i3EVA8FDuv p2t0XZDmi1+OZkmuJasbXtSyZVm3gh+kZVf8QkgwYjeyb3uwuLlhPJj9GRKuuHCZJal4= 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.17.13; 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_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Patrick Venture , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644225493134100001 Content-Type: text/plain; charset="utf-8" From: Patrick Venture Linux kernel now checks the read permissions before validating `how` Suggested-by: Laurent Vivier Signed-off-by: Patrick Venture Reviewed-by: Laurent Vivier Message-Id: <20220126212559.1936290-3-venture@google.com> [lv: remove unneeded ")"] Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9f8b497fa353..84cfa223df4e 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -9435,6 +9435,13 @@ static abi_long do_syscall1(void *cpu_env, int num, = abi_long arg1, int how; =20 if (arg2) { + p =3D lock_user(VERIFY_READ, arg2, sizeof(target_sigset_t)= , 1); + if (!p) { + return -TARGET_EFAULT; + } + target_to_host_old_sigset(&set, p); + unlock_user(p, arg2, 0); + set_ptr =3D &set; switch (arg1) { case TARGET_SIG_BLOCK: how =3D SIG_BLOCK; @@ -9448,11 +9455,6 @@ static abi_long do_syscall1(void *cpu_env, int num, = abi_long arg1, default: return -TARGET_EINVAL; } - if (!(p =3D lock_user(VERIFY_READ, arg2, sizeof(target_sig= set_t), 1))) - return -TARGET_EFAULT; - target_to_host_old_sigset(&set, p); - unlock_user(p, arg2, 0); - set_ptr =3D &set; } else { how =3D 0; set_ptr =3D NULL; --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644227756147614.4581412948272; Mon, 7 Feb 2022 01:55:56 -0800 (PST) Received: from localhost ([::1]:39894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH0kV-0002tQ-0S for importer@patchew.org; Mon, 07 Feb 2022 04:55:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNb-000679-5U for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:11 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:48253) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-0007A6-AU for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:10 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MbRXj-1nsW7e3YL3-00bwAq; Mon, 07 Feb 2022 09:28:04 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 6/8] linux-user: Implement starttime field in self stat emulation Date: Mon, 7 Feb 2022 09:27:57 +0100 Message-Id: <20220207082759.180431-7-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:mGB8DLIJC6uD4MP8w/AlgMqp/BntEFqfB/i5p/f8bEVLvjYtX7c Nh2QTz1WtPguORkjUwkUD1REPw+7aAu/sv2w+obB1ZEpAW1zFjkMazj2QJ7hC4W14qm9O6T qYDLkXdq1oNl+CywzpLWMgf8EkPOiNvGcn9y40sjOh0XP6DK9u/HJSlcpTBqqOntDinejaj m2ZuEW1nbLJ/t/jbJnbnw== X-UI-Out-Filterresults: notjunk:1;V03:K0:jF5C1H2HKwQ=:+5SCVPYpqLpZUOuwPTB1ai tOz5LgmbHC4vtI1IKkWfd8beAK0mHMjS6/y+BX4PLGirgevh4oZax7TYVjU9yUQfeHoW4gwEl lIbFdXpTCSjKg/Shnj4sCP63zfyOEtLIrAd5yZpEFUuLGKzHMenJZwarn4NCeFlLVwN0UbKFZ xMeOXSkD/soh0mjNG+RWObxHYgRIjTnYCMjXYf10DorZQKVgrY9/X5K/1/0HEaKurABHdFzA6 Jynrk9iInHCr9YAZ6M6xYJgYUvuRVa64MDBUXu4QeFygS+4g7HqiQfwDsIvyGjOJB/DPN7Tep aOBGd+W0MHlVWmZb2yzJQeKYwJ4ROHVQonI+qfUi6JBYnkupbmHs9wTcgWIFH3TrV5gDGgTBD yfiHjDTUqjeOypQMoygFA2IN2OA/72XfE9bjVpz1kH58WaksmrTL1dQRS4d/6GLWXZ5co+GGT ygHV132igIJCSDzWffwlhKj0jCaB3/d51ME2PypiOmaSWzsUfM8C0I3w47jAPQx/LYij1poh5 EvEVwhTpKU+A8ARACAH2/HbcWGvn8Qem4tbki6xaHC8z2Bjd9MeMplH0NZKbgY9/7qNg9ZBWl YMxf0cNuRMwWz5XOCAwwuSK0H7rjEFOHXjM9BcpOdCAgXdwzDX5314nzIrPFqutdKPb4YiHp8 zUJi2pAZH9EvLhQBoPr7ltAgGCmv6Ltuwm9lCwd96gfYkbHLEC9gqPkdzalfUUqcnT5E= 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=217.72.192.75; 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Laurent Vivier , Cameron Esfahani Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644227757323100001 Content-Type: text/plain; charset="utf-8" From: Cameron Esfahani Instead of always returning 0, return actual starttime. Signed-off-by: Cameron Esfahani Reviewed-by: Laurent Vivier Message-Id: <20220128001251.45165-1-dirty@apple.com> Signed-off-by: Laurent Vivier --- linux-user/main.c | 14 ++++++++++++++ linux-user/qemu.h | 3 +++ linux-user/syscall.c | 3 +++ 3 files changed, 20 insertions(+) diff --git a/linux-user/main.c b/linux-user/main.c index 16def5215d91..fbc9bcfd5f5f 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -190,12 +190,26 @@ void stop_all_tasks(void) /* Assumes contents are already zeroed. */ void init_task_state(TaskState *ts) { + long ticks_per_sec; + struct timespec bt; + ts->used =3D 1; ts->sigaltstack_used =3D (struct target_sigaltstack) { .ss_sp =3D 0, .ss_size =3D 0, .ss_flags =3D TARGET_SS_DISABLE, }; + + /* Capture task start time relative to system boot */ + + ticks_per_sec =3D sysconf(_SC_CLK_TCK); + + if ((ticks_per_sec > 0) && !clock_gettime(CLOCK_BOOTTIME, &bt)) { + /* start_boottime is expressed in clock ticks */ + ts->start_boottime =3D bt.tv_sec * (uint64_t) ticks_per_sec; + ts->start_boottime +=3D bt.tv_nsec * (uint64_t) ticks_per_sec / + NANOSECONDS_PER_SECOND; + } } =20 CPUArchState *cpu_copy(CPUArchState *env) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 9d2b3119d1fe..98dfbf20962b 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -154,6 +154,9 @@ typedef struct TaskState { =20 /* This thread's sigaltstack, if it has one */ struct target_sigaltstack sigaltstack_used; + + /* Start time of task after system boot in clock ticks */ + uint64_t start_boottime; } TaskState; =20 abi_long do_brk(abi_ulong new_brk); diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 84cfa223df4e..b3948d13a9dd 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -8077,6 +8077,9 @@ static int open_self_stat(void *cpu_env, int fd) } else if (i =3D=3D 3) { /* ppid */ g_string_printf(buf, FMT_pid " ", getppid()); + } else if (i =3D=3D 21) { + /* starttime */ + g_string_printf(buf, "%" PRIu64 " ", ts->start_boottime); } else if (i =3D=3D 27) { /* stack bottom */ g_string_printf(buf, TARGET_ABI_FMT_ld " ", ts->info->start_st= ack); --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644225893715657.6887311672536; Mon, 7 Feb 2022 01:24:53 -0800 (PST) Received: from localhost ([::1]:54384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH0GS-0007Kk-Ez for importer@patchew.org; Mon, 07 Feb 2022 04:24:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59660) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNb-00067c-BG for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:11 -0500 Received: from mout.kundenserver.de ([212.227.17.24]:43303) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-00079q-7w for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:10 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MFbeC-1nY3Le1CwA-00H7Lj; Mon, 07 Feb 2022 09:28:04 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 7/8] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Date: Mon, 7 Feb 2022 09:27:58 +0100 Message-Id: <20220207082759.180431-8-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:ia4UNcrvA0G3JvmkI+CYOT+eUB5fpwHfAKjWYyDvO0+M/z3xgwZ pygZG4OJpIPLuzJ+yl7IZVbVA0fYwQd1XcAV5dYQMI/WuEJWg3810p41R2QHpiA6jBZ9Wih 5iKHHtzLpHapyD1GOhocpKAbK2lL0X8XOy7R00MgZVmCLc0YpmfEmlNNq46e7WUJaFuViMN Ks6u2cBL8AvVQIgUijg5w== X-UI-Out-Filterresults: notjunk:1;V03:K0:3Bqtzo7TD+I=:EedaCVRN8WD5MShQntQxmy o/cUSirWCpq4THJumnTCu3Q66Vdi+goIKXqaDZl9f/IS/VcF8o4YASS8u9AGmPc/EKKCniAW0 T0vQQgzHRMy6eSHqk+BAh9i97k9kwFXQEbao5n6xPhls2jEgpNu5iByENDfOUIHx4qCkRDgGA E4pjPbUtvFSkAZ4KjEchu63xDln6Sp6i8uVqfoemWD7SJNcc9aMWtn4M0UW/tnOU4GXzrYu7l 54lYQXNdbuzkeJ304AM78vMOHTvu3ntv+7Ee1lz4vBFJACI1YGmFkW+0ueArPlqv2/qnRAPJN WgABGLBy8IUWjkKJAqaFFdcF/141qCtmhvP77zV4cPjJRmszD64/urYlDgjrJ46hF4knYwNCy QH9Kxz1Y1KW/HAE0fPobdeGsyqxO9a9jk1JSrPbJgmXvVVIyrMNQoU2ChcMC/5eeVh7gIvcm0 Xq/8gOjiE+IMM1ZSYBgFQ3mGMWpsp6iyBeTlEgkDh679XM09QPi0QhUWzps562+cShipQWTf8 Xmxd9/1rz6qym9ryN0Ir3xiGpQ2sPwWyjyTCE3epd2eUaX+adkXmSzVdp967VyxeXnERPpKCv 93KNkpDJ/VSWKpZpMDCQnnA9oozK4iZjQaG/0///sP1awlvFYIK7r8F7mXOMxloU2fVsnzlpK 3BctQUGEvOrOk39I5NCsjP5vK0ZIX9ZFyuOczsO3r3c6JWDAs7mfQGBqFi6ig9nNDN28= 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.17.24; 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_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Serge Belyshev , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644225895355100001 Content-Type: text/plain; charset="utf-8" From: Serge Belyshev Signed-off-by: Serge Belyshev Message-Id: <87ee4ql3yk.fsf_-_@depni.sinp.msu.ru> Signed-off-by: Laurent Vivier --- linux-user/aarch64/target_resource.h | 1 + linux-user/alpha/target_resource.h | 21 ++++++++++ linux-user/arm/target_resource.h | 1 + linux-user/cris/target_resource.h | 1 + linux-user/generic/target_resource.h | 37 +++++++++++++++++ linux-user/hexagon/target_resource.h | 1 + linux-user/hppa/target_resource.h | 1 + linux-user/i386/target_resource.h | 1 + linux-user/m68k/target_resource.h | 1 + linux-user/microblaze/target_resource.h | 1 + linux-user/mips/target_resource.h | 24 +++++++++++ linux-user/mips64/target_resource.h | 1 + linux-user/nios2/target_resource.h | 1 + linux-user/openrisc/target_resource.h | 1 + linux-user/ppc/target_resource.h | 1 + linux-user/riscv/target_resource.h | 1 + linux-user/s390x/target_resource.h | 1 + linux-user/sh4/target_resource.h | 1 + linux-user/sparc/target_resource.h | 17 ++++++++ linux-user/syscall_defs.h | 53 +------------------------ linux-user/x86_64/target_resource.h | 1 + linux-user/xtensa/target_resource.h | 1 + 22 files changed, 117 insertions(+), 52 deletions(-) create mode 100644 linux-user/aarch64/target_resource.h create mode 100644 linux-user/alpha/target_resource.h create mode 100644 linux-user/arm/target_resource.h create mode 100644 linux-user/cris/target_resource.h create mode 100644 linux-user/generic/target_resource.h create mode 100644 linux-user/hexagon/target_resource.h create mode 100644 linux-user/hppa/target_resource.h create mode 100644 linux-user/i386/target_resource.h create mode 100644 linux-user/m68k/target_resource.h create mode 100644 linux-user/microblaze/target_resource.h create mode 100644 linux-user/mips/target_resource.h create mode 100644 linux-user/mips64/target_resource.h create mode 100644 linux-user/nios2/target_resource.h create mode 100644 linux-user/openrisc/target_resource.h create mode 100644 linux-user/ppc/target_resource.h create mode 100644 linux-user/riscv/target_resource.h create mode 100644 linux-user/s390x/target_resource.h create mode 100644 linux-user/sh4/target_resource.h create mode 100644 linux-user/sparc/target_resource.h create mode 100644 linux-user/x86_64/target_resource.h create mode 100644 linux-user/xtensa/target_resource.h diff --git a/linux-user/aarch64/target_resource.h b/linux-user/aarch64/targ= et_resource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/aarch64/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/alpha/target_resource.h b/linux-user/alpha/target_r= esource.h new file mode 100644 index 000000000000..c9b082faee4a --- /dev/null +++ b/linux-user/alpha/target_resource.h @@ -0,0 +1,21 @@ +#ifndef ALPHA_TARGET_RESOURCE_H +#define ALPHA_TARGET_RESOURCE_H + +#include "../generic/target_resource.h" + +#undef TARGET_RLIM_INFINITY +#define TARGET_RLIM_INFINITY 0x7fffffffffffffffull + +#undef TARGET_RLIMIT_NOFILE +#define TARGET_RLIMIT_NOFILE 6 + +#undef TARGET_RLIMIT_AS +#define TARGET_RLIMIT_AS 7 + +#undef TARGET_RLIMIT_NPROC +#define TARGET_RLIMIT_NPROC 8 + +#undef TARGET_RLIMIT_MEMLOCK +#define TARGET_RLIMIT_MEMLOCK 9 + +#endif diff --git a/linux-user/arm/target_resource.h b/linux-user/arm/target_resou= rce.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/arm/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/cris/target_resource.h b/linux-user/cris/target_res= ource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/cris/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/targ= et_resource.h new file mode 100644 index 000000000000..f04c93b12596 --- /dev/null +++ b/linux-user/generic/target_resource.h @@ -0,0 +1,37 @@ +/* + * Target definitions of RLIMIT_* constants. These may be overridden by an + * architecture specific header if needed. + */ + +#ifndef GENERIC_TARGET_RESOURCE_H +#define GENERIC_TARGET_RESOURCE_H + +struct target_rlimit { + abi_ulong rlim_cur; + abi_ulong rlim_max; +}; + +struct target_rlimit64 { + uint64_t rlim_cur; + uint64_t rlim_max; +}; + +#define TARGET_RLIM_INFINITY ((abi_ulong)-1) + +#define TARGET_RLIMIT_CPU 0 +#define TARGET_RLIMIT_FSIZE 1 +#define TARGET_RLIMIT_DATA 2 +#define TARGET_RLIMIT_STACK 3 +#define TARGET_RLIMIT_CORE 4 +#define TARGET_RLIMIT_RSS 5 +#define TARGET_RLIMIT_NPROC 6 +#define TARGET_RLIMIT_NOFILE 7 +#define TARGET_RLIMIT_MEMLOCK 8 +#define TARGET_RLIMIT_AS 9 +#define TARGET_RLIMIT_LOCKS 10 +#define TARGET_RLIMIT_SIGPENDING 11 +#define TARGET_RLIMIT_MSGQUEUE 12 +#define TARGET_RLIMIT_NICE 13 +#define TARGET_RLIMIT_RTPRIO 14 + +#endif diff --git a/linux-user/hexagon/target_resource.h b/linux-user/hexagon/targ= et_resource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/hexagon/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/hppa/target_resource.h b/linux-user/hppa/target_res= ource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/hppa/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/i386/target_resource.h b/linux-user/i386/target_res= ource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/i386/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/m68k/target_resource.h b/linux-user/m68k/target_res= ource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/m68k/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/microblaze/target_resource.h b/linux-user/microblaz= e/target_resource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/microblaze/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/mips/target_resource.h b/linux-user/mips/target_res= ource.h new file mode 100644 index 000000000000..6d131b041db9 --- /dev/null +++ b/linux-user/mips/target_resource.h @@ -0,0 +1,24 @@ +#ifndef MIPS_TARGET_RESOURCE_H +#define MIPS_TARGET_RESOURCE_H + +#include "../generic/target_resource.h" + +#undef TARGET_RLIM_INFINITY +#define TARGET_RLIM_INFINITY 0x7fffffffUL + +#undef TARGET_RLIMIT_NOFILE +#define TARGET_RLIMIT_NOFILE 5 + +#undef TARGET_RLIMIT_AS +#define TARGET_RLIMIT_AS 6 + +#undef TARGET_RLIMIT_RSS +#define TARGET_RLIMIT_RSS 7 + +#undef TARGET_RLIMIT_NPROC +#define TARGET_RLIMIT_NPROC 8 + +#undef TARGET_RLIMIT_MEMLOCK +#define TARGET_RLIMIT_MEMLOCK 9 + +#endif diff --git a/linux-user/mips64/target_resource.h b/linux-user/mips64/target= _resource.h new file mode 100644 index 000000000000..fe29002a12eb --- /dev/null +++ b/linux-user/mips64/target_resource.h @@ -0,0 +1 @@ +#include "../mips/target_resource.h" diff --git a/linux-user/nios2/target_resource.h b/linux-user/nios2/target_r= esource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/nios2/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/openrisc/target_resource.h b/linux-user/openrisc/ta= rget_resource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/openrisc/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/ppc/target_resource.h b/linux-user/ppc/target_resou= rce.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/ppc/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/riscv/target_resource.h b/linux-user/riscv/target_r= esource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/riscv/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/s390x/target_resource.h b/linux-user/s390x/target_r= esource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/s390x/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/sh4/target_resource.h b/linux-user/sh4/target_resou= rce.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/sh4/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/sparc/target_resource.h b/linux-user/sparc/target_r= esource.h new file mode 100644 index 000000000000..d9a2fb814a61 --- /dev/null +++ b/linux-user/sparc/target_resource.h @@ -0,0 +1,17 @@ +#ifndef SPARC_TARGET_RESOURCE_H +#define SPARC_TARGET_RESOURCE_H + +#include "../generic/target_resource.h" + +#if TARGET_ABI_BITS =3D=3D 32 +#undef TARGET_RLIM_INFINITY +#define TARGET_RLIM_INFINITY 0x7fffffffUL +#endif + +#undef TARGET_RLIMIT_NOFILE +#define TARGET_RLIMIT_NOFILE 6 + +#undef TARGET_RLIMIT_NPROC +#define TARGET_RLIMIT_NPROC 7 + +#endif diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index c8690688b5b7..78607effe847 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -717,54 +717,7 @@ typedef struct target_siginfo { #define TARGET_TRAP_HWBKPT (4) /* hardware breakpoint/watchpoint = */ #define TARGET_TRAP_UNK (5) /* undiagnosed trap */ =20 -struct target_rlimit { - abi_ulong rlim_cur; - abi_ulong rlim_max; -}; - -#if defined(TARGET_ALPHA) -#define TARGET_RLIM_INFINITY 0x7fffffffffffffffull -#elif defined(TARGET_MIPS) || (defined(TARGET_SPARC) && TARGET_ABI_BITS = =3D=3D 32) -#define TARGET_RLIM_INFINITY 0x7fffffffUL -#else -#define TARGET_RLIM_INFINITY ((abi_ulong)-1) -#endif - -#define TARGET_RLIMIT_CPU 0 -#define TARGET_RLIMIT_FSIZE 1 -#define TARGET_RLIMIT_DATA 2 -#define TARGET_RLIMIT_STACK 3 -#define TARGET_RLIMIT_CORE 4 -#if defined(TARGET_MIPS) -#define TARGET_RLIMIT_NOFILE 5 -#define TARGET_RLIMIT_AS 6 -#define TARGET_RLIMIT_RSS 7 -#define TARGET_RLIMIT_NPROC 8 -#define TARGET_RLIMIT_MEMLOCK 9 -#elif defined(TARGET_ALPHA) -#define TARGET_RLIMIT_RSS 5 -#define TARGET_RLIMIT_NOFILE 6 -#define TARGET_RLIMIT_AS 7 -#define TARGET_RLIMIT_NPROC 8 -#define TARGET_RLIMIT_MEMLOCK 9 -#elif defined(TARGET_SPARC) -#define TARGET_RLIMIT_RSS 5 -#define TARGET_RLIMIT_NOFILE 6 -#define TARGET_RLIMIT_NPROC 7 -#define TARGET_RLIMIT_MEMLOCK 8 -#define TARGET_RLIMIT_AS 9 -#else -#define TARGET_RLIMIT_RSS 5 -#define TARGET_RLIMIT_NPROC 6 -#define TARGET_RLIMIT_NOFILE 7 -#define TARGET_RLIMIT_MEMLOCK 8 -#define TARGET_RLIMIT_AS 9 -#endif -#define TARGET_RLIMIT_LOCKS 10 -#define TARGET_RLIMIT_SIGPENDING 11 -#define TARGET_RLIMIT_MSGQUEUE 12 -#define TARGET_RLIMIT_NICE 13 -#define TARGET_RLIMIT_RTPRIO 14 +#include "target_resource.h" =20 struct target_pollfd { int fd; /* file descriptor */ @@ -2769,10 +2722,6 @@ struct target_epoll_event { #define TARGET_EP_MAX_EVENTS (INT_MAX / sizeof(struct target_epoll_event)) =20 #endif -struct target_rlimit64 { - uint64_t rlim_cur; - uint64_t rlim_max; -}; =20 struct target_ucred { uint32_t pid; diff --git a/linux-user/x86_64/target_resource.h b/linux-user/x86_64/target= _resource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/x86_64/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" diff --git a/linux-user/xtensa/target_resource.h b/linux-user/xtensa/target= _resource.h new file mode 100644 index 000000000000..227259594c00 --- /dev/null +++ b/linux-user/xtensa/target_resource.h @@ -0,0 +1 @@ +#include "../generic/target_resource.h" --=20 2.34.1 From nobody Mon Feb 9 16:27:14 2026 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 1644227457345317.7786648719093; Mon, 7 Feb 2022 01:50:57 -0800 (PST) Received: from localhost ([::1]:56502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH0ff-0003I5-SN for importer@patchew.org; Mon, 07 Feb 2022 04:50:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59652) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNb-000671-4p for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:11 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:34117) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGzNY-00079v-8y for qemu-devel@nongnu.org; Mon, 07 Feb 2022 03:28:09 -0500 Received: from quad ([82.142.19.58]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MrQMz-1o5CN93eHH-00oXMM; Mon, 07 Feb 2022 09:28:05 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 8/8] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Date: Mon, 7 Feb 2022 09:27:59 +0100 Message-Id: <20220207082759.180431-9-laurent@vivier.eu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220207082759.180431-1-laurent@vivier.eu> References: <20220207082759.180431-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:jg9+agnubygE5SdtZeG1ukGgzNqycvCNS5EYRI27i1V/9G6pbDE adWadQsBbXrCQHO/8WOZovhxp30bsL/gyyY/G7KVhrSJ/6U7zqwnjlkqSqJbanT080mtBqk /rXfU4gDTvXJdg7iusef05Euh8OtTMHtLri4mbVADvRSceA8wyzqXaYA+8A2P1QJsyjSdaJ GQL05x5CTM22gW5mZVJ7w== X-UI-Out-Filterresults: notjunk:1;V03:K0:C0++J47Hr4Y=:9qV7nTbe1O8H6NhJ+rpydG t21olrx6ltCbpO+vX8HC+IQgR+c8/dtEwIVe2ar2N2jmmDh/YlxmW6c6Osl1NxaClIgGWDWoH OOg1tEHOhdEsxqgJQPmFhx8bakRezFd/zUAy0uFpX1pHo9bpVtvO7qrXwiVBy+v7FEnG5K/MB x7g9xhKNQuwDJdZp1BZIC7FeFtmbsbVM8gzPBY2cMZ/B3F8kYW7LKfb6OwYhnQIivbMZ50Uqd adsK4fiKzr87G+E95E5AwbUGv2KFds8q+95Br7/mwf3tOXvHKfnK5wdPYfzBmP79ND2SzBgXf GXhVmnM+7e+0XLlJahdTEJbeXOdCNbcu2tSZuXGobl+StRiNq/PksNR2KoZ8Jg3REi3+wHHLa Kqb33MpV+kvGS+YiQQX1DWERxvJYGN8hJs6hgsXP04bh/91OC9C6spqhIdVbBL5qJA4E1Sjpn Xdg7F6cxlG8HX77aKHvQiTlKW/EeNiJH8PJcn+QwwPeFoKOgiNqlzEz0Ni6b3owJx6Rwr8KUq WAj+RHjXS1sCJIOpRNPXHN5U1ym5WJjMh+Xpoar9ZFix+oOqyMmJjSr9Ipbs6laPn8sNuKeEr BZKsVGROGsKM6S9f6uc23/WSVl1x/VmvcZ7pFgOQxwF5oocyacQSvMRdiPiLnz5pQlsfAHwCb iKcjs7g7aNoKU3r8hbO7lc9kl0E+NXz8CdYmZLPn0blXpP0v0CMuFH91l+PHuevwlbC4= 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=217.72.192.75; 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Serge Belyshev , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1644227458465100001 Content-Type: text/plain; charset="utf-8" From: Serge Belyshev Signed-off-by: Serge Belyshev Reviewed-by: Laurent Vivier Reviewed-by: Laurent Vivier Message-Id: <87a6fel3w8.fsf_-_@depni.sinp.msu.ru> Signed-off-by: Laurent Vivier --- linux-user/generic/target_resource.h | 1 + linux-user/syscall.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/targ= et_resource.h index f04c93b12596..539d8c46772e 100644 --- a/linux-user/generic/target_resource.h +++ b/linux-user/generic/target_resource.h @@ -33,5 +33,6 @@ struct target_rlimit64 { #define TARGET_RLIMIT_MSGQUEUE 12 #define TARGET_RLIMIT_NICE 13 #define TARGET_RLIMIT_RTPRIO 14 +#define TARGET_RLIMIT_RTTIME 15 =20 #endif diff --git a/linux-user/syscall.c b/linux-user/syscall.c index b3948d13a9dd..b9b18a7eaffb 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1053,6 +1053,8 @@ static inline int target_to_host_resource(int code) return RLIMIT_RSS; case TARGET_RLIMIT_RTPRIO: return RLIMIT_RTPRIO; + case TARGET_RLIMIT_RTTIME: + return RLIMIT_RTTIME; case TARGET_RLIMIT_SIGPENDING: return RLIMIT_SIGPENDING; case TARGET_RLIMIT_STACK: --=20 2.34.1