On Wed, Nov 8, 2023 at 2:58 AM Christian Brauner [off-list ref] wrote:
quoted
quoted
+static int do_statmount(struct stmt_state *s)
+{
+ struct statmnt *sm = &s->sm;
+ struct mount *m = real_mount(s->mnt);
+ size_t copysize = min_t(size_t, s->bufsize, sizeof(*sm));
+ int err;
+
+ err = security_sb_statfs(s->mnt->mnt_root);
+ if (err)
+ return err;
+
+ if (!capable(CAP_SYS_ADMIN) &&
+ !is_path_reachable(m, m->mnt.mnt_root, &s->root))
+ return -EPERM;
In order to be consistent with our typical access control ordering,
please move the security_sb_statfs() call down to here, after the
capability checks.
I've moved the security_sb_statfs() calls accordingly.
Okay, good. Did I miss a comment or a patch where that happened? I
looked over the patchset and comments yesterday and didn't recall
seeing anything about shuffling the access control checks.
--
paul-moore.com