From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Eric Sandeen <sandeen@redhat.com>
Cc: "Marc Aurèle La France" <tsi@tuyoix.net>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Christian Brauner" <brauner@kernel.org>,
"David Howells" <dhowells@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] debugfs show actual source in /proc/mounts
Date: Wed, 14 Aug 2024 17:26:10 +0200 [thread overview]
Message-ID: <2024081445-grimacing-unfair-d31e@gregkh> (raw)
In-Reply-To: <48c5e8bb-2f65-41ee-b9ce-f31b2997b751@redhat.com>
On Wed, Aug 14, 2024 at 10:20:09AM -0500, Eric Sandeen wrote:
> On 8/13/24 11:50 PM, Greg Kroah-Hartman wrote:
> > On Tue, Aug 13, 2024 at 02:18:07PM -0500, Eric Sandeen wrote:
> >> On 8/13/24 4:54 AM, Greg Kroah-Hartman wrote:
> >>> On Sat, Aug 10, 2024 at 01:25:27PM -0600, Marc Aurèle La France wrote:
> >>>> After its conversion to the new mount API, debugfs displays "none" in
> >>>> /proc/mounts instead of the actual source. Fix this by recognising its
> >>>> "source" mount option.
> >>>>
> >>>> Signed-off-by: Marc Aurèle La France <tsi@tuyoix.net>
> >>>> Fixes: a20971c18752 ("vfs: Convert debugfs to use the new mount API")
> >>>> Cc: stable@vger.kernel.org # 6.10.x: 9f111059e725: fs_parse: add uid & gid option option parsing helpers
> >>>> Cc: stable@vger.kernel.org # 6.10.x: 49abee5991e1: debugfs: Convert to new uid/gid option parsing helpers
> >>>
> >>> As this came from a fs tree, I'll let the vfs maintainer take it if they
> >>> think it is ok as I know nothing about the fs_parse stuff at the moment,
> >>> sorry.
> >>
> >> Hm, I guess this is OK, though it seems a little unexpected for debugfs
> >> to have to parse the trivial internal "source" option.
> >>
> >> This actually worked OK until
> >>
> >> 0c07c273a5fe debugfs: continue to ignore unknown mount options
> >>
> >> but after that commit, debugfs claims to parse "source" successfully even
> >> though it has not. So really, it Fixes: that commit, not the original
> >> conversion.
> >>
> >> I'm not sure of a better approach offhand, but maybe a comment about why
> >> Opt_source exists in debugfs would help future readers?
> >
> > Why is debugfs unique here? Why does it need to do something that
> > nothing else needs to do (like sysfs or tracefs or anything else...)
>
> It's kind of a long sad story.
>
> Originally, debugfs took no mount options. And because it had no mount option
> handling, it had nowhere to reject anything, and so any/all random options
> were silently accepted and ignored.
>
> Then mode/uid/gid mount options were added to it in 2012 with:
>
> d6e486868cde debugfs: add mode, uid and gid options
>
> and it continued to ignore unknown options:
>
> + /*
> + * We might like to report bad mount options here;
> + * but traditionally debugfs has ignored all mount options
> + */
>
> A decade+ later, I forward-ported dhowells' mount API conversion with
>
> a20971c18752 vfs: Convert debugfs to use the new mount API
>
> after some discussion and agreement that we really should be rejecting
> unknown options, and all seemed well until ...
>
> https://lore.kernel.org/linux-kernel/20240527100618.np2wqiw5mz7as3vk@ninjato/T/
>
> it was reported that busybox was (incorrectly) passing in "auto" and "noauto"
> from fstab during mount, and thus failing. So,
>
> 0c07c273a5fe debugfs: continue to ignore unknown mount options
>
> got merged to re-allow/re-ignore all unknown options in the spirit of "don't
> break userspace". All unknown options were re-ignored including, as it turns
> out, "source" which then led to the current reported problem.
>
> As for why it's different from tracefs, that's a good question. Tracefs was
> cut-n-pasted from debugfs, and had the "ignore unknown options" behavior from
> day one, which in retrospect was probably a mistake. And now its behavior
> does differ from debugfs, but nobody has reported the busybox problem against
> it, I guess. This is an inconsistency.
>
> sysfs has no ->parse_param at all, so vfs_parse_fs_param() falls into the:
>
> /* If the filesystem doesn't take any arguments, give it the
> * default handling of source.
> */
> ret = vfs_parse_fs_param_source(fc, param);
>
> case which handles the internal "source" argument just fine.
>
Thanks for the history work here, makes sense in a sad way :(
No objection from me for this change now.
greg k-h
next prev parent reply other threads:[~2024-08-14 15:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-10 19:25 [PATCH] debugfs show actual source in /proc/mounts Marc Aurèle La France
2024-08-13 9:54 ` Greg Kroah-Hartman
2024-08-13 19:18 ` Eric Sandeen
2024-08-14 4:50 ` Greg Kroah-Hartman
2024-08-14 15:20 ` Eric Sandeen
2024-08-14 15:26 ` Greg Kroah-Hartman [this message]
2024-08-19 1:29 ` Marc Aurèle La France
2024-08-30 3:44 ` Marc Aurèle La France
2024-08-30 13:38 ` Eric Sandeen
2024-08-31 3:51 ` Marc Aurèle La France
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024081445-grimacing-unfair-d31e@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=brauner@kernel.org \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sandeen@redhat.com \
--cc=tsi@tuyoix.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.