If .config is out of date with the kernel source, 'make syncconfig'
hangs while waiting for user input on new config options.  Detect the
mismatch and return an error.

Fixes: 6f93f7b06810 ("livepatch/klp-build: Fix inconsistent kernel version")
Signed-off-by: Josh Poimboeuf <[email protected]>
---
 scripts/livepatch/klp-build | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/scripts/livepatch/klp-build b/scripts/livepatch/klp-build
index 0ad7e6631314..81b35fc10877 100755
--- a/scripts/livepatch/klp-build
+++ b/scripts/livepatch/klp-build
@@ -306,7 +306,12 @@ set_kernelversion() {
 
        stash_file "$file"
 
-       kernelrelease="$(cd "$SRC" && make syncconfig &>/dev/null && make -s 
kernelrelease)"
+       if [[ -n "$(make -s listnewconfig 2>/dev/null)" ]]; then
+               die ".config mismatch, check your .config or run 'make 
olddefconfig'"
+       fi
+       make syncconfig &>/dev/null || die "make syncconfig failed"
+
+       kernelrelease="$(cd "$SRC" && make -s kernelrelease)"
        [[ -z "$kernelrelease" ]] && die "failed to get kernel version"
 
        sed -i "2i echo $kernelrelease; exit 0" scripts/setlocalversion
-- 
2.53.0


Reply via email to