|
Prev: [PATCH] atmel_lcdfb: fix initialization of a pre-allocated framebuffer
Next: [Linux-fbdev-devel] [PATCH 0/9] viafb: VIA Frame Buffer Device Driver
From: Eric Sesterhenn on 7 May 2008 06:50 hi, the following patch fixes an oops with a corrupted hfs+ image. see http://bugzilla.kernel.org/show_bug.cgi?id=10548 for details. Problem is that we call hfs_btree_open() from hfsplus_fill_super() to set HFSPLUS_SB(sb).[ext_tree|cat_tree] Both trees are still NULL at this moment. If hfs_btree_open() fails for any reason it calls iput() on the page, which gets to hfsplus_releasepage() which tries to access HFSPLUS_SB(sb).* which is still NULL and oopses while dereferencing it. Signed-off-by: Eric Sesterhenn <snakebyte(a)gmx.de> --- linux-2.6/fs/hfsplus/inode.c.orig 2008-05-07 14:37:31.000000000 +0200 +++ linux-2.6/fs/hfsplus/inode.c 2008-05-07 14:38:05.000000000 +0200 @@ -65,6 +65,8 @@ static int hfsplus_releasepage(struct pa BUG(); return 0; } + it (!tree) + return 0; if (tree->node_size >= PAGE_CACHE_SIZE) { nidx = page->index >> (tree->node_size_shift - PAGE_CACHE_SHIFT); spin_lock(&tree->hash_lock); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |