From nobody Tue Jun 16 19:34:54 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 581DF373C1A for ; Wed, 29 Apr 2026 14:35:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473334; cv=none; b=Lvump3LL4nXOB3u/AoUvOoK/6y3frrCypF/w2zBLMKKvsTRJQqk25AoS0lpY6R3a/Pf98zCCMv0l1UNB59WnCiaJLvQnOVDtRqq02U+rLFgW/DmNh1PLuzrAkqcd3vzYxVL2NLtvyiWmZFoPrCgH5TUkl3YzO6leUjz4SsJOu0s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473334; c=relaxed/simple; bh=bsQGxHVEbWFMcU98H+Usr8BrpVvRynWHs4uJrO7ovMk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E1Blbf9HhW7RScgjnV/mV58HsPC7OMgc1+gD79ebHHkjqQNDfzjQOz1MIppzTUuGF1fsnS7SK5MQjtH0RTBzfLZTITuaMB1D0gRF7LCvAerx7fDrxoYbYnrCZfeaQp/waFnbiD0IzI8e36ely8C9diSA3PMoIVSHeLlQQPq1LZY= 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=ZEkVqEDX; arc=none smtp.client-ip=209.85.128.41 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="ZEkVqEDX" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4852a9c6309so114753805e9.0 for ; Wed, 29 Apr 2026 07:35:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777473332; x=1778078132; 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=ZEkVqEDXS5a8xENdLT/u/17+JJpbvEhFqqPvnB0gmhv2ZVVHOZk9QlT0yVekSIV8o0 uzsPMW4UgMdqT7N5n32r2wfljd4WRaV9oYaHBelLmqHhtRpryXtbGGoHNcF+Y1BlF6R8 As0O33MTVFcWRAEX8kNZBp4GKFu+g54XgVPEgRCGNCcMGxjI/XOP8BkTGfEGLOufplrB SGnjrNGx54IqKWWBgrX7fmgY94cfXTYaguOKMh8R9QpP3dTLeWqVcWE6TOjHBQ8y/BJl IUk8IkBakosb7ELVpKkmX8g1/gXC/C106FxhHEQKA8F8RdTR6U1aXLfYCAes2Zved8H2 g/LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777473332; x=1778078132; 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=DwB7qDniOj/lwyu+afNsr86eDHF8M4W02joq5T+GZxjeKa1YGUof8HaMqAqZJ0CMhN 5/ObcvPSqhvq2eODqa5U+aLAhHmNDeW2ZW2Ms9S3XaokYpS/bhpM2piEyVwwgqbU5pOM 5sdgrWs5s5REJg5gBfrDHRY9UgsaMu8qkGUgSeVMLRT3kUhI+AKVXteM1KMy1gjYbvSj CjWjeLJy5kH226fyBIff7iF+6nMFEl3V4vUQ+yBGT9E3/kgncyyGJ1eouUI2pKK5dUov RsTH/Uj/mc8wIz7TLan6NIro0MOJMZu0OJ3ngfNIti+2s4pUL3qaVKKYZ1aiVWSulhxh R2Ww== X-Forwarded-Encrypted: i=1; AFNElJ+MrjFI07jg9uIDk6QYa0CwAAD05sVTCpk7CyKzUhgBf61ntsf8X/CY249BXhxBZjQ/8B8cBbo0iP+jneE=@vger.kernel.org X-Gm-Message-State: AOJu0Yyqdi+VrDFzPYeQ3Gl4WDQBVpZGUA1h3OtyH1a2HopyKzBhoKUt bX1JWCfY6+U9zv8dU6VmUi5Hyiz0mbAJYtlYDHFl7uedJKVw25xO+7yI5oj8PzIPc28= X-Gm-Gg: AeBDieuQII32pcTK3U/apJc5vxSOtlqidKjidO+b+hpy35qjWr19Dz7PW+L4hbIMok8 NtuGAZMyQwRbwdNowubBDD+/qiXXsYwNxTclul5H9yibDxsLIjUTYOY3SZHlSi7WYPloLIRm9eP UF8mgydvnF5YhyO/IqZHKavx6UY7AmuVtRi6TAkFEqDpUo1wVwAPb6ktEQDPvKdbopDz4mXEyVD Jx5NT6A9mls+MVIZ+5rIgsN9PvuLTHXk18JG7+d8Sce5LSW42FA+fFBgpyFadZYO+RvVerZH/vF pnLTSByCteR7dyik9SljZub90XSu1CyiYDbLB8WbNY7TxyW+bfxnS3h2q5rydCASTQG6IjNhXLC WWzgiDl5nP+Lic348eHChbPyCLCGNBT98exFkN36vuBl/M0k23r+kAXDCsH+NjaaDBjnqYSk2xc GOHvIqcfjq9y/xXGkadWPYqYsQ2YNnuxyg+Gw8RZLzCRIq X-Received: by 2002:a05:600c:4341:b0:48a:53ea:1408 with SMTP id 5b1f17b1804b1-48a77afcf0amr63409555e9.8.1777473331729; Wed, 29 Apr 2026 07:35:31 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c305371sm19982835e9.18.2026.04.29.07.35.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 07:35:30 -0700 (PDT) From: Marcos Paulo de Souza Date: Wed, 29 Apr 2026 11:35:15 -0300 Subject: [PATCH v4 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: <20260429-lp-tests-old-fixes-v4-1-59b9741989d0@suse.com> References: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@suse.com> In-Reply-To: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@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=1777473323; l=1999; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=bsQGxHVEbWFMcU98H+Usr8BrpVvRynWHs4uJrO7ovMk=; b=tvmzg76o/nu6Ldl32Hq08Kp/ieaTRU6Q+seXgfYYcQaFHBNyqt47Rl0yDMlUCxGPdyjY+T6tJ oiFKI6R3eiCBdTM2/oaeYPX+5HZRrmRfkyJEhZ4saJrDz4ve6P4wZad 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 --- .../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 Tue Jun 16 19:34:54 2026 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 D052E10F1 for ; Wed, 29 Apr 2026 14:35: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=1777473340; cv=none; b=ujIL5vqU0zda6MWBmrfPI/viYqAP7QhvOr35ku2dEckpXa4PzKhtwOZgr5hiW6VqfVmgyUViuWbLh+5UqxPwrMfFRBCEE2DrItigFxcpf5cGWhEy3esG5hzWS2J+s6kMJnglZtCxUv8MmtMimghzKNlKdyE8IfZsXu/0S+5n1lQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473340; c=relaxed/simple; bh=w+QsBT+5pcbBe5xVs0oaWXhZ1MdasOi3IXWJ4w5Ext4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dhWT8nDTqyc8Jd5crfCpzNQlLRYMXBH2BT/paXgreadRuZqnYuVx449wffqnr0/+TCodrRQqN3wOwctpQgR/RugiQh3f8vBH3dx1p0tGcRpwYneOgr3l/WvYHl/oYfFogiRfE66wFoTdxu9M3oy6PzUMVwl+/tjcwWl9Nlx7f8Y= 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=I2BMZSNV; 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="I2BMZSNV" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-488b3f8fa2bso9733595e9.1 for ; Wed, 29 Apr 2026 07:35:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777473337; x=1778078137; 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=I2BMZSNVfAqx/prE13w/4SvHwVaZCJfGpSTX7Glvd67G8Z6mqQpkSCKOIXRcohRRyW 1Vs/mGfdQg6XTzD3JNH7qrlu6whl0G6dv93McHUrHLzSQ3sHRq1WRGPp2bsTSxMAW69H MR8KSV+J4O2HA1sUwmGtRWf1q2jls0U4U74DcSbz/tMt9iN+1G3qDuUoqXKaal1efJmE H8q9N+uSdpIMKNDJpf3Afr97w8w/IS5xz/h6NCOqGjb3M+pFDVjl8fDb/Vp8HZjo4eRy Px1B9Oe6/3dTnZyG/hYuPLoscucTA2MwlsjQSR5igRPnAKXXRlyzcmBK2ZzqoLqaYCXI A6tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777473337; x=1778078137; 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=KjIY6/eE1M/YrWuC6+0CNkb54jwNJTFmS0ztpzlwl4NIuzDprrle4w+FtUa2d25CF0 DuypW7HOh5sjarE8ulONffv5RYq4j3tU8kW88cZulP8RsW74O6oxNnHow12O9XJt96h6 k729dqW14zt/txaNIYRLcRvhwi0unDOlU/LBf7hCYK0hFxlkxG/onrMqtpHlH+ZDUNCN i5LhDTU0jfSdH2kEMmn8lvOIb1fm67a3uGz8gDHYrKvhzdbtknELqERhvsm0fGy5iDBa dUdNp4N4tUb8b0bqpYLp99DnJ/nKAHhIKA+2uxgiUf+ztTNoFcbWAeNjUeB2jY8O16uf VN4w== X-Forwarded-Encrypted: i=1; AFNElJ9P1Gy6U0tBljLO4CvVA+7UhMNbX0y7CLo9n+cI9hLT1xXdAPo0BeKQDlftFXSCnOL7f+Fyk/B/SiL/Twg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+EV2E661Fqyw+EM3Nnpiburm2LlvaOJTDzT98djFhp5o1TuzC 7NeRwKiXAm3+V5z/gCNV5ebZ7bf9YyR+DytIPVt92vGGhJAtYpHw9CMGayh2yb1jk3o= X-Gm-Gg: AeBDieuvEzb7jhy/SmNu7bZIEbb5SPputibqs/MiJXZyawNTvormVd5p1QDSAXeVlnL N3fNDtOEqAoEJwvnMownyR8H4WqyrxlggnAWkg5IE80H7xdzbZuiX/9x5UmUlxaxr13L/z9LtL9 tEXwT7y9phsWXWBerf/DT/aKWGDVd82FAvmGDtJ7Nurs8Hqsr20NWLI9Av562Zh4VsoZGd/kXSp 6GK0JTwLMDKanDsWnKA9/G9a/JGHj5AJgwJjbf6tJ6GavPNz/v/V+dpnmJbN436jD4Pku8z93iU TGu5xuk3ToCKe4x2XM7PorRDoOttsOD/aYrXxTz/YP/TVW/O2knIt5Md7dQkI4WtW6Vq7YregLB RL0PUXeOXd9SRfrYNUenqTWO7iScDJsr4q/3YP4zGnBfvNUZ4XXOp1A63LAWlyKU7yU+kZH3Kav 33DACDkD2b4mlOoFowiOTC0gOPM5V1P9F/mQ== X-Received: by 2002:a05:600c:c048:b0:485:3c2e:60d5 with SMTP id 5b1f17b1804b1-48a7bf91187mr38773385e9.2.1777473336676; Wed, 29 Apr 2026 07:35:36 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c305371sm19982835e9.18.2026.04.29.07.35.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 07:35:35 -0700 (PDT) From: Marcos Paulo de Souza Date: Wed, 29 Apr 2026 11:35:16 -0300 Subject: [PATCH v4 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: <20260429-lp-tests-old-fixes-v4-2-59b9741989d0@suse.com> References: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@suse.com> In-Reply-To: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@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=1777473323; l=2032; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=w+QsBT+5pcbBe5xVs0oaWXhZ1MdasOi3IXWJ4w5Ext4=; b=95zGk4dUE08yhQ6fZ4mgdN34mdvwU54eFq2REZdixnpfbQm4EOHFV0K/kMTCH0gCan2HxOJYz sZ+HLAR4kbrB04uGACyfR8yEDZBFX0yjRLxhY1NMIAlmZ+3ZpiNHhQm 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 --- 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 Tue Jun 16 19:34:54 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 11061375AD0 for ; Wed, 29 Apr 2026 14:35:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473344; cv=none; b=aCj0yL1rG0OfQmffrok3Z5wMnyr9JOTVrY29wCU9p+9NOHmFnWSAqF0Tmy9JuzSgDQNA6UF6XIVA0Vxp32Se0iL0OTiOiIEqi0cDpc/D7TMpskfZUS2aCFGBe9zRRjJ/EnlAjoPEcOLh66d7f6SB3ShcEK2vClnunJXNhgSlhUA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473344; c=relaxed/simple; bh=zwVAcfIrB5gkKSQrtegRJbhzNles6rOGTmiKmx6GRWQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PKPNs3wc+91EGyvwC+kXVcRt3c8wfRB/Ppbfq5sPyBvaruk1erf66+LRbeUAiMSzkiDl9zjdJmEvgw5sMHzhszJ8u068mr1z3H7iElGkEhQnKkgO1FJns+EIFFiMkAjDh4YRUGkIXaGiC58lwhzqNpPqMumR88BVrIyPACqe3+0= 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=LKnyyxaE; arc=none smtp.client-ip=209.85.128.42 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="LKnyyxaE" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-48909558b3aso127118145e9.0 for ; Wed, 29 Apr 2026 07:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777473341; x=1778078141; 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=LKnyyxaECMqUQhBvcIxWiS0daR8t76eu1YQO3xtLGtXWVw+SsRQ29IGG09LFHAaJqH skqjuJun2ECnW2maFhIkgQyVgO8bEFgpGg7fQLFMW+QO53sdHHHtluqq4LCW4voiTlpI f4ePO5kf0/6TUZHEj+RkMvmRJ8jSjofIxT032NE5FfOVhTVQZLq8ZEaBuU4kFOQUT79y Rmkv24gXbwW3z4zYTBHIcq+x9nJH5NJMXXXqEZLPypXJjT+5EObNH6a6jAmG5/6XP6iT KNPslQPWfrb7YovvgkCL7uFcrCLbhEVP8Oz2Zx3ogODHFMOgp+/ZVDgaXV5v0xsuLzYv ViAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777473341; x=1778078141; 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=j5oUCmcFf+7wiLRTRwhyToQaE94QCGIydie0W6wCjsx5aJyVijjMWzAkPcUy9C9o8O G42FbkYql9kcq6SZzbh2kRaaFJbtIsNWZ1oZmbKkFn6d2ao129r7BNquQRZcVUHL1vbO U4oJICm8WpSpEX1Ux1bCU+sP3KRwTr55QH058Y3XNJEQuU2a3k3I45uVwUwi0VC1rJtS C2BYCD90AJQdG6zA8i26lAHL/9CXebL10lSGVRwlIfYY7BV8Ys35STZnFhX7/4B0aW33 AcmLlmiU8LxLJzzriMDctLBpRNmZHg8XdB7TR+NWS+sGIHwTPOVMsPjZbzWBEEvj//hW fGSQ== X-Forwarded-Encrypted: i=1; AFNElJ+RbXK50qII6IIrR4prWUT5LrTxcoDrjllgSu2lD+HaMuIx2q1whIN/LGgnMKWkEpUxJd+32/MVwvo3/a4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1xAZg5aWhfMyNIOqcifLa66n3i+NyBrKFyfcIOZbL2TR83XYH 97MJcp7JnaSuDYs+gZ1gKMe6e4JBNCV/mPWpHE8FLb4VHJgkq0G3PPCNsGJ7ddtoRuU= X-Gm-Gg: AeBDievWyGr6GwiDnrv2GkS8zhIxu/tbcAjU62dL/mT69wyeOvgrAKMxpJDgkbgLif6 gO7ETZ+qE8nNe6y1zmZvYa3vCZo2V7s1hYH5Lsl9IFTWIB7INirjOg/f5iPXnAz3gjjvr4iUsZr V/pkai4n26vyKhoPvoxQOC4fXtfZFpLpDymE5ynVrJHVaa6bYN1/4vPGWpSTjdGfB9aqa63cono iU0V1fsnXRuTUFSBmIhji0x24nfw7rLPdpSOGIWIFauw3wkZPM/vdQAsEl7kHV7MvbWbgkrIEuj KSYRrMdNHm204XKtUV6LRnhEQ1xUmb3wn5eSEH46k3qnqSyaXYmYFTuyrVeCrg3b3giTX8vmFum s/i4ScdtO69PN3PriXGc6gufnEaXINjyOZj9DGa4pKkvyZjJsU8fB9Iwe/ETh/iExuSy5XLDlv3 9EMNOtaKnj3elw+dxrmSmN0lZukK2zayg4FA== X-Received: by 2002:a05:600c:3516:b0:48a:65a5:750f with SMTP id 5b1f17b1804b1-48a7b542187mr72905715e9.21.1777473341235; Wed, 29 Apr 2026 07:35:41 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c305371sm19982835e9.18.2026.04.29.07.35.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 07:35:40 -0700 (PDT) From: Marcos Paulo de Souza Date: Wed, 29 Apr 2026 11:35:17 -0300 Subject: [PATCH v4 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: <20260429-lp-tests-old-fixes-v4-3-59b9741989d0@suse.com> References: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@suse.com> In-Reply-To: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@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=1777473323; l=1087; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=zwVAcfIrB5gkKSQrtegRJbhzNles6rOGTmiKmx6GRWQ=; b=6wWstIwsc0qnLAxt9thWDch+TeV2MafYkCbFIql9U3Atbpp3vyOuKXGLAVKZLYJ7ppJojNUaX Rl+RiIa5DVkDqX/sdk3SCaS0OUFtNVfdjfZb97YnAgqVsn1B/gM2ejH 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 --- 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 Tue Jun 16 19:34:54 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.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 BAF6B376463 for ; Wed, 29 Apr 2026 14:35:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473348; cv=none; b=Wr6KiaWz5ouxnkG63iqWV6/8SFvZhUT5FuHzy5E2tY4b2n5OwyqndLD8zPON0OGNd8SY8MQD3IWNus26X0a2derMKRM/Z/K2aWyOo4AoQZbMrd9VsIxx16AZUdKjrGyHyOMUsN4z+zeY9L7wV093Cqz+a3ZrEMY/Gv2lFuczcgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473348; c=relaxed/simple; bh=cabsWImOrTfadEvXIKkGEu46ZFIbjUR+jCHHWZS1nFI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fk2COYWqIO9xMigypEY91Xo8GeT5wNdD0laF8/sMpOkRKRf7Ak1MWV0lc6BLHPtYg44DtvQtl9wBXV/E8gpZR+Bq0xtl2+sY1k5guLO27w2Jb8zatoLdQZPTpVhTYL2e8D2tpLIptaJ31QtjwBNHlJ/XG0Fa3hcKw1bRstKxdRY= 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=Q3ZiEVGN; arc=none smtp.client-ip=209.85.128.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="Q3ZiEVGN" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4891e5b9c1fso111412455e9.2 for ; Wed, 29 Apr 2026 07:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777473345; x=1778078145; 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=ZSv7mvHEKazo1ADkBY1eKHJ65hhcoj1auW86Wb7XPbw=; b=Q3ZiEVGN8WRe6zbr9LDKiikfP6zZStNgmRcmPHT2csVQ9TH+iK24tBHY/Ivz+4b/jZ RwbRVHdqGQZI4dRwGbpiUSlyWkgJfPASaLThG7nH3qL20l4VJbu3u6YPuftWInhnVzyG YE3UN95VbaRug54yMzXHwmCVKi9b4uB4If5venNw4zZcBzLshtQKFyNAB1BDS2P+cwHg mQBvJfRGuEK15jd37UzgRp/0zgswD5snSo6VqG3DRX/r8Iq3wN5ZDgtRwyQav+Lt6LVK Mb9H/OcdSBNijY2hEsvBWa1xQ84uWlxXlf6F5qtQmA7VaU3zghgZZyWr7ird+TPaEfQD vaXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777473345; x=1778078145; 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=ZSv7mvHEKazo1ADkBY1eKHJ65hhcoj1auW86Wb7XPbw=; b=nzMqRx/KGJzP6qOFOfMCTikO2y6H/KKkP3FSLDgYVDYsIGPz2scPnxck1YBImyLr3/ nrsrnlLPHsdzF1rSk1EzZFiodJTaZVUZmyfr+Oibwm16+f7Cr9z7fTJH+BANpXjBj6Xn 9dKhZLpkj9iO4pkqdNlYmLiOXgo42WvezvJ7MewgyaTn/y56zWOwuz1OFCOpqKd1L578 WGDBY0uldnDPJn3QCj+naTRQ2mXBi2sDkLs6VS7S6Zyon34+x2DW/lybn5kS6YfCRdpc 8eUfMry5pc9NeWv0rtO9EW9Wus/KMfDcsW6M/NsxIGHtB23lmqTQAqFlowQdKkL+UVZe CDDQ== X-Forwarded-Encrypted: i=1; AFNElJ8pkx/MaZlgzZNkBcPtyTCEDrRDASApkmfa4s/he/3W5nhJJIof157K/+pIwGX428klov+uAWW0CnncRds=@vger.kernel.org X-Gm-Message-State: AOJu0YxVI5bDBgRQYUBfcSdh7MhHaG5BaEPI4FKKCPA7Nw+QEw3Q0el6 EzqBM3GcSfSvNw3AktYobpw42ixdUBzCQckvLVMyhGkPhZq0tpm7w3Gnpa10UDVo5+c= X-Gm-Gg: AeBDietSIHxleX86hziygebPbfsERISkPVPHdGMgWFhKDW8DkLQF+RS41VqUyze4XZk wxl0rmj9Q+lIEXU0r6k2bpngMO1RvpWmZ/131kPjwT4IWqbsLrjeD2uLIWH1ZUehkxar2sh0sIH 25x3w5th7reXAt6LKqTgladMss8eCJod0swUiSlI6jNGTUY0IbYyVriZFvBSRQ+yLw8wNn9DxAF +bOYgzAboaDrsKfzvHwt7SaOd46yeb+5Jmm1FwB9WO+liDyJlavCBVwUg1ILxXt1Hegw79DA0pv 5Ydk72IlsZTIEqxxE9voj382oLUbj0HUuLCqijCHp2b71AtlyWO+XjfNUkQEAm7Mkhf/eArX4Ij qX3LZabNy1KMcPGt5e5weqq7yFU9U/y14EKJtDfHlSJQb2KIpYOHFY0vwiDwAXJiI9/n3NYm1eb 1DbwhZ7u2yY/imoPrfFkM1WjoQxz/5qoK6qg== X-Received: by 2002:a05:600c:4593:b0:48a:599a:36fe with SMTP id 5b1f17b1804b1-48a77b1d78cmr135218455e9.24.1777473345121; Wed, 29 Apr 2026 07:35:45 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c305371sm19982835e9.18.2026.04.29.07.35.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 07:35:44 -0700 (PDT) From: Marcos Paulo de Souza Date: Wed, 29 Apr 2026 11:35:18 -0300 Subject: [PATCH v4 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: <20260429-lp-tests-old-fixes-v4-4-59b9741989d0@suse.com> References: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@suse.com> In-Reply-To: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@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=1777473323; l=3506; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=cabsWImOrTfadEvXIKkGEu46ZFIbjUR+jCHHWZS1nFI=; b=962zclveMkH6fDa7AmvE9EZE/Ell/osKqQAs2NxSNzk+Eh5hUA0XXis/5DGO9zBopvX0M57oz JHGAKaQiN6GCNlAeUm/plisCnIWRsIU6mGIs30DKHWp3YCLGNZzx0zs 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. Signed-off-by: Marcos Paulo de Souza --- tools/testing/selftests/livepatch/test-sysfs.sh | 38 +++++++++++++++------= ---- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testin= g/selftests/livepatch/test-sysfs.sh index 58fe1d96997c..394cf3ff99cd 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,23 +51,24 @@ 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_LIVEPATCH=3Dtest_klp_callbacks_demo + MOD_TARGET=3Dtest_klp_callbacks_mod + load_lp $MOD_LIVEPATCH =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_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" =20 -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH + disable_lp $MOD_LIVEPATCH + unload_lp $MOD_LIVEPATCH =20 -check_result "% insmod test_modules/test_klp_callbacks_demo.ko + 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 @@ -87,6 +94,7 @@ livepatch: 'test_klp_callbacks_demo': completing unpatchi= ng transition test_klp_callbacks_demo: post_unpatch_callback: vmlinux livepatch: 'test_klp_callbacks_demo': unpatching complete % rmmod test_klp_callbacks_demo" +fi =20 start_test "sysfs test replace enabled" =20 --=20 2.54.0 From nobody Tue Jun 16 19:34:54 2026 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 5093D351C35 for ; Wed, 29 Apr 2026 14:35:51 +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=1777473352; cv=none; b=GF8js3yuH1nOSPsbbVsBnBun7sKqH1jRWNV06uUr8tGOZ9EM0L18QSrECn4P7Y6KtjE9wKrG7aiD7/afWdKzHwLIqQ7nmmmLcLVG33TJxjfrPNCE8KVLwYwAx97WMTc/J7E9lZkE1vQ5raDhsEzLObILAG3yV7FE7Dx7fqIxPqg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473352; c=relaxed/simple; bh=QU8Gtp2Ecj/0+tiSHgBo9A1bT/rtptLfgh2zpMY5Do0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YPdQ2UVKqu2aPj6L4G568XgCXyeex3toBEvAReRGuyuQkP6tsc6kOBhePRNb+Mf+PFwvIIlOl0lIjwIIX0qOO2r2YCE8BwGMOzzHkRArP/0Xjqyw8JWfM0oU968Okfd9sXJrei5Y6Rt5ZhhC5dR2Iq0/xRdb3l0S/3pc6N9zDRo= 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=PUq9L9aS; 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="PUq9L9aS" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso129247585e9.1 for ; Wed, 29 Apr 2026 07:35:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777473350; x=1778078150; 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=bKonRafws8Vd91X048+WRAFvNsFSWQAv1Z7gxzcqzL4=; b=PUq9L9aSq8zhpMWWppSsKzIjONfBvuFVOuDgoniLT60yiXemuIbnOs3KeZ6XCiNKOt bRNhKW3nxt+RPxEfNRxWRh3vfx+FLWGz2Usk7dxPE0AN1LqEazEWO/Jdyg7LQk+Hb8fN wZvcnFYSFgN9r0PQi40RwolRY5WmTbz5SjGQZGh0/anEWbNBajD3gFS9WHSB4CuKZ1xf WV+sG2aTFhTGUY7wlZVNVAsSseFfkLPx4vw/SxNtzlYUboego+5y37X29TQtphbTwZMi JAfEBNUIIKsn0PEPnZfZHTbBvkqJ8lhzQstZNUPD/ZqOAgNq7Pv6XcmWBPyTM/3TCFEj XfWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777473350; x=1778078150; 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=bKonRafws8Vd91X048+WRAFvNsFSWQAv1Z7gxzcqzL4=; b=bEy/k8D7bCvp9v2h/KalFUkHl9MnCNIS/AF7NVpWctosASn5OMMHnIziCtiDyBaqwL XsiYnpJcVqObnxIMCVeYz393C+RdhOQylkgn/Ag4uT6W5qzfDMpJeG/akCcMBmJYoICy /kAs0Eot0fbANGc7RF8gA+9fzew+wRKAAh6aPp7EZNXaCn4fy/fJZwlJLwkidwOBQEhZ BlvWaoLMjQYfsCnbhN4JqQWq2OJmqt9xU5R5Vf8pVRfeviODh0vkA47PBMKpfO8OEne9 C/Sgl3lSaYQN386YSTCHXlMdQ+NvxKVJW5+EJHjej4Ytnbuxl/CTN7fDp9pQz4EUjG0d Q4vQ== X-Forwarded-Encrypted: i=1; AFNElJ8W/n6l3aMgMCs+51qFTg2tIGLRzMY5i+lGg6cJOCrwWPM9kzyo0QxSXR7tJG3fzy70GNe0Tdge8DiIK5w=@vger.kernel.org X-Gm-Message-State: AOJu0YzQWeXRpihHlP+gZ+qGZEn8ETxep/qdLA99Aaw4z01o72QrYrwP nOhrW9SQR3GbhDj3twwMTHJv9RN/2vjAgcHfyoPU6xAcvaudf0BANiVuw1778PpYpJY= X-Gm-Gg: AeBDiesVblgnzpJ+gFIqTTRScDq58B3ltN3t34EI/cI2uR+VVs++1MvjmJh2VgRSmUI SQpUOZ7PV3/NtkLuxmh0WVAU3sLziuT1rkQXjBwqteiWh/7HE4q9JaauUuybPtYeDTmPaCWVu82 N3BckwqgCmMWVdyHCsNsldJGjLOQqOeQiy89vKxWm8qQnLOxS1naUNcsJldberlAitHQvfQpZ0f +vTzan1jQ2LP054n81rXPuO1/78WlyAy8In5+pIXe2yrhP67dnU99rlDs7DXIQpSvmWmE+Stn6c Rjb5Par+sAgb9g1wkeVh2VKtFNGvC3+WqeETDVOudLv4vnwvKGqoHsWrCWKFYv5YqUBPIaG9QX4 4eMsOPWKz7vPqoN/66ivVkw4P2Ku1AP9Um1rt9EoidsHESOnlsweleJAAoHd3kAlWR5r/NGWpGK BRCy0N7+EX72SUcp1VqAZjflqbeUn4RGlmWw== X-Received: by 2002:a05:600c:470c:b0:48a:7965:b92a with SMTP id 5b1f17b1804b1-48a7b54bf53mr76042645e9.26.1777473349588; Wed, 29 Apr 2026 07:35:49 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c305371sm19982835e9.18.2026.04.29.07.35.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 07:35:49 -0700 (PDT) From: Marcos Paulo de Souza Date: Wed, 29 Apr 2026 11:35:19 -0300 Subject: [PATCH v4 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: <20260429-lp-tests-old-fixes-v4-5-59b9741989d0@suse.com> References: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@suse.com> In-Reply-To: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@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=1777473323; l=4029; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=QU8Gtp2Ecj/0+tiSHgBo9A1bT/rtptLfgh2zpMY5Do0=; b=Lycen9BKPhebiEKZl9TSNU987mTmLpYyteRqgP3CTcgN9CiXnSvtJsHnTuX552EMfhHDVA5CV Iece6KPnFmpCXsw/Ke/Cefp3DdzK+NbDfHzaLQ/yplv0MfTTqNcig28 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. 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/testin= g/selftests/livepatch/test-sysfs.sh index 394cf3ff99cd..744c612a90d3 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 @@ -96,18 +101,19 @@ livepatch: 'test_klp_callbacks_demo': unpatching compl= ete % rmmod test_klp_callbacks_demo" fi =20 -start_test "sysfs test replace enabled" +if [[ "$HAS_REPLACE_ATTR" =3D=3D "1" ]]; then + start_test "sysfs test replace enabled" =20 -MOD_LIVEPATCH=3Dtest_klp_atomic_replace -load_lp $MOD_LIVEPATCH replace=3D1 + MOD_LIVEPATCH=3Dtest_klp_atomic_replace + load_lp $MOD_LIVEPATCH replace=3D1 =20 -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" =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 replace=3D1 + 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 @@ -120,17 +126,17 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching tr= ansition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" =20 -start_test "sysfs test replace disabled" + start_test "sysfs test replace disabled" =20 -load_lp $MOD_LIVEPATCH replace=3D0 + load_lp $MOD_LIVEPATCH replace=3D0 =20 -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" =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 replace=3D0 + 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 @@ -142,6 +148,7 @@ livepatch: '$MOD_LIVEPATCH': starting unpatching transi= tion livepatch: '$MOD_LIVEPATCH': completing unpatching transition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" +fi =20 start_test "sysfs test stack_order value" =20 --=20 2.54.0 From nobody Tue Jun 16 19:34:54 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 AF40B3630B3 for ; Wed, 29 Apr 2026 14:35:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473357; cv=none; b=tOXbYXD+QL77FB7Sj+7643ZDKD57KV7Wi+v9utPGn22XmKOf8cxhbm49bpPCEujZGYhXc26mxQqUCtJOriBU+Pph0zz5f7y/DMKWdnkkkiz5lBw5FrMOTfXo2EADwnSjDe/kIA7eJOO66BvSxfvOG5fvSb81nlXQktSKFbUqkCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777473357; c=relaxed/simple; bh=q5j+MBRO9EiSUEyD1ouDADHu0UZgT7yndU3RT5A6jPY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OzhfkEzyx3cQi+gz/RYrojJL0miywbaFxKnoDp0KnHVxN5rvIJRQ75iz4FJp4wwAzIF6ApaCx632bCezUlYRKZ/IYdbfIemEA2z6MHSxd97vRqbokujiEhTQk0UWLlWALKqkSVFkQAqDYZt/vqo+qKHRPdmQFlNLGH7oe2UAiuQ= 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=bTvQLWEf; arc=none smtp.client-ip=209.85.128.53 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="bTvQLWEf" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-48a563e4ef7so92424735e9.0 for ; Wed, 29 Apr 2026 07:35:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1777473354; x=1778078154; 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=BTyr/enfNhvA23qY+Ogypltm/UtUUOhWDEUIvxA+akU=; b=bTvQLWEfaBR7Tc/Sz+JsUnVLYyphk9QGQk0CUWqOt0DiDYxG8A2DjeEVF4O6flqc+0 GrFZAUTcp7mGumPLwStKAd9H1N1p/09lWySd3bBuH+CWUR/EntIU6HKto3tGb+8BmXwd Cg5tMszUG4oqEOoYtf0FZbTNiZ+W18UnzA8lFKJuW3raLKFS8qZodliuC4x183rYZRi/ VAKlHfwgeB7hrnhEQF2ne3qfpy/U1wmzYIBISTnLPW3dU+PNSG27VjKWZ0Qm9GLG3ckz ndOtKrGAsovUNOUQn4M5U5h0jFTgx5vlW7H80VEoEPDPak2QXpPB61pFA87RU3zo0+zs iS+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777473354; x=1778078154; 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=BTyr/enfNhvA23qY+Ogypltm/UtUUOhWDEUIvxA+akU=; b=Ojl9jRqbUnaN03PiGE8koMKEvb6TGqWEd7KkBhtju8yuj3VGLFfIgD9arBdb7doii2 Ew8RuoixQ9+onk4teHBLuce0GGItVMjMftZQA/Ga5AE1AKLSwkua0pN6syJ7eh5zYbMI rVBevioN5XFp9FE2tvQEkXFwtmZdq9DCAYPSlE0r5r/mUnV4sR3Fm7gKMXgNFEVsp3i5 N99pnCn+XFrvXqVL6neZvPbm5cocrNBgeNhlPEtgme6zC68ijUuusEKSPcWtowlfMcV9 MDKzyao+3f9l3S0UZNT0rFMTjAHBjuOk0sc74ghdkkQyMCmVRluiw4xylKA8s0KVMqxm 2X1Q== X-Forwarded-Encrypted: i=1; AFNElJ+2e8gP9T0KMH+CUFMOsiwxDpnfcK9ItGUgicqIYKXh7cnVxtGQrRELlIr64SFtF38Xux42Br5eQk4f1Xs=@vger.kernel.org X-Gm-Message-State: AOJu0YxP7smMAR/qNQt8++M9Dl7YexbaTAwbcKTptifZv4HBICPpf4mr K045Fxy2RjyL90oHDmnQ0p/6VyQry1M1Ywnt5bOD75FTe+KrhvpvVYz7ZOUbtlZRdHE= X-Gm-Gg: AeBDiev0udH25aBoK9N9UO+d2KXBQH9MRdLxc3RgGAurOwhKcBvpJfrRVNdUY+GVapH z5iaVlDEutk2fx2SHhDHYSvvRweRxGFZ7j5u/GtPF1bQ3uCC09yI+DM4PqLy5ZOrtbjKOF2rC9g VbP/JOBSrVj6NKF+3nqmJrU2tPEDKF4L6TDa3Ufm6chwZscpF8Of8h4lAGd/i3H/2Ua+HwWPbfa tGrbzQ2JGaox+SuoUeSipdcq23+ZQO3sYonyL0Igi78SvcPk5YwngusGNPCs/IyQvrYQ2OQ0uxH LIA7vGpeuazSxljs5Lg3CRXixTnYOqmCsvXR7PURdSwj2wMGSolHcyw3MSKMDAhPQwafrHnzw1D TvW/0ctj8tI2BTpqscLiW3R+W/p9GdjmEBaYUtF/qiu5O6EpURn+jblTi69/ac2tZqgAf+STNDD UuAFtN0neWQh934lshIOA+Rh3fbLY9Qjf8yw== X-Received: by 2002:a05:600c:8590:b0:48a:58e1:6d17 with SMTP id 5b1f17b1804b1-48a77b19b69mr84220995e9.20.1777473354068; Wed, 29 Apr 2026 07:35:54 -0700 (PDT) Received: from [127.0.0.1] ([2804:1bc4:224:7800:585c:db3a:fcb:e21f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c305371sm19982835e9.18.2026.04.29.07.35.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 07:35:53 -0700 (PDT) From: Marcos Paulo de Souza Date: Wed, 29 Apr 2026 11:35:20 -0300 Subject: [PATCH v4 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: <20260429-lp-tests-old-fixes-v4-6-59b9741989d0@suse.com> References: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@suse.com> In-Reply-To: <20260429-lp-tests-old-fixes-v4-0-59b9741989d0@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=1777473323; l=7838; i=mpdesouza@suse.com; s=20231031; h=from:subject:message-id; bh=q5j+MBRO9EiSUEyD1ouDADHu0UZgT7yndU3RT5A6jPY=; b=JEFGM1eKq41Ddh4vD84jBCKrmu/uUMlBVU/BE2NRwMO3n63VtlLeJqCtsRqbwH8nD3r0EUziu X9HvtDh0uX5CwPOcFXNGUCQ7m/2JAx8gfMxU3Nzd9dH72JrssAc02IF 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. Moving the test up since the other checks change the default values for MOD_LIVEPATCH and other variables. Signed-off-by: Marcos Paulo de Souza --- tools/testing/selftests/livepatch/test-sysfs.sh | 145 +++++++++++++-------= ---- 1 file changed, 76 insertions(+), 69 deletions(-) diff --git a/tools/testing/selftests/livepatch/test-sysfs.sh b/tools/testin= g/selftests/livepatch/test-sysfs.sh index 744c612a90d3..4185e2f489f3 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 @@ -56,6 +61,75 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching trans= ition livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" =20 +if [[ "$HAS_STACK_ORDER_ATTR" =3D=3D "1" ]]; then + start_test "sysfs test stack_order value" + + load_lp $MOD_LIVEPATCH + + check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + + load_lp $MOD_LIVEPATCH2 + + check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2" + + load_lp $MOD_LIVEPATCH3 + + check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3" + + disable_lp $MOD_LIVEPATCH2 + unload_lp $MOD_LIVEPATCH2 + + check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" + check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2" + + disable_lp $MOD_LIVEPATCH3 + unload_lp $MOD_LIVEPATCH3 + + disable_lp $MOD_LIVEPATCH + unload_lp $MOD_LIVEPATCH + + 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 +livepatch: '$MOD_LIVEPATCH': completing patching transition +livepatch: '$MOD_LIVEPATCH': patching complete +% 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_LIVEPATCH3.ko +livepatch: enabling patch '$MOD_LIVEPATCH3' +livepatch: '$MOD_LIVEPATCH3': initializing patching transition +livepatch: '$MOD_LIVEPATCH3': starting patching transition +livepatch: '$MOD_LIVEPATCH3': completing patching transition +livepatch: '$MOD_LIVEPATCH3': patching complete +% 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 +% echo 0 > $SYSFS_KLP_DIR/$MOD_LIVEPATCH3/enabled +livepatch: '$MOD_LIVEPATCH3': initializing unpatching transition +livepatch: '$MOD_LIVEPATCH3': starting unpatching transition +livepatch: '$MOD_LIVEPATCH3': completing unpatching transition +livepatch: '$MOD_LIVEPATCH3': unpatching complete +% rmmod $MOD_LIVEPATCH3 +% 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" +fi + if [[ "$HAS_PATCH_ATTR" =3D=3D "1" ]]; then start_test "sysfs test object/patched" =20 @@ -150,71 +224,4 @@ livepatch: '$MOD_LIVEPATCH': unpatching complete % rmmod $MOD_LIVEPATCH" fi =20 -start_test "sysfs test stack_order value" - -load_lp $MOD_LIVEPATCH - -check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" - -load_lp $MOD_LIVEPATCH2 - -check_sysfs_value "$MOD_LIVEPATCH2" "stack_order" "2" - -load_lp $MOD_LIVEPATCH3 - -check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "3" - -disable_lp $MOD_LIVEPATCH2 -unload_lp $MOD_LIVEPATCH2 - -check_sysfs_value "$MOD_LIVEPATCH" "stack_order" "1" -check_sysfs_value "$MOD_LIVEPATCH3" "stack_order" "2" - -disable_lp $MOD_LIVEPATCH3 -unload_lp $MOD_LIVEPATCH3 - -disable_lp $MOD_LIVEPATCH -unload_lp $MOD_LIVEPATCH - -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 -livepatch: '$MOD_LIVEPATCH': completing patching transition -livepatch: '$MOD_LIVEPATCH': patching complete -% 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_LIVEPATCH3.ko -livepatch: enabling patch '$MOD_LIVEPATCH3' -livepatch: '$MOD_LIVEPATCH3': initializing patching transition -livepatch: '$MOD_LIVEPATCH3': starting patching transition -livepatch: '$MOD_LIVEPATCH3': completing patching transition -livepatch: '$MOD_LIVEPATCH3': patching complete -% 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 -% echo 0 > $SYSFS_KLP_DIR/$MOD_LIVEPATCH3/enabled -livepatch: '$MOD_LIVEPATCH3': initializing unpatching transition -livepatch: '$MOD_LIVEPATCH3': starting unpatching transition -livepatch: '$MOD_LIVEPATCH3': completing unpatching transition -livepatch: '$MOD_LIVEPATCH3': unpatching complete -% rmmod $MOD_LIVEPATCH3 -% 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" - exit 0 --=20 2.54.0