summaryrefslogtreecommitdiff
path: root/rhel
diff options
context:
space:
mode:
authorGreg Rose <gvrose8192@gmail.com>2021-02-09 11:47:06 -0800
committerIlya Maximets <i.maximets@ovn.org>2021-03-22 12:28:49 +0100
commit2eb7e22a4631b6846363429842de64be3f75a735 (patch)
tree5b3d93b0fc444547b80805a9b03dbfea016fedc6 /rhel
parent56e60eca70b66e06535ee083858ba2843c1639ec (diff)
downloadopenvswitch-2eb7e22a4631b6846363429842de64be3f75a735.tar.gz
rhel: Do not update kmod RPM newer major revision kernels.
The ovs-kmod-manage.sh script will run weak-updates even on newer release kernels installing a non-compatible or un-runnable kernel module. Update the script to never install weak-updates onto kernels with newer major release versions. VMware-BZ: #2717283 Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'rhel')
-rw-r--r--rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh b/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
index 0d4f7d515..eae533736 100644
--- a/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
+++ b/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
@@ -155,6 +155,16 @@ kmod_versions=()
kversion=$(rpm -ql ${rpmname} | grep '\.ko$' | \
sed -n -e 's/^\/lib\/modules\/\(.*\)\/extra\/.*$/\1/p' | \
sort | uniq)
+
+IFS='.\|-' read installed_major installed_minor installed_patch \
+ installed_major_rev installed_minor_rev installed_extra <<<"${kversion}"
+
+if [ "$installed_major_rev" -lt "$major_rev" ]; then
+ echo "Not installing RPM with major revision $installed_major_rev" \
+ "to kernel with greater major revision $major_rev. Exiting"
+ exit 1
+fi
+
for kv in $kversion; do
IFS='.\|-' read -r -a kv_nums <<<"${kv}"
kmod_versions+=(${kv_nums[$ver_offset]})