diff --git a/Makefile.rhelver b/Makefile.rhelver index aa2689307..bedf1e208 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 = 1 +RHEL_RELEASE = 0 # # ZSTREAM diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config index 0d80e5980..ccfdc0b3e 100644 --- a/kernel-aarch64-debug-fedora.config +++ b/kernel-aarch64-debug-fedora.config @@ -7084,6 +7084,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config index abf76114d..8da52ac59 100644 --- a/kernel-aarch64-debug-rhel.config +++ b/kernel-aarch64-debug-rhel.config @@ -5567,6 +5567,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config index 0840683a9..f0074ca21 100644 --- a/kernel-aarch64-fedora.config +++ b/kernel-aarch64-fedora.config @@ -7063,6 +7063,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config index 93be678a5..a4dcff81e 100644 --- a/kernel-aarch64-rhel.config +++ b/kernel-aarch64-rhel.config @@ -5544,6 +5544,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-armv7hl-debug-fedora.config b/kernel-armv7hl-debug-fedora.config index a3cdc454f..a78ee57e3 100644 --- a/kernel-armv7hl-debug-fedora.config +++ b/kernel-armv7hl-debug-fedora.config @@ -7087,6 +7087,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-armv7hl-fedora.config b/kernel-armv7hl-fedora.config index 25a59b9f0..6397ec7e1 100644 --- a/kernel-armv7hl-fedora.config +++ b/kernel-armv7hl-fedora.config @@ -7068,6 +7068,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-armv7hl-lpae-debug-fedora.config b/kernel-armv7hl-lpae-debug-fedora.config index 3e73c9021..4afba539d 100644 --- a/kernel-armv7hl-lpae-debug-fedora.config +++ b/kernel-armv7hl-lpae-debug-fedora.config @@ -6899,6 +6899,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-armv7hl-lpae-fedora.config b/kernel-armv7hl-lpae-fedora.config index 69353c943..0e2356467 100644 --- a/kernel-armv7hl-lpae-fedora.config +++ b/kernel-armv7hl-lpae-fedora.config @@ -6880,6 +6880,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config index e8ddd1062..9c49dbf8e 100644 --- a/kernel-ppc64le-debug-fedora.config +++ b/kernel-ppc64le-debug-fedora.config @@ -5910,6 +5910,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-ppc64le-debug-rhel.config b/kernel-ppc64le-debug-rhel.config index 56b368b32..548d73119 100644 --- a/kernel-ppc64le-debug-rhel.config +++ b/kernel-ppc64le-debug-rhel.config @@ -5323,6 +5323,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config index f7abfa2be..1232358f7 100644 --- a/kernel-ppc64le-fedora.config +++ b/kernel-ppc64le-fedora.config @@ -5889,6 +5889,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-ppc64le-rhel.config b/kernel-ppc64le-rhel.config index d59a9758a..a6993b40a 100644 --- a/kernel-ppc64le-rhel.config +++ b/kernel-ppc64le-rhel.config @@ -5302,6 +5302,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config index 8cbf34515..523a05322 100644 --- a/kernel-s390x-debug-fedora.config +++ b/kernel-s390x-debug-fedora.config @@ -5851,6 +5851,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config index 1357df7f0..e4c762b0f 100644 --- a/kernel-s390x-debug-rhel.config +++ b/kernel-s390x-debug-rhel.config @@ -5300,6 +5300,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config index cfbb8d7ab..b458fd563 100644 --- a/kernel-s390x-fedora.config +++ b/kernel-s390x-fedora.config @@ -5830,6 +5830,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config index 464d750db..27e3df5b9 100644 --- a/kernel-s390x-rhel.config +++ b/kernel-s390x-rhel.config @@ -5279,6 +5279,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config index e29d99df3..c2d5c76e2 100644 --- a/kernel-s390x-zfcpdump-rhel.config +++ b/kernel-s390x-zfcpdump-rhel.config @@ -5299,6 +5299,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config index 34fdd5988..4baac6a75 100644 --- a/kernel-x86_64-debug-fedora.config +++ b/kernel-x86_64-debug-fedora.config @@ -6282,6 +6282,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config index d862ff44c..0913e4fa6 100644 --- a/kernel-x86_64-debug-rhel.config +++ b/kernel-x86_64-debug-rhel.config @@ -5526,6 +5526,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config index cc6bca987..bdc3b50f9 100644 --- a/kernel-x86_64-fedora.config +++ b/kernel-x86_64-fedora.config @@ -6262,6 +6262,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config index e710246e5..bbb6d7bc1 100644 --- a/kernel-x86_64-rhel.config +++ b/kernel-x86_64-rhel.config @@ -5504,6 +5504,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 diff --git a/kernel.spec b/kernel.spec index ddf234738..33ec7e4f3 100755 --- a/kernel.spec +++ b/kernel.spec @@ -107,7 +107,9 @@ Summary: The Linux kernel %endif %ifarch x86_64 +%if 0%{?fedora} > 36 %global efiuki 1 +%endif %else %global efiuki 0 %endif @@ -145,17 +147,17 @@ Summary: The Linux kernel # the --with-release option overrides this setting.) %define debugbuildsenabled 1 # define buildid .local -%define specversion 6.2.2 +%define specversion 6.2.3 %define patchversion 6.2 -%define pkgrelease 301 +%define pkgrelease 300 %define kversion 6 -%define tarfile_release 6.2.2 +%define tarfile_release 6.2.3 # This is needed to do merge window version magic %define patchlevel 2 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 301%{?buildid}%{?dist} +%define specrelease 300%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 6.2.2 +%define kabiversion 6.2.3 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error @@ -726,11 +728,7 @@ BuildRequires: dracut BuildRequires: binutils # For the initrd BuildRequires: lvm2 -%if 0%{?fedora} > 37 -# The UKI code was introduced in Fedora 38 and is not needed by -# earlier versions. This wrapper can be removed in Fedora 41. BuildRequires: systemd-boot-unsigned -%endif # For systemd-stub and systemd-pcrphase BuildRequires: systemd-udev >= 252-1 # For TPM operations in UKI initramfs @@ -3347,6 +3345,12 @@ fi # # %changelog +* Fri Mar 10 2023 Justin M. Forbes [6.2.3-0] +- Add new config option for 6.2.3 (Justin M. Forbes) +- Only build the efiuki for F37 and newer (Justin M. Forbes) +- Reset release (Justin M. Forbes) +- Linux v6.2.3 + * Tue Mar 07 2023 Justin M. Forbes [6.2.2-1] - Bump for rebuild (Justin M. Forbes) - iommu/amd: Do not identity map v2 capable device when snp is enabled (Vasant Hegde) diff --git a/patch-6.2-redhat.patch b/patch-6.2-redhat.patch index f3c099cee..c27bfcc9f 100644 --- a/patch-6.2-redhat.patch +++ b/patch-6.2-redhat.patch @@ -18,8 +18,7 @@ drivers/hid/hid-rmi.c | 66 --- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 + drivers/input/rmi4/rmi_driver.c | 124 +++-- - drivers/iommu/amd/iommu.c | 41 +- - drivers/iommu/iommu.c | 38 +- + drivers/iommu/iommu.c | 22 + drivers/pci/quirks.c | 24 + drivers/usb/core/hub.c | 7 + include/linux/efi.h | 22 +- @@ -34,10 +33,10 @@ security/lockdown/Kconfig | 13 + security/lockdown/lockdown.c | 1 + security/security.c | 6 + - 36 files changed, 1027 insertions(+), 187 deletions(-) + 35 files changed, 980 insertions(+), 177 deletions(-) diff --git a/Makefile b/Makefile -index 1836ddaf2c94..eb1d58681256 100644 +index eef164b4172a..e38d656104e5 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ @@ -68,10 +67,10 @@ index 43c7773b89ae..2c1db1cb5528 100644 The VM uses one page of physical memory for each page table. For systems with a lot of processes, this can use a lot of diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index c5ccca26a408..4cacdb4ab764 100644 +index ddfd35c86bda..2b69e42dff58 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1234,7 +1234,7 @@ endchoice +@@ -1233,7 +1233,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" @@ -80,7 +79,7 @@ index c5ccca26a408..4cacdb4ab764 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 -@@ -1473,6 +1473,7 @@ config XEN +@@ -1472,6 +1472,7 @@ config XEN config ARCH_FORCE_MAX_ORDER int default "14" if ARM64_64K_PAGES @@ -101,10 +100,10 @@ index b0d00032479d..afb9544fb007 100644 /* * DIAG 308 support diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c -index fbd646dbf440..23ca9cdb2438 100644 +index bcf03939e6fe..3773e027b034 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c -@@ -2568,3 +2568,8 @@ int ipl_report_free(struct ipl_report *report) +@@ -2520,3 +2520,8 @@ int ipl_report_free(struct ipl_report *report) } #endif @@ -694,7 +693,7 @@ index 84e7ba5314d3..efc96776f761 100644 data->xport.ops = &hid_rmi_ops; diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c -index 1cc052979e01..c817bc0a90c5 100644 +index 77bca6932f01..27f5455aef6c 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -9,6 +9,7 @@ @@ -705,7 +704,7 @@ index 1cc052979e01..c817bc0a90c5 100644 #include #include #include -@@ -2210,6 +2211,16 @@ static const struct amba_id etm4_ids[] = { +@@ -2216,6 +2217,16 @@ static const struct amba_id etm4_ids[] = { {}, }; @@ -722,7 +721,7 @@ index 1cc052979e01..c817bc0a90c5 100644 MODULE_DEVICE_TABLE(amba, etm4_ids); static struct amba_driver etm4x_amba_driver = { -@@ -2243,6 +2254,11 @@ static int __init etm4x_init(void) +@@ -2249,6 +2260,11 @@ static int __init etm4x_init(void) { int ret; @@ -734,7 +733,7 @@ index 1cc052979e01..c817bc0a90c5 100644 ret = etm4_pm_setup(); /* etm4_pm_setup() does its own cleanup - exit on error */ -@@ -2269,6 +2285,9 @@ static int __init etm4x_init(void) +@@ -2275,6 +2291,9 @@ static int __init etm4x_init(void) static void __exit etm4x_exit(void) { @@ -936,99 +935,8 @@ index 258d5fe3d395..f7298e3dc8f3 100644 if (data->f01_container->dev.driver) { /* Driver already bound, so enable ATTN now. */ -diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c -index cbeaab55c0db..ff4f3d4da340 100644 ---- a/drivers/iommu/amd/iommu.c -+++ b/drivers/iommu/amd/iommu.c -@@ -558,6 +558,15 @@ static void amd_iommu_report_page_fault(struct amd_iommu *iommu, - * prevent logging it. - */ - if (IS_IOMMU_MEM_TRANSACTION(flags)) { -+ /* Device not attached to domain properly */ -+ if (dev_data->domain == NULL) { -+ pr_err_ratelimited("Event logged [Device not attached to domain properly]\n"); -+ pr_err_ratelimited(" device=%04x:%02x:%02x.%x domain=0x%04x\n", -+ iommu->pci_seg->id, PCI_BUS_NUM(devid), PCI_SLOT(devid), -+ PCI_FUNC(devid), domain_id); -+ goto out; -+ } -+ - if (!report_iommu_fault(&dev_data->domain->domain, - &pdev->dev, address, - IS_WRITE_REQUEST(flags) ? -@@ -1702,27 +1711,29 @@ static int pdev_pri_ats_enable(struct pci_dev *pdev) - /* Only allow access to user-accessible pages */ - ret = pci_enable_pasid(pdev, 0); - if (ret) -- goto out_err; -+ return ret; - - /* First reset the PRI state of the device */ - ret = pci_reset_pri(pdev); - if (ret) -- goto out_err; -+ goto out_err_pasid; - - /* Enable PRI */ - /* FIXME: Hardcode number of outstanding requests for now */ - ret = pci_enable_pri(pdev, 32); - if (ret) -- goto out_err; -+ goto out_err_pasid; - - ret = pci_enable_ats(pdev, PAGE_SHIFT); - if (ret) -- goto out_err; -+ goto out_err_pri; - - return 0; - --out_err: -+out_err_pri: - pci_disable_pri(pdev); -+ -+out_err_pasid: - pci_disable_pasid(pdev); - - return ret; -@@ -2159,6 +2170,13 @@ static int amd_iommu_attach_device(struct iommu_domain *dom, - struct amd_iommu *iommu = rlookup_amd_iommu(dev); - int ret; - -+ /* -+ * Skip attach device to domain if new domain is same as -+ * devices current domain -+ */ -+ if (dev_data->domain == domain) -+ return 0; -+ - dev_data->defer_attach = false; - - if (dev_data->domain) -@@ -2387,12 +2405,17 @@ static int amd_iommu_def_domain_type(struct device *dev) - return 0; - - /* -- * Do not identity map IOMMUv2 capable devices when memory encryption is -- * active, because some of those devices (AMD GPUs) don't have the -- * encryption bit in their DMA-mask and require remapping. -+ * Do not identity map IOMMUv2 capable devices when: -+ * - memory encryption is active, because some of those devices -+ * (AMD GPUs) don't have the encryption bit in their DMA-mask -+ * and require remapping. -+ * - SNP is enabled, because it prohibits DTE[Mode]=0. - */ -- if (!cc_platform_has(CC_ATTR_MEM_ENCRYPT) && dev_data->iommu_v2) -+ if (dev_data->iommu_v2 && -+ !cc_platform_has(CC_ATTR_MEM_ENCRYPT) && -+ !amd_iommu_snp_en) { - return IOMMU_DOMAIN_IDENTITY; -+ } - - return 0; - } diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 5f6a85aea501..026487698b25 100644 +index 50d858f36a81..d217c6b2c532 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -8,6 +8,7 @@ @@ -1039,31 +947,7 @@ index 5f6a85aea501..026487698b25 100644 #include #include #include -@@ -2124,8 +2125,22 @@ static int __iommu_attach_group(struct iommu_domain *domain, - - ret = __iommu_group_for_each_dev(group, domain, - iommu_group_do_attach_device); -- if (ret == 0) -+ if (ret == 0) { - group->domain = domain; -+ } else { -+ /* -+ * To recover from the case when certain device within the -+ * group fails to attach to the new domain, we need force -+ * attaching all devices back to the old domain. The old -+ * domain is compatible for all devices in the group, -+ * hence the iommu driver should always return success. -+ */ -+ struct iommu_domain *old_domain = group->domain; -+ -+ group->domain = NULL; -+ WARN(__iommu_group_set_domain(group, old_domain), -+ "iommu driver failed to attach a compatible domain"); -+ } - - return ret; - } -@@ -2793,6 +2808,27 @@ int iommu_dev_disable_feature(struct device *dev, enum iommu_dev_features feat) +@@ -2811,6 +2812,27 @@ int iommu_dev_disable_feature(struct device *dev, enum iommu_dev_features feat) } EXPORT_SYMBOL_GPL(iommu_dev_disable_feature); @@ -1092,7 +976,7 @@ index 5f6a85aea501..026487698b25 100644 * Changes the default domain of an iommu group that has *only* one device * diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 285acc4aaccc..a7056957e7dd 100644 +index 20ac67d59034..1c1eb7feb5d4 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -4296,6 +4296,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, @@ -1895,10 +1779,10 @@ index a79b985e917e..772a69bf43ec 100644 static int __init lockdown_lsm_init(void) diff --git a/security/security.c b/security/security.c -index d1571900a8c7..9e6be637ab68 100644 +index 174afa4fad81..7ee7bcef4313 100644 --- a/security/security.c +++ b/security/security.c -@@ -2705,6 +2705,12 @@ int security_locked_down(enum lockdown_reason what) +@@ -2706,6 +2706,12 @@ int security_locked_down(enum lockdown_reason what) } EXPORT_SYMBOL(security_locked_down); diff --git a/sources b/sources index b55121c49..be9324de5 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-6.2.2.tar.xz) = 155b0e21bde6f1cc6d410e588ca120cee6b4b056079e43d1b090a3e707859b5bf538ce2736d7cfc4f1455b9042a09ed5b1b37182e879264fed74c7913f253830 -SHA512 (kernel-abi-stablelists-6.2.2.tar.bz2) = 3ad5cdf2251ad557ce536e230434d454813571147de7566d8838903c54c923caa55db73cb9ca0c9ae4338d8bb9b43a38732646d643c6cbeee3b830dbff1400a2 -SHA512 (kernel-kabi-dw-6.2.2.tar.bz2) = 9560700ab830ef3f65a7fe0b561b5323b8d8d88054d20436fc679e6b6e6d627f4c71a94161d0187925bb3a357d11b34441672e947da637cdd9dba4728f3c8764 +SHA512 (linux-6.2.3.tar.xz) = 4040ac868957608da771a5701808240899333841d0070ba0d82c69085a81c9f84aa8b8831138e99de72ccb8347e453a7acaeac73e21af04cebd4e17181caba25 +SHA512 (kernel-abi-stablelists-6.2.3.tar.bz2) = 77475eb8890c13e0e4c51e9c678006099c4d2d9a87d1444ecd5937974a4b2a4b9bae552de2e26cdfff1b06c8e0acdf4f321661daaa5a573efdb99e42b3aa27a5 +SHA512 (kernel-kabi-dw-6.2.3.tar.bz2) = b114e6a275c3b5d208f055269943308c410f2c0a7186e07daaac2cbe8a7c03980e1e8d88426e63f406ffa720dccb0c5eea7c40aed8aa42bf67edde6ccf60a7fd