From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DA8C34A783 for ; Mon, 13 Apr 2026 17:26:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776101203; cv=none; b=nGVhZv5FtTx8eBEFEJ4QXtwoZy+6FrvWORKsXF06S32zi0N7esE51b+27P3v5cRNBCuf1ex61XzND8Capa4gN59fDA94HgzqhBN2Sb712hOSEhuXkPUAb3lDHwE09dN4IAF5XriyyEeSCIYEdv+eqRTyvkxX7gjQiuxh0BQ7PkA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776101203; c=relaxed/simple; bh=GWGq7P7bvRfSD22bdYnyvNbQAb8tVilIkrfjkEJwIjY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vy1eGMK93LBDf8EB2wCZzWtL0wWyktrv+uXvTyqIKwdAWi3hwxWVp+K64fK7lisHN7nertlXp5+fkUlskR3y9xOKUm4zV3eMwFSqVn2pwc0GeaIuJarshgI+2etDXxGEodiI9u6hBtDVwT2oAitPcP5mewgCstS7SssSgkwkVcM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=Vi8WbX1N; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Vi8WbX1N" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-488e1a8ac40so30572605e9.2 for ; Mon, 13 Apr 2026 10:26:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1776101197; x=1776705997; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PO2pGCWxGzIXon/onQ1T7QGLeTxZ3Xf5Ie8qcBJrTk0=; b=Vi8WbX1NB7uFwv7UUnudnAk67pgWoJvXA69MIkVBak3HeBbNWKnN1ADtTp6q/ifmI8 Jmr10cH9oJRQMb2vLPcoUtlBYF1abJTimXH7CsXf6V2om0y0RgP0wdGhswImzQLpaX9F JSnP+7KzcTKoBJzMP3yW0O54nPqRA3F59pd7xUUfbgssa3ATXpFmDYo70cwhrtAzA8ho X5wzryuaoHiCRTFTsjY41fAe2QhHYOH5s6uC7/jAsX8M+QEw9b5xa9UHjzHb1IRbARKf 5mPm9RJIoFKAqwGtYrt6VLMlTg1O59GWYU9TedTW+Va69mvVP0FcRK4MKwNAzU1s40fo GbkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776101197; x=1776705997; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=PO2pGCWxGzIXon/onQ1T7QGLeTxZ3Xf5Ie8qcBJrTk0=; b=lRMLQ25oo8EuquKU3W4sSXJPeO8GgcgL5LzHuVonc/1edO+OObECdmVyPWDj7T17vL 1H3znfRnTKZ9FRwtDwbgKPvEaSAe3sCIbpSr0u6Fmwr/9KV3yCo3uyLglwMRWZYJQZPq t1yyX8zRqfsuHjJmNOaBLNXI/yW3II4Wrmu++c4cO2BFOc9/zIaJyQPjyokEIC5etdBj 6/0mPIc26dlz8duC18WhEfql9AxR6gqKPFnzfQf7rDp7erSZ05+KLSqTYozm/cIT+qmL ehkOt9IKhT/WUURJ47QCMkIizNgiYSLkxBpKxminKZV99tz4bGsP+50xe8w/OgDxPmyt cw+g== X-Forwarded-Encrypted: i=1; AFNElJ+JCt8XdWii9BSvtjhdGMRNGvyB28XR/m4deRH5wEpqQBENGapsV1jxFdQJJF4qoIunCC7ngwOVTmMVvHU=@vger.kernel.org X-Gm-Message-State: AOJu0YwsdZLDWTtsgnazqQhp+Zy9MZFxBk+ZeaXrVVAAZdx5dxMlcoJn iU9JlrvwH30NbvRPPXZ7eh6skzvHyP3xGwws3FRGrRp4NdC5aSEc9dQ233K5tw+cAtM= X-Gm-Gg: AeBDieuQoI7f5Slnwd4x8cfQAz8ViIwyqp5CBnlL5fUMgcx7Mar5Wxd/GsiO+YS0cJS lh8R/nKBykl16L35ZUsAz0mfXCnovxMED/bb2/lK67QVYMYlFOmCtsgVKdd8a3fnJRxikKHBNx0 R818wrYR/p54cRVfZQa7DHXAzmR594xhtYLTra1y7XN4ztULSeEn+c77imiNpTrNVOoQHen6QVA t+AS4MsNMpyP5NxzsuWfz55L2GVuXNDQjw/yrmAP4yFZuwLdkRzbPKQDJN7mKQ7a+3GLW8GYJON XRMRpqvjEm32fMpsHqFl6/ylxSsEwOLo6sgMUT2NjSbjhVBfyrAM0hbgOKKt0OwQUY2jY4dkrNr ylGb96RAPwBrqDVlozuEhJpfppe7ntg19P99qP+MLRVJogQSH4jde8gP+Vk3mwjR3g2mfhNejXI wvqBjSx2tZojWG27kHJX9hRE0= X-Received: by 2002:a05:600c:871a:b0:488:c683:be89 with SMTP id 5b1f17b1804b1-488d67f0b8fmr208758455e9.9.1776101197444; Mon, 13 Apr 2026 10:26:37 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488d5734a94sm298657835e9.0.2026.04.13.10.26.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 10:26:37 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 13 Apr 2026 14:26:16 -0300 Subject: [PATCH v2 5/6] selftests: livepatch: Check if replace sysfs attribute exists Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260413-lp-tests-old-fixes-v2-5-367c7cb5006f@suse.com> References: <20260413-lp-tests-old-fixes-v2-0-367c7cb5006f@suse.com> In-Reply-To: <20260413-lp-tests-old-fixes-v2-0-367c7cb5006f@suse.com> To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Shuah Khan Cc: live-patching@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Marcos Paulo de Souza X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1776101176; l=3906; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=GWGq7P7bvRfSD22bdYnyvNbQAb8tVilIkrfjkEJwIjY=; b=31e9o5gk39vFNf/aLfmX++1HUFH1FpphvTSYVJPQIeReWeQ5AWglhubic42TxsKGFICzx1Y+Q dstt69BNPmtBOlz3v9V1vvTgBnmNtUkKTAkOVZycJgLpNzciggYVOl8 X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= In order to run the selftests on older kernels, check if given kernel has support for the attribute. If the attribute is not supported, skip the checks. Signed-off-by: Marcos Paulo de Souza --- tools/testing/selftests/livepatch/test-sysfs.sh | 39 +++++++++++++++---------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testing/selftests/livepatch/test-sysfs.sh index a2d649404a63..0cdaeef00983 100755 --- a/tools/testing/selftests/livepatch/test-sysfs.sh +++ b/tools/testing/selftests/livepatch/test-sysfs.sh @@ -9,6 +9,7 @@ MOD_LIVEPATCH2=test_klp_callbacks_demo MOD_LIVEPATCH3=test_klp_syscall HAS_PATCH_ATTR=0 +HAS_REPLACE_ATTR=0 setup_config @@ -22,7 +23,6 @@ check_sysfs_rights "$MOD_LIVEPATCH" "" "drwxr-xr-x" check_sysfs_rights "$MOD_LIVEPATCH" "enabled" "-rw-r--r--" check_sysfs_value "$MOD_LIVEPATCH" "enabled" "1" check_sysfs_rights "$MOD_LIVEPATCH" "force" "--w-------" -check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" check_sysfs_rights "$MOD_LIVEPATCH" "stack_order" "-r--r--r--" check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" check_sysfs_rights "$MOD_LIVEPATCH" "transition" "-r--r--r--" @@ -34,6 +34,11 @@ if does_sysfs_exists "$MOD_LIVEPATCH/vmlinux" "patched"; then HAS_PATCH_ATTR=1 fi +if does_sysfs_exists "$MOD_LIVEPATCH" "replace"; then + check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" + HAS_REPLACE_ATTR=1 +fi + disable_lp $MOD_LIVEPATCH unload_lp $MOD_LIVEPATCH @@ -96,18 +101,19 @@ livepatch: 'test_klp_callbacks_demo': unpatching complete % rmmod test_klp_callbacks_demo" fi -start_test "sysfs test replace enabled" +if [[ "$HAS_REPLACE_ATTR" == "1" ]]; then + start_test "sysfs test replace enabled" -MOD_LIVEPATCH=test_klp_atomic_replace -load_lp $MOD_LIVEPATCH replace=1 + MOD_LIVEPATCH=test_klp_atomic_replace + load_lp $MOD_LIVEPATCH replace=1 -check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" -check_sysfs_value "$MOD_LIVEPATCH" "replace" "1" + check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" + check_sysfs_value "$MOD_LIVEPATCH" "replace" "1" -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH + disable_lp $MOD_LIVEPATCH + unload_lp $MOD_LIVEPATCH -check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=1 + check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=1 livepatch: enabling patch '$MOD_LIVEPATCH' livepatch: '$MOD_LIVEPATCH': initializing patching transition livepatch: '$MOD_LIVEPATCH': starting patching transition @@ -120,17 +126,17 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching transition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" -start_test "sysfs test replace disabled" + start_test "sysfs test replace disabled" -load_lp $MOD_LIVEPATCH replace=0 + load_lp $MOD_LIVEPATCH replace=0 -check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" -check_sysfs_value "$MOD_LIVEPATCH" "replace" "0" + check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" + check_sysfs_value "$MOD_LIVEPATCH" "replace" "0" -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH + disable_lp $MOD_LIVEPATCH + unload_lp $MOD_LIVEPATCH -check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=0 + check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=0 livepatch: enabling patch '$MOD_LIVEPATCH' livepatch: '$MOD_LIVEPATCH': initializing patching transition livepatch: '$MOD_LIVEPATCH': starting patching transition @@ -142,6 +148,7 @@ livepatch: '$MOD_LIVEPATCH': starting unpatching transition livepatch: '$MOD_LIVEPATCH': completing unpatching transition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" +fi start_test "sysfs test stack_order value" -- 2.52.0