From e7b320b00cd3ad39b14b82405f311f6e8cc1d169 Mon Sep 17 00:00:00 2001 From: David Windsor Date: Wed, 13 Oct 2021 13:03:16 -0400 Subject: [PATCH] Fix falco-driver-loader SELinux insmod denials Signed-off-by: David Windsor --- scripts/falco-driver-loader | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/falco-driver-loader b/scripts/falco-driver-loader index 09184a12..9dd165e6 100755 --- a/scripts/falco-driver-loader +++ b/scripts/falco-driver-loader @@ -161,6 +161,8 @@ load_kernel_module_compile() { chmod +x /tmp/falco-dkms-make if dkms install --directive="MAKE='/tmp/falco-dkms-make'" -m "${DRIVER_NAME}" -v "${DRIVER_VERSION}" -k "${KERNEL_RELEASE}" 2>/dev/null; then echo "* ${DRIVER_NAME} module installed in dkms, trying to insmod" + chcon -t modules_object_t "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko" > /dev/null 2>&1 + chcon -t modules_object_t "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko.xz" > /dev/null 2>&1 if insmod "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko" > /dev/null 2>&1; then echo "* Success: ${DRIVER_NAME} module found and loaded in dkms" exit 0 @@ -193,6 +195,7 @@ load_kernel_module_download() { echo "* Trying to download a prebuilt ${DRIVER_NAME} module from ${URL}" if curl -L --create-dirs "${FALCO_DRIVER_CURL_OPTIONS}" -o "${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}" "${URL}"; then echo "* Download succeeded" + chcon -t modules_object_t "${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}" > /dev/null 2>&1 insmod "${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}" && echo "* Success: ${DRIVER_NAME} module found and inserted" exit $? else @@ -252,6 +255,7 @@ load_kernel_module() { if [ -f "${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}" ]; then echo "* Found a prebuilt ${DRIVER_NAME} module at ${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}, loading it" + chcon -t modules_object_t "${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}" > /dev/null 2>&1 insmod "${HOME}/.falco/${FALCO_KERNEL_MODULE_FILENAME}" && echo "* Success: ${DRIVER_NAME} module found and inserted" exit $? fi @@ -634,4 +638,4 @@ if [ -z "$source_only" ]; then ;; esac fi -fi \ No newline at end of file +fi