]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.15] gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard ...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 16 Jun 2026 16:42:24 +0000 (18:42 +0200)
committerGitHub <noreply@github.com>
Tue, 16 Jun 2026 16:42:24 +0000 (09:42 -0700)
commit19bf6a3fa1d1497f8b73f971df07109f2da000ca
tree0831488843f3eec3f9e6e64a05144c66786f99f6
parentab61101f96477df9d09ceaabe3b9219f28b1ab59
[3.15] gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard (GH-151521) (#151549)

gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard (GH-151521)

The guard that skips the "chown to gid 0 should fail" assertion used
only `os.getgroups()` (supplementary groups). The kernel also accepts
the effective/filesystem gid for chown, so when a process runs with
egid 0 and a non-zero uid (common in containers and user namespaces),
chown(-1, 0) succeeds and the assertion spuriously fails.

Add an `os.getegid() != 0` check alongside the existing
`0 not in os.getgroups()` guard.
(cherry picked from commit 2ce260033b457a0ad2c9767a1d9902bef5a30b0e)

Co-authored-by: Itamar Oren <itamarost@gmail.com>
Lib/test/test_os/test_posix.py