diff --git a/patches/0018-kpatch-build-Add-description-option-to-livepatch-mod.patch b/patches/0018-kpatch-build-Add-description-option-to-livepatch-mod.patch new file mode 100644 index 0000000000000000000000000000000000000000..bc89ee47f3b6bee8ce9eec33b3adfca8365fea9a --- /dev/null +++ b/patches/0018-kpatch-build-Add-description-option-to-livepatch-mod.patch @@ -0,0 +1,59 @@ +From ce9e3669bfd6af56af80659d4d3915eba118d78f Mon Sep 17 00:00:00 2001 +From: "zhangwarden@gmail.com" +Date: Fri, 6 Sep 2024 10:42:51 +0800 +Subject: [PATCH] kpatch-build: Add description option to livepatch module + +Some user complain that they can not get the information the +livepatch module do from the ko file. + +Therefore, I add an description to the ko file, modinfo will +tell you the description and you just need to pass --description +parameter to kpatch-build when build an livepatch module. + +diff --git a/kmod/patch/livepatch-patch-hook.c b/kmod/patch/livepatch-patch-hook.c +index 3d13ab9..564a019 100644 +--- a/kmod/patch/livepatch-patch-hook.c ++++ b/kmod/patch/livepatch-patch-hook.c +@@ -604,3 +604,4 @@ module_init(patch_init); + module_exit(patch_exit); + MODULE_LICENSE("GPL"); + MODULE_INFO(livepatch, "Y"); ++MODULE_INFO(description, "default livepatch description"); +diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build +index b2d15ce..58896f5 100755 +--- a/kpatch-build/kpatch-build ++++ b/kpatch-build/kpatch-build +@@ -760,9 +760,10 @@ usage() { + echo " --skip-compiler-check Skip compiler version matching check" >&2 + echo " (not recommended)" >&2 + echo " --version Version of Anolis kpatch-build" >&2 ++ echo " --description Add simple description to livepatch ko module" >&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,use-kpatch-module,version" -- "$@")" || 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,version,description:" -- "$@")" || die "getopt failed" + + eval set -- "$options" + +@@ -853,6 +854,10 @@ while [[ $# -gt 0 ]]; do + echo "Base Version : $BASE_VERSION" + exit 0 + ;; ++ --description) ++ desc="$2" ++ shift ++ ;; + *) + [[ "$1" = "--" ]] && shift && continue + [[ ! -f "$1" ]] && die "patch file '$1' not found" +@@ -1540,6 +1545,7 @@ else + export CFLAGS_MODULE=$CFLAGS_MODULE" -DUSE_KLP=0" + fi + ++sed -i "s/^MODULE_INFO(description,.*/MODULE_INFO(description, \"${desc}\");/" livepatch-patch-hook.c + make "${MAKEVARS[@]}" 2>&1 | logger || die "Building the final ko failed" 10 + + if [[ "$USE_KLP" -eq 1 ]]; then +-- +2.18.2 +