File U_02-Move-file-permission-handling-into-pmixp_mkdir.patch of Package slurm.32296

From: Tim Wickberg <tim@schedmd.com>
Date: Wed Oct 11 12:45:25 2023 -0600
Subject: [PATCH 2/19]Move file permission handling into pmixp_mkdir().
Patch-mainline: Upstream
Git-repo: https://github.com/SchedMD/slurm
Git-commit: 3c84874b21d066ab936833210ac08aae4c055114
References: bsc#1216207
Signed-off-by: Egbert Eich <eich@suse.de>

---
 src/plugins/mpi/pmix/pmixp_client.c | 6 ++----
 src/plugins/mpi/pmix/pmixp_utils.c  | 5 ++++-
 src/plugins/mpi/pmix/pmixp_utils.h  | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/plugins/mpi/pmix/pmixp_client.c b/src/plugins/mpi/pmix/pmixp_client.c
index 7ec538e40b..d6dc51e07a 100644
--- a/src/plugins/mpi/pmix/pmixp_client.c
+++ b/src/plugins/mpi/pmix/pmixp_client.c
@@ -502,16 +502,14 @@ static void _set_localinfo(List lresp)
 extern int pmixp_libpmix_init(void)
 {
 	int rc;
-	mode_t rights = (S_IRUSR | S_IWUSR | S_IXUSR) |
-			(S_IRGRP | S_IWGRP | S_IXGRP);
 
-	if (0 != (rc = pmixp_mkdir(pmixp_info_tmpdir_lib(), rights))) {
+	if (0 != (rc = pmixp_mkdir(pmixp_info_tmpdir_lib()))) {
 		PMIXP_ERROR_STD("Cannot create server lib tmpdir: \"%s\"",
 				pmixp_info_tmpdir_lib());
 		return errno;
 	}
 
-	if (0 != (rc = pmixp_mkdir(pmixp_info_tmpdir_cli(), rights))) {
+	if (0 != (rc = pmixp_mkdir(pmixp_info_tmpdir_cli()))) {
 		PMIXP_ERROR_STD("Cannot create client cli tmpdir: \"%s\"",
 				pmixp_info_tmpdir_cli());
 		return errno;
diff --git a/src/plugins/mpi/pmix/pmixp_utils.c b/src/plugins/mpi/pmix/pmixp_utils.c
index ff0147e8b3..7f6d478ce5 100644
--- a/src/plugins/mpi/pmix/pmixp_utils.c
+++ b/src/plugins/mpi/pmix/pmixp_utils.c
@@ -539,8 +539,11 @@ int pmixp_rmdir_recursively(char *path)
 	return rc;
 }
 
-int pmixp_mkdir(char *path, mode_t rights)
+int pmixp_mkdir(char *path)
 {
+	mode_t rights = (S_IRUSR | S_IWUSR | S_IXUSR) |
+			(S_IRGRP | S_IWGRP | S_IXGRP);
+
 	/* NOTE: we need user who owns the job to access PMIx usock
 	 * file. According to 'man 7 unix':
 	 * "... In the Linux implementation, sockets which are visible in the
diff --git a/src/plugins/mpi/pmix/pmixp_utils.h b/src/plugins/mpi/pmix/pmixp_utils.h
index f27ff20128..dd23f00d35 100644
--- a/src/plugins/mpi/pmix/pmixp_utils.h
+++ b/src/plugins/mpi/pmix/pmixp_utils.h
@@ -63,7 +63,7 @@ int pmixp_p2p_send(const char *nodename, const char *address, const char *data,
 		   uint32_t len, unsigned int start_delay,
 		   unsigned int retry_cnt, int silent);
 int pmixp_rmdir_recursively(char *path);
-int pmixp_mkdir(char *path, mode_t rights);
+int pmixp_mkdir(char *path);
 
 /* lightweight pmix list of pointers */
 #define PMIXP_LIST_DEBUG 0
openSUSE Build Service is sponsored by