Message ID | 20221020213335.309092-1-dmitry.osipenko@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1] drm: Switch drm_client_buffer_delete() to unlocked drm_gem_vunmap | expand |
Hello, On 10/21/22 00:33, Dmitry Osipenko wrote: > The drm_client_buffer_delete() wasn't switched to unlocked GEM vunmapping > by accident when rest of drm_client code transitioned to the unlocked > variants of the vmapping functions. Make drm_client_buffer_delete() use > the unlocked variant. This fixes lockdep warning splat about missing > reservation lock when framebuffer is released. > > Reported-by: kernel test robot <yujie.liu@intel.com> > Link: https://lore.kernel.org/dri-devel/890f70db-68b0-8456-ca3c-c5496ef90517@collabora.com/T/ > Fixes: 79e2cf2e7a19 ("drm/gem: Take reservation lock for vmap/vunmap operations") > Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> > --- > drivers/gpu/drm/drm_client.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c > index fbcb1e995384..38e1be991caa 100644 > --- a/drivers/gpu/drm/drm_client.c > +++ b/drivers/gpu/drm/drm_client.c > @@ -235,7 +235,7 @@ static void drm_client_buffer_delete(struct drm_client_buffer *buffer) > { > struct drm_device *dev = buffer->client->dev; > > - drm_gem_vunmap(buffer->gem, &buffer->map); > + drm_gem_vunmap_unlocked(buffer->gem, &buffer->map); > > if (buffer->gem) > drm_gem_object_put(buffer->gem); Christian, could you please give yours r-b? The dim insists that the patch should have r-b or it won't let me push to misc-next. Thanks in advance!
Am 20.10.22 um 23:33 schrieb Dmitry Osipenko: > The drm_client_buffer_delete() wasn't switched to unlocked GEM vunmapping > by accident when rest of drm_client code transitioned to the unlocked > variants of the vmapping functions. Make drm_client_buffer_delete() use > the unlocked variant. This fixes lockdep warning splat about missing > reservation lock when framebuffer is released. > > Reported-by: kernel test robot <yujie.liu@intel.com> > Link: https://lore.kernel.org/dri-devel/890f70db-68b0-8456-ca3c-c5496ef90517@collabora.com/T/ > Fixes: 79e2cf2e7a19 ("drm/gem: Take reservation lock for vmap/vunmap operations") > Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> The code was properly added recently between review and pushing. Let's get that upstream ASAP. Acked-by: Christian König <christian.koenig@amd.com> > --- > drivers/gpu/drm/drm_client.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c > index fbcb1e995384..38e1be991caa 100644 > --- a/drivers/gpu/drm/drm_client.c > +++ b/drivers/gpu/drm/drm_client.c > @@ -235,7 +235,7 @@ static void drm_client_buffer_delete(struct drm_client_buffer *buffer) > { > struct drm_device *dev = buffer->client->dev; > > - drm_gem_vunmap(buffer->gem, &buffer->map); > + drm_gem_vunmap_unlocked(buffer->gem, &buffer->map); > > if (buffer->gem) > drm_gem_object_put(buffer->gem);
On 10/21/22 00:33, Dmitry Osipenko wrote: > The drm_client_buffer_delete() wasn't switched to unlocked GEM vunmapping > by accident when rest of drm_client code transitioned to the unlocked > variants of the vmapping functions. Make drm_client_buffer_delete() use > the unlocked variant. This fixes lockdep warning splat about missing > reservation lock when framebuffer is released. > > Reported-by: kernel test robot <yujie.liu@intel.com> > Link: https://lore.kernel.org/dri-devel/890f70db-68b0-8456-ca3c-c5496ef90517@collabora.com/T/ > Fixes: 79e2cf2e7a19 ("drm/gem: Take reservation lock for vmap/vunmap operations") > Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> > --- > drivers/gpu/drm/drm_client.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c > index fbcb1e995384..38e1be991caa 100644 > --- a/drivers/gpu/drm/drm_client.c > +++ b/drivers/gpu/drm/drm_client.c > @@ -235,7 +235,7 @@ static void drm_client_buffer_delete(struct drm_client_buffer *buffer) > { > struct drm_device *dev = buffer->client->dev; > > - drm_gem_vunmap(buffer->gem, &buffer->map); > + drm_gem_vunmap_unlocked(buffer->gem, &buffer->map); > > if (buffer->gem) > drm_gem_object_put(buffer->gem); Applied to misc-next
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c index fbcb1e995384..38e1be991caa 100644 --- a/drivers/gpu/drm/drm_client.c +++ b/drivers/gpu/drm/drm_client.c @@ -235,7 +235,7 @@ static void drm_client_buffer_delete(struct drm_client_buffer *buffer) { struct drm_device *dev = buffer->client->dev; - drm_gem_vunmap(buffer->gem, &buffer->map); + drm_gem_vunmap_unlocked(buffer->gem, &buffer->map); if (buffer->gem) drm_gem_object_put(buffer->gem);
The drm_client_buffer_delete() wasn't switched to unlocked GEM vunmapping by accident when rest of drm_client code transitioned to the unlocked variants of the vmapping functions. Make drm_client_buffer_delete() use the unlocked variant. This fixes lockdep warning splat about missing reservation lock when framebuffer is released. Reported-by: kernel test robot <yujie.liu@intel.com> Link: https://lore.kernel.org/dri-devel/890f70db-68b0-8456-ca3c-c5496ef90517@collabora.com/T/ Fixes: 79e2cf2e7a19 ("drm/gem: Take reservation lock for vmap/vunmap operations") Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> --- drivers/gpu/drm/drm_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)