[PATCH v2 00/10] dmaengine: idxd: Memory leak and FLR fixes

Vinicius Costa Gomes posted 10 patches 1 month, 1 week ago
drivers/dma/idxd/cdev.c   |  8 ++++----
drivers/dma/idxd/device.c | 43 +++++++++++++++++++++++++++++--------------
drivers/dma/idxd/dma.c    | 18 ++++++++++++++++++
drivers/dma/idxd/idxd.h   |  1 +
drivers/dma/idxd/init.c   | 14 +++++++-------
drivers/dma/idxd/irq.c    | 16 ++++++++++++++++
drivers/dma/idxd/sysfs.c  |  1 +
7 files changed, 76 insertions(+), 25 deletions(-)
[PATCH v2 00/10] dmaengine: idxd: Memory leak and FLR fixes
Posted by Vinicius Costa Gomes 1 month, 1 week ago
Hi,

During testing some not so happy code paths in a debugging (lockdep,
kmemleak, etc) kernel, found a few issues.

There's still a crash that happens when doing a PCI unbind, but I
don't have a patch at this time.

Cheers,

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
---
Changes in v2:
- Fixed messing up the definition of FLR (Function Level
  Reset) (Nathan Lynch)
- Simplified callers of idxd_device_config(), moved a common check,
  and locking to inside the function (Dave Jiang);
- For idxd DMA backend, ->terminate_all() now flushes all pending
  descriptors (Dave Jiang);
- For idxd DMA backend, ->device_synchronize() now waits for submitted
  operations to finish (Dave Jiang);
- Link to v1: https://lore.kernel.org/r/20250804-idxd-fix-flr-on-kernel-queues-v3-v1-0-4e020fbf52c1@intel.com

---
Vinicius Costa Gomes (10):
      dmaengine: idxd: Fix lockdep warnings when calling idxd_device_config()
      dmaengine: idxd: Fix crash when the event log is disabled
      dmaengine: idxd: Fix possible invalid memory access after FLR
      dmaengine: idxd: Flush kernel workqueues on Function Level Reset
      dmaengine: idxd: Flush all pending descriptors
      dmaengine: idxd: Wait for submitted operations on .device_synchronize()
      dmaengine: idxd: Fix not releasing workqueue on .release()
      dmaengine: idxd: Fix memory leak when a wq is reset
      dmaengine: idxd: Fix freeing the allocated ida too late
      dmaengine: idxd: Fix leaking event log memory

 drivers/dma/idxd/cdev.c   |  8 ++++----
 drivers/dma/idxd/device.c | 43 +++++++++++++++++++++++++++++--------------
 drivers/dma/idxd/dma.c    | 18 ++++++++++++++++++
 drivers/dma/idxd/idxd.h   |  1 +
 drivers/dma/idxd/init.c   | 14 +++++++-------
 drivers/dma/idxd/irq.c    | 16 ++++++++++++++++
 drivers/dma/idxd/sysfs.c  |  1 +
 7 files changed, 76 insertions(+), 25 deletions(-)
---
base-commit: 1daede86fef9e9890c5781541ad4934c776858c5
change-id: 20250804-idxd-fix-flr-on-kernel-queues-v3-13f37abd7178

Best regards,
--  
Vinicius