* [PATCH] xfs: reject completely bogus remount options
@ 2012-06-05 16:41 Eric Sandeen
0 siblings, 0 replies; only message in thread
From: Eric Sandeen @ 2012-06-05 16:41 UTC (permalink / raw)
To: xfs-oss; +Cc: Vijay Bellur
There's a long comment about handling non-remountable
options in xfs_fs_remount, but nothing addresses the case
of completely bogus mount options at remount time, which
can lead to some severe strangeness:
# for I in `seq 1 10`; do mount -o remount,noacl /mnt/test2; done
# for I in `seq 1 10`; do mount -o remount,badoption /mnt/test2; done
# grep sdb4 /etc/mtab
/dev/sdb4 /mnt/test2 xfs rw,noacl,noacl,noacl,noacl,noacl,noacl,noacl,noacl,noacl,noacl,noacl,badoption,badoption,badoption,badoption,badoption,badoption,badoption,badoption,badoption,badoption 0 0
This is a bit of a hack, but we can re-use xfs_parseargs()
with a dummy mount struct to just vet all of the remount
options which were passed in. With this, we get a saner
result:
[44898.102990] EXT4-fs (sdb4): Unrecognized mount option "badoption" or missing value
if we try to remount with something ridiculous.
In the long run we should probably revamp a lot of the mount option
handling...
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index 9a72dda..0402f9c 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -1157,11 +1157,22 @@ xfs_fs_remount(
int *flags,
char *options)
{
- struct xfs_mount *mp = XFS_M(sb);
+ struct xfs_mount *mp = XFS_M(sb), dummy_mp;
substring_t args[MAX_OPT_ARGS];
char *p;
int error;
+ /*
+ * Check all the mount options presented to be sure
+ * there's nothing too crazy in there. Non-remountable
+ * but valid options are a different issue.
+ */
+ memset(&dummy_mp, 0, sizeof(struct xfs_mount));
+ dummy_mp.m_super = sb;
+ error = xfs_parseargs(&dummy_mp, options);
+ if (error)
+ return -error;
+
while ((p = strsep(&options, ",")) != NULL) {
int token;
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-06-05 16:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-05 16:41 [PATCH] xfs: reject completely bogus remount options Eric Sandeen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox