diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c index 2e8461ce74de..d9b188857f70 100644 --- a/fs/jfs/jfs_metapage.c +++ b/fs/jfs/jfs_metapage.c @@ -649,8 +649,10 @@ struct metapage *__get_metapage(struct inode *inode, unsigned long lblock, } else { INCREMENT(mpStat.pagealloc); mp = alloc_metapage(GFP_NOFS); - if (!mp) + if (!mp){ + free_metapage(mp); goto unlock; + } mp->page = page; mp->sb = inode->i_sb; mp->flag = 0;