Messages in this thread | | | Date | Mon, 9 Jan 2023 11:08:44 -0700 | From | Logan Gunthorpe <> | Subject | Re: [PATCH] lib/scatterlist: Fix to calculate the last_pg properly |
| |
On 2023-01-09 07:47, Yishai Hadas wrote: > The last_pg is wrong, it is actually the first page of the last > scatterlist element. To get the last page of the last scatterlist > element we have to add prv->length. So it is checking mergability > against the wrong page, Further, a SG element is not guaranteed to end > on a page boundary, so we have to check the sub page location also for > merge eligibility. > > Fix the above by checking physical contiguity, compute the actual last > page and then call pages_are_mergable(). > > Fixes: 1567b49d1a40 ("lib/scatterlist: add check when merging zone device pages") > Reported-by: Jason Gunthorpe <jgg@nvidia.com> > Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Looks right by my eye, thanks.
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Logan
| |