[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[hurd] 03/64: Avoid hitting VM_MAX_ADDRESS
From: |
Samuel Thibault |
Subject: |
[hurd] 03/64: Avoid hitting VM_MAX_ADDRESS |
Date: |
Wed, 10 Dec 2014 15:17:02 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch upstream
in repository hurd.
commit b11e2e666ce3e1a8ad167c82bfc1fc9b820f97f3
Author: Samuel Thibault <address@hidden>
Date: Mon Nov 10 00:11:32 2014 +0100
Avoid hitting VM_MAX_ADDRESS
* libpager/pager-memcpy.c (pager_memcpy): Reset address passed to vm_map
on each loop, to avoid potentially monotonically increasing up to
VM_MAX_ADDRESS.
---
libpager/pager-memcpy.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libpager/pager-memcpy.c b/libpager/pager-memcpy.c
index 479c06f..7bdc248 100644
--- a/libpager/pager-memcpy.c
+++ b/libpager/pager-memcpy.c
@@ -45,7 +45,7 @@ pager_memcpy (struct pager *pager, memory_object_t memobj,
#define VMCOPY_WINDOW_DEFAULT_SIZE (32 * vm_page_size)
#define MEMCPY_WINDOW_DEFAULT_SIZE (32 * vm_page_size)
- vm_address_t window = 0;
+ vm_address_t window;
vm_size_t window_size;
error_t do_vm_copy (void)
@@ -64,6 +64,7 @@ pager_memcpy (struct pager *pager, memory_object_t memobj,
assert (window_size >= VMCOPY_BETTER_THAN_MEMCPY);
assert ((window_size & (vm_page_size - 1)) == 0);
+ window = 0;
err = vm_map (mach_task_self (), &window, window_size, 0, 1,
memobj, offset, 0, prot, prot, VM_INHERIT_NONE);
if (err)
@@ -110,6 +111,7 @@ pager_memcpy (struct pager *pager, memory_object_t memobj,
window_size = round_page (pageoff + to_copy);
}
+ window = 0;
err = vm_map (mach_task_self (), &window, window_size, 0, 1,
memobj, offset - pageoff, 0,
prot, prot, VM_INHERIT_NONE);
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/hurd.git
- [hurd] 30/64: libpager: make the request queue more memory-efficient, (continued)
- [hurd] 30/64: libpager: make the request queue more memory-efficient, Samuel Thibault, 2014/12/10
- [hurd] 63/64: fakeroot: Fix initializing default faked field of nodes, Samuel Thibault, 2014/12/10
- [hurd] 60/64: hurd: add intranpayload functions to all hurd types, Samuel Thibault, 2014/12/10
- [hurd] 33/64: Add atomicity support to fshelp_acquire_lock, Samuel Thibault, 2014/12/10
- [hurd] 59/64: utils/rpctrace: make `trace_and_forward' payload-aware, Samuel Thibault, 2014/12/10
- [hurd] 53/64: term: add a payload-aware intrans function, Samuel Thibault, 2014/12/10
- [hurd] 57/64: trans/streamio: make the translator payload-aware, Samuel Thibault, 2014/12/10
- [hurd] 64/64: Merge remote-tracking branch 'upstream/master' into upstream, Samuel Thibault, 2014/12/10
- [hurd] 04/64: Fix mach-defpager's kalloc values, Samuel Thibault, 2014/12/10
- [hurd] 06/64: utils/rpctrace: fix crash while printing messages, Samuel Thibault, 2014/12/10
- [hurd] 03/64: Avoid hitting VM_MAX_ADDRESS,
Samuel Thibault <=
- [hurd] 05/64: Make procfs appear in /proc/mounts, Samuel Thibault, 2014/12/10
- [hurd] 08/64: Fix recording complete path of passive relative translators, Samuel Thibault, 2014/12/10
- [hurd] 07/64: Let pty readers always read end of writer output, Samuel Thibault, 2014/12/10
- [hurd] 54/64: trans/fakeroot: make the demuxer payload-aware, Samuel Thibault, 2014/12/10
- [hurd] 01/64: Deal with odd kernel behavior, Samuel Thibault, 2014/12/10
- [hurd] 02/64: Deal with odd kernel behavior, Samuel Thibault, 2014/12/10