From ec98604f80f331b2c3949339ada8a5e851ec32a5 Mon Sep 17 00:00:00 2001 From: chen xiaoguang Date: Wed, 13 Sep 2017 15:08:45 +0800 Subject: [PATCH] kpatch: fix kpatch-build matching changed object bug When there is a ".." in the source object path, kpatch-gcc can't handle it correctly. kpatch-gcc is called for objects which were recompiled and writes the changed objects to "changed_objs". But if the path of the input obj is something like: arch/x86/kvm/../../../virt/kvm/.tmp_kvm_main.o then it will fall into the "*.*.o" branch of the kpatch-gcc case statement and kpatch-build will report "ERROR: no changed objects found." Use Joe's suggestion to revert d526805619de ("kpatch-gcc: update ignorelist to avoid foo/.lib_exports.o files") and instead add a "*/.lib_exports.o" pattern. Fixes #735. [ cleaned up changelog - jpoimboe@redhat.com ] Cc: Joe Lawrence Signed-off-by: chen xiaoguang --- kpatch-build/kpatch-gcc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc index e91f4b2..35f479f 100755 --- a/kpatch-build/kpatch-gcc +++ b/kpatch-build/kpatch-gcc @@ -38,7 +38,8 @@ if [[ "$TOOLCHAINCMD" = "gcc" ]] ; then arch/x86/entry/vdso/*|\ drivers/firmware/efi/libstub/*|\ arch/powerpc/kernel/prom_init.o|\ - *.*.o) + .*.o|\ + */.lib_exports.o) break ;; *.o)