Add a test that klp-build rejects patches to lib/, the vDSO, real mode
code and assembly files, which it can't build a livepatch for.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Song Liu <[email protected]>
---
 .../livepatch/test_klp_build/Makefile         |  3 +-
 .../test_klp_build/test-unsupported-files.sh  | 30 +++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100755 
tools/testing/selftests/livepatch/test_klp_build/test-unsupported-files.sh

diff --git a/tools/testing/selftests/livepatch/test_klp_build/Makefile 
b/tools/testing/selftests/livepatch/test_klp_build/Makefile
index 83f4e23460ac..af8f350226c2 100644
--- a/tools/testing/selftests/livepatch/test_klp_build/Makefile
+++ b/tools/testing/selftests/livepatch/test_klp_build/Makefile
@@ -6,7 +6,8 @@ TEST_PROGS := \
        test-independent-patches.sh \
        test-cancelling-patches.sh \
        test-new-and-deleted-files.sh \
-       test-line-directives.sh
+       test-line-directives.sh \
+       test-unsupported-files.sh
 
 TEST_PROGS_EXTENDED := functions.sh
 
diff --git 
a/tools/testing/selftests/livepatch/test_klp_build/test-unsupported-files.sh 
b/tools/testing/selftests/livepatch/test_klp_build/test-unsupported-files.sh
new file mode 100755
index 000000000000..968ae80f7128
--- /dev/null
+++ b/tools/testing/selftests/livepatch/test_klp_build/test-unsupported-files.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+. "$(dirname "$0")/functions.sh"
+
+setup_tree
+
+# - patches to lib/, the vDSO, real mode code and assembly are rejected
+
+for file in lib/string.c \
+           arch/x86/entry/vdso/vma.c \
+           arch/x86/realmode/rm/video-mode.c \
+           arch/x86/kernel/head_64.S; do
+
+       start_test "patch to $file"
+
+       add_patch unsupported.patch <<EOT
+--- a/$file
++++ b/$file
+@@ -1 +1 @@
+-int x;
++int y;
+EOT
+
+       run_klp_build unsupported.patch
+
+       expect_error "$PATCH_DIR/unsupported.patch: unsupported patch to $file"
+done
+
+exit 0
-- 
2.53.0-Meta


Reply via email to