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 99FB5C433EF for ; Wed, 6 Jul 2022 14:16:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0815E6B0073; Wed, 6 Jul 2022 10:16:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 031046B0074; Wed, 6 Jul 2022 10:16:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E62A96B0075; Wed, 6 Jul 2022 10:16:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D5B526B0073 for ; Wed, 6 Jul 2022 10:16:06 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A816D3345A for ; Wed, 6 Jul 2022 14:16:06 +0000 (UTC) X-FDA: 79656874332.14.BD93199 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf07.hostedemail.com (Postfix) with ESMTP id 3F7CA4001B for ; Wed, 6 Jul 2022 14:16:06 +0000 (UTC) Received: by mail-wm1-f52.google.com with SMTP id j7so8931633wmp.2 for ; Wed, 06 Jul 2022 07:16:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wowsignal-io.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fkloSqZlL3lbO6Wma9wVYyimlIS0TstOKddojRJipDI=; b=5DcRii7fKVufA7nSm+mQbvW/Yo8oil5mpRpO8zUvn53usfxlyaBYysI+zNa/Kx6P23 B9Oe89658c13VtvzcPxFehK3K6dQES3kwhEVMdPQvSwSQd0y5i7eA/En92MoB9gtENpb Igpa/nctdZsw0H0e25Dm5xnio7XUwq9RzULhff4G85sGWSdo56IFBYG/XpHsSjNrjaeB cPnb0F6UdLw3YbH2oF5EZD2ZhNmUo7kZ0CWSgutVGfrLy95gEQZaMqorq2Y0Fqpwrms+ TeBfmKR63rZ3/0GXNuY+oIBN3hkzTxRH98GM5XL6YpYfGc5Ce0oDKweF4XlciaHkA5dt 2F+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fkloSqZlL3lbO6Wma9wVYyimlIS0TstOKddojRJipDI=; b=s0lgSYA4SJ3fwOn/z8LUBVYlzOI5kMnw6bmlIxSNIXKRCqp9DHJz6XIZ311ptp73li YUdz4z9qGjcvTaemNmgij5C25WlJ7Qxb9yZ46Cn51PJ0lR70bUaOBVcFC6NoCTwi9NB1 4xI78+f/p8W9LJj0v5f+cizV+5VQzZEg4ThsQoQc5SjgWdJ0+a2YA9lq0wWzvlvllIkI exfJdP9Jlk8RiIhHZanlM+yRCRfLuRMVZGVT6Y/UAwNY8uYM9sWqUw90oo/Y5xqg1DiN eCVkhwcdlyvd+X3cDIntwH2jS8DdNSSxSIobfrtwET18iXuCgQ+GjOVnlmbZjQfB2ix2 8iSQ== X-Gm-Message-State: AJIora8M+JmXyl+QiXPMbBAVpyWtO8W+4IFQbbwFC+WIQpD7haSBKuC+ PKKWCX4EXCAKmeAsPvhF7Mfbxg== X-Google-Smtp-Source: AGRyM1tfbBgXjzP2KZh2Y6Y2jnAo32B3+04MxU9QzUpqIZsiOIiNwIO8/7XVoWXDX0gvlZzpk0rFYg== X-Received: by 2002:a05:600c:1d95:b0:3a0:3cf1:5eb4 with SMTP id p21-20020a05600c1d9500b003a03cf15eb4mr42487341wms.50.1657116964843; Wed, 06 Jul 2022 07:16:04 -0700 (PDT) Received: from localhost (212-51-140-210.fiber7.init7.net. [212.51.140.210]) by smtp.gmail.com with ESMTPSA id q63-20020a1c4342000000b003973c54bd69sm22672735wma.1.2022.07.06.07.16.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Jul 2022 07:16:04 -0700 (PDT) From: Adam Sindelar To: Andrew Morton Cc: Suren Baghdasaryan , linux-mm@kvack.org, Adam Sindelar , Adam Sindelar , David Vernet , kernel-team@fb.com Subject: [PATCH v4] selftests/vm: fix errno handling in mrelease_test Date: Wed, 6 Jul 2022 16:16:02 +0200 Message-Id: <20220706141602.10159-1-adam@wowsignal.io> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1657116966; a=rsa-sha256; cv=none; b=sKTxMchbLhJg4p6BXi5bGPoIq7hfcKS5XFTc4tWJposdBxdAsG/j+MoeJ3SKbHAa5K4CC2 xhnAZibwTWWS5IrVP+PLL5RaTQ9kYB1bXFZGrqrwn2KVni8YlhHctlCGpyiIUUOBz26n8M WMa0CnkWqfawQ4mQZe9VrxzL6RaCykc= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=wowsignal-io.20210112.gappssmtp.com header.s=20210112 header.b=5DcRii7f; dmarc=none; spf=none (imf07.hostedemail.com: domain of adam@wowsignal.io has no SPF policy when checking 209.85.128.52) smtp.mailfrom=adam@wowsignal.io ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657116966; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=fkloSqZlL3lbO6Wma9wVYyimlIS0TstOKddojRJipDI=; b=6GyQMs+zfJa0sCuNz8WSsRsTjdNIf3f4NCduP5b4OyINfFuDMzGp9QOCqEmt7q3MQva+BY +msEdatRu+kK9FHORGZfFR1uB7zrgrHri9vmbcmBcwIskiXg6tfXwPnnnTndzH4FfCbvg1 vVuZ/xx3M41dzrlpKOXqjUvNq+kzGhI= X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3F7CA4001B X-Rspam-User: Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=wowsignal-io.20210112.gappssmtp.com header.s=20210112 header.b=5DcRii7f; dmarc=none; spf=none (imf07.hostedemail.com: domain of adam@wowsignal.io has no SPF policy when checking 209.85.128.52) smtp.mailfrom=adam@wowsignal.io X-Stat-Signature: mrpgbee9xtezwc9kgt149sgbomrim6kw X-HE-Tag: 1657116966-707786 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: 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 --- 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