[PATCH 4/4] xmmap: inform Linux users of tuning knobs on ENOMEM
From: Eric Wong <hidden>
Date: 2021-06-29 08:11:23
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Eric Wong <hidden>
Date: 2021-06-29 08:11:23
Subsystem:
the rest · Maintainer:
Linus Torvalds
In cases where we can't (or haven't gotten around to) attempting graceful handling of mmap failures, Linux users may benefit from additional information on how to avoid the problem. Signed-off-by: Eric Wong <redacted> --- object-file.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/object-file.c b/object-file.c
index 4c043f1f3c..4139a5ebe6 100644
--- a/object-file.c
+++ b/object-file.c@@ -1027,8 +1027,14 @@ void *xmmap(void *start, size_t length, int prot, int flags, int fd, off_t offset) { void *ret = xmmap_gently(start, length, prot, flags, fd, offset); - if (ret == MAP_FAILED) + if (ret == MAP_FAILED) { +#if defined(__linux__) + if (errno == ENOMEM) + die_errno(_( +"mmap failed, check sys.vm.max_map_count and/or RLIMIT_DATA")); +#endif /* OS-specific bits */ die_errno(_("mmap failed")); + } return ret; }