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

Changed files
+7 -2
arch
s390
kvm
mm
+6 -2
arch/s390/kvm/pv.c
··· 411 411 u16 _rc, _rrc; 412 412 int cc = 0; 413 413 414 - /* Make sure the counter does not reach 0 before calling s390_uv_destroy_range */ 415 - atomic_inc(&kvm->mm->context.protected_count); 414 + /* 415 + * Nothing to do if the counter was already 0. Otherwise make sure 416 + * the counter does not reach 0 before calling s390_uv_destroy_range. 417 + */ 418 + if (!atomic_inc_not_zero(&kvm->mm->context.protected_count)) 419 + return 0; 416 420 417 421 *rc = 1; 418 422 /* If the current VM is protected, destroy it */
+1
arch/s390/mm/gmap.c
··· 2853 2853 page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); 2854 2854 if (!page) 2855 2855 return -ENOMEM; 2856 + page->index = 0; 2856 2857 table = page_to_virt(page); 2857 2858 memcpy(table, gmap->table, 1UL << (CRST_ALLOC_ORDER + PAGE_SHIFT)); 2858 2859