All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-08  4:28 ` Mimi Zohar
  0 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-08  4:28 UTC (permalink / raw)
  To: David Howells; +Cc: linux-integrity, linux-security-module, linux-fsdevel

The mount i_version flag is not enabled in the new sb_flags.  This patch
adds the missing SB_I_VERSION flag.

Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
       superblock flags"
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
---
 fs/namespace.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 3b601f115b6c..d18deb4c410b 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
 			    SB_MANDLOCK |
 			    SB_DIRSYNC |
 			    SB_SILENT |
-			    SB_POSIXACL);
+			    SB_POSIXACL |
+			    SB_I_VERSION);
 
 	if (flags & MS_REMOUNT)
 		retval = do_remount(&path, flags, sb_flags, mnt_flags,
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-08  4:28 ` Mimi Zohar
  0 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-08  4:28 UTC (permalink / raw)
  To: linux-security-module

The mount i_version flag is not enabled in the new sb_flags.  This patch
adds the missing SB_I_VERSION flag.

Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
       superblock flags"
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
---
 fs/namespace.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 3b601f115b6c..d18deb4c410b 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
 			    SB_MANDLOCK |
 			    SB_DIRSYNC |
 			    SB_SILENT |
-			    SB_POSIXACL);
+			    SB_POSIXACL |
+			    SB_I_VERSION);
 
 	if (flags & MS_REMOUNT)
 		retval = do_remount(&path, flags, sb_flags, mnt_flags,
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] vfs: fix mounting a filesystem with i_version
  2017-10-08  4:28 ` Mimi Zohar
@ 2017-10-08  8:58   ` Christoph Hellwig
  -1 siblings, 0 replies; 12+ messages in thread
From: Christoph Hellwig @ 2017-10-08  8:58 UTC (permalink / raw)
  To: Mimi Zohar
  Cc: David Howells, linux-integrity, linux-security-module, linux-fsdevel

On Sun, Oct 08, 2017 at 12:28:21AM -0400, Mimi Zohar wrote:
> The mount i_version flag is not enabled in the new sb_flags.  This patch
> adds the missing SB_I_VERSION flag.
> 
> Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
>        superblock flags"
> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> ---
>  fs/namespace.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 3b601f115b6c..d18deb4c410b 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
>  			    SB_MANDLOCK |
>  			    SB_DIRSYNC |
>  			    SB_SILENT |
> -			    SB_POSIXACL);
> +			    SB_POSIXACL |
> +			    SB_I_VERSION);

The problem is that the whole masking there is a piece of crap.

It assumes that MS_* and SB_* flags have the same numeric values,
which is bound to create a major problem rather sooner than later.

What we need is a separate __bitwise type for SB_*, translated them
here and treat them as a separate namespaces.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-08  8:58   ` Christoph Hellwig
  0 siblings, 0 replies; 12+ messages in thread
From: Christoph Hellwig @ 2017-10-08  8:58 UTC (permalink / raw)
  To: linux-security-module

On Sun, Oct 08, 2017 at 12:28:21AM -0400, Mimi Zohar wrote:
> The mount i_version flag is not enabled in the new sb_flags.  This patch
> adds the missing SB_I_VERSION flag.
> 
> Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
>        superblock flags"
> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> ---
>  fs/namespace.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 3b601f115b6c..d18deb4c410b 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
>  			    SB_MANDLOCK |
>  			    SB_DIRSYNC |
>  			    SB_SILENT |
> -			    SB_POSIXACL);
> +			    SB_POSIXACL |
> +			    SB_I_VERSION);

The problem is that the whole masking there is a piece of crap.

It assumes that MS_* and SB_* flags have the same numeric values,
which is bound to create a major problem rather sooner than later.

What we need is a separate __bitwise type for SB_*, translated them
here and treat them as a separate namespaces.
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] vfs: fix mounting a filesystem with i_version
  2017-10-08  8:58   ` Christoph Hellwig
  (?)
@ 2017-10-08 12:54     ` Mimi Zohar
  -1 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-08 12:54 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: David Howells, linux-integrity, linux-security-module, linux-fsdevel

On Sun, 2017-10-08 at 01:58 -0700, Christoph Hellwig wrote:
> On Sun, Oct 08, 2017 at 12:28:21AM -0400, Mimi Zohar wrote:
> > The mount i_version flag is not enabled in the new sb_flags.  This patch
> > adds the missing SB_I_VERSION flag.
> > 
> > Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
> >        superblock flags"
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> >  fs/namespace.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 3b601f115b6c..d18deb4c410b 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
> >  			    SB_MANDLOCK |
> >  			    SB_DIRSYNC |
> >  			    SB_SILENT |
> > -			    SB_POSIXACL);
> > +			    SB_POSIXACL |
> > +			    SB_I_VERSION);
> 
> The problem is that the whole masking there is a piece of crap.
> 
> It assumes that MS_* and SB_* flags have the same numeric values,
> which is bound to create a major problem rather sooner than later.

According to the original commit, separating them is just the first
step.  This patch fixes that first step so that filesystems can be
mounted with i_version.

Mimi

> What we need is a separate __bitwise type for SB_*, translated them
> here and treat them as a separate namespaces.
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-08 12:54     ` Mimi Zohar
  0 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-08 12:54 UTC (permalink / raw)
  To: linux-security-module

