Re: [PATCH 38/48] klp-build: Validate short-circuit prerequisites

Song Liu
2026-04-25T00:06:57Z

On Wed, Apr 22, 2026 at 9:04 PM Josh Poimboeuf <jpoimboe@kernel.org> wrote:
>
> The --short-circuit option implicitly requires that certain directories
> are already in klp-tmp. Enforce that to prevent confusing errors.
>
> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
> ---
> scripts/livepatch/klp-build | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/scripts/livepatch/klp-build b/scripts/livepatch/klp-build
> index eda690b297cc..b44924d097a5 100755
> --- a/scripts/livepatch/klp-build
> +++ b/scripts/livepatch/klp-build
> @@ -440,6 +440,20 @@ do_init() {
> [[ ! "$SRC" -ef "$SCRIPT_DIR/../.." ]] && die "please run from the kernel root directory"
> [[ ! "$OBJ" -ef "$SCRIPT_DIR/../.." ]] && die "please run from the kernel root directory"
>
> + if (( SHORT_CIRCUIT >= 2 )); then
> + [[ -f "$ORIG_DIR/.complete" ]] || die "-S $SHORT_CIRCUIT requires completed $ORIG_DIR"
> + if (( SHORT_CIRCUIT >= 3 )); then
> + [[ -f "$PATCHED_DIR/.complete" ]] || die "-S $SHORT_CIRCUIT requires completed $PATCHED_DIR"
> + if (( SHORT_CIRCUIT >= 4 )); then
> + [[ -f "$ORIG_CSUM_DIR/.complete" ]] || die "-S $SHORT_CIRCUIT requires completed $ORIG_CSUM_DIR"
> + [[ -f "$PATCHED_CSUM_DIR/.complete" ]] || die "-S $SHORT_CIRCUIT requires completed $PATCHED_CSUM_DIR"
> + if (( SHORT_CIRCUIT >= 5 )); then
> + [[ -f "$DIFF_DIR/.complete" ]] || die "-S $SHORT_CIRCUIT requires completed $DIFF_DIR"
> + fi
> + fi
> + fi
> + fi
> +

Do we really need these to nest together?

Thanks,
Song

> (( SHORT_CIRCUIT <= 1 )) && rm -rf "$TMP_DIR"
> mkdir -p "$TMP_DIR"
>
> @@ -601,6 +615,7 @@ copy_orig_objects() {
>
> mv -f "$TMP_DIR/build.log" "$ORIG_DIR"
> touch "$TIMESTAMP"
> + touch "$ORIG_DIR/.complete"
> } …