From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D771CE77188 for ; Thu, 26 Dec 2024 15:22:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B8646B007B; Thu, 26 Dec 2024 10:22:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4682C6B0083; Thu, 26 Dec 2024 10:22:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3081E6B0085; Thu, 26 Dec 2024 10:22:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1321C6B007B for ; Thu, 26 Dec 2024 10:22:16 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 741C8160AF9 for ; Thu, 26 Dec 2024 15:22:15 +0000 (UTC) X-FDA: 82937474844.21.7C94CAF Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) by imf08.hostedemail.com (Postfix) with ESMTP id 61EB516000B for ; Thu, 26 Dec 2024 15:21:45 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=coelacanthus.name header.s=fm3 header.b=slMx5ygn; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="o 5TPm9E"; dmarc=pass (policy=quarantine) header.from=coelacanthus.name; spf=pass (imf08.hostedemail.com: domain of uwu@coelacanthus.name designates 103.168.172.136 as permitted sender) smtp.mailfrom=uwu@coelacanthus.name ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735226514; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=9PBKThwQsCoEBMlVcV0YVOAr01r6Wd75FiktQTX+myg=; b=HG3fdsfyMmjXN1FKufTBU6sF/OwSUfTXb7l9ZIhklk6keJN6pqqURlI4tWp9t/Oi0C4Usd qNOGlfjEAC9bDbm7Xi2xw4RtMJqs2x/AGLEDHv74tYygSDbpelnsanBkQR6MpnWclWu1hv ICxPyskdXd6l6McwqUAQieI6WCx8kt0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735226514; a=rsa-sha256; cv=none; b=mcEzl5nkvWPHL4gCn9KH9WuIZlYzs58QR9OiAqxnd9If4UWTq0wg7YM60qukwkvQPJCOE6 Exf5XmK8G1eRM3AhzXsfzEvRtmaOoN9qZzEWvX4yFcLEzRQHf/JIhNnQM93ypR+Ky49Bkc IRHopGtqZwxDFc1c9lwOHzwhSZN/2K0= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=coelacanthus.name header.s=fm3 header.b=slMx5ygn; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="o 5TPm9E"; dmarc=pass (policy=quarantine) header.from=coelacanthus.name; spf=pass (imf08.hostedemail.com: domain of uwu@coelacanthus.name designates 103.168.172.136 as permitted sender) smtp.mailfrom=uwu@coelacanthus.name Received: from phl-compute-06.internal (phl-compute-06.phl.internal [10.202.2.46]) by mailflow.phl.internal (Postfix) with ESMTP id 6B5CC20009E; Thu, 26 Dec 2024 10:22:12 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Thu, 26 Dec 2024 10:22:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= coelacanthus.name; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1735226532; x=1735233732; bh=9PBKThwQsC oEBMlVcV0YVOAr01r6Wd75FiktQTX+myg=; b=slMx5ygnGbiyl8uSIv2ltHyVtz mWmBhApz/1RcdlZfXiGE+rlSriu+fGIohAeYxnXTTk1Ktr7Dv8CZ9Sl32sl5ikb2 1FKfNQirexvBslVcGKdWt9MfTjDEMJF8jVbMCRsRlb8k3NVC6aqlUxnamyeynDSZ VcPDwcw8eDSKs5bXHt6VvGi0FTSTxGdRG04hUYkAvNL8+auobIgnkv/eJDJjHCxd vLKuJ0WOmktc1s9OQ9hSTc5QMQYtfXvpYJGjeVc4K/7dsh6PV272fTQJN5UF9CDi cuPAwyryc0bq+ELSeeaITALSbFpxnzrSkGMyEV8BRdCYPTGrdj5TDQtxDvfA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1735226532; x= 1735233732; bh=9PBKThwQsCoEBMlVcV0YVOAr01r6Wd75FiktQTX+myg=; b=o 5TPm9EepmWxpQrNJUBAwYAbA569TwbzrWANHvYfkSNxykudSN3vTFjopqqpmyMGC bgM91TZ7EB3rUqTzKfPKtLsYK1zzEZnAvw1PIH1YtXWjb7xz9mzOZqOo3e1T51MC rbbo99gscWs6w8FBCQdE+dF4nK8DlnMVT09wG5ey4vCg85LV0MVuu8ywhOUdlIfe boKqvRvZj880z7/rwWmD3twrEQsfiUnTmpzsUcrD3YUiLR73PXMGNtdXPNeUPIkC zY8E3PYgOeZEa6TBJKWL/1fZxh/gNfV//Vv5GJ3tqpCz/ekpGjeA2YX6X0dbRg9Q embWtt+EJ6wIi2+TcG5Ww== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddruddukedgjeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdej necuhfhrohhmpeevvghlvghsthgvucfnihhuuceouhifuhestghovghlrggtrghnthhhuh hsrdhnrghmvgeqnecuggftrfgrthhtvghrnhepfefhfeefteekgedvfeehhfefvedutedt fefhkeeileehgefgveffvdffudehhfeknecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepuhifuhestghovghlrggtrghnthhhuhhsrdhnrghmvgdp nhgspghrtghpthhtohepvdeipdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehlug hvsehsthhrrggtvgdrihhopdhrtghpthhtohepohhlvghgsehrvgguhhgrthdrtghomhdp rhgtphhtthhopehprghulhdrfigrlhhmshhlvgihsehsihhfihhvvgdrtghomhdprhgtph htthhopehprghlmhgvrhesuggrsggsvghlthdrtghomhdprhgtphhtthhopegvsghivggu vghrmhesgihmihhsshhiohhnrdgtohhmpdhrtghpthhtohepkhgvvghssehkvghrnhgvlh drohhrghdprhgtphhtthhopehshhhurghhsehkvghrnhgvlhdrohhrghdprhgtphhtthho pegrohhusegvvggtshdrsggvrhhkvghlvgihrdgvughupdhrtghpthhtoheprghlvgigse hghhhithhirdhfrh X-ME-Proxy: Feedback-ID: i95c648bc:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 26 Dec 2024 10:22:01 -0500 (EST) Message-ID: <2e09aedc-44ba-40e3-ae93-1d6dc21b5eb1@coelacanthus.name> Date: Thu, 26 Dec 2024 23:21:59 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 2/2] riscv: selftests: Add a ptrace test to verify syscall parameter modification Content-Language: en-GB-large To: "Dmitry V. Levin" Cc: Oleg Nesterov , Paul Walmsley , Palmer Dabbelt , Eric Biederman , Kees Cook , Shuah Khan , Albert Ou , Alexandre Ghiti , Andrea Bolognani , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , Thomas Gleixner , Ron Economos , Charlie Jenkins , Andrew Jones , Quan Zhou , Felix Yan , Ruizhe Pan , Guo Ren , Yao Zi , Eugene Syromyatnikov , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= References: <20241226-riscv-new-regset-v4-0-4496a29d0436@coelacanthus.name> <20241226-riscv-new-regset-v4-2-4496a29d0436@coelacanthus.name> <20241226133459.GA30481@strace.io> From: Celeste Liu In-Reply-To: <20241226133459.GA30481@strace.io> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Stat-Signature: do7zd9iexog7kmxgqggte4by7bep48z4 X-Rspamd-Queue-Id: 61EB516000B X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1735226505-965145 X-HE-Meta: U2FsdGVkX1+FuDbxjibaBIPuWmcQ2V8KRR49/oNSREaewuri20hqGmK38wQawcdg5yAJfJNQoFK3ZCSrFw9ciGgtUjt0IRGnuiFZYGEenijEWnW+F4JJPOYWTVc7IwPU04PM7GdNBHKx0OV0J+NFZ2mP5MR632XeZxanJ/h831HqC+c0Q9mq1S2BgXqM3/mjCwvG3uGobB6kdUwA9hkcrD4ad4gFHXT5jc03SrtHSe9jIfKN4YtcWjeqzIbuoQUbXD8TtKDELZLGfHi8cmmXwqHzdJjF6hLrsN8YKlWTB4S3YqiJc7FIsdyn2aSbdSOg0R9mUnjpzE7baIy37R0+w3AzJSAQvzo9PuZTfdbIc1LuF9QeWqCuSIjWHVrB+YnUO2z76A/dQDTbfOtJf4g3otkt1P6vpDBaBiwOKSaRClzH75g2sDO5L6sJNlfexbdG997b5H+sch2IJCmDKjZaSoAQ52t3m7apNYCAgXnzX+axPUmiwWlAY6CrLbLBCvOzNHnBuHuo7YW3wp9ZOlEd80LssYjuXbaWFpqZsTnzhDSjxGkgZtJs7q9Ucmf3vivnFPzI+oQ8dm7K+8Qp26R7EuelKDIQMPKQiYAbfdHNRb4eDkzotR7z7C3JcjVYmOjHHSFnvIW1xr+QFMX7wunsEaM/diPzCQeuImp1qPOLe+i88zINl5LJ8+9uXbRj5zYOiJ6YkkbbcsnrqVz+aiFFJgom+hCFiN7tHCiSqvF0gX9Gyd+OT7fGQ5KUBhUihsB7BRoH4pK8/FxcQWFG7Y7EUfGgTDAjSsavCmPqqbYHRknFWwYqR/pQDzALKjnA/BmcGoxRGFKGT3VNnx9KqT5MDlVU8ueaDGve9E5cwi4dNiBWGy41xHjICXRse3onLB/7tshsz1U0atQj5HxmHlyKL/keNvvjTiYkezLT4fqJX1V3B76v8YR5zYoHUBsFmwuRRlK+SeQhAV1VBjn78Jc gUdrY6Ao /zbQLDLRAaybJaygNrXV0dvW0hOPV2yfy7e0/XSX13LkHWoFdWbvCNxq0Lg/65iaPkJ62W7EvTG3/O3cERsCLJul2D+N9rtcrkPXWpG9eVAbQw/futMm+zvH1SccAcqkO+T2GmfL62MVx4Hw95ildFm0nSjj8l/nqLUhAOyVuAhFUEdgpeE1BXQaZM+Advk8RM1v9JQiOCQ96KbZtWZ0XDbpvSgHItFl4D1MgV8Xa373QMwnbtVVTVulewqwJETgWDIkbWnAidD4aeVTS1PFmZpfEaW+v+3vTL4U5DgAwrig9xDUC+EXlFHSPtwqv7uUwF078ZC+YaAwIahUR2fbQ10W4+55yIByprpUtBeu1lskXRyCeRnjL7FOsGil81TvIFuO9xZygm6u1goPEgTvSCTIwwLr9Vf+GQXTp+V6QkI5RppcFr6nXO48YqOGKBhgGNpcaITG3sUE/G1MzthTCdEyfA2neSEx4j67IgdweSYbUJA5ShD3E2LDymry6GniBzTnATp0zG0NGwoC+TZ4HZBy5MqSdv0O4vSjPuUtslao6U4ivsbSmBDRVtw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 2024-12-26 21:35, Dmitry V. Levin wrote: > On Thu, Dec 26, 2024 at 06:52:52PM +0800, Celeste Liu wrote: >> This test checks that orig_a0 allows a syscall argument to be modified, >> and that changing a0 does not change the syscall argument. >> >> Co-developed-by: Quan Zhou >> Signed-off-by: Quan Zhou >> Co-developed-by: Charlie Jenkins >> Signed-off-by: Charlie Jenkins >> Reviewed-by: Björn Töpel >> Signed-off-by: Celeste Liu > [...] >> diff --git a/tools/testing/selftests/riscv/abi/ptrace.c b/tools/testing/selftests/riscv/abi/ptrace.c >> new file mode 100644 >> index 0000000000000000000000000000000000000000..023695352215bb5de3f91c1a6f5ea3b4f9373ff9 >> --- /dev/null >> +++ b/tools/testing/selftests/riscv/abi/ptrace.c > [...] >> + if (ptrace(PTRACE_GET_SYSCALL_INFO, pid, PTRACE_SYSCALL_INFO_ENTRY, &syscall_info_entry)) >> + perr_and_exit("failed to get syscall info of entry\n"); >> + result->orig_a0 = syscall_info_entry->entry.args[0]; >> + if (ptrace(PTRACE_GET_SYSCALL_INFO, pid, PTRACE_SYSCALL_INFO_EXIT, &syscall_info_exit)) >> + perr_and_exit("failed to get syscall info of exit\n"); >> + result->a0 = syscall_info_exit->exit.rval; > > I'm sorry but this is not how PTRACE_GET_SYSCALL_INFO should be used. > > PTRACE_GET_SYSCALL_INFO operation takes a pointer and a size, > and in this example instead of size you pass constants 1 and 2, which > essentially means that both syscall_info_entry->entry.args[0] and > syscall_info_exit->exit.rval are not going to be assigned > and would just contain some garbage from the stack. > > Also, PTRACE_GET_SYSCALL_INFO operation returns the number of bytes > available to be written by the kernel, which is always nonzero on any > PTRACE_GET_SYSCALL_INFO-capable kernel. In other words, this example > will always end up with perr_and_exit() call. > > I wonder how this test was tested before the submission. Oops... It seems I forget sync the code to test board so it runs with the old code... The code is completely not tested... I'm so sorry for my mistake. I will correct it and test it carefully later... > >