On Sun, 2017-10-08 at 01:58 -0700, Christoph Hellwig wrote:
> On Sun, Oct 08, 2017 at 12:28:21AM -0400, Mimi Zohar wrote:
> > The mount i_version flag is not enabled in the new sb_flags.  This patch
> > adds the missing SB_I_VERSION flag.
> > 
> > Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
> >        superblock flags"
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> >  fs/namespace.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 3b601f115b6c..d18deb4c410b 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
> >  			    SB_MANDLOCK |
> >  			    SB_DIRSYNC |
> >  			    SB_SILENT |
> > -			    SB_POSIXACL);
> > +			    SB_POSIXACL |
> > +			    SB_I_VERSION);
> 
> The problem is that the whole masking there is a piece of crap.
> 
> It assumes that MS_* and SB_* flags have the same numeric values,
> which is bound to create a major problem rather sooner than later.

According to the original commit, separating them is just the first
step. ?This patch fixes that first step so that filesystems can be
mounted with i_version.

Mimi

> What we need is a separate __bitwise type for SB_*, translated them
> here and treat them as a separate namespaces.
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-08 12:54     ` Mimi Zohar
  0 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-08 12:54 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: David Howells, linux-integrity, linux-security-module, linux-fsdevel

On Sun, 2017-10-08 at 01:58 -0700, Christoph Hellwig wrote:
> On Sun, Oct 08, 2017 at 12:28:21AM -0400, Mimi Zohar wrote:
> > The mount i_version flag is not enabled in the new sb_flags.  This patch
> > adds the missing SB_I_VERSION flag.
> > 
> > Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
> >        superblock flags"
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> >  fs/namespace.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 3b601f115b6c..d18deb4c410b 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
> >  			    SB_MANDLOCK |
> >  			    SB_DIRSYNC |
> >  			    SB_SILENT |
> > -			    SB_POSIXACL);
> > +			    SB_POSIXACL |
> > +			    SB_I_VERSION);
> 
> The problem is that the whole masking there is a piece of crap.
> 
> It assumes that MS_* and SB_* flags have the same numeric values,
> which is bound to create a major problem rather sooner than later.

According to the original commit, separating them is just the first
step.  This patch fixes that first step so that filesystems can be
mounted with i_version.

Mimi

> What we need is a separate __bitwise type for SB_*, translated them
> here and treat them as a separate namespaces.
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] vfs: fix mounting a filesystem with i_version
  2017-10-08  4:28 ` Mimi Zohar
@ 2017-10-08 22:24   ` James Morris
  -1 siblings, 0 replies; 12+ messages in thread
From: James Morris @ 2017-10-08 22:24 UTC (permalink / raw)
  To: Mimi Zohar
  Cc: David Howells, linux-integrity, linux-security-module,
	linux-fsdevel, Al Viro

cc: Al Viro.


On Sun, 8 Oct 2017, Mimi Zohar wrote:

> The mount i_version flag is not enabled in the new sb_flags.  This patch
> adds the missing SB_I_VERSION flag.
> 
> Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
>        superblock flags"
> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> ---
>  fs/namespace.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 3b601f115b6c..d18deb4c410b 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
>  			    SB_MANDLOCK |
>  			    SB_DIRSYNC |
>  			    SB_SILENT |
> -			    SB_POSIXACL);
> +			    SB_POSIXACL |
> +			    SB_I_VERSION);
>  
>  	if (flags & MS_REMOUNT)
>  		retval = do_remount(&path, flags, sb_flags, mnt_flags,
> 

-- 
James Morris
<jmorris@namei.org>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-08 22:24   ` James Morris
  0 siblings, 0 replies; 12+ messages in thread
From: James Morris @ 2017-10-08 22:24 UTC (permalink / raw)
  To: linux-security-module

cc: Al Viro.


On Sun, 8 Oct 2017, Mimi Zohar wrote:

> The mount i_version flag is not enabled in the new sb_flags.  This patch
> adds the missing SB_I_VERSION flag.
> 
> Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
>        superblock flags"
> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> ---
>  fs/namespace.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 3b601f115b6c..d18deb4c410b 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
>  			    SB_MANDLOCK |
>  			    SB_DIRSYNC |
>  			    SB_SILENT |
> -			    SB_POSIXACL);
> +			    SB_POSIXACL |
> +			    SB_I_VERSION);
>  
>  	if (flags & MS_REMOUNT)
>  		retval = do_remount(&path, flags, sb_flags, mnt_flags,
> 

-- 
James Morris
<jmorris@namei.org>

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] vfs: fix mounting a filesystem with i_version
  2017-10-08 22:24   ` James Morris
  (?)
@ 2017-10-11 12:28     ` Mimi Zohar
  -1 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-11 12:28 UTC (permalink / raw)
  To: Al Viro
  Cc: David Howells, linux-integrity, linux-security-module,
	linux-fsdevel, Linus Torvalds, James Morris

