mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-17 16:47:50 +00:00
zdtm: test that UNIX socket owner/group don't change
In container c/r(OVZ) UNIX socket uid and gid restored from connected peer credentials instead of inode once. https://bugzilla.openvz.org/show_bug.cgi?id=2969 changes: v2 - cleanup headers, close socket, use err instead fail, print id's on error. v3 - wrong patch v4 - move to sockets00, correct patch-message v5 - minor cleanup Signed-off-by: Pavel Tikhomirov <ptikhomirov@parallels.com> Acked-by: Andrey Vagin <avagin@parallels.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
dd375cebc9
commit
59c968a3bf
2 changed files with 16 additions and 0 deletions
|
|
@ -225,6 +225,7 @@ deleted_dev
|
|||
mntns_open
|
||||
mntns_link_remap
|
||||
mntns_link_ghost
|
||||
sockets00
|
||||
"
|
||||
|
||||
source $(readlink -f `dirname $0`/env.sh) || exit 1
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <sys/wait.h>
|
||||
#include <sys/un.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/mount.h>
|
||||
#include <limits.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
|
|
@ -36,6 +37,8 @@ int main(int argc, char *argv[])
|
|||
char path[PATH_MAX];
|
||||
char buf[64];
|
||||
char *cwd;
|
||||
uid_t uid = 18943;
|
||||
gid_t gid = 58467;
|
||||
|
||||
int ret;
|
||||
|
||||
|
|
@ -74,6 +77,12 @@ int main(int argc, char *argv[])
|
|||
exit(1);
|
||||
}
|
||||
|
||||
ret = chown(path, uid, gid);
|
||||
if (ret) {
|
||||
err("chown");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ret = listen(ssk_icon[0], 16);
|
||||
if (ret) {
|
||||
fail("bind\n");
|
||||
|
|
@ -119,6 +128,12 @@ int main(int argc, char *argv[])
|
|||
exit(1);
|
||||
}
|
||||
|
||||
if (st_b.st_uid != uid || st_b.st_gid != gid) {
|
||||
fail("Owner user or group for %s corrupted, uid=%d, gid=%d",
|
||||
path, st_b.st_uid, st_b.st_gid);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ret = accept(ssk_icon[0], NULL, NULL);
|
||||
if (ret < 0) {
|
||||
fail("accept\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue