summaryrefslogtreecommitdiff
path: root/util/libreboot-utils/lib/mkhtemp.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/libreboot-utils/lib/mkhtemp.c')
-rw-r--r--util/libreboot-utils/lib/mkhtemp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/util/libreboot-utils/lib/mkhtemp.c b/util/libreboot-utils/lib/mkhtemp.c
index 11a5bdb9..4e7f6013 100644
--- a/util/libreboot-utils/lib/mkhtemp.c
+++ b/util/libreboot-utils/lib/mkhtemp.c
@@ -10,6 +10,8 @@
/* for openat2 / fast path: */
#ifdef __linux__
+#if !defined(USE_OPENAT) || \
+ ((USE_OPENAT) < 1) /* if 1: use openat, not openat2 */
#ifndef _GNU_SOURCE
#define _GNU_SOURCE 1
#endif
@@ -22,6 +24,7 @@
#define AT_EMPTY_PATH 0x1000
#endif
#endif
+#endif
#include <sys/types.h>
#include <sys/stat.h>
@@ -543,7 +546,8 @@ mkhtemp_try_create(int dirfd,
goto err;
if (type == MKHTEMP_FILE) {
-#ifdef __linux__
+#if defined(__linux__) && \
+ (!defined(USE_OPENAT) || ((USE_OPENAT) < 1))
/* try O_TMPFILE fast path */
if (mkhtemp_tmpfile_linux(dirfd,
st_dir_first, fname_copy,
@@ -652,7 +656,8 @@ err:
we still use openat() on bsd, which is
still ok with our other mitigations
*/
-#ifdef __linux__
+#if defined(__linux__) && \
+ (!defined(USE_OPENAT) || ((USE_OPENAT) < 1))
int
mkhtemp_tmpfile_linux(int dirfd,
struct stat *st_dir_first,