diff options
Diffstat (limited to 'drivers/gpu/drm/drm_lease.c')
| -rw-r--r-- | drivers/gpu/drm/drm_lease.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c index 99cba8ea5d82..603b0bd9c5ce 100644 --- a/drivers/gpu/drm/drm_lease.c +++ b/drivers/gpu/drm/drm_lease.c @@ -218,7 +218,7 @@ static struct drm_master *drm_lease_create(struct drm_master *lessor, struct idr  	idr_for_each_entry(leases, entry, object) {  		error = 0; -		if (!idr_find(&dev->mode_config.crtc_idr, object)) +		if (!idr_find(&dev->mode_config.object_idr, object))  			error = -ENOENT;  		else if (!_drm_lease_held_master(lessor, object))  			error = -EACCES; @@ -439,7 +439,7 @@ static int fill_object_idr(struct drm_device *dev,  		/*  		 * We're using an IDR to hold the set of leased  		 * objects, but we don't need to point at the object's -		 * data structure from the lease as the main crtc_idr +		 * data structure from the lease as the main object_idr  		 * will be used to actually find that. Instead, all we  		 * really want is a 'leased/not-leased' result, for  		 * which any non-NULL pointer will work fine. @@ -528,7 +528,8 @@ int drm_mode_create_lease_ioctl(struct drm_device *dev,  	object_count = cl->object_count; -	object_ids = memdup_user(u64_to_user_ptr(cl->object_ids), object_count * sizeof(__u32)); +	object_ids = memdup_user(u64_to_user_ptr(cl->object_ids), +			array_size(object_count, sizeof(__u32)));  	if (IS_ERR(object_ids))  		return PTR_ERR(object_ids); @@ -687,7 +688,7 @@ int drm_mode_get_lease_ioctl(struct drm_device *dev,  	if (lessee->lessor == NULL)  		/* owner can use all objects */ -		object_idr = &lessee->dev->mode_config.crtc_idr; +		object_idr = &lessee->dev->mode_config.object_idr;  	else  		/* lessee can only use allowed object */  		object_idr = &lessee->leases; | 
