]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
libcephfs: fix ClearSetuid incorrectly using SETATTR_MODE mask
authorXiubo Li <xiubli@redhat.com>
Tue, 14 Mar 2023 03:16:53 +0000 (11:16 +0800)
committerXiubo Li <xiubli@redhat.com>
Tue, 11 Apr 2023 02:39:48 +0000 (10:39 +0800)
Both the STATX_MODE and SETATTR_MODE equal 1, so the test didn't
fail.

Fixes: https://tracker.ceph.com/issues/58680
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit 463b932fff0ad85a35190dc613cbec04ecc39628)

src/test/libcephfs/test.cc

index 85ecfb3e508ab38bf0be36b47a871babfc4211fd..43c6169ce133ff36148bba5d913ef7f5c021679f 100644 (file)
@@ -2105,7 +2105,7 @@ TEST(LibCephFS, ClearSetuid) {
   stx.stx_gid = g;
   mode_t m = S_ISGID|S_ISUID|S_IRUSR|S_IWUSR;
   stx.stx_mode = m;
-  ASSERT_EQ(ceph_ll_setattr(cmount, in, &stx, CEPH_STATX_MODE|CEPH_SETATTR_UID|CEPH_SETATTR_GID, rootcred), 0);
+  ASSERT_EQ(ceph_ll_setattr(cmount, in, &stx, CEPH_SETATTR_MODE|CEPH_SETATTR_UID|CEPH_SETATTR_GID, rootcred), 0);
   ASSERT_EQ(ceph_ll_getattr(cmount, in, &stx, CEPH_STATX_MODE, 0, altcred), 0);
   ASSERT_EQ(stx.stx_mode&(mode_t)ALLPERMS, m);
   /* not dropped without exe bit */