[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [qemu-xen master] blockjob: fix dead pointer in txn list



commit 1e93b9fba2e0e23105e91574fcfc193f899d8e74
Author:     Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx>
AuthorDate: Tue Nov 8 01:50:34 2016 -0500
Commit:     Jeff Cody <jcody@xxxxxxxxxx>
CommitDate: Mon Nov 14 22:47:34 2016 -0500

    blockjob: fix dead pointer in txn list
    
    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 <vsementsov@xxxxxxxxxxxxx>
    Tested-by: John Snow <jsnow@xxxxxxxxxx>
    Reviewed-by: John Snow <jsnow@xxxxxxxxxx>
    Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
    Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
    Signed-off-by: John Snow <jsnow@xxxxxxxxxx>
    Message-id: 1478587839-9834-2-git-send-email-jsnow@xxxxxxxxxx
    [Rewrote commit message. --js]
    Signed-off-by: John Snow <jsnow@xxxxxxxxxx>
    Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
    Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
    
    Signed-off-by: John Snow <jsnow@xxxxxxxxxx>
    Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
---
 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);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.