Unverified Commit 96770856 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!387 kvm: arm64: fix some pvsched bugs

Merge Pull Request from: @yezengruan 
 
kvm: arm64: fix some pvsched bugs

1. Clear kvm_vcpu_arch::pvsched::base on vcpu reset
The guest memory will otherwise be corrupted by KVM if we reboot into
an old guest kernel which is **not** aware of the pvsched feature.

2. Fix boot cpu pvsched init abnormal
The pv_sched_init was called too early in the boot in setup_arch, hence
pvsched_vcpu_state was not initializedfo vcpu 0.

https://gitee.com/openeuler/kernel/issues/I6E2VI?from=project-issue 
 
Link:https://gitee.com/openeuler/kernel/pulls/387

 

Reviewed-by: default avatarKevin Zhu <zhukeqian1@huawei.com>
Reviewed-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents 9c73241f bf96cce4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -351,3 +351,4 @@ int __init pv_sched_init(void)

	return 0;
}
early_initcall(pv_sched_init);
+0 −2
Original line number Diff line number Diff line
@@ -424,8 +424,6 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)
	smp_init_cpus();
	smp_build_mpidr_hash();

	pv_sched_init();

	/* Init percpu seeds for random tags after cpus are set up. */
	kasan_init_tags();

+2 −0
Original line number Diff line number Diff line
@@ -1176,6 +1176,8 @@ static int kvm_arch_vcpu_ioctl_vcpu_init(struct kvm_vcpu *vcpu,
	else
		vcpu->arch.power_off = false;

	kvm_arm_pvsched_vcpu_init(&vcpu->arch);

	return 0;
}