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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87my14h9vo.fsf@devron.myhome.or.jp>
Date:	Sun, 27 Dec 2009 21:36:11 +0900
From:	OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
To:	Greg Kroah-Hartman <gregkh@...e.de>
Cc:	linux-kernel@...r.kernel.org, Kay Sievers <kay.sievers@...y.org>,
	Miklos Szeredi <miklos@...redi.hu>
Subject: Re: [PATCH 02/10] vfs: get_sb_single() - do not pass options twice

Hi,

Greg Kroah-Hartman <gregkh@...e.de> writes:

> From: Kay Sievers <kay.sievers@...y.org>
>
> Filesystem code usually destroys the option buffer while
> parsing it. This leads to errors when the same buffer is
> passed twice. In case we fill a new superblock do not call
> remount.
>
> This is needed to quite a warning that the debugfs code
> causes every boot.
>
> Cc: Miklos Szeredi <miklos@...redi.hu>
> Signed-off-by: Kay Sievers <kay.sievers@...y.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
> ---
>  fs/super.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/fs/super.c b/fs/super.c
> index 19eb70b..aff046b 100644
> --- a/fs/super.c
> +++ b/fs/super.c
> @@ -901,8 +901,9 @@ int get_sb_single(struct file_system_type *fs_type,
>  			return error;
>  		}
>  		s->s_flags |= MS_ACTIVE;
> +	} else {
> +		do_remount_sb(s, flags, data, 0);
>  	}
> -	do_remount_sb(s, flags, data, 0);
>  	simple_set_mnt(mnt, s);
>  	return 0;
>  }

This breaks the historical behavior. Several users of get_sb_single() is
parse data only on ->remount_fs. Well, ok, I like new behavior actually.
But we need to convert to new behavior such users.

I've listed all possibly affected users up (if I'm not missing). This
means, using both data on ->fill_super and ->remount_fs is devtmpfs
only. And capifs, usbfs, devpts would be needed the patch.

arch/powerpc/platforms/cell/spufs/inode.c
	->fill_super
arch/s390/hypfs/inode.c
	->fill_super
drivers/isdn/capi/capifs.c
	->remount_fs
drivers/base/devtmpfs.c
	->fill_super
	->remount_fs
drivers/usb/core/inode.c
	->remount_fs
fs/devpts/inode.c
	->remount_fs

Currently, I'm working on other bugs, so I just attached quick fix for
regression.
-- 
OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>



Signed-off-by: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
---

 fs/super.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff -puN fs/super.c~get_sb_single-fix fs/super.c
--- linux-2.6/fs/super.c~get_sb_single-fix	2009-12-27 20:48:07.000000000 +0900
+++ linux-2.6-hirofumi/fs/super.c	2009-12-27 20:48:29.000000000 +0900
@@ -912,9 +912,8 @@ int get_sb_single(struct file_system_typ
 			return error;
 		}
 		s->s_flags |= MS_ACTIVE;
-	} else {
-		do_remount_sb(s, flags, data, 0);
 	}
+	do_remount_sb(s, flags, data, 0);
 	simple_set_mnt(mnt, s);
 	return 0;
 }
_
--
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