lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A0CFB90.3060109@cn.fujitsu.com>
Date:	Fri, 15 May 2009 13:20:16 +0800
From:	Wei Yongjun <yjwei@...fujitsu.com>
To:	Al Viro <viro@...iv.linux.org.uk>,
	LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH] devpts: fix to set default values of mount options

If devpts is mounted with no option specified, the default
values of mount options will no be set. This happend in my
Fedora11Beta box when CONFIG_DEVPTS_MULTIPLE_INSTANCES is
configured in .config.

  $ mkdir /dev/pts2

  $ mount -t devpts devpts /dev/pts2
  $ cat /proc/mounts
  devpts /dev/pts2 devpts rw,relatime,mode=000,ptmxmode=000 0 0

  # umount /dev/pts2
  $ mount -t devpts -o gid=0 devpts /dev/pts2
  $ cat /proc/mounts
  devpts /dev/pts2 devpts rw,relatime,gid=0,mode=600,ptmxmode=000 0 0

This patch fixed the problem.

Signed-off-by: Wei Yongjun <yjwei@...fujitsu.com>
---
 fs/devpts/inode.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index 21165cf..738ffdc 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -105,6 +105,9 @@ static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts)
 	if (op == PARSE_MOUNT)
 		opts->newinstance = 0;
 
+	if (!data)
+		return 0;
+
 	while ((p = strsep(&data, ",")) != NULL) {
 		substring_t args[MAX_OPT_ARGS];
 		int token;
@@ -356,11 +359,10 @@ static int devpts_get_sb(struct file_system_type *fs_type,
 	struct super_block *s;
 
 	memset(&opts, 0, sizeof(opts));
-	if (data) {
-		error = parse_mount_options(data, PARSE_MOUNT, &opts);
-		if (error)
+
+	error = parse_mount_options(data, PARSE_MOUNT, &opts);
+	if (error)
 			return error;
-	}
 
 	if (opts.newinstance)
 		s = sget(fs_type, NULL, set_anon_super, NULL);
-- 
1.5.3.8



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