Commit 262f9d81 authored by Eric Dumazet's avatar Eric Dumazet Committed by Daniel Borkmann

bpf: do not blindly change rlimit in reuseport net selftest

If the current process has unlimited RLIMIT_MEMLOCK,
we should should leave it as is.

Fixes: 941ff6f1 ("bpf: fix rlimit in reuseport net selftest")
Signed-off-by: default avatarJohn Sperbeck <jsperbeck@google.com>
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent e2a322a0
...@@ -437,14 +437,19 @@ void enable_fastopen(void) ...@@ -437,14 +437,19 @@ void enable_fastopen(void)
} }
} }
static struct rlimit rlim_old, rlim_new; static struct rlimit rlim_old;
static __attribute__((constructor)) void main_ctor(void) static __attribute__((constructor)) void main_ctor(void)
{ {
getrlimit(RLIMIT_MEMLOCK, &rlim_old); getrlimit(RLIMIT_MEMLOCK, &rlim_old);
rlim_new.rlim_cur = rlim_old.rlim_cur + (1UL << 20);
rlim_new.rlim_max = rlim_old.rlim_max + (1UL << 20); if (rlim_old.rlim_cur != RLIM_INFINITY) {
setrlimit(RLIMIT_MEMLOCK, &rlim_new); struct rlimit rlim_new;
rlim_new.rlim_cur = rlim_old.rlim_cur + (1UL << 20);
rlim_new.rlim_max = rlim_old.rlim_max + (1UL << 20);
setrlimit(RLIMIT_MEMLOCK, &rlim_new);
}
} }
static __attribute__((destructor)) void main_dtor(void) static __attribute__((destructor)) void main_dtor(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment