Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4782675yba; Wed, 8 May 2019 02:41:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqz+XyL7o6iHQe4RgAzmhjqNKlUbWBHTGwBwceP9jCA+lKcXBKiQVIxX+dGQOUDbc8sKPypK X-Received: by 2002:a17:902:1024:: with SMTP id b33mr45090436pla.46.1557308501984; Wed, 08 May 2019 02:41:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557308501; cv=none; d=google.com; s=arc-20160816; b=ues1uMnMsGUao4ja0hm7NI7PLSqf3rZexWoLZXvlYee0w97S56W5171ac5cyn18LbF h/gQUrgxQlP5z3z+mW86iUinenevlXpE2vDmMOcddfRrA0c4zJtHKUP7CxtiqLvede9h L8B/DVFqdp9auW+4Jrm5E+y20GSc5HAqox8CbopNqQM6ekpoh0CQnsJ0B4M9Ks+UkuFC gIFxVYKFia3IRvc0FvyeEet8rDMbCTGzH9xc088o2hat4DrEz632u1UMhkjEYwiGIjD8 1axqzV4Fdhgb4JTIRFqO4LDsNp0ySpla3cJclzMoCfiug8PuKXMe6D//LSOoPjg0zuCO mONQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:dkim-signature; bh=O82OgpfzeDh2UEeB/vmic+hMxc9DH+yp719HK/Iv7xI=; b=KiWEussLgg8LUfiRMxf++/FalrqYe6aPB61nyLCxIKQwtW2ZI5eNKaDZHWuU0541qW QUmope+fenioql0KIgLgwtMA42C0FnAnWyaotSS7e8mHS+r2vkE/eO/Dy4USXXb7sLbC +WynED97/rIFdYmpfdoxJGV1rPR3412f4Fa40zzkhTAuYDS4xm1cLQB2FUTNnmtY60jC 3u2GpWD7tWFJacmIBBTwGO3Kn61EObskvJmwU82pgWynkXSmlFlsFcnILQWv8WbR353r 5/XYOJIIyzuGUCD6BbcoWj2jRNiUieTKV54S7f88lO6YRp25MThZ/WfZsl0am0bClsUD SY2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b=bI+OTnFQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c193si12481740pfb.71.2019.05.08.02.41.25; Wed, 08 May 2019 02:41:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b=bI+OTnFQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726780AbfEHIfZ (ORCPT + 99 others); Wed, 8 May 2019 04:35:25 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:40646 "EHLO mail-ed1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726387AbfEHIfY (ORCPT ); Wed, 8 May 2019 04:35:24 -0400 Received: by mail-ed1-f67.google.com with SMTP id e56so21269131ede.7 for ; Wed, 08 May 2019 01:35:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=O82OgpfzeDh2UEeB/vmic+hMxc9DH+yp719HK/Iv7xI=; b=bI+OTnFQBhAMy/Fosn0WFLRAjME86sn9+AY2pJSC/YisVJpsAi3ITxRhfc+MXIkAcO 2xPP+zbqNdgib/BoAt3L0GfsYBQ5EAC4h+HB97Ud18Rm8WZSEl1Jala96sRo/86WW6BW NLiHu2roFj/eR4y3VgLe5lQ3BFFna8Yrm2nvI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=O82OgpfzeDh2UEeB/vmic+hMxc9DH+yp719HK/Iv7xI=; b=pJNd/3HDgxnZVlAOBLJdk9qJmnS9aJ4LfMY7kZNNSFUhtoDnN10bYsFWJR8TC3henD h/iVR+NUrRUp4520NGARN+S2DC+HWEC2V7qa5La8CTbVh2AvRwa0tQbdpAN6d53345s1 3i0NzsROof5k/X3kk45LZSCRl8mMXT/rAI/C32VUsRVug0Y7Igd282/bmU7gXdlURKqa /tJd8xmtpNPz3SwPaM0ix9uxEItX642t0dgNd43TOoYi04h0xzVfdnEjTX6BUSZxbsTX 62nGTJzzJXSwZl2aymAf25EW8iFdnnLyuBeRWfeO6RcPiJBNfJjsTgl92doivWPS5VxZ qiZQ== X-Gm-Message-State: APjAAAWTg3dIoGlhPbG2Ftw1fFsYlT5KhxIHx81OslxketyR9Ebp96N5 irx6o6q0zB4yS0moRAYc1ro6TQ== X-Received: by 2002:a50:87ab:: with SMTP id a40mr36539324eda.188.1557304523070; Wed, 08 May 2019 01:35:23 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id y13sm3739593edp.77.2019.05.08.01.35.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 08 May 2019 01:35:22 -0700 (PDT) Date: Wed, 8 May 2019 10:35:19 +0200 From: Daniel Vetter To: Jordan Crouse Cc: freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , Maarten Lankhorst , Maxime Ripard , Daniel Vetter Subject: Re: [PATCH] drm/atomic: Check that the config funcs exist drm_mode_alloc Message-ID: <20190508083519.GS17751@phenom.ffwll.local> Mail-Followup-To: Jordan Crouse , freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , Maarten Lankhorst , Maxime Ripard References: <1557256451-24950-1-git-send-email-jcrouse@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1557256451-24950-1-git-send-email-jcrouse@codeaurora.org> X-Operating-System: Linux phenom 4.14.0-3-amd64 User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 07, 2019 at 01:14:11PM -0600, Jordan Crouse wrote: > An error while initializing the msm driver ends up calling > drm_atomic_helper_shutdown() without first initializing the funcs > in mode_config. While I'm not 100% sure this isn't a ordering > problem in msm adding a check to drm_mode_alloc seems like > a nice and safe solution. > > Signed-off-by: Jordan Crouse Hm yeah this looks a bit too much like ducttape. I think Noralf started working on some ideas of devm-like automatic cleanup for drm stuff (we cannot use devm, that has the wrong lifetimes, despite all the drivers using it). Simple fix would be to move up the assignment of config.funcs to be much earlier in your driver load I guess. -Daniel > --- > > drivers/gpu/drm/drm_atomic.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 5eb4013..1729428 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -114,6 +114,9 @@ drm_atomic_state_alloc(struct drm_device *dev) > { > struct drm_mode_config *config = &dev->mode_config; > > + if (!config->funcs) > + return NULL; > + > if (!config->funcs->atomic_state_alloc) { > struct drm_atomic_state *state; > > -- > 2.7.4 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch