Currently, hugepage mountpoints will be used irrespective of permissions,
leading to potential EACCES errors during memory allocation. Fix this by
not using a mountpoint if we do not have read/write permissions on it.

Signed-off-by: Jake Freeland <jf...@freebsd.org>
---
 lib/eal/linux/eal_hugepage_info.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/eal/linux/eal_hugepage_info.c 
b/lib/eal/linux/eal_hugepage_info.c
index d47a19c56a..dbfa38b05c 100644
--- a/lib/eal/linux/eal_hugepage_info.c
+++ b/lib/eal/linux/eal_hugepage_info.c
@@ -260,6 +260,12 @@ get_hugepage_dir(uint64_t hugepage_sz, char *hugedir, int 
len)
                                continue;
                }
 
+               if (access(splitstr[MOUNTPT], R_OK | W_OK) < 0) {
+                       EAL_LOG(NOTICE, "Missing r/w permissions on huge dir: "
+                           "'%s'. Skipping it", splitstr[MOUNTPT]);
+                       continue;
+               }
+
                /*
                 * If no --huge-dir option has been given, we're done.
                 */
-- 
2.47.2

Reply via email to