All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <drjones@redhat.com>
To: kvm@vger.kernel.org
Cc: rkrcmar@redhat.com, pbonzini@redhat.com, lvivier@redhat.com,
	thuth@redhat.com, david@redhat.com
Subject: [PATCH] errata: check kernel-extraversion
Date: Fri, 23 Jun 2017 11:21:10 -0400	[thread overview]
Message-ID: <1498231270-38476-1-git-send-email-drjones@redhat.com> (raw)

When checking a kernel version to see if errata should be set,
also check the kernel extraversion, if given in the errata.txt.
Also, reformat errata.txt to allow for longer version names and
to remove the tabs.

Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 errata.txt            | 14 +++++++-------
 scripts/arch-run.bash | 36 +++++++++++++++++++++++++++++++-----
 2 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/errata.txt b/errata.txt
index 5608a308ce7c..b943695173e0 100644
--- a/errata.txt
+++ b/errata.txt
@@ -1,7 +1,7 @@
-#---------------:-----------------------:--------------------------------------
-# commit	: minimum kernel	: summary
-# 12 hex digits	: version		:
-#---------------:-----------------------:--------------------------------------
-9e3f7a296940	: 4.9			: arm64: KVM: pmu: Fix AArch32 cycle counter access
-6c7a5dce22b3	: 4.12			: KVM: arm/arm64: fix races in kvm_psci_vcpu_on
-#---------------:-----------------------:--------------------------------------
+#---------------:-------------------------------:---------------------------------------------------
+# commit        : minimum kernel                : summary
+# 12 hex digits : version                       :
+#---------------:-------------------------------:---------------------------------------------------
+9e3f7a296940    : 4.9                           : arm64: KVM: pmu: Fix AArch32 cycle counter access
+6c7a5dce22b3    : 4.12                          : KVM: arm/arm64: fix races in kvm_psci_vcpu_on
+#---------------:-------------------------------:---------------------------------------------------
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 7c6c79ad3a9d..8cea8c49d847 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch-run.bash
@@ -189,11 +189,16 @@ env_add_errata ()
 env_generate_errata ()
 {
 	local kernel_version_string=$(uname -r)
-	local kernel_version kernel_patchlevel kernel_sublevel
-	local line commit minver errata v p s have
+	local kernel_version kernel_patchlevel kernel_sublevel kernel_extraversion
+	local line commit minver errata rest v p s x have
 
-	IFS=. read kernel_version kernel_patchlevel kernel_sublevel <<<$kernel_version_string
+	IFS=. read kernel_version kernel_patchlevel rest <<<$kernel_version_string
+	IFS=- read kernel_sublevel kernel_extraversion <<<$rest
 	kernel_sublevel=${kernel_sublevel%%[!0-9]*}
+	kernel_extraversion=${kernel_extraversion%%[!0-9]*}
+
+	! [[ $kernel_sublevel =~ ^[0-9]+$ ]] && unset $kernel_sublevel
+	! [[ $kernel_extraversion =~ ^[0-9]+$ ]] && unset $kernel_extraversion
 
 	[ "$ENVIRON_DEFAULT" != "yes" ] && return
 	[ ! -f "$ERRATATXT" ] && return
@@ -205,16 +210,37 @@ env_generate_errata ()
 		errata="ERRATA_$commit"
 		test -v $errata && continue
 
-		IFS=. read v p s <<<$minver
+		IFS=. read v p rest <<<$minver
+		IFS=- read s x <<<$rest
 		s=${s%%[!0-9]*}
+		x=${x%%[!0-9]*}
+
+		if ! [[ $v =~ ^[0-9]+$ ]] || ! [[ $p =~ ^[0-9]+$ ]]; then
+			echo "Bad minimum kernel version in $ERRATATXT, $minver"
+			exit 2
+		fi
+		! [[ $s =~ ^[0-9]+$ ]] && unset $s
+		! [[ $x =~ ^[0-9]+$ ]] && unset $x
 
 		if (( $kernel_version > $v ||
 		      ($kernel_version == $v && $kernel_patchlevel > $p) )); then
 			have=y
 		elif (( $kernel_version == $v && $kernel_patchlevel == $p )); then
 			if [ "$kernel_sublevel" ] && [ "$s" ]; then
-				if (( $kernel_sublevel >= $s )); then
+				if (( $kernel_sublevel > $s )); then
 					have=y
+				elif (( $kernel_sublevel == $s )); then
+					if [ "$kernel_extraversion" ] && [ "$x" ]; then
+						if (( $kernel_extraversion >= $x )); then
+							have=y
+						else
+							have=n
+						fi
+					elif [ "$x" ] && (( $x != 0 )); then
+						have=n
+					else
+						have=y
+					fi
 				else
 					have=n
 				fi
-- 
1.8.3.1

                 reply	other threads:[~2017-06-23 15:21 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1498231270-38476-1-git-send-email-drjones@redhat.com \
    --to=drjones@redhat.com \
    --cc=david@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.