[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