forked from proot-me/proot
-
Notifications
You must be signed in to change notification settings - Fork 5
Merge 5.4.0 from upstream #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
DrDaveD
wants to merge
210
commits into
rootless-containers:rootlesscontainers
Choose a base branch
from
DrDaveD:merge-5.4.0
base: rootlesscontainers
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Merge 5.4.0 from upstream #9
DrDaveD
wants to merge
210
commits into
rootless-containers:rootlesscontainers
from
DrDaveD:merge-5.4.0
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
But will be better if it return a bytes array ...
When a process is cloned with CLONE_VM it shares heap with its parent. When a process is execve()d it is considered to lose its VM, however the code didn't account for that and bzero()d the heap. This could cause the parent process to fail belongs_to_heap_prealloc() checks in subsequent syscalls depending on the resulting child heap size and child-parent code execution ordering. I've discovered this while trying to build xz-5.1.3alpha (particularly when running aclocal-1.15). m4 process would throw out one of: Bad address (EFAULT), No such file (ENOENT) or stack overflow errors consistently when trying to open() foreach.m4 file (error depended on moonphase and target system: debian-sid i386 and debian-sid x86_64 on x86_64 host). Signed-off-by: Michal Kazior <michal@plumewifi.com>
fix tmp cleanup on non ext fs
Fix "expect" -> "except" typo
execve: realloc heap for CLONE_VM case
DESTDIR is a variable prepended to each installed target file, You should not set the value of DESTDIR in your Makefile at all. https://www.gnu.org/prep/standards/html_node/DESTDIR.html Suggested-By: Guilhem Lettron <guilhem@barpilot.io> Closes: proot-me#51
command line options: -I or --input-target, or -F or --target command line options: -O or --output-target, or -F or --target https://sourceware.org/binutils/docs-2.31/binutils/Target-Selection.html#Target-Selection
Closes: proot-me#141
* Update event.c * Update manual.txt * Update man.1
* Update DOI badge * Update CHANGELOG.rst * Delete changelog.rst for proot and care * Update manual.rst * Update proot.h
…tion. (proot-me#311) proot currently does not even try to handle seccomp traps when running ptrace emulation. Returning an error is better than misleading the ptracer into expecting seccomp events. This (sort of) fixes test-230f47ch.
) This eliminates unexpected SIGTRAPs in newly forked processes, allowing removal of ugly (and broken) workarounds in the handle_tracee_event_kernel_4_8 event handler. "Useless" seccomp traps still may happen if a tracee has explicity disabled seccomp (like during ptrace emulation), but handling these is much easier. This fixes following tests: test-d92b57ca, test-2db65cd2. Additionaly test-230f47ch is not skipped now, but it fails under seccomp due to missing seccomp handling in handle_ptracee_event.
Also generate CARE dependency using pkgconfig.
[skip ci]
* Create sonarcloud.yml * Create sonar-project.properties * Combine github actions files * Fix syntax error with GitHub Actions * Update clang-tools for GitHub Actions * Simplify test matrix naming
Disable the check to see if the executable being executed is the same ELF machine as the host system. This is to support the case where ELF objects are run under a custom QEMU emulator or LD_LIBRARY_PATH. Bug: proot-me#343
Newer versions of glibc apparently enforce argv to contain at least one argument, regardless of what what passed to execlp(). This behavioral change resulted in test-0cf405b0 performing an endless loop. This commit addresses this problem by setting an environment variable to indicate, whether the execlp() call has already been performed.
Fix both tests in the same vein as [1]. Note that this behavior had been changed by Linux's [2], not by glibc as suggested by [1]. [1] 10dd605 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dcd46d897adb70d63e025f175a00a89797d31a43
Prepare for CARE release v2.3.0
…master branch Signed-off-by: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
Signed-off-by: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This merges in all the changes from v5.4.0 upstream and then adapts the rootless-containers/PRoot modifications to conform to that version.
Since this merges on top of a modified base, the commits cannot be fast-forwarded from upstream and I believe that it will instead create a new commit for every one, making it more difficult to pick out exactly what has changed. An alternative (and my preference) is to force push everything from upstream to the rootlesscontainers branch and then cherry-pick the changes that had been applied there.