* [PATCH] jbd: Fail to load a journal if it is too short
@ 2009-07-15 19:05 Jan Kara
2009-07-15 19:05 ` [PATCH] jbd2: " Jan Kara
0 siblings, 1 reply; 3+ messages in thread
From: Jan Kara @ 2009-07-15 19:05 UTC (permalink / raw)
To: linux-ext4; +Cc: tytso, Jan Kara
Due to on disk corruption, it can happen that journal is too short. Fail
to load it in such case so that we don't oops somewhere later.
Reported-by: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
Signed-off-by: Jan Kara <jack@suse.cz>
---
fs/jbd/journal.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
index 737f724..94a64a1 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -848,6 +848,12 @@ static int journal_reset(journal_t *journal)
first = be32_to_cpu(sb->s_first);
last = be32_to_cpu(sb->s_maxlen);
+ if (first + JFS_MIN_JOURNAL_BLOCKS > last + 1) {
+ printk(KERN_ERR "JBD: Journal too short (blocks %lu-%lu).\n",
+ first, last);
+ journal_fail_superblock(journal);
+ return -EINVAL;
+ }
journal->j_first = first;
journal->j_last = last;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] jbd2: Fail to load a journal if it is too short
2009-07-15 19:05 [PATCH] jbd: Fail to load a journal if it is too short Jan Kara
@ 2009-07-15 19:05 ` Jan Kara
2009-07-17 14:42 ` Theodore Tso
0 siblings, 1 reply; 3+ messages in thread
From: Jan Kara @ 2009-07-15 19:05 UTC (permalink / raw)
To: linux-ext4; +Cc: tytso, Jan Kara
Due to on disk corruption, it can happen that journal is too short. Fail
to load it in such case so that we don't oops somewhere later.
Signed-off-by: Jan Kara <jack@suse.cz>
---
fs/jbd2/journal.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index e378cb3..a8a358b 100644
--- a/fs/jbd2/journal.c
+++ b/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;
--
1.6.0.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-07-17 14:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-15 19:05 [PATCH] jbd: Fail to load a journal if it is too short Jan Kara
2009-07-15 19:05 ` [PATCH] jbd2: " Jan Kara
2009-07-17 14:42 ` Theodore Tso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).