Please consider to create a ReadyKernel patch for this.
https://readykernel.com/ -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team On 07/13/2017 01:49 PM, Konstantin Khorenko wrote:
The commit is pushed to "branch-rh7-3.10.0-514.26.1.vz7.33.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git after rh7-3.10.0-514.26.1.vz7.33.5 ------> commit b6bd12ecf7c66c26883843d9dc58c0964dc1c0a8 Author: Maxim Patlasov <[email protected]> Date: Thu Jul 13 14:49:09 2017 +0400 ploop: fix typo in ploop_pb_get_first_req_from_tree Due to a typo, local pointer was defined as static leading to a nasty race: 1. Thread A (handling ploopN) initializes that pointer 2. Thread B (handling ploopM) re-initialize the same pointer 3. Thread A proceeds with using the pointer that currently points to some request belonging to ploopM. Hence data (ploop requests) leaked from one ploop device to another leading to list corruption. https://jira.sw.ru/browse/PSBM-67513 Signed-off-by: Maxim Patlasov <[email protected]> --- drivers/block/ploop/push_backup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/ploop/push_backup.c b/drivers/block/ploop/push_backup.c index ade5fa5..032706e 100644 --- a/drivers/block/ploop/push_backup.c +++ b/drivers/block/ploop/push_backup.c @@ -598,7 +598,7 @@ ploop_pb_get_first_req_from_tree(struct pb_set *pbs, unsigned old_owner) { struct rb_root *tree = &pbs->tree; - static struct ploop_request *p; + struct ploop_request *p; struct rb_node *n = rb_first(tree); if (!n) .
_______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
