From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c40F8-00017M-LU for qemu-devel@nongnu.org; Tue, 08 Nov 2016 01:50:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c40F7-0000jj-TB for qemu-devel@nongnu.org; Tue, 08 Nov 2016 01:50:50 -0500 From: John Snow Date: Tue, 8 Nov 2016 01:50:34 -0500 Message-Id: <1478587839-9834-2-git-send-email-jsnow@redhat.com> In-Reply-To: <1478587839-9834-1-git-send-email-jsnow@redhat.com> References: <1478587839-9834-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [PATCH v4 1/6] blockjob: fix dead pointer in txn list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, stefanha@redhat.com, pbonzini@redhat.com, jcody@redhat.com, qemu-devel@nongnu.org, John Snow From: Vladimir Sementsov-Ogievskiy Though it is not intended to be reached through normal circumstances, if we do not gracefully deconstruct the transaction QLIST, we may wind up with stale pointers in the list. The rest of this series attempts to address the underlying issues, but this should fix list inconsistencies. Signed-off-by: Vladimir Sementsov-Ogievskiy Tested-by: John Snow Reviewed-by: John Snow [Rewrote commit message. --js] Signed-off-by: John Snow Reviewed-by: Eric Blake Reviewed-by: Kevin Wolf Signed-off-by: John Snow --- blockjob.c | 1 + 1 file changed, 1 insertion(+) diff --git a/blockjob.c b/blockjob.c index 4aa14a4..4d0ef53 100644 --- a/blockjob.c +++ b/blockjob.c @@ -256,6 +256,7 @@ static void block_job_completed_single(BlockJob *job) } if (job->txn) { + QLIST_REMOVE(job, txn_list); block_job_txn_unref(job->txn); } block_job_unref(job); -- 2.7.4