diff --git a/opal/mca/mpool/hugepage/mpool_hugepage_component.c b/opal/mca/mpool/hugepage/mpool_hugepage_component.c index 0a6f4f6b38c..6d01835cd6d 100644 --- a/opal/mca/mpool/hugepage/mpool_hugepage_component.c +++ b/opal/mca/mpool/hugepage/mpool_hugepage_component.c @@ -264,12 +264,17 @@ static void mca_mpool_hugepage_find_hugepages (void) { hp->path = strdup (mntent->mnt_dir); hp->page_size = page_size; - - OPAL_OUTPUT_VERBOSE((MCA_BASE_VERBOSE_INFO, opal_mpool_base_framework.framework_output, - "found huge page with size = %lu, path = %s, mmap flags = 0x%x", - hp->page_size, hp->path, hp->mmap_flags)); - - opal_list_append (&mca_mpool_hugepage_component.huge_pages, &hp->super); + + if(0 == access (hp->path, R_OK | W_OK)){ + opal_output_verbose (MCA_BASE_VERBOSE_INFO, opal_mpool_base_framework.framework_output, + "found huge page with size = %lu, path = %s, mmap flags = 0x%x, adding to list", + hp->page_size, hp->path, hp->mmap_flags); + opal_list_append (&mca_mpool_hugepage_component.huge_pages, &hp->super); + } else { + opal_output_verbose (MCA_BASE_VERBOSE_INFO, opal_mpool_base_framework.framework_output, + "found huge page with size = %lu, path = %s, mmap flags = 0x%x, with invalid " + "permissions, skipping", hp->page_size, hp->path, hp->mmap_flags); + } } opal_list_sort (&mca_mpool_hugepage_component.huge_pages, page_compare);