Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp882785pxb; Wed, 27 Oct 2021 14:24:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy6L6B+fiUWHsvC43picdMVssvEzz8qdkMxX7iYjJW7mTewV9ymKAROcoyE+UaNsCN0lgMA X-Received: by 2002:a17:906:6a2a:: with SMTP id qw42mr36815ejc.351.1635369884565; Wed, 27 Oct 2021 14:24:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635369884; cv=none; d=google.com; s=arc-20160816; b=g09otcikFegFY3NCDrjZAjawwQEoyom1agEmwfsqnhJflVi+g6A+EHs5nSh53suHJN yKXo7C3ed9gNggqjtuTYto0UwLqUKa+eVegPrRc/rAJLyir37Fu7NfROXie12F/Gki1W oURFroPHtITo6KQhtcTDK2pV5ppsNKszaynszjgZZYWcB2sjuXS9A3V2QGg/Pjc+wK3e Q803N/rF3Hu1fUizlcaD4S1y6qeLrrol7aatUzTYGL92IjAoKeIJJ8TBeuYwSy71O/c3 jXzzO9vhat/peZEO25f6Fwx1ucyVRomgFazhMMoRD30voatnD8vvY3nSTB8Kh+pKI27i 12tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :organization:in-reply-to:subject:cc:to:from; bh=r47trJuVOeQjaCYfVNtZj0VDqXrlU1FQevykQYznFQY=; b=ct+MnPNNSfnxuvNXPwkks6KFETAyQ3MDvz0bnNGAse2D3VlkgOnHtyWAT7VmCjgpax QeRQalaF2U4UZNpp0SQRGAqWIFHbI+ulU5Af5FjjmceXHyHwEW3NYc0PoSufgfRcI+Ka lsFlJyKCRF93SGTHwUmb7W+vSjuKK8LUA2lzfbhAE637uJOt/6iwHxLvskjKfPoGT2J5 9WtR3dFlXoQRdrrW4nq+j0G1onO7MvDy2fxxUQ34VR7lc3uPNwTaxo6vb1lbaznlQH2X VHC6uceD5s7+0Ml12eeAXh0PdPgRAg3hntTAceFG5bTW1b8wGtU0Xv4yMNlZHnAvqPWk HZ5Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g7si1645256edb.424.2021.10.27.14.24.21; Wed, 27 Oct 2021 14:24:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239790AbhJ0LuM (ORCPT + 97 others); Wed, 27 Oct 2021 07:50:12 -0400 Received: from mga17.intel.com ([192.55.52.151]:53788 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235172AbhJ0LuK (ORCPT ); Wed, 27 Oct 2021 07:50:10 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10149"; a="210920854" X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="210920854" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 04:47:45 -0700 X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="497830029" Received: from smaharan-mobl.gar.corp.intel.com (HELO localhost) ([10.251.214.195]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 04:47:40 -0700 From: Jani Nikula To: Daniel Vetter , Kees Cook Cc: Arnd Bergmann , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Arnd Bergmann , Alex Deucher , Christian =?utf-8?Q?K=C3=B6nig?= , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Javier Martinez Canillas Subject: Re: [PATCH] [RESEND] drm: fb_helper: fix CONFIG_FB dependency In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20210927142816.2069269-1-arnd@kernel.org> <202109270923.97AFDE89DB@keescook> Date: Wed, 27 Oct 2021 14:47:37 +0300 Message-ID: <878ryeit9i.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 30 Sep 2021, Daniel Vetter wrote: > On Mon, Sep 27, 2021 at 09:23:45AM -0700, Kees Cook wrote: >> On Mon, Sep 27, 2021 at 04:28:02PM +0200, Arnd Bergmann wrote: >> > From: Arnd Bergmann >> > >> > With CONFIG_FB=m and CONFIG_DRM=y, we get a link error in the fb helper: >> > >> > aarch64-linux-ld: drivers/gpu/drm/drm_fb_helper.o: in function `drm_fb_helper_alloc_fbi': >> > (.text+0x10cc): undefined reference to `framebuffer_alloc' >> > >> > Tighten the dependency so it is only allowed in the case that DRM can >> > link against FB. >> > >> > Fixes: f611b1e7624c ("drm: Avoid circular dependencies for CONFIG_FB") >> > Link: https://lore.kernel.org/all/20210721152211.2706171-1-arnd@kernel.org/ >> > Signed-off-by: Arnd Bergmann >> >> Thanks for fixing this! >> >> Reviewed-by: Kees Cook > > Stuffed into drm-misc-next. The problem is, I don't think the patch is semantically correct. drm_fb_helper.o is not part of drm.ko, it's part of drm_kms_helper.ko. This adds some sort of indirect dependency via DRM which might work, maybe by coincidence, maybe not - but it's certainly not obvious. The likely culprit is, again, the overuse of select, and in this case select DRM_KMS_HELPER. And DRM_KMS_HELPER should depend on FB if DRM_FBDEV_EMULATION=y. That's the problem. All of the drm Kconfigs could use an overhaul to be semantically correct, but that's a hill nobody wants to die on. Instead we keep piling up tweaks to paper over the issues, ad infinitum. (And this ties to a previous comment I had about the organization of files under drm/, a hundred files in one big lump that belong to different modules, and it's not helping people figure out the dependencies.) BR, Jani. PS. I was brought here via [1] which is another complicated "fix" to the same problem. [1] https://lore.kernel.org/r/20211027072044.4105113-1-javierm@redhat.com -- Jani Nikula, Intel Open Source Graphics Center