On Wed, Aug 06, 2025 at 11:33:11AM -0500, Eric Sandeen wrote: > On 8/5/25 12:22 PM, Charalampos Mitrodimas wrote: > > Eric Sandeen <sandeen@xxxxxxxxxx> writes: > > > >> On 8/4/25 12:22 PM, Eric Sandeen wrote: > >>> On 8/4/25 9:30 AM, Charalampos Mitrodimas wrote: > >>>> Mount options (uid, gid, mode) are silently ignored when debugfs is > >>>> mounted. This is a regression introduced during the conversion to the > >>>> new mount API. > >>>> > >>>> When the mount API conversion was done, the line that sets > >>>> sb->s_fs_info to the parsed options was removed. This causes > >>>> debugfs_apply_options() to operate on a NULL pointer. > >>>> > >>>> As an example, with the bug the "mode" mount option is ignored: > >>>> > >>>> $ mount -o mode=0666 -t debugfs debugfs /tmp/debugfs_test > >>>> $ mount | grep debugfs_test > >>>> debugfs on /tmp/debugfs_test type debugfs (rw,relatime) > >>>> $ ls -ld /tmp/debugfs_test > >>>> drwx------ 25 root root 0 Aug 4 14:16 /tmp/debugfs_test > >>> > >>> Argh. So, this looks a lot like the issue that got fixed for tracefs in: > >>> > >>> e4d32142d1de tracing: Fix tracefs mount options > >>> > >>> Let me look at this; tracefs & debugfs are quite similar, so perhaps > >>> keeping the fix consistent would make sense as well but I'll dig > >>> into it a bit more. > >> > >> So, yes - a fix following the pattern of e4d32142d1de does seem to resolve > >> this issue. > >> > >> However, I think we might be playing whack-a-mole here (fixing one fs at a time, > >> when the problem is systemic) among filesystems that use get_tree_single() > >> and have configurable options. For example, pstore: > >> > >> # umount /sys/fs/pstore > >> > >> # mount -t pstore -o kmsg_bytes=65536 none /sys/fs/pstore > >> # mount | grep pstore > >> none on /sys/fs/pstore type pstore (rw,relatime,seclabel) > >> > >> # mount -o remount,kmsg_bytes=65536 /sys/fs/pstore > >> # mount | grep pstore > >> none on /sys/fs/pstore type pstore (rw,relatime,seclabel,kmsg_bytes=65536) > >> # > >> > >> I think gadgetfs most likely has the same problem but I'm not yet sure > >> how to test that. > >> > >> I have no real objection to merging your patch, though I like the > >> consistency of following e4d32142d1de a bit more. But I think we should > >> find a graceful solution so that any filesystem using get_tree_single > >> can avoid this pitfall, if possible. > > > > Hi, thanks for the review, and yes you're right. > > > > Maybe a potential systemic fix would be to make get_tree_single() always > > call fc->ops->reconfigure() after vfs_get_super() when reusing an > > existing superblock, fixing all affected filesystems at once. > > Yep, I'm looking into that. mount_single used to do this, and IIRC we discussed > it before but for some reason opted not to. It seems a bit trickier than I first > expected, but I might just be dense. ;) If we can make it work generically, we should. I too don't remember what the reasons were for not doing it that way.