From b2420e2f911455b57edbb67e16883485ba75a638 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Tue, 31 Aug 2021 10:46:06 +0200
Subject: [PATCH] homed: make sure to use right asssesors for GID + access mode

Don't reach directly into the UserRecord struct, but use the right
assessors, so that the "unspecified" case is covered.

(cherry picked from commit 279e060e2549183101ebf94e9739b70ed499c4c1)

Conflict:NA
Reference:https://github.com/systemd/systemd/commit/b2420e2f911455b57edbb67e16883485ba75a638
---
 src/home/homework-cifs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/home/homework-cifs.c b/src/home/homework-cifs.c
index 2254eb59cd..cf3c58431a 100644
--- a/src/home/homework-cifs.c
+++ b/src/home/homework-cifs.c
@@ -58,8 +58,8 @@ int home_prepare_cifs(
 
                         f = safe_fclose(f);
 
-                        if (asprintf(&options, "credentials=%s,uid=" UID_FMT ",forceuid,gid=" UID_FMT ",forcegid,file_mode=0%3o,dir_mode=0%3o",
-                                     p, h->uid, h->uid, h->access_mode, h->access_mode) < 0)
+                        if (asprintf(&options, "credentials=%s,uid=" UID_FMT ",forceuid,gid=" GID_FMT ",forcegid,file_mode=0%3o,dir_mode=0%3o",
+                                     p, h->uid, user_record_gid(h), user_record_access_mode(h), user_record_access_mode(h)) < 0)
                                 return log_oom();
 
                         r = safe_fork("(mount)", FORK_RESET_SIGNALS|FORK_RLIMIT_NOFILE_SAFE|FORK_DEATHSIG|FORK_LOG|FORK_STDOUT_TO_STDERR, &mount_pid);
-- 
2.33.0

