From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: <sashiko-reviews@lists.linux.dev>
Cc: "Michael J. Ruhl" <michael.j.ruhl@intel.com>,
<intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v3 03/10] drm/xe/vsec: Protect against missing config
Date: Mon, 24 Aug 2026 15:01:56 -0400 [thread overview]
Message-ID: <aoyVJBGaYkMEImpr@intel.com> (raw)
In-Reply-To: <20260824163635.C03301F00A3A@smtp.kernel.org>
On Mon, Aug 24, 2026 at 04:36:35PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
>
> New issues:
> - [Medium] Subsystem guidelines violation: The patch uses the absence of `soc_remapper.set_telem_region` as a proxy check to prevent execution on Virtual Functions (VF) instead of an explicit `IS_SRIOV_VF()` guard.
Sashiko has a point here.
If the goal is to check for VF as commit message states, the IS_SRIOV_VF is the
right check.
If we need to really ensure the set_telem_region is there we need to add
a function in the xe_soc_remmaper component, rather than traversing the
component and checking it internals, what is a xe component violation.
Please create a helper with a better commit message or use the IS_SRIOV_VF
macro.
>
> Pre-existing issues:
> - [High] The `xe_pmt_cb` struct is missing the `.read_reg` and `.write_reg` callbacks required for safe PMT Crashlog control register access on discrete GPUs.
> --
>
> --- Patch [3]: [PATCH v3 03/10] drm/xe/vsec: Protect against missing config ---
> commit 6d90522f74020b6e17f1f98588ed1740977adfb4
> Author: Michael J. Ruhl <michael.j.ruhl@intel.com>
>
> drm/xe/vsec: Protect against missing config
>
> This commit prevents PMT registration and telemetry read access when the
> soc-remapper callbacks are not configured, specifically targeting Virtual
> Function (VF) init paths.
>
> > 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
> [ ... ]
> > @@ -210,6 +210,8 @@ void xe_vsec_init(struct xe_device *xe)
> >
> > switch (platform) {
> > case XE_VSEC_BMG:
> > + if (!xe->soc_remapper.set_telem_region)
> > + return;
>
> [Severity: Medium]
> The commit message mentions that some init paths (VF) will not provide
> soc-remapper callbacks. Is it safe to use this feature presence as a proxy
> check to prevent execution on Virtual Functions?
>
> According to the SR-IOV guidelines for the xe driver, VFs must be explicitly
> blocked from PF-only resource registration using an IS_SRIOV_VF() guard to
> prevent hardware failures and MMIO timeouts.
>
> Should this code explicitly check for the VF context instead of relying on
> the absence of the set_telem_region callback?
>
> > info->priv_data = &xe_pmt_cb;
>
> [Severity: High]
> This is a pre-existing issue, but does assigning xe_pmt_cb here expose us to
> unprotected MMIO accesses during suspend?
>
> Since BMG exposes VSEC_CAP_CRASHLOG in xe_vsec_info, the crashlog driver
> will probe and create sysfs entries. However, the xe_pmt_cb structure lacks
> the .read_reg and .write_reg callbacks.
>
> When userspace accesses crashlog sysfs attributes, the driver will fall back
> to using direct readl()/writel() on entry->disc_table.
>
> If the GPU is in D3cold, will these direct accesses bypass runtime PM checks
> and attempt to read or write powered-off MMIO, potentially triggering MCE or
> AER kernel panics?
>
> > break;
> > default:
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260824162317.2450380-12-michael.j.ruhl@intel.com?part=3
next prev parent reply other threads:[~2026-08-24 19:02 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 [this message]
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
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=aoyVJBGaYkMEImpr@intel.com \
--to=rodrigo.vivi@intel.com \
--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 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.