#!/bin/bash cd "$1" || exit 1 # Find all valid retpoline information, collate the detected and # safe information together. Join the result to find the detected # but non-safe elements. These are our concern. ur_detected=$(mktemp --tmpdir "retpoline-check-XXXXXX.ur-detected") ur_safe=$(mktemp --tmpdir "retpoline-check-XXXXXX.ur-safe") find "." -path './drivers/firmware/efi/libstub' -prune -o \ -path './arch/x86/boot' -prune -o \ -path './arch/x86/purgatory' -prune -o \ -name \*.ur-detected -print0 | xargs -0 cat | \ sed -e "s@^$1@@" -e "s@ $2/@ @" -e "s@^/@@" | \ sort -k 1b,1 >"$ur_detected" find "." -name \*.ur-safe -print0 | xargs -0 cat | \ sed -e "s@^$1@@" -e "s@^/@@" | \ sort -k 1b,1 >"$ur_safe" join -v 1 -j 1 "$ur_detected" "$ur_safe" | sed -s 's/[^ ]* *//' rm -f "$ur_detected" "$ur_safe"