summaryrefslogtreecommitdiff
path: root/src/shared/missing.h
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2014-05-13 01:28:09 +0200
committerDaniel Mack <zonque@gmail.com>2014-08-17 21:47:00 +0200
commita6082d778ee4b97ec3eb6d3266cefc024c5d60f7 (patch)
tree9384d75776ffb4b1352f623982464743b7ca5b84 /src/shared/missing.h
parenta6a4f528899b1dab47408733b4a423c66ea40f7a (diff)
kdbus: switch over to generic memfd implementation (ABI+API break)
Diffstat (limited to 'src/shared/missing.h')
-rw-r--r--src/shared/missing.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/shared/missing.h b/src/shared/missing.h
index 195edfc672..3a7e67e384 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -64,6 +64,34 @@
#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
#endif
+#ifndef F_ADD_SEALS
+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
+#endif
+
+#ifndef F_GET_SEALS
+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
+#endif
+
+#ifndef F_SEAL_SEAL
+#define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
+#endif
+
+#ifndef F_SEAL_SHRINK
+#define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
+#endif
+
+#ifndef F_SEAL_GROW
+#define F_SEAL_GROW 0x0004 /* prevent file from growing */
+#endif
+
+#ifndef F_SEAL_WRITE
+#define F_SEAL_WRITE 0x0008 /* prevent writes */
+#endif
+
+#ifndef MFD_ALLOW_SEALING
+#define MFD_ALLOW_SEALING 0x0002ULL
+#endif
+
#ifndef IP_FREEBIND
#define IP_FREEBIND 15
#endif
@@ -109,6 +137,13 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
# ifndef __NR_fanotify_mark
# define __NR_fanotify_mark 301
# endif
+# ifndef __NR_memfd_create
+# define __NR_memfd_create 319
+# endif
+#elif defined __arm__
+# ifndef __NR_memfd_create
+# define __NR_memfd_create 385
+# endif
#elif defined _MIPS_SIM
# if _MIPS_SIM == _MIPS_SIM_ABI32
# ifndef __NR_fanotify_init
@@ -139,6 +174,9 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
# ifndef __NR_fanotify_mark
# define __NR_fanotify_mark 339
# endif
+# ifndef __NR_memfd_create
+# define __NR_memfd_create 356
+# endif
#endif
#ifndef HAVE_FANOTIFY_INIT
@@ -166,6 +204,12 @@ static inline int fanotify_mark(int fanotify_fd, unsigned int flags, uint64_t ma
}
#endif
+#ifndef HAVE_MEMFD_CREATE
+static inline int memfd_create(const char *name, uint64_t size, uint64_t flags) {
+ return syscall(__NR_memfd_create, name, size, flags);
+}
+#endif
+
#ifndef BTRFS_IOCTL_MAGIC
#define BTRFS_IOCTL_MAGIC 0x94
#endif