Received: by 10.213.65.68 with SMTP id h4csp1284603imn; Wed, 14 Mar 2018 15:38:04 -0700 (PDT) X-Google-Smtp-Source: AG47ELuf/eVyiN4TwrGmwBfWdhpxYaPDWmScUQGtd3Y0ehjo0ohbRxd2jvgoHdBgPE03PkGJcLiG X-Received: by 10.101.76.71 with SMTP id l7mr5055135pgr.192.1521067084749; Wed, 14 Mar 2018 15:38:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521067084; cv=none; d=google.com; s=arc-20160816; b=YDZAj/D3+Fb3nf2HPOAi4EdyWy6jQ7M0G5e6KC6rchaVKHrf4RGxD261lCRiLmbEqb rINRaWE0m23TVoYnPkhB1cKhidOV0PNba//H7IIO7AAa2UXbULT82DnqlA/O4makQFVl i7LVgfDq2da9vxW1Tiuka4wXQGN2pt9eg3Me07ZkT+1QMDzhsQIxc9IFFqfMTZhG7PXQ LMKkKL9honUaF+KFLtvyOHQLy/HP6geqyU1KcvM235Gfwum6tS+ErE557gNa6xBclL3q wd5HThUPN4DWa9iroQedqXWMYGDrHKc21FlltvrA+N59MGEFW7srHtM+jy4jP/PQ0kIJ Yu/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dmarc-filter :arc-authentication-results; bh=egUpRgRQl3/zJE3j+ZeOuQNiYnGcaszC/2PFmVxLzxc=; b=WlSLuSJYZd4gd10EC4jwxXKqnv+Q+sD8lOeQAjsqz+EBOTf1uqoG1iIIbxnOCyi3El X4xu57/PrefUEKp1bFgZD78AZHs56cEJio172rkazG0jdPsA+vknwvCCXDt2fB3ilX2Q 1NhlQOGkrrX7oX7NyTI2FFGVSS+7bZxntndeglAqjW1K/LGJQZ9yTZg2aB19Nr/FTLYu nlTwRYcQB9pSIvqmXhqkIVAJw825NqhYnk4NObMobiz/W/66C/5JZv8PBA+Pdf5FN4ur 4a2izSbrtooaKrbRqcxV0aWsaUwh1Zn4KlswYaajfeVhd7CIyqQh3+UMmRoPiSDLWZr/ Tdcw== ARC-Authentication-Results: i=1; mx.google.com; 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 z124si2442950pgb.811.2018.03.14.15.37.50; Wed, 14 Mar 2018 15:38:04 -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; 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 S1751526AbeCNWg4 (ORCPT + 99 others); Wed, 14 Mar 2018 18:36:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:39146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751314AbeCNWgy (ORCPT ); Wed, 14 Mar 2018 18:36:54 -0400 Received: from mail-io0-f176.google.com (mail-io0-f176.google.com [209.85.223.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0EC05217D3; Wed, 14 Mar 2018 22:36:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0EC05217D3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=mcgrof@kernel.org Received: by mail-io0-f176.google.com with SMTP id h23so6249587iob.11; Wed, 14 Mar 2018 15:36:54 -0700 (PDT) X-Gm-Message-State: AElRT7Eq00rWMYl4ZKjA/M7Zs/53P5uauzRDL5EHhR/IPqF9ArwnXl5u 3S22qqBkbw0A8Wi6NwOQeDgc/y8UJbTgKzZP8AE= X-Received: by 10.107.17.6 with SMTP id z6mr6744320ioi.274.1521067013442; Wed, 14 Mar 2018 15:36:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.10.9 with HTTP; Wed, 14 Mar 2018 15:36:32 -0700 (PDT) In-Reply-To: <20180314185347.GA15837@kroah.com> References: <20180310141501.2214-1-mcgrof@kernel.org> <20180310141501.2214-6-mcgrof@kernel.org> <20180314185347.GA15837@kroah.com> From: "Luis R. Rodriguez" Date: Wed, 14 Mar 2018 15:36:32 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 05/20] firmware: simplify CONFIG_FW_LOADER_USER_HELPER_FALLBACK further To: Greg KH Cc: Andrew Morton , cantabile.desu@gmail.com, kubakici@wp.pl, linux-wireless , Kees Cook , shuah@kernel.org, Martin Fuzzey , Mimi Zohar , David Howells , =?UTF-8?Q?Pali_Roh=C3=A1r?= , Takashi Iwai , Arend Van Spriel , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Nicolas Broeking , Vikram Mulukutla , Mark Brown , Dmitry Torokhov , David Woodhouse , Linus Torvalds , Abhay Salunke , Bjorn Andersson , jewalt@lgsinnovations.com, oneukum@suse.com, Alexei Starovoitov , Andres Rodriguez , "linux-kernel@vger.kernel.org" , Linux FS Devel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 14, 2018 at 11:53 AM, Greg KH wrote: > On Sat, Mar 10, 2018 at 06:14:46AM -0800, Luis R. Rodriguez wrote: >> All CONFIG_FW_LOADER_USER_HELPER_FALLBACK really is, is just a bool, >> initailized at build time. Define it as such. This simplifies the >> logic even further, removing now all explicit #ifdefs around the code. >> >> Acked-by: Kees Cook >> Signed-off-by: Luis R. Rodriguez >> --- >> drivers/base/firmware_loader.c | 25 ++++++++++++++++++------- >> 1 file changed, 18 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/base/firmware_loader.c b/drivers/base/firmware_loader.c >> index 7dd36ace6152..59dba794ce1a 100644 >> --- a/drivers/base/firmware_loader.c >> +++ b/drivers/base/firmware_loader.c >> @@ -266,6 +266,22 @@ static inline bool fw_state_is_aborted(struct fw_priv *fw_priv) >> >> #ifdef CONFIG_FW_LOADER_USER_HELPER >> >> +/** >> + * struct firmware_fallback_config - firmware fallback configuratioon settings >> + * >> + * Helps describe and fine tune the fallback mechanism. >> + * >> + * @force_sysfs_fallback: force the sysfs fallback mechanism to be used >> + * as if one had enabled CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y. >> + */ >> +struct firmware_fallback_config { >> + bool force_sysfs_fallback; >> +}; > > This is C, why are you messing around with a structure and "getters and > setters" for a set of simple values? > >> +static const struct firmware_fallback_config fw_fallback_config = { >> + .force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK), >> +}; > > static bool force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK); For this case yes, but I later expand on this structure for all fallback configuration items. So we have to start it somewhere. > Then just read/write the foolish thing, don't make this more complex > than is needed please. Please read the final results and let me know what you think. > There is a "getter and setters are evil" rant somewhere out there > online, if you really need me to dig up the old tired arguments :) I don't use them for sport, I use them given the fallback stuff *is* not something the direct core firmware code should use openly, it will really depend on if the fallback interface was enabled. As such we provide wrapper for access into them. Luis