From 7fe5c3fef4db4f822ebe0ae3c09ff5eb4c0a3016 Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Tue, 1 Apr 2014 07:44:32 -0500 Subject: [PATCH 1/2] kpatch-build: don't ask to reverse apply patch If the patch had already been mistakenly applied to the source tree, don't ask the user if it should be reverse applied. Instead, just exit with an error. --- kpatch-build/kpatch-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build index f86cf2f..5f531ef 100755 --- a/kpatch-build/kpatch-build +++ b/kpatch-build/kpatch-build @@ -185,7 +185,7 @@ fi echo "Testing patch file" cd "$SRCDIR" || die cp "$PATCHFILE" "$APPLIEDPATCHFILE" || die -patch -p1 < "$APPLIEDPATCHFILE" || die "source patch file failed to apply" +patch -N -p1 < "$APPLIEDPATCHFILE" || die "source patch file failed to apply" patch -p1 -R < "$APPLIEDPATCHFILE" &> /dev/null || die "reverse patch apply failed" echo "Building original kernel" @@ -195,7 +195,7 @@ cp -LR "$DATADIR/patch" "$TEMPDIR" || die cp "$OBJDIR/vmlinux" "$TEMPDIR" || die echo "Building patched kernel" -patch -p1 < "$APPLIEDPATCHFILE" >> "$LOGFILE" 2>&1 || die +patch -N -p1 < "$APPLIEDPATCHFILE" >> "$LOGFILE" 2>&1 || die make "-j$CPUS" vmlinux "O=$OBJDIR" 2>&1 | tee -a "$TEMPDIR/patched_build.log" >> "$LOGFILE" [[ "${PIPESTATUS[0]}" -eq 0 ]] || die From 5a999ef68c721b7aa4bafc41682947b07d91710f Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Tue, 1 Apr 2014 07:51:21 -0500 Subject: [PATCH 2/2] kpatch-build: create applied-patch only after verifying patch Create the applied-patch file only after the patch has been verified. Otherwise if you accidentally supply a patch which had already been applied to the source, the cleanup trap won't reverse apply it when exiting the script. --- kpatch-build/kpatch-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build index 5f531ef..5d02b40 100755 --- a/kpatch-build/kpatch-build +++ b/kpatch-build/kpatch-build @@ -184,8 +184,8 @@ fi echo "Testing patch file" cd "$SRCDIR" || die +patch -N -p1 < "$PATCHFILE" || die "source patch file failed to apply" cp "$PATCHFILE" "$APPLIEDPATCHFILE" || die -patch -N -p1 < "$APPLIEDPATCHFILE" || die "source patch file failed to apply" patch -p1 -R < "$APPLIEDPATCHFILE" &> /dev/null || die "reverse patch apply failed" echo "Building original kernel"