Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc835f78 authored by Christian Borntraeger's avatar Christian Borntraeger Committed by Martin Schwidefsky
Browse files

[S390] kvm_s390: Fix oops in virtio device detection with "mem="



The current virtio model on s390 has the descriptor page above the main
memory. The guest virtio detection will oops if the mem= parameter is
used to reduce/change the memory size.
We have to use real_memory_size instead of max_pfn to detect the virtio
descriptor pages.

Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 675be97a
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -322,13 +322,13 @@ static int __init kvm_devices_init(void)
		return rc;
		return rc;
	}
	}


	rc = vmem_add_mapping(PFN_PHYS(max_pfn), PAGE_SIZE);
	rc = vmem_add_mapping(real_memory_size, PAGE_SIZE);
	if (rc) {
	if (rc) {
		s390_root_dev_unregister(kvm_root);
		s390_root_dev_unregister(kvm_root);
		return rc;
		return rc;
	}
	}


	kvm_devices = (void *) PFN_PHYS(max_pfn);
	kvm_devices = (void *) real_memory_size;


	ctl_set_bit(0, 9);
	ctl_set_bit(0, 9);
	register_external_interrupt(0x2603, kvm_extint_handler);
	register_external_interrupt(0x2603, kvm_extint_handler);