]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-116622: Don't expose `FICLONE` ioctl on Android (#122522)
authorMalcolm Smith <smith@chaquo.com>
Thu, 1 Aug 2024 00:23:10 +0000 (01:23 +0100)
committerGitHub <noreply@github.com>
Thu, 1 Aug 2024 00:23:10 +0000 (00:23 +0000)
Don't expose `FICLONE` ioctl on Android

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Misc/NEWS.d/next/Library/2024-07-31-15-08-42.gh-issue-116622.aKxIQA.rst [new file with mode: 0644]
Modules/fcntlmodule.c

diff --git a/Misc/NEWS.d/next/Library/2024-07-31-15-08-42.gh-issue-116622.aKxIQA.rst b/Misc/NEWS.d/next/Library/2024-07-31-15-08-42.gh-issue-116622.aKxIQA.rst
new file mode 100644 (file)
index 0000000..fc65b4d
--- /dev/null
@@ -0,0 +1,2 @@
+On Android, the ``FICLONE`` and ``FICLONERANGE`` constants are no longer
+exposed by :mod:`fcntl`, as these ioctls are blocked by SELinux.
index 0c06c03a6c403e0a1fc643e06727871507aaefa4..90ebfd7e99a777947ba01b54445be2cd305733eb 100644 (file)
@@ -580,12 +580,17 @@ all_ins(PyObject* m)
 #ifdef F_GETPIPE_SZ
     if (PyModule_AddIntMacro(m, F_GETPIPE_SZ)) return -1;
 #endif
+
+/* On Android, FICLONE is blocked by SELinux. */
+#ifndef __ANDROID__
 #ifdef FICLONE
     if (PyModule_AddIntMacro(m, FICLONE)) return -1;
 #endif
 #ifdef FICLONERANGE
     if (PyModule_AddIntMacro(m, FICLONERANGE)) return -1;
 #endif
+#endif
+
 #ifdef F_GETOWN_EX
     // since Linux 2.6.32
     if (PyModule_AddIntMacro(m, F_GETOWN_EX)) return -1;