* Re: [PATCH] drm/i915: fix mock ring memory leak on context allocation failure
2026-09-19 17:17 [PATCH] drm/i915: fix mock ring memory leak on context allocation failure Guangshuo Li
@ 2026-09-21 6:30 ` Joonas Lahtinen
2026-09-21 15:06 ` krzk
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Joonas Lahtinen @ 2026-09-21 6:30 UTC (permalink / raw)
To: Chris Wilson, David Airlie, Guangshuo Li, Jani Nikula,
Matthew Auld, Rodrigo Vivi, Simona Vetter, Tvrtko Ursulin,
dri-devel, intel-gfx, linux-kernel
Cc: stable
Quoting Guangshuo Li (2026-09-19 20:17:10)
> mock_context_alloc() creates ce->ring before allocating and pinning the
> context timeline. mock_ring() initializes the ring reference count and
> returns the initial reference to the context.
>
> If intel_timeline_create() fails, mock_context_alloc() returns without
> dropping the ring reference. The same leak occurs when
> mock_timeline_pin() fails after the timeline has been created. Since
> context allocation did not complete, CONTEXT_ALLOC_BIT is not set and
> the later context teardown does not release the ring.
>
> Drop the initial ring reference with kref_put() on both failure paths.
> When the reference count reaches zero, intel_ring_free() releases the
> ring VMA and frees the ring allocation. Clear ce->ring after dropping
> the reference to avoid retaining a stale pointer.
>
> The issue was identified by a static analysis tool I developed and
> confirmed by manual review.
>
> Fixes: 75d0a7f31eec ("drm/i915: Lift timeline into intel_context")
> Cc: stable@vger.kernel.org
We're not going to put Fixes and especially not Cc stable in
for selftests.
You should use onion teardown idiom instead of duplicating code.
Commit message also reeks of LLM generation as an average developer
doesn't need "explain to me like I have never programmed before".
Regards, Joonas
> Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/mock_engine.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gt/mock_engine.c b/drivers/gpu/drm/i915/gt/mock_engine.c
> index 79741f043f03..fa4368730d33 100644
> --- a/drivers/gpu/drm/i915/gt/mock_engine.c
> +++ b/drivers/gpu/drm/i915/gt/mock_engine.c
> @@ -170,6 +170,8 @@ static int mock_context_alloc(struct intel_context *ce)
>
> ce->timeline = intel_timeline_create(ce->engine->gt);
> if (IS_ERR(ce->timeline)) {
> + kref_put(&ce->ring->ref, intel_ring_free);
> + ce->ring = NULL;
> kfree(ce->engine);
> return PTR_ERR(ce->timeline);
> }
> @@ -178,6 +180,8 @@ static int mock_context_alloc(struct intel_context *ce)
> if (err) {
> intel_timeline_put(ce->timeline);
> ce->timeline = NULL;
> + kref_put(&ce->ring->ref, intel_ring_free);
> + ce->ring = NULL;
> return err;
> }
>
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] drm/i915: fix mock ring memory leak on context allocation failure
2026-09-19 17:17 [PATCH] drm/i915: fix mock ring memory leak on context allocation failure Guangshuo Li
2026-09-21 6:30 ` Joonas Lahtinen
@ 2026-09-21 15:06 ` krzk
2026-09-22 2:55 ` Guangshuo Li
2026-09-21 15:09 ` krzk
2026-09-21 15:15 ` krzk
3 siblings, 1 reply; 6+ messages in thread
From: krzk @ 2026-09-21 15:06 UTC (permalink / raw)
To: Guangshuo Li
Cc: David Airlie, dri-devel, Rodrigo Vivi, Joonas Lahtinen,
Jani Nikula, stable, Simona Vetter, Chris Wilson, linux-kernel,
Tvrtko Ursulin, intel-gfx, Matthew Auld
On Sun, 20 Sep 2026 01:17:10 +0800, Guangshuo Li wrote:
> mock_context_alloc() creates ce->ring before allocating and pinning the
> context timeline. mock_ring() initializes the ring reference count and
> returns the initial reference to the context.
>
> If intel_timeline_create() fails, mock_context_alloc() returns without
> dropping the ring reference. The same leak occurs when
> mock_timeline_pin() fails after the timeline has been created. Since
> context allocation did not complete, CONTEXT_ALLOC_BIT is not set and
> the later context teardown does not release the ring.
>
> Drop the initial ring reference with kref_put() on both failure paths.
> When the reference count reaches zero, intel_ring_free() releases the
> ring VMA and frees the ring allocation. Clear ce->ring after dropping
> the reference to avoid retaining a stale pointer.
>
> The issue was identified by a static analysis tool I developed and
> confirmed by manual review.
>
> Fixes: 75d0a7f31eec ("drm/i915: Lift timeline into intel_context")
> Cc: stable@vger.kernel.org
> Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/mock_engine.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.
More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.
This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down. Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.
Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem, how to document usage of LLM and how what you should not
do if this was posted in a good faith.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] drm/i915: fix mock ring memory leak on context allocation failure
2026-09-21 15:06 ` krzk
@ 2026-09-22 2:55 ` Guangshuo Li
0 siblings, 0 replies; 6+ messages in thread
From: Guangshuo Li @ 2026-09-22 2:55 UTC (permalink / raw)
To: krzk
Cc: David Airlie, dri-devel, Rodrigo Vivi, Joonas Lahtinen,
Jani Nikula, stable, Simona Vetter, Chris Wilson, linux-kernel,
Tvrtko Ursulin, intel-gfx, Matthew Auld
Hi Krzysztof,
Thank you for your feedback.
On Mon, 21 Sept 2026 at 23:06, <krzk@kernel.org> wrote:
>
>
> On Sun, 20 Sep 2026 01:17:10 +0800, Guangshuo Li wrote:
> > mock_context_alloc() creates ce->ring before allocating and pinning the
> > context timeline. mock_ring() initializes the ring reference count and
> > returns the initial reference to the context.
> >
> > If intel_timeline_create() fails, mock_context_alloc() returns without
> > dropping the ring reference. The same leak occurs when
> > mock_timeline_pin() fails after the timeline has been created. Since
> > context allocation did not complete, CONTEXT_ALLOC_BIT is not set and
> > the later context teardown does not release the ring.
> >
> > Drop the initial ring reference with kref_put() on both failure paths.
> > When the reference count reaches zero, intel_ring_free() releases the
> > ring VMA and frees the ring allocation. Clear ce->ring after dropping
> > the reference to avoid retaining a stale pointer.
> >
> > The issue was identified by a static analysis tool I developed and
> > confirmed by manual review.
> >
> > Fixes: 75d0a7f31eec ("drm/i915: Lift timeline into intel_context")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> > ---
> > drivers/gpu/drm/i915/gt/mock_engine.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
>
>
> You sent multiple independent patches, to multiple independent
> subsystems. The amount of these patches clearly suggest this was
> AI generated and most likely not tested.
>
> More importantly, you sent all this work without properly organizing
> relevant patches into patchsets. This makes reviewing difficult
> and might cause multiple reviewers to address the same issue.
> Replying to the entire set is impossible and requires handling each
> patch independently, instead of applying or discarding the set.
> Maintainers also won't see the bigger picture of your work. Quite
> worrying.
>
> This is on the verge of hostile patch: bomb us with so many
> contributions, we won't be able to handle them in efficient manner,
> like responding ONCE to ask you to slow down. Considering all this
> is untested and LLM generated, I have even more doubts whether this
> should be considered for review.
>
> Please read kernel documentation BEFORE posting more work. It will
> explain you how to identify subsystems, how to organize your work per
> subsystem, how to document usage of LLM and how what you should not
> do if this was posted in a good faith.
>
> Best regards,
> Krzysztof
>
>
>
I would like to clarify that these patches were manually reviewed and
audited by us; they were not simply generated and submitted by an LLM.
However, I understand why the recent submission pattern may have given
that impression. We sent too many patches in a short period of time,
and we also failed to respond to some discussions in a timely manner,
which made the situation look worse.
Many of the recent patches, especially the v2 revisions, are
corrections and improvements based on previous review feedback rather
than completely new untested changes. That said, we recognize that the
way we submitted them increased the burden on maintainers and
reviewers.
We apologize for the pressure this caused to the community. We will be
more careful about organizing patches by subsystem, preparing proper
patchsets, and following the kernel contribution guidelines before
sending future work.
Thank you again for pointing this out.
Best regards,
Guangshuo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: fix mock ring memory leak on context allocation failure
2026-09-19 17:17 [PATCH] drm/i915: fix mock ring memory leak on context allocation failure Guangshuo Li
2026-09-21 6:30 ` Joonas Lahtinen
2026-09-21 15:06 ` krzk
@ 2026-09-21 15:09 ` krzk
2026-09-21 15:15 ` krzk
3 siblings, 0 replies; 6+ messages in thread
From: krzk @ 2026-09-21 15:09 UTC (permalink / raw)
To: Guangshuo Li
Cc: David Airlie, dri-devel, Simona Vetter, Rodrigo Vivi, intel-gfx,
linux-kernel, stable, Jani Nikula, Chris Wilson, Joonas Lahtinen,
Tvrtko Ursulin, Matthew Auld
On Sun, 20 Sep 2026 01:17:10 +0800, Guangshuo Li wrote:
> mock_context_alloc() creates ce->ring before allocating and pinning the
> context timeline. mock_ring() initializes the ring reference count and
> returns the initial reference to the context.
>
> If intel_timeline_create() fails, mock_context_alloc() returns without
> dropping the ring reference. The same leak occurs when
> mock_timeline_pin() fails after the timeline has been created. Since
> context allocation did not complete, CONTEXT_ALLOC_BIT is not set and
> the later context teardown does not release the ring.
>
> Drop the initial ring reference with kref_put() on both failure paths.
> When the reference count reaches zero, intel_ring_free() releases the
> ring VMA and frees the ring allocation. Clear ce->ring after dropping
> the reference to avoid retaining a stale pointer.
>
> The issue was identified by a static analysis tool I developed and
> confirmed by manual review.
>
> Fixes: 75d0a7f31eec ("drm/i915: Lift timeline into intel_context")
> Cc: stable@vger.kernel.org
> Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/mock_engine.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.
More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.
This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down. Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.
Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem, how to document usage of LLM and how what you should not
do if this was posted in a good faith.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] drm/i915: fix mock ring memory leak on context allocation failure
2026-09-19 17:17 [PATCH] drm/i915: fix mock ring memory leak on context allocation failure Guangshuo Li
` (2 preceding siblings ...)
2026-09-21 15:09 ` krzk
@ 2026-09-21 15:15 ` krzk
3 siblings, 0 replies; 6+ messages in thread
From: krzk @ 2026-09-21 15:15 UTC (permalink / raw)
To: Guangshuo Li
Cc: stable, Matthew Auld, Jani Nikula, intel-gfx, David Airlie,
linux-kernel, Tvrtko Ursulin, Joonas Lahtinen, Simona Vetter,
Chris Wilson, dri-devel, Rodrigo Vivi
On Sun, 20 Sep 2026 01:17:10 +0800, Guangshuo Li wrote:
> mock_context_alloc() creates ce->ring before allocating and pinning the
> context timeline. mock_ring() initializes the ring reference count and
> returns the initial reference to the context.
>
> If intel_timeline_create() fails, mock_context_alloc() returns without
> dropping the ring reference. The same leak occurs when
> mock_timeline_pin() fails after the timeline has been created. Since
> context allocation did not complete, CONTEXT_ALLOC_BIT is not set and
> the later context teardown does not release the ring.
>
> Drop the initial ring reference with kref_put() on both failure paths.
> When the reference count reaches zero, intel_ring_free() releases the
> ring VMA and frees the ring allocation. Clear ce->ring after dropping
> the reference to avoid retaining a stale pointer.
>
> The issue was identified by a static analysis tool I developed and
> confirmed by manual review.
>
> Fixes: 75d0a7f31eec ("drm/i915: Lift timeline into intel_context")
> Cc: stable@vger.kernel.org
> Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/mock_engine.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.
More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.
This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down. Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.
Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem, how to document usage of LLM and how what you should not
do if this was posted in a good faith.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread