diff --git a/.gitignore b/.gitignore index 097ba5c..a6365fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/3w-9xxx-4.19.tar.xz +SOURCES/3w-9xxx-4.18.0-80.el8.tar.xz diff --git a/.kmod-3w-9xxx.metadata b/.kmod-3w-9xxx.metadata index dc78ea9..72dca0a 100644 --- a/.kmod-3w-9xxx.metadata +++ b/.kmod-3w-9xxx.metadata @@ -1 +1 @@ -535f03d606733b9909a2849096f9b6e922806a93 SOURCES/3w-9xxx-4.19.tar.xz +00781d7762d14869312a1de51fe676bf7b94f4c5 SOURCES/3w-9xxx-4.18.0-80.el8.tar.xz diff --git a/SOURCES/0001-scsi-3ware-fix-return-0-on-the-error-path-of-probe.patch b/SOURCES/0001-scsi-3ware-fix-return-0-on-the-error-path-of-probe.patch new file mode 100644 index 0000000..bbe5015 --- /dev/null +++ b/SOURCES/0001-scsi-3ware-fix-return-0-on-the-error-path-of-probe.patch @@ -0,0 +1,59 @@ +From 4dc98c1995482262e70e83ef029135247fafe0f2 Mon Sep 17 00:00:00 2001 +From: Anton Vasilyev +Date: Fri, 27 Jul 2018 16:51:57 +0300 +Subject: [Backport 4dc98c199548] scsi: 3ware: fix return 0 on the error path + of probe + +tw_probe() returns 0 in case of fail of tw_initialize_device_extension(), +pci_resource_start() or tw_reset_sequence() and releases resources. +twl_probe() returns 0 in case of fail of twl_initialize_device_extension(), +pci_iomap() and twl_reset_sequence(). twa_probe() returns 0 in case of +fail of tw_initialize_device_extension(), ioremap() and +twa_reset_sequence(). + +The patch adds retval initialization for these cases. + +Found by Linux Driver Verification project (linuxtesting.org). + +Signed-off-by: Anton Vasilyev +Acked-by: Adam Radford +Signed-off-by: Martin K. Petersen +--- + src/3w-9xxx.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/3w-9xxx.c b/src/3w-9xxx.c +index 99ba4a770406e3d50bfa16ccc0bd2f392bda3ca5..27521fc3ef5abc4008d617862dcb1ca473ed925d 100644 +--- a/src/3w-9xxx.c ++++ b/src/3w-9xxx.c +@@ -2038,6 +2038,7 @@ static int twa_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id) + + if (twa_initialize_device_extension(tw_dev)) { + TW_PRINTK(tw_dev->host, TW_DRIVER, 0x25, "Failed to initialize device extension"); ++ retval = -ENOMEM; + goto out_free_device_extension; + } + +@@ -2060,6 +2061,7 @@ static int twa_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id) + tw_dev->base_addr = ioremap(mem_addr, mem_len); + if (!tw_dev->base_addr) { + TW_PRINTK(tw_dev->host, TW_DRIVER, 0x35, "Failed to ioremap"); ++ retval = -ENOMEM; + goto out_release_mem_region; + } + +@@ -2067,8 +2069,10 @@ static int twa_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id) + TW_DISABLE_INTERRUPTS(tw_dev); + + /* Initialize the card */ +- if (twa_reset_sequence(tw_dev, 0)) ++ if (twa_reset_sequence(tw_dev, 0)) { ++ retval = -ENOMEM; + goto out_iounmap; ++ } + + /* Set host specific parameters */ + if ((pdev->device == PCI_DEVICE_ID_3WARE_9650SE) || +-- +2.31.1 + diff --git a/SPECS/kmod-3w-9xxx.spec b/SPECS/kmod-3w-9xxx.spec index 8663635..0873e41 100644 --- a/SPECS/kmod-3w-9xxx.spec +++ b/SPECS/kmod-3w-9xxx.spec @@ -1,5 +1,7 @@ %global pkg 3w-9xxx +%global driver_version 4.18.0-80.el8 + %global kernel_version 4.18.0-348.el8 %global _use_internal_dependency_generator 0 @@ -18,14 +20,15 @@ Name: kmod-%{pkg} -Version: 4.19 -Release: 6%{?dist} +Version: 4.18.0.80 +Release: 1%{?dist} Summary: 3ware 9xxx SATA RAID Controller (%{pkg}) driver License: GPLv2 URL: https://www.kernel.org/ -Source0: %{pkg}-%{version}.tar.xz +Source0: %{pkg}-%{driver_version}.tar.xz +Patch1: 0001-scsi-3ware-fix-return-0-on-the-error-path-of-probe.patch ExclusiveArch: x86_64 aarch64 @@ -66,7 +69,7 @@ This driver supports 3ware's 9xxx series SATA RAID controller cards: %prep -%autosetup -p1 -n %{pkg}-%{version} +%autosetup -p1 -n %{pkg}-%{driver_version} %build @@ -131,8 +134,6 @@ fi %changelog -* Tue Nov 09 2021 Peter Georg - 4.19-6 -- Rebuild for 4.18.0-348.el8 - -* Tue Sep 28 2021 Peter Georg - 4.19-5 -- Convert to kABI tracking kmod package (kernel >= 4.18.0-305.7.1.el8_4) +* Wed Jan 12 2022 Kmods SIG - 4.18.0.80-1 +- Switch to EL kernel source and versioning +- kABI tracking kmod package (kernel >= 4.18.0-348.el8)