CVE-2026-92514 PUBLISHED

RDMA/erdma: Fix CEQ tasklet use-after-free on removal

Assigner: Linux
Reserved: 16.09.2026 Published: 17.09.2026 Updated: 17.09.2026

In the Linux kernel, the following vulnerability has been resolved:

RDMA/erdma: Fix CEQ tasklet use-after-free on removal

Each CEQ interrupt handler only schedules eqc->tasklet. The tasklet calls erdma_ceq_completion_handler(), which reads the DMA-coherent EQ ring through get_next_valid_eqe() and updates eq->dbrec through notify_eq().

erdma_ceqs_uninit() frees each CEQ IRQ and then destroys its EQ. free_irq() prevents another hard IRQ and waits for an in-flight handler, but it does not drain a tasklet that the handler already scheduled. The tasklet can therefore access eq->qbuf or eq->dbrec after erdma_eq_destroy() frees them.

Clearing ceq_cb->ready does not synchronize with a tasklet that already passed the check at the start of erdma_ceq_completion_handler().

Kill the tasklet after free_irq(), when no handler can schedule it again, and before erdma_ceq_uninit_one() releases the EQ buffers.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from f2a0a630b953451a59a2612ad8c29246638f0a38 to 0e8b78dabb1f156db05ffe74c6eae861167c7c21 (excl.)
  • affected from f2a0a630b953451a59a2612ad8c29246638f0a38 to 6e129c1310abfa786a510cc63e69c5ef12349048 (excl.)
  • affected from f2a0a630b953451a59a2612ad8c29246638f0a38 to f738c0a372d36a10dfae6dc357717c13b2aa72f4 (excl.)
  • affected from f2a0a630b953451a59a2612ad8c29246638f0a38 to a60c36d8d17f1b86705523d5eb6d290df28831e5 (excl.)
  • affected from f2a0a630b953451a59a2612ad8c29246638f0a38 to 61a25b8d333e1eb2a189881d516f8d5194e26840 (excl.)
  • affected from f2a0a630b953451a59a2612ad8c29246638f0a38 to 0ca79979384f031d710c4b3bae065dcb5d95aca3 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.0 is affected
  • unaffected from 0 to 6.0 (excl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References