Commit 0c189708 authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

Merge tag 'kvm-s390-master-6.5-1' of...

Merge tag 'kvm-s390-master-6.5-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

Two fixes for asynchronous destroy
parents 675a15f4 c2fceb59
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -411,8 +411,12 @@ int kvm_s390_pv_deinit_cleanup_all(struct kvm *kvm, u16 *rc, u16 *rrc)
	u16 _rc, _rrc;
	int cc = 0;

	/* Make sure the counter does not reach 0 before calling s390_uv_destroy_range */
	atomic_inc(&kvm->mm->context.protected_count);
	/*
	 * Nothing to do if the counter was already 0. Otherwise make sure
	 * the counter does not reach 0 before calling s390_uv_destroy_range.
	 */
	if (!atomic_inc_not_zero(&kvm->mm->context.protected_count))
		return 0;

	*rc = 1;
	/* If the current VM is protected, destroy it */
+1 −0
Original line number Diff line number Diff line
@@ -2853,6 +2853,7 @@ int s390_replace_asce(struct gmap *gmap)
	page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER);
	if (!page)
		return -ENOMEM;
	page->index = 0;
	table = page_to_virt(page);
	memcpy(table, gmap->table, 1UL << (CRST_ALLOC_ORDER + PAGE_SHIFT));