| From b216a8e7908cd750550c0480cf7d2b3a37f06954 Mon Sep 17 00:00:00 2001 |
| From: Qiujun Huang <hqjagain@gmail.com> |
| Date: Wed, 18 Mar 2020 15:53:50 +0800 |
| Subject: drm/lease: fix WARNING in idr_destroy |
| |
| From: Qiujun Huang <hqjagain@gmail.com> |
| |
| commit b216a8e7908cd750550c0480cf7d2b3a37f06954 upstream. |
| |
| drm_lease_create takes ownership of leases. And leases will be released |
| by drm_master_put. |
| |
| drm_master_put |
| ->drm_master_destroy |
| ->idr_destroy |
| |
| So we needn't call idr_destroy again. |
| |
| Reported-and-tested-by: syzbot+05835159fe322770fe3d@syzkaller.appspotmail.com |
| Signed-off-by: Qiujun Huang <hqjagain@gmail.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Link: https://patchwork.freedesktop.org/patch/msgid/1584518030-4173-1-git-send-email-hqjagain@gmail.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/drm_lease.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/gpu/drm/drm_lease.c |
| +++ b/drivers/gpu/drm/drm_lease.c |
| @@ -542,10 +542,12 @@ int drm_mode_create_lease_ioctl(struct d |
| } |
| |
| DRM_DEBUG_LEASE("Creating lease\n"); |
| + /* lessee will take the ownership of leases */ |
| lessee = drm_lease_create(lessor, &leases); |
| |
| if (IS_ERR(lessee)) { |
| ret = PTR_ERR(lessee); |
| + idr_destroy(&leases); |
| goto out_leases; |
| } |
| |
| @@ -580,7 +582,6 @@ out_lessee: |
| |
| out_leases: |
| put_unused_fd(fd); |
| - idr_destroy(&leases); |
| |
| DRM_DEBUG_LEASE("drm_mode_create_lease_ioctl failed: %d\n", ret); |
| return ret; |