Received: by 10.223.185.116 with SMTP id b49csp6502185wrg; Wed, 28 Feb 2018 10:27:14 -0800 (PST) X-Google-Smtp-Source: AH8x227baHICvbQ7Os0JnCt1B3rBQNczyxXrdZZ0P7cb07VfmwNEC9XDLb885RAMvTiP2UZmABne X-Received: by 10.99.165.9 with SMTP id n9mr15040497pgf.324.1519842434877; Wed, 28 Feb 2018 10:27:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519842434; cv=none; d=google.com; s=arc-20160816; b=PeGItEUjWtvA/IPipaqEDCc2V3NENfyghyDQ0JIGAq/eC3CSK1qOtse+f2bCSm12rb 0/gL1XhJIAftVUzvAj6PnZ11upSwnT0403eCfe47klHjNB12df0zNqAulmQBiX3E86UY lvZls1JImVuI1leSEvkGWBMW96mEf5AMTh9JOfaKeSKfY6n9i3iGT1WBE+oEJv6NfM/V aPif2s/SvIE1JcSxVU5xj0gJFsSDmp01EFk7sc8FoscZ1tIU8MKiOIL8sQX8tx1wUXqc iO+wrSmd4QnZ2um2yvTz1TANkZgClYo6WZvbhTT4tm1U/91Yys/udE6kNKkAoT3WcR5Y fexA== 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:message-id:subject:cc :to:from:date:arc-authentication-results; bh=xo2tPDROzHp2Bkr6qhqAwu7J9Z3FHWElPFpVq++8PU0=; b=RQt2USkz3w3Cs3l/wYK3NeZ3yInLw6yPwKCgbmF92xN6vSYJkzgAfHxiIOkXIPUbWg 6ABCe+N1f77/at7ZhTDaztEJctNYYfQxE5surhvUj5RNvoGn/2YRS1r2a9Psu7BkhD0+ JV/o9f582YoheBjTjgYd2KOcwMLvYVcolysREp3JnU2/d5Swf1zSq5n7MkGAcfXMfamn E0QzQY4T1cVwwgNFzdp/QpQc43PY5Y8KVh9jMqWMz0lGUXrRUNDsFgAPr1qS3wxVQ6ud MCvQSRr4FE8bRoUqeC3cISvA96VQmSCq7HII5NTVE9mFAfN3ew/VPPHI9NgQbf21RdzJ CL6A== 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 o1-v6si1617772plb.280.2018.02.28.10.27.00; Wed, 28 Feb 2018 10:27:14 -0800 (PST) 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 S932611AbeB1S0I (ORCPT + 99 others); Wed, 28 Feb 2018 13:26:08 -0500 Received: from mx2.suse.de ([195.135.220.15]:38655 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932374AbeB1S0G (ORCPT ); Wed, 28 Feb 2018 13:26:06 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 9F7A3AB34; Wed, 28 Feb 2018 18:26:04 +0000 (UTC) Date: Wed, 28 Feb 2018 18:26:03 +0000 From: "Luis R. Rodriguez" To: Josh Triplett Cc: "Luis R. Rodriguez" , Kees Cook , Greg KH , Andrew Morton , Shuah Khan , Martin Fuzzey , Mimi Zohar , David Howells , pali.rohar@gmail.com, Takashi Iwai , arend.vanspriel@broadcom.com, =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= , nbroeking@me.com, Vikram Mulukutla , stephen.boyd@linaro.org, Mark Brown , Dmitry Torokhov , David Woodhouse , Linus Torvalds , Abhay_Salunke@dell.com, bjorn.andersson@linaro.org, jewalt@lgsinnovations.com, LKML , "linux-fsdevel@vger.kernel.org" Subject: Re: [PATCH v2 11/11] test_firmware: test three firmware kernel configs using a proc knob Message-ID: <20180228182603.GI14069@wotan.suse.de> References: <20180224024613.24078-1-mcgrof@kernel.org> <20180224024613.24078-12-mcgrof@kernel.org> <20180228013237.GH14069@wotan.suse.de> <20180228090723.GA11438@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180228090723.GA11438@localhost> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 28, 2018 at 01:07:23AM -0800, Josh Triplett wrote: > On Wed, Feb 28, 2018 at 01:32:37AM +0000, Luis R. Rodriguez wrote: > > On Tue, Feb 27, 2018 at 03:18:15PM -0800, Kees Cook wrote: > > > On Fri, Feb 23, 2018 at 6:46 PM, Luis R. Rodriguez wrote: > > > > Since we now have knobs to twiddle what used to be set on kernel > > > > configurations we can build one base kernel configuration and modify > > > > behaviour to mimic such kernel configurations to test them. > > > > > > > > Provided you build a kernel with: > > > > > > > > CONFIG_TEST_FIRMWARE=y > > > > CONFIG_FW_LOADER=y > > > > CONFIG_FW_LOADER_USER_HELPER=y > > > > CONFIG_IKCONFIG=y > > > > CONFIG_IKCONFIG_PROC=y > > > > > > > > We should now be able test all possible kernel configurations > > > > when FW_LOADER=y. Note that when FW_LOADER=m we just don't provide > > > > the built-in functionality of the built-in firmware. > > > > > > > > If you're on an old kernel and either don't have /proc/config.gz > > > > (CONFIG_IKCONFIG_PROC) or haven't enabled CONFIG_FW_LOADER_USER_HELPER > > > > we cannot run these dynamic tests, so just run both scripts just > > > > as we used to before making blunt assumptions about your setup > > > > and requirements exactly as we did before. > > > > > > > > Signed-off-by: Luis R. Rodriguez > > > > > > Cool. Nice to have it all in one test build now. :) > > > > Now what about we start discussing one kernel config only for the future? The > > impact would be the size of the fallback mechanism. That should be a bit clear > > in terms of size impact after this series. > > > > Wonder what Josh thinks as he help with tinyconfig. We could target v4.18 if > > its sensible. > > Having any of these unconditionally compiled in seems likely to be a > significant impact, both directly and because of what else it would > implicitly prevent compiling out or removing. And the firmware loader, > for instance, is something that many kernels or hardware will not need > at all. Oh sorry, I did not mean always enabling the firmware loader, that would add an extra 828 bytes, and 14264 bytes if the fallback mechanism is enabled as well. I meant having only CONFIG_FW_LOADER=y, and removing CONFIG_FW_LOADER_USER_HELPER so that we just always compile it in if we have CONFIG_FW_LOADER=y, so a penalty of 13436 bytes for those who enabled the firmware loader but hadn't before enabled the fallback mechanism. I'll note CONFIG_FW_LOADER_USER_HELPER is actually known to be enabled by most distributions these days. We have an extra CONFIG_FW_LOADER_USER_HELPER_FALLBACK but this is now just a toggle of a boolean, and actually Android is known to enable it mostly, not other Linux distributions. Since Android enables CONFIG_FW_LOADER_USER_HELPER_FALLBACK we know they also enable the fallback mechanism with CONFIG_FW_LOADER_USER_HELPER_FALLBACK. So for folks who enable CONFIG_FW_LOADER=y, they'd now be forced to gain an extra 13436 bytes broken down as follows: ------------------------------------------------------------------------------------------- allnoconfig with no firmware loader (with procfs enabled): $ size vmlinux text data bss dec hex filename 1135188 272012 1219736 2626936 281578 vmlinux $ du -b vmlinux 1745556 vmlinux ------------------------------------------------------------------------------------------- CONFIG_FW_LOADER=y $ size vmlinux text data bss dec hex filename 1137244 267984 1219716 2624944 280db0 vmlinux $ du -b vmlinux 1746384 vmlinux ------------------------------------------------------------------------------------------- CONFIG_FW_LOADER=y CONFIG_FW_LOADER_USER_HELPER=y $ size vmlinux text data bss dec hex filename 1140554 272464 1219716 2632734 282c1e vmlinux $ du -b vmlinux 1759820 vmlinux Luis