This website requires JavaScript.
Explore
Help
Sign In
mirror
/
glibc
Watch
2
Star
0
Fork
0
You've already forked glibc
mirror of
git://sourceware.org/git/glibc.git
synced
2024-11-21 01:12:26 +08:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
master
glibc
/
elf
/
tst-env-setuid-static.c
3 lines
81 B
C
Raw
Permalink
Normal View
History
Unescape
Escape
Fix elf/tst-env-setuid[-static] if test needs to be rerun. If /tmp is mounted nosuid and make xcheck is run, then tst-env-setuid fails UNSUPPORTED with "SGID failed: GID and EGID match" and /var/tmp/tst-sonamemove-runmod1.so.profile is created. If you then try to rerun the test with a suid mounted test-dir (the SGID binary is created in test-dir which defaults to /tmp) with something like that: make tst-env-setuid-ENV="TMPDIR=..." t=elf/tst-env-setuid test the test fails as the LD_PROFILE output file is still available from the previous run. Thus this patch removes the LD_PROFILE output file in parent before spawning the SGID binary. Even if LD_PROFILE is not supported anymore in static binaries, use a different library and thus output file for tst-env-setuid and tst-env-setuid-static in order to not interfere if both tests are run in parallel. Furthermore the checks in test_child are now more verbose. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2023-12-13 19:44:50 +08:00
#
define PROFILE_LIB "tst-sonamemove-runmod1.so"
elf: Add all malloc tunable to unsecvars Some environment variables allow alteration of allocator behavior across setuid boundaries, where a setuid program may ignore the tunable, but its non-setuid child can read it and adjust the memory allocator behavior accordingly. Most library behavior tunings is limited to the current process and does not bleed in scope; so it is unclear how pratical this misfeature is. If behavior change across privilege boundaries is desirable, it would be better done with a wrapper program around the non-setuid child that sets these envvars, instead of using the setuid process as the messenger. The patch as fixes tst-env-setuid, where it fail if any unsecvars is set. It also adds a dynamic test, although it requires --enable-hardcoded-path-in-tests so kernel correctly sets the setuid bit (using the loader command directly would require to set the setuid bit on the loader itself, which is not a usual deployment). Co-authored-by: Siddhesh Poyarekar <siddhesh@sourceware.org> Checked on x86_64-linux-gnu. Reviewed-by: DJ Delorie <dj@redhat.com>
2023-11-07 04:25:37 +08:00
#
include
"tst-env-setuid.c"
Reference in New Issue
Copy Permalink