• Andrew Morton's avatar
    [PATCH] use-before-uninitialized value in ext3(2)_find_ goal · 83ee50f5
    Andrew Morton authored
    From: Mingming Cao <cmm@us.ibm.com>
    
    There is a uninitialized goal value being referenced in both ext3 and ext2
    find goal block functions (ext3_find_goal() and ext2_find_goal()).
    
    In the non-sequential write case, these functions check the goal value(non
    zero) before calling ext3(2)_find_near() to find the goal block to
    allocate.
    
    Since the goal value is uninitialized(non zero), the ext3(2)_find_near() is
    never being called in the non-sequential write, thus ext3(2)_find_goal()
    failed to guide a goal block in the random write case.
    
    ext3(2)_new_block() takes the junk goal value and will turn it to goal 0
    since it's normally beyond the filesystem block number limit.  The fix is
    trivial.
    83ee50f5
inode.c 37.1 KB