From d3b6d70e0dfaa4e9496bddcbc212d7d3ea392800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Apestegu=C3=ADa?= Date: Mon, 15 Apr 2024 14:18:06 +0200 Subject: [PATCH] freebsd-update(8): Use kern.module_path Instead of tailored configuration files to look for module_path entries. Reported by: kevans@ Reviewed by: kevans, imp, zlei Approved by: kevans,zlei Differential Revision: https://reviews.freebsd.org/D44797 --- usr.sbin/freebsd-update/freebsd-update.sh | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index d1cd46963a6..9f5eaebfd64 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -673,17 +673,13 @@ upgrade_check_kmod_ports() { fi # Most modules are in /boot/modules but we should actually look - # in every path configured in module_path - search_files="/boot/defaults/loader.conf /boot/loader.conf" - pattern=$(grep -shE '^module_path=' ${search_files} | - tail -1 | - cut -f2 -d\" | - tr ";" "|") + # in every module_path passed to the kernel: + pattern=$(sysctl -n kern.module_path | tr ";" "|") if [ -z "${pattern}" ]; then - # Not having module_path in loader.conf is probably an error. - # Check at least the most common path - pattern="/boot/modules" + echo "Empty kern.module_path sysctl. This should not happen." + echo "Aborting check of kernel modules installed from ports." + return fi # Check the pkg database for modules installed in those directories