[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 1/6] blockjob: fix dead pointer in txn list
From: |
John Snow |
Subject: |
[Qemu-block] [PATCH v2 1/6] blockjob: fix dead pointer in txn list |
Date: |
Mon, 24 Oct 2016 16:56:28 -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>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Kevin Wolf <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 e1d0382..f55bfec 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -247,6 +247,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
- [Qemu-block] [PATCH v2 0/6] jobs: fix transactional race condition, John Snow, 2016/10/24
- [Qemu-block] [PATCH v2 1/6] blockjob: fix dead pointer in txn list,
John Snow <=
- [Qemu-block] [PATCH v2 3/6] blockjob: add .start field, John Snow, 2016/10/24
- [Qemu-block] [PATCH v2 4/6] blockjob: add block_job_start, John Snow, 2016/10/24
- [Qemu-block] [PATCH v2 2/6] blockjob: add .clean property, John Snow, 2016/10/24
- [Qemu-block] [PATCH v2 6/6] iotests: add transactional failure race test, John Snow, 2016/10/24
- [Qemu-block] [PATCH v2 5/6] blockjob: refactor backup_start as backup_job_create, John Snow, 2016/10/24
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/6] jobs: fix transactional race condition (For-2.8 ?), John Snow, 2016/10/27