diff options
author | Namhyung Kim <namhyung@gmail.com> | 2010-10-13 04:17:18 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-10-27 19:30:04 -0400 |
commit | 2a0e33889b3f5e3c270dd1b746f4c0a75efa4790 (patch) | |
tree | 322394e75daccaf692a4adb388efa596a231a59b | |
parent | 81a4e320e6ee29bde3fe880ab87b2122bc1de88b (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.c | 2 |
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"); |