From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757866Ab3BLWIr (ORCPT ); Tue, 12 Feb 2013 17:08:47 -0500 Received: from mail-ee0-f45.google.com ([74.125.83.45]:49315 "EHLO mail-ee0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752245Ab3BLWIq (ORCPT ); Tue, 12 Feb 2013 17:08:46 -0500 Message-ID: <511ABD69.3060201@suse.cz> Date: Tue, 12 Feb 2013 23:08:41 +0100 From: Jiri Slaby User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20130124 Thunderbird/19.0 MIME-Version: 1.0 To: Tejun Heo CC: Andrew Morton , David Airlie , dri-devel@lists.freedesktop.org, LKML Subject: Re: compositing broken in -next (idr bug) References: <511ABA59.9050604@suse.cz> <511ABC32.3050706@suse.cz> In-Reply-To: <511ABC32.3050706@suse.cz> X-Enigmail-Version: 1.6a1pre Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/12/2013 11:03 PM, Jiri Slaby wrote: > On 02/12/2013 10:55 PM, Jiri Slaby wrote: >> --- a/drivers/gpu/drm/drm_gem.c >> +++ b/drivers/gpu/drm/drm_gem.c >> @@ -453,7 +453,8 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data, >> spin_lock(&dev->object_name_lock); >> if (!obj->name) { >> ret = idr_alloc(&dev->object_name_idr, obj, 1, 0, >> GFP_NOWAIT); >> - obj->name = ret; >> + if (ret >= 0) >> + obj->name = ret; >> args->name = (uint64_t) obj->name; >> spin_unlock(&dev->object_name_lock); >> >> @@ -469,6 +470,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data, >> } >> >> err: >> + idr_preload_end(); >> drm_gem_object_unreference_unlocked(obj); >> return ret; > > Oh my, maybe: return ret < 0 ? ret : 0... Let's try. Bull's eye. --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -459,6 +459,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data, if (ret < 0) goto err; + ret = 0; /* Allocate a reference for the name table. */ drm_gem_object_reference(obj); -- js suse labs