From: Jonathan Cameron <jonathan.cameron@huawei.com>
To: "Fabio M. De Francesco" <fabio.m.de.francesco@linux.intel.com>
Cc: linux-cxl@vger.kernel.org,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Len Brown" <lenb@kernel.org>, "Tony Luck" <tony.luck@intel.com>,
"Borislav Petkov" <bp@alien8.de>,
"Hanjun Guo" <guohanjun@huawei.com>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Shuai Xue" <xueshuai@linux.alibaba.com>,
"Davidlohr Bueso" <dave@stgolabs.net>,
"Dave Jiang" <dave.jiang@intel.com>,
"Alison Schofield" <alison.schofield@intel.com>,
"Vishal Verma" <vishal.l.verma@intel.com>,
"Ira Weiny" <ira.weiny@intel.com>,
"Dan Williams" <dan.j.williams@intel.com>,
"Mahesh J Salgaonkar" <mahesh@linux.ibm.com>,
"Oliver O'Halloran" <oohall@gmail.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Sunil V L" <sunilvl@ventanamicro.com>,
"Xiaofei Tan" <tanxiaofei@huawei.com>,
"Mario Limonciello" <mario.limonciello@amd.com>,
"Huacai Chen" <chenhuacai@kernel.org>,
"Heinrich Schuchardt" <heinrich.schuchardt@canonical.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@kernel.org>,
"Guo Weikang" <guoweikang.kernel@gmail.com>,
"Xin Li" <xin@zytor.com>, "Will Deacon" <will@kernel.org>,
"Huang Yiwei" <quic_hyiwei@quicinc.com>,
"Gavin Shan" <gshan@redhat.com>,
"Smita Koralahalli" <Smita.KoralahalliChannabasappa@amd.com>,
"Uwe Kleine-König" <u.kleine-koenig@baylibre.com>,
"Li Ming" <ming.li@zohomail.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Kuppuswamy Sathyanarayanan"
<sathyanarayanan.kuppuswamy@linux.intel.com>,
"Karolina Stolarek" <karolina.stolarek@oracle.com>,
"Jon Pan-Doh" <pandoh@google.com>,
"Lukas Wunner" <lukas@wunner.de>,
"Shiju Jose" <shiju.jose@huawei.com>,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH 4/6 v6] acpi/ghes: Add helper for CXL protocol errors checks
Date: Tue, 28 Oct 2025 14:54:15 +0000 [thread overview]
Message-ID: <20251028145415.000034bd@huawei.com> (raw)
In-Reply-To: <20251023122612.1326748-5-fabio.m.de.francesco@linux.intel.com>
On Thu, 23 Oct 2025 14:25:39 +0200
"Fabio M. De Francesco" <fabio.m.de.francesco@linux.intel.com> wrote:
> Move the CPER CXL protocol errors validity out of
validity check
> cxl_cper_post_prot_err() to cxl_cper_sec_prot_err_valid() and limit the
to new cxl_cper_sec_prot_err_valid()
as otherwise it sounds like it already exists.
> serial number check only to CXL agents that are CXL devices (UEFI v2.10,
> Appendix N.2.13).
Perhaps a little more here on why. I assume because you are going to have
a second user for it, but good to say that. Also serves to justify the
export.
>
> Signed-off-by: Fabio M. De Francesco <fabio.m.de.francesco@linux.intel.com>
> ---
> drivers/acpi/apei/ghes.c | 32 ++++++++++++++++++++++----------
> include/cxl/event.h | 10 ++++++++++
> 2 files changed, 32 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index d6fe5f020e96..e69ae864f43d 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -706,30 +706,42 @@ static DEFINE_KFIFO(cxl_cper_prot_err_fifo, struct cxl_cper_prot_err_work_data,
> static DEFINE_SPINLOCK(cxl_cper_prot_err_work_lock);
> struct work_struct *cxl_cper_prot_err_work;
>
> -static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err,
> - int severity)
> +int cxl_cper_sec_prot_err_valid(struct cxl_cper_sec_prot_err *prot_err)
Useful to return an error number? Or would a bool be better given it is either
valid or not?
Otherwise looks good to me,
Jonathan
> {
> - 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;
> + return -EINVAL;
> }
>
> if (!(prot_err->valid_bits & PROT_ERR_VALID_ERROR_LOG)) {
> pr_err_ratelimited("CXL CPER invalid protocol error log\n");
> - return;
> + 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;
> + return -EINVAL;
> }
>
> - if (!(prot_err->valid_bits & PROT_ERR_VALID_SERIAL_NUMBER))
> - pr_warn(FW_WARN "CXL CPER no device serial number\n");
> + 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);
> +
> +static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err,
> + int severity)
> +{
> + struct cxl_cper_prot_err_work_data wd;
> + u8 *dvsec_start, *cap_start;
> +
> + if (cxl_cper_sec_prot_err_valid(prot_err))
> + return;
>
> guard(spinlock_irqsave)(&cxl_cper_prot_err_work_lock);
>
next prev parent reply other threads:[~2025-10-28 14:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-23 12:25 [PATCH 0/6 v6] Make ELOG and GHES log and trace consistently Fabio M. De Francesco
2025-10-23 12:25 ` [PATCH 1/6 v6] ACPI: extlog: Trace CPER Non-standard Section Body Fabio M. De Francesco
2025-10-28 16:19 ` Kuppuswamy Sathyanarayanan
2025-10-23 12:25 ` [PATCH 2/6 v6] ACPI: extlog: Trace CPER PCI Express Error Section Fabio M. De Francesco
2025-10-28 14:48 ` Jonathan Cameron
2025-10-31 10:18 ` Fabio M. De Francesco
2025-10-23 12:25 ` [PATCH 3/6 v6] acpi/ghes: Make GHES select ACPI_APEI_PCIEAER Fabio M. De Francesco
2025-10-23 14:56 ` kernel test robot
2025-10-28 14:49 ` Jonathan Cameron
2025-10-23 14:56 ` kernel test robot
2025-10-23 12:25 ` [PATCH 4/6 v6] acpi/ghes: Add helper for CXL protocol errors checks Fabio M. De Francesco
2025-10-28 14:54 ` Jonathan Cameron [this message]
2025-11-04 17:41 ` Fabio M. De Francesco
2025-10-23 12:25 ` [PATCH 5/6 v6] acpi/ghes: Add helper to copy CXL protocol error info to work struct Fabio M. De Francesco
2025-10-28 14:59 ` Jonathan Cameron
2025-10-23 12:25 ` [PATCH 6/6 v6] ACPI: extlog: Trace CPER CXL Protocol Error Section Fabio M. De Francesco
2025-10-28 15:06 ` Jonathan Cameron
2025-11-04 16:53 ` Fabio M. De Francesco
2025-10-27 19:40 ` [PATCH 0/6 v6] Make ELOG and GHES log and trace consistently Rafael J. Wysocki
2025-10-27 20:15 ` Luck, Tony
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251028145415.000034bd@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=Smita.KoralahalliChannabasappa@amd.com \
--cc=alison.schofield@intel.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=chenhuacai@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=fabio.m.de.francesco@linux.intel.com \
--cc=gshan@redhat.com \
--cc=guohanjun@huawei.com \
--cc=guoweikang.kernel@gmail.com \
--cc=heinrich.schuchardt@canonical.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=ira.weiny@intel.com \
--cc=karolina.stolarek@oracle.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lukas@wunner.de \
--cc=mahesh@linux.ibm.com \
--cc=mario.limonciello@amd.com \
--cc=mchehab@kernel.org \
--cc=ming.li@zohomail.com \
--cc=mingo@kernel.org \
--cc=oohall@gmail.com \
--cc=pandoh@google.com \
--cc=peterz@infradead.org \
--cc=quic_hyiwei@quicinc.com \
--cc=rafael@kernel.org \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=shiju.jose@huawei.com \
--cc=sunilvl@ventanamicro.com \
--cc=tanxiaofei@huawei.com \
--cc=tony.luck@intel.com \
--cc=u.kleine-koenig@baylibre.com \
--cc=vishal.l.verma@intel.com \
--cc=will@kernel.org \
--cc=xin@zytor.com \
--cc=xueshuai@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.