]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop backport of b584bfbd7ec4 and its dependencies from queue-6.12
authorSasha Levin <sashal@kernel.org>
Mon, 9 Mar 2026 22:15:52 +0000 (18:15 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 9 Mar 2026 22:16:41 +0000 (18:16 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-6.12/acpi-apei-ghes-add-helper-for-cper-cxl-protocol-erro.patch [deleted file]
queue-6.12/acpi-apei-ghes-disable-kasan-instrumentation-when-co.patch [deleted file]
queue-6.12/acpi-ghes-cper-recognize-and-cache-cxl-protocol-erro.patch [deleted file]
queue-6.12/efi-cper-cxl-make-definitions-and-structures-global.patch [deleted file]
queue-6.12/efi-cper-cxl-prefix-protocol-error-struct-and-functi.patch [deleted file]
queue-6.12/series

diff --git a/queue-6.12/acpi-apei-ghes-add-helper-for-cper-cxl-protocol-erro.patch b/queue-6.12/acpi-apei-ghes-add-helper-for-cper-cxl-protocol-erro.patch
deleted file mode 100644 (file)
index 7fc8d77..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-From 42f84f49c153d099f7d63bd04b3cd655fc850985 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 14 Jan 2026 11:14:23 +0100
-Subject: ACPI: APEI: GHES: Add helper for CPER CXL protocol errors checks
-
-From: Fabio M. De Francesco <fabio.m.de.francesco@linux.intel.com>
-
-[ Upstream commit 70205869686212eb8e4cddf02bf87fd5fd597bc2 ]
-
-Move the CPER CXL protocol errors validity check out of
-cxl_cper_post_prot_err() to new cxl_cper_sec_prot_err_valid() and limit
-the serial number check only to CXL agents that are CXL devices (UEFI
-v2.10, Appendix N.2.13).
-
-Export the new symbol for reuse by ELOG.
-
-Reviewed-by: Dave Jiang <dave.jiang@intel.com>
-Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
-Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
-Signed-off-by: Fabio M. De Francesco <fabio.m.de.francesco@linux.intel.com>
-[ rjw: Subject tweak ]
-Link: https://patch.msgid.link/20260114101543.85926-4-fabio.m.de.francesco@linux.intel.com
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Stable-dep-of: b584bfbd7ec4 ("ACPI: APEI: GHES: Disable KASAN instrumentation when compile testing with clang < 18")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/acpi/apei/Makefile       |  1 +
- drivers/acpi/apei/ghes.c         | 18 +----------------
- drivers/acpi/apei/ghes_helpers.c | 33 ++++++++++++++++++++++++++++++++
- include/cxl/event.h              | 10 ++++++++++
- 4 files changed, 45 insertions(+), 17 deletions(-)
- create mode 100644 drivers/acpi/apei/ghes_helpers.c
-
-diff --git a/drivers/acpi/apei/Makefile b/drivers/acpi/apei/Makefile
-index 2c474e6477e12..5db61dfb46915 100644
---- a/drivers/acpi/apei/Makefile
-+++ b/drivers/acpi/apei/Makefile
-@@ -1,6 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0
- obj-$(CONFIG_ACPI_APEI)               += apei.o
- obj-$(CONFIG_ACPI_APEI_GHES)  += ghes.o
-+obj-$(CONFIG_ACPI_APEI_PCIEAER)       += ghes_helpers.o
- obj-$(CONFIG_ACPI_APEI_EINJ)  += einj.o
- einj-y                                := einj-core.o
- einj-$(CONFIG_ACPI_APEI_EINJ_CXL) += einj-cxl.o
-diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
-index 6de64a4b49998..1d0fbfcd81dd9 100644
---- a/drivers/acpi/apei/ghes.c
-+++ b/drivers/acpi/apei/ghes.c
-@@ -712,24 +712,8 @@ static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err,
-       struct cxl_cper_prot_err_work_data wd;
-       u8 *dvsec_start, *cap_start;
--      if (!(prot_err->valid_bits & PROT_ERR_VALID_AGENT_ADDRESS)) {
--              pr_err_ratelimited("CXL CPER invalid agent type\n");
-+      if (cxl_cper_sec_prot_err_valid(prot_err))
-               return;
--      }
--
--      if (!(prot_err->valid_bits & PROT_ERR_VALID_ERROR_LOG)) {
--              pr_err_ratelimited("CXL CPER invalid protocol error log\n");
--              return;
--      }
--
--      if (prot_err->err_len != sizeof(struct cxl_ras_capability_regs)) {
--              pr_err_ratelimited("CXL CPER invalid RAS Cap size (%u)\n",
--                                 prot_err->err_len);
--              return;
--      }
--
--      if (!(prot_err->valid_bits & PROT_ERR_VALID_SERIAL_NUMBER))
--              pr_warn(FW_WARN "CXL CPER no device serial number\n");
-       switch (prot_err->agent_type) {
-       case RCD:
-diff --git a/drivers/acpi/apei/ghes_helpers.c b/drivers/acpi/apei/ghes_helpers.c
-new file mode 100644
-index 0000000000000..f3d162139a974
---- /dev/null
-+++ b/drivers/acpi/apei/ghes_helpers.c
-@@ -0,0 +1,33 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+// Copyright(c) 2025 Intel Corporation. All rights reserved
-+
-+#include <linux/printk.h>
-+#include <cxl/event.h>
-+
-+int cxl_cper_sec_prot_err_valid(struct cxl_cper_sec_prot_err *prot_err)
-+{
-+      if (!(prot_err->valid_bits & PROT_ERR_VALID_AGENT_ADDRESS)) {
-+              pr_err_ratelimited("CXL CPER invalid agent type\n");
-+              return -EINVAL;
-+      }
-+
-+      if (!(prot_err->valid_bits & PROT_ERR_VALID_ERROR_LOG)) {
-+              pr_err_ratelimited("CXL CPER invalid protocol error log\n");
-+              return -EINVAL;
-+      }
-+
-+      if (prot_err->err_len != sizeof(struct cxl_ras_capability_regs)) {
-+              pr_err_ratelimited("CXL CPER invalid RAS Cap size (%u)\n",
-+                                 prot_err->err_len);
-+              return -EINVAL;
-+      }
-+
-+      if ((prot_err->agent_type == RCD || prot_err->agent_type == DEVICE ||
-+           prot_err->agent_type == LD || prot_err->agent_type == FMLD) &&
-+          !(prot_err->valid_bits & PROT_ERR_VALID_SERIAL_NUMBER))
-+              pr_warn_ratelimited(FW_WARN
-+                                  "CXL CPER no device serial number\n");
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(cxl_cper_sec_prot_err_valid);
-diff --git a/include/cxl/event.h b/include/cxl/event.h
-index ee1c3dec62fae..95bf546fd3055 100644
---- a/include/cxl/event.h
-+++ b/include/cxl/event.h
-@@ -258,4 +258,14 @@ static inline int cxl_cper_kfifo_get(struct cxl_cper_work_data *wd)
- }
- #endif
-+#ifdef CONFIG_ACPI_APEI_PCIEAER
-+int cxl_cper_sec_prot_err_valid(struct cxl_cper_sec_prot_err *prot_err);
-+#else
-+static inline int
-+cxl_cper_sec_prot_err_valid(struct cxl_cper_sec_prot_err *prot_err)
-+{
-+      return -EOPNOTSUPP;
-+}
-+#endif
-+
- #endif /* _LINUX_CXL_EVENT_H */
--- 
-2.51.0
-
diff --git a/queue-6.12/acpi-apei-ghes-disable-kasan-instrumentation-when-co.patch b/queue-6.12/acpi-apei-ghes-disable-kasan-instrumentation-when-co.patch
deleted file mode 100644 (file)
index fb9c370..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From ccd3cab8095d5c53eaf8a6598ff339ffaad6a696 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 14 Jan 2026 16:27:11 -0700
-Subject: ACPI: APEI: GHES: Disable KASAN instrumentation when compile testing
- with clang < 18
-
-From: Nathan Chancellor <nathan@kernel.org>
-
-[ Upstream commit b584bfbd7ec417f257f651cc00a90c66e31dfbf1 ]
-
-After a recent innocuous change to drivers/acpi/apei/ghes.c, building
-ARCH=arm64 allmodconfig with clang-17 or older (which has both
-CONFIG_KASAN=y and CONFIG_WERROR=y) fails with:
-
-  drivers/acpi/apei/ghes.c:902:13: error: stack frame size (2768) exceeds limit (2048) in 'ghes_do_proc' [-Werror,-Wframe-larger-than]
-    902 | static void ghes_do_proc(struct ghes *ghes,
-        |             ^
-
-A KASAN pass that removes unneeded stack instrumentation, enabled by
-default in clang-18 [1], drastically improves stack usage in this case.
-
-To avoid the warning in the common allmodconfig case when it can break
-the build, disable KASAN for ghes.o when compile testing with clang-17
-and older. Disabling KASAN outright may hide legitimate runtime issues,
-so live with the warning in that case; the user can either increase the
-frame warning limit or disable -Werror, which they should probably do
-when debugging with KASAN anyways.
-
-Closes: https://github.com/ClangBuiltLinux/linux/issues/2148
-Link: https://github.com/llvm/llvm-project/commit/51fbab134560ece663517bf1e8c2a30300d08f1a [1]
-Signed-off-by: Nathan Chancellor <nathan@kernel.org>
-Cc: All applicable <stable@vger.kernel.org>
-Link: https://patch.msgid.link/20260114-ghes-avoid-wflt-clang-older-than-18-v1-1-9c8248bfe4f4@kernel.org
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/acpi/apei/Makefile | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/acpi/apei/Makefile b/drivers/acpi/apei/Makefile
-index 5db61dfb46915..1a0b85923cd42 100644
---- a/drivers/acpi/apei/Makefile
-+++ b/drivers/acpi/apei/Makefile
-@@ -1,6 +1,10 @@
- # SPDX-License-Identifier: GPL-2.0
- obj-$(CONFIG_ACPI_APEI)               += apei.o
- obj-$(CONFIG_ACPI_APEI_GHES)  += ghes.o
-+# clang versions prior to 18 may blow out the stack with KASAN
-+ifeq ($(CONFIG_COMPILE_TEST)_$(CONFIG_CC_IS_CLANG)_$(call clang-min-version, 180000),y_y_)
-+KASAN_SANITIZE_ghes.o := n
-+endif
- obj-$(CONFIG_ACPI_APEI_PCIEAER)       += ghes_helpers.o
- obj-$(CONFIG_ACPI_APEI_EINJ)  += einj.o
- einj-y                                := einj-core.o
--- 
-2.51.0
-
diff --git a/queue-6.12/acpi-ghes-cper-recognize-and-cache-cxl-protocol-erro.patch b/queue-6.12/acpi-ghes-cper-recognize-and-cache-cxl-protocol-erro.patch
deleted file mode 100644 (file)
index 64ec695..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-From ccc5d9b1a49cf9f8f592ec6c954bd2d49a4a1ab5 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 23 Jan 2025 08:44:19 +0000
-Subject: acpi/ghes, cper: Recognize and cache CXL Protocol errors
-
-From: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
-
-[ Upstream commit 315c2f0b53ba2645062627443a12cea73f3dad9c ]
-
-Add support in GHES to detect and process CXL CPER Protocol errors, as
-defined in UEFI v2.10, section N.2.13.
-
-Define struct cxl_cper_prot_err_work_data to cache CXL protocol error
-information, including RAS capabilities and severity, for further
-handling.
-
-These cached CXL CPER records will later be processed by workqueues
-within the CXL subsystem.
-
-Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
-Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-Reviewed-by: Dave Jiang <dave.jiang@intel.com>
-Reviewed-by: Ira Weiny <ira.weiny@intel.com>
-Reviewed-by: Tony Luck <tony.luck@intel.com>
-Reviewed-by: Gregory Price <gourry@gourry.net>
-Reviewed-by: Dan Williams <dan.j.williams@intel.com>
-Link: https://patch.msgid.link/20250123084421.127697-5-Smita.KoralahalliChannabasappa@amd.com
-Signed-off-by: Dave Jiang <dave.jiang@intel.com>
-Stable-dep-of: b584bfbd7ec4 ("ACPI: APEI: GHES: Disable KASAN instrumentation when compile testing with clang < 18")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/acpi/apei/ghes.c | 54 ++++++++++++++++++++++++++++++++++++++++
- include/cxl/event.h      |  6 +++++
- 2 files changed, 60 insertions(+)
-
-diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
-index 98901fbe2f7b7..6de64a4b49998 100644
---- a/drivers/acpi/apei/ghes.c
-+++ b/drivers/acpi/apei/ghes.c
-@@ -705,6 +705,56 @@ static void ghes_defer_non_standard_event(struct acpi_hest_generic_data *gdata,
-       schedule_work(&entry->work);
- }
-+static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err,
-+                                 int severity)
-+{
-+#ifdef CONFIG_ACPI_APEI_PCIEAER
-+      struct cxl_cper_prot_err_work_data wd;
-+      u8 *dvsec_start, *cap_start;
-+
-+      if (!(prot_err->valid_bits & PROT_ERR_VALID_AGENT_ADDRESS)) {
-+              pr_err_ratelimited("CXL CPER invalid agent type\n");
-+              return;
-+      }
-+
-+      if (!(prot_err->valid_bits & PROT_ERR_VALID_ERROR_LOG)) {
-+              pr_err_ratelimited("CXL CPER invalid protocol error log\n");
-+              return;
-+      }
-+
-+      if (prot_err->err_len != sizeof(struct cxl_ras_capability_regs)) {
-+              pr_err_ratelimited("CXL CPER invalid RAS Cap size (%u)\n",
-+                                 prot_err->err_len);
-+              return;
-+      }
-+
-+      if (!(prot_err->valid_bits & PROT_ERR_VALID_SERIAL_NUMBER))
-+              pr_warn(FW_WARN "CXL CPER no device serial number\n");
-+
-+      switch (prot_err->agent_type) {
-+      case RCD:
-+      case DEVICE:
-+      case LD:
-+      case FMLD:
-+      case RP:
-+      case DSP:
-+      case USP:
-+              memcpy(&wd.prot_err, prot_err, sizeof(wd.prot_err));
-+
-+              dvsec_start = (u8 *)(prot_err + 1);
-+              cap_start = dvsec_start + prot_err->dvsec_len;
-+
-+              memcpy(&wd.ras_cap, cap_start, sizeof(wd.ras_cap));
-+              wd.severity = cper_severity_to_aer(severity);
-+              break;
-+      default:
-+              pr_err_ratelimited("CXL CPER invalid agent type: %d\n",
-+                                 prot_err->agent_type);
-+              return;
-+      }
-+#endif
-+}
-+
- /* Room for 8 entries for each of the 4 event log queues */
- #define CXL_CPER_FIFO_DEPTH 32
- DEFINE_KFIFO(cxl_cper_fifo, struct cxl_cper_work_data, CXL_CPER_FIFO_DEPTH);
-@@ -806,6 +856,10 @@ static bool ghes_do_proc(struct ghes *ghes,
-                       ghes_handle_aer(gdata);
-               } else if (guid_equal(sec_type, &CPER_SEC_PROC_ARM)) {
-                       queued = ghes_handle_arm_hw_error(gdata, sev, sync);
-+              } else if (guid_equal(sec_type, &CPER_SEC_CXL_PROT_ERR)) {
-+                      struct cxl_cper_sec_prot_err *prot_err = acpi_hest_get_payload(gdata);
-+
-+                      cxl_cper_post_prot_err(prot_err, gdata->error_severity);
-               } else if (guid_equal(sec_type, &CPER_SEC_CXL_GEN_MEDIA_GUID)) {
-                       struct cxl_cper_event_rec *rec = acpi_hest_get_payload(gdata);
-diff --git a/include/cxl/event.h b/include/cxl/event.h
-index 66d85fc87701d..ee1c3dec62fae 100644
---- a/include/cxl/event.h
-+++ b/include/cxl/event.h
-@@ -232,6 +232,12 @@ struct cxl_ras_capability_regs {
-       u32 header_log[16];
- };
-+struct cxl_cper_prot_err_work_data {
-+      struct cxl_cper_sec_prot_err prot_err;
-+      struct cxl_ras_capability_regs ras_cap;
-+      int severity;
-+};
-+
- #ifdef CONFIG_ACPI_APEI_GHES
- int cxl_cper_register_work(struct work_struct *work);
- int cxl_cper_unregister_work(struct work_struct *work);
--- 
-2.51.0
-
diff --git a/queue-6.12/efi-cper-cxl-make-definitions-and-structures-global.patch b/queue-6.12/efi-cper-cxl-make-definitions-and-structures-global.patch
deleted file mode 100644 (file)
index b64ab60..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-From 4b609d4da1841e3a1af4a4576a6244e8f8830402 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 23 Jan 2025 08:44:17 +0000
-Subject: efi/cper, cxl: Make definitions and structures global
-
-From: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
-
-[ Upstream commit 958c3a6706863f9f77b21c90d2428473441cd8a1 ]
-
-In preparation to add tracepoint support, move protocol error UUID
-definition to a common location, Also, make struct CXL RAS capability,
-cxl_cper_sec_prot_err and CPER validation flags global for use across
-different modules.
-
-Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
-Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-Reviewed-by: Ira Weiny <ira.weiny@intel.com>
-Reviewed-by: Dave Jiang <dave.jiang@intel.com>
-Reviewed-by: Fan Ni <fan.ni@samsung.com>
-Reviewed-by: Gregory Price <gourry@gourry.net>
-Reviewed-by: Dan Williams <dan.j.williams@intel.com>
-Link: https://patch.msgid.link/20250123084421.127697-3-Smita.KoralahalliChannabasappa@amd.com
-Signed-off-by: Dave Jiang <dave.jiang@intel.com>
-Stable-dep-of: b584bfbd7ec4 ("ACPI: APEI: GHES: Disable KASAN instrumentation when compile testing with clang < 18")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/firmware/efi/cper.c     |  1 +
- drivers/firmware/efi/cper_cxl.c | 35 +--------------
- drivers/firmware/efi/cper_cxl.h | 51 ---------------------
- include/cxl/event.h             | 80 +++++++++++++++++++++++++++++++++
- include/linux/cper.h            |  4 ++
- 5 files changed, 86 insertions(+), 85 deletions(-)
-
-diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
-index e0adbd6df9b53..7fe10a06e68c3 100644
---- a/drivers/firmware/efi/cper.c
-+++ b/drivers/firmware/efi/cper.c
-@@ -25,6 +25,7 @@
- #include <linux/bcd.h>
- #include <acpi/ghes.h>
- #include <ras/ras_event.h>
-+#include <cxl/event.h>
- #include "cper_cxl.h"
- /*
-diff --git a/drivers/firmware/efi/cper_cxl.c b/drivers/firmware/efi/cper_cxl.c
-index cbaabcb7382d9..64c0dd27be6ed 100644
---- a/drivers/firmware/efi/cper_cxl.c
-+++ b/drivers/firmware/efi/cper_cxl.c
-@@ -8,27 +8,9 @@
-  */
- #include <linux/cper.h>
-+#include <cxl/event.h>
- #include "cper_cxl.h"
--#define PROT_ERR_VALID_AGENT_TYPE             BIT_ULL(0)
--#define PROT_ERR_VALID_AGENT_ADDRESS          BIT_ULL(1)
--#define PROT_ERR_VALID_DEVICE_ID              BIT_ULL(2)
--#define PROT_ERR_VALID_SERIAL_NUMBER          BIT_ULL(3)
--#define PROT_ERR_VALID_CAPABILITY             BIT_ULL(4)
--#define PROT_ERR_VALID_DVSEC                  BIT_ULL(5)
--#define PROT_ERR_VALID_ERROR_LOG              BIT_ULL(6)
--
--/* CXL RAS Capability Structure, CXL v3.0 sec 8.2.4.16 */
--struct cxl_ras_capability_regs {
--      u32 uncor_status;
--      u32 uncor_mask;
--      u32 uncor_severity;
--      u32 cor_status;
--      u32 cor_mask;
--      u32 cap_control;
--      u32 header_log[16];
--};
--
- static const char * const prot_err_agent_type_strs[] = {
-       "Restricted CXL Device",
-       "Restricted CXL Host Downstream Port",
-@@ -40,21 +22,6 @@ static const char * const prot_err_agent_type_strs[] = {
-       "CXL Upstream Switch Port",
- };
--/*
-- * The layout of the enumeration and the values matches CXL Agent Type
-- * field in the UEFI 2.10 Section N.2.13,
-- */
--enum {
--      RCD,    /* Restricted CXL Device */
--      RCH_DP, /* Restricted CXL Host Downstream Port */
--      DEVICE, /* CXL Device */
--      LD,     /* CXL Logical Device */
--      FMLD,   /* CXL Fabric Manager managed Logical Device */
--      RP,     /* CXL Root Port */
--      DSP,    /* CXL Downstream Switch Port */
--      USP,    /* CXL Upstream Switch Port */
--};
--
- void cxl_cper_print_prot_err(const char *pfx,
-                            const struct cxl_cper_sec_prot_err *prot_err)
- {
-diff --git a/drivers/firmware/efi/cper_cxl.h b/drivers/firmware/efi/cper_cxl.h
-index 0e3ab0ba17c36..5ce1401ee17af 100644
---- a/drivers/firmware/efi/cper_cxl.h
-+++ b/drivers/firmware/efi/cper_cxl.h
-@@ -10,57 +10,6 @@
- #ifndef LINUX_CPER_CXL_H
- #define LINUX_CPER_CXL_H
--/* CXL Protocol Error Section */
--#define CPER_SEC_CXL_PROT_ERR                                         \
--      GUID_INIT(0x80B9EFB4, 0x52B5, 0x4DE3, 0xA7, 0x77, 0x68, 0x78,   \
--                0x4B, 0x77, 0x10, 0x48)
--
--#pragma pack(1)
--
--/* Compute Express Link Protocol Error Section, UEFI v2.10 sec N.2.13 */
--struct cxl_cper_sec_prot_err {
--      u64 valid_bits;
--      u8 agent_type;
--      u8 reserved[7];
--
--      /*
--       * Except for RCH Downstream Port, all the remaining CXL Agent
--       * types are uniquely identified by the PCIe compatible SBDF number.
--       */
--      union {
--              u64 rcrb_base_addr;
--              struct {
--                      u8 function;
--                      u8 device;
--                      u8 bus;
--                      u16 segment;
--                      u8 reserved_1[3];
--              };
--      } agent_addr;
--
--      struct {
--              u16 vendor_id;
--              u16 device_id;
--              u16 subsystem_vendor_id;
--              u16 subsystem_id;
--              u8 class_code[2];
--              u16 slot;
--              u8 reserved_1[4];
--      } device_id;
--
--      struct {
--              u32 lower_dw;
--              u32 upper_dw;
--      } dev_serial_num;
--
--      u8 capability[60];
--      u16 dvsec_len;
--      u16 err_len;
--      u8 reserved_2[4];
--};
--
--#pragma pack()
--
- void cxl_cper_print_prot_err(const char *pfx,
-                            const struct cxl_cper_sec_prot_err *prot_err);
-diff --git a/include/cxl/event.h b/include/cxl/event.h
-index 0bea1afbd747c..66d85fc87701d 100644
---- a/include/cxl/event.h
-+++ b/include/cxl/event.h
-@@ -152,6 +152,86 @@ struct cxl_cper_work_data {
-       struct cxl_cper_event_rec rec;
- };
-+#define PROT_ERR_VALID_AGENT_TYPE             BIT_ULL(0)
-+#define PROT_ERR_VALID_AGENT_ADDRESS          BIT_ULL(1)
-+#define PROT_ERR_VALID_DEVICE_ID              BIT_ULL(2)
-+#define PROT_ERR_VALID_SERIAL_NUMBER          BIT_ULL(3)
-+#define PROT_ERR_VALID_CAPABILITY             BIT_ULL(4)
-+#define PROT_ERR_VALID_DVSEC                  BIT_ULL(5)
-+#define PROT_ERR_VALID_ERROR_LOG              BIT_ULL(6)
-+
-+/*
-+ * The layout of the enumeration and the values matches CXL Agent Type
-+ * field in the UEFI 2.10 Section N.2.13,
-+ */
-+enum {
-+      RCD,    /* Restricted CXL Device */
-+      RCH_DP, /* Restricted CXL Host Downstream Port */
-+      DEVICE, /* CXL Device */
-+      LD,     /* CXL Logical Device */
-+      FMLD,   /* CXL Fabric Manager managed Logical Device */
-+      RP,     /* CXL Root Port */
-+      DSP,    /* CXL Downstream Switch Port */
-+      USP,    /* CXL Upstream Switch Port */
-+};
-+
-+#pragma pack(1)
-+
-+/* Compute Express Link Protocol Error Section, UEFI v2.10 sec N.2.13 */
-+struct cxl_cper_sec_prot_err {
-+      u64 valid_bits;
-+      u8 agent_type;
-+      u8 reserved[7];
-+
-+      /*
-+       * Except for RCH Downstream Port, all the remaining CXL Agent
-+       * types are uniquely identified by the PCIe compatible SBDF number.
-+       */
-+      union {
-+              u64 rcrb_base_addr;
-+              struct {
-+                      u8 function;
-+                      u8 device;
-+                      u8 bus;
-+                      u16 segment;
-+                      u8 reserved_1[3];
-+              };
-+      } agent_addr;
-+
-+      struct {
-+              u16 vendor_id;
-+              u16 device_id;
-+              u16 subsystem_vendor_id;
-+              u16 subsystem_id;
-+              u8 class_code[2];
-+              u16 slot;
-+              u8 reserved_1[4];
-+      } device_id;
-+
-+      struct {
-+              u32 lower_dw;
-+              u32 upper_dw;
-+      } dev_serial_num;
-+
-+      u8 capability[60];
-+      u16 dvsec_len;
-+      u16 err_len;
-+      u8 reserved_2[4];
-+};
-+
-+#pragma pack()
-+
-+/* CXL RAS Capability Structure, CXL v3.0 sec 8.2.4.16 */
-+struct cxl_ras_capability_regs {
-+      u32 uncor_status;
-+      u32 uncor_mask;
-+      u32 uncor_severity;
-+      u32 cor_status;
-+      u32 cor_mask;
-+      u32 cap_control;
-+      u32 header_log[16];
-+};
-+
- #ifdef CONFIG_ACPI_APEI_GHES
- int cxl_cper_register_work(struct work_struct *work);
- int cxl_cper_unregister_work(struct work_struct *work);
-diff --git a/include/linux/cper.h b/include/linux/cper.h
-index 951291fa50d4f..e9c0331fe204a 100644
---- a/include/linux/cper.h
-+++ b/include/linux/cper.h
-@@ -89,6 +89,10 @@ enum {
- #define CPER_NOTIFY_DMAR                                              \
-       GUID_INIT(0x667DD791, 0xC6B3, 0x4c27, 0x8A, 0x6B, 0x0F, 0x8E,   \
-                 0x72, 0x2D, 0xEB, 0x41)
-+/* CXL Protocol Error Section */
-+#define CPER_SEC_CXL_PROT_ERR                                         \
-+      GUID_INIT(0x80B9EFB4, 0x52B5, 0x4DE3, 0xA7, 0x77, 0x68, 0x78,   \
-+                0x4B, 0x77, 0x10, 0x48)
- /* CXL Event record UUIDs are formatted as GUIDs and reported in section type */
- /*
--- 
-2.51.0
-
diff --git a/queue-6.12/efi-cper-cxl-prefix-protocol-error-struct-and-functi.patch b/queue-6.12/efi-cper-cxl-prefix-protocol-error-struct-and-functi.patch
deleted file mode 100644 (file)
index 6853f98..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-From 359440e90906fcc3deb97c427092d424594cf730 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 23 Jan 2025 08:44:16 +0000
-Subject: efi/cper, cxl: Prefix protocol error struct and function names with
- cxl_
-
-From: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
-
-[ Upstream commit 84973331442a57bac31b40eaef6f264496c6f3fd ]
-
-Rename the protocol error struct from struct cper_sec_prot_err to
-struct cxl_cper_sec_prot_err and cper_print_prot_err() to
-cxl_cper_print_prot_err() to maintain naming consistency. No
-functional changes.
-
-Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
-Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-Reviewed-by: Ira Weiny <ira.weiny@intel.com>
-Reviewed-by: Dave Jiang <dave.jiang@intel.com>
-Reviewed-by: Fan Ni <fan.ni@samsung.com>
-Reviewed-by: Gregory Price <gourry@gourry.net>
-Reviewed-by: Dan Williams <dan.j.williams@intel.com>
-Link: https://patch.msgid.link/20250123084421.127697-2-Smita.KoralahalliChannabasappa@amd.com
-Signed-off-by: Dave Jiang <dave.jiang@intel.com>
-Stable-dep-of: b584bfbd7ec4 ("ACPI: APEI: GHES: Disable KASAN instrumentation when compile testing with clang < 18")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/firmware/efi/cper.c     | 4 ++--
- drivers/firmware/efi/cper_cxl.c | 3 ++-
- drivers/firmware/efi/cper_cxl.h | 5 +++--
- 3 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
-index 3587295cd0206..e0adbd6df9b53 100644
---- a/drivers/firmware/efi/cper.c
-+++ b/drivers/firmware/efi/cper.c
-@@ -690,11 +690,11 @@ cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata
-               else
-                       goto err_section_too_small;
-       } else if (guid_equal(sec_type, &CPER_SEC_CXL_PROT_ERR)) {
--              struct cper_sec_prot_err *prot_err = acpi_hest_get_payload(gdata);
-+              struct cxl_cper_sec_prot_err *prot_err = acpi_hest_get_payload(gdata);
-               printk("%ssection_type: CXL Protocol Error\n", newpfx);
-               if (gdata->error_data_length >= sizeof(*prot_err))
--                      cper_print_prot_err(newpfx, prot_err);
-+                      cxl_cper_print_prot_err(newpfx, prot_err);
-               else
-                       goto err_section_too_small;
-       } else {
-diff --git a/drivers/firmware/efi/cper_cxl.c b/drivers/firmware/efi/cper_cxl.c
-index a55771b99a97a..cbaabcb7382d9 100644
---- a/drivers/firmware/efi/cper_cxl.c
-+++ b/drivers/firmware/efi/cper_cxl.c
-@@ -55,7 +55,8 @@ enum {
-       USP,    /* CXL Upstream Switch Port */
- };
--void cper_print_prot_err(const char *pfx, const struct cper_sec_prot_err *prot_err)
-+void cxl_cper_print_prot_err(const char *pfx,
-+                           const struct cxl_cper_sec_prot_err *prot_err)
- {
-       if (prot_err->valid_bits & PROT_ERR_VALID_AGENT_TYPE)
-               pr_info("%s agent_type: %d, %s\n", pfx, prot_err->agent_type,
-diff --git a/drivers/firmware/efi/cper_cxl.h b/drivers/firmware/efi/cper_cxl.h
-index 86bfcf7909eca..0e3ab0ba17c36 100644
---- a/drivers/firmware/efi/cper_cxl.h
-+++ b/drivers/firmware/efi/cper_cxl.h
-@@ -18,7 +18,7 @@
- #pragma pack(1)
- /* Compute Express Link Protocol Error Section, UEFI v2.10 sec N.2.13 */
--struct cper_sec_prot_err {
-+struct cxl_cper_sec_prot_err {
-       u64 valid_bits;
-       u8 agent_type;
-       u8 reserved[7];
-@@ -61,6 +61,7 @@ struct cper_sec_prot_err {
- #pragma pack()
--void cper_print_prot_err(const char *pfx, const struct cper_sec_prot_err *prot_err);
-+void cxl_cper_print_prot_err(const char *pfx,
-+                           const struct cxl_cper_sec_prot_err *prot_err);
- #endif //__CPER_CXL_
--- 
-2.51.0
-
index f018ae92770e9133ac6a36f20b5d5dfd9cea0f72..cb2eff2d1e57d27248ace86c051d1f3eb0972ada 100644 (file)
@@ -94,11 +94,6 @@ kexec-define-functions-to-map-and-unmap-segments.patch
 ima-kexec-define-functions-to-copy-ima-log-at-soft-b.patch
 ima-verify-the-previous-kernel-s-ima-buffer-lies-in-.patch
 of-kexec-refactor-ima_get_kexec_buffer-to-use-ima_va.patch
-efi-cper-cxl-prefix-protocol-error-struct-and-functi.patch
-efi-cper-cxl-make-definitions-and-structures-global.patch
-acpi-ghes-cper-recognize-and-cache-cxl-protocol-erro.patch
-acpi-apei-ghes-add-helper-for-cper-cxl-protocol-erro.patch
-acpi-apei-ghes-disable-kasan-instrumentation-when-co.patch
 drm-exynos-vidi-fix-to-avoid-directly-dereferencing-.patch
 drm-exynos-vidi-remove-redundant-error-handling-in-v.patch
 drm-exynos-vidi-use-ctx-lock-to-protect-struct-vidi_.patch