[Ocfs2-devel] [PATCH 1/2] ocfs2: fix uninitialized variable access
Junxiao Bi
junxiao.bi at oracle.com
Tue Jan 6 18:42:56 PST 2015
On 01/07/2015 08:09 AM, Andrew Morton wrote:
> 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?
*reason_ret will always be written when ocfs2_add_inode_data() return.
>
> What are the runtime effects of this bug?
I didn't see any other effects except a compile warning and an
uninitialized variable from the tracepoint.
Thanks,
Junxiao.
>
More information about the Ocfs2-devel
mailing list