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 54D1AC25B76 for ; Tue, 11 Jun 2024 04:27:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D96FE6B0099; Tue, 11 Jun 2024 00:27:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D1F906B009A; Tue, 11 Jun 2024 00:27:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B723B6B009B; Tue, 11 Jun 2024 00:27:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8F4236B0099 for ; Tue, 11 Jun 2024 00:27:12 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 46650A1177 for ; Tue, 11 Jun 2024 04:27:12 +0000 (UTC) X-FDA: 82217323104.09.50D40CD Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) by imf18.hostedemail.com (Postfix) with ESMTP id 6494A1C0014 for ; Tue, 11 Jun 2024 04:27:10 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="FfJ/iqmU"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf18.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.41 as permitted sender) smtp.mailfrom=jeffxu@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718080030; 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=hvZm3Ca28/2854H04bb2+N9aiZyWs2w67vdjUbOwxNg=; b=IY4a3FEbTb8klE4I7S0MQn/C12eTcr7gOcd+dmiAzpCOFFiznEBNA0b2h3zusYoXiNMrvy pg7EfFPZnDztO7JdJSr7Hks07DC3k2/PGJ5VMYAW/cNrGlNd9pHFUxgGzLZbsB6QAkYyaC OgUCQQjgWPl07VyKJpJVvJf8157ZvQE= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="FfJ/iqmU"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf18.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.41 as permitted sender) smtp.mailfrom=jeffxu@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718080030; a=rsa-sha256; cv=none; b=D0b68aBivKKslbRGijakF7PRrn+yT5oISLjuayYGIP8vKP5NQlcTk/v2U+IZgsdvJRQeku jYuAiWGjdIwBMzS2mFciYV/SI1/S2kLDyLZu/vD6qzbl7V+TXcZKRJemmAKc5+qZVifqST iBFJvjwfNJRDam5I+EFsc/lW9zQpE2U= Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-25487d915b8so311105fac.0 for ; Mon, 10 Jun 2024 21:27:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1718080029; x=1718684829; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=hvZm3Ca28/2854H04bb2+N9aiZyWs2w67vdjUbOwxNg=; b=FfJ/iqmUzHBEFXc9EOpb4Huh2o57XmTya4f+nWE2Z0/Po96lvgDqFcOwckAPTLyyK7 UlrNAgDXoqXu+QIHZcpKgzp3v61q5Deb5gx3WtVSlZ5r8Us8G7eHMIQW3HXFBabLVRF4 mrk5s0gwZBebyScL/whmGzC3hCAr++TtP3wsg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718080029; x=1718684829; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hvZm3Ca28/2854H04bb2+N9aiZyWs2w67vdjUbOwxNg=; b=E5ekLJG3CBGMHz1XHbDfISUZZrSvZMGFsCmBs4k915aGXwK245YE65tyLxh5H6Q+fO tq/PdT7wp/Y3CV5VV4SLIWXjO2FAeEbukJ47gHrkjpkTVfQgKdFmnLd8BMpHNhkRnvcX 0cS6OOWxqP5yLtjLXUWVir5eA+I29RzQMw/PHq9Wbpcdm5JpaobkkIkiMRN8B+LIg2Jp 2uP68im7UDXIEidHBakLyhUL1BxPKLIYu1R8HsdpVKLWfBzzrD4UtWHZcmUihLof6IQA quyRFzxlCUgCeuue3vny3qriK84VQDFhXcdXSWazXLV7UB3N5DEYPGUCcOHrbwmQy8tv cDog== X-Forwarded-Encrypted: i=1; AJvYcCUQ9YZthVTcMtPo3+8E9jblEFx0J0WhbudqrTdzXhvlbz+Z4MDDoomHC4VL2w7XVSY3U7JTN4DI14CaPC8pVhGu1oY= X-Gm-Message-State: AOJu0Yzoo2P/yYR/bUR9J0/cPu3mbHoxw/h5CASHbMuctPJwL28aFhk6 CpIMK+rDxSStxoodIGUUhrn+4MeDFYE13qXpOzF2FPn3NaMbRCj7VHFsIfZJrRZ92OJxfefFUPn +hF6PEap7rt+JO8TDaFCx3khaFMV/eH/Kn7+s X-Google-Smtp-Source: AGHT+IEHXlLIFhQYjN5bCYmUB+rGPsv3daP0+lHThmdjwO1K/ZWlgc24sesZAaA6Age9DcYanbP55mAWe64frc0LaRQ= X-Received: by 2002:a05:6870:89a4:b0:254:b1b1:7ea5 with SMTP id 586e51a60fabf-254b1b18dc3mr7909032fac.37.1718080029420; Mon, 10 Jun 2024 21:27:09 -0700 (PDT) MIME-Version: 1.0 References: <20240608021023.176027-1-jhubbard@nvidia.com> <20240608021023.176027-5-jhubbard@nvidia.com> In-Reply-To: <20240608021023.176027-5-jhubbard@nvidia.com> From: Jeff Xu Date: Mon, 10 Jun 2024 21:26:58 -0700 Message-ID: Subject: Re: [PATCH 4/5] selftests/mm: mseal, self_elf: factor out test macros and other duplicated items To: John Hubbard Cc: Andrew Morton , Shuah Khan , Andrei Vagin , Axel Rasmussen , Christian Brauner , David Hildenbrand , Kees Cook , Kent Overstreet , "Liam R . Howlett" , Muhammad Usama Anjum , Peter Xu , Rich Felker , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6494A1C0014 X-Rspamd-Server: rspam10 X-Rspam-User: X-Stat-Signature: n8grncr5qnxosmc65u9z5789oiuqzau1 X-HE-Tag: 1718080030-454165 X-HE-Meta: U2FsdGVkX1/i74zvXWWp6TDR+mKmVNYVWF5R4AxZnsUsAbajFbdq7nym9Cxyi20QSJteK1aaCSL3IUZNUBX4oLnKlPOgAFJ0QP6XsRMSIQR/LbE3dyjv1PT718ce7fgkfricXnoZE5cNH46QvIFs+VBVBBJ//qumLav43zWnDxhn9AqbW7RJ9l78chyre2LWtXiQd4n2Evkg101DTQXRHgptNmxz1vf+WavlllnitMo2okMUdelzcdrsRqSyeZcQWxLCbkfXNRNMtEEng75twwVlVZkfPt9SjOCa+coFbWqdYiCUMDV3r7kY3iGOYa6dXxJG4d+RR9QpF9jn8zkjKmYzVzSZTreFMndFsUCKB9GtGoAdU2u1vuStT2+bGPaDa9KqyuGd1cOF1QSKUOfRipE3PQlpp801ati64yJDqDKF/fY+Sd1FxItlwjT6Hc5vaV5cbo1W1P4ehCYbQSyOO9B8JHRfeRzjVJrvQYjhFgNWsKpTY0jlPMttEcrgh/kdf31S+FMqSYZh3dDp20BvqfoCcvy/z0RKqH7nnzYC9lnnmsJiLwUrwn0gu03KG6cDYAdXYVjbc21QMcPYNeSKKjdXBLnhvv77LX9CW+UsRGhnwBNLAg5tSQuzFVgPEwOOt0iYVr7MCc66l0XPqqwDbA+pe6qlS+e1ul6JPVVuja+pD28BvmijKvl5qGwqyX7X7T1HoaMulLvMFJE+4qt08A2hES+KNmfTd0fESHGYvFoaQINaPCBX3NCI+onmwc3HNEcbtfjObIqqD8nXmowyMWaeOYedUMHX0P/1LnycKvUhTrhZexh7S1XkmWkkN6WbUwcLNBZcwPyic4ARC3NF82DnYjJRCxPFc4JWye9z8fFJozJ+1IoN1l6Mv+QDF2yRScm1IDo7tsaUcQYYZau4Rkw7eYG+2yoLunYX0ryTCB2JsIgvg22uuirIKcdh3rwQWVfx72QIbAU/sv6C8qI 6I5dAZ4v PQn9sCgRFbgs/zA7kYwum41tNYll8lVSAIZFnAmhizzItY0w/2PWAeyHtbUxDe4bxCKUeCztvtRlS5QafsH5vg2v2I7McArkMDk6HsAZFJ9pSNX5IwpG5zIotSuoZuYuirmBuGaFocKkpeMFM0NdqgD241L4EpRuyc0I8m0D5zrGnVAV9Ygk4N4hP80d2Aj0wSAW+l3x5PNguSnAta+uhqZTAEuJO5qb26KoAztD5Xm2Kxiy72BeyLEsqs2PE5+vd5J3z6QyXTqhiv60= X-Bogosity: Ham, tests=bogofilter, spamicity=0.006995, 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 Fri, Jun 7, 2024 at 7:10=E2=80=AFPM John Hubbard w= rote: > > Clean up and move some copy-pasted items into mseal_helpers.h. > > 1. The test macros can be made safer and simpler, by observing that they > are invariably called when about to return. This means that the macros > do not need an intrusive label to goto; they can simply return. > > 2. PKEY* items. We cannot, unfortunately use pkey-helpers.h. The best we > can do is to factor out these few items into mseal_helpers.h. > > 3. These tests still need their own definition of u64, so also move that > to the header file. > > Cc: Jeff Xu > Signed-off-by: John Hubbard Reviewed-by: Jeff Xu Tested-by: Jeff Xu > --- > tools/testing/selftests/mm/mseal_helpers.h | 40 ++++++++++++++++++ > tools/testing/selftests/mm/mseal_test.c | 48 ---------------------- > tools/testing/selftests/mm/seal_elf.c | 32 --------------- > 3 files changed, 40 insertions(+), 80 deletions(-) > > diff --git a/tools/testing/selftests/mm/mseal_helpers.h b/tools/testing/s= elftests/mm/mseal_helpers.h > index b922d453a014..8c3bf77dcf19 100644 > --- a/tools/testing/selftests/mm/mseal_helpers.h > +++ b/tools/testing/selftests/mm/mseal_helpers.h > @@ -3,3 +3,43 @@ > #ifndef __NR_mseal > #define __NR_mseal 462 > #endif > + > +#define FAIL_TEST_IF_FALSE(test_passed) = \ > + do { \ > + if (!(test_passed)) { \ > + ksft_test_result_fail("%s: line:%d\n", \ > + __func__, __LINE__); \ > + return; \ > + } \ > + } while (0) > + > +#define SKIP_TEST_IF_FALSE(test_passed) = \ > + do { \ > + if (!(test_passed)) { \ > + ksft_test_result_skip("%s: line:%d\n", \ > + __func__, __LINE__); \ > + return; \ > + } \ > + } while (0) > + > +#define TEST_END_CHECK() ksft_test_result_pass("%s\n", __func__) > + > +#ifndef PKEY_DISABLE_ACCESS > +#define PKEY_DISABLE_ACCESS 0x1 > +#endif > + > +#ifndef PKEY_DISABLE_WRITE > +#define PKEY_DISABLE_WRITE 0x2 > +#endif > + > +#ifndef PKEY_BITS_PER_PKEY > +#define PKEY_BITS_PER_PKEY 2 > +#endif > + > +#ifndef PKEY_MASK > +#define PKEY_MASK (PKEY_DISABLE_ACCESS | PKEY_DISABLE_WRITE) > +#endif > + > +#ifndef u64 > +#define u64 unsigned long long > +#endif > diff --git a/tools/testing/selftests/mm/mseal_test.c b/tools/testing/self= tests/mm/mseal_test.c > index 20949617a036..a29935d82027 100644 > --- a/tools/testing/selftests/mm/mseal_test.c > +++ b/tools/testing/selftests/mm/mseal_test.c > @@ -19,54 +19,6 @@ > #include > #include "mseal_helpers.h" > > -/* > - * need those definition for manually build using gcc. > - * gcc -I ../../../../usr/include -DDEBUG -O3 -DDEBUG -O3 mseal_test.= c -o mseal_test > - */ > -#ifndef PKEY_DISABLE_ACCESS > -# define PKEY_DISABLE_ACCESS 0x1 > -#endif > - > -#ifndef PKEY_DISABLE_WRITE > -# define PKEY_DISABLE_WRITE 0x2 > -#endif > - > -#ifndef PKEY_BITS_PER_PKEY > -#define PKEY_BITS_PER_PKEY 2 > -#endif > - > -#ifndef PKEY_MASK > -#define PKEY_MASK (PKEY_DISABLE_ACCESS | PKEY_DISABLE_WRITE) > -#endif > - > -#define FAIL_TEST_IF_FALSE(c) do {\ > - if (!(c)) {\ > - ksft_test_result_fail("%s, line:%d\n", __func__, = __LINE__);\ > - goto test_end;\ > - } \ > - } \ > - while (0) > - > -#define SKIP_TEST_IF_FALSE(c) do {\ > - if (!(c)) {\ > - ksft_test_result_skip("%s, line:%d\n", __func__, = __LINE__);\ > - goto test_end;\ > - } \ > - } \ > - while (0) > - > - > -#define TEST_END_CHECK() {\ > - ksft_test_result_pass("%s\n", __func__);\ > - return;\ > -test_end:\ > - return;\ > -} > - > -#ifndef u64 > -#define u64 unsigned long long > -#endif > - > static unsigned long get_vma_size(void *addr, int *prot) > { > FILE *maps; > diff --git a/tools/testing/selftests/mm/seal_elf.c b/tools/testing/selfte= sts/mm/seal_elf.c > index 4053951a535c..0fd129259647 100644 > --- a/tools/testing/selftests/mm/seal_elf.c > +++ b/tools/testing/selftests/mm/seal_elf.c > @@ -18,38 +18,6 @@ > #include > #include "mseal_helpers.h" > > -/* > - * need those definition for manually build using gcc. > - * gcc -I ../../../../usr/include -DDEBUG -O3 -DDEBUG -O3 seal_elf.c = -o seal_elf > - */ > -#define FAIL_TEST_IF_FALSE(c) do {\ > - if (!(c)) {\ > - ksft_test_result_fail("%s, line:%d\n", __func__, = __LINE__);\ > - goto test_end;\ > - } \ > - } \ > - while (0) > - > -#define SKIP_TEST_IF_FALSE(c) do {\ > - if (!(c)) {\ > - ksft_test_result_skip("%s, line:%d\n", __func__, = __LINE__);\ > - goto test_end;\ > - } \ > - } \ > - while (0) > - > - > -#define TEST_END_CHECK() {\ > - ksft_test_result_pass("%s\n", __func__);\ > - return;\ > -test_end:\ > - return;\ > -} > - > -#ifndef u64 > -#define u64 unsigned long long > -#endif > - > /* > * define sys_xyx to call syscall directly. > */ > -- > 2.45.2 >