Blame SOURCES/0021-Dont-reference-pdu-after-it-has-been-freed.patch

dc245c
Dont reference *pdu after it has been freed
dc245c
dc245c
Message-id: <1383729402-27559-3-git-send-email-pbonzini@redhat.com>
dc245c
Patchwork-id: 55497
dc245c
O-Subject: [PATCH 02/11] Dont reference *pdu after it has been freed
dc245c
Bugzilla: 1026820
dc245c
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
dc245c
RH-Acked-by: Orit Wasserman <owasserm@redhat.com>
dc245c
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
dc245c
dc245c
From: Ronnie Sahlberg <ronniesahlberg@gmail.com>
dc245c
dc245c
(cherry picked from commit 804c5b02112d84c79460e7b2a01fe42f0ca5e687)
dc245c
---
dc245c
 lib/iscsi-command.c | 4 ++--
dc245c
 1 file changed, 2 insertions(+), 2 deletions(-)
dc245c
diff --git a/lib/iscsi-command.c b/lib/iscsi-command.c
dc245c
index e52612d..95127a5 100644
dc245c
--- a/lib/iscsi-command.c
dc245c
+++ b/lib/iscsi-command.c
dc245c
@@ -1636,7 +1636,7 @@ iscsi_scsi_cancel_all_tasks(struct iscsi_context *iscsi)
dc245c
 {
dc245c
 	struct iscsi_pdu *pdu;
dc245c
 
dc245c
-	for (pdu = iscsi->waitpdu; pdu; pdu = pdu->next) {
dc245c
+	while ((pdu = iscsi->waitpdu)) {
dc245c
 		SLIST_REMOVE(&iscsi->waitpdu, pdu);
dc245c
 		if ( !(pdu->flags & ISCSI_PDU_NO_CALLBACK)) {
dc245c
 			pdu->callback(iscsi, SCSI_STATUS_CANCELLED, NULL,
dc245c
@@ -1644,7 +1644,7 @@ iscsi_scsi_cancel_all_tasks(struct iscsi_context *iscsi)
dc245c
 		}
dc245c
 		iscsi_free_pdu(iscsi, pdu);
dc245c
 	}
dc245c
-	for (pdu = iscsi->outqueue; pdu; pdu = pdu->next) {
dc245c
+	while ((pdu = iscsi->outqueue)) {
dc245c
 		SLIST_REMOVE(&iscsi->outqueue, pdu);
dc245c
 		if ( !(pdu->flags & ISCSI_PDU_NO_CALLBACK)) {
dc245c
 			pdu->callback(iscsi, SCSI_STATUS_CANCELLED, NULL,