Please don't split message a across multiple lines.
Open and access are not the same in all security checks, so not a great idea.
Some analyzer tools may flag as time of check, time of use issue.
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 <jfree@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.
*/
-