mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-22 01:51:51 +00:00
security: skip obtaining additional groups for root, as they don't matter
As it was reported, some systems don't use /etc/passwd. On such systems getpwuid fails with undefined errno(see getpwuid(3)) not allowing criu to restrict ids with user additional groups. Luckily, on such systems criu is run as root, so we can just skip obtaining additional groups, as they don't matter for root. Reported-by: Christopher Covington <cov@codeaurora.org> Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com> Tested-by: Christopher Covington <cov@codeaurora.org> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
5289ea973a
commit
0628118c31
@ -36,6 +36,10 @@ int restrict_uid(unsigned int uid, unsigned int gid)
|
||||
cr_uid = uid;
|
||||
cr_gid = gid;
|
||||
|
||||
/* skip obtaining additional groups for root, as they don't matter */
|
||||
if (cr_uid == 0 && cr_gid == 0)
|
||||
return 0;
|
||||
|
||||
pwd = getpwuid(uid);
|
||||
if (!pwd) {
|
||||
pr_perror("Can't get password file entry");
|
||||
|
Loading…
x
Reference in New Issue
Block a user