Re: [PATCH 4.19.y] drm/i915/gem: Fix Virtual Memory mapping boundaries calculation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 13, 2024 at 06:09:04PM +0200, Greg KH wrote:
> On Tue, Aug 13, 2024 at 05:28:15PM +0200, Greg KH wrote:
> > On Tue, Aug 13, 2024 at 04:14:36PM +0200, Andi Shyti wrote:
> > > Commit 8bdd9ef7e9b1b2a73e394712b72b22055e0e26c3 upstream.
> > > 
> > > Calculating the size of the mapped area as the lesser value
> > > between the requested size and the actual size does not consider
> > > the partial mapping offset. This can cause page fault access.
> > > 
> > > Fix the calculation of the starting and ending addresses, the
> > > total size is now deduced from the difference between the end and
> > > start addresses.
> > > 
> > > Additionally, the calculations have been rewritten in a clearer
> > > and more understandable form.
> > > 
> > > Fixes: c58305af1835 ("drm/i915: Use remap_io_mapping() to prefault all PTE in a single pass")
> > > Reported-by: Jann Horn <jannh@xxxxxxxxxx>
> > > Co-developed-by: Chris Wilson <chris.p.wilson@xxxxxxxxxxxxxxx>
> > > Signed-off-by: Chris Wilson <chris.p.wilson@xxxxxxxxxxxxxxx>
> > > Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx>
> > > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
> > > Cc: Matthew Auld <matthew.auld@xxxxxxxxx>
> > > Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> > > Cc: <stable@xxxxxxxxxxxxxxx> # v4.9+
> > > Reviewed-by: Jann Horn <jannh@xxxxxxxxxx>
> > > Reviewed-by: Jonathan Cavitt <Jonathan.cavitt@xxxxxxxxx>
> > > [Joonas: Add Requires: tag]
> > > Requires: 60a2066c5005 ("drm/i915/gem: Adjust vma offset for framebuffer mmap offset")
> > > Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
> > > Link: https://patchwork.freedesktop.org/patch/msgid/20240802083850.103694-3-andi.shyti@xxxxxxxxxxxxxxx
> > > (cherry picked from commit 97b6784753da06d9d40232328efc5c5367e53417)
> > > Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
> > > ---
> > >  drivers/gpu/drm/i915/i915_gem.c | 48 +++++++++++++++++++++++++++++----
> > >  1 file changed, 43 insertions(+), 5 deletions(-)
> > 
> > Both now applied, thanks.
> 
> Wait, did you build this?  I get the following error:
> 
>   CC [M]  drivers/gpu/drm/i915/i915_gem.o
> drivers/gpu/drm/i915/i915_gem.c: In function ‘set_address_limits’:
> drivers/gpu/drm/i915/i915_gem.c:2034:18: error: ‘obj_offset’ undeclared (first use in this function); did you mean ‘iova_offset’?
>  2034 |         start -= obj_offset;
>       |                  ^~~~~~~~~~
>       |                  iova_offset
> 
> 
> I'll drop this now.
> 
> Can you fix this up and provide a working version?

ops! Sorry, I was on the wrong branch.

Will send you immediately the correct patch.

Thank you,
Andi

> thanks,
> 
> greg k-h




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux