On Wed, 22 May 2013 09:43:16 +0800 [email protected] wrote:

> From: "Xiaowei.Hu" <[email protected]>
> 
> ---
>  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" <[email protected]>
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" <[email protected]>
Reviewed-by: shencanquan <[email protected]>
Acked-by: Sunil Mushran <[email protected]>
Cc: Joe Jin <[email protected]>
Cc: Mark Fasheh <[email protected]>
Cc: Joel Becker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

 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,
_


_______________________________________________
Ocfs2-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to