lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <18f514ef3a61c877bc80f403db67a2106f4bdd44.camel@mailbox.org>
Date: Thu, 10 Jul 2025 17:11:58 +0200
From: Philipp Stanner <phasta@...lbox.org>
To: Philipp Stanner <phasta@...nel.org>, Danilo Krummrich <dakr@...nel.org>,
  David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>, Matthew
 Brost <matthew.brost@...el.com>,  Christian König
 <ckoenig.leichtzumerken@...il.com>, Maarten Lankhorst
 <maarten.lankhorst@...ux.intel.com>, Thomas Zimmermann
 <tzimmermann@...e.de>,  Tvrtko Ursulin <tvrtko.ursulin@...lia.com>,
 Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@....com>
Cc: dri-devel@...ts.freedesktop.org, nouveau@...ts.freedesktop.org, 
	linux-kernel@...r.kernel.org, linux-media@...r.kernel.org
Subject: Re: [PATCH v4 0/8] drm/sched: Fix memory leaks with cancel_job()
 callback

On Thu, 2025-07-10 at 14:54 +0200, Philipp Stanner wrote:
> Changes in v4:
>   - Change dev_err() to dev_warn() in pending_list emptyness check.
> 
> Changes in v3:
>   - Remove forgotten copy-past artifacts. (Tvrtko)
>   - Remove forgotten done_list struct member. (Tvrtko)
>   - Slightly adjust commit message of patch 7.
>   - Add RBs. (Maira, Danilo, Tvrtko)
> 
> Changes in v2:
>   - Add new unit test to test cancel_job()'s behavior. (Tvrtko)
>   - Add RB from Maíra
> 
> Changes since the RFC:
>   - Rename helper function for drm_sched_fini(). (Tvrtko)
>   - Add Link to Tvrtko's RFC patch to patch 1.
> 
> 
> Since a long time, drm_sched_fini() can leak jobs that are still in
> drm_sched.pending_list.
> 
> This series solves the leaks in a backwards-compatible manner by
> adding
> a new, optional callback. If that callback is implemented, the
> scheduler
> uses it to cancel all jobs from pending_list and then frees them.
> 
> Philipp Stanner (8):
>   drm/panfrost: Fix scheduler workqueue bug
>   drm/sched: Avoid memory leaks with cancel_job() callback
>   drm/sched/tests: Implement cancel_job() callback
>   drm/sched/tests: Add unit test for cancel_job()
>   drm/sched: Warn if pending_list is not empty
>   drm/nouveau: Make fence container helper usable driver-wide
>   drm/nouveau: Add new callback for scheduler teardown
>   drm/nouveau: Remove waitque for sched teardown
> 
>  drivers/gpu/drm/nouveau/nouveau_fence.c       | 35 ++++++----
>  drivers/gpu/drm/nouveau/nouveau_fence.h       |  7 ++
>  drivers/gpu/drm/nouveau/nouveau_sched.c       | 35 ++++++----
>  drivers/gpu/drm/nouveau/nouveau_sched.h       |  9 +--
>  drivers/gpu/drm/nouveau/nouveau_uvmm.c        |  8 +--
>  drivers/gpu/drm/panfrost/panfrost_job.c       |  2 +-
>  drivers/gpu/drm/scheduler/sched_main.c        | 37 ++++++----
>  .../gpu/drm/scheduler/tests/mock_scheduler.c  | 68 +++++++----------
> --
>  drivers/gpu/drm/scheduler/tests/sched_tests.h |  1 -
>  drivers/gpu/drm/scheduler/tests/tests_basic.c | 42 ++++++++++++
>  include/drm/gpu_scheduler.h                   | 18 +++++
>  11 files changed, 167 insertions(+), 95 deletions(-)
> 


Pushed to drm-misc-next, with an RB from Tvrtko I had forgot, and
without the misplaced panfrost patch.

Thanks guys. Good to see that we finally solved this issue. Had been
around for quite some time. We celebrate that with a beer or sth at XDC
:)


P.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