Make both create_periodic_time() and pt_adjust_vcpu() call write_{un}lock with similar arguments.
Requested-by: Jan Beulich <jbeul...@suse.com> Signed-off-by: Boris Ostrovsky <boris.ostrov...@oracle.com> --- New patch. I ended up doing what Jan asked --- create_periodic_time() is also using different start pointers in lock() and unlock(). xen/arch/x86/hvm/vpt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c index 560fab9cfc60..4cc0a0848bd7 100644 --- a/xen/arch/x86/hvm/vpt.c +++ b/xen/arch/x86/hvm/vpt.c @@ -592,7 +592,7 @@ static void pt_adjust_vcpu(struct periodic_time *pt, struct vcpu *v) if ( pt->vcpu == NULL ) return; - write_lock(&pt->vcpu->domain->arch.hvm.pl_time->pt_migrate); + write_lock(&v->domain->arch.hvm.pl_time->pt_migrate); if ( pt->vcpu == v ) goto out; @@ -613,7 +613,7 @@ static void pt_adjust_vcpu(struct periodic_time *pt, struct vcpu *v) pt_vcpu_unlock(v); out: - write_unlock(&pt->vcpu->domain->arch.hvm.pl_time->pt_migrate); + write_unlock(&v->domain->arch.hvm.pl_time->pt_migrate); } void pt_adjust_global_vcpu_target(struct vcpu *v) -- 1.8.3.1