|
@@ -751,12 +751,12 @@ vu_add_mem_reg(VuDev *dev, VhostUserMsg *vmsg) {
|
|
|
* accessing it before we userfault.
|
|
|
*/
|
|
|
mmap_addr = mmap(0, dev_region->size + dev_region->mmap_offset,
|
|
|
- PROT_NONE, MAP_SHARED,
|
|
|
+ PROT_NONE, MAP_SHARED | MAP_NORESERVE,
|
|
|
vmsg->fds[0], 0);
|
|
|
} else {
|
|
|
mmap_addr = mmap(0, dev_region->size + dev_region->mmap_offset,
|
|
|
- PROT_READ | PROT_WRITE, MAP_SHARED, vmsg->fds[0],
|
|
|
- 0);
|
|
|
+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_NORESERVE,
|
|
|
+ vmsg->fds[0], 0);
|
|
|
}
|
|
|
|
|
|
if (mmap_addr == MAP_FAILED) {
|
|
@@ -920,7 +920,7 @@ vu_set_mem_table_exec_postcopy(VuDev *dev, VhostUserMsg *vmsg)
|
|
|
* accessing it before we userfault
|
|
|
*/
|
|
|
mmap_addr = mmap(0, dev_region->size + dev_region->mmap_offset,
|
|
|
- PROT_NONE, MAP_SHARED,
|
|
|
+ PROT_NONE, MAP_SHARED | MAP_NORESERVE,
|
|
|
vmsg->fds[i], 0);
|
|
|
|
|
|
if (mmap_addr == MAP_FAILED) {
|
|
@@ -1007,7 +1007,7 @@ vu_set_mem_table_exec(VuDev *dev, VhostUserMsg *vmsg)
|
|
|
* mapped address has to be page aligned, and we use huge
|
|
|
* pages. */
|
|
|
mmap_addr = mmap(0, dev_region->size + dev_region->mmap_offset,
|
|
|
- PROT_READ | PROT_WRITE, MAP_SHARED,
|
|
|
+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_NORESERVE,
|
|
|
vmsg->fds[i], 0);
|
|
|
|
|
|
if (mmap_addr == MAP_FAILED) {
|