From 423c2d43addbddf8ac7dbc52eb04b5ca8ee59a9d Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Tue, 6 Jan 2026 14:13:10 -0800 Subject: [PATCH] Revert "Revert "fix: elevate privileges for kernel module installation and uninstallation"" This reverts commit e9d44b8edeb31d420a2d427ed944a5425dbb978b. --- internal/target/helpers.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/internal/target/helpers.go b/internal/target/helpers.go index 6b7b854b..4ac07067 100644 --- a/internal/target/helpers.go +++ b/internal/target/helpers.go @@ -33,7 +33,13 @@ func installLkms(t Target, lkms []string) (installedLkms []string, err error) { } for _, lkm := range lkms { slog.Debug("attempting to install kernel module", slog.String("lkm", lkm)) - _, _, _, err := t.RunCommandEx(exec.Command("modprobe", "--first-time", lkm), 10, false, true) // #nosec G204 + var cmd *exec.Cmd + if !t.IsSuperUser() { + cmd = exec.Command("sudo", "modprobe", "--first-time", lkm) + } else { + cmd = exec.Command("modprobe", "--first-time", lkm) + } + _, _, _, err := t.RunCommandEx(cmd, 10, false, true) // #nosec G204 if err != nil { slog.Debug("kernel module already installed or problem installing", slog.String("lkm", lkm), slog.String("error", err.Error())) continue @@ -61,7 +67,13 @@ func uninstallLkms(t Target, lkms []string) (err error) { } for _, lkm := range lkms { slog.Debug("attempting to uninstall kernel module", slog.String("lkm", lkm)) - _, _, _, err := t.RunCommandEx(exec.Command("modprobe", "-r", lkm), 10, false, true) // #nosec G204 + var cmd *exec.Cmd + if !t.IsSuperUser() { + cmd = exec.Command("sudo", "modprobe", "-r", lkm) + } else { + cmd = exec.Command("modprobe", "-r", lkm) + } + _, _, _, err := t.RunCommandEx(cmd, 10, false, true) // #nosec G204 if err != nil { slog.Error("error uninstalling kernel module", slog.String("lkm", lkm), slog.String("error", err.Error())) continue