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 36E78C43334 for ; Wed, 6 Jul 2022 16:42:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4FC6C6B0074; Wed, 6 Jul 2022 12:42:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 484AF8E0001; Wed, 6 Jul 2022 12:42:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3254E6B0078; Wed, 6 Jul 2022 12:42:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1C4036B0074 for ; Wed, 6 Jul 2022 12:42:07 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D87CE14DA for ; Wed, 6 Jul 2022 16:42:06 +0000 (UTC) X-FDA: 79657242252.13.76DCB1B Received: from mail-yb1-f169.google.com (mail-yb1-f169.google.com [209.85.219.169]) by imf11.hostedemail.com (Postfix) with ESMTP id 8649C40054 for ; Wed, 6 Jul 2022 16:42:06 +0000 (UTC) Received: by mail-yb1-f169.google.com with SMTP id i7so28241399ybe.11 for ; Wed, 06 Jul 2022 09:42:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+MsroUJMxGfcpW2Lcz/Asp1a9mmlOL3WAu5pjpZO9ss=; b=dhnXsWb6Oc+PQaN0/O5dcOudOv7xJDkuZnit+nqvsKtW17AwD3yX+R/EgchbECV2xp tUS+D3+Dk7QIeK/haBf4Rmq6m2RgSb0pcz7ZN/rAB0GIQ8Y15FUSaln4bbuLGT0GW2L1 9aucN50LSJPBdxDM6MbJFarXFDZpIEHxTAPkObQynlHwW9H4zfS9Ahxc3WpygAtwVKjG CLFmyUxTqtgB/l8+RbzBgxOaqSSZxbzdJCCJaOz26a52vOmMptzvjeQYIX85XZaTx2vs RsZy/fk5+o+A9sld77vCWKZRb67nyF2c0gZxiI2oXPQmCBFDJiB1EytBf7/Ai1wd1GH9 zF2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+MsroUJMxGfcpW2Lcz/Asp1a9mmlOL3WAu5pjpZO9ss=; b=PlV7y1A3qU+wSRKvWSLkOVZkSJpOOY9HFtmX5jFu3jRdO0i8dMN16w9NBDy/kOuf9J QtX2J7zl36icCLi86+slH7322i9K9EdgCPCYxVO7FzxUvFA6a8DfMAmRXupHczj9JKIA khfLK3wW2tNbtl34SSWE2vsUC2srWVAhLWv3fx0i7Z/J60rsj/7EdhfNGqCXZP8cqS/8 IRTHpxdQTgR+v+DA8w1QoHhzA5SyNz21n39ZCs5iiIjtUHGAOd8dJL3izaJJDiF6pHM+ AwFUvKXBYT/Fpx8gZ3ox+wkH5JGt3YCvogkK8UuJvJ62Qysrn3MgkEIrPo+/Ndi+Z29T babA== X-Gm-Message-State: AJIora8EkzNwSJ9XPBwWvAKfQ7KrG5/ao+VApmprvgq8wjf5gXegXWWn btPBfYJFa4ZDOwvVqQXyi+RDcTsiHkuhmEmz0CSNhA== X-Google-Smtp-Source: AGRyM1vMUC6DVuhp8x26CDcFGzPlYkD/76qsupgzTlSQEHuy9QSop75ONQ7WyqIvDaIpimxZ6xhAvzGl6UlT+6uLZgg= X-Received: by 2002:a5b:30d:0:b0:64b:4193:7911 with SMTP id j13-20020a5b030d000000b0064b41937911mr42366484ybp.509.1657125725534; Wed, 06 Jul 2022 09:42:05 -0700 (PDT) MIME-Version: 1.0 References: <20220706141602.10159-1-adam@wowsignal.io> <20220706152937.j3ejwofwofnsgsxs@dev0025.ash9.facebook.com> In-Reply-To: <20220706152937.j3ejwofwofnsgsxs@dev0025.ash9.facebook.com> From: Suren Baghdasaryan Date: Wed, 6 Jul 2022 09:41:54 -0700 Message-ID: Subject: Re: [PATCH v4] selftests/vm: fix errno handling in mrelease_test To: David Vernet Cc: Adam Sindelar , Andrew Morton , linux-mm , Adam Sindelar , kernel-team@fb.com Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1657125726; a=rsa-sha256; cv=none; b=WUu755XmrkxPMN1wVcb9sFy2tX+iSNhml6gWPFq9OQsF3iqluS+n6Kwf0wd8a5hBVE9WZf D3LljVdZ6HiYQbze90I5+Z6GrbZMktK/ss25ZibejpyElCoRt0vHbI0LKEsoYFANeQdIIx V9IB87IJufi8zeb1ZTetIk2sDHddF4w= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=dhnXsWb6; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.219.169 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657125726; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+MsroUJMxGfcpW2Lcz/Asp1a9mmlOL3WAu5pjpZO9ss=; b=wU3fCArem57M1t73cQP/0ggjclU+fv/LZ4rZMcCh25/ItheJ/wq+1uubtKZe1sGN9Cb/7L fnGgLznYv6eg0MCXEnw+2vqxrfJzjqyhOzikP+SD9tds3l299W5lHL60sacCGIXCW9k1f3 BUD/QC/f1sVEnCR+Uqpzsp44Kc8ySUA= Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=dhnXsWb6; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.219.169 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: andkkbgnqb7a8xpujr5kek7x8okamphj X-Rspamd-Queue-Id: 8649C40054 X-HE-Tag: 1657125726-101801 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: On Wed, Jul 6, 2022 at 8:29 AM David Vernet wrote: > > On Wed, Jul 06, 2022 at 04:16:02PM +0200, Adam Sindelar wrote: > > mrelease_test should return KSFT_SKIP when process_mrelease is not > > defined, but due to a perror call consuming the errno, it returns > > KSFT_FAIL. > > > > This patch decides the exit codes before calling perror. > > > > Fixes: 33776141b812 ("selftests: vm: add process_mrelease tests") > > > > Signed-off-by: Adam Sindelar Reviewed-by: Suren Baghdasaryan > > --- > > v1->v2: Fixed second instance in the same file > > v2->v3: Fixed remaining instances of errno mishandling > > v3->v4: Added a "Fixes:" line for the log > > > > tools/testing/selftests/vm/mrelease_test.c | 16 +++++++++++----- > > 1 file changed, 11 insertions(+), 5 deletions(-) > > > > diff --git a/tools/testing/selftests/vm/mrelease_test.c b/tools/testing/selftests/vm/mrelease_test.c > > index 96671c2f7d48..6c62966ab5db 100644 > > --- a/tools/testing/selftests/vm/mrelease_test.c > > +++ b/tools/testing/selftests/vm/mrelease_test.c > > @@ -62,19 +62,22 @@ static int alloc_noexit(unsigned long nr_pages, int pipefd) > > /* The process_mrelease calls in this test are expected to fail */ > > static void run_negative_tests(int pidfd) > > { > > + int res; > > /* Test invalid flags. Expect to fail with EINVAL error code. */ > > if (!syscall(__NR_process_mrelease, pidfd, (unsigned int)-1) || > > errno != EINVAL) { > > + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > perror("process_mrelease with wrong flags"); > > - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > + exit(res); > > } > > /* > > * Test reaping while process is alive with no pending SIGKILL. > > * Expect to fail with EINVAL error code. > > */ > > if (!syscall(__NR_process_mrelease, pidfd, 0) || errno != EINVAL) { > > + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > perror("process_mrelease on a live process"); > > - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > + exit(res); > > } > > } > > > > @@ -100,8 +103,9 @@ int main(void) > > > > /* Test a wrong pidfd */ > > if (!syscall(__NR_process_mrelease, -1, 0) || errno != EBADF) { > > + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > perror("process_mrelease with wrong pidfd"); > > - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > + exit(res); > > } > > > > /* Start the test with 1MB child memory allocation */ > > @@ -156,8 +160,9 @@ int main(void) > > run_negative_tests(pidfd); > > > > if (kill(pid, SIGKILL)) { > > + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > perror("kill"); > > - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > + exit(res); > > } > > > > success = (syscall(__NR_process_mrelease, pidfd, 0) == 0); > > @@ -172,9 +177,10 @@ int main(void) > > if (errno == ESRCH) { > > retry = (size <= MAX_SIZE_MB); > > } else { > > + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > perror("process_mrelease"); > > waitpid(pid, NULL, 0); > > - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); > > + exit(res); > > } > > } > > > > -- > > 2.35.1 > > > > Thanks, Adam. Looks great. > > Reviewed-by: David Vernet Thanks for the fix!