From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Brivio To: passt-dev@passt.top Subject: [PATCH] mbuto: Fix for kernel modules with additional extensions in filename Date: Tue, 05 Jul 2022 19:53:32 +0200 Message-ID: <20220705175332.1846149-1-sbrivio@redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0222918820604266092==" --===============0222918820604266092== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit David reports that on Fedora 36 mbuto fails to source the virtio_net module for the passt profile, because modules are compressed and they have a .ko.xz file extension. I tried this on Fedora Cloud Base 36-1.5 on x86_64, and mbuto actually locates the module, but it fails to parse the insmod commands from the dependencies as it expects a .ko at the end of any module file. I'm not sure that's the same issue David found, but start fixing this part at least. While at it: we're calling kmod_node always on the module name passed to kmod_add, instead of calling it for that module plus dependencies: fix this as well. Reported-by: David Gibson Signed-off-by: Stefano Brivio --- mbuto | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mbuto b/mbuto index 693aaaa..4ffe549 100755 --- a/mbuto +++ b/mbuto @@ -868,11 +868,12 @@ kmod_add() { ;; *) for __t in ${__f}; do - __t="$(${BASENAME} -- "${__t%*.ko}")" + __t="$(${BASENAME} -- "${__t}")" + __t="${__t%%.*}" if ${MODPROBE} -S "${KERNEL}" -d "${__d_opt}" -q \ --show-depends -- "$(${BASENAME} -- "${__t}")" >/dev/null; then - __src="$(${FIND} ${__find_path} -name "${__t}.ko")" + __src="$(${FIND} ${__find_path} -name "${__t}.*")" [ -z "${__src}" ] && continue __dst="${wd}${__src##${MODDIR}}" @@ -881,7 +882,7 @@ kmod_add() { "${CP}" -a "${__src}" "${__dst}" fi - kmod_node "${1}" + kmod_node "${__t}" fi done esac -- 2.35.1 --===============0222918820604266092==--