On Wed, Nov 8, 2023 at 2:58 AM Christian Brauner <brauner@xxxxxxxxxx> wrote: > > > +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