diff options
author | Namhyung Kim <namhyung@gmail.com> | 2010-10-13 17:17:18 +0900 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-10-28 01:30:04 +0200 |
commit | 2a0e33889b3f5e3c270dd1b746f4c0a75efa4790 (patch) | |
tree | 322394e75daccaf692a4adb388efa596a231a59b /fs/jbd | |
parent | 81a4e320e6ee29bde3fe880ab87b2122bc1de88b (diff) | |
download | linux-stable-2a0e33889b3f5e3c270dd1b746f4c0a75efa4790.tar.gz linux-stable-2a0e33889b3f5e3c270dd1b746f4c0a75efa4790.tar.bz2 linux-stable-2a0e33889b3f5e3c270dd1b746f4c0a75efa4790.zip |
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>
Diffstat (limited to 'fs/jbd')
-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) if (err) return err; bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize); + if (unlikely(!bh)) + return -ENOMEM; lock_buffer(bh); memset (bh->b_data, 0, journal->j_blocksize); BUFFER_TRACE(bh, "marking dirty"); |