From: sashiko-bot@kernel.org
To: "Stuart Summers" <stuart.summers@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c
Date: Thu, 20 Aug 2026 20:20:52 +0000 [thread overview]
Message-ID: <20260820202052.640A21F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260820200719.84681-17-stuart.summers@intel.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
Pre-existing issues:
- [High] Use-After-Free during context restore batch buffer extraction.
- [High] Buffer over-read in `parse_wa_bb_lines` when parsing configuration strings that do not end with a trailing newline or space.
--
--- Patch [5]: [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c ---
commit 4db52fe672f5f434404033340d5405ac8d0e0318
Author: Stuart Summers <stuart.summers@intel.com>
drm/xe: Move debug configfs entries to xe_configfs_debug.c
Move the debug specific configfs attributes into the new xe_configfs_debug.c
file under a new debug configfs subdirectory. Ensure these are wrapped in
CONFIG_DRM_XE_DEBUG to allow finer grained debug changes outside of more
ABI specific configfs entries.
> diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.c b/drivers/gpu/drm/xe/xe_configfs_debug.c
> index 45617282cec54..b2667573efbed 100644
> --- a/drivers/gpu/drm/xe/xe_configfs_debug.c
> +++ b/drivers/gpu/drm/xe/xe_configfs_debug.c
> @@ -282,6 +282,23 @@ static struct xe_config_group_device *find_device(struct pci_dev *pdev)
> return xe_configfs_find_group_device(pdev);
> }
>
> +u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev *pdev,
> + enum xe_engine_class class,
> + const u32 **cs)
> +{
> + struct xe_config_group_device *dev = find_device(pdev);
> + u32 len;
> +
> + if (!dev)
> + return 0;
> +
> + scoped_guard(mutex, &dev->lock) {
> + if (cs)
> + *cs = dev->config.debug.ctx_restore_mid_bb[class].cs;
> +
> + len = dev->config.debug.ctx_restore_mid_bb[class].len;
> + }
> + config_group_put(&dev->group);
> +
> + return len;
> +}
[Severity: High]
This is a pre-existing issue, but does dropping the config group reference
here expose the returned *cs pointer to a use-after-free?
If a concurrent rmdir on the device's configfs directory drops the last
reference, xe_config_device_release() will free the batch buffer memory.
Since the caller (setup_configfs_mid_ctx_restore_bb() in xe_lrc.c) uses
this pointer after the function returns, it might perform a memcpy() on
freed memory.
[ ... ]
> +static ssize_t parse_wa_bb_lines(const char *lines,
> + struct wa_bb wa_bb[static XE_ENGINE_CLASS_MAX])
> +{
> + ssize_t dwords = 0, ret;
> + const char *p;
> +
> + for (p = lines; *p; p++) {
[Severity: High]
This isn't a bug introduced by this patch, but can this loop update read out
of bounds?
If the inner parsing logic (like parse_hex()) advances p exactly to the
null terminator (for example, when the input string doesn't end with a
newline or space), the unconditional p++ increments the pointer past \0.
The loop condition *p on the next iteration would then evaluate
out-of-bounds memory.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260820200719.84681-12-stuart.summers@intel.com?part=5
next prev parent reply other threads:[~2026-08-20 20:20 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 20:07 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-20 20:07 ` [PATCH 01/10] drm/xe: Guard configfs attribute reads in getters Stuart Summers
2026-08-20 20:19 ` sashiko-bot
2026-08-20 20:07 ` [PATCH 02/10] drm/xe: Sort xe_config_device fields Stuart Summers
2026-08-20 20:20 ` sashiko-bot
2026-08-20 20:07 ` [PATCH 03/10] drm/xe: Split out configfs data structures Stuart Summers
2026-08-20 20:07 ` [PATCH 04/10] drm/xe: Add a new debug focused configfs group Stuart Summers
2026-08-20 20:07 ` [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c Stuart Summers
2026-08-20 20:20 ` sashiko-bot [this message]
2026-08-20 20:07 ` [PATCH 06/10] drm/xe/guc: Add configfs support for guc_log_level Stuart Summers
2026-08-20 20:07 ` [PATCH 07/10] drm/xe/guc: Add support for NPK as a GuC log target Stuart Summers
2026-08-20 20:07 ` [PATCH 08/10] drm/xe: Add infrastructure for debug configfs parameters Stuart Summers
2026-08-20 20:19 ` sashiko-bot
2026-08-20 21:08 ` Summers, Stuart
2026-08-20 20:07 ` [PATCH 09/10] drm/xe: Migrate existing debug configfs entries to params infrastructure Stuart Summers
2026-08-20 20:07 ` [PATCH 10/10] drm/xe: Taint kernel when debug configfs parameters are set Stuart Summers
2026-08-20 20:14 ` ✗ CI.checkpatch: warning for Add new debug infrastructure for configfs (rev6) Patchwork
2026-08-20 20:16 ` ✓ CI.KUnit: success " Patchwork
2026-08-20 20:54 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-20 22:45 ` ✗ Xe.CI.FULL: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2026-08-20 21:06 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-20 21:06 ` [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c Stuart Summers
2026-08-20 21:28 ` sashiko-bot
2026-08-07 19:45 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-07 19:45 ` [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c Stuart Summers
2026-08-05 23:20 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-05 23:20 ` [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c Stuart Summers
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=20260820202052.640A21F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=stuart.summers@intel.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.