[Bug 271579] Incorrect vmemoryuse per user rctl limits for jails calculation
Date: Tue, 23 May 2023 10:07:02 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271579
Bug ID: 271579
Summary: Incorrect vmemoryuse per user rctl limits for jails
calculation
Product: Base System
Version: 13.2-STABLE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs@FreeBSD.org
Reporter: KOT@MATPOCKuH.Ru
I want to limit a per user memory usage for every running jail.
I'm tried to set a limits like this:
jail:pg198:vmemoryuse:deny=17179869184/user
jail:pg199:vmemoryuse:deny=17179869184/user
I have users with same uid in there jails, resulting a memory allocation for
user in jail pg198, makes impossible to use this limit for same user in jail
pg199.
To check I used this simple code:
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
int
main(int argc, char *argv[]) {
long size = atol(argv[1]);
void *buf = malloc(size);
if (buf == NULL) {
fprintf(stderr, "malloc(%li) failed: %s\n", size,
strerror(errno));
return 1;
}
fgets(buf, size < 1024 ? size : 1024, stdin);
return 0;
}
And when a user in one jail is running a command:
./alloc $((10*1024*1024*1024))
User in a different jail can't allocate memory:
malloc(10737418240) failed: Cannot allocate memory
A limits like jail:jailname:vmemoryuse:deny=limit/user should limit a allocated
memory per user for each jail, but not for user in all jails.
--
You are receiving this mail because:
You are the assignee for the bug.