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)
committerJiri Slaby <jslaby@suse.cz>
Sat, 22 Mar 2014 21:01:47 +0000 (22:01 +0100)
commit db5d711e2db776f18219b033e5dc4fb7e4264dd7 upstream.

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>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/staging/zram/zram_drv.c

index d7ac040e0dc1c957fa0b686279ae545e109c8cd7..d02088f7dc335e22b8942916384e2dedbb0b3df2 100644 (file)
@@ -621,6 +621,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);