checkpoint: resolve symlink for external bind mount (take II)#3047
checkpoint: resolve symlink for external bind mount (take II)#3047cyphar merged 1 commit intoopencontainers:masterfrom
Conversation
|
Hi @kolyshkin and @cyphar Sorry for broking CI system in the weekend.. When #2902 is merge, issue #3042 shows that CI is broken, with error message I am not sure whether it is introduced due to security issue. So I choose Solution 2 described in #3042 |
|
@cyphar @AkihiroSuda PTAL |
|
Thanks @kolyshkin , @cyphar @AkihiroSuda rebased and tested with newest master. |
|
@liusdu can you please rebase? we did some changes to CI that unfortunately require an explicit rebase. |
|
@kolyshkin rebased~ |
|
@liusdu needs another rebase (we're tackling with CI lately) |
|
rebased |
runc resolves symlink before doing bind mount. So we should save original path while formatting CriuReq for dump and restore. "checkpoint: resolve symlink for external bind mount" is merged as da22625(PR 2902) previously. And reverted in commit 70fdc05(PR 3043) duo to behavior changes caused by commit 0ca91f4(Fixes: CVE-2021-30465) Signed-off-by: Liu Hua <weldonliu@tencent.com>
|
@kolyshkin @cyphar @crosbymichael rebased, please take a look at this patch. |
cyphar
left a comment
There was a problem hiding this comment.
LGTM. Tbh I'm still not sure I understand why it's necessary, but if it fixes stuff for CRIU I'm happy.
This is a rough equivalent of runc PR 3047 [1], fixing c/r for the case when the bind mount destination is a symlink. Found when running runc's integration test named "checkpoint and restore (bind mount, destination is symlink)". [1]: opencontainers/runc#3047 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This is a rough equivalent of runc PR 3047 [1], fixing c/r for the case when the bind mount destination is a symlink. Found when running runc's integration test named "checkpoint and restore (bind mount, destination is symlink)". [1]: opencontainers/runc#3047 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This is a rough equivalent of runc PR 3047 [1], fixing c/r for the case when the bind mount destination is a symlink. Found when running runc's integration test named "checkpoint and restore (bind mount, destination is symlink)". [1]: opencontainers/runc#3047 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
[From @kolyshkin: This is a respin of #2902 which was reverted in #3043]
runc resolves symlink before doing bind mount. So
we should save original path while formatting CriuReq for
dump and restore.
"checkpoint: resolve symlink for external bind mount" is merged as
da22625 (PR #2902) previously. And reverted
in commit 70fdc05 (PR #3043) duo to behavior changes
caused by commit 0ca91f4 (Fixes: CVE-2021-30465)
Signed-off-by: Liu Hua weldonliu@tencent.com
Changelog entry
(by @kolyshkin)