Hi Al,

This patch fixes a regression.  Without it, you can't mount a file
system with i_version.  This obviously affects IMA.  Could you pick up
this patch and forward it to Linus please?

Commit dd924ea17c0c "vfs: fix mounting a filesystem with i_version"
can be found in my git repo.

thanks,

Mimi


On Mon, 2017-10-09 at 09:24 +1100, James Morris wrote:
> cc: Al Viro.
> 
> 
> On Sun, 8 Oct 2017, Mimi Zohar wrote:
> 
> > The mount i_version flag is not enabled in the new sb_flags.  This patch
> > adds the missing SB_I_VERSION flag.
> > 
> > Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
> >        superblock flags"
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> >  fs/namespace.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 3b601f115b6c..d18deb4c410b 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
> >  			    SB_MANDLOCK |
> >  			    SB_DIRSYNC |
> >  			    SB_SILENT |
> > -			    SB_POSIXACL);
> > +			    SB_POSIXACL |
> > +			    SB_I_VERSION);
> >  
> >  	if (flags & MS_REMOUNT)
> >  		retval = do_remount(&path, flags, sb_flags, mnt_flags,
> > 
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-11 12:28     ` Mimi Zohar
  0 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-11 12:28 UTC (permalink / raw)
  To: linux-security-module

Hi Al,

This patch fixes a regression.??Without it, you can't mount a file
system with i_version.??This obviously affects IMA.??Could you pick up
this patch and forward it to Linus please?

Commit dd924ea17c0c "vfs: fix mounting a filesystem with i_version"
can be found in my git repo.

thanks,

Mimi


On Mon, 2017-10-09 at 09:24 +1100, James Morris wrote:
> cc: Al Viro.
> 
> 
> On Sun, 8 Oct 2017, Mimi Zohar wrote:
> 
> > The mount i_version flag is not enabled in the new sb_flags.  This patch
> > adds the missing SB_I_VERSION flag.
> > 
> > Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
> >        superblock flags"
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> >  fs/namespace.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 3b601f115b6c..d18deb4c410b 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
> >  			    SB_MANDLOCK |
> >  			    SB_DIRSYNC |
> >  			    SB_SILENT |
> > -			    SB_POSIXACL);
> > +			    SB_POSIXACL |
> > +			    SB_I_VERSION);
> >  
> >  	if (flags & MS_REMOUNT)
> >  		retval = do_remount(&path, flags, sb_flags, mnt_flags,
> > 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] vfs: fix mounting a filesystem with i_version
@ 2017-10-11 12:28     ` Mimi Zohar
  0 siblings, 0 replies; 12+ messages in thread
From: Mimi Zohar @ 2017-10-11 12:28 UTC (permalink / raw)
  To: Al Viro
  Cc: David Howells, linux-integrity, linux-security-module,
	linux-fsdevel, Linus Torvalds, James Morris

Hi Al,

This patch fixes a regression.  Without it, you can't mount a file
system with i_version.  This obviously affects IMA.  Could you pick up
this patch and forward it to Linus please?

Commit dd924ea17c0c "vfs: fix mounting a filesystem with i_version"
can be found in my git repo.

thanks,

Mimi


On Mon, 2017-10-09 at 09:24 +1100, James Morris wrote:
> cc: Al Viro.
> 
> 
> On Sun, 8 Oct 2017, Mimi Zohar wrote:
> 
> > The mount i_version flag is not enabled in the new sb_flags.  This patch
> > adds the missing SB_I_VERSION flag.
> > 
> > Fixes: e462ec5 "VFS: Differentiate mount flags (MS_*) from internal
> >        superblock flags"
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> >  fs/namespace.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/namespace.c b/fs/namespace.c
> > index 3b601f115b6c..d18deb4c410b 100644
> > --- a/fs/namespace.c
> > +++ b/fs/namespace.c
> > @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name,
> >  			    SB_MANDLOCK |
> >  			    SB_DIRSYNC |
> >  			    SB_SILENT |
> > -			    SB_POSIXACL);
> > +			    SB_POSIXACL |
> > +			    SB_I_VERSION);
> >  
> >  	if (flags & MS_REMOUNT)
> >  		retval = do_remount(&path, flags, sb_flags, mnt_flags,
> > 
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-10-11 12:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-08  4:28 [PATCH] vfs: fix mounting a filesystem with i_version Mimi Zohar
2017-10-08  4:28 ` Mimi Zohar
2017-10-08  8:58 ` Christoph Hellwig
2017-10-08  8:58   ` Christoph Hellwig
2017-10-08 12:54   ` Mimi Zohar
2017-10-08 12:54     ` Mimi Zohar
2017-10-08 12:54     ` Mimi Zohar
2017-10-08 22:24 ` James Morris
2017-10-08 22:24   ` James Morris
2017-10-11 12:28   ` Mimi Zohar
2017-10-11 12:28     ` Mimi Zohar
2017-10-11 12:28     ` Mimi Zohar

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.