Received: by 2002:ac0:aa62:0:0:0:0:0 with SMTP id w31-v6csp3880428ima; Tue, 23 Oct 2018 12:49:24 -0700 (PDT) X-Google-Smtp-Source: ACcGV60+ifNQosm1rsQpgEnvXvRNux9rdwoyY/MqfuR+/P+ViLWDoOSZ/teHf7GBgxMqChPAq95b X-Received: by 2002:a17:902:bb88:: with SMTP id m8-v6mr48373450pls.120.1540324164662; Tue, 23 Oct 2018 12:49:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540324164; cv=none; d=google.com; s=arc-20160816; b=uVZ4q92DK68jnyC/aCqNuKPssZgH9iZdhh45CUNDLryHCeC/o3QcjK9pdxIp/b3p2E FN+1Rj11ZhfmeB04NzyVU7oT+vOhDFSLZiIVQvEEqCvqnW3r3zLJbDhub5DcgvdRYxp9 N0Ml1AgyDZVMyY06yuT2dcot0fZG6zHuLlvz/LlLRjxWlJDAc/xGZGUP++j/mODP9Hcz S6FLWX/OJiCYjcO9IR38sjOF1zwztHJpmnPa5Lyp2XBXK+bXgQGS1ZQbV4t7+vXH8DW+ cGKmfbDIEOzsFOZc7/wHb+FjPiqMCCn9t8NtVlsb4LyA6HppsgmWXfLmDdSOTB21dg3Q bNWg== 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:dkim-signature; bh=9gdoLQYrqB3ClvMhZfG7FdfEDwj1t49sEkqqhOaC0/I=; b=pnK63K/4yY61pUiCSup7nD4maAolgDS7uI2HDXovtSRQoVEy9ZyQdSVkpXEaBVzS34 QbycZDqQTHipdu0Z5aAImd3a07DOvcIELie9moIweESHKzEHDu2Ics8WMKSj6TyYokfS eGh+RKS/eBxfT6nV7NnPaPv4sT5C99qj+gtwtZlu0wJUq8tGoUkJV7g0DD9xdWBgD1J0 WSXH9RHjxOGXIUrxLcKpKIjkgiRM9T3Edr2R3zH28yW7Xr/5Q3NmCNhp62s6af0AIsvL 6P20SBebk2HrMZDe4WUyM+xFdnc41BwbwloP89HKazU/QYwZIdn+/SbPhDEpVVc2fDJ+ WQmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="CV5ze7/J"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i25-v6si2199303pgi.426.2018.10.23.12.49.08; Tue, 23 Oct 2018 12:49:24 -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=pass header.i=@kernel.org header.s=default header.b="CV5ze7/J"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727134AbeJXENY (ORCPT + 99 others); Wed, 24 Oct 2018 00:13:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:58532 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725740AbeJXENY (ORCPT ); Wed, 24 Oct 2018 00:13:24 -0400 Received: from [192.168.1.87] (c-24-9-64-241.hsd1.co.comcast.net [24.9.64.241]) (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 C863B20671; Tue, 23 Oct 2018 19:48:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1540324113; bh=+GZ7dmsYDNS1RXziMK2uPb0GmUtrniDrYvCjC+m9WFs=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=CV5ze7/JREUyg8FFRo116jRZKvxTlOOVQhpvsqxTv4JUeJ1CnpfygH4l7dbaTsnVl eyVjSST45CGcIhAn5SwgP6/A0ArAQypdEFESW3Ud2Jxw7VnLo6im2lbeWKuV1E5cwu 2Nf3tVLy/biIOnGtheu/eFZ3ZjI5dCgIJUwbaQQk= Subject: Re: [RFC PATCH 0/2] improve vmalloc allocation To: Joel Fernandes Cc: Michal Hocko , Matthew Wilcox , Uladzislau Rezki , Kees Cook , Andrew Morton , linux-mm@kvack.org, LKML , Thomas Garnier , Oleksiy Avramchenko , Steven Rostedt , Joel Fernandes , Thomas Gleixner , Ingo Molnar , Tejun Heo , maco@android.com, Shuah Khan References: <20181019173538.590-1-urezki@gmail.com> <20181022125142.GD18839@dhcp22.suse.cz> <20181022165253.uphv3xzqivh44o3d@pc636> <20181023072306.GN18839@dhcp22.suse.cz> <20181023152640.GD20085@bombadil.infradead.org> <20181023170532.GW18839@dhcp22.suse.cz> <98842edb-d462-96b1-311f-27c6ebfc108a@kernel.org> <20181023193044.GA139403@joelaf.mtv.corp.google.com> From: Shuah Khan Message-ID: <024af44a-77e1-1c61-c9b2-64ffbe4f7c49@kernel.org> Date: Tue, 23 Oct 2018 13:48:32 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181023193044.GA139403@joelaf.mtv.corp.google.com> 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 10/23/2018 01:30 PM, Joel Fernandes wrote: > On Tue, Oct 23, 2018 at 11:13:36AM -0600, Shuah Khan wrote: >> On 10/23/2018 11:05 AM, Michal Hocko wrote: >>> On Tue 23-10-18 08:26:40, Matthew Wilcox wrote: >>>> On Tue, Oct 23, 2018 at 09:02:56AM -0600, Shuah Khan wrote: >>> [...] >>>>> The way it can be handled is by adding a test module under lib. test_kmod, >>>>> test_sysctl, test_user_copy etc. >>>> >>>> The problem is that said module can only invoke functions which are >>>> exported using EXPORT_SYMBOL. And there's a cost to exporting them, >>>> which I don't think we're willing to pay, purely to get test coverage. >>> >>> Yes, I think we do not want to export internal functionality which might >>> be still interesting for the testing coverage. Maybe we want something >>> like EXPORT_SYMBOL_KSELFTEST which would allow to link within the >>> kselftest machinery but it wouldn't allow the same for general modules >>> and will not give any API promisses. >>> >> >> I like this proposal. I think we will open up lot of test opportunities with >> this approach. >> >> Maybe we can use this stress test as a pilot and see where it takes us. > > I am a bit worried that such an EXPORT_SYMBOL_KSELFTEST mechanism can be abused by > out-of-tree module writers to call internal functionality. That is valid concern to consider before we go forward with the proposal. We could wrap EXPORT_SYMBOL_KSELFTEST this in an existing debug option. This could be fine grained for each sub-system for its debug option. We do have a few of these now # CONFIG_STATIC_KEYS_SELFTEST is not set # CONFIG_BT_SELFTEST is not set # CONFIG_DRM_DEBUG_SELFTEST is not set # CONFIG_CHASH_SELFTEST is not set # CONFIG_DRM_I915_SELFTEST is not set # CONFIG_CRC32_SELFTEST is not set # CONFIG_RANDOM32_SELFTEST is not set # CONFIG_GLOB_SELFTEST is not set # CONFIG_STRING_SELFTEST is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_X86_DECODER_SELFTEST is not set # CONFIG_DEBUG_NMI_SELFTEST is not set thanks, -- Shuah