[PATCH 2/4] scripts: add "scan" mode to process-advisories.sh to find more backports
Rolf Eike Beer
eb@emlix.com
Fri Aug 21 05:40:41 GMT 2026
This will look through the stable branches to find additional backports of
the fix for the given advisory.
Signed-off-by: Rolf Eike Beer <eb@emlix.com>
---
scripts/process-advisories.sh | 34 ++++++++++++++++++++++++++++++++--
1 file changed, 32 insertions(+), 2 deletions(-)
diff --git a/scripts/process-advisories.sh b/scripts/process-advisories.sh
index a520fab5e6..00a8cd9416 100755
--- a/scripts/process-advisories.sh
+++ b/scripts/process-advisories.sh
@@ -25,7 +25,7 @@ command=$1
usage () {
cat >&2 <<EOF
-usage: $0 {update|news}
+usage: $0 {update|news|scan}
EOF
exit 1
}
@@ -33,7 +33,7 @@ EOF
command="$1"
case "$command" in
- update|news)
+ update|news|scan)
;;
*)
usage
@@ -69,6 +69,36 @@ advisories_update() {
done
}
+advisories_scan() {
+ advisory=$1
+
+ if [ -z $1 ]; then
+ echo "Usage: $0 update GLIBC-SA-YYYY-NNNN"
+ exit 1
+ fi
+
+ advisory_file=advisories/$advisory
+
+ FIX=$(sed -nr '/^Fix-Commit: /s/Fix-Commit: *([0-9a-fA-F]+) *\(2\.[0-9]+\).*/\1/p' $advisory_file)
+
+ if [ -z "${FIX}" ]; then
+ echo "No Fix-Commit found in $advisory_file"
+ exit 1
+ fi
+
+ for n in $(seq 20 44); do
+ BACKPORT=($(git log ..origin/release/2.${n}/master --grep "cherry picked from commit ${FIX}" --format=%H))
+ if [ ${#BACKPORT[@]} -eq 0 ]; then
+ continue
+ fi
+ if [ ${#BACKPORT[@]} -ne 1 ]; then
+ echo "Multiple matches for backport of ${FIX} found in branch 2.${n}"
+ continue
+ fi
+ grep -q "^Fix-Commit: ${BACKPORT[0]} " $advisory_file || echo "Fix-Commit: ${BACKPORT[0]} ($(get_rel ${BACKPORT[0]}))" >> $advisory_file
+ done
+}
+
advisories_news() {
rel=$(get_rel "HEAD")
for f in $(grep -l "^Fix-Commit: .* ($rel)$" advisories/*); do
--
2.55.0
--
Save the date!
Embedded Linux for Safe and Secure Applications
eLSA Symposium
October 1 and 2, 2026
Eden Hotel Göttingen
e-mail:elsa-symposium@emlix.com
https://elsa-symposium.com/
emlix GmbH
Headquarters: Berliner Str. 12, 37073 Göttingen, Germany
Phone +49 (0)551 30664-0, e-mail info@emlix.com
District Court of Göttingen, Registry Number HR B 3160
Managing Directors: Heike Jordan, Dr. Uwe Kracke
VAT ID No. DE 205 198 055
Office Berlin: Panoramastr. 1, 10178 Berlin, Germany
Office Bonn: Bachstr. 6, 53115 Bonn, Germany
Office München: Am Knie 16, 81241 München, Germany
http://www.emlix.com
emlix - your embedded Linux partner
More information about the Libc-alpha
mailing list