From 750e7cf0dbf33290f86e845ccaabce512187f6ce Mon Sep 17 00:00:00 2001
From: Song Liu <song@kernel.org>
Date: Thu, 30 May 2024 11:48:03 -0700
Subject: [PATCH 116/118] kpatch-build: Ignore missing PARA_STRUCT_SIZE for
6.8.0+ kernels
struct paravirt_patch_site was removed in 6.8.0+ kernels. We should not
fail kpatch-build for missing PARA_STRUCT_SIZE.
Signed-off-by: Song Liu <song@kernel.org>
(cherry picked from commit c147ddf8a343c1de68ac306deb7ddc942d0f50bb)
---
kpatch-build/kpatch-build | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
index 7f60ca0..5bc1c85 100755
--- a/kpatch-build/kpatch-build
+++ b/kpatch-build/kpatch-build
@@ -275,6 +275,11 @@ support_klp_replace()
fi
}
+check_paravirt_patch_site()
+{
+ ! kernel_version_gte 6.8.0
+}
+
find_dirs() {
if [[ -e "$SCRIPTDIR/create-diff-object" ]]; then
# git repo
@@ -468,7 +473,9 @@ find_special_section_data() {
[[ ${check[i]} && -z "$PRINTK_INDEX_STRUCT_SIZE" ]] && die "can't find special struct pi_entry size"
[[ ${check[j]} && -z "$JUMP_STRUCT_SIZE" ]] && die "can't find special struct jump_entry size"
[[ ${check[o]} && -z "$ORC_STRUCT_SIZE" ]] && die "can't find special struct orc_entry size"
- [[ ${check[p]} && -z "$PARA_STRUCT_SIZE" ]] && die "can't find special struct paravirt_patch_site size"
+ if check_paravirt_patch_site; then
+ [[ ${check[p]} && -z "$PARA_STRUCT_SIZE" ]] && die "can't find special struct paravirt_patch_site size"
+ fi
[[ ${check[s]} && -z "$STATIC_CALL_STRUCT_SIZE" ]] && die "can't find special struct static_call_site size"
save_env
--
2.48.1