From 132484c1586652d60d1f733ceec5a4c3c970236a Mon Sep 17 00:00:00 2001 From: Federico Di Pierro Date: Mon, 30 Jan 2023 09:11:55 +0100 Subject: [PATCH] fix(scripts): switch back to insmod instead of modprobe in driver loader. Signed-off-by: Federico Di Pierro --- scripts/falco-driver-loader | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/scripts/falco-driver-loader b/scripts/falco-driver-loader index f7034dd3baa..4a1d496a93a 100755 --- a/scripts/falco-driver-loader +++ b/scripts/falco-driver-loader @@ -251,16 +251,10 @@ load_kernel_module_compile() { return fi echo "* ${DRIVER_NAME} module found: ${KO_FILE}" - echo "* Trying to modprobe" + echo "* Trying to insmod" chcon -t modules_object_t "$KO_FILE" > /dev/null 2>&1 || true - if modprobe "${DRIVER_NAME}" > /dev/null 2>&1; then - echo "* Success: ${DRIVER_NAME} module found in dkms and loaded" - exit 0 - fi - echo "* Unable to load ${DRIVER_NAME} module" - echo "* Trying insmod" if insmod "$KO_FILE" > /dev/null 2>&1; then - echo "* Success: ${DRIVER_NAME} module found in dkms and inserted" + echo "* Success: ${DRIVER_NAME} module found and loaded in dkms" exit 0 fi echo "* Unable to insmod ${DRIVER_NAME} module" @@ -284,14 +278,6 @@ load_kernel_module_download() { if curl -L --create-dirs ${FALCO_DRIVER_CURL_OPTIONS} -o "${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}" "${URL}"; then echo "* Download succeeded" chcon -t modules_object_t "${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}" > /dev/null 2>&1 || true - mkdir -p /lib/modules/${KERNEL_RELEASE}/kernel/drivers/falco/ || true - cp ${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME} /lib/modules/${KERNEL_RELEASE}/kernel/drivers/falco/falco.ko || true - depmod ${KERNEL_RELEASE} || true - if modprobe "${DRIVER_NAME}" > /dev/null 2>&1; then - echo "* Success: ${DRIVER_NAME} module found and loaded" - exit 0 - fi - >&2 echo "Unable to load the prebuilt ${DRIVER_NAME} module" if insmod "${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}"; then echo "* Success: ${DRIVER_NAME} module found and inserted" exit 0 @@ -410,13 +396,6 @@ load_kernel_module() { if [ -f "${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}" ]; then echo "* Found a prebuilt ${DRIVER_NAME} module at ${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}, loading it" chcon -t modules_object_t "${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}" > /dev/null 2>&1 || true - mkdir -p /lib/modules/${KERNEL_RELEASE}/kernel/drivers/falco/ || true - cp ${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME} /lib/modules/${KERNEL_RELEASE}/kernel/drivers/falco/falco.ko || true - depmod ${KERNEL_RELEASE} || true - if modprobe "${DRIVER_NAME}" > /dev/null 2>&1; then - echo "* Success: ${DRIVER_NAME} module found and loaded" - exit 0 - fi insmod "${HOME}/.falco/${DRIVER_VERSION}/${ARCH}/${FALCO_KERNEL_MODULE_FILENAME}" && echo "* Success: ${DRIVER_NAME} module found and inserted" exit $? fi @@ -435,7 +414,7 @@ load_kernel_module() { # Last try (might load a previous driver version) echo "* Trying to load a system ${DRIVER_NAME} module, if present" if modprobe "${DRIVER_NAME}" > /dev/null 2>&1; then - echo "* Success: ${DRIVER_NAME} module found and loaded" + echo "* Success: ${DRIVER_NAME} module found and loaded with modprobe" exit 0 fi