search for: nvif_parent_dtor

Displaying 6 results from an estimated 6 matches for "nvif_parent_dtor".

2024 Feb 22
1
[PATCH] drm/nouveau: use dedicated wq for fence uevents work
...@@ -670,7 +676,9 @@ nouveau_drm_device_init(struct drm_device *dev) nouveau_cli_fini(&drm->client); fail_master: nouveau_cli_fini(&drm->master); -fail_wq: +fail_fence_wq: + destroy_workqueue(drm->fence_wq); +fail_sched_wq: destroy_workqueue(drm->sched_wq); fail_alloc: nvif_parent_dtor(&drm->parent); @@ -725,6 +733,7 @@ nouveau_drm_device_fini(struct drm_device *dev) nouveau_cli_fini(&drm->client); nouveau_cli_fini(&drm->master); + destroy_workqueue(drm->fence_wq); destroy_workqueue(drm->sched_wq); nvif_parent_dtor(&drm->parent); mute...
2020 Nov 06
2
[PATCH 2/3] drm/nouveau: manage nouveau_drm lifetime with devres
...> nvif_parent_ctor(&nouveau_parent, &drm->parent); > drm->master.base.object.parent = &drm->parent; > @@ -620,7 +617,6 @@ nouveau_drm_device_init(struct drm_device *dev) > nouveau_cli_fini(&drm->master); > fail_alloc: > nvif_parent_dtor(&drm->parent); > - kfree(drm); > return ret; > } > > @@ -654,7 +650,6 @@ nouveau_drm_device_fini(struct drm_device *dev) > nouveau_cli_fini(&drm->client); > nouveau_cli_fini(&drm->master); > nvif_parent_dtor(&dr...
2024 Feb 23
1
[PATCH] drm/nouveau: use dedicated wq for fence uevents work
...> fail_master: > > nouveau_cli_fini(&drm->master); > > -fail_wq: > > +fail_fence_wq: > > + destroy_workqueue(drm->fence_wq); > > +fail_sched_wq: > > destroy_workqueue(drm->sched_wq); > > fail_alloc: > > nvif_parent_dtor(&drm->parent); > > @@ -725,6 +733,7 @@ nouveau_drm_device_fini(struct drm_device *dev) > > > > nouveau_cli_fini(&drm->client); > > nouveau_cli_fini(&drm->master); > > + destroy_workqueue(drm->fence_wq); > > de...
2020 Nov 06
0
[PATCH 2/3] drm/nouveau: manage nouveau_drm lifetime with devres
...= dev; + struct nouveau_drm *drm = nouveau_drm(dev); nvif_parent_ctor(&nouveau_parent, &drm->parent); drm->master.base.object.parent = &drm->parent; @@ -620,7 +617,6 @@ nouveau_drm_device_init(struct drm_device *dev) nouveau_cli_fini(&drm->master); fail_alloc: nvif_parent_dtor(&drm->parent); - kfree(drm); return ret; } @@ -654,7 +650,6 @@ nouveau_drm_device_fini(struct drm_device *dev) nouveau_cli_fini(&drm->client); nouveau_cli_fini(&drm->master); nvif_parent_dtor(&drm->parent); - kfree(drm); } /* @@ -720,6 +715,7 @@ static int...
2020 Nov 06
4
[PATCH 0/3] drm/nouveau: extend the lifetime of nouveau_drm
Hi folks, Currently, when the device is removed (or the driver is unbound) the nouveau_drm structure de-allocated. However, it's still accessible from and used by some DRM layer callbacks. For example, file handles can be closed after the device has been removed (physically or otherwise). This series converts the Nouveau device structure to be allocated and de-allocated with the
2020 Nov 03
4
[PATCH 0/3] drm/nouveau: fix a use-after-free in postclose()
This series fixes a number of use-after-frees in nouveau's postclose() handler. It was discovered by pointing IGT's core_hotunplug tests at a nouveau device, but the steps to reproduce it are simple: 1. Open the device file 2. Unbind the driver or remove the device 3. Close the file opened in step 1. During the device removal, the nouveau_drm structure is de-allocated, but is