diff --git a/cmd/legacy/daemon.go b/cmd/legacy/daemon.go index 7be83edb00..491f57791e 100644 --- a/cmd/legacy/daemon.go +++ b/cmd/legacy/daemon.go @@ -25,7 +25,6 @@ import ( crmgr "sigs.k8s.io/controller-runtime/pkg/manager" metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" - "github.com/cilium/ebpf/rlimit" "github.com/go-logr/zapr" retinav1alpha1 "github.com/microsoft/retina/crd/api/v1alpha1" "github.com/microsoft/retina/internal/buildinfo" @@ -134,7 +133,9 @@ func (d *Daemon) Start() error { mainLogger := zl.Named("main").Sugar() // Allow the current process to lock memory for eBPF resources. - if err = rlimit.RemoveMemlock(); err != nil { + // OS specific implementation. + // This is a no-op on Windows. + if err = d.RemoveMemlock(); err != nil { mainLogger.Fatal("failed to remove memlock", zap.Error(err)) } diff --git a/cmd/legacy/daemon_linux.go b/cmd/legacy/daemon_linux.go new file mode 100644 index 0000000000..d565110d09 --- /dev/null +++ b/cmd/legacy/daemon_linux.go @@ -0,0 +1,7 @@ +package legacy + +import "github.com/cilium/ebpf/rlimit" + +func (d *Daemon) RemoveMemlock() error { + return rlimit.RemoveMemlock() +} diff --git a/cmd/legacy/daemon_windows.go b/cmd/legacy/daemon_windows.go new file mode 100644 index 0000000000..9e3d302bae --- /dev/null +++ b/cmd/legacy/daemon_windows.go @@ -0,0 +1,6 @@ +package legacy + +func (d *Daemon) RemoveMemlock() error { + // This function is a no-op on Windows. + return nil +}