2013-01-04 11:55:19

by Yanchuan Nian

[permalink] [raw]
Subject: [PATCH] nfsd: Remove write permission from file content

From: Yanchuan Nian <[email protected]>

The write function doesn't be implemented in file content, and it's meaningless
to write data into this file directly. Remove write permission from it.

Signed-off-by: Yanchuan Nian <[email protected]>
---
net/sunrpc/cache.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index 9afa439..9f84703 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -1614,7 +1614,7 @@ static int create_cache_proc_entries(struct cache_detail *cd, struct net *net)
goto out_nomem;
}
if (cd->cache_show) {
- p = proc_create_data("content", S_IFREG|S_IRUSR|S_IWUSR,
+ p = proc_create_data("content", S_IFREG|S_IRUSR,
cd->u.procfs.proc_ent,
&content_file_operations_procfs, cd);
cd->u.procfs.content_ent = p;
--
1.7.4.4



2013-01-04 21:12:06

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] nfsd: Remove write permission from file content

On Fri, Jan 04, 2013 at 07:45:35PM +0800, [email protected] wrote:
> From: Yanchuan Nian <[email protected]>
>
> The write function doesn't be implemented in file content, and it's meaningless
> to write data into this file directly. Remove write permission from it.

So does it really matter either way?

OK, applying, but I wonder.

--b.

>
> Signed-off-by: Yanchuan Nian <[email protected]>
> ---
> net/sunrpc/cache.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
> index 9afa439..9f84703 100644
> --- a/net/sunrpc/cache.c
> +++ b/net/sunrpc/cache.c
> @@ -1614,7 +1614,7 @@ static int create_cache_proc_entries(struct cache_detail *cd, struct net *net)
> goto out_nomem;
> }
> if (cd->cache_show) {
> - p = proc_create_data("content", S_IFREG|S_IRUSR|S_IWUSR,
> + p = proc_create_data("content", S_IFREG|S_IRUSR,
> cd->u.procfs.proc_ent,
> &content_file_operations_procfs, cd);
> cd->u.procfs.content_ent = p;
> --
> 1.7.4.4
>

2013-01-08 15:18:41

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] nfsd: Remove write permission from file content

On Sat, Jan 05, 2013 at 12:29:05PM +0800, Yanchuan Nian wrote:
> 2013/1/5 J. Bruce Fields <[email protected]>
>
> > On Fri, Jan 04, 2013 at 07:45:35PM +0800, [email protected] wrote:
> > > From: Yanchuan Nian <[email protected]>
> > >
> > > The write function doesn't be implemented in file content, and it's
> > meaningless
> > > to write data into this file directly. Remove write permission from it.
> >
> > So does it really matter either way?
> >
> No, it doesn't matter. I saw that nfs-utils communicates with nfsd through
> proc fs, so I tried to update the cache by writing data to proc fs
> directly. I found the format of "channel" and "flush" in nfs-utils, but I
> couldn't find the format of "content", so I read the sunrpc source code,
> and found that the write function doesn't be implemented, but the write
> permission is set when registering into proc fs. I also found that
> "content" in pipe fs doesn't have write permission.

OK, so if it had been read-only it might have saved you a little
confusion. Fair enough.

--b.

>
> >
> > OK, applying, but I wonder.
> >
> > --b.
> >
> > >
> > > Signed-off-by: Yanchuan Nian <[email protected]>
> > > ---
> > > net/sunrpc/cache.c | 2 +-
> > > 1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
> > > index 9afa439..9f84703 100644
> > > --- a/net/sunrpc/cache.c
> > > +++ b/net/sunrpc/cache.c
> > > @@ -1614,7 +1614,7 @@ static int create_cache_proc_entries(struct
> > cache_detail *cd, struct net *net)
> > > goto out_nomem;
> > > }
> > > if (cd->cache_show) {
> > > - p = proc_create_data("content", S_IFREG|S_IRUSR|S_IWUSR,
> > > + p = proc_create_data("content", S_IFREG|S_IRUSR,
> > > cd->u.procfs.proc_ent,
> > > &content_file_operations_procfs, cd);
> > > cd->u.procfs.content_ent = p;
> > > --
> > > 1.7.4.4
> > >
> >