From ec763cb00e694864a0f4c0eb709ecbf64a50d7dd Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Fri, 17 Jul 2009 10:40:01 -0400 Subject: [PATCH] --- yaml --- r: 163633 b: refs/heads/master c: f6f50e28f0cb8d7bcdfaacc83129f005dede11b1 h: refs/heads/master i: 163631: fbbd0b74d1e9d544c85e414f516eb640633c730a v: v3 --- [refs] | 2 +- trunk/fs/jbd2/journal.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4e277a540294..5c4ef8122aba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 78f1ddbb498283c2445c11b0dfa666424c301803 +refs/heads/master: f6f50e28f0cb8d7bcdfaacc83129f005dede11b1 diff --git a/trunk/fs/jbd2/journal.c b/trunk/fs/jbd2/journal.c index e378cb383979..a8a358bc0f21 100644 --- a/trunk/fs/jbd2/journal.c +++ b/trunk/fs/jbd2/journal.c @@ -1187,6 +1187,12 @@ static int journal_reset(journal_t *journal) first = be32_to_cpu(sb->s_first); last = be32_to_cpu(sb->s_maxlen); + if (first + JBD2_MIN_JOURNAL_BLOCKS > last + 1) { + printk(KERN_ERR "JBD: Journal too short (blocks %llu-%llu).\n", + first, last); + journal_fail_superblock(journal); + return -EINVAL; + } journal->j_first = first; journal->j_last = last;