From 5b6c16ab7c08335c3c99760e2228b2518686ff1f Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Thu, 28 Apr 2022 17:45:07 +0200 Subject: mbuto: kselftests: Skip modules that don't have a corresponding .ko file This might happen e.g. if we find a 'builtin' token in a multi-line modprobe output: the modprobe command will succeed, but that doesn't necessarily correspond to a module file. Signed-off-by: Stefano Brivio --- mbuto | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/mbuto b/mbuto index 65a9096..c463a38 100755 --- a/mbuto +++ b/mbuto @@ -855,24 +855,29 @@ kmod_add() { __f=$("${MODPROBE}" -S "${KERNEL}" -d "${__d_opt}" -q \ --show-depends -- "$(${BASENAME} -- ${1})") + case ${__f} in - "builtin "*) - kmod_node "${1}" - ;; - *) - for __t in ${__f}; do - __t="$(${BASENAME} -- "${__t%*.ko}")" - if ${MODPROBE} -S "${KERNEL}" -d "${__d_opt}" -q \ - --show-depends -- "$(${BASENAME} -- "${__t}")" >/dev/null; then - __src="$(${FIND} ${__find_path} -name "${__t}.ko")" - __dst="${wd}${__src##${MODDIR}}" - if ! "${DIFF}" "${__src}" "${__dst}" 2>/dev/null; then - "${MKDIR}" -p "$("${DIRNAME}" "${__dst}")" - "${CP}" -a "${__src}" "${__dst}" - fi - kmod_node "${1}" + "builtin "*) + kmod_node "${1}" + ;; + *) + for __t in ${__f}; do + __t="$(${BASENAME} -- "${__t%*.ko}")" + if ${MODPROBE} -S "${KERNEL}" -d "${__d_opt}" -q \ + --show-depends -- "$(${BASENAME} -- "${__t}")" >/dev/null; then + + __src="$(${FIND} ${__find_path} -name "${__t}.ko")" + [ -z "${__src}" ] && continue + + __dst="${wd}${__src##${MODDIR}}" + if ! "${DIFF}" "${__src}" "${__dst}" 2>/dev/null; then + "${MKDIR}" -p "$("${DIRNAME}" "${__dst}")" + "${CP}" -a "${__src}" "${__dst}" fi - done + + kmod_node "${1}" + fi + done esac } -- cgit v1.2.3