From ffff3d67a9c87edf9dc5269bde37948607f1f5b0 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Sat, 10 Apr 2021 16:04:27 -0500 Subject: [PATCH] kernel-5.11.13-200 * Sat Apr 10 2021 Justin M. Forbes [5.11.13-200] - Add CONFIG_NVIDIA_CARMEL_CNP_ERRATUM to RHEL configs too (Justin M. Forbes) - Add config for CONFIG_NVIDIA_CARMEL_CNP_ERRATUM (Justin M. Forbes) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- Makefile.rhelver | 2 +- Patchlist.changelog | 9 +++ kernel-aarch64-debug-fedora.config | 3 +- kernel-aarch64-debug-rhel.config | 1 + kernel-aarch64-fedora.config | 3 +- kernel-aarch64-rhel.config | 1 + kernel.spec | 18 ++++- patch-5.11-redhat.patch | 120 ++++++++++++----------------- sources | 6 +- 9 files changed, 82 insertions(+), 81 deletions(-) diff --git a/Makefile.rhelver b/Makefile.rhelver index e4f22ec46..c11ed05e1 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 99 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 14 +RHEL_RELEASE = 15 # # Early y+1 numbering diff --git a/Patchlist.changelog b/Patchlist.changelog index 6828802f2..070489ec9 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,12 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/2632d432606c16de479f4fd0140a6ddb56ebd2dd + 2632d432606c16de479f4fd0140a6ddb56ebd2dd Re-enable PSR2 on Tigerlake with new workarounds from Intel + +https://gitlab.com/cki-project/kernel-ark/-/commit/6f135ea15bdf3954be0b135f4d3ca830c6582ee7 + 6f135ea15bdf3954be0b135f4d3ca830c6582ee7 Fix build with patch for CVE-2021-30178 + +https://gitlab.com/cki-project/kernel-ark/-/commit/b8493c09d2961b8e49a9ab355f08992406addefa + b8493c09d2961b8e49a9ab355f08992406addefa KVM: x86: hyper-v: Fix Hyper-V context null-ptr-deref + https://gitlab.com/cki-project/kernel-ark/-/commit/10b9b8dbb3f5967b6f276f28182466fe45b3b0bc 10b9b8dbb3f5967b6f276f28182466fe45b3b0bc Backport of SOF audio hang fix for X1 Carbon 9 diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config index 8beb9b656..b383adfcd 100644 --- a/kernel-aarch64-debug-fedora.config +++ b/kernel-aarch64-debug-fedora.config @@ -984,7 +984,7 @@ CONFIG_CHARGER_BQ2515X=m CONFIG_CHARGER_BQ25980=m CONFIG_CHARGER_CROS_USBPD=m # CONFIG_CHARGER_DETECTOR_MAX14656 is not set -# CONFIG_CHARGER_GPIO is not set +CONFIG_CHARGER_GPIO=m # CONFIG_CHARGER_ISP1704 is not set # CONFIG_CHARGER_LP8727 is not set CONFIG_CHARGER_LT3651=m @@ -4717,6 +4717,7 @@ CONFIG_NUMA_BALANCING=y CONFIG_NUMA=y CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_PFN=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_NVME_FC=m CONFIG_NVME_HWMON=y # CONFIG_NVMEM_IMX_IIM is not set diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config index d242cd518..dea6276ec 100644 --- a/kernel-aarch64-debug-rhel.config +++ b/kernel-aarch64-debug-rhel.config @@ -3811,6 +3811,7 @@ CONFIG_NUMA_BALANCING=y CONFIG_NUMA=y CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_PFN=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_NVME_FC=m # CONFIG_NVME_HWMON is not set # CONFIG_NVMEM_BCM_OCOTP is not set diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config index b2d4de500..05cd22a1a 100644 --- a/kernel-aarch64-fedora.config +++ b/kernel-aarch64-fedora.config @@ -984,7 +984,7 @@ CONFIG_CHARGER_BQ2515X=m CONFIG_CHARGER_BQ25980=m CONFIG_CHARGER_CROS_USBPD=m # CONFIG_CHARGER_DETECTOR_MAX14656 is not set -# CONFIG_CHARGER_GPIO is not set +CONFIG_CHARGER_GPIO=m # CONFIG_CHARGER_ISP1704 is not set # CONFIG_CHARGER_LP8727 is not set CONFIG_CHARGER_LT3651=m @@ -4694,6 +4694,7 @@ CONFIG_NUMA_BALANCING=y CONFIG_NUMA=y CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_PFN=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_NVME_FC=m CONFIG_NVME_HWMON=y # CONFIG_NVMEM_IMX_IIM is not set diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config index d434414c1..44ff1d5e6 100644 --- a/kernel-aarch64-rhel.config +++ b/kernel-aarch64-rhel.config @@ -3791,6 +3791,7 @@ CONFIG_NUMA_BALANCING=y CONFIG_NUMA=y CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_PFN=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_NVME_FC=m # CONFIG_NVME_HWMON is not set # CONFIG_NVMEM_BCM_OCOTP is not set diff --git a/kernel.spec b/kernel.spec index 25d64fcfe..2cb7d51b4 100755 --- a/kernel.spec +++ b/kernel.spec @@ -104,7 +104,7 @@ Summary: The Linux kernel %define primary_target rhel %endif -%define rpmversion 5.11.12 +%define rpmversion 5.11.13 %define stableversion 5.11 %define pkgrelease 200 @@ -603,7 +603,7 @@ BuildRequires: asciidoc # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id -Source0: linux-5.11.12.tar.xz +Source0: linux-5.11.13.tar.xz Source1: Makefile.rhelver @@ -1251,8 +1251,8 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.11.12 -c -mv linux-5.11.12 linux-%{KVERREL} +%setup -q -n kernel-5.11.13 -c +mv linux-5.11.13 linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . @@ -2765,6 +2765,16 @@ fi # # %changelog +* Sat Apr 10 2021 Justin M. Forbes [5.11.13-200] +- Add CONFIG_NVIDIA_CARMEL_CNP_ERRATUM to RHEL configs too (Justin M. Forbes) +- Add config for CONFIG_NVIDIA_CARMEL_CNP_ERRATUM (Justin M. Forbes) + +* Sat Apr 10 2021 Justin M. Forbes [5.11.13-15] +- Re-enable PSR2 on Tigerlake with new workarounds from Intel (Lyude Paul) +- Fedora: Enable CHARGER_GPIO on aarch64 too (Peter Robinson) +- Fix build with patch for CVE-2021-30178 (Justin M. Forbes) +- KVM: x86: hyper-v: Fix Hyper-V context null-ptr-deref (Wanpeng Li) + * Wed Apr 07 2021 Justin M. Forbes [5.11.12-14] - Backport of SOF audio hang fix for X1 Carbon 9 (Mark Pearson) - drm/amdgpu: check alignment on CPU page for bo map (Xℹ Ruoyao) diff --git a/patch-5.11-redhat.patch b/patch-5.11-redhat.patch index aee2a1f28..197b59cad 100644 --- a/patch-5.11-redhat.patch +++ b/patch-5.11-redhat.patch @@ -14,6 +14,7 @@ arch/s390/kernel/ipl.c | 5 + arch/s390/kernel/setup.c | 4 + arch/x86/kernel/setup.c | 22 +- + arch/x86/kvm/hyperv.c | 2 +- drivers/acpi/Kconfig | 3 + drivers/acpi/Makefile | 1 + drivers/acpi/apei/hest.c | 8 + @@ -30,7 +31,7 @@ drivers/gpu/drm/i915/display/intel_dp.c | 11 +- .../gpu/drm/i915/display/intel_dp_link_training.c | 91 ++-- .../gpu/drm/i915/display/intel_dp_link_training.h | 2 +- - drivers/gpu/drm/i915/display/intel_psr.c | 9 +- + drivers/gpu/drm/i915/display/intel_psr.c | 14 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-xingbangda-xbd599.c | 366 +++++++++++++++ @@ -40,13 +41,12 @@ drivers/iommu/iommu.c | 22 + drivers/pci/controller/dwc/Kconfig | 10 +- drivers/pci/controller/dwc/Makefile | 2 +- - drivers/pci/controller/dwc/pcie-tegra194.c | 102 ++++ + drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++ drivers/pci/controller/pcie-brcmstb.c | 1 + drivers/pci/quirks.c | 24 + drivers/platform/x86/Kconfig | 2 + drivers/platform/x86/ideapad-laptop.c | 289 ++++++++++++ - drivers/platform/x86/intel-hid.c | 7 + - drivers/platform/x86/thinkpad_acpi.c | 518 ++++++++++++++++++++- + drivers/platform/x86/thinkpad_acpi.c | 510 ++++++++++++++++++++- drivers/scsi/smartpqi/smartpqi_init.c | 16 + drivers/usb/core/hub.c | 7 + include/linux/efi.h | 22 +- @@ -75,7 +75,7 @@ sound/soc/sof/ops.h | 8 + sound/soc/sof/sof-pci-dev.c | 2 +- sound/soc/sof/sof-priv.h | 4 +- - 77 files changed, 2294 insertions(+), 260 deletions(-) + 77 files changed, 2288 insertions(+), 258 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile new file mode 100644 @@ -289,7 +289,7 @@ index 000000000000..c33a71263d9e + 2. Add the new profile name, along with a clear description of the + expected behaviour, to the sysfs-platform_profile ABI documentation. diff --git a/Makefile b/Makefile -index 1e31504aab61..59a5c8126afe 100644 +index 1be83283e032..ca17261905ec 100644 --- a/Makefile +++ b/Makefile @@ -495,6 +495,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE @@ -348,10 +348,10 @@ index a13d90206472..6a6aae01755b 100644 #define get_user(x, p) \ diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index e42da99db91f..383d80dd03c7 100644 +index 2517dd8c5a4d..c8dcf2660b24 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -894,7 +894,7 @@ endchoice +@@ -904,7 +904,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" @@ -360,7 +360,7 @@ index e42da99db91f..383d80dd03c7 100644 help For systems with 52-bit userspace VAs enabled, the kernel will attempt to maintain compatibility with older software by providing 48-bit VAs -@@ -1148,6 +1148,7 @@ config XEN +@@ -1158,6 +1158,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) @@ -497,6 +497,19 @@ index df964571a6b4..200db376f728 100644 reserve_initrd(); +diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c +index 922c69dcca4d..cee2cb0f6e5f 100644 +--- a/arch/x86/kvm/hyperv.c ++++ b/arch/x86/kvm/hyperv.c +@@ -155,7 +155,7 @@ static struct kvm_vcpu_hv_synic *synic_get(struct kvm *kvm, u32 vpidx) + struct kvm_vcpu_hv_synic *synic; + + vcpu = get_vcpu_by_vpidx(kvm, vpidx); +- if (!vcpu) ++ if (!vcpu || !vcpu_to_hv_vcpu(vcpu)) + return NULL; + synic = vcpu_to_synic(vcpu); + return (synic->active) ? synic : NULL; diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig index ebcf534514be..7265173689ce 100644 --- a/drivers/acpi/Kconfig @@ -1316,26 +1329,30 @@ index 6a1f76bd8c75..9cb7c28027f0 100644 void intel_dp_get_adjust_train(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state, diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c -index b3631b722de3..0b8866900dfb 100644 +index b3631b722de3..5089dbd240f4 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c -@@ -1708,9 +1708,14 @@ void intel_psr_init(struct drm_i915_private *dev_priv) - */ - dev_priv->hsw_psr_mmio_adjust = _SRD_CTL_EDP - _HSW_EDP_PSR_BASE; +@@ -653,6 +653,20 @@ tgl_dc3co_exitline_compute_config(struct intel_dp *intel_dp, + struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); + u32 exit_scanlines; -- if (dev_priv->params.enable_psr == -1) -- if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable) -+ if (dev_priv->params.enable_psr == -1) { -+ if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable) { - dev_priv->params.enable_psr = 0; -+ } else if (INTEL_GEN(dev_priv) == 12) { -+ /* See https://gitlab.freedesktop.org/drm/intel/-/issues/3134 */ -+ dev_priv->params.enable_psr = 0; -+ } -+ } ++ /* ++ * FIXME: Due to the changed sequence of activating/deactivating DC3CO, ++ * disable DC3CO until the changed dc3co activating/deactivating sequence ++ * is applied. B.Specs:49196 ++ */ ++ return; ++ ++ /* ++ * DMC's DC3CO exit mechanism has an issue with Selective Fecth ++ * TODO: when the issue is addressed, this restriction should be removed. ++ */ ++ if (crtc_state->enable_psr2_sel_fetch) ++ return; ++ + if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO)) + return; - /* Set link_standby x link_off defaults */ - if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index b4e021ea30f9..5687b745ebe2 100644 --- a/drivers/gpu/drm/panel/Kconfig @@ -2706,26 +2723,8 @@ index 5b81bafa5c16..cc42af2a0a98 100644 return 0; } #endif -diff --git a/drivers/platform/x86/intel-hid.c b/drivers/platform/x86/intel-hid.c -index 2f5b8d09143e..57cc92891a57 100644 ---- a/drivers/platform/x86/intel-hid.c -+++ b/drivers/platform/x86/intel-hid.c -@@ -90,6 +90,13 @@ static const struct dmi_system_id button_array_table[] = { - DMI_MATCH(DMI_PRODUCT_NAME, "HP Spectre x2 Detachable"), - }, - }, -+ { -+ .ident = "Lenovo ThinkPad X1 Tablet Gen 2", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), -+ DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"), -+ }, -+ }, - { } - }; - diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c -index f3e8eca8d86d..9ecf7829b3d8 100644 +index 9f8da7155a89..9ecf7829b3d8 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -66,6 +66,7 @@ @@ -2736,28 +2735,7 @@ index f3e8eca8d86d..9ecf7829b3d8 100644 #include #include #include -@@ -4080,13 +4081,19 @@ static bool hotkey_notify_6xxx(const u32 hkey, - - case TP_HKEY_EV_KEY_NUMLOCK: - case TP_HKEY_EV_KEY_FN: -- case TP_HKEY_EV_KEY_FN_ESC: - /* key press events, we just ignore them as long as the EC - * is still reporting them in the normal keyboard stream */ - *send_acpi_ev = false; - *ignore_acpi_ev = true; - return true; - -+ case TP_HKEY_EV_KEY_FN_ESC: -+ /* Get the media key status to foce the status LED to update */ -+ acpi_evalf(hkey_handle, NULL, "GMKS", "v"); -+ *send_acpi_ev = false; -+ *ignore_acpi_ev = true; -+ return true; -+ - case TP_HKEY_EV_TABLET_CHANGED: - tpacpi_input_send_tabletsw(); - hotkey_tablet_mode_notify_change(); -@@ -9844,6 +9851,11 @@ static struct ibm_struct lcdshadow_driver_data = { +@@ -9850,6 +9851,11 @@ static struct ibm_struct lcdshadow_driver_data = { * Thinkpad sensor interfaces */ @@ -2769,7 +2747,7 @@ index f3e8eca8d86d..9ecf7829b3d8 100644 #define DYTC_CMD_GET 2 /* To get current IC function and mode */ #define DYTC_GET_LAPMODE_BIT 17 /* Set when in lapmode */ -@@ -9854,17 +9866,56 @@ static bool has_palmsensor; +@@ -9860,17 +9866,56 @@ static bool has_palmsensor; static bool has_lapsensor; static bool palm_state; static bool lap_state; @@ -2831,7 +2809,7 @@ index f3e8eca8d86d..9ecf7829b3d8 100644 *present = true; /*If we get his far, we have lapmode support*/ *state = output & BIT(DYTC_GET_LAPMODE_BIT) ? true : false; -@@ -9962,7 +10013,18 @@ static int tpacpi_proxsensor_init(struct ibm_init_struct *iibm) +@@ -9968,7 +10013,18 @@ static int tpacpi_proxsensor_init(struct ibm_init_struct *iibm) if (err) return err; } @@ -2851,7 +2829,7 @@ index f3e8eca8d86d..9ecf7829b3d8 100644 err = sysfs_create_file(&tpacpi_pdev->dev.kobj, &dev_attr_dytc_lapmode.attr); if (err) return err; -@@ -9983,6 +10045,434 @@ static struct ibm_struct proxsensor_driver_data = { +@@ -9989,6 +10045,434 @@ static struct ibm_struct proxsensor_driver_data = { .exit = proxsensor_exit, }; @@ -3286,7 +3264,7 @@ index f3e8eca8d86d..9ecf7829b3d8 100644 /**************************************************************************** **************************************************************************** * -@@ -10031,8 +10521,12 @@ static void tpacpi_driver_event(const unsigned int hkey_event) +@@ -10037,8 +10521,12 @@ static void tpacpi_driver_event(const unsigned int hkey_event) mutex_unlock(&kbdlight_mutex); } @@ -3300,7 +3278,7 @@ index f3e8eca8d86d..9ecf7829b3d8 100644 } static void hotkey_driver_event(const unsigned int scancode) -@@ -10475,6 +10969,14 @@ static struct ibm_init_struct ibms_init[] __initdata = { +@@ -10481,6 +10969,14 @@ static struct ibm_init_struct ibms_init[] __initdata = { .init = tpacpi_proxsensor_init, .data = &proxsensor_driver_data, }, diff --git a/sources b/sources index e3921ee68..f755822d1 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-5.11.12.tar.xz) = 6dc0a854c92dc4249ee0475bfb71377a786e90f288ddd5aa8c4e145b56d1b1aaa163b90f54b0fc0964e9d3fbe882131e8a3c6839ff70b5ff39c3f53c90dac4f6 -SHA512 (kernel-abi-whitelists-5.11.12-200.tar.bz2) = cd69866ea9c33ff880d83f51c7fc06d50ec5fcf0ee3ddde6e09eb5260ac3a3897df2b4a5599387f3c5d81b206adf7aa6ca1c6d59f7d810011d0be87f43800b88 -SHA512 (kernel-kabi-dw-5.11.12-200.tar.bz2) = f06cdbcca25dd9f928f9089c868182c4879402dcfa36815f073b301654013f017349099354923f968e8ebf0dc0568cef318546ebb508df814d127dd263a9d1d2 +SHA512 (linux-5.11.13.tar.xz) = e32dc28df7d089b60a75e965f6bb795ba965f963168188b9a7da88f56a91f25e44f5667db06446f3c28edb4046370e5323fcd29c288b09cef439a1ab14456c77 +SHA512 (kernel-abi-whitelists-5.11.13-200.tar.bz2) = aa179e5aff670cede3173b4826df8340a20ae511828919e888eecd98581d78c2942c7456b8a0ec81ce3892972b935960bebddbbb55ad703ebf3812cc29f1257b +SHA512 (kernel-kabi-dw-5.11.13-200.tar.bz2) = 2cea3cf16b0240c9dcde8115deb7fa89e259885a55b96dc4daa176e1aa0803005dd176c733e1e786f6d2978018450060286fb7441dca0ca03ad4f926b81c55bd