From a8935083b5181b0a56d26cad7191ef138228befd Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Sun, 21 Nov 2021 08:50:51 -0700 Subject: [PATCH] devmatch: Allow devmatch_blocklist to be set in kenv too Add in all the variables set in the kenv variable devmatch_blocklist too. This allows blocking autoloading from the boot loader. Sponsored by: Netflix Reviewed by: 0mp Differential Revision: https://reviews.freebsd.org/D32171 --- libexec/rc/rc.d/devmatch | 2 +- sbin/devmatch/devmatch.8 | 3 ++- share/man/man5/rc.conf.5 | 8 +++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libexec/rc/rc.d/devmatch b/libexec/rc/rc.d/devmatch index f5b8e8e51071..f7925321eebe 100755 --- a/libexec/rc/rc.d/devmatch +++ b/libexec/rc/rc.d/devmatch @@ -64,7 +64,7 @@ devmatch_start() # names with .ko devctl freeze - x=$(echo '#'${devmatch_blocklist:-${devmatch_blacklist}}'#' | \ + x=$(echo "#${devmatch_blocklist:-${devmatch_blacklist}}#$(kenv -q devmatch_blocklist)#" | \ sed -e "s/ /#/g;s/\.ko#/#/g") for m in ${list}; do m="${m%.ko}" diff --git a/sbin/devmatch/devmatch.8 b/sbin/devmatch/devmatch.8 index 914dacf58fdc..11cf844bef9f 100644 --- a/sbin/devmatch/devmatch.8 +++ b/sbin/devmatch/devmatch.8 @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 12, 2020 +.Dd November 21, 2021 .Dt DEVMATCH 8 .Os .Sh NAME @@ -67,6 +67,7 @@ tables with that PNP info can not be found. Produce more verbose output. .El .Sh SEE ALSO +.Xr rc.conf 5 , .Xr devinfo 8 , .Xr MODULE_PNP_INFO 9 .Sh HISTORY diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index c680ed94575a..a22f267c13b9 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 18, 2021 +.Dd November 21, 2021 .Dt RC.CONF 5 .Os .Sh NAME @@ -261,6 +261,12 @@ disable auto-loading of kernel modules with .Pq Vt str A whitespace-separated list of kernel modules to be ignored by .Xr devmatch 8 . +In addition, the +.Xr kenv 1 +.Va devmatch_blocklist +is appended to this variable to allow disabling of +.Xr devmatch 8 +loaded modules from the boot loader. .It Va devmatch_blacklist .Pq Vt str This variable is deprecated.