libmount: don't use setgroups at all()
It's probably good idea to call setgroups() to cleanup groups, but it introduces a regression as some mount helpers depend on supplementary groups like "network" etc. Fixes: https://github.com/karelzak/util-linux/issues/1398 Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
4763080701
commit
54cb0dd60c
|
@ -340,16 +340,10 @@ static inline size_t get_hostname_max(void)
|
||||||
|
|
||||||
static inline int drop_permissions(void)
|
static inline int drop_permissions(void)
|
||||||
{
|
{
|
||||||
gid_t newgid = getgid();
|
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
|
|
||||||
/* drop supplementary groups */
|
|
||||||
if (geteuid() == 0 && setgroups(1, &newgid) != 0)
|
|
||||||
goto fail;
|
|
||||||
|
|
||||||
/* drop GID */
|
/* drop GID */
|
||||||
if (setgid(newgid) < 0)
|
if (setgid(getgid()) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
/* drop UID */
|
/* drop UID */
|
||||||
|
|
Loading…
Reference in New Issue