Commit 64179a14 authored by Simona Vetter's avatar Simona Vetter
Browse files

Merge tag 'drm-misc-next-fixes-2025-01-24' of...

Merge tag 'drm-misc-next-fixes-2025-01-24' of https://gitlab.freedesktop.org/drm/misc/kernel

 into drm-next

drm-misc-next-fixes for v6.14-rc1:
- Fix a serious regression from commit e4b5ccd3 ("drm/v3d: Ensure
  job pointer is set to NULL after job completion")
- dmem cgroup Kconfig fix (acked by Tejun)
- virtio: uaf in dma_buf free path
- xlnx: kerneldoc

Signed-off-by: default avatarSimona Vetter <simona.vetter@ffwll.ch>
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/0d4a18f4-222c-4767-9169-e6350ce8fea5@linux.intel.com
parents 7f751be5 6e64d6b3
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -144,6 +144,4 @@ Internals

.. kernel-doc:: drivers/gpu/drm/xlnx/zynqmp_dp.c

.. kernel-doc:: drivers/gpu/drm/xlnx/zynqmp_dpsub.c

.. kernel-doc:: drivers/gpu/drm/xlnx/zynqmp_kms.c
+12 −4
Original line number Diff line number Diff line
@@ -107,8 +107,10 @@ v3d_irq(int irq, void *arg)

		v3d_job_update_stats(&v3d->bin_job->base, V3D_BIN);
		trace_v3d_bcl_irq(&v3d->drm, fence->seqno);
		dma_fence_signal(&fence->base);

		v3d->bin_job = NULL;
		dma_fence_signal(&fence->base);

		status = IRQ_HANDLED;
	}

@@ -118,8 +120,10 @@ v3d_irq(int irq, void *arg)

		v3d_job_update_stats(&v3d->render_job->base, V3D_RENDER);
		trace_v3d_rcl_irq(&v3d->drm, fence->seqno);
		dma_fence_signal(&fence->base);

		v3d->render_job = NULL;
		dma_fence_signal(&fence->base);

		status = IRQ_HANDLED;
	}

@@ -129,8 +133,10 @@ v3d_irq(int irq, void *arg)

		v3d_job_update_stats(&v3d->csd_job->base, V3D_CSD);
		trace_v3d_csd_irq(&v3d->drm, fence->seqno);
		dma_fence_signal(&fence->base);

		v3d->csd_job = NULL;
		dma_fence_signal(&fence->base);

		status = IRQ_HANDLED;
	}

@@ -167,8 +173,10 @@ v3d_hub_irq(int irq, void *arg)

		v3d_job_update_stats(&v3d->tfu_job->base, V3D_TFU);
		trace_v3d_tfu_irq(&v3d->drm, fence->seqno);
		dma_fence_signal(&fence->base);

		v3d->tfu_job = NULL;
		dma_fence_signal(&fence->base);

		status = IRQ_HANDLED;
	}

+6 −5
Original line number Diff line number Diff line
@@ -189,10 +189,11 @@ static void virtgpu_dma_buf_free_obj(struct drm_gem_object *obj)
	struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);
	struct virtio_gpu_device *vgdev = obj->dev->dev_private;
	struct dma_buf_attachment *attach = obj->import_attach;
	struct dma_resv *resv = attach->dmabuf->resv;

	if (attach) {
		dma_resv_lock(resv, NULL);
		struct dma_buf *dmabuf = attach->dmabuf;

		dma_resv_lock(dmabuf->resv, NULL);

		virtio_gpu_detach_object_fenced(bo);

@@ -200,10 +201,10 @@ static void virtgpu_dma_buf_free_obj(struct drm_gem_object *obj)
			dma_buf_unmap_attachment(attach, bo->sgt,
						 DMA_BIDIRECTIONAL);

		dma_resv_unlock(resv);
		dma_resv_unlock(dmabuf->resv);

		dma_buf_detach(attach->dmabuf, attach);
		dma_buf_put(attach->dmabuf);
		dma_buf_detach(dmabuf, attach);
		dma_buf_put(dmabuf);
	}

	if (bo->created) {
+1 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ struct zynqmp_dpsub_audio;
 * @layers: Video and graphics layers
 * @dp: The DisplayPort controller
 * @dma_align: DMA alignment constraint (must be a power of 2)
 * @audio: DP audio data
 */
struct zynqmp_dpsub {
	struct device *dev;
+0 −1
Original line number Diff line number Diff line
@@ -1128,7 +1128,6 @@ config CGROUP_PIDS

config CGROUP_RDMA
	bool "RDMA controller"
	select PAGE_COUNTER
	help
	  Provides enforcement of RDMA resources defined by IB stack.
	  It is fairly easy for consumers to exhaust RDMA resources, which