Patch "zram: set physical queue limits to avoid array out of bounds accesses" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
zram: set physical queue limits to avoid array out of bounds accesses
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
zram-set-physical-queue-limits-to-avoid-array-out-of-bounds-accesses.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Dec 12 13:26:17 CET 2017
From: Johannes Thumshirn <[email protected]>
Date: Mon, 6 Mar 2017 11:23:35 +0100
Subject: zram: set physical queue limits to avoid array out of bounds accesses
From: Johannes Thumshirn <[email protected]>
[ Upstream commit 0bc315381fe9ed9fb91db8b0e82171b645ac008f ]
zram can handle at most SECTORS_PER_PAGE sectors in a bio's bvec. When using the NVMe over Fabrics loopback target which potentially sends a huge bulk of pages attached to the bio's bvec this results in a kernel panic because of array out of bounds accesses in zram_decompress_page().
--- drivers/block/zram/zram_drv.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/block/zram/zram_drv.c +2 -0
@@ -1286,6 +1286,8 @@ static int zram_add(void)blk_queue_io_min (zram->disk->queue,PAGE_SIZE );blk_queue_io_opt (zram->disk->queue,PAGE_SIZE ); zram->disk->queue->limits.discard_granularity =PAGE_SIZE ; + zram->disk->queue->limits.max_sectors =SECTORS_PER_PAGE ; + zram->disk->queue->limits.chunk_sectors =0 ;blk_queue_max_discard_sectors (zram->disk->queue,UINT_MAX );/* * zram_bio_discard() will clear all logical blocks if logical block
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/zram-set-physical-queue-limits-to-avoid-array-out-of-bounds-accesses.patch