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. > > -Eric