[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/VPMU: Set VPMU context pointer to NULL when freeing it
commit 0b5fd6433f54281f3bffd79f2d759dd0edc1f3ab Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> AuthorDate: Wed Sep 9 15:32:00 2015 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Wed Sep 9 15:32:00 2015 +0200 x86/VPMU: Set VPMU context pointer to NULL when freeing it Otherwise we may hit assertion in vpmu_initialise() if vcpu is offlined and then onlined again. For tidyness, set priv_context to NULL as well. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxx> Release-acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- xen/arch/x86/cpu/vpmu_amd.c | 2 ++ xen/arch/x86/cpu/vpmu_intel.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c index 825be72..04da81a 100644 --- a/xen/arch/x86/cpu/vpmu_amd.c +++ b/xen/arch/x86/cpu/vpmu_amd.c @@ -438,6 +438,8 @@ static void amd_vpmu_destroy(struct vcpu *v) amd_vpmu_unset_msr_bitmap(v); xfree(vpmu->context); + vpmu->context = NULL; + vpmu->priv_context = NULL; if ( vpmu_is_set(vpmu, VPMU_RUNNING) ) release_pmu_ownship(PMU_OWNER_HVM); diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c index b3750d7..12f80ae 100644 --- a/xen/arch/x86/cpu/vpmu_intel.c +++ b/xen/arch/x86/cpu/vpmu_intel.c @@ -828,7 +828,9 @@ static void core2_vpmu_destroy(struct vcpu *v) struct vpmu_struct *vpmu = vcpu_vpmu(v); xfree(vpmu->context); + vpmu->context = NULL; xfree(vpmu->priv_context); + vpmu->priv_context = NULL; if ( has_hvm_container_vcpu(v) && cpu_has_vmx_msr_bitmap ) core2_vpmu_unset_msr_bitmap(v->arch.hvm_vmx.msr_bitmap); release_pmu_ownship(PMU_OWNER_HVM); -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |