From b3cef18ae821d86e4b3b6224745c35a9b3ffe876 Mon Sep 17 00:00:00 2001 From: ydzhang Date: Wed, 15 Feb 2023 11:36:57 +0800 Subject: [PATCH] enable user use klp module even in greater kernel version --- kpatch-build/kpatch-build | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build index 8632434..8f00695 100755 --- a/kpatch-build/kpatch-build +++ b/kpatch-build/kpatch-build @@ -57,6 +57,7 @@ declare -a PATCH_LIST APPLIED_PATCHES=0 OOT_MODULE= KLP_REPLACE=0 +KPATCH_MODULE_ENABLE=0 GCC="${CROSS_COMPILE:-}gcc" CLANG="${CROSS_COMPILE:-}clang" @@ -716,7 +717,7 @@ usage() { echo " (not recommended)" >&2 } -options="$(getopt -o ha:r:s:c:v:j:t:n:o:dR -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,oot-module-src:,debug,skip-gcc-check,skip-compiler-check,skip-cleanup,non-replace" -- "$@")" || die "getopt failed" +options="$(getopt -o ha:r:s:c:v:j:t:n:o:dR -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,oot-module-src:,debug,skip-gcc-check,skip-compiler-check,skip-cleanup,non-replace,use-kpatch-module" -- "$@")" || die "getopt failed" eval set -- "$options" @@ -791,6 +792,10 @@ while [[ $# -gt 0 ]]; do echo "Skipping cleanup" SKIPCLEANUP=1 ;; + --use-kpatch-module) + echo "Enable kpatch module" + KPATCH_MODULE_ENABLE=1 + ;; --skip-gcc-check) echo "DEPRECATED: --skip-gcc-check is deprecated, use --skip-compiler-check instead" ;& @@ -1049,7 +1054,8 @@ KPATCH_LDFLAGS="" USE_KLP=0 USE_KLP_ARCH=0 -if [[ -n "$CONFIG_LIVEPATCH" ]] && (kernel_is_rhel || kernel_version_gte 4.9.0); then +# support kpatch module when user want kpatch module in greater version of kernel +if [[ $KPATCH_MODULE_ENABLE -eq 0 ]] && [[ -n "$CONFIG_LIVEPATCH" ]] && (kernel_is_rhel || kernel_version_gte 4.9.0); then USE_KLP=1 @@ -1155,7 +1161,7 @@ fi # shellcheck disable=SC2086 make "${MAKEVARS[@]}" "-j$CPUS" $TARGETS 2>&1 | logger || die -if [[ -n "$CONFIG_LIVEPATCH" ]]; then +if [[ -n "$CONFIG_LIVEPATCH" ]] && [[ $USE_KLP -eq 1 ]]; then if new_use_klp_arch; then USE_KLP_ARCH=1 KPATCH_LDFLAGS="--unique=.parainstructions --unique=.altinstructions" -- Gitee