Check for a failure return from gethugepagesize().
Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]>
---
elflink.c | 9 +++++++++
morecore.c | 7 ++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff -ru libhugetlbfs-dev-20080319.orig/elflink.c
libhugetlbfs-dev-20080319/elflink.c
--- libhugetlbfs-dev-20080319.orig/elflink.c 2008-03-19 10:25:28.000000000
-0500
+++ libhugetlbfs-dev-20080319/elflink.c 2008-04-10 10:48:11.080065216 -0500
@@ -717,6 +717,15 @@
void *p;
unsigned long size;
+ if (hpage_size <= 0) {
+ if (errno == ENOSYS)
+ ERROR("Hugepages unavailable\n");
+ else if (errno == EOVERFLOW)
+ ERROR("Hugepage size too large\n");
+ else
+ ERROR("Hugepage size (%s)\n", strerror(errno));
+ return -1;
+ }
size = ALIGN(seg->filesz + seg->extrasz, hpage_size);
p = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, seg->fd, 0);
diff -ru libhugetlbfs-dev-20080319.orig/morecore.c
libhugetlbfs-dev-20080319/morecore.c
--- libhugetlbfs-dev-20080319.orig/morecore.c 2008-03-19 10:25:28.000000000
-0500
+++ libhugetlbfs-dev-20080319/morecore.c 2008-04-10 10:48:22.801144840
-0500
@@ -231,7 +231,12 @@
blocksize = gethugepagesize();
if (blocksize <= 0) {
- ERROR("Hugepages unavailable\n");
+ if (errno == ENOSYS)
+ ERROR("Hugepages unavailable\n");
+ else if (errno == EOVERFLOW)
+ ERROR("Hugepage size too large\n");
+ else
+ ERROR("Hugepage size (%s)\n", strerror(errno));
return;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel