Skip to content

ATA port deferred qc fixes

Damien Le Moal linux-ide 2 versions Applied

Status from this message: Applied to for-7.0-fixes.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 24 repliesApplied
  2. v12 patches 3 repliesSuperseded

Changes in v2 from the cover letter

- Corrected typo in patch 1 message, improved comment in code and added a WARN_ON_ONCE() call to verify that a timed out qc is not active.
- Fixed patch 2 to not call ata_scsi_requeue_deferred_qc() without the port lock held. This call is in fact removed: it is not needed as ata_scsi_requeue_deferred_qc() is called in EH, which is always run when removing a port.

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/2ata: libata-eh: correctly handle deferred qc timeoutsdrivers/ata/libata-eh.c+19 -315 replies
2/2ata: libata-core: fix cancellation of a port deferred qc workdrivers/ata/libata-core.c+3 -52 replies

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by.

PatchHannes ReineckeIgor Pylypiv
1/2R-b R-b
2/2R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] ATA port deferred qc fixes

The first patch addresses a use-after-free issue when a deferred qc times out. The second patch avoids a call to a potentially sleeping function while a port spinlock is held.

Changes from v1:
- Corrected typo in patch 1 message, improved comment in code and added a WARN_ON_ONCE() call to verify that a timed out qc is not active.
- Fixed patch 2 to not call ata_scsi_requeue_deferred_qc() without the port lock held. This call is in fact removed: it is not needed as ata_scsi_requeue_deferred_qc() is called in EH, which is always run when removing a port.

Damien Le Moal (2):
ata: libata-eh: correctly handle deferred qc timeouts
ata: libata-core: fix cancellation of a port deferred qc work

 drivers/ata/libata-core.c |  8 +++-----
 drivers/ata/libata-eh.c   | 22 +++++++++++++++++++---
 2 files changed, 22 insertions(+), 8 deletions(-)
Signature · 1 line
2.53.0