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

Reply via email to