lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[17/18] jffs2: Fix long-standing bug with symlink garbage collection.
    2.6.27-stable review patch.  If anyone has any objections, please let us know.

    ------------------
    From: David Woodhouse <David.Woodhouse@intel.com>
    commit 2e16cfca6e17ae37ae21feca080a6f2eca9087dc upstream.

    Ever since jffs2_garbage_collect_metadata() was first half-written in
    February 2001, it's been broken on architectures where 'char' is signed.
    When garbage collecting a symlink with target length above 127, the payload
    length would end up negative, causing interesting and bad things to happen.

    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/jffs2/gc.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)
    --- a/fs/jffs2/gc.c
    +++ b/fs/jffs2/gc.c
    @@ -700,7 +700,8 @@ static int jffs2_garbage_collect_metadat
    struct jffs2_raw_inode ri;
    struct jffs2_node_frag *last_frag;
    union jffs2_device_node dev;
    - char *mdata = NULL, mdatalen = 0;
    + char *mdata = NULL;
    + int mdatalen = 0;
    uint32_t alloclen, ilen;
    int ret;




    \
     
     \ /
      Last update: 2009-12-17 01:59    [from the cache]
    ©2003-2011 Jasper Spaans