From patchwork Thu Oct 15 07:36:25 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 7403471 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 603179F1B9 for ; Thu, 15 Oct 2015 07:34:05 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 94DE7207EB for ; Thu, 15 Oct 2015 07:34:04 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 6575520793 for ; Thu, 15 Oct 2015 07:34:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 45A8A7A0C7; Thu, 15 Oct 2015 00:34:02 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4D92A7A098 for ; Thu, 15 Oct 2015 00:34:00 -0700 (PDT) Received: by wicll6 with SMTP id ll6so5387460wic.1 for ; Thu, 15 Oct 2015 00:33:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fr13fCntd+SH0pfHBKlTWDa7e45aKnqE8zSbmw5+UAo=; b=DH4QxPma1k1YfKhn/r/PgBzOw+WB4hJ0FiF6EFFJNOroOhT0fgz842d2q3oMJ9E/jw /2M0FS+6197gD4WWMluHXxPtdAFLthLIyiJW2qjx1nqD1znsViXX994zEBiMjP/Xa0SZ H59yTkTIu/qQVOKIXGgr26bwDr1TUeWiVDFIw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fr13fCntd+SH0pfHBKlTWDa7e45aKnqE8zSbmw5+UAo=; b=Ng6+RCWYGiVWfGAoLy+i/ZZ7C4f8ry+3i6RgqYZPzOK7OuyyRJVCYNzHSbznmCce6a a4/f8adEIV1/k1jo5/vCcdO8teMcjk5DTscUtZSKYG168XxBGkINxOODINIM/XqMsbQ6 y+v1971JXUzv/qk1p/BbxJ8pF08vZSX+UjFKm+5MPttuHlMDQLFjZuANk12HIXp8mpJS qS8xzIhyXrYtylcyahAuIweD0KwpnVLzpW2uj3H0FEE6MS/I3iure9I05qs+3p3mN5PR NpdEmZlHTDgTGb6wkZVkuwnSovcP0T+fyWNikRUDzG74X4EPM1a5aimprK7hxVQNxuCM XIGg== X-Gm-Message-State: ALoCoQkECe/xcYUgXEwd2ZuGr1369De5+MvsK9bIszruF99OYGPvQsD8cXzFPvpP8xNf28c9l3FL X-Received: by 10.180.206.52 with SMTP id ll20mr8510764wic.48.1444894439087; Thu, 15 Oct 2015 00:33:59 -0700 (PDT) Received: from phenom.ffwll.local (212-51-149-109.fiber7.init7.net. [212.51.149.109]) by smtp.gmail.com with ESMTPSA id z4sm10201014wjz.29.2015.10.15.00.33.58 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Oct 2015 00:33:58 -0700 (PDT) From: Daniel Vetter To: DRI Development Subject: [PATCH 09/25] drm/gem: Check locking in drm_gem_object_unreference Date: Thu, 15 Oct 2015 09:36:25 +0200 Message-Id: <1444894601-5200-10-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.5.1 In-Reply-To: <1444894601-5200-1-git-send-email-daniel.vetter@ffwll.ch> References: <1444894601-5200-1-git-send-email-daniel.vetter@ffwll.ch> Cc: Daniel Vetter , Daniel Vetter X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Pretty soon only some drivers will need dev->struct_mutex in their gem_free_object callbacks. Hence it's really important to make sure everything still keeps getting this right. Signed-off-by: Daniel Vetter --- include/drm/drm_gem.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h index 7a592d7e398b..5b3754864fb0 100644 --- a/include/drm/drm_gem.h +++ b/include/drm/drm_gem.h @@ -142,6 +142,8 @@ drm_gem_object_reference(struct drm_gem_object *obj) static inline void drm_gem_object_unreference(struct drm_gem_object *obj) { + WARN_ON(!mutex_is_locked(&obj->dev->struct_mutex)); + if (obj != NULL) kref_put(&obj->refcount, drm_gem_object_free); }