Hi Nirmoy, On Wed, Mar 15, 2023 at 11:54:46AM +0100, Nirmoy Das wrote: > Add a comment why there is a obj refcount inc before installing > the vm_ops for the mmap call. Also remove the invalid older comment > as drm API(drm_gem_prime_mmap()) will hold an obj reference before > calling this driver mmap callback so we can't have 0-refcnted > object here. > > Cc: Matthew Auld <[email protected]> > Cc: Andi Shyti <[email protected]> > Signed-off-by: Nirmoy Das <[email protected]>
fine with me! Reviewed-by: Andi Shyti <[email protected]> Andi > --- > drivers/gpu/drm/i915/gem/i915_gem_mman.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c > b/drivers/gpu/drm/i915/gem/i915_gem_mman.c > index d3c1dee16af2..0bc8c3818443 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c > @@ -952,9 +952,10 @@ int i915_gem_mmap(struct file *filp, struct > vm_area_struct *vma) > vma_pages(vma)); > if (node && drm_vma_node_is_allowed(node, priv)) { > /* > - * Skip 0-refcnted objects as it is in the process of being > - * destroyed and will be invalid when the vma manager lock > - * is released. > + * When we install vm_ops for mmap we are too late for > + * the vm_ops->open() which increases the ref_count of > + * this obj and then it gets decreased by the vm_ops->close(). > + * To balance this increase the obj ref_count here. > */ > if (!node->driver_private) { > mmo = container_of(node, struct i915_mmap_offset, > vma_node); > -- > 2.39.0
