Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp38388037rwd; Wed, 12 Jul 2023 07:06:05 -0700 (PDT) X-Google-Smtp-Source: APBJJlGDWevFnuSf+cVwe1iDqZscAgtMp67e1qF71hosj1pPJIXGybfHkUJp99GVgijXHrdvob09 X-Received: by 2002:a05:6a20:3d2a:b0:124:eea9:6691 with SMTP id y42-20020a056a203d2a00b00124eea96691mr2432404pzi.31.1689170765254; Wed, 12 Jul 2023 07:06:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689170765; cv=none; d=google.com; s=arc-20160816; b=UogDDJplRcEP/Izp41nQKhfkN9SkBDIbqaKJ7XpEqXiqc2sohTIRCN6xASXGSqIQLb CGc0r/gaWpDlDxeu5hgwnKJiX1Mao2aLI+GLf6p8Jhi2o+/Iog2uKmO2qtyzKdPi1qx7 PgDtKue3PNfXIpDsfm+t+19/hSzUa/R6qM2Ao6vrGsyTzG4KvzXR7lbyXyBm1k4EsPKO t8xBtAg53AnfeQzfmwwHoH9ex7iectKnPVBCuBq+LiGCoNo9UJcqSdtBztg3pUIYSlbp BBKWH0Ody1POB4rJ6IHbMuEFOK0y5TpvA6S6N2C3NNN8dkbuP68kstpb960hBMyylPUZ KTSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=QkOJVLdlNmtcCiPnwgfWGNxDgX5+VIZYJYAOoBOKLEA=; fh=AVdnBkCzYGOB5oRrOKcaACuRLonL9A4Pn6PwCHl69B0=; b=Vk9pFMct7n6yN/74SFdNnl+Rlh/Ql53270P2Hsyn3D8pDv04tH6LkK80LJVZ5DwWq7 7VANSHn0AMrz1PUZyjr6YRY1Q4Y1X3vyUEQsA/OZnnHTE6NA42OIl5AtNET1+Q5ui9vb 68xLGW21vvvmq4f8DQpE/4wdcy/Noq3ARmWDtqNILqzBEuwRq6ONSgLSNepWxmxg8Z0s 235y9sgC6AhXXHD6tPbOrTLCx30nFULIntFb46C5Nllsi6tA//W3OQbTSyQiTsSKS7bB XzHgCmm8uaiT3wAd7PbDaOMcDMv4El9OS9PJmHyCBCJFEFw3CpVVhIMuuoRFWzU4JuB8 3nbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=2KknRwby; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s2-20020a637702000000b005576ebe803bsi3223893pgc.319.2023.07.12.07.05.52; Wed, 12 Jul 2023 07:06:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=2KknRwby; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233105AbjGLOBq (ORCPT + 99 others); Wed, 12 Jul 2023 10:01:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231183AbjGLOB2 (ORCPT ); Wed, 12 Jul 2023 10:01:28 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86CF51BF2; Wed, 12 Jul 2023 07:01:13 -0700 (PDT) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id 094B01F88F; Wed, 12 Jul 2023 14:01:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1689170472; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QkOJVLdlNmtcCiPnwgfWGNxDgX5+VIZYJYAOoBOKLEA=; b=2KknRwbyfHUuVQ3lEbF32zeruDcG+/MdmJe/pPjhkDMpbknbkss2cHJT+T3joO2XDPE2NK SsDx6PSdScL+nryssYlXWuarStVZHK9jV3wbM8PG6+tbgNj7dtoGMTI6xQOBc3D77sj537 hi84gE9E0iEYaRoizdPKraFQ8iK++VE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1689170472; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QkOJVLdlNmtcCiPnwgfWGNxDgX5+VIZYJYAOoBOKLEA=; b=1o9F/EwdiotYKmOKXDiAFeKKLWEByhYLbm4rKxMHJKlH9iKN6AGhiunFilSS8CqKCuVh8K x6ON7AK2/BdWNaAg== Received: from kitsune.suse.cz (kitsune.suse.cz [10.100.12.127]) by relay2.suse.de (Postfix) with ESMTP id BE3142C143; Wed, 12 Jul 2023 14:01:11 +0000 (UTC) From: Michal Suchanek To: linux-modules@vger.kernel.org Cc: Michal Suchanek , Takashi Iwai , Lucas De Marchi , =?UTF-8?q?Michal=20Koutn=C3=BD?= , Jiri Slaby , Jan Engelhardt , Masahiro Yamada , Nathan Chancellor , Nick Desaulniers , Nicolas Schier , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH kmod v2 2/4] libkmod, depmod: Load modprobe.d, depmod.d from $prefix/lib. Date: Wed, 12 Jul 2023 16:00:46 +0200 Message-ID: <20230712140103.5468-2-msuchanek@suse.de> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230711153126.28876-1-msuchanek@suse.de> References: <20230711153126.28876-1-msuchanek@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is an ongoing effort to limit use of files outside of /usr (or $prefix on general). Currently all modprobe.d paths are hardcoded to outside of $prefix. Teach kmod to load modprobe.d from $prefix/lib. On some distributions /usr/lib and /lib are the same directory because of a compatibility symlink, and it is possible to craft configuration files with sideeffects that would behave differently when loaded twice. However, the override semantic ensures that one 'overrides' the other, and only one configuration file of the same name is loaded from any of the search directories. Signed-off-by: Michal Suchanek --- v2: Fix commit message typo --- Makefile.am | 1 + libkmod/libkmod.c | 3 ++- man/Makefile.am | 9 +++++++-- man/depmod.d.xml | 1 + man/modprobe.d.xml | 1 + tools/depmod.c | 1 + 6 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 8ba85c91a0f3..7aa5bfa5638d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,6 +19,7 @@ AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ -I$(top_srcdir) \ -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -DPREFIX=\""$(prefix)"\" \ ${zlib_CFLAGS} AM_CFLAGS = $(OUR_CFLAGS) diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c index 2670f9a4611a..13c82b069e84 100644 --- a/libkmod/libkmod.c +++ b/libkmod/libkmod.c @@ -65,6 +65,7 @@ static const char *const default_config_paths[] = { SYSCONFDIR "/modprobe.d", "/run/modprobe.d", "/usr/local/lib/modprobe.d", + PREFIX "/lib/modprobe.d", "/lib/modprobe.d", NULL }; @@ -237,7 +238,7 @@ static char *get_kernel_release(const char *dirname) * to load from user-defined configuration parameters such as * alias, blacklists, commands (install, remove). If NULL * defaults to /etc/modprobe.d, /run/modprobe.d, - * /usr/local/lib/modprobe.d and /lib/modprobe.d. Give an empty + * /usr/local/lib/modprobe.d and PREFIX/lib/modprobe.d. Give an empty * vector if configuration should not be read. This array must * be null terminated. * diff --git a/man/Makefile.am b/man/Makefile.am index 11514d52a190..ad07c30bbd24 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -17,9 +17,14 @@ EXTRA_DIST = $(MAN5:%.5=%.xml) $(MAN8:%.8=%.xml) CLEANFILES = $(dist_man_MANS) %.5 %.8: %.xml - $(AM_V_XSLT)$(XSLT) \ + $(AM_V_XSLT)if [ -n '$(prefix)' ] ; then \ + sed -e 's|@PREFIX@|$(prefix)|g' $< ; \ + else \ + sed -e '/@PREFIX@/d' $< ; \ + fi | \ + $(XSLT) \ -o $@ \ --nonet \ --stringparam man.output.quietly 1 \ --param funcsynopsis.style "'ansi'" \ - http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl - diff --git a/man/depmod.d.xml b/man/depmod.d.xml index 8d3d821cddc8..431ebca6654b 100644 --- a/man/depmod.d.xml +++ b/man/depmod.d.xml @@ -40,6 +40,7 @@ /lib/depmod.d/*.conf + @PREFIX@/lib/depmod.d/*.conf /usr/local/lib/depmod.d/*.conf /run/depmod.d/*.conf /etc/depmod.d/*.conf diff --git a/man/modprobe.d.xml b/man/modprobe.d.xml index 0ab3e9110a7e..e8a91d7668af 100644 --- a/man/modprobe.d.xml +++ b/man/modprobe.d.xml @@ -41,6 +41,7 @@ /lib/modprobe.d/*.conf + @PREFIX@/lib/modprobe.d/*.conf /usr/local/lib/modprobe.d/*.conf /run/modprobe.d/*.conf /etc/modprobe.d/*.conf diff --git a/tools/depmod.c b/tools/depmod.c index 1d1d41db860f..7e9339923809 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -54,6 +54,7 @@ static const char *const default_cfg_paths[] = { SYSCONFDIR "/depmod.d", "/run/depmod.d", "/usr/local/lib/depmod.d", + PREFIX "/lib/depmod.d", "/lib/depmod.d", NULL }; -- 2.41.0