kernel-hacking-2024-linux-s.../drivers/scsi/libsas
James Bottomley a82058a730 [SCSI] libsas: fix ata list corruption issue
I think this stems from a misunderstanding of how the ata error handler
works.  ata_scsi_cmd_error_handler() gets called with a passed in list
of commands to handle.  However, that list may still not be empty when
it exits.  The command ata_scsi_port_error_handler() must be called
(which takes no list) before the list will be completely emptied.  This
bites the sas error handler because the two are called from different
functions and the original list has gone out of scope before
ata_scsi_port_error_handler() is called. leading to some commands
dangling on bare stack, which is a potential memory corruption issue.
Fix this by manually deleting all outstanding commands from the on-stack
list before it goes out of scope.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2011-03-14 18:46:25 -05:00
..
Kconfig [SCSI] libsas: convert to standard kernel debugging 2011-01-24 12:05:38 -06:00
Makefile [SCSI] libsas: convert to standard kernel debugging 2011-01-24 12:05:38 -06:00
sas_ata.c [SCSI] libsas: fix ata list corruption issue 2011-03-14 18:46:25 -05:00
sas_discover.c
sas_dump.c [SCSI] libsas: convert to standard kernel debugging 2011-01-24 12:05:38 -06:00
sas_dump.h [SCSI] libsas: convert to standard kernel debugging 2011-01-24 12:05:38 -06:00
sas_event.c
sas_expander.c [SCSI] libsas: fix loopback topology bug during discovery 2011-02-28 11:40:34 -06:00
sas_host_smp.c
sas_init.c
sas_internal.h [SCSI] libsas: convert to standard kernel debugging 2011-01-24 12:05:38 -06:00
sas_phy.c
sas_port.c [SCSI] libsas: fix definition of wideport, include local sas address 2010-12-21 12:23:53 -06:00
sas_scsi_host.c [SCSI] libsas: convert to libata new error handler 2011-02-13 13:17:46 -06:00
sas_task.c