lkml.org 
[lkml]   [2003]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subject[RFC] probably bug in current ext3/jbd
    From
    Date

    hi!

    ext3/jbd use b_committed_data buffer in order to prevent
    allocation of blocks which were freed in non-committed
    transaction. I think there is bug in this code. look,

    some thread commit thread
    ----------------------------------------------------------
    get_undo_access(#1)
    dirty_buffer(#1)
    stop_journal()

    start commit


    start_journal()
    get_undo_access(#1):
    1) wait for #1 to be
    in t_forget_list

    write #1 to log
    put #1 onto t_forget_list


    2) b_commit_data exists,
    finish get_undo_access()


    for_each_bh_in_forget_list() {
    if (jh->b_committed_data) {
    kfree(jh->b_committed_data);
    jh->b_committed_data = NULL;
    }
    }


    /* using of b_committed_data */

    b_committed_data is NULL ?



    with best regards, Alex

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:35    [W:0.019 / U:1.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site