Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1451063ybb; Fri, 20 Mar 2020 21:52:23 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvwzNFIcZ1Zh0kiT0H9kYm6K7lLWHsLjzP9K6ehercOuAqbu9RJ3KiKZPCuwe83bjR28Ant X-Received: by 2002:a54:4519:: with SMTP id l25mr351385oil.92.1584766343504; Fri, 20 Mar 2020 21:52:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584766343; cv=none; d=google.com; s=arc-20160816; b=iZb+zuXUEwdwn0OI/KXd3Y9/YBbZv/AMtzzZtEPKnSy5yALBh/zuTM8qIdWyMZ7NHO nQfcr+5oQ2QmEDTf0t13MeqkGNsZtS6Wl+/hz1p0u22TbbqPXNHqp4qCWYitu/nRszHR BVKosV/Tb/dBttauYCNPJRT9QhvIs1dKXn6Df1ryAUWBLMW6AoROn5qYFHS3ak1B6YIk kawiON8EMJuB9aEsCrgYV51wOMWwaTfX0hSf72JxvKWA2W0gprVerJiqeNxfWP3Yaa6b o2BZ9pCRhQsla32tJDBAMLSikBN1/TRHoe6Ot4ZtYtVTDghkZVc6POyupvo/+UjItk9e G9XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=qpx8pIFUDcLh9qU5r+t8lZ5nlSiwbfsbGR0+dFADUcs=; b=ovyJhW67Lwkn9BddRF9bvFZx1wioO/RJ5BN7id4mmmm9mx2Vz83YBMh17nTwPqYW56 PqtHId3srYRU39tbRl35V9nvvmUPK2zsyrxi5+Hst08wpE3tFk0MVwGXaagv/fVirKro EER40fA/lGBleOCLiy3dzqLOhxOAsn7yMDg2i78XHtFPeXIeuhYf5fw3qD7fyQeyvqpA +A7eRSG+uUDEa1+ghoN5aMR6Lt2XSlwvDuvmQGgRAJpPezsM2Co6cyydDwR2ukS71N7k fUuLwe9juDobYKyMZxxKMgaExOnNT3FGurKxyAhUQhXjYOwlGl3m15kf1YlgAuiFqtEf e07w== 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 c1si4529576oto.260.2020.03.20.21.51.45; Fri, 20 Mar 2020 21:52:23 -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 S1727970AbgCUEun (ORCPT + 99 others); Sat, 21 Mar 2020 00:50:43 -0400 Received: from www262.sakura.ne.jp ([202.181.97.72]:57445 "EHLO www262.sakura.ne.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725440AbgCUEun (ORCPT ); Sat, 21 Mar 2020 00:50:43 -0400 Received: from fsav102.sakura.ne.jp (fsav102.sakura.ne.jp [27.133.134.229]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id 02L4nUum016014; Sat, 21 Mar 2020 13:49:30 +0900 (JST) (envelope-from penguin-kernel@i-love.sakura.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav102.sakura.ne.jp (F-Secure/fsigk_smtp/550/fsav102.sakura.ne.jp); Sat, 21 Mar 2020 13:49:30 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/550/fsav102.sakura.ne.jp) Received: from [192.168.1.9] (M106072142033.v4.enabler.ne.jp [106.72.142.33]) (authenticated bits=0) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id 02L4nP9d015877 (version=TLSv1.2 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 21 Mar 2020 13:49:30 +0900 (JST) (envelope-from penguin-kernel@i-love.sakura.ne.jp) Subject: Re: [PATCH v2] Add kernel config option for fuzz testing. To: Dmitry Vyukov , Jiri Slaby , Greg Kroah-Hartman , Steven Rostedt , Linus Torvalds Cc: Andrew Morton , Matthew Garrett , Andi Kleen , "Theodore Y . Ts'o" , Alexander Viro , Petr Mladek , Sergey Senozhatsky , Arnd Bergmann , LKML References: <20200307135822.3894-1-penguin-kernel@I-love.SAKURA.ne.jp> <6f2e27de-c820-7de3-447d-cd9f7c650add@suse.com> <20200308065258.GE3983392@kroah.com> <3e9f47f7-a6c1-7cec-a84f-e621ae5426be@suse.com> From: Tetsuo Handa Message-ID: <7728c978-d359-227f-0f3e-f975c45ca218@i-love.sakura.ne.jp> Date: Sat, 21 Mar 2020 13:49:21 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020/03/10 15:30, Dmitry Vyukov wrote: > Re making it a single config vs a set of fine-grained configs. I think > making it fine-grained is a proper way to do it, but the point Tetsuo > raised is very real and painful as well -- when a kernel developer > adds another option, they will not go and update configs on all > external testing systems. This problem is also common for "enable all > boot tests that can run on this kernel", or "configure a 'standard' > debug build". Currently doing these things require all of expertise, > sacred knowledge, checking all configs one-by-one as well as checking > every new kernel patch and that needs to be done by everybody doing > any kernel testing. > I wonder if this can be solved by doing fine-grained configs, but also > adding some umbrella uber-config that will select all of the > individual options. Config system allows this, right? With "select" or > "default if" clauses. What would be better: have the umbrella option > select all individual, or all individual default to y if umbrella is > selected? So, we have three questions. Q1: Can we agree with adding build-time branching (i.e. kernel config options) ? I fear bugs (e.g. unexpectedly overwrting flag variables) in run-time branching mechanisms. Build-time branching mechanisms cannot have such bugs. Q2: If we can agree with kernel config options, can we start with single (or fewer) kernel config option (e.g. CONFIG_KERNEL_BUILT_FOR_FUZZ_TESTING=y) ? Q3: If we can agree with kernel config options but we can't start with single (or fewer) kernel config option, can we agree with adding another kernel config option which selects all options (e.g. config KERNEL_BUILT_FOR_FUZZ_TESTING bool "Build kernel for fuzz testing" config KERNEL_BUILT_FOR_FUZZ_TESTING_SELECT_ALL bool "Select all options for Build kernel for fuzz testing" depends on KERNEL_BUILT_FOR_FUZZ_TESTING select KERNEL_DISABLE_FOO1 select KERNEL_DISABLE_BAR1 select KERNEL_DISABLE_BUZ1 select KERNEL_CHANGE_FOO2 select KERNEL_ENABLE_BAR2 config KERNEL_DISABLE_FOO1 bool "Disable foo1" depends on KERNEL_BUILT_FOR_FUZZ_TESTING config KERNEL_DISABLE_BAR1 bool "Disable bar1" depends on KERNEL_BUILT_FOR_FUZZ_TESTING config KERNEL_DISABLE_BUZ1 bool "Disable buz1" depends on KERNEL_BUILT_FOR_FUZZ_TESTING config KERNEL_CHANGE_FOO2 bool "Change foo2" depends on KERNEL_BUILT_FOR_FUZZ_TESTING config KERNEL_ENABLE_BAR2 bool "Enable bar2" depends on KERNEL_BUILT_FOR_FUZZ_TESTING ) ?