On Thu, Apr 13, 2017 at 11:59:20AM +0900, Minchan Kim wrote:
> Johannes Thumshirn reported system goes the panic when using NVMe over
> Fabrics loopback target with zram.
> 
> The reason is zram expects each bvec in bio contains a single page
> but nvme can attach a huge bulk of pages attached to the bio's bvec
> so that zram's index arithmetic could be wrong so that out-of-bound
> access makes system panic.
> 
> [1] in mainline solved solved the problem by limiting max_sectors with
> SECTORS_PER_PAGE but it makes zram slow because bio should split with
> each pages so this patch makes zram aware of multiple pages in a bvec
> so it could solve without any regression(ie, bio split).
> 
> [1] 0bc315381fe9, zram: set physical queue limits to avoid array out of
>     bounds accesses
> 
> * from v1
>   * Do not exceed page boundary when set up bv.bv_len in make_request
>   * change "remained" variable name with "unwritten"
> 
> Cc: Hannes Reinecke <h...@suse.com>
> Reported-by: Johannes Thumshirn <jthumsh...@suse.de>
> Tested-by: Johannes Thumshirn <jthumsh...@suse.de>
> Reviewed-by: Johannes Thumshirn <jthumsh...@suse.de>
> Reviewed-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com>
> Signed-off-by: Minchan Kim <minc...@kernel.org>
> ---

Hi Minchan,

A quick amendment to your patch you forgot to remove the queue limit
setting which I introduced with commit 0bc315381fe9.

Thanks,
        Johannes

-- 
Johannes Thumshirn                                          Storage
jthumsh...@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850

Reply via email to