From 55f471aa32a483b5bf0281f8a6ee014e07a23e1c Mon Sep 17 00:00:00 2001 From: stepga <88845668+stepga@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:08:01 +0100 Subject: [PATCH] fix(secrets): Make "insufficient lockable memory" warning work on BSDs (#16682) Co-authored-by: Stephan Gabert --- cmd/telegraf/telegraf_posix.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cmd/telegraf/telegraf_posix.go b/cmd/telegraf/telegraf_posix.go index 5658ff0fe..3a6c43dd2 100644 --- a/cmd/telegraf/telegraf_posix.go +++ b/cmd/telegraf/telegraf_posix.go @@ -4,6 +4,7 @@ package main import ( "log" + "runtime" "syscall" ) @@ -20,8 +21,16 @@ func (t *Telegraf) Run() error { } func getLockedMemoryLimit() uint64 { - // From https://elixir.bootlin.com/linux/latest/source/include/uapi/asm-generic/resource.h#L35 - const rLimitMemlock = 8 + var rLimitMemlock int + + switch runtime.GOOS { + case "dragonfly", "freebsd", "netbsd", "openbsd": + // From https://cgit.freebsd.org/src/tree/sys/sys/resource.h#n107 + rLimitMemlock = 6 + default: + // From https://elixir.bootlin.com/linux/latest/source/include/uapi/asm-generic/resource.h#L35 + rLimitMemlock = 8 + } var limit syscall.Rlimit if err := syscall.Getrlimit(rLimitMemlock, &limit); err != nil {