The master-abort patch introduced a background memory region covering all 64 bit pci address space, the visible parts being the unused pci-holes addresses.
The patch revealed the following issues: 1. Some memory regions have INT64_MAX size, but the size was supposed to be UINT64_MAX (meaning that the region covers all 64 bit address space). Having a region that is not even a multiple of PAGE_SIZE is really not what we want. 2. exec.c does not support all the 64 bit address range and when using an unsupported address, it leads to page tables corruption. 3. Some memory regions overlap and the visible region is selected by chance (the algorithm implementation) and not by the memory API: - selecting a proper priority - arrange the regions that are not supposed to overlap. This series reverts this patch and another related patch because the impact for 1.7 is too big. After the issues above are solved, the patch can finally be applied. Marcel Apfelbaum (1): Revert "hw/pci: partially handle pci master abort" Michael S. Tsirkin (1): Revert "exec: limit system memory size" exec.c | 7 +------ hw/pci/pci.c | 26 -------------------------- include/hw/pci/pci_bus.h | 1 - 3 files changed, 1 insertion(+), 33 deletions(-) -- 1.8.3.1