linux-security-module.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label()
@ 2021-01-15 17:43 Ondrej Mosnacek
  2021-01-20  4:57 ` James Morris
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Ondrej Mosnacek @ 2021-01-15 17:43 UTC (permalink / raw)
  To: linux-nfs, Trond Myklebust, Anna Schumaker
  Cc: linux-security-module, selinux, David Quigley

An xattr 'get' handler is expected to return the length of the value on
success, yet _nfs4_get_security_label() (and consequently also
nfs4_xattr_get_nfs4_label(), which is used as an xattr handler) returns
just 0 on success.

Fix this by returning label.len instead, which contains the length of
the result.

Fixes: aa9c2669626c ("NFS: Client implementation of Labeled-NFS")
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
---
 fs/nfs/nfs4proc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 2f4679a62712a..28465d8aada64 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -5971,7 +5971,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf,
 		return ret;
 	if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
 		return -ENOENT;
-	return 0;
+	return label.len;
 }
 
 static int nfs4_get_security_label(struct inode *inode, void *buf,
-- 
2.29.2


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

* Re: [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label()
  2021-01-15 17:43 [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label() Ondrej Mosnacek
@ 2021-01-20  4:57 ` James Morris
  2021-01-22 19:23 ` Paul Moore
  2021-03-09 10:08 ` Ondrej Mosnacek
  2 siblings, 0 replies; 5+ messages in thread
From: James Morris @ 2021-01-20  4:57 UTC (permalink / raw)
  To: Ondrej Mosnacek
  Cc: linux-nfs, Trond Myklebust, Anna Schumaker,
	linux-security-module, selinux, David Quigley

On Fri, 15 Jan 2021, Ondrej Mosnacek wrote:

> An xattr 'get' handler is expected to return the length of the value on
> success, yet _nfs4_get_security_label() (and consequently also
> nfs4_xattr_get_nfs4_label(), which is used as an xattr handler) returns
> just 0 on success.
> 
> Fix this by returning label.len instead, which contains the length of
> the result.
> 
> Fixes: aa9c2669626c ("NFS: Client implementation of Labeled-NFS")
> Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
> ---
>  fs/nfs/nfs4proc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index 2f4679a62712a..28465d8aada64 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -5971,7 +5971,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf,
>  		return ret;
>  	if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
>  		return -ENOENT;
> -	return 0;
> +	return label.len;
>  }


Reviewed-by: James Morris <jamorris@linux.microsoft.com>


-- 
James Morris
<jmorris@namei.org>


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

* Re: [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label()
  2021-01-15 17:43 [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label() Ondrej Mosnacek
  2021-01-20  4:57 ` James Morris
@ 2021-01-22 19:23 ` Paul Moore
  2021-03-09 10:08 ` Ondrej Mosnacek
  2 siblings, 0 replies; 5+ messages in thread
From: Paul Moore @ 2021-01-22 19:23 UTC (permalink / raw)
  To: Ondrej Mosnacek
  Cc: linux-nfs, Trond Myklebust, Anna Schumaker,
	linux-security-module, selinux, David Quigley

On Fri, Jan 15, 2021 at 12:47 PM Ondrej Mosnacek <omosnace@redhat.com> wrote:
>
> An xattr 'get' handler is expected to return the length of the value on
> success, yet _nfs4_get_security_label() (and consequently also
> nfs4_xattr_get_nfs4_label(), which is used as an xattr handler) returns
> just 0 on success.
>
> Fix this by returning label.len instead, which contains the length of
> the result.
>
> Fixes: aa9c2669626c ("NFS: Client implementation of Labeled-NFS")
> Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
> ---
>  fs/nfs/nfs4proc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Paul Moore <paul@paul-moore.com>

> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index 2f4679a62712a..28465d8aada64 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -5971,7 +5971,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf,
>                 return ret;
>         if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
>                 return -ENOENT;
> -       return 0;
> +       return label.len;
>  }
>
>  static int nfs4_get_security_label(struct inode *inode, void *buf,
> --
> 2.29.2

-- 
paul moore
www.paul-moore.com

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

* Re: [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label()
  2021-01-15 17:43 [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label() Ondrej Mosnacek
  2021-01-20  4:57 ` James Morris
  2021-01-22 19:23 ` Paul Moore
@ 2021-03-09 10:08 ` Ondrej Mosnacek
  2021-03-12 15:42   ` Anna Schumaker
  2 siblings, 1 reply; 5+ messages in thread
From: Ondrej Mosnacek @ 2021-03-09 10:08 UTC (permalink / raw)
  To: linux-nfs, Trond Myklebust, Anna Schumaker
  Cc: Linux Security Module list, SElinux list, David Quigley

On Fri, Jan 15, 2021 at 6:43 PM Ondrej Mosnacek <omosnace@redhat.com> wrote:
> An xattr 'get' handler is expected to return the length of the value on
> success, yet _nfs4_get_security_label() (and consequently also
> nfs4_xattr_get_nfs4_label(), which is used as an xattr handler) returns
> just 0 on success.
>
> Fix this by returning label.len instead, which contains the length of
> the result.
>
> Fixes: aa9c2669626c ("NFS: Client implementation of Labeled-NFS")
> Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
> ---
>  fs/nfs/nfs4proc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index 2f4679a62712a..28465d8aada64 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -5971,7 +5971,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf,
>                 return ret;
>         if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
>                 return -ENOENT;
> -       return 0;
> +       return label.len;
>  }
>
>  static int nfs4_get_security_label(struct inode *inode, void *buf,
> --
> 2.29.2
>

Ping. It's been almost 2 months now, and I can't see the patch applied
anywhere, nor has it received any feedback from the NFS maintainers...
Trond? Anna?

-- 
Ondrej Mosnacek
Software Engineer, Linux Security - SELinux kernel
Red Hat, Inc.


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

* Re: [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label()
  2021-03-09 10:08 ` Ondrej Mosnacek
@ 2021-03-12 15:42   ` Anna Schumaker
  0 siblings, 0 replies; 5+ messages in thread
From: Anna Schumaker @ 2021-03-12 15:42 UTC (permalink / raw)
  To: Ondrej Mosnacek
  Cc: linux-nfs, Trond Myklebust, Linux Security Module list,
	SElinux list, David Quigley

Hi Ondrej,

On Tue, Mar 9, 2021 at 5:10 AM Ondrej Mosnacek <omosnace@redhat.com> wrote:
>
> On Fri, Jan 15, 2021 at 6:43 PM Ondrej Mosnacek <omosnace@redhat.com> wrote:
> > An xattr 'get' handler is expected to return the length of the value on
> > success, yet _nfs4_get_security_label() (and consequently also
> > nfs4_xattr_get_nfs4_label(), which is used as an xattr handler) returns
> > just 0 on success.
> >
> > Fix this by returning label.len instead, which contains the length of
> > the result.
> >
> > Fixes: aa9c2669626c ("NFS: Client implementation of Labeled-NFS")
> > Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
> > ---
> >  fs/nfs/nfs4proc.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> > index 2f4679a62712a..28465d8aada64 100644
> > --- a/fs/nfs/nfs4proc.c
> > +++ b/fs/nfs/nfs4proc.c
> > @@ -5971,7 +5971,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf,
> >                 return ret;
> >         if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
> >                 return -ENOENT;
> > -       return 0;
> > +       return label.len;
> >  }
> >
> >  static int nfs4_get_security_label(struct inode *inode, void *buf,
> > --
> > 2.29.2
> >
>
> Ping. It's been almost 2 months now, and I can't see the patch applied
> anywhere, nor has it received any feedback from the NFS maintainers...
> Trond? Anna?

Thanks for the ping! I've queued this up for the next bugfixes pull request.

Anna
>
> --
> Ondrej Mosnacek
> Software Engineer, Linux Security - SELinux kernel
> Red Hat, Inc.
>

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

end of thread, other threads:[~2021-03-12 15:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-15 17:43 [PATCH] NFSv4.2: fix return value of _nfs4_get_security_label() Ondrej Mosnacek
2021-01-20  4:57 ` James Morris
2021-01-22 19:23 ` Paul Moore
2021-03-09 10:08 ` Ondrej Mosnacek
2021-03-12 15:42   ` Anna Schumaker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).