2013-03-27 08:30:51

by fanchaoting

[permalink] [raw]
Subject: [PATCH 1/2] nfsd: remove /proc/fs/nfs when create /proc/fs/nfs/exports error

when create /proc/fs/nfs/exports error, we should remove /proc/fs/nfs,
if don't do it, it maybe cause Memory leak.

Signed-off-by: fanchaoting <[email protected]>
Reviewed-by: chendt.fnst <[email protected]>

---
fs/nfsd/nfsctl.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index f33455b..58e4db4 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -1102,8 +1102,10 @@ static int create_proc_exports_entry(void)
return -ENOMEM;
entry = proc_create("exports", 0, entry,
&exports_proc_operations);
- if (!entry)
+ if (!entry) {
+ remove_proc_entry("fs/nfs", NULL);
return -ENOMEM;
+ }
return 0;
}
#else /* CONFIG_PROC_FS */
--
1.7.1




2013-04-11 10:26:49

by Benny Halevy

[permalink] [raw]
Subject: Re: [PATCH 1/2] nfsd: remove /proc/fs/nfs when create /proc/fs/nfs/exports error

On 2013-03-27 10:31, fanchaoting wrote:
> when create /proc/fs/nfs/exports error, we should remove /proc/fs/nfs,
> if don't do it, it maybe cause Memory leak.
>
> Signed-off-by: fanchaoting <[email protected]>
> Reviewed-by: chendt.fnst <[email protected]>

I merged this patch into pnfsd-block as well
to compliment
a55abd8 pnfsd-block: block layout should cleanup when register nfsd filesystem error

Thanks,

Benny

>
> ---
> fs/nfsd/nfsctl.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
> index f33455b..58e4db4 100644
> --- a/fs/nfsd/nfsctl.c
> +++ b/fs/nfsd/nfsctl.c
> @@ -1102,8 +1102,10 @@ static int create_proc_exports_entry(void)
> return -ENOMEM;
> entry = proc_create("exports", 0, entry,
> &exports_proc_operations);
> - if (!entry)
> + if (!entry) {
> + remove_proc_entry("fs/nfs", NULL);
> return -ENOMEM;
> + }
> return 0;
> }
> #else /* CONFIG_PROC_FS */
>

2013-04-03 19:30:22

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH 1/2] nfsd: remove /proc/fs/nfs when create /proc/fs/nfs/exports error

Thanks, applying.

--b.

On Wed, Mar 27, 2013 at 04:31:18PM +0800, fanchaoting wrote:
> when create /proc/fs/nfs/exports error, we should remove /proc/fs/nfs,
> if don't do it, it maybe cause Memory leak.
>
> Signed-off-by: fanchaoting <[email protected]>
> Reviewed-by: chendt.fnst <[email protected]>
>
> ---
> fs/nfsd/nfsctl.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
> index f33455b..58e4db4 100644
> --- a/fs/nfsd/nfsctl.c
> +++ b/fs/nfsd/nfsctl.c
> @@ -1102,8 +1102,10 @@ static int create_proc_exports_entry(void)
> return -ENOMEM;
> entry = proc_create("exports", 0, entry,
> &exports_proc_operations);
> - if (!entry)
> + if (!entry) {
> + remove_proc_entry("fs/nfs", NULL);
> return -ENOMEM;
> + }
> return 0;
> }
> #else /* CONFIG_PROC_FS */
> --
> 1.7.1
>
>