[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/5] blockjob: fix dead pointer in txn list
From: |
John Snow |
Subject: |
[Qemu-devel] [PATCH 1/5] blockjob: fix dead pointer in txn list |
Date: |
Mon, 8 Aug 2016 15:09:37 -0400 |
From: Vladimir Sementsov-Ogievskiy <address@hidden>
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 <address@hidden>
Tested-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
[Rewrote commit message. --js]
Signed-off-by: John Snow <address@hidden>
Signed-off-by: John Snow <address@hidden>
---
blockjob.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/blockjob.c b/blockjob.c
index a5ba3be..e045091 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -216,6 +216,7 @@ static void block_job_completed_single(BlockJob *job)
}
job->cb(job->opaque, job->ret);
if (job->txn) {
+ QLIST_REMOVE(job, txn_list);
block_job_txn_unref(job->txn);
}
block_job_unref(job);
--
2.7.4
- [Qemu-devel] [PATCH 0/5] blockjobs: Fix transactional race condition, John Snow, 2016/08/08
- [Qemu-devel] [PATCH 1/5] blockjob: fix dead pointer in txn list,
John Snow <=
- [Qemu-devel] [PATCH 2/5] blockjob: add block_job_start, John Snow, 2016/08/08
- [Qemu-devel] [PATCH 4/5] blockjob: add .clean property, John Snow, 2016/08/08
- [Qemu-devel] [PATCH 3/5] blockjob: refactor backup_start as backup_job_create, John Snow, 2016/08/08
- [Qemu-devel] [PATCH 5/5] iotests: add transactional failure race test, John Snow, 2016/08/08
- Re: [Qemu-devel] [PATCH 0/5] blockjobs: Fix transactional race condition, no-reply, 2016/08/08
- Re: [Qemu-devel] [PATCH 0/5] blockjobs: Fix transactional race condition, John Snow, 2016/08/08