stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 5.10.y] drm/i915/gt: Cleanup partial engine discovery failures
@ 2025-04-09  2:58 Zhi Yang
  2025-04-10 15:56 ` Sasha Levin
  0 siblings, 1 reply; 2+ messages in thread
From: Zhi Yang @ 2025-04-09  2:58 UTC (permalink / raw)
  To: stable, chris.p.wilson
  Cc: xiangyu.chen, zhe.he, jani.nikula, joonas.lahtinen, rodrigo.vivi,
	airlied, daniel, matthew.d.roper, Zhi.Yang, janusz.krzysztofik,
	intel-gfx, dri-devel, linux-kernel

From: Chris Wilson <chris.p.wilson@intel.com>

commit 78a033433a5ae4fee85511ee075bc9a48312c79e upstream.

If we abort driver initialisation in the middle of gt/engine discovery,
some engines will be fully setup and some not. Those incompletely setup
engines only have 'engine->release == NULL' and so will leak any of the
common objects allocated.

v2:
 - Drop the destroy_pinned_context() helper for now.  It's not really
   worth it with just a single callsite at the moment.  (Janusz)

Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220915232654.3283095-2-matthew.d.roper@intel.com
Signed-off-by: Zhi Yang <Zhi.Yang@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
Build test passed.
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index a19537706ed1..eb6f4d7f1e34 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -904,8 +904,13 @@ int intel_engines_init(struct intel_gt *gt)
 			return err;
 
 		err = setup(engine);
-		if (err)
+		if (err) {
+			intel_engine_cleanup_common(engine);
 			return err;
+		}
+
+		/* The backend should now be responsible for cleanup */
+		GEM_BUG_ON(engine->release == NULL);
 
 		err = engine_init_common(engine);
 		if (err)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 5.10.y] drm/i915/gt: Cleanup partial engine discovery failures
  2025-04-09  2:58 [PATCH 5.10.y] drm/i915/gt: Cleanup partial engine discovery failures Zhi Yang
@ 2025-04-10 15:56 ` Sasha Levin
  0 siblings, 0 replies; 2+ messages in thread
From: Sasha Levin @ 2025-04-10 15:56 UTC (permalink / raw)
  To: stable; +Cc: Zhi Yang, Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 78a033433a5ae4fee85511ee075bc9a48312c79e

WARNING: Author mismatch between patch and upstream commit:
Backport author: Zhi Yang<Zhi.Yang@eng.windriver.com>
Commit author: Chris Wilson<chris.p.wilson@intel.com>

Status in newer kernel trees:
6.14.y | Present (exact SHA1)
6.13.y | Present (exact SHA1)
6.12.y | Present (exact SHA1)
6.6.y | Present (exact SHA1)
6.1.y | Present (different SHA1: 5c855bcc7306)
5.15.y | Not found

Note: The patch differs from the upstream commit:
---
1:  78a033433a5ae ! 1:  e10201240d55f drm/i915/gt: Cleanup partial engine discovery failures
    @@ Metadata
      ## Commit message ##
         drm/i915/gt: Cleanup partial engine discovery failures
     
    +    commit 78a033433a5ae4fee85511ee075bc9a48312c79e upstream.
    +
         If we abort driver initialisation in the middle of gt/engine discovery,
         some engines will be fully setup and some not. Those incompletely setup
         engines only have 'engine->release == NULL' and so will leak any of the
    @@ Commit message
         Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
         Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
         Link: https://patchwork.freedesktop.org/patch/msgid/20220915232654.3283095-2-matthew.d.roper@intel.com
    +    Signed-off-by: Zhi Yang <Zhi.Yang@windriver.com>
    +    Signed-off-by: He Zhe <zhe.he@windriver.com>
     
      ## drivers/gpu/drm/i915/gt/intel_engine_cs.c ##
     @@ drivers/gpu/drm/i915/gt/intel_engine_cs.c: int intel_engines_init(struct intel_gt *gt)
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.10.y       |  Success    |  Success   |

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-10 15:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09  2:58 [PATCH 5.10.y] drm/i915/gt: Cleanup partial engine discovery failures Zhi Yang
2025-04-10 15:56 ` Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).