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
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 */
>
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
>
>