From 9dc7b316af3047bcef864abc2e04a09f627ed179 Mon Sep 17 00:00:00 2001 From: Akemi Yagi Date: Jun 30 2019 14:57:34 +0000 Subject: c8 plus kernel: add patches, update spec Signed-off-by: Akemi Yagi --- diff --git a/SOURCES/centos-linux-4.18-elrepo-fusion-mptsas-mptspi-el8.patch b/SOURCES/centos-linux-4.18-elrepo-fusion-mptsas-mptspi-el8.patch new file mode 100644 index 0000000..08f0862 --- /dev/null +++ b/SOURCES/centos-linux-4.18-elrepo-fusion-mptsas-mptspi-el8.patch @@ -0,0 +1,66 @@ +centosplus patch + +Ref: ELRepo patch elrepo-fusion-mptsas-mptspi-el8.patch + +Revert the changes RH made in their el8 kernel + +diff -Naurp rhel8-4.18.0-80/drivers/message/fusion/mptsas.c kernel-4.20.18/drivers/message/fusion/mptsas.c +--- a/drivers/message/fusion/mptsas.c 2019-03-13 11:04:53.000000000 +0000 ++++ b/drivers/message/fusion/mptsas.c 2018-11-21 08:22:14.000000000 +0000 +@@ -5290,9 +5290,6 @@ mptsas_probe(struct pci_dev *pdev, const + ioc, MPI_SAS_OP_CLEAR_ALL_PERSISTENT); + } + +- add_taint(TAINT_SUPPORT_REMOVED, LOCKDEP_STILL_OK); +- pr_warn("MPTSAS MODULE IS NOT SUPPORTED\n"); +- + error = scsi_add_host(sh, &ioc->pcidev->dev); + if (error) { + dprintk(ioc, printk(MYIOC_s_ERR_FMT +@@ -5356,8 +5353,18 @@ static void mptsas_remove(struct pci_dev + } + + static struct pci_device_id mptsas_pci_table[] = { ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064, ++ PCI_ANY_ID, PCI_ANY_ID }, + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068, +- PCI_VENDOR_ID_VMWARE, PCI_ANY_ID }, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064E, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068E, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1078, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068_820XELP, ++ PCI_ANY_ID, PCI_ANY_ID }, + {0} /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(pci, mptsas_pci_table); +diff -Naurp rhel8-4.18.0-80/drivers/message/fusion/mptspi.c kernel-4.20.18/drivers/message/fusion/mptspi.c +--- a/drivers/message/fusion/mptspi.c 2019-03-13 11:04:53.000000000 +0000 ++++ b/drivers/message/fusion/mptspi.c 2018-11-21 08:22:14.000000000 +0000 +@@ -1245,7 +1245,11 @@ static struct spi_function_template mpts + + static struct pci_device_id mptspi_pci_table[] = { + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030, +- PCI_VENDOR_ID_VMWARE, PCI_ANY_ID }, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_ATTO, MPI_MANUFACTPAGE_DEVID_53C1030, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1035, ++ PCI_ANY_ID, PCI_ANY_ID }, + {0} /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(pci, mptspi_pci_table); +@@ -1536,10 +1540,6 @@ mptspi_probe(struct pci_dev *pdev, const + 0, 0, 0, 0, 5); + + scsi_scan_host(sh); +- +- add_taint(TAINT_SUPPORT_REMOVED, LOCKDEP_STILL_OK); +- pr_warn("MPTSPI MODULE IS NOT SUPPORTED\n"); +- + return 0; + + out_mptspi_probe: diff --git a/SOURCES/centos-linux-4.18-elrepo-megaraid_sas-unremove-el8.patch b/SOURCES/centos-linux-4.18-elrepo-megaraid_sas-unremove-el8.patch new file mode 100644 index 0000000..ba50cf8 --- /dev/null +++ b/SOURCES/centos-linux-4.18-elrepo-megaraid_sas-unremove-el8.patch @@ -0,0 +1,18 @@ +centosplus patch + +Ref: ELRepo patch + +Some device IDs are listed as 'support_removed' in RHEL kernels. +Do not return error when unsupported hardware is detected. + +--- a/drivers/scsi/megaraid/megaraid_sas_base.c 2019-03-13 11:04:53.000000000 +0000 ++++ b/drivers/scsi/megaraid/megaraid_sas_base.c 2019-06-23 18:12:38.268330790 +0100 +@@ -6515,7 +6515,7 @@ static int megasas_probe_one(struct pci_ + + if (pci_device_support_removed(megasas_pci_table, + megasas_pci_ids_removed, pdev)) +- return -ENODEV; ++ printk(KERN_DEBUG "megasas: elrepo version supporting all pci ids\n"); + + switch (pdev->device) { + case PCI_DEVICE_ID_LSI_AERO_10E1: diff --git a/SOURCES/centos-linux-4.18-elrepo-mpt3sas-unremove-el8.patch b/SOURCES/centos-linux-4.18-elrepo-mpt3sas-unremove-el8.patch new file mode 100644 index 0000000..1e325fe --- /dev/null +++ b/SOURCES/centos-linux-4.18-elrepo-mpt3sas-unremove-el8.patch @@ -0,0 +1,23 @@ +centosplus patch + +Ref: ELRepo patch elrepo-mpt3sas-unremove-el8.patch + +Fixes: +https://elrepo.org/bugs/view.php?id=919 + +Some device IDs are listed as 'support_removed' in RHEL kernels. +Do not return error when unsupported hardware is detected. + +It probably makes sense to leave the check itself in place. + +--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c 2018-08-31 19:51:40.686480022 +0200 ++++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c 2018-09-01 19:04:46.634532270 +0200 +@@ -10583,7 +10583,7 @@ + + if (pci_device_support_removed(mpt3sas_pci_table, + mpt3sas_pci_ids_removed, pdev)) +- return -ENODEV; ++ printk(KERN_DEBUG "mpt3sas: elrepo version supporting all pci ids\n"); + + /* Determine in which MPI version class this pci device belongs */ + hba_mpi_version = _scsih_determine_hba_mpi_version(pdev); diff --git a/SOURCES/centos-linux-4.18-fix-em28xx-cards-bug8285.patch b/SOURCES/centos-linux-4.18-fix-em28xx-cards-bug8285.patch new file mode 100644 index 0000000..681ed51 --- /dev/null +++ b/SOURCES/centos-linux-4.18-fix-em28xx-cards-bug8285.patch @@ -0,0 +1,28 @@ +centosplus kernel patch (bug#8285) + +This patch was centos-linux-3.10-fix-em28xx-cards-bug8285.patch in CentOS 7. + +Reported by armada: +DVB-T Receiver "Terratec Cinergy Hybrid T USB XS" not working + +My problem is exactly the same as described in +http://linuxtv.org/pipermail/linux-dvb/2014-May/032967.html [^] +This post also has a patch which solved the problem for me. + +The em28xx driver causes the : +em2882/3 #0: /2: dvb frontend not attached. Can't attach xc3028 + +Changing the USB_DEVICE(0x0ccd, 0x0042) from driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS to EM2880_BOARD_TERRATEC_HYBRID_XS solved the problem. + + +--- a/drivers/media/usb/em28xx/em28xx-cards.c 2019-03-13 04:04:53.000000000 -0700 ++++ b/drivers/media/usb/em28xx/em28xx-cards.c 2019-06-29 11:26:11.364672420 -0700 +@@ -2565,7 +2565,7 @@ struct usb_device_id em28xx_id_table[] = + { USB_DEVICE(0x0ccd, 0x005e), + .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, + { USB_DEVICE(0x0ccd, 0x0042), +- .driver_info = EM2882_BOARD_TERRATEC_HYBRID_XS }, ++ .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, + { USB_DEVICE(0x0ccd, 0x0043), + .driver_info = EM2870_BOARD_TERRATEC_XS_MT2060 }, + { USB_DEVICE(0x0ccd, 0x008e), /* Cinergy HTC USB XS Rev. 1 */ diff --git a/SOURCES/centos-linux-4.18-openssl-correct-msg-bug13990.patch b/SOURCES/centos-linux-4.18-openssl-correct-msg-bug13990.patch new file mode 100644 index 0000000..a556dc5 --- /dev/null +++ b/SOURCES/centos-linux-4.18-openssl-correct-msg-bug13990.patch @@ -0,0 +1,15 @@ +centosplus patch [big#13990] + +This patch was centos-linux-3.10-openssl-correct-msg-bug13990.patch in CentOS 7. + +--- a/tools/perf/Makefile.config 2019-03-13 04:04:53.000000000 -0700 ++++ b/tools/perf/Makefile.config 2019-06-29 11:41:34.084627980 -0700 +@@ -578,7 +578,7 @@ endif + + ifndef NO_LIBCRYPTO + ifneq ($(feature-libcrypto), 1) +- msg := $(warning No libcrypto.h found, disables jitted code injection, please install libssl-devel or libssl-dev); ++ msg := $(warning No crypto.h found, disables jitted code injection, please install openssl-devel); + NO_LIBCRYPTO := 1 + else + CFLAGS += -DHAVE_LIBCRYPTO_SUPPORT diff --git a/SOURCES/centos-linux-4.18-smartpqi-bug15801.patch b/SOURCES/centos-linux-4.18-smartpqi-bug15801.patch new file mode 100644 index 0000000..a936b49 --- /dev/null +++ b/SOURCES/centos-linux-4.18-smartpqi-bug15801.patch @@ -0,0 +1,17 @@ +centosplus kernel patch [bug#15801] + +This patch was centos-linux-3.10-smartpqi-bug15801.patch in CentOS 7. + + +--- a/drivers/scsi/smartpqi/smartpqi_init.c 2019-03-13 04:04:53.000000000 -0700 ++++ b/drivers/scsi/smartpqi/smartpqi_init.c 2019-06-29 11:53:00.400314895 -0700 +@@ -2720,6 +2720,9 @@ static unsigned int pqi_process_io_intr( + switch (response->header.iu_type) { + case PQI_RESPONSE_IU_RAID_PATH_IO_SUCCESS: + case PQI_RESPONSE_IU_AIO_PATH_IO_SUCCESS: ++ if (io_request->scmd) ++ io_request->scmd->result = 0; ++ /* fall through */ + case PQI_RESPONSE_IU_GENERAL_MANAGEMENT: + break; + case PQI_RESPONSE_IU_TASK_MANAGEMENT: diff --git a/SPECS/kernel-plus.spec b/SPECS/kernel-plus.spec index 8ea28ce..db6e4ce 100644 --- a/SPECS/kernel-plus.spec +++ b/SPECS/kernel-plus.spec @@ -31,7 +31,7 @@ Summary: The Linux kernel %endif %define dist .el8.centos.plus -# %%define buildid .local +%%define buildid .local %define rpmversion 4.18.0 %define pkgrelease 80.el8 @@ -421,6 +421,15 @@ Patch1000: debrand-rh-i686-cpu.patch Patch1001: debrand-rh_taint.patch Patch1002: debrand-single-cpu.patch +# plus mod +Patch10001: centos-linux-4.18-fix-em28xx-cards-bug8285.patch +Patch10002: centos-linux-4.18-openssl-correct-msg-bug13990.patch +Patch10003: centos-linux-4.18-smartpqi-bug15801.patch +Patch10004: centos-linux-4.18-elrepo-fusion-mptsas-mptspi-el8.patch +Patch10005: centos-linux-4.18-elrepo-megaraid_sas-unremove-el8.patch +Patch10006: centos-linux-4.18-elrepo-mpt3sas-unremove-el8.patch +# end of plus mod + Source9000: centos.pem # End of CentOS Modification @@ -755,15 +764,13 @@ Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release} Provides: kernel%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\ Provides: installonlypkg(kernel-module)\ Provides: kernel%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +Requires: kernel-plus-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +Requires: kernel-plus%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ ### plus mod\ Provides: kernel-plus%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}\ Provides: kernel-plus%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel-plus%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel-plus%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -Requires: kernel-plus-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -Requires: kernel-plus%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ ### end of plus mod\ AutoReq: no\ AutoProv: yes\ @@ -783,14 +790,12 @@ Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\ Provides: kernel-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel-modules = %{version}-%{release}%{?1:+%{1}}\ Provides: installonlypkg(kernel-module)\ -Provides: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +Provides: kernel-plus%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +Requires: kernel-plus-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ ### plus mod\ Provides: kernel-plus%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\ Provides: kernel-plus-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ Provides: kernel-plus-modules = %{version}-%{release}%{?1:+%{1}}\ -Provides: kernel-plus%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -Requires: kernel-plus-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ ### end of plus mod\ AutoReq: no\ AutoProv: yes\ @@ -806,12 +811,8 @@ This package provides commonly used kernel modules for the %{?2:%{2}-}core kerne %package %{1}\ summary: kernel meta-package for the %{1} kernel\ group: system environment/kernel\ -Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{?variant}+%{1}\ -Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{?variant}+%{1}\ -### plus mod\ Requires: kernel-plus-%{1}-core-uname-r = %{KVERREL}%{?variant}+%{1}\ Requires: kernel-plus-%{1}-modules-uname-r = %{KVERREL}%{?variant}+%{1}\ -### end of plus mod\ Provides: installonlypkg(kernel)\ %description %{1}\ The meta-package for the %{1} kernel\ @@ -826,9 +827,8 @@ The meta-package for the %{1} kernel\ %package %{?1:%{1}-}core\ Summary: %{variant_summary}\ Group: System Environment/Kernel\ -Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ -### plus mod\ Provides: kernel-plus-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +### plus mod\ Provides: kernel-%{?1:%{1}-}core = %{rpmversion}-%{pkg_release}\ ### end of plus mod\ Provides: installonlypkg(kernel)\ @@ -942,13 +942,15 @@ ApplyOptionalPatch debrand-single-cpu.patch ApplyOptionalPatch debrand-rh_taint.patch ApplyOptionalPatch debrand-rh-i686-cpu.patch -# i686 mods -%ifarch %{ix86} -%endif - -### plus mod +# plus mod +ApplyOptionalPatch centos-linux-4.18-fix-em28xx-cards-bug8285.patch +ApplyOptionalPatch centos-linux-4.18-openssl-correct-msg-bug13990.patch +ApplyOptionalPatch centos-linux-4.18-smartpqi-bug15801.patch +ApplyOptionalPatch centos-linux-4.18-elrepo-fusion-mptsas-mptspi-el8.patch +ApplyOptionalPatch centos-linux-4.18-elrepo-megaraid_sas-unremove-el8.patch +ApplyOptionalPatch centos-linux-4.18-elrepo-mpt3sas-unremove-el8.patch +# end of plus mod -### end of plus mod # End of CentOS Modification # END OF PATCH APPLICATIONS @@ -2146,9 +2148,11 @@ fi # # %changelog -* Fri Jun 07 2019 Akemi Yagi [4.18.0-80.el8.centos.plus] +* Sun Jun 30 2019 Akemi Yagi [4.18.0-80.el8.centos.plus] - Apply debranding changes - Modify config file for x86_64 with extra features turned on including some network adapters, ReiserFS, TOMOYO +- Apply patches from CentOS-7 plus kernel +- Apply driver patches imported from ELRepo * Wed Mar 13 2019 Frantisek Hrbata [4.18.0-80.el8] - [arm64] revert "arm64: tlb: Avoid synchronous TLBIs when freeing page tables" (Christoph von Recklinghausen) [1685697]