From cf03b2e67615cd57b26ccaf23fe8b48b1c0b7fe1 Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Tue, 12 Jul 2022 05:12:21 -0700 Subject: [PATCH] nfs4_acls: Correctly skip chown when gid did not change Commit 86f7af84 introduced a problem that a chown is always attempted, even when the owning gid did not change. Then the ACL is set in the file system as root. Fix the check by correctly comparing with gid, not uid. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15120 Signed-off-by: Christof Schmitt Reviewed-by: Volker Lendecke Autobuild-User(master): Christof Schmitt Autobuild-Date(master): Wed Jul 13 17:30:30 UTC 2022 on sn-devel-184 (cherry picked from commit a6ccceb97ebd43d453ae4f835927cbacde0fdcef) --- source3/modules/nfs4_acls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c index c7808037a09..ff446bb1166 100644 --- a/source3/modules/nfs4_acls.c +++ b/source3/modules/nfs4_acls.c @@ -1022,7 +1022,7 @@ NTSTATUS smb_set_nt_acl_nfs4(vfs_handle_struct *handle, files_struct *fsp, /* chown logic is a copy/paste from posix_acl.c:set_nt_acl */ uid_t old_uid = fsp->fsp_name->st.st_ex_uid; - uid_t old_gid = fsp->fsp_name->st.st_ex_uid; + gid_t old_gid = fsp->fsp_name->st.st_ex_gid; status = unpack_nt_owners(fsp->conn, &newUID, &newGID, security_info_sent, psd); if (!NT_STATUS_IS_OK(status)) { -- 2.31.1