[Ocfs2-devel] [PATCH 1/2] ocfs2: fix uninitialized variable access

Andrew Morton akpm at linux-foundation.org
Tue Jan 6 16:09:55 PST 2015


On Thu, 25 Dec 2014 13:52:16 +0800 Junxiao Bi <junxiao.bi at oracle.com> wrote:

> Variable "why" is not yet initialized at line 615, fix it.
> 
> ...
>
> --- a/fs/ocfs2/file.c
> +++ b/fs/ocfs2/file.c
> @@ -569,7 +569,7 @@ static int __ocfs2_extend_allocation(struct inode *inode, u32 logical_start,
>  	handle_t *handle = NULL;
>  	struct ocfs2_alloc_context *data_ac = NULL;
>  	struct ocfs2_alloc_context *meta_ac = NULL;
> -	enum ocfs2_alloc_restarted why;
> +	enum ocfs2_alloc_restarted why = RESTART_NONE;
>  	struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
>  	struct ocfs2_extent_tree et;
>  	int did_quota = 0;

Oh geeze, are you really sure about this?  __ocfs2_extend_allocation()
is as clear as mud.  What happens when ocfs2_add_inode_data() returns
-EAGAIN and leaves *reason_ret unwritten to?

What are the runtime effects of this bug?



More information about the Ocfs2-devel mailing list