From nobody Sun Jun 14 01:35:34 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 6286A3E5EFD for ; Mon, 4 May 2026 18:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919709; cv=none; b=LCgBF/XfqRotvOc1elc63WG0G0kpz70C+b4aIA85g9gB+YZijZxLPrWMgOKmM5lfK1RhsipomVgEYI8kFyiSPOPMs3bRKV9g0XWeqFVLmWsfYWWOoudVU7n03FVpu3h3r/4ljQ9eA5ioS7F7SDujO20W1Y0/KNZVWp1zyFNe7pY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919709; c=relaxed/simple; bh=bsQGxHVEbWFMcU98H+Usr8BrpVvRynWHs4uJrO7ovMk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FXoXFZnrGkgYEQzXvB93ejrL249gNXl52SjbmQSfWrCrWDMJHP7RXNNSZKh2fTwGKk+bFanHW9ixuGq3VReRLpg5BIFt7uSifq6jv2ljn/0edWcaL5P3q1ABgJnnkWUCSjK6bD41bgxDJZh+OTKFioVsm6vkIe7biJMoFge0/70= 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=KiBYygIP; arc=none smtp.client-ip=209.85.221.48 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="KiBYygIP" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-444826c16ffso4282159f8f.1 for ; Mon, 04 May 2026 11:35:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777919706; x=1778524506; 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=0N/qPZtLyDR9JYuc7La36zdYueKjOOpudQKv7E6xcTI=; b=KiBYygIPPai1vF+9X0SB07esZAWTaQKmjxFHNkYc4QE0+vz8SBRxccSmmqXDEkg0GF 9VGXzD855YEVK+1JPh8scdB3Lis+eJIuO85aPkix2eLLMarw8ViSIbbJkeIdiobcvjxi 9JxFxp6Q0mxanW4Vl/iOhAIAD79cGM0dyfzj9tK2+17utWMqAHpqN6Z9rN+1e1xj2nMO 6WTwhf/JJNrUGkIVzwUYrD/wcRUl1bv+vwJ5qelesjToKFZWCYuJTcaIp6H+MHhd8JCP qVvIswOx2HDhmEDAMb7yXpAqfv4BI7VMRBR8HxZZhTsnyHzIol6biH/1XZSrkcRI7mQ5 Yxvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777919706; x=1778524506; 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=0N/qPZtLyDR9JYuc7La36zdYueKjOOpudQKv7E6xcTI=; b=JdnlKqbz+eIxqsA8cYROMJzUwG4NeU3AuwFkjNz2nVnQhsKheHNBYYkzIK4uZ2HMXd kciSt66sFdcu4GC2pQOrgM7GkxaGKc/5NIHFxpI7+B2ZfJc6Hc7xtAC4J4LtE/4a3WWj ZFE5/ePy1be9QGOuMEjeu9O3lx/X5SWCIRvXUcbK86A22IMbfeaBvHPySdATQ5cl8MlO TxqmxZbrp1OTv38McI6POJkIcQPsAGk0eRa+tidTmpp8Tap3t8Ajio4nNM8kXNdLrS/T 7/UE2XB2TCWF2BobK4p/siRegVh+cDeHl+yPQcAbNGERbEqeaU0/UfKBMRm7kpmWF/I9 msKA== X-Forwarded-Encrypted: i=1; AFNElJ8vZ19xt0w/NV2prH7fbXBftr3Nra09uGyB93Y1fQiGF8/p27GD6HRSPIy00k96Roxn5fHQeb9G5dwV0MY=@vger.kernel.org X-Gm-Message-State: AOJu0YyVAH5qsQRI6NDHdA2YDi28CyZG6bWNYjGZPubXAMETEKI5YNQc rBDvUL3GKcI2CZmQG1mm7yrNPVIW/5KHCL5XO+zpzK5Q+NuLDJjmqbpzDR4YBAeth/U= X-Gm-Gg: AeBDiesmCI0BDQfawXBOAreesoQJxFjwnV6s//1NRf9TXwa6tLiz+++WTZs01wMLyYB 5Nw75ChuYF0dPAhkWiizwDYxarvGLf2abi2M5ijuRUl0ZH1RRX+zyib//ogYUJyHzGJpu+OhQmY ds7bx1FHWUTypnRl6Ek3MiV62xeeyTXhUCOWUU06IKs4ta+pCO2qnVKuLPeHUV0wLiIymHSL0Si 2NN5mBuFzwc4jIb/db05bydeFtZKnC+v4sdc47onLku7Xh6IMqJ7S8F+k7g0aPsGJx2UkBCLsMQ nIyudhOwpKx7WkH53BqFmSwf1+OMjS2YBv/asWBwpGXw9zvshjZPxeNERemW19LFqg5mheKNhYk ALxnEjZ4nGkRk5iEfodQuDuuNeQ0WlkTiURLecvLvgSUEtWXJi4xTEwXs7ZX0s5GHEVhvWFZDTs BoG0XcjpItHL79i31poJng2wp5j7+QfS8QEA== X-Received: by 2002:a05:6000:220e:b0:43d:77f4:7145 with SMTP id ffacd0b85a97d-4500476f6e2mr142276f8f.19.1777919705746; Mon, 04 May 2026 11:35:05 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b76eddsm26745511f8f.34.2026.05.04.11.35.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 11:35:05 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 04 May 2026 15:34:42 -0300 Subject: [PATCH v5 1/6] selftests: livepatch: Check for ARCH_HAS_SYSCALL_WRAPPER config 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: quoted-printable Message-Id: <20260504-lp-tests-old-fixes-v5-1-0be26d94ab9a@suse.com> References: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@suse.com> In-Reply-To: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@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 , marcos@mpdesouza.com X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1777919697; l=1999; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=bsQGxHVEbWFMcU98H+Usr8BrpVvRynWHs4uJrO7ovMk=; b=MxLHXzKClp0LDuPuXWIAf6yyKxcAG5hsA/Gib7N3J9fRNg90pqPKEo1UQYlZ1lFzPt/35dy61 O1/NpYWScH1AxUDieaBSRacr5/ujVHk/CBbZ0ESktAHxMRbzEXutBZ6 X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= Older kernels that lack CONFIG_ARCH_HAS_SYSCALL_WRAPPER config don't have any prefixes for their syscalls. The same applies to current powerpc and loongarch, covering all currently supported architectures that support livepatch. The other supported architectures have specific prefixes, so error out when a new architecture adds livepatch support with wrappers but didn't update the test to include it. Signed-off-by: Marcos Paulo de Souza Acked-by: Joe Lawrence Reviewed-by: Petr Mladek --- .../livepatch/test_modules/test_klp_syscall.c | 27 +++++++++++++++---= ---- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/livepatch/test_modules/test_klp_syscal= l.c b/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c index dd802783ea84..0630ffd9d9a1 100644 --- a/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c +++ b/tools/testing/selftests/livepatch/test_modules/test_klp_syscall.c @@ -12,15 +12,26 @@ #include #include =20 -#if defined(__x86_64__) -#define FN_PREFIX __x64_ -#elif defined(__s390x__) -#define FN_PREFIX __s390x_ -#elif defined(__aarch64__) -#define FN_PREFIX __arm64_ +/* + * Before CONFIG_ARCH_HAS_SYSCALL_WRAPPER was introduced there were no + * prefixes for system calls. + * powerpc set this config based on configs, so it can be enabled or not. + */ +#if defined(CONFIG_ARCH_HAS_SYSCALL_WRAPPER) + #if defined(__x86_64__) + #define FN_PREFIX __x64_ + #elif defined(__s390x__) + #define FN_PREFIX __s390x_ + #elif defined(__aarch64__) + #define FN_PREFIX __arm64_ + #elif defined(__powerpc__) + #define FN_PREFIX + #else + #error "Missing syscall wrapper for the given architecture." + #endif #else -/* powerpc does not select ARCH_HAS_SYSCALL_WRAPPER */ -#define FN_PREFIX + /* Do not set a prefix for architectures that do not enable wrappers. */ + #define FN_PREFIX #endif =20 /* Protects klp_pids */ --=20 2.54.0 From nobody Sun Jun 14 01:35:34 2026 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (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 B731D3E638C for ; Mon, 4 May 2026 18:35:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919716; cv=none; b=O+2rztg0bdrD7eLqFaRcOHrhKxW0X6r0f/fF8Q+Hjw2CJZyzKyvdpN4F9DIJerP4GF4e11m4s8O3CGUgOqxga7tAKp6NQP+kod18FWsXmPECto11LWDdt0ZRwvf3d07gXAmKWQo5eWxNPStDLsfh2+V+6IhTog1H11m04hls5ww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919716; c=relaxed/simple; bh=w+QsBT+5pcbBe5xVs0oaWXhZ1MdasOi3IXWJ4w5Ext4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oOIYAsh6cs/aYNYS4OX7JDzRX1kDinsGOwbBafvm1ZLLg/FJ6cqiZzjngajiuM0dwu80SUje/YbwTbU+2QtV7tq64EdUy9eZjmwa/q+4BYpkyL6qRNZgpGAFcCRE1F17DmPUeT8mpic3pC5ylJj+aPqjeXUXuk1bTEN502eRagY= 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=V7it2GiB; arc=none smtp.client-ip=209.85.221.47 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="V7it2GiB" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-43d76dd4ee8so3509582f8f.2 for ; Mon, 04 May 2026 11:35:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777919710; x=1778524510; 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=bJ2KT7kR4JMpZSd6AGblTMphpgunFcNpBlqPqv+V9cY=; b=V7it2GiBs99GyLDTfPFEg4NeefHGSIKV75b4rWUr3HFdZkLO+d8DrqhZjmVWhHk+kp 4d2QTpoatOToPf+/9TZLvtuPjp3ECOOT9nQyJ9DI/h7EYeCho9sG9UCeNP7cnWo0ZNmU CnH9zoRni7M/xSryskKrozi9zGZtdAKJ2REEWrJiBKpbUGCLDFo5E9rFat9QRgk5FzPe nVl9Gi/dOtDQSRxesH9dKarBCEiefnPQoQHAiD4a6zKwlSxCXTd/GXp0K5IUe9GEYaAk G1xB9r5k3qXWn1eaLMOSVVLsQ2WCh7splibrbZUUJGrqvHqC7r3LWyPtPxqnQfyWQax6 OGcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777919710; x=1778524510; 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=bJ2KT7kR4JMpZSd6AGblTMphpgunFcNpBlqPqv+V9cY=; b=Us11jmXRgZhOtvFIVY2yJ1IV6ZVgfB1N6KIQysfbu/qx0+GjceA5KcDJVzJQdgNnSY FVXdVdF31UyOk3nOqoaIC4UGUcgTJ4sD0lHcFWUFaOyHOVTjNVtQ73NRbaV5shQaQv0+ SUz98SzF+NepEtQ3JxDLUue4Ow8BHRBwq2gymPYCdHUX2t3l+dJ0VSFjklUkW7qBi5wr enAXjhJukPiolG/wxhtWcyTT0GvHjBRqSwifVCbYPlQMRjKi68V5tjCTfE49G6y7bzkV lnXS8z00KK84kM7LIR/+DfV202yNW1T6CoyQCP6iuNgFp5mbzSfYFXuFAR6JrXDI2lYX it/Q== X-Forwarded-Encrypted: i=1; AFNElJ+udJfKu+INPMaw94eCwHppztOY5ZAGyfWaOBbPUwlGk8hoyFNXEi0uxBcLe1I0EHgySCowaXVRB6OFMks=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2gLMr8nSUqplJwk40USxiqfZ3yYa1zDbUNuYlKJkT7XKoqGDX kWuB7f3WTCEwBRK/KLrDzeHNVH1vsR42yTBXVc8U0jNHHNopp9Vp6x5fXTlx8hIJ2YM= X-Gm-Gg: AeBDieuLl+CLHbyJp9c4nhOVFwN6aabuCfPpxo5PdHpF92lzcmhrLXLCthJl7e3j8l4 jOCsTCZR0ZX/9H/lQ9W1W4BXCU/KRrlacDqJyThbsbfjDW7ud544FgE98iYdiyYnevKVlqX7Lth Me/xwfcp0jtx5rYyQsbIM4lIFfEtVFzaCHeCnRLX8aU5gppINJ3gwFZIUxmaYxi6r68tJe60Rjq 3YnvN6fymvaNnJYRHtx5VEOYJ4d+F6/XZhArIeyry/sae9eT2EpiEeKle/Uc4cjNPCFPG6a5Cdy Wu6v2Wy2WZaLLN+F3jzlVbvYJJE+CAe1Hrq0zp5+eEGm7nI0osb1+f6ZjWluLKIleNKlizcyvDV 4jzJOYgfaBBgu34XnQX6LKcCXxJThaFZ/wUtI6z7HBVj4etGgcMPdCxMBP4c2hI4QwTrqrXd0Vd erGlpl8mbfi7OmUhwD/WRp7V9yzflDyxksqg== X-Received: by 2002:a05:6000:2410:b0:44a:247e:67b1 with SMTP id ffacd0b85a97d-44bb301c729mr17180781f8f.5.1777919710232; Mon, 04 May 2026 11:35:10 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b76eddsm26745511f8f.34.2026.05.04.11.35.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 11:35:09 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 04 May 2026 15:34:43 -0300 Subject: [PATCH v5 2/6] selftests: livepatch: Replace true/false module parameter by y/n 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: quoted-printable Message-Id: <20260504-lp-tests-old-fixes-v5-2-0be26d94ab9a@suse.com> References: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@suse.com> In-Reply-To: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@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 , marcos@mpdesouza.com X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1777919697; l=2032; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=w+QsBT+5pcbBe5xVs0oaWXhZ1MdasOi3IXWJ4w5Ext4=; b=xVdv9+L5/kvmjiEbk0rJPyxV/31YQ4/7jB3XPtAOW4kkggtg8rTjFI1oSkIe5lwcMkJgwG2R9 sCT5FVtenXMBIjpopKjX6gWCLIgfRMnUYKfuvAjwNxxiqzpYOSqmR3H X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= Older kernels don't support true/false for boolean module parameters because they lack commit 0d6ea3ac94ca ("lib/kstrtox.c: add "false"/"true" support to kstrtobool()"). Replace true/false by y/n so the test module can be loaded on older kernels. No functional changes. Signed-off-by: Marcos Paulo de Souza Acked-by: Joe Lawrence Reviewed-by: Petr Mladek --- tools/testing/selftests/livepatch/test-kprobe.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-kprobe.sh b/tools/testi= ng/selftests/livepatch/test-kprobe.sh index b67dfad03d97..7ced4082cff3 100755 --- a/tools/testing/selftests/livepatch/test-kprobe.sh +++ b/tools/testing/selftests/livepatch/test-kprobe.sh @@ -20,11 +20,11 @@ start_test "livepatch interaction with kprobed function= with post_handler" =20 echo 1 > "$SYSFS_KPROBES_DIR/enabled" =20 -load_mod $MOD_KPROBE has_post_handler=3Dtrue +load_mod $MOD_KPROBE has_post_handler=3Dy load_failing_mod $MOD_LIVEPATCH unload_mod $MOD_KPROBE =20 -check_result "% insmod test_modules/test_klp_kprobe.ko has_post_handler=3D= true +check_result "% insmod test_modules/test_klp_kprobe.ko has_post_handler=3Dy % insmod test_modules/$MOD_LIVEPATCH.ko livepatch: enabling patch '$MOD_LIVEPATCH' livepatch: '$MOD_LIVEPATCH': initializing patching transition @@ -39,14 +39,14 @@ insmod: ERROR: could not insert module test_modules/$MO= D_LIVEPATCH.ko: Device or =20 start_test "livepatch interaction with kprobed function without post_handl= er" =20 -load_mod $MOD_KPROBE has_post_handler=3Dfalse +load_mod $MOD_KPROBE has_post_handler=3Dn load_lp $MOD_LIVEPATCH =20 unload_mod $MOD_KPROBE disable_lp $MOD_LIVEPATCH unload_lp $MOD_LIVEPATCH =20 -check_result "% insmod test_modules/test_klp_kprobe.ko has_post_handler=3D= false +check_result "% insmod test_modules/test_klp_kprobe.ko has_post_handler=3Dn % insmod test_modules/$MOD_LIVEPATCH.ko livepatch: enabling patch '$MOD_LIVEPATCH' livepatch: '$MOD_LIVEPATCH': initializing patching transition --=20 2.54.0 From nobody Sun Jun 14 01:35:34 2026 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 C06B43E6388 for ; Mon, 4 May 2026 18:35:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919719; cv=none; b=c917vm5mrPnM25EiWKDh9ff7CF2WrCxK6U5RHcY/kftGpZFV/zrDbc01fihqwG/pbB/VByNHthYXOaQtjGjfejcoYuELjxasMzN9z1BHUvsbwdjO7ufhFr0qLUfwyBytQZsz+JOpHQWOwPXjR8QwmeT6VQcWNMZqLgwq48uzYl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919719; c=relaxed/simple; bh=zwVAcfIrB5gkKSQrtegRJbhzNles6rOGTmiKmx6GRWQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rVd6gnJc8ZZnPieIhG5UohPLsHL8dhDWRJ/Aopk4hrf486+qh96PjR+L/53PK0Ys9FtAGHtk4ksjsNOmV+eAwoW5crohGGnYGYU7ys7ktITizZ5HdRyUPGYk2ug2QUQPyO4Vm6napsL+NLeX2FkUIwDXako8sMJI8b+l4D1EAAQ= 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=MIh3YZgw; arc=none smtp.client-ip=209.85.221.49 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="MIh3YZgw" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-43d75312379so3039995f8f.1 for ; Mon, 04 May 2026 11:35:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777919714; x=1778524514; 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=/rb04HihRpFGGRez1OC1FkeRKyhSIjAaQFdeNYoGCmo=; b=MIh3YZgwcQY+lfaM6f/2hSjNmS2XHJyF7O8hU/VapEvteU/Rt6N/QGfx4aGCzuBfYE pjh6ALIieZjYS3HaNzZWM5NVqIiWBgejeDWeX0XYCcBdy3S8jPF80hyCSx2jEOCQRUw2 L6wvau1W4Uda+1R3aRfxB6RhLlDby9UTwLG48Xjjf+duDavhiaWJ83fBlIKdyTJh6HT6 F92hjbMKJ5/L7xi/li/5/iTArTckEK0MBs+aPJv6WNhH3+7wsklZaiGxhXngob7Qpxtc JGoEzd28R5s9YuEYSZBnI/dTx/CYkfpgq8knTeKWYlFepj4Ngrho4tH1HCtoFVhKMAqg JELQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777919714; x=1778524514; 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=/rb04HihRpFGGRez1OC1FkeRKyhSIjAaQFdeNYoGCmo=; b=JODSDg1DvPOd1z3YkWuhCXzHUvRPGzf9liUdRJ3vgXPm1Ch36VXwUwOIIhHH+QYiOe VGNLFZErI8Or+RqQSA9Ts5dBu8HTZpTAcJDJ41NFms5dKdy0JTnxI2JVUgAVFIbkzhSe mHK5gbLac0ES5CLvnsDYuxrIs/xQok+JKEFvHqw44j8nnPvBNJo3udOW0xTgIec3/9tp Igs6b6pU/yT5O/0h1+kEnVKvsX5rWeGcnM0I0x7cTyUdVdYqbX83IkVWI+H3tmIRBNtP b7Z/uZ+SCxrToO2IOmqkws4v8MhzxL/c4W4uUlzyRiJZRwVmbd/DSEtWC+Hi5orcHU8g dE8w== X-Forwarded-Encrypted: i=1; AFNElJ8h7469KavXawfeHUBaDp++SueGyfU62Yv4t/mmfGXrjWKYLncrMLwbcHwqP2G/ajlNsFSXaO4fHtMjg8g=@vger.kernel.org X-Gm-Message-State: AOJu0YwgRxE6ezeO20gzlcRcBubDL8zNHYVZWWtUgIjR0JxmCrCk+zFM AI6J8giGUAzDyUIiIp0OYF4P1AIsUvsQE6/y4CVmdm4o9JVSTPVNa/vDAcIovn/bFaI= X-Gm-Gg: AeBDies19pBJ+p4BaELqTCrHOyU2ojsA68kdauvvF2eiGISIdeWR+SSfZinCMOdU3l2 xac5ZNvjdqyQUSyVPj0Zbf9Uy7Ri5JRWIJ6B7J2Di+VwJi/jZ0wCe3g6eQusVfmWHGDOj8eyq9F U0Gu20BWc79fGMEoKn38tkU+xmxJdZ7sB1vubKml7WFNn3gwxt4jGCaZ2KRJ689WwOQTDHqRTpW 22sDBINdkyBJMGgJoCnYXkPT/vKT28BFAY9/oggQWLp6DfX0GRLe+jIlE738gGDlsGGSdJJnfz0 pHISYbpAaSmkZs196uefR+AlUVYcy6f83SAmuv81Y2WC+6RX06WKrvE7u67S8fT9wWQ6VEWCc1z KjKwV5ypMX/73Wngw4B+bqXj9Y9vM2YspjPC32Htwx59/DwFHm+5UaLnsZpwpwn9lO0oaCzB7F7 3I01Now/WFwgGaZYmJxfijumwTxUoDHa5XNQ== X-Received: by 2002:a05:6000:4185:b0:44b:5a37:36c4 with SMTP id ffacd0b85a97d-44fdf21c263mr846289f8f.26.1777919714291; Mon, 04 May 2026 11:35:14 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b76eddsm26745511f8f.34.2026.05.04.11.35.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 11:35:14 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 04 May 2026 15:34:44 -0300 Subject: [PATCH v5 3/6] selftests: livepatch: Introduce does_sysfs_exist function 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: quoted-printable Message-Id: <20260504-lp-tests-old-fixes-v5-3-0be26d94ab9a@suse.com> References: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@suse.com> In-Reply-To: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@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 , marcos@mpdesouza.com X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1777919697; l=1087; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=zwVAcfIrB5gkKSQrtegRJbhzNles6rOGTmiKmx6GRWQ=; b=xEIWz0+yEclXAyLG6pKQNfJzvV5laNiryR+3nDpFPz3Hkej5nUD5QebhOsozzUiaV2yImPQaH T2/YF6b0iK7AH7VTr1yYJ3lUpYUvXehnHIm4+XwXRPlvqORNmFVNucP X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= Returns true if the livepatch sysfs attribute exists, and false otherwise. This new function will be used in the next patches. Signed-off-by: Marcos Paulo de Souza Acked-by: Joe Lawrence Reviewed-by: Petr Mladek --- tools/testing/selftests/livepatch/functions.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing= /selftests/livepatch/functions.sh index 8ec0cb64ad94..2bc50271729c 100644 --- a/tools/testing/selftests/livepatch/functions.sh +++ b/tools/testing/selftests/livepatch/functions.sh @@ -339,6 +339,16 @@ function check_result { fi } =20 +# does_sysfs_exist(modname, attr) - check sysfs attribute existence +# modname - livepatch module creating the sysfs interface +# attr - attribute name to be checked +function does_sysfs_exist() { + local mod=3D"$1"; shift + local attr=3D"$1"; shift + + [[ -f "$SYSFS_KLP_DIR/$mod/$attr" ]] +} + # check_sysfs_rights(modname, rel_path, expected_rights) - check sysfs # path permissions # modname - livepatch module creating the sysfs interface --=20 2.54.0 From nobody Sun Jun 14 01:35:34 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 39CAE3E3D94 for ; Mon, 4 May 2026 18:35:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919722; cv=none; b=ZHjAVas3EdWpFu39IjrU846oC+KrOUidY7gI2b+JDvDSebub70XnU1mD+NL/MFZw1WroM7eJGqM2TrdrtuR7KnbMtd7PO1izFv5C+ENPgscxlDlowTjKfYCxLwz+cMCZw0gZ4Q7x6OL2OmDO68419uq2gywYMSM4JwvJUMLc3B8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919722; c=relaxed/simple; bh=6P0e0A8QxWyaPvsGL9j3Ar96CdheOubVPAEIrUABQpk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fCHQkh18+qIYEUv6uWnx9AJ3qvqsOOGq57ImGZIv5J37OLwbUqDSkMF/PTAdvMtCFNppHF/kVo2YdkRB6EVezkZ7ulib49C2GCKReC30/62Uy8IsOXKwxV0SavMBMhNBnCVWvUIxyn8OSUN0EYCZKZpOCSWPsgQtZsk1nO0oj9w= 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=GFZAz9Hx; arc=none smtp.client-ip=209.85.128.45 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="GFZAz9Hx" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-48984d29fe3so64884615e9.0 for ; Mon, 04 May 2026 11:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777919718; x=1778524518; 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=Ol7qxl3WD4B6OBEXdhGIzOFnzr53HJ0GeqePRgqXLMM=; b=GFZAz9HxgfyGAim3wPzXguYIYZaPiW64rcS6bgsNCT7YCgofVGrmBivlEfdE2wdkU1 4p71F9V8Tnt90LR2b4avvZB0mP3Oy53CH8UeZYbBHDW0OwYFH71oEb3HKzEf2oVl4wA7 aTh0EUdybP0+yLArmOlmWQ89gV3g5R7OKaWLJcFUuiUc/OyyhA0AokMOH+k1XL7Tqa1W r1mWEpJu5P69t31015bM36FJGXipmM1OdAeewlP5z9QQDd7ampikH/AsbkjLKI/Vle2f MFNjGAhGIpLK+E9gpxe931kfgo/GljJZJSO6b/ePfy6xFWCtFB3af7E/TnAbyuL7ObPM qwAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777919718; x=1778524518; 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=Ol7qxl3WD4B6OBEXdhGIzOFnzr53HJ0GeqePRgqXLMM=; b=bZOowHwD0wWuu/t0fek9w6FJ/o9MQQ8y7fpI8Pc6DX6o0P0Rg7lBHYNIRZc3IioACO DIESV3eMyzIiK4XPaRH1CmVPp8gzQu9tsl7x/u0b0GExls2OfHAfmzlakCnMzL4Hf3Om 9SDb7ykjKvgr0hom4fEz+JgRKbH1lsKm+RRWlzcdLwYMGGtZqts/JkvZNbetzWZzYrxU ipMgO3gNm0aa0Nl88c5s5pw1/WaZbij4AFMK7WV2/Xzwdg4Qam9sY32g8wmpNsccmhpE hsiM6bVy8cxRqwq/LgRKUDjdnPZiILisq3CFPdqTxNsF3Jvykc2ZaP3x+0/IN8h+1LVh L/Rw== X-Forwarded-Encrypted: i=1; AFNElJ8YHywQ4H6Lr5YdgZMVJbMHTooEdzVkMP0qaiT3UtJQ+JGsT+BaBtxHP1YFkyErDVnkoOVIqmYjEKGhB0c=@vger.kernel.org X-Gm-Message-State: AOJu0YyfhOb4nV5tx9D+TU+zvnxlXFKMjzBn1hhZT1OcHhUqxox3rI61 HYfhhPuPuOATbXMAltEJ+tbvMXBd0jKTJs1O7kgAtbS4IKnQH+SdzqAhsQDwsbnvcKU= X-Gm-Gg: AeBDietYqMaxP6ipI2SCAXHfrlu+cMXaG0igi4fWH68/gOkwHw7V16bpd/o+xMu97vJ TlsTBJjnsxtzueklXQ/8Wv1VsxAF0T5Rx9a4bXEUG5JP922d4LA5uL+dfm02Hr9tl1QKpz+NKkv fJ2Wff5GbsbCUuDIKILOEDJESudhmRF0Bz271cGjQG6IE7Zzg5RO7VoPCDjghoygRtZF5WOW5D8 zm7bWdz7XYegb/GF4OPomxbbWSU0LRxu0C1znmyWPtvrhqAA6SC1O+3XnIqRuLF2798j8gTCpjS VLKEifpbBvkKaAUr1VxW5KTWpE5uZNACgZI28lffp1m59E2NNgpIo0V8OuYlz8IIevmR1db2KfO xEw9YeSUyUM+8EDFxHaq8pGrJiaix4u78Xch3TuL7KPCjj5K1TiDNlRPMdnbFA81bAeeRTXbp4y 6M/1nQ67+MzaWyabx0QfIv8ONLvM9BJfZMjw== X-Received: by 2002:a05:600c:a30a:b0:48a:906b:14ca with SMTP id 5b1f17b1804b1-48a9865f452mr132012925e9.20.1777919718469; Mon, 04 May 2026 11:35:18 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b76eddsm26745511f8f.34.2026.05.04.11.35.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 11:35:18 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 04 May 2026 15:34:45 -0300 Subject: [PATCH v5 4/6] selftests: livepatch: Check if patched 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: quoted-printable Message-Id: <20260504-lp-tests-old-fixes-v5-4-0be26d94ab9a@suse.com> References: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@suse.com> In-Reply-To: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@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 , marcos@mpdesouza.com X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1777919697; l=6526; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=6P0e0A8QxWyaPvsGL9j3Ar96CdheOubVPAEIrUABQpk=; b=y69XL2WyXkyzt8uN7FS65jaMSY6e0SmCV4WJV28ti3cJxYhyNJwnzXRRZnOWqx+dT9BFCQckL ldeTaiwTJ7gD72w0P+7oAsZqJYAAtlDXHJtR+/aHBuk8mj0uG7oYDPV X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= The commit bb26cfd9e77e ("livepatch: add sysfs entry "patched" for each klp_object") was merged in v6.1, introducing a new sysfs attribute. 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. Along with this change, use MOD_LIVEPATCH2 variable instead of reassigning a new value to MOD_LIVEPATCH, and also use the variable names in the check_result, to avoid using the module names. Signed-off-by: Marcos Paulo de Souza Acked-by: Joe Lawrence Reviewed-by: Petr Mladek --- tools/testing/selftests/livepatch/test-sysfs.sh | 87 +++++++++++++--------= ---- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testin= g/selftests/livepatch/test-sysfs.sh index 58fe1d96997c..7fa2223f9533 100755 --- a/tools/testing/selftests/livepatch/test-sysfs.sh +++ b/tools/testing/selftests/livepatch/test-sysfs.sh @@ -8,6 +8,8 @@ MOD_LIVEPATCH=3Dtest_klp_livepatch MOD_LIVEPATCH2=3Dtest_klp_callbacks_demo MOD_LIVEPATCH3=3Dtest_klp_syscall =20 +HAS_PATCH_ATTR=3D0 + setup_config =20 # - load a livepatch and verifies the sysfs entries work as expected @@ -25,8 +27,12 @@ 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--" check_sysfs_value "$MOD_LIVEPATCH" "transition" "0" -check_sysfs_rights "$MOD_LIVEPATCH" "vmlinux/patched" "-r--r--r--" -check_sysfs_value "$MOD_LIVEPATCH" "vmlinux/patched" "1" + +if does_sysfs_exist "$MOD_LIVEPATCH/vmlinux" "patched"; then + check_sysfs_rights "$MOD_LIVEPATCH" "vmlinux/patched" "-r--r--r--" + check_sysfs_value "$MOD_LIVEPATCH" "vmlinux/patched" "1" + HAS_PATCH_ATTR=3D1 +fi =20 disable_lp $MOD_LIVEPATCH =20 @@ -45,48 +51,49 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching tran= sition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" =20 -start_test "sysfs test object/patched" +if [[ "$HAS_PATCH_ATTR" =3D=3D "1" ]]; then + start_test "sysfs test object/patched" =20 -MOD_LIVEPATCH=3Dtest_klp_callbacks_demo -MOD_TARGET=3Dtest_klp_callbacks_mod -load_lp $MOD_LIVEPATCH + MOD_TARGET=3Dtest_klp_callbacks_mod + load_lp $MOD_LIVEPATCH2 =20 -# check the "patch" file changes as target module loads/unloads -check_sysfs_value "$MOD_LIVEPATCH" "$MOD_TARGET/patched" "0" -load_mod $MOD_TARGET -check_sysfs_value "$MOD_LIVEPATCH" "$MOD_TARGET/patched" "1" -unload_mod $MOD_TARGET -check_sysfs_value "$MOD_LIVEPATCH" "$MOD_TARGET/patched" "0" + # check the "patch" file changes as target module loads/unloads + check_sysfs_value "$MOD_LIVEPATCH2" "$MOD_TARGET/patched" "0" + load_mod $MOD_TARGET + check_sysfs_value "$MOD_LIVEPATCH2" "$MOD_TARGET/patched" "1" + unload_mod $MOD_TARGET + check_sysfs_value "$MOD_LIVEPATCH2" "$MOD_TARGET/patched" "0" =20 -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH + disable_lp $MOD_LIVEPATCH2 + unload_lp $MOD_LIVEPATCH2 =20 -check_result "% insmod test_modules/test_klp_callbacks_demo.ko -livepatch: enabling patch 'test_klp_callbacks_demo' -livepatch: 'test_klp_callbacks_demo': initializing patching transition -test_klp_callbacks_demo: pre_patch_callback: vmlinux -livepatch: 'test_klp_callbacks_demo': starting patching transition -livepatch: 'test_klp_callbacks_demo': completing patching transition -test_klp_callbacks_demo: post_patch_callback: vmlinux -livepatch: 'test_klp_callbacks_demo': patching complete -% insmod test_modules/test_klp_callbacks_mod.ko -livepatch: applying patch 'test_klp_callbacks_demo' to loading module 'tes= t_klp_callbacks_mod' -test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MO= DULE_STATE_COMING] Full formed, running module_init -test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [M= ODULE_STATE_COMING] Full formed, running module_init -test_klp_callbacks_mod: test_klp_callbacks_mod_init -% rmmod test_klp_callbacks_mod -test_klp_callbacks_mod: test_klp_callbacks_mod_exit -test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [= MODULE_STATE_GOING] Going away -livepatch: reverting patch 'test_klp_callbacks_demo' on unloading module '= test_klp_callbacks_mod' -test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> = [MODULE_STATE_GOING] Going away -% echo 0 > $SYSFS_KLP_DIR/test_klp_callbacks_demo/enabled -livepatch: 'test_klp_callbacks_demo': initializing unpatching transition -test_klp_callbacks_demo: pre_unpatch_callback: vmlinux -livepatch: 'test_klp_callbacks_demo': starting unpatching transition -livepatch: 'test_klp_callbacks_demo': completing unpatching transition -test_klp_callbacks_demo: post_unpatch_callback: vmlinux -livepatch: 'test_klp_callbacks_demo': unpatching complete -% rmmod test_klp_callbacks_demo" + check_result "% insmod test_modules/$MOD_LIVEPATCH2.ko +livepatch: enabling patch '$MOD_LIVEPATCH2' +livepatch: '$MOD_LIVEPATCH2': initializing patching transition +$MOD_LIVEPATCH2: pre_patch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': starting patching transition +livepatch: '$MOD_LIVEPATCH2': completing patching transition +$MOD_LIVEPATCH2: post_patch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': patching complete +% insmod test_modules/$MOD_TARGET.ko +livepatch: applying patch '$MOD_LIVEPATCH2' to loading module '$MOD_TARGET' +$MOD_LIVEPATCH2: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] = Full formed, running module_init +$MOD_LIVEPATCH2: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING]= Full formed, running module_init +$MOD_TARGET: test_klp_callbacks_mod_init +% rmmod $MOD_TARGET +$MOD_TARGET: test_klp_callbacks_mod_exit +$MOD_LIVEPATCH2: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING]= Going away +livepatch: reverting patch '$MOD_LIVEPATCH2' on unloading module '$MOD_TAR= GET' +$MOD_LIVEPATCH2: post_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING= ] Going away +% echo 0 > $SYSFS_KLP_DIR/$MOD_LIVEPATCH2/enabled +livepatch: '$MOD_LIVEPATCH2': initializing unpatching transition +$MOD_LIVEPATCH2: pre_unpatch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': starting unpatching transition +livepatch: '$MOD_LIVEPATCH2': completing unpatching transition +$MOD_LIVEPATCH2: post_unpatch_callback: vmlinux +livepatch: '$MOD_LIVEPATCH2': unpatching complete +% rmmod $MOD_LIVEPATCH2" +fi =20 start_test "sysfs test replace enabled" =20 --=20 2.54.0 From nobody Sun Jun 14 01:35:34 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 EF4182253EC for ; Mon, 4 May 2026 18:35:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919727; cv=none; b=NgyUEdxkclyKogEpai2Cl/dNVPX+FOi1ZES9riPQtbPwF8bKPNvZOthxytwEE6V/2geSZeffpV5UUKre0r1n9sctyXQn3HOXjoRasdPS24ncTOJH/zAla4dZV9iZOpuATn6kxNxCabI75QrQkOBoJhinwsvvJJPXH4hatwWbutI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919727; c=relaxed/simple; bh=Jhwc3bSB1QoPJ4EdDuot2f3rSW+MDB/+MyoU7VmCXKI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AZaz8yJVLfhQg2gEWjSArn/LNqCbbp1I0KaVcBpXYPwXrN2Mu69kl08Jt6Upr/y0uXim/Dy0MjqW/xU3UPkAFv7Twao/IcsMvQ7MYFyc9Sgv8uzyVXyAW48jqKs1rL/E0ZuapN3xTt5GjxhgDZdnjrRzrrM+R06m6DyK4tK2wVM= 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=eCfIS8FU; arc=none smtp.client-ip=209.85.128.52 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="eCfIS8FU" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-48374014a77so51278525e9.3 for ; Mon, 04 May 2026 11:35:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777919724; x=1778524524; 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=bXBN/muC0e6jo/6Omvf0NxeC2cje49LJFllH8PfvrZQ=; b=eCfIS8FUgRwd2IqDTFCvDT72YQcrySW8WqumS3BZqMPAaOkLLibegx9z4umXnpZSk2 PjpfNnmb3Tpk51fmjAwI9UZC15A1MgFccoR2tbV5vMkEr8DJ4wjWiEOvs0VEKA2stmnm tDDgxZ6ZCMTEUEqW1+WhnEkZSaKw8fwa1+inuE+gG+xg14azIAHxwjGlic8oj9aZ0Ap6 SmydRXahvUTIADT3B6Zva9rHPQ02qHCpQBuYQFqCJdfMqIMlv7kxjY91pO3UNJLNUwE7 pyAFfbpRlUp9fvy2AOf87JXmQxQtVcXyACiO/5XVCzik3lkE7+cDDQk0ak1ntFQM3d2B JFNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777919724; x=1778524524; 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=bXBN/muC0e6jo/6Omvf0NxeC2cje49LJFllH8PfvrZQ=; b=bZTO7KlYxstc+XNnLhHIFZ3LimmkEfDGVAQlDpKDD51k74oll7tCof3cvFMzoekjYP zuazmAA0hx/J1PY5a3SXcxNJC3qVJzxxRzwGDAEwTBcNBfueSMi6L04uGoreM5KKoMV3 zur+dNjayxw+Ac0Q38hyOjfV3U4rt2PN7jF0SOmIkANf+pbsRuKc2gkO5DPs1FFdMJLw PTYJhsnJrRgJd0X1sOVXXm4EorwlRMJHi9dSVN+sD2gLNz2HvaaQKiZP4h86iwNR8OWm MiVXAUVRv2AICt24zd4Hdx2ck8K7Bi4UPeKD7QpUm5m/0lg7QKwojDkEShUgnBJOdhsG dSgg== X-Forwarded-Encrypted: i=1; AFNElJ+JGQTmCkhe9cEz5iWp/LLvbPLhFYLfb/YQIPhKnqPQN48pVdWk1wUIwsO6SWy7imbmCC5Bo86FdEDhVk0=@vger.kernel.org X-Gm-Message-State: AOJu0YwBi1I8vd+r/2ofL4Hhd+IgjZq7W5bQcher6vUwEKM9oaFg9BMO T0qzEUnTs4CKimSnVXBdsx/SC3CzwScp9WuRveXixAUduNBOADCocDixMs6umkGvdTg= X-Gm-Gg: AeBDieuAvF2qnMAPhzXB/n4opz3NmHx0aUhVFmkvPQmTmQI7u/QkwRGiJcycR7Nt9VB Td3WW0sAcQB+TeY5WBf/dq25ZVoIkdtwRxwguY+gUMiFDjsP//2kz4AFfAi9dbPVdX/Tnzl3VGV 1l+IpZh8kEkgVvqfPVso3P0tIDlGjKxRJxSybb0L8oNey1IVo7H7Zq+IEkLPDpsa3RLY+IjDeaP 8G/LHFqkcV0qgwG4z6oCcj8mqlrzD+xSwERhdz+ZfkjZTe0qMCJZC/35LKidP678E/Es4nK5qBl EP8/dsV+M11l3u5kvh/DbtYO5Xd+4mC2ZkEH7blomjYAfWrSi7FtShWbqGgxKS4cws5ttBzjMyV KyZgWoYNIgiN/pV2gxzJIPEKQ191coRjP0LxvCd3sdwsU1JtYVVNATHCGaJpPbJD72KTUvjFZhM 0+OA+HFREDH0Dao+prNcTSuz497L1A18ZRJNbJ/grpHNJW X-Received: by 2002:a05:6000:178d:b0:43d:773d:7908 with SMTP id ffacd0b85a97d-44bb65df88fmr17335166f8f.32.1777919724327; Mon, 04 May 2026 11:35:24 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b76eddsm26745511f8f.34.2026.05.04.11.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 11:35:22 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 04 May 2026 15:34:46 -0300 Subject: [PATCH v5 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: quoted-printable Message-Id: <20260504-lp-tests-old-fixes-v5-5-0be26d94ab9a@suse.com> References: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@suse.com> In-Reply-To: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@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 , marcos@mpdesouza.com X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1777919697; l=6010; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=Jhwc3bSB1QoPJ4EdDuot2f3rSW+MDB/+MyoU7VmCXKI=; b=aJO0E/QNJQg57ozcSRwqAd5sHqfwmC10e+h+fy1Gz8CMSKzhVSXA9XSx2MnxUpbz7+dmCfTJy rEXnENtkcT7Bm8O+MvuSUoSxn2YfFpH/9qoFlk1Po7t5SQfY0kLq4Qt X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= The commit adb68ed26a3e ("livepatch: Add "replace" sysfs attribute"), merged in v6.11, introduced a new sysfs attribute. 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. While at it, create a local variable to hold the module name to be tested, instead of overwriting MOD_LIVEPATCH. Signed-off-by: Marcos Paulo de Souza Acked-by: Joe Lawrence Reviewed-by: Petr Mladek --- tools/testing/selftests/livepatch/test-sysfs.sh | 101 +++++++++++++-------= ---- 1 file changed, 54 insertions(+), 47 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testin= g/selftests/livepatch/test-sysfs.sh index 7fa2223f9533..fed656021271 100755 --- a/tools/testing/selftests/livepatch/test-sysfs.sh +++ b/tools/testing/selftests/livepatch/test-sysfs.sh @@ -9,6 +9,7 @@ MOD_LIVEPATCH2=3Dtest_klp_callbacks_demo MOD_LIVEPATCH3=3Dtest_klp_syscall =20 HAS_PATCH_ATTR=3D0 +HAS_REPLACE_ATTR=3D0 =20 setup_config =20 @@ -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_exist "$MOD_LIVEPATCH/vmlinux" "patched"; = then HAS_PATCH_ATTR=3D1 fi =20 +if does_sysfs_exist "$MOD_LIVEPATCH" "replace"; then + check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" + HAS_REPLACE_ATTR=3D1 +fi + disable_lp $MOD_LIVEPATCH =20 unload_lp $MOD_LIVEPATCH @@ -95,52 +100,54 @@ livepatch: '$MOD_LIVEPATCH2': unpatching complete % rmmod $MOD_LIVEPATCH2" fi =20 -start_test "sysfs test replace enabled" - -MOD_LIVEPATCH=3Dtest_klp_atomic_replace -load_lp $MOD_LIVEPATCH replace=3D1 - -check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" -check_sysfs_value "$MOD_LIVEPATCH" "replace" "1" - -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH - -check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=3D1 -livepatch: enabling patch '$MOD_LIVEPATCH' -livepatch: '$MOD_LIVEPATCH': initializing patching transition -livepatch: '$MOD_LIVEPATCH': starting patching transition -livepatch: '$MOD_LIVEPATCH': completing patching transition -livepatch: '$MOD_LIVEPATCH': patching complete -% echo 0 > $SYSFS_KLP_DIR/$MOD_LIVEPATCH/enabled -livepatch: '$MOD_LIVEPATCH': initializing unpatching transition -livepatch: '$MOD_LIVEPATCH': starting unpatching transition -livepatch: '$MOD_LIVEPATCH': completing unpatching transition -livepatch: '$MOD_LIVEPATCH': unpatching complete -% rmmod $MOD_LIVEPATCH" - -start_test "sysfs test replace disabled" - -load_lp $MOD_LIVEPATCH replace=3D0 - -check_sysfs_rights "$MOD_LIVEPATCH" "replace" "-r--r--r--" -check_sysfs_value "$MOD_LIVEPATCH" "replace" "0" - -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH - -check_result "% insmod test_modules/$MOD_LIVEPATCH.ko replace=3D0 -livepatch: enabling patch '$MOD_LIVEPATCH' -livepatch: '$MOD_LIVEPATCH': initializing patching transition -livepatch: '$MOD_LIVEPATCH': starting patching transition -livepatch: '$MOD_LIVEPATCH': completing patching transition -livepatch: '$MOD_LIVEPATCH': patching complete -% echo 0 > $SYSFS_KLP_DIR/$MOD_LIVEPATCH/enabled -livepatch: '$MOD_LIVEPATCH': initializing unpatching transition -livepatch: '$MOD_LIVEPATCH': starting unpatching transition -livepatch: '$MOD_LIVEPATCH': completing unpatching transition -livepatch: '$MOD_LIVEPATCH': unpatching complete -% rmmod $MOD_LIVEPATCH" +if [[ "$HAS_REPLACE_ATTR" =3D=3D "1" ]]; then + start_test "sysfs test replace enabled" + + MOD_ATOMIC_REPLACE=3Dtest_klp_atomic_replace + load_lp $MOD_ATOMIC_REPLACE replace=3D1 + + check_sysfs_rights "$MOD_ATOMIC_REPLACE" "replace" "-r--r--r--" + check_sysfs_value "$MOD_ATOMIC_REPLACE" "replace" "1" + + disable_lp $MOD_ATOMIC_REPLACE + unload_lp $MOD_ATOMIC_REPLACE + + check_result "% insmod test_modules/$MOD_ATOMIC_REPLACE.ko replace=3D1 +livepatch: enabling patch '$MOD_ATOMIC_REPLACE' +livepatch: '$MOD_ATOMIC_REPLACE': initializing patching transition +livepatch: '$MOD_ATOMIC_REPLACE': starting patching transition +livepatch: '$MOD_ATOMIC_REPLACE': completing patching transition +livepatch: '$MOD_ATOMIC_REPLACE': patching complete +% echo 0 > $SYSFS_KLP_DIR/$MOD_ATOMIC_REPLACE/enabled +livepatch: '$MOD_ATOMIC_REPLACE': initializing unpatching transition +livepatch: '$MOD_ATOMIC_REPLACE': starting unpatching transition +livepatch: '$MOD_ATOMIC_REPLACE': completing unpatching transition +livepatch: '$MOD_ATOMIC_REPLACE': unpatching complete +% rmmod $MOD_ATOMIC_REPLACE" + + start_test "sysfs test replace disabled" + + load_lp $MOD_ATOMIC_REPLACE replace=3D0 + + check_sysfs_rights "$MOD_ATOMIC_REPLACE" "replace" "-r--r--r--" + check_sysfs_value "$MOD_ATOMIC_REPLACE" "replace" "0" + + disable_lp $MOD_ATOMIC_REPLACE + unload_lp $MOD_ATOMIC_REPLACE + + check_result "% insmod test_modules/$MOD_ATOMIC_REPLACE.ko replace=3D0 +livepatch: enabling patch '$MOD_ATOMIC_REPLACE' +livepatch: '$MOD_ATOMIC_REPLACE': initializing patching transition +livepatch: '$MOD_ATOMIC_REPLACE': starting patching transition +livepatch: '$MOD_ATOMIC_REPLACE': completing patching transition +livepatch: '$MOD_ATOMIC_REPLACE': patching complete +% echo 0 > $SYSFS_KLP_DIR/$MOD_ATOMIC_REPLACE/enabled +livepatch: '$MOD_ATOMIC_REPLACE': initializing unpatching transition +livepatch: '$MOD_ATOMIC_REPLACE': starting unpatching transition +livepatch: '$MOD_ATOMIC_REPLACE': completing unpatching transition +livepatch: '$MOD_ATOMIC_REPLACE': unpatching complete +% rmmod $MOD_ATOMIC_REPLACE" +fi =20 start_test "sysfs test stack_order value" =20 --=20 2.54.0 From nobody Sun Jun 14 01:35:34 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 00BEA3E3D94 for ; Mon, 4 May 2026 18:35:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919731; cv=none; b=k/RDy0s5M/QismZbA3hKoynHUUXHyim4ZjBH/A1YWuJEXDGefOXV2ABkP4VOkwwFp7edBHJNzdBeQ/O6TLrWN3s9vyYQPdMkMYABGE9Drg3bff2X38/DUIzYrFq/CERM306HMmPdD3h0InUAtxcENzuFIGspvZBAeCGKdpD0ykE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777919731; c=relaxed/simple; bh=ZvTXbQvvVARQQXEwnJaBzX4ewSTwJzx3zawM/8FKYoo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Cut/0O862G/uattr1ZdKCi7wX3PASceAEcrRYjYNZzgK8za/BWprI0KQ5VbP84MHTBO0emtw5V/wO0BmGKPRhzi0gQQuWbBMP55mlExDZtghwclL9DENWrGE/XeM72frbokWBoK6rO6x48EBpXH6sXCG/z7vln6SbYkLp4jMMUo= 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=P87wQR3h; arc=none smtp.client-ip=209.85.128.44 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="P87wQR3h" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-488b8bc6bc9so27501015e9.3 for ; Mon, 04 May 2026 11:35:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777919728; x=1778524528; 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=RYEFtul8vd0vBjHaC+i5w2P21RsoXDngoLSxAnb1syM=; b=P87wQR3hvOACpwTGLleegcbEsY6eNiCD0x5hV7zNWXJXoTINZ4h5iI5O7djvYA5f+A KR8ONyRE/LwAIpyEjTxeJWjr/ruzXOI7UmYfx4iVcqPghkcFl0gztdcC0LVOsxTB+8h0 /x2vG33g2KOHNxykEzcXPCVAILcwB53lCSU5JAcnAVQjULFONfLNvh/s3q/EBvVuaeRs U/fbZoS+/VVI9hefQbqPJl0PluqjmraXI7x14ESkEZKMRMKSzNVCEq+F938rJqo95euD MOeLzj1rzxvrM4bxwpXrF7ASj9W87JyRXj48pPqNAuYDYy5dPIL/YXFgcWHflQ+er8+x gEPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777919728; x=1778524528; 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=RYEFtul8vd0vBjHaC+i5w2P21RsoXDngoLSxAnb1syM=; b=SOCmGLHn8VeGw2gx8e+xKjm7TRUFKcCOXk+lD09kcy0J4ios/GFmBzTvHGbTvHpdmu /SyW52HMVavplISAA/keF1qe8+KE7zG7ChW6Iq7fynflImvnNDKa1zI5dvn4v0hqsThN uZNb9npboxGEyJuFJi8VQqxADLCTGoHn+MBS2xGU8/4vWFmqX9BhW1zRZHyjCE+DmSf8 CWItvySadbTLUQetUywQO95COUI9LdPkaMZnz7vd5tE7HyabcxWVuOARZDUtRqImGSzd QFJ6JgvjrcjNWFcTYgzf77bsHCoIkGLjZqwu2Bi/a//YtnHYtkSAsHYCDsY3rWFg7DE+ XOSA== X-Forwarded-Encrypted: i=1; AFNElJ+MGhsci9ATmwx3Vqo/JI+fwKijVOCzZ8Hw/dJQVhHRm/4Ew/vIilLx6YttFUhcNeKb83/NjqLaR/kNlW8=@vger.kernel.org X-Gm-Message-State: AOJu0YyQtQUcYUaQE96RsiBK7Zf1DbLizhhvAZsyVKNkcV+OMKXlG/cc IJeqL8+HyEvqQldKpHrqIYMZyfwtcwRbXrRoxmzFUVz7JXkVuP38aLAfvA14WaaqP+Y= X-Gm-Gg: AeBDiesPANOA/rCD+0BHKZKsIeHGmvvgDyx34Fu97KLyInaKk7po0QcVVpDIlUX22R/ lu6lVul69K6UOZvy6VsXfR4AS8vLZXl4HMpnYre2oRNDZfgMj4xfTvAby/PpTedvYT/uRmgv/Gd KlWGQpcxiWdghw94JFXauevT7+R1BjwXVff93MahijaPkeb/wFvcF3X0bHeXV4e9qTcE9/Xfk6H 84lSpqmbP6cgtwe8MtAUPAi/LKWnc3fhLiwEkkl3QmpBLCsaPGFshNTfA6wuvWlLygbqPebVe5O 2ARm3DUZXHJETkTJ6QcvbiqRGdDVrOJGjg9FlYLMKNG8OvwhlFt3HeOxbQjMcYnP1U8ZE/pdDDf gi5NYUvOvwd3jDuqPTTd6lWWmjFmsWGWvCXtbRfYZd9vVfDK2hgNl0mzLFq+08M5qAJCYIT8Owa bxGxMKXOh4YP3M7N4qzHr+M9f1nsriMHsW8A== X-Received: by 2002:a05:600c:c095:b0:487:12c:e7e1 with SMTP id 5b1f17b1804b1-48a98637de2mr170634125e9.11.1777919728436; Mon, 04 May 2026 11:35:28 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b76eddsm26745511f8f.34.2026.05.04.11.35.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 11:35:28 -0700 (PDT) From: Marcos Paulo de Souza Date: Mon, 04 May 2026 15:34:47 -0300 Subject: [PATCH v5 6/6] selftests: livepatch: Check if stack_order 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: quoted-printable Message-Id: <20260504-lp-tests-old-fixes-v5-6-0be26d94ab9a@suse.com> References: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@suse.com> In-Reply-To: <20260504-lp-tests-old-fixes-v5-0-0be26d94ab9a@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 , marcos@mpdesouza.com X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1777919697; l=3644; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=ZvTXbQvvVARQQXEwnJaBzX4ewSTwJzx3zawM/8FKYoo=; b=MXIRvCBUPAt1B8d+Ub66kDeZOy+KYi/sFRWYhXtX4PVbgZDg9tmKGz+KegOVLCLPEnNS7YQ50 fYgaRWKlDmHA532Wmwp/RnPTr3WHqx47d1Fukc3LM7mobwTBD14ObX8 X-Developer-Key: i=mpdesouza@suse.com; a=ed25519; pk=/Ni/TsKkr69EOmdZXkp1Q/BlzDonbOBRsfPa18ySIwU= The commit 3dae09de4061 ("livepatch: Add stack_order sysfs attribute"), merged in v6.14, introduced a new sysfs attribute. 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 Acked-by: Joe Lawrence Reviewed-by: Petr Mladek --- tools/testing/selftests/livepatch/test-sysfs.sh | 43 ++++++++++++++-------= ---- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testin= g/selftests/livepatch/test-sysfs.sh index fed656021271..3b16285c6e67 100755 --- a/tools/testing/selftests/livepatch/test-sysfs.sh +++ b/tools/testing/selftests/livepatch/test-sysfs.sh @@ -10,6 +10,7 @@ MOD_LIVEPATCH3=3Dtest_klp_syscall =20 HAS_PATCH_ATTR=3D0 HAS_REPLACE_ATTR=3D0 +HAS_STACK_ORDER_ATTR=3D0 =20 setup_config =20 @@ -23,8 +24,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" "stack_order" "-r--r--r--" -check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" check_sysfs_rights "$MOD_LIVEPATCH" "transition" "-r--r--r--" check_sysfs_value "$MOD_LIVEPATCH" "transition" "0" =20 @@ -39,6 +38,12 @@ if does_sysfs_exist "$MOD_LIVEPATCH" "replace"; then HAS_REPLACE_ATTR=3D1 fi =20 +if does_sysfs_exist "$MOD_LIVEPATCH" "stack_order"; then + check_sysfs_rights "$MOD_LIVEPATCH" "stack_order" "-r--r--r--" + check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + HAS_STACK_ORDER_ATTR=3D1 +fi + disable_lp $MOD_LIVEPATCH =20 unload_lp $MOD_LIVEPATCH @@ -149,33 +154,34 @@ livepatch: '$MOD_ATOMIC_REPLACE': unpatching complete % rmmod $MOD_ATOMIC_REPLACE" fi =20 -start_test "sysfs test stack_order value" +if [[ "$HAS_STACK_ORDER_ATTR" =3D=3D "1" ]]; then + start_test "sysfs test stack_order value" =20 -load_lp $MOD_LIVEPATCH + load_lp $MOD_LIVEPATCH =20 -check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" =20 -load_lp $MOD_LIVEPATCH2 + load_lp $MOD_LIVEPATCH2 =20 -check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2" + check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2" =20 -load_lp $MOD_LIVEPATCH3 + load_lp $MOD_LIVEPATCH3 =20 -check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3" + check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3" =20 -disable_lp $MOD_LIVEPATCH2 -unload_lp $MOD_LIVEPATCH2 + disable_lp $MOD_LIVEPATCH2 + unload_lp $MOD_LIVEPATCH2 =20 -check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" -check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2" + check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2" =20 -disable_lp $MOD_LIVEPATCH3 -unload_lp $MOD_LIVEPATCH3 + disable_lp $MOD_LIVEPATCH3 + unload_lp $MOD_LIVEPATCH3 =20 -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH + disable_lp $MOD_LIVEPATCH + unload_lp $MOD_LIVEPATCH =20 -check_result "% insmod test_modules/$MOD_LIVEPATCH.ko + check_result "% insmod test_modules/$MOD_LIVEPATCH.ko livepatch: enabling patch '$MOD_LIVEPATCH' livepatch: '$MOD_LIVEPATCH': initializing patching transition livepatch: '$MOD_LIVEPATCH': starting patching transition @@ -215,5 +221,6 @@ livepatch: '$MOD_LIVEPATCH': starting unpatching transi= tion livepatch: '$MOD_LIVEPATCH': completing unpatching transition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" +fi =20 exit 0 --=20 2.54.0