The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/2284
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === Fixes: #2277 Signed-off-by: Jonathan Calmels <[email protected]>
From 113fd529f87e2a55255ecb76b1c8f5a311c0bdf3 Mon Sep 17 00:00:00 2001 From: Jonathan Calmels <[email protected]> Date: Mon, 16 Apr 2018 12:30:33 -0700 Subject: [PATCH] pam-cgfs: ignore the system umask when creating the cgroup hierarchy Fixes: #2277 Signed-off-by: Jonathan Calmels <[email protected]> --- src/lxc/pam/pam_cgfs.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/lxc/pam/pam_cgfs.c b/src/lxc/pam/pam_cgfs.c index 3df8daef3..53ba5ce2d 100644 --- a/src/lxc/pam/pam_cgfs.c +++ b/src/lxc/pam/pam_cgfs.c @@ -223,6 +223,17 @@ static bool cgv2_prune_empty_cgroups(const char *user); static bool cgv2_remove(const char *cgroup); static bool is_cgv2(char *line); +static int do_mkdir(const char *path, mode_t mode) +{ + mode_t mask; + int r; + + mask = umask(0); + r = mkdir(path, mode); + umask(mask); + return (r); +} + /* Create directory and (if necessary) its parents. */ static bool mkdir_parent(const char *root, char *path) { @@ -252,7 +263,7 @@ static bool mkdir_parent(const char *root, char *path) if (file_exists(path)) goto next; - if (mkdir(path, 0755) < 0) { + if (do_mkdir(path, 0755) < 0) { pam_cgfs_debug("Failed to create %s: %s.\n", path, strerror(errno)); return false; } @@ -1963,7 +1974,7 @@ static bool cgv1_handle_cpuset_hierarchy(struct cgv1_hierarchy *h, cgpath = must_make_path(h->mountpoint, h->base_cgroup, cgroup, NULL); if (slash) *slash = '/'; - if (mkdir(cgpath, 0755) < 0 && errno != EEXIST) { + if (do_mkdir(cgpath, 0755) < 0 && errno != EEXIST) { pam_cgfs_debug("Failed to create '%s'", cgpath); free(cgpath); return false;
_______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
