mirror of
https://github.com/falcosecurity/falco.git
synced 2025-06-26 14:52:20 +00:00
fix(scripts/falco-driver-loader): missing compression formats for .ko files
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
This commit is contained in:
parent
8a1de131f4
commit
27922faa27
@ -160,15 +160,26 @@ load_kernel_module_compile() {
|
|||||||
echo "make CC=${CURRENT_GCC} \$@" >> /tmp/falco-dkms-make
|
echo "make CC=${CURRENT_GCC} \$@" >> /tmp/falco-dkms-make
|
||||||
chmod +x /tmp/falco-dkms-make
|
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
|
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"
|
echo "* ${DRIVER_NAME} module installed in dkms"
|
||||||
chcon -t modules_object_t "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko" > /dev/null 2>&1 || true
|
KO_FILE="/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}"
|
||||||
chcon -t modules_object_t "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko.xz" > /dev/null 2>&1 || true
|
if [ -f "$KO_FILE.ko" ]; then
|
||||||
if insmod "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko" > /dev/null 2>&1; then
|
KO_FILE="$KO_FILE.ko"
|
||||||
|
elif [ -f "$KO_FILE.ko.gz" ]; then
|
||||||
|
KO_FILE="$KO_FILE.ko.gz"
|
||||||
|
elif [ -f "$KO_FILE.ko.xz" ]; then
|
||||||
|
KO_FILE="$KO_FILE.ko.gz"
|
||||||
|
elif [ -f "$KO_FILE.ko.zst" ]; then
|
||||||
|
KO_FILE="$KO_FILE.ko.zst"
|
||||||
|
else
|
||||||
|
>&2 echo "${DRIVER_NAME} module file not found"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
echo "* ${DRIVER_NAME} module found: ${KO_FILE}"
|
||||||
|
echo "* Trying insmod"
|
||||||
|
chcon -t modules_object_t "$KO_FILE" > /dev/null 2>&1 || true
|
||||||
|
if insmod "$KO_FILE" > /dev/null 2>&1; then
|
||||||
echo "* Success: ${DRIVER_NAME} module found and loaded in dkms"
|
echo "* Success: ${DRIVER_NAME} module found and loaded in dkms"
|
||||||
exit 0
|
exit 0
|
||||||
elif insmod "/var/lib/dkms/${DRIVER_NAME}/${DRIVER_VERSION}/${KERNEL_RELEASE}/${ARCH}/module/${DRIVER_NAME}.ko.xz" > /dev/null 2>&1; then
|
|
||||||
echo "* Success: ${DRIVER_NAME} module found and loaded in dkms (xz)"
|
|
||||||
exit 0
|
|
||||||
else
|
else
|
||||||
echo "* Unable to insmod ${DRIVER_NAME} module"
|
echo "* Unable to insmod ${DRIVER_NAME} module"
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user