fix(dump,unix sockets): if 'name' is relative, real 'path' does not include that 'name', but 'realpath(name)' resolves to 'path', use 'cwd' as 'name_dir'#13
Merged
kr3v merged 1 commit intobkp-live-4.1from Nov 12, 2025
Conversation
4462c85 to
7c35fea
Compare
…nclude that 'name', but 'realpath(name)' resolves to 'path', use 'cwd' as 'name_dir'
7c35fea to
1970766
Compare
fals
approved these changes
Nov 12, 2025
fals
pushed a commit
that referenced
this pull request
Nov 14, 2025
…nclude that 'name', but 'realpath(name)' resolves to 'path', use 'cwd' as 'name_dir' (#13)
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
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.
I believe the original
unix_resolve_nameimplementation around relativenames was targeting cases like:to yield
name_diras/home/<...>.I also think the intent was to deal with changing socket paths:
error example ^
/var/runis a../runsymlink, i.e./run.It does not look like there's a way to build a pair of
name_dirandnameso that${name_dir}/${name}becomes equal to${path}.I originally thought about checking whether
$nameexists in the current filesystem, but CRIU apparently runs in the root mount namespace by default:unix_resolve_name_oldappears to be doing the root/cwd resolution anyway, so why having a custom impl when existing one does the trick.I tested the solution with a:
and
..., which have a server and client communicating through a unix socket while being either same process or two different processes.Cross-container communication (through a shared emptydir) volume would require using --ext-unix-sk https://criu.org/External_UNIX_socket, but I am not yet sure it is truly needed for istio case. I believe that volume mount was used in a single container.