The IDXD Linux kernel driver used for the Data Streaming Accelerator (DSA) support on recent Xeon processors is being cleaned up for some “not so happy code paths” after an Intel engineer uncovered memory leaks and other troubles with the open-source driver code.
Intel engineer Vinicius Costa Gomes took over earlier this year as the new IDXD driver maintainer after the departure of the driver’s former maintainer from the company. In going through the IDXD code for the DSA accelerators, Vinicius recently uncovered some “not so happy code paths” in a debugging kernel build that turned up some lockdep, kernel memory leak, and other issues. Plus a crash was also uncovered but not yet fixed.
There are 9 patches under review for cleaning up the IDXD driver and working its way toward the mainline kernel:
“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.”
There is a fix for a crash when the event log is enabled, possible invalid memory access after a field level reset (FLR), flushing the workqueues on FLR, allowing DMA clients to empty the pending queue, fixing a memory leak when a workqueue is reset, fix leaking the event log memory, and other fixes.
This follows other unfortunate Intel accelerator driver happenings with Linux 6.17 FSCRPT demoting Intel QAT usage due to being bug prone and slow. There was also a second demotion of QAT in Linux 6.17 due to the Intel QuickAssist accelerator not paying off for kernel usage of SKCIPHER and AEAD algorithms.