lkml.org 
[lkml]   [2010]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: ext4_lazyinit_thread: 'ret' may be used uninitialized in this function
    On Mon, Nov 01, 2010 at 04:27:26PM +0100, Lukas Czerner wrote:
    >
    > thank you for noticing this, because I actually do not see the warning
    > (I wonder why...), but it is definitely a bug, so the trivial patch below
    > should fix that.

    This is a slightly less trivial fix that eliminates the need for the
    "ret" variable entirely.

    - Ted

    commit e048924538f0c62d18306e2fea0e22dac0140f6e
    Author: Theodore Ts'o <tytso@mit.edu>
    Date: Tue Nov 2 14:19:30 2010 -0400

    ext4: "ret" may be used uninitialized in ext4_lazyinit_thread()

    Newer GCC's reported the following build warning:

    fs/ext4/super.c: In function 'ext4_lazyinit_thread':
    fs/ext4/super.c:2702: warning: 'ret' may be used uninitialized in this function

    Fix it by removing the need for the ret variable in the first place.

    Signed-off-by: "Lukas Czerner" <lczerner@redhat.com>
    Reported-by: "Stefan Richter" <stefanr@s5r6.in-berlin.de>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

    diff --git a/fs/ext4/super.c b/fs/ext4/super.c
    index 8d1d942..4d7ef31 100644
    --- a/fs/ext4/super.c
    +++ b/fs/ext4/super.c
    @@ -2699,7 +2699,6 @@ static int ext4_lazyinit_thread(void *arg)
    struct ext4_li_request *elr;
    unsigned long next_wakeup;
    DEFINE_WAIT(wait);
    - int ret;

    BUG_ON(NULL == eli);

    @@ -2723,13 +2722,12 @@ cont_thread:
    elr = list_entry(pos, struct ext4_li_request,
    lr_request);

    - if (time_after_eq(jiffies, elr->lr_next_sched))
    - ret = ext4_run_li_request(elr);
    -
    - if (ret) {
    - ret = 0;
    - ext4_remove_li_request(elr);
    - continue;
    + if (time_after_eq(jiffies, elr->lr_next_sched)) {
    + if (ext4_run_li_request(elr) != 0) {
    + /* error, remove the lazy_init job */
    + ext4_remove_li_request(elr);
    + continue;
    + }
    }

    if (time_before(elr->lr_next_sched, next_wakeup))

    \
     
     \ /
      Last update: 2010-11-02 19:31    [W:0.024 / U:63.464 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site