Messages in this thread | | | Date | Tue, 4 Apr 2017 08:13:15 +0900 | From | Minchan Kim <> | Subject | Re: [PATCH 1/5] zram: handle multiple pages attached bio's bvec |
| |
Hi Andrew,
On Mon, Apr 03, 2017 at 03:45:28PM -0700, Andrew Morton wrote: > On Mon, 3 Apr 2017 14:17:29 +0900 Minchan Kim <minchan@kernel.org> 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 panic. > > > > It can be solved by limiting max_sectors with SECTORS_PER_PAGE like > > [1] 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. > > > > [1] 0bc315381fe9, zram: set physical queue limits to avoid array out of > > bounds accesses > > This isn't a cleanup - it fixes a panic (or is it a BUG or is it an > oops, or...)
I should have written more carefully. Johannes reported the problem with fix[1] and Jens already sent it to the mainline to fix it. However, during the discussion, we can solve the problem nice way so this is revert of [1] plus solving the problem with other way which no need to split bio.
Thanks.
> > How serious is this bug? Should the fix be backported into -stable > kernels? etc. > > A better description of the bug's behaviour would be appropriate. > > > Cc: Jens Axboe <axboe@kernel.dk> > > Cc: Hannes Reinecke <hare@suse.com> > > Reported-by: Johannes Thumshirn <jthumshirn@suse.de> > > Tested-by: Johannes Thumshirn <jthumshirn@suse.de> > > Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> > > Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de> > > Signed-off-by: Minchan Kim <minchan@kernel.org> > > This signoff trail is confusing. It somewhat implies that Johannes > authored the patch which I don't think is the case? > >
| |