From: Oleg Drokin Thanks to Standford guys, a case where reiserfs can dereference NULL pointer if memory allocation fail during mount was identified. --- 25-akpm/fs/reiserfs/journal.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff -puN fs/reiserfs/journal.c~make-reiserfs-not-to-crash-on-oom fs/reiserfs/journal.c --- 25/fs/reiserfs/journal.c~make-reiserfs-not-to-crash-on-oom 2004-05-12 21:02:45.137683936 -0700 +++ 25-akpm/fs/reiserfs/journal.c 2004-05-12 21:02:45.144682872 -0700 @@ -2263,8 +2263,10 @@ int journal_init(struct super_block *p_s INIT_LIST_HEAD (&SB_JOURNAL(p_s_sb)->j_prealloc_list); INIT_LIST_HEAD(&SB_JOURNAL(p_s_sb)->j_working_list); INIT_LIST_HEAD(&SB_JOURNAL(p_s_sb)->j_journal_list); - reiserfs_allocate_list_bitmaps(p_s_sb, SB_JOURNAL(p_s_sb)->j_list_bitmap, - SB_BMAP_NR(p_s_sb)) ; + if (reiserfs_allocate_list_bitmaps(p_s_sb, + SB_JOURNAL(p_s_sb)->j_list_bitmap, + SB_BMAP_NR(p_s_sb))) + goto free_and_return ; allocate_bitmap_nodes(p_s_sb) ; /* reserved for journal area support */ _