zram: avoid null access when fail to alloc meta
authorMinchan Kim <minchan@kernel.org>
Mon, 3 Mar 2014 23:38:34 +0000 (15:38 -0800)
committerAlex Shi <alex.shi@linaro.org>
Mon, 11 May 2015 11:34:06 +0000 (19:34 +0800)
zram_meta_alloc could fail so caller should check it.  Otherwise, your
system will hang.

Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Jerome Marchand <jmarchan@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit db5d711e2db776f18219b033e5dc4fb7e4264dd7)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
drivers/block/zram/zram_drv.c

index c450dd9390abf62af6686eb321e0c25096ec0387..cf77a8a1ae97f58fd5ab1717a463d9f1aefa1fbb 100644 (file)
@@ -611,6 +611,8 @@ static ssize_t disksize_store(struct device *dev,
 
        disksize = PAGE_ALIGN(disksize);
        meta = zram_meta_alloc(disksize);
+       if (!meta)
+               return -ENOMEM;
        down_write(&zram->init_lock);
        if (zram->init_done) {
                up_write(&zram->init_lock);