From patchwork Fri Feb 21 18:25:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brendan Jackman X-Patchwork-Id: 13986157 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 25515C021B3 for ; Fri, 21 Feb 2025 18:25:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22B5A280016; Fri, 21 Feb 2025 13:25:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B6D328000C; Fri, 21 Feb 2025 13:25:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00704280016; Fri, 21 Feb 2025 13:25:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id CBB1928000C for ; Fri, 21 Feb 2025 13:25:54 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 6333E121DB7 for ; Fri, 21 Feb 2025 18:25:54 +0000 (UTC) X-FDA: 83144780628.13.4ECED2C Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) by imf02.hostedemail.com (Postfix) with ESMTP id 8A30E80011 for ; Fri, 21 Feb 2025 18:25:52 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=GyA5QJp1; spf=pass (imf02.hostedemail.com: domain of 3L8W4ZwgKCOALCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com designates 209.85.221.74 as permitted sender) smtp.mailfrom=3L8W4ZwgKCOALCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.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=1740162352; 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=wiDbMltjmyaz+TufXV5xdn+s6ZmLgnlpLnjEPTqGgXg=; b=S1VDGUsD1BSd4qOtEKAlU96Aj3L2CM//jS6batnVOHHgi/oMR2lM7hlI0qbudCIcJ+lMSr hbZRncv2MldkhUoN1/nO0xFFVEJSjUzEPS68dlJz6NY3JKMOyXRh+HwfrFgWGsjokCAYKd x7kxdhEEtREb2KwZBYvbYK/sVVsfDoU= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=GyA5QJp1; spf=pass (imf02.hostedemail.com: domain of 3L8W4ZwgKCOALCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com designates 209.85.221.74 as permitted sender) smtp.mailfrom=3L8W4ZwgKCOALCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740162352; a=rsa-sha256; cv=none; b=5Ax8IS1p5xphfJFUZQKWV4KzE+D1SIL34wXrG4k0pFfqZTE5NK0kVqX1hcY1yWmHDfnh4k IOsh7w+P90QeoBinoM5O/33IGlbgRi0E3SN2SclDKeSCKebA49Nj6HJ1yEJtiOFdJEprPo 5TJ83dOB9lGiypKQjCTjOowY4ar7rik= Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-38f62a0ec3fso2441047f8f.2 for ; Fri, 21 Feb 2025 10:25:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162351; x=1740767151; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=wiDbMltjmyaz+TufXV5xdn+s6ZmLgnlpLnjEPTqGgXg=; b=GyA5QJp1G3MKTwkmnhHVhT2DKcW8K5MEZe6luoHGVSeftgNH4lGkUUw0bKuUddnYMc 3vCnSX4xkblkh2BP3G6zaUm0E6Y2i6UeV/119fmLACAHY/vy/c7GvcbOKxiQ0UMn+S/b ncL4x0+Egsp0QytMlJgHby32wceN0NhMZyAXyKEgtaY1WmYaesW1RYx6jataaM52mRoc X/TRdUtGveie8oyDYkXYcGImFOKK4gArZXqxO0tTMZRqb9zqXu6XEPhzVPm0kB/hTy0y ssQNy/i7HiSyyxuGD+HvQsS0OMXzkrGswRCi6R2YJ7bGT2iehCOMCff773LApBDw+DmL UdiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162351; x=1740767151; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wiDbMltjmyaz+TufXV5xdn+s6ZmLgnlpLnjEPTqGgXg=; b=A5XwgBM66xw3RBmYpF0O9ptszzLzLkwF22h0StlYShmWgAG7c8eH07/2GsttI4qBbO jCaVno1ptq5UER/ZsV8TkHpzQUkrNVi7/xiEVyrGeBiEbsNxWl1ZrIEIa8r7YZjcJGoe dyDI0rB9VUTsrnZ/3ymz51O87k4zfwuodrue3gIRW53o7utI9HjVLTk4wy71m1Lze7YK sWWhTFIxjn6rx2awiR1n06a2TEPi9N+HOoLPrhu9OFuhFKPE36PZw97vvB5wIR5q7TPu Nw67+JCmEt3Nrb4OfjUNjgttjzBjGLyprwEf32DbyI/bbrQhzcfXPne9t6EgBcX5rQee U5Hw== X-Forwarded-Encrypted: i=1; AJvYcCUsZWkCGwnSW84wO9QvYpm9lWBZw1xEYAGp2mJQIQL/utlkOrQOdgzCkK84YxfY/ujRBlxunRFHXA==@kvack.org X-Gm-Message-State: AOJu0YywWsZUb4Xvb3Gp7/1oH+5/1uy+KAfa4DbLb2TYROx1RD5PV6tA MD55LvkTvJ0O0kHhvZobuvifS9GFIm934+f0YyjyN9Ktsolquhk44YuWCQvqclzT/X77myG9aZh cgZsjoRZwCQ== X-Google-Smtp-Source: AGHT+IHvtIB+srUjpk6uvB7EZGmO0/DSJFR+7wDmYyQaFCKzvAqVW3z1wzUI9oGP+GeG2cFpYZzpIvgbccRs1A== X-Received: from wrbcc7.prod.google.com ([2002:a5d:5c07:0:b0:38f:476c:40ec]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:5985:0:b0:38d:d3e2:db32 with SMTP id ffacd0b85a97d-38f70783f03mr2572158f8f.7.1740162351365; Fri, 21 Feb 2025 10:25:51 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:41 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Mime-Version: 1.0 References: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> X-Mailer: b4 0.15-dev Message-ID: <20250221-mm-selftests-v2-2-28c4d66383c5@google.com> Subject: [PATCH v2 2/9] selftests/mm: Fix assumption that sudo is present From: Brendan Jackman To: Lorenzo Stoakes , Andrew Morton , Shuah Khan Cc: Dev Jain , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Brendan Jackman X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 8A30E80011 X-Stat-Signature: 6t46q7donoaxc46hb4c7wb1db88z6j6j X-HE-Tag: 1740162352-389287 X-HE-Meta: U2FsdGVkX18LJZ9sbHtSfl/AyIFveFBq1bA1UJpjoGQvnFWDf+MLew8eTie7Xgz+eG85+mwAFLIgYrkDirLZxU6AI/e7TIktqAkVJSohypMPVbTOHUYreRoR0fTGOMgoDBC8GWCUi9l4T8JJEFRoa/CTU+3SR9gyEvyz4QG3//fRyFtCFKFWT4XwBZw7Dab70P4X3trykwiFatNhT4VAATG6LY+1YtSdBWFXydt0r40iPfKJJhkUbC8vkh1uHX416HVwjU/29kSWQHok6Jzd77gYcowzlmn+AVmidJRZKTxs+9IKeALxTDEQ8xzFLnuHB8duZjNwudD+kON3TykEflujXdrqjGbl1yy8VgiG7cd9ABvTpU/Gftt7BIAtn6sdiUHdHHtHRyKfBO7EuHBF66bR2LyVCjN2myF9E0/smNam8FXrlKP0nLFxZ5hawZIZvoIMv9kjTQc75h48CY3FzwiUkhicASEar3GcIHviMVdus6//QnPIPvMHmAzDlVAJnrrxY7eMTwqG2HZHzi1o/Lkw06vTQQZ2PNvjTTPfgtbvHycZ2rE6ECWLgH7F51i9o7etqfzPrLfJvXO+4iANb2y5/HxiXkBB+8/rnt8PZEu9bekAZ4VGTZkow/XWd8FXRMCLxBsW0779P9WQgGN5mA1JmhLjdq9uDiPh67M7iYWZe+zmUwJJeaUPr14MTGWTewfIu4JDbzS3X+YqfwoWFHVlD+4IrYj16HbGnzp5yoXodQVy0grO22+Ys5OS41+GFCgw+7r4Vkjm9gd4oXEe4zGW1zgjcfgB0FRBExL7lSoFMZSec6MTWPpw4VrR/HvIBsu6YcgV6m4SLHtqHbK08FRRNEYnQcdsKBiCbOMDcK2NrgzWq4+Fq2l04TkGYcuhrKp3NU33HLo+TDbEPaV+qNh7EZABV1YYdC8cka9SffCPldtzxUtqX5NvzFS6jjEgxsrbwD0nVxoZyOO+twP Ce+9k+z+ UP/qeEPz/9ICiVWW0UyKA949s2uKaJLLQoNkPiqj2KJhPKyc8BiFx4Ydfq72hNdAHLfRoE5xpqTrKSATlVWY9ZHEdbq1I+sA9stP6SWr5k9Gw4cKdr/6BeU2sx76xrZ5E13U8dn2xsbszJR3ATKS9KzZgFTR4Zpo47WpFZiM3+SP1vvtDtewB6x2+LtrRx6JapZvfroutwgt/yM1FAr0pGaFg0hvL7PShpjZQ+Gvh06Qg0fp+zRPAZrJNL16ByryC9b0dhvWb8aTojvkpL5m3tx5FcANenq8ja/ziwOREnPyA/rX9POmC6SpJ4cbDiB4M0vNsHRKi2Al0JNs46Xn2lmWISd3ZarGvcfuRhutHk/XNjP1mP/anQXFb0JmaVWO9l5gK7pevwNYAtZXPznKX5AiSU0MW9UAKi3SRLaSSOSV8D0BCrKpBTA46NXetaQBMc5G+2MI+BoaYXAw9lMDMdNh916AGq4y2CSmBtyON4GVilA3fm7tQyXUVVPn3aceuNWGG9IRY3LALTrwZhmbXez7NhAthUb2mePUSFZ80RzAgiVu72FPLQ/Jljw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.071699, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: If we are root, sudo isn't needed. If we are not root, we need sudo, so skip the test if it isn't present. We already do this for on-fault-limit, but this uses separate infrastructure since that is specifically for sudo-ing to the nobody user. Note this ptrace_skip configuration still fails if that file doesn't exist, but in that case the test is still fine, so this just prints an error but doesn't break anything. I suspect that's probably deliberate. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/run_vmtests.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh index da7e266681031d2772fb0c4139648904a18e0bf9..9c963f50927ab2b10c3f942cedd087087d4d0def 100755 --- a/tools/testing/selftests/mm/run_vmtests.sh +++ b/tools/testing/selftests/mm/run_vmtests.sh @@ -89,6 +89,17 @@ RUN_ALL=false RUN_DESTRUCTIVE=false TAP_PREFIX="# " +# We can do stuff as root either if we are already root, or if sudo exists. +if [ "$(id -u)" == 0 ]; then + HAVE_SUDO_ROOT=true + SUDO_ROOT= +elif command -v sudo >/dev/null 2>&1; then + HAVE_SUDO_ROOT=true + SUDO_ROOT=sudo +else + HAVE_SUDO_ROOT=false +fi + while getopts "aht:n" OPT; do case ${OPT} in "a") RUN_ALL=true ;; @@ -384,10 +395,13 @@ CATEGORY="madv_guard" run_test ./guard-pages # MADV_POPULATE_READ and MADV_POPULATE_WRITE tests CATEGORY="madv_populate" run_test ./madv_populate -if [ -x ./memfd_secret ] -then -(echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope 2>&1) | tap_prefix -CATEGORY="memfd_secret" run_test ./memfd_secret +if [ -x ./memfd_secret ]; then + if $HAVE_SUDO_ROOT; then + (echo 0 | $SUDO_ROOT tee /proc/sys/kernel/yama/ptrace_scope 2>&1) | tap_prefix + CATEGORY="memfd_secret" run_test ./memfd_secret + else + echo "# SKIP ./memfd_secret" + fi fi # KSM KSM_MERGE_TIME_HUGE_PAGES test with size of 100