From: sashiko-bot@kernel.org
To: "Nareshkumar Gollakoti" <naresh.kumar.g@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v4 4/7] drm/xe: dump GAM page fault report registers in devcoredump
Date: Mon, 12 Oct 2026 15:02:57 +0000 [thread overview]
Message-ID: <sashiko-outbox-168308@kernel.org> (raw)
In-Reply-To: <20261012145237.3788198-5-naresh.kumar.g@intel.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] NULL pointer dereference of q via q->gt when devcoredump is not tied to an exec queue
- [Medium] Premature release of forcewake for other_gt due to CLASS macro scoping
--
commit be0fac28379d0e5150a5b7bc7c0761e28bfdcbed
Author: Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
drm/xe: dump GAM page fault report registers in devcoredump
This commit adds the PAGE_FLTRPTQ_HEAD_GAMCTRL and PAGE_FLTRPTQ_TAIL_GAMCTRL
registers to the devcoredump snapshot. This state is intended to be available
during cleanup for post-mortem debugging.
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index f4a22e46eda78..a2a3437ec2f62 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
[ ... ]
> @@ -602,6 +635,10 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
>
> ss->guc.log = xe_guc_log_snapshot_capture(&guc->log, true);
> ss->guc.ct = xe_guc_ct_snapshot_capture(&guc->ct);
> + ss->gam_pf_report = xe_dbg_gt_snapshot_capture(q->gt,
> + other_gt,
> + XE_DBG_REGSET_GAM_PF,
> + XE_GT_TYPE_MAIN);
[Severity: High]
Can q be NULL here?
If a hardware hang is not tied to an exec queue (for example, a TLB
invalidation timeout triggering via xe_devcoredump_gt()), q is passed as NULL.
Will unconditionally dereferencing q->gt here cause a NULL pointer dereference
and prevent the devcoredump from being created? Should the function use the gt
parameter directly instead of q->gt?
[Severity: Medium]
Is the forcewake for other_gt still held when this register capture occurs?
Earlier in devcoredump_snapshot(), the forcewake for other_gt is acquired
using the CLASS(xe_force_wake, ...) macro inside an if (other_gt) { ... }
block. Because CLASS utilizes the C __attribute__((cleanup)) mechanism, the
forcewake is released as soon as that block ends.
Does this mean the new gam_pf_report capture runs after the forcewake has
already been dropped, potentially leading to hardware timeouts or reading
garbage data?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261012145237.3788198-1-naresh.kumar.g@intel.com?part=4
next prev parent reply other threads:[~2026-10-12 15:03 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 14:52 [PATCH v4 0/7] drm/xe: Capture additional HW register state in devcoredump Nareshkumar Gollakoti
2026-10-12 14:52 ` [PATCH v4 1/7] drm/xe/devcoredump: Capture GT fuse registers " Nareshkumar Gollakoti
2026-10-12 15:02 ` sashiko-bot
2026-10-12 14:52 ` [PATCH v4 2/7] drm/xe/devcoredump: Add GuC register snapshot to devcoredump Nareshkumar Gollakoti
2026-10-12 15:03 ` sashiko-bot
2026-10-12 14:52 ` [PATCH v4 3/7] drm/xe/guc: Print register addresses in capture snapshot output Nareshkumar Gollakoti
2026-10-12 14:52 ` [PATCH v4 4/7] drm/xe: dump GAM page fault report registers in devcoredump Nareshkumar Gollakoti
2026-10-12 15:02 ` sashiko-bot [this message]
2026-10-12 14:52 ` [PATCH v4 5/7] drm/xe/guc: add TDL, SLICE gfx registers to capture list Nareshkumar Gollakoti
2026-10-12 14:52 ` [PATCH v4 6/7] drm/xe: capture L3 node status registers in devcoredump Nareshkumar Gollakoti
2026-10-12 15:06 ` sashiko-bot
2026-10-12 14:52 ` [PATCH v4 7/7] drm/xe/guc: capture additional engine state registers Nareshkumar Gollakoti
2026-10-12 15:07 ` sashiko-bot
2026-10-12 18:56 ` ✗ CI.checkpatch: warning for drm/xe: Capture additional HW register state in devcoredump (rev4) Patchwork
2026-10-12 18:58 ` ✓ CI.KUnit: success " Patchwork
2026-10-12 22:04 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-13 4:36 ` ✓ Xe.CI.FULL: " 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=sashiko-outbox-168308@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=naresh.kumar.g@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