* [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 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.