Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH 1/9] drm/xe/rtp: Add RING_FORCE_TO_NONPRIV_DENY to OA whitelists
Date: Fri, 29 May 2026 12:12:35 -0700	[thread overview]
Message-ID: <878q92m3mk.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <ahdOKYJHW/U4t2l5@soc-5CG1426VCC.clients.intel.com>

On Wed, 27 May 2026 13:03:53 -0700, Umesh Nerlige Ramappa wrote:
>

Hi Umesh,

> On Tue, May 26, 2026 at 12:12:33PM -0700, Umesh Nerlige Ramappa wrote:
> > On Thu, May 21, 2026 at 04:35:25PM -0700, Dixit, Ashutosh wrote:
> >> On Thu, 21 May 2026 16:14:50 -0700, Umesh Nerlige Ramappa wrote:
> >>>
> >>> On Mon, May 18, 2026 at 04:47:08PM -0700, Ashutosh Dixit wrote:
> >>>> Unconditionally whitelisting OA registers is a security violation. Set
> >>>> RING_FORCE_TO_NONPRIV_DENY bit in OA nonpriv slots, so that OA registers
> >>>> don't get whitelisted by default after probe/reset/restart.
>
> probe/gt-reset/resume to be precise.

Yes, good idea, I'll change these and maybe add a comment too near
WHITELIST_OA_MMIO_TRG().

> During resume and gt-reset flows KMD will apply the reg_sr to mmio, so
> you are ensuring DENY is enforced in these paths as well. As for
> engine-reset, the hwe->reg_sr is registered with GuC and GuC will save
> and restore these values.
>

This will likely need to go to Patch 5 ("drm/xe/rtp: Save OA nonpriv
registers to register save/restore lists"), let me see. I already added a
hint there, but will see if the commit message can be improved in the next
rev. We can take a look again at v2.

> Some of this info would be helpful in the commit messages OR comments to
> understand the bigger picture (for reviewers at least)

Thanks.
--
Ashutosh



>
> >>>>
> >>>> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> >>>> ---
> >>>> drivers/gpu/drm/xe/xe_reg_whitelist.c | 7 ++++---
> >>>> 1 file changed, 4 insertions(+), 3 deletions(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/xe/xe_reg_whitelist.c b/drivers/gpu/drm/xe/xe_reg_whitelist.c
> >>>> index fb65940848d7a..d6a5d499373bc 100644
> >>>> --- a/drivers/gpu/drm/xe/xe_reg_whitelist.c
> >>>> +++ b/drivers/gpu/drm/xe/xe_reg_whitelist.c
> >>>> @@ -105,9 +105,10 @@ static const struct xe_rtp_entry_sr register_whitelist[] = {
> >>>>	},
> >>>>
> >>>> #define WHITELIST_OA_MMIO_TRG(trg, status, head) \
> >>>> -	WHITELIST(trg, RING_FORCE_TO_NONPRIV_ACCESS_RW), \
> >>>> -	WHITELIST(status, RING_FORCE_TO_NONPRIV_ACCESS_RD), \
> >>>> -	WHITELIST(head, RING_FORCE_TO_NONPRIV_ACCESS_RD | RING_FORCE_TO_NONPRIV_RANGE_4)
> >>>> +	WHITELIST(trg, RING_FORCE_TO_NONPRIV_ACCESS_RW | RING_FORCE_TO_NONPRIV_DENY), \
> >>>> +	WHITELIST(status, RING_FORCE_TO_NONPRIV_ACCESS_RD | RING_FORCE_TO_NONPRIV_DENY), \
> >>>> +	WHITELIST(head, RING_FORCE_TO_NONPRIV_ACCESS_RD | RING_FORCE_TO_NONPRIV_RANGE_4 | \
> >>>> +		  RING_FORCE_TO_NONPRIV_DENY)
> >>>
> >>> status and head should be clubbed into one slot, starting with status and
> >>> RANGE_4. Maybe that can be a patch before this one.
> >>
> >> No, e.g. for OAG, status is 0xdafc which is not a multiple of 16, which is
> >> a requirement for RANGE_4.
> >
> > I missed that. I thought HW compared ranges differently. In that case,
> > this is correct and the individual registers can be whitelisted
> > separately if needed. Otherwise some registers can be dropped whenever
> > you plan to do it.
> >
> > Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> >
> >
> > Umesh.
> >>
> >> Also, about RANGE_4 above, there were different suggestions, e.g. tail and
> >> oabuffer should be different slots, rather than grouping in a single
> >> RANGE_4 above. To avoid any such controversy, I decided to focus this
> >> series only on removing unconditional whitelisting for OA registers. Any
> >> other changes, such as removing or retaining RANGE_4, we can do after this
> >> series is reviewed/merged.
> >>
> >> Thanks.
> >> --
> >> Ashutosh
> >>
> >>>> #define WHITELIST_OAG_MMIO_TRG \
> >>>>	WHITELIST_OA_MMIO_TRG(OAG_MMIOTRIGGER, OAG_OASTATUS, OAG_OAHEADPTR)
> >>>> --
> >>>> 2.54.0
> >>>>

  reply	other threads:[~2026-05-29 19:12 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-18 23:47 [PATCH 0/9] Don't whitelist OA registers unconditionally Ashutosh Dixit
2026-05-18 23:47 ` [PATCH 1/9] drm/xe/rtp: Add RING_FORCE_TO_NONPRIV_DENY to OA whitelists Ashutosh Dixit
2026-05-21 23:14   ` Umesh Nerlige Ramappa
2026-05-21 23:35     ` Dixit, Ashutosh
2026-05-26 19:12       ` Umesh Nerlige Ramappa
2026-05-27 20:03         ` Umesh Nerlige Ramappa
2026-05-29 19:12           ` Dixit, Ashutosh [this message]
2026-05-18 23:47 ` [PATCH 2/9] drm/xe/rtp: Maintain OA whitelists separately Ashutosh Dixit
2026-05-29 18:31   ` Umesh Nerlige Ramappa
2026-05-18 23:47 ` [PATCH 3/9] drm/xe/rtp: Keep track of non-OA nonpriv slots Ashutosh Dixit
2026-05-29 18:30   ` Umesh Nerlige Ramappa
2026-05-29 20:45     ` Dixit, Ashutosh
2026-05-29 23:24       ` Umesh Nerlige Ramappa
2026-05-30  1:51         ` Dixit, Ashutosh
2026-06-09  3:51           ` Dixit, Ashutosh
2026-05-18 23:47 ` [PATCH 4/9] drm/xe/rtp: Generalize whitelist_apply_to_hwe Ashutosh Dixit
2026-05-18 23:47 ` [PATCH 5/9] drm/xe/rtp: Save OA nonpriv registers to register save/restore lists Ashutosh Dixit
2026-05-27 22:00   ` Umesh Nerlige Ramappa
2026-05-29 20:45     ` Dixit, Ashutosh
2026-05-18 23:47 ` [PATCH 6/9] drm/xe/rtp: Toggle 'deny' bit to (de-)whitelist OA regs Ashutosh Dixit
2026-05-29 18:33   ` Umesh Nerlige Ramappa
2026-05-18 23:47 ` [PATCH 7/9] drm/xe/rtp: (De-)whitelist OA registers for all hwe's for a gt Ashutosh Dixit
2026-05-27 21:49   ` Umesh Nerlige Ramappa
2026-05-29 23:03     ` Dixit, Ashutosh
2026-06-02 22:47       ` Umesh Nerlige Ramappa
2026-06-03 18:49         ` Dixit, Ashutosh
2026-05-18 23:47 ` [PATCH 8/9] drm/xe/oa: (De-)whitelist OA registers on OA stream open/release Ashutosh Dixit
2026-05-29 18:35   ` Umesh Nerlige Ramappa
2026-05-18 23:47 ` [PATCH 9/9] drm/xe/rtp: Ensure locking/ref counting for OA whitelists Ashutosh Dixit
2026-05-27 20:04   ` Umesh Nerlige Ramappa
2026-06-01 23:30     ` Dixit, Ashutosh
2026-05-18 23:54 ` ✓ CI.KUnit: success for Don't whitelist OA registers unconditionally Patchwork
2026-05-19  1:05 ` ✓ Xe.CI.BAT: " Patchwork
2026-05-19  8:32 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-05-27 19:53 ` [PATCH 0/9] " Demi Marie Obenour

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=878q92m3mk.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=umesh.nerlige.ramappa@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox