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 B5598C43334 for ; Wed, 6 Jul 2022 09:57:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 500E16B0071; Wed, 6 Jul 2022 05:57:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B0A96B0073; Wed, 6 Jul 2022 05:57:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 378A76B0074; Wed, 6 Jul 2022 05:57:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 287F26B0071 for ; Wed, 6 Jul 2022 05:57:16 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id F171A33149 for ; Wed, 6 Jul 2022 09:57:15 +0000 (UTC) X-FDA: 79656222030.03.BE68502 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by imf24.hostedemail.com (Postfix) with ESMTP id 8D9B2180051 for ; Wed, 6 Jul 2022 09:57:15 +0000 (UTC) Received: by mail-ed1-f50.google.com with SMTP id fd6so18581625edb.5 for ; Wed, 06 Jul 2022 02:57:15 -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=aYJce6r2Ip9vjO3mg0XkTk0UlAURS7UxDPEeoqjZMVg=; b=nsQ2W+kN1xhNMKIBUL4mO4Bz8CSXyxTqUI86eNWBMo+bTeUMewKT1H7ZhOLu0Iau4x 1OitXvOoQ6pxw6gIa6ODrIvvL3Hu6EYwfpI3duP0QckRL8R7cQdLkis1nE1Vh010/puK oZ+zdkGldWAJsWD9AR5lCd9TJI4RcHsW7DQ/mPlPE8dy31wIj7xw06M2AKCzTovNvndF qiVgHb5sShjxffFcCn+udpTmDf4HQFdxH/dZ571V9UQzMeN7+lWmeTsq+YObZl2SyE8I 2xmXUYimLM651f1bHRCybaGBWox1Ecy88l04/kU6YHN7kD6ysW3yHsMQ6Fuou6NJcqht XTHg== 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=aYJce6r2Ip9vjO3mg0XkTk0UlAURS7UxDPEeoqjZMVg=; b=IvC3iA/JUD/RixU+bWWur7nWcNexkUHSCjh4HvSPrFWBDFbjvQrLOX9BTHNZ20Zq88 kKwQl8PHjjywpG0p06Fy8GqZ6Vcy+HS0hYrsTUzIOrBYBliyYT21nqwhqNrRNGitgKrM YOxVtExGUBwZeitZa0bH78wie/A4M39ZkV6q03t/8QEvVwVrN0xnMGDMAZYjUNfNDtnR bgHGyzqGDx4zBgoLTEhTJlW2z1iTUOdxjx1l+kW5Y0sfdCV5TmD3ugV7/CPFjFgwhCEt emWFbvqnc2pgUhtzh4hAn4EShaP2O4DzcZhi1Mt3tCOuc/PzuBM0QVHXO2vX98lhIKLv sXtg== X-Gm-Message-State: AJIora/7DwHudvMtbEEZkhd+WW1GY62RA7Zh/T/S6HvvQ47I/sLtBIsz DRV+hPw3QE8fqxcm+56F9vwESg== X-Google-Smtp-Source: AGRyM1uMbII887L/WU+OK+c45TCM5IhFPKfrplSEMjCiBH93s6xH4A6enzyNQA45B914jLTD8LUY1Q== X-Received: by 2002:a05:6402:c44:b0:431:52cc:f933 with SMTP id cs4-20020a0564020c4400b0043152ccf933mr52352155edb.41.1657101434170; Wed, 06 Jul 2022 02:57:14 -0700 (PDT) Received: from localhost (212-51-140-210.fiber7.init7.net. [212.51.140.210]) by smtp.gmail.com with ESMTPSA id c1-20020a17090618a100b0072af6f166c2sm788644ejf.82.2022.07.06.02.57.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Jul 2022 02:57:13 -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 v3] selftests/vm: fix errno handling in mrelease_test Date: Wed, 6 Jul 2022 11:57:07 +0200 Message-Id: <20220706095707.7539-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=1657101435; a=rsa-sha256; cv=none; b=qaFf6pa+EN0X68J253mQmRbEJjgxNTDmI6oP+yh9/Gq+rXkLdBDYLTEGo5IuK5htE6fTZB vxiJk8+LikSqRM+27RgeqOX8Vr//JahmJrxw+wl1Z73lYBTGh2bq/gnv77wU+nuFTUqabT HXb7rTxOcn8uGo9bhA0HrlkeRkSjoKY= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=wowsignal-io.20210112.gappssmtp.com header.s=20210112 header.b=nsQ2W+kN; dmarc=none; spf=none (imf24.hostedemail.com: domain of adam@wowsignal.io has no SPF policy when checking 209.85.208.50) smtp.mailfrom=adam@wowsignal.io ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657101435; 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=aYJce6r2Ip9vjO3mg0XkTk0UlAURS7UxDPEeoqjZMVg=; b=GXtq4W1o5xDjNwBvEygEFe39OZJWeUWh6RwpGdArBLV2N3TtVLwQawP1kJZ4At553O+knB uqxYjsCuTOgFt8QF3VO59qeCki3bsN5rcgqUDokiyBZoQXYsUIm8u7eh85J22juZoJegWt R7KWU5g9LI3+Dm/8fc2Bvxp77eER6mA= X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 8D9B2180051 Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=wowsignal-io.20210112.gappssmtp.com header.s=20210112 header.b=nsQ2W+kN; dmarc=none; spf=none (imf24.hostedemail.com: domain of adam@wowsignal.io has no SPF policy when checking 209.85.208.50) smtp.mailfrom=adam@wowsignal.io X-Stat-Signature: ad5u1bekrmxygzd9esomead4qs5mewwo X-HE-Tag: 1657101435-415439 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. Signed-off-by: Adam Sindelar --- v1->v2: Fixed second instance in the same file v2->v3: Fixed remaining instances of errno mishandling 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