Index: Modules/posixmodule.c =================================================================== --- Modules/posixmodule.c (revision 88680) +++ Modules/posixmodule.c (working copy) @@ -2974,6 +2974,8 @@ res = mkdir(path); #else res = mkdir(path, mode); + if (res == 0) + res = chmod(path, mode); #endif Py_END_ALLOW_THREADS if (res < 0) @@ -8321,6 +8323,10 @@ path = PyBytes_AsString(opath); Py_BEGIN_ALLOW_THREADS res = mkdirat(dirfd, path, mode); +#ifdef HAVE_FCHMODAT + if (res == 0) + res = fchmodat(dirfd, path, mode, 0); +#endif Py_END_ALLOW_THREADS Py_DECREF(opath); if (res < 0)