From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1129C2D0CD for ; Thu, 15 May 2025 08:05:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6E6276B00B2; Thu, 15 May 2025 04:05:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6729B6B00B3; Thu, 15 May 2025 04:05:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B17F6B00B5; Thu, 15 May 2025 04:05:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1F4BB6B00B2 for ; Thu, 15 May 2025 04:05:15 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 4E72BE32AC for ; Thu, 15 May 2025 08:05:15 +0000 (UTC) X-FDA: 83444406990.26.9A169A5 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by imf27.hostedemail.com (Postfix) with ESMTP id 2F0814000B for ; Thu, 15 May 2025 08:05:12 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=YGSSyC5P; spf=pass (imf27.hostedemail.com: domain of petr.pavlu@suse.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=petr.pavlu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747296313; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=edff1LhptN7FQ5Bq2oruaEckY3n2IP7/Je81wTRfspE=; b=RBIDHqBkIsnBySWKo7/nHBUMyz5HJC+t/vGGLwAEbxu5XjlOOHIFvoEdthM7tM8kZDU+AQ 1pOIZpr4UnWjXjaBtfEVHn7BSUz7RkLnp2kW40/7xuIdrbzwyNsYImoBkP7ir+snheJw1v nzmAnPNHa6d+wfMYeRPD8P3GH8Ny23o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747296313; a=rsa-sha256; cv=none; b=tSxTSjlRbNcHx0mDCrOWoh373eICaUnCWluA6rQhiU+6NEdZxnlFepCujEfMRX51FS2AEY ZyvRf6DtUNtKuo/6yHszjJTVdtg3wjqd3bBdKik5JGJSVIboGazspI4HIdeUbeJMHa9Tsh B5wXSb+7AVJwfHLJyQLSilzvOaQooCg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=YGSSyC5P; spf=pass (imf27.hostedemail.com: domain of petr.pavlu@suse.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=petr.pavlu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3a0b9625735so342875f8f.2 for ; Thu, 15 May 2025 01:05:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1747296311; x=1747901111; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=edff1LhptN7FQ5Bq2oruaEckY3n2IP7/Je81wTRfspE=; b=YGSSyC5PX3XFOqiaJ5b1742AJqE7nJTXjn55Z2zeKWS8M9JIqA82gPYIcquAZQ8woM Qrn6lT+aYDAhEOOtUF0mGH/qQ2oRHEFfwzN7w3SjSdSoEGX1OHzKe/56qtxH5K3zwyoG 8tmi7J6yrNuKa7cjurnEP0sDBPahf0oZ9NN/bLSR9UT4kJ7VCxlhTgYxUOAFHx9gAauR 5mRIkU8SlfBs+CyuYKHOcqM8bQqmfSldDzZbPrZ0NaIbphOE3J2FBMPVgbquUZ+v7fFl Kzv7lWRawXsbMlQlg8ZtJDVuRBT31RFH7DZS/9Ah08rPurun54hjIi4pSmN3XltHGhyG ebYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747296311; x=1747901111; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=edff1LhptN7FQ5Bq2oruaEckY3n2IP7/Je81wTRfspE=; b=e9xCI4IiHmDkXLfKDNjoJ13h2Zcm00qZ1KXNqTm/FFi2Lqk7XoIma+M/PgJIIbjAiS VPS8HQ8bx157ikZ6Sqt07KtWRKctmqsjJBMi0iLilr+oxIF/5crnYzxCZp7HNfWXmeqz 0wdLehe0xepM/3k8rddoWmuOWeqvjUzWnrW91xlBT8wF/lsi7i5DwKKFK17wB9UZSjz7 cftt51HlsgupHRBKA5LLqxk5WBCTxDyKZ9XbrTxXBamcQaz28TkfbxquGpX5abqEAG6u AKkvoVkDXjj1OPL7XrIMbYnrnPYv54ZthL8odfPg1Q0GY81xr3qZBpDAA/3FMJlc1zWE MbkQ== X-Forwarded-Encrypted: i=1; AJvYcCVzmbikSV2zvSInTA7T3s3yuAvS5duP2EZNOSHAH967IChzda5YxAbDedzogsm2i/nkWaXHoM6JYg==@kvack.org X-Gm-Message-State: AOJu0Yz73V3i5ixV2kkfYMfxeGXQrjGa7r2iaxOsW04ibMPgN+JDSqh2 QdqH/Wj4FSsbwUU1X0MAA3YgblSX0l9E8GRm6TPMT9Cue3kIkmedD3WOglniqlM= X-Gm-Gg: ASbGnctOzQ5YZlB+LPNalU4zf56UCaVegp+hgvGkj3K2FonCgYj8E0sZxLMEeLZ45xU AqLOZsXIAxWhW6kPxgn+HzUKa3tLEuKDC29NoFL9hHbyML9SIevjpjG912LIowKZTIeMwa5ggwY AcPPglvCEn6AJ+rN0duVmaH2khU9WagaW7qoZeNNBl2xZD/zJkNrI6TCBGh2OXg9IkiHA+gdBKz 6tDqefFtDLMlwPnMvMXMrZfcElpoY3CJjma5xYD4cYwAGEA11W6+9Zhd6GS06DKqp23r6xePpQ7 wQppyXYzYEc26GFWTg5Zcdu9GrrRYby6+hWC1I9EKPxQfsxA9/UQaA== X-Google-Smtp-Source: AGHT+IGXvziHODCht+twr6uozgFfTyAclIKdnZuTVey4CsU1/XVbIcw96mTLNhe3rmJT4ESA13CsYg== X-Received: by 2002:a05:6000:2911:b0:39e:dbb0:310f with SMTP id ffacd0b85a97d-3a34992746amr5945525f8f.39.1747296311397; Thu, 15 May 2025 01:05:11 -0700 (PDT) Received: from [10.100.51.48] ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-4dea85df68fsm9441727137.18.2025.05.15.01.04.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 15 May 2025 01:05:10 -0700 (PDT) Message-ID: Date: Thu, 15 May 2025 10:04:53 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 01/12] module: Move modprobe_path and modules_disabled ctl_tables into the module subsys To: Joel Granados Cc: Luis Chamberlain , Sami Tolvanen , Daniel Gomez , Kees Cook , Peter Zijlstra , Ingo Molnar , Will Deacon , Boqun Feng , Waiman Long , "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Uladzislau Rezki , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Andrew Morton , "James E.J. Bottomley" , Helge Deller , Greg Kroah-Hartman , Jiri Slaby , linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, rcu@vger.kernel.org, linux-mm@kvack.org, linux-parisc@vger.kernel.org, linux-serial@vger.kernel.org References: <20250509-jag-mv_ctltables_iter2-v1-0-d0ad83f5f4c3@kernel.org> <20250509-jag-mv_ctltables_iter2-v1-1-d0ad83f5f4c3@kernel.org> Content-Language: en-US From: Petr Pavlu In-Reply-To: <20250509-jag-mv_ctltables_iter2-v1-1-d0ad83f5f4c3@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: 1h69hopyixx1w1oqpe4tonbq8rnsi76r X-Rspamd-Queue-Id: 2F0814000B X-Rspam-User: X-Rspamd-Server: rspam02 X-HE-Tag: 1747296312-586803 X-HE-Meta: U2FsdGVkX1+Hqy+bzxXgMQfx06+CRhVHrAKRG52d34p4ur7sG6lzsUZmHinuaKgz5AxIRt70qnWYL1MiUiTV0+/wRDrtDhTOOWrK9c7O6+fyKTBnFUZnEuanuM18BuJsPzZuR5dokbUiXPhPsiXvWKydZgYvuqdQFiREIaGQKGoKZe4bMhy/OqmdWMYeqFJBp64R60m1/V89jcOo52cEasa/1FWgeacHyOkGw5u1P94i7aipzU5ZkmHiDj1VaM+z149NrMGhEcO2+ghrdEF+EvIla5kTCgSFx2AoCFL68fnBK/DpjALFdLGi5rwUe5AUZbfNgGxtoSYpdvUZ6EwcWnaI90Xv8cm3eE6UlJYIwgxkV7AdOdRretRkxqi8APcv4ZsFLnHQwOJLfGJte04+ul3B9HPhrNnuRyD92Trb/M/S/3MbdlkaFRHe/z8gspkQfAU/vW+LIUn3RIrQiFnqCcbXXiUdSC1lvDazulbuEyTbl1/S6cSv7o4Diw97oThUWH9PfNSA6k8Hug3blBq7ZYumF1mOoB2bGBzrX//nAYAca+DMSnRTEFRaO2sEQh5qZ+qgTzE+R0FEb2DzXOyWsVl+vKTGiQMj6L3zIPEgv9ObkL/6TrIZslaKWcFIlyZ5+uGqRj5s1YBAm5QkUC4zAlRlJfdqy0/TAluoygm4/qDGtiP/dl4It6dPnA8DW9YYjwRVSjRvzfbx+d3bKg/J1jXd1nuiLTLCzOVHnqsHloRsaWn9y2p/Z8gsxFDU1waWoEVMa0+k9RbHiYSYQg6e5RyVRJLH6exGAKGiSBwdfxlwttCGwSUyZtvefqHUIys7j/qWThBzhJ8LRSBsNV/OsMbTTGT2kaKU0uMB58squ7bnvo1s2AMIypeysaSwfhB1ms7lSZFuGRt/wAUCl9vliuqyQnpVKPfOoFJCgex6601qxuuGA1+Q3YlOQ54SR664LSM9ZpKDc4bdygxho3i eGxQBVKZ vbe4BIQd7n/nr3Yv3jYD21Jjw0sjBR3xd/RwVlf+oreVfilbMZB4J4xPOY0wl+kgmgAx1CzURHKwEHXY+/J4mYSNbDWED4v9jQTyZpgwV/50YRX55Eu1zIEJR6Co/WybtB0dBpZPGWhB2BGGeT5x9pC7YCs64RqBdcfB3EBZ8KOBcXPXVb8ycvU5USKC+8XepOWi8rCDjSlb1PXpJ7N50g1pKWZkqgROK2cTuYllgnnoGY36jsGdcMBXEHX2+K87ZgvHRTxFNJdbVfd2EF2E/hD7D3tA+QbAipjBdLdZoA1Bd1En+Q88UDyAJfBsVTp1gBTk96SdSaa9LjZaE3+ReNOLksZeLZJ3imL91OTQyBwvYrXlcQAIaILu8F0oVU2+YOW5GA0MqQSPs+PRo0bysR62rwJbsqVRTgxPVjqU1AA8DaeldY7degV2OH4NdhcFd1BWXjMRD7jGorQs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 5/9/25 14:54, Joel Granados wrote: > Move module sysctl (modprobe_path and modules_disabled) out of sysctl.c > and into the modules subsystem. Make the modprobe_path variable static > as it no longer needs to be exported. Remove module.h from the includes > in sysctl as it no longer uses any module exported variables. > > This is part of a greater effort to move ctl tables into their > respective subsystems which will reduce the merge conflicts in > kernel/sysctl.c. > > Signed-off-by: Joel Granados > [...] > --- a/kernel/module/kmod.c > +++ b/kernel/module/kmod.c > @@ -60,7 +60,7 @@ static DEFINE_SEMAPHORE(kmod_concurrent_max, MAX_KMOD_CONCURRENT); > /* > modprobe_path is set via /proc/sys. > */ > -char modprobe_path[KMOD_PATH_LEN] = CONFIG_MODPROBE_PATH; > +static char modprobe_path[KMOD_PATH_LEN] = CONFIG_MODPROBE_PATH; > > static void free_modprobe_argv(struct subprocess_info *info) > { > @@ -177,3 +177,33 @@ int __request_module(bool wait, const char *fmt, ...) > return ret; > } > EXPORT_SYMBOL(__request_module); > + > +#ifdef CONFIG_MODULES > +static const struct ctl_table kmod_sysctl_table[] = { > + { > + .procname = "modprobe", > + .data = &modprobe_path, > + .maxlen = KMOD_PATH_LEN, > + .mode = 0644, > + .proc_handler = proc_dostring, > + }, > + { > + .procname = "modules_disabled", > + .data = &modules_disabled, > + .maxlen = sizeof(int), > + .mode = 0644, > + /* only handle a transition from default "0" to "1" */ > + .proc_handler = proc_dointvec_minmax, > + .extra1 = SYSCTL_ONE, > + .extra2 = SYSCTL_ONE, > + }, This is minor.. but the file kernel/module/kmod.c contains the logic to request direct modprobe invocation by the kernel. Registering the modprobe_path sysctl here is appropriate. However, the modules_disabled setting affects the entire module loader so I don't think it's best to register it here. I suggest keeping a single table for the module sysctl values but moving it to kernel/module/main.c. This means the variable modprobe_path must retain external linkage, on the other hand, modules_disabled can be made static. -- Thanks, Petr > +}; > + > +static int __init init_kmod_sysctl(void) > +{ > + register_sysctl_init("kernel", kmod_sysctl_table); > + return 0; > +} > + > +subsys_initcall(init_kmod_sysctl); > +#endif