[Ocfs2-devel] [PATCH] ocfs2_prep_new_orphaned_file should return ret

Andrew Morton akpm at linux-foundation.org
Tue May 28 15:35:23 PDT 2013


On Wed, 22 May 2013 09:43:16 +0800 xiaowei.hu at oracle.com wrote:

> From: "Xiaowei.Hu" <xiaowei.hu at oracle.com>
> 
> ---
>  fs/ocfs2/namei.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
> index 50c93a8..422cbe0 100644
> --- a/fs/ocfs2/namei.c
> +++ b/fs/ocfs2/namei.c
> @@ -2216,7 +2216,7 @@ out:
>  
>  	brelse(orphan_dir_bh);
>  
> -	return 0;
> +	return ret;
>  }
>  
>  int ocfs2_create_inode_in_orphan(struct inode *dir,

The patch is missing your signed-off-by.  I added it - please confirm
this is OK.

I also pulled together a changelog based on the discussion.  Please do
provide good changelogs.


From: "Xiaowei.Hu" <xiaowei.hu at oracle.com>
Subject: ocfs2: ocfs2_prep_new_orphaned_file() should return ret

If an error occurs, for example an EIO in __ocfs2_prepare_orphan_dir,
ocfs2_prep_new_orphaned_file will release the inode_ac, then when the
caller of ocfs2_prep_new_orphaned_file gets a 0 return, it will refer to a
NULL ocfs2_alloc_context struct in the following functions.  A kernel
panic happens.

Signed-off-by: "Xiaowei.Hu" <xiaowei.hu at oracle.com>
Reviewed-by: shencanquan <shencanquan at huawei.com>
Acked-by: Sunil Mushran <sunil.mushran at gmail.com>
Cc: Joe Jin <joe.jin at oracle.com>
Cc: Mark Fasheh <mfasheh at suse.com>
Cc: Joel Becker <jlbec at evilplan.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
---

 fs/ocfs2/namei.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN fs/ocfs2/namei.c~ocfs2-ocfs2_prep_new_orphaned_file-should-return-ret fs/ocfs2/namei.c
--- a/fs/ocfs2/namei.c~ocfs2-ocfs2_prep_new_orphaned_file-should-return-ret
+++ a/fs/ocfs2/namei.c
@@ -2216,7 +2216,7 @@ out:
 
 	brelse(orphan_dir_bh);
 
-	return 0;
+	return ret;
 }
 
 int ocfs2_create_inode_in_orphan(struct inode *dir,
_




More information about the Ocfs2-devel mailing list