summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/fcntl.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2019-05-31-11-33-11.bpo-26835.xGbUX0.rst1
-rw-r--r--Modules/fcntlmodule.c10
3 files changed, 14 insertions, 1 deletions
diff --git a/Doc/library/fcntl.rst b/Doc/library/fcntl.rst
index 88112f6..2db9674 100644
--- a/Doc/library/fcntl.rst
+++ b/Doc/library/fcntl.rst
@@ -28,6 +28,10 @@ descriptor.
Operations in this module used to raise an :exc:`IOError` where they now
raise an :exc:`OSError`.
+.. versionchanged:: 3.8
+ The fcntl module now contains ``F_ADD_SEALS``, ``F_GET_SEALS``, and
+ ``F_SEAL_*`` constants for sealing of :func:`os.memfd_create` file
+ descriptors.
The module defines the following functions:
diff --git a/Misc/NEWS.d/next/Library/2019-05-31-11-33-11.bpo-26835.xGbUX0.rst b/Misc/NEWS.d/next/Library/2019-05-31-11-33-11.bpo-26835.xGbUX0.rst
new file mode 100644
index 0000000..1c5ed97
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-05-31-11-33-11.bpo-26835.xGbUX0.rst
@@ -0,0 +1 @@
+The fcntl module now contains file sealing constants for sealing of memfds.
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index a938d9e..0fbf787 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -620,7 +620,15 @@ all_ins(PyObject* m)
if (PyModule_AddIntMacro(m, I_PLINK)) return -1;
if (PyModule_AddIntMacro(m, I_PUNLINK)) return -1;
#endif
-
+#ifdef F_ADD_SEALS
+ /* Linux: file sealing for memfd_create() */
+ if (PyModule_AddIntMacro(m, F_ADD_SEALS)) return -1;
+ if (PyModule_AddIntMacro(m, F_GET_SEALS)) return -1;
+ if (PyModule_AddIntMacro(m, F_SEAL_SEAL)) return -1;
+ if (PyModule_AddIntMacro(m, F_SEAL_SHRINK)) return -1;
+ if (PyModule_AddIntMacro(m, F_SEAL_GROW)) return -1;
+ if (PyModule_AddIntMacro(m, F_SEAL_WRITE)) return -1;
+#endif
return 0;
}