From: sashiko-bot@kernel.org
To: "Michael J. Ruhl" <michael.j.ruhl@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v3 08/10] drm/xe/vsec: Crescent Island PMT callbacks
Date: Mon, 24 Aug 2026 16:37:16 +0000 [thread overview]
Message-ID: <20260824163717.32DD31F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260824162317.2450380-20-michael.j.ruhl@intel.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The CRI PMT functionality and VSEC registration lack an explicit IS_SRIOV_VF() guard, allowing Virtual Functions to access PF-only SOC_BASE MMIO registers.
--
--- Patch [8]: [PATCH v3 08/10] drm/xe/vsec: Crescent Island PMT callbacks ---
commit 20efb72ccb405a03098f93ae5977f349cb941f0a
Author: Michael J. Ruhl <michael.j.ruhl@intel.com>
drm/xe/vsec: Crescent Island PMT callbacks
This commit introduces necessary callbacks to read and write status and
control information for Crescent Island (CRI) PMT usage. It also adds the
logic to register the CRI PMT functionality.
> diff --git a/drivers/gpu/drm/xe/xe_vsec.c b/drivers/gpu/drm/xe/xe_vsec.c
> --- a/drivers/gpu/drm/xe/xe_vsec.c
> +++ b/drivers/gpu/drm/xe/xe_vsec.c
[ ... ]
> +static int xe_pmt_read_reg(struct device *dev, u32 guid, u32 *reg, u32 offset)
> +{
> + struct xe_device *xe = kdev_to_xe_device(dev);
> + void __iomem *disc_addr = xe->mmio.regs;
[ ... ]
> + inst = FIELD_GET(GUID_RECORD_ID, guid) == PUNIT ?
> + CRI_CRASHLOG_PUNIT_DISC_OFFSET : CRI_CRASHLOG_OOBMSM_DISC_OFFSET;
> + disc_addr += CRI_DISCOVERY_OFFSET + inst + offset;
> +
> + xe_pm_runtime_get(xe);
[Severity: High]
Can a Virtual Function (VF) trigger this access?
It looks like disc_addr calculates a SOC_BASE MMIO region offset using
CRI_DISCOVERY_OFFSET, which is typically restricted to Physical Functions
(PFs).
Accessing PF-only hardware resources from a VF context can cause MMIO
timeouts and hardware failures.
[ ... ]
> @@ -375,8 +478,17 @@ void xe_vsec_init(struct xe_device *xe)
> if (!xe->soc_remapper.set_telem_region)
> return;
> xe->pmt.base_offset = BMG_TELEMETRY_OFFSET;
> - info->priv_data = &xe_pmt_cb;
> + info->priv_data = &xe_bmg_pmt_cb;
> + break;
> +
> + case XE_VSEC_CRI:
> + if (!xe->soc_remapper.set_telem_region)
> + return;
> + xe->pmt.base_offset = CRI_TELEMETRY_OFFSET;
> + info->priv_data = &xe_cri_pmt_cb;
> + xe->soc_remapper.set_telem_region(xe, CRI_IDX_TELEM_DISCOVERY);
> break;
[Severity: High]
Should this platform registration block be guarded by IS_SRIOV_VF()?
Since the newly added callbacks interact directly with SOC_BASE MMIO regions,
checking for IS_SRIOV_VF(xe) and returning early could prevent VFs from
registering the PMT functionality and attempting to access restricted hardware.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260824162317.2450380-12-michael.j.ruhl@intel.com?part=8
next prev parent reply other threads:[~2026-08-24 16:37 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-24 16:23 [PATCH v3 00/10] Crescent Island PMT support Michael J. Ruhl
2026-08-24 16:23 ` [PATCH v3 01/10] platform/x86/intel/pmt: complete pcidev to device update Michael J. Ruhl
2026-08-24 18:56 ` Rodrigo Vivi
2026-08-25 9:40 ` Ilpo Järvinen
2026-08-25 9:25 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 02/10] platform/x86/intel/pmt: Add register access callbacks Michael J. Ruhl
2026-08-24 16:36 ` sashiko-bot
2026-08-24 18:39 ` Ruhl, Michael J
2026-08-25 9:34 ` Ilpo Järvinen
2026-08-26 16:13 ` Ruhl, Michael J
2026-08-26 18:30 ` Ilpo Järvinen
2026-08-27 17:05 ` Ruhl, Michael J
2026-08-24 16:23 ` [PATCH v3 03/10] drm/xe/vsec: Protect against missing config Michael J. Ruhl
2026-08-24 16:36 ` sashiko-bot
2026-08-24 18:43 ` Ruhl, Michael J
2026-08-24 19:01 ` Rodrigo Vivi
2026-08-24 16:23 ` [PATCH v3 04/10] drm/xe/vsec: Use correct pm state get Michael J. Ruhl
2026-08-24 19:04 ` Rodrigo Vivi
2026-08-24 16:23 ` [PATCH v3 05/10] drm/xe/vsec: Support possible hotplug exit Michael J. Ruhl
2026-08-24 19:07 ` Rodrigo Vivi
2026-08-24 16:23 ` [PATCH v3 06/10] drm/xe/vsec: Support Crescent Island PMT Michael J. Ruhl
2026-08-24 16:33 ` sashiko-bot
2026-08-24 19:10 ` Rodrigo Vivi
2026-08-25 10:19 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 07/10] drm/xe/vsec: Crescent Island PMT decode Michael J. Ruhl
2026-08-24 16:35 ` sashiko-bot
2026-08-25 10:24 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 08/10] drm/xe/vsec: Crescent Island PMT callbacks Michael J. Ruhl
2026-08-24 16:37 ` sashiko-bot [this message]
2026-08-24 18:47 ` Ruhl, Michael J
2026-08-24 16:23 ` [PATCH v3 09/10] drm/xe/vsec: Support late bind fw information Michael J. Ruhl
2026-08-24 16:36 ` sashiko-bot
2026-08-24 19:15 ` Rodrigo Vivi
2026-08-26 13:45 ` Ruhl, Michael J
2026-08-25 10:01 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 10/10] drm/xe/vsec: Update PMT internal access for CRI Michael J. Ruhl
2026-08-24 19:18 ` Rodrigo Vivi
2026-08-25 10:16 ` Ilpo Järvinen
2026-08-25 6:44 ` ✓ CI.KUnit: success for Crescent Island PMT support (rev5) Patchwork
2026-08-25 7:29 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-25 10:56 ` ✗ Xe.CI.FULL: failure " Patchwork
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=20260824163717.32DD31F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=michael.j.ruhl@intel.com \
--cc=sashiko-reviews@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox