aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2010-10-13 04:17:18 -0400
committerJan Kara <jack@suse.cz>2010-10-27 19:30:04 -0400
commit2a0e33889b3f5e3c270dd1b746f4c0a75efa4790 (patch)
tree322394e75daccaf692a4adb388efa596a231a59b
parent81a4e320e6ee29bde3fe880ab87b2122bc1de88b (diff)
jbd: Check return value of __getblk()
Fail journal creation if __getblk() returns NULL. unlikely() is added because it is called in a loop and we've been OK without the check until now. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/jbd/journal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
index e56117651826..ac1840415a65 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -952,6 +952,8 @@ int journal_create(journal_t *journal)
952 if (err) 952 if (err)
953 return err; 953 return err;
954 bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize); 954 bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize);
955 if (unlikely(!bh))
956 return -ENOMEM;
955 lock_buffer(bh); 957 lock_buffer(bh);
956 memset (bh->b_data, 0, journal->j_blocksize); 958 memset (bh->b_data, 0, journal->j_blocksize);
957 BUFFER_TRACE(bh, "marking dirty"); 959 BUFFER_TRACE(bh, "marking dirty");