2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-22 09:58:09 +00:00

zdtm: check read-only tmpfs in userns

travis-ci: success for Fix a few issues to dump/restore Docker containers with userns
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
This commit is contained in:
Andrei Vagin 2016-10-26 23:55:22 +03:00 committed by Pavel Emelyanov
parent 771e33214c
commit 5cb1ce94fe
3 changed files with 52 additions and 0 deletions

View File

@ -221,6 +221,7 @@ TST_DIR = \
tempfs_overmounted \
tempfs_overmounted01 \
tempfs_ro \
tempfs_ro02 \
tempfs_subns \
mnt_ro_bind \
mount_paths \

View File

@ -0,0 +1,50 @@
#include <stdbool.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <linux/limits.h>
#include "zdtmtst.h"
const char *test_doc = "Check read-only tmpfs mount";
const char *test_author = "Andrew Vagin <avagin@openvz.org>";
char *dirname;
TEST_OPTION(dirname, string, "directory name", 1);
#define TEST_WORD "testtest"
int main(int argc, char **argv)
{
int fd, ret = 1;
char buf[1024], fname[PATH_MAX];
test_init(argc, argv);
mkdir(dirname, 0700);
if (mount("none", dirname, "tmpfs", MS_RDONLY, "") < 0) {
fail("Can't mount tmpfs");
return 1;
}
snprintf(fname, sizeof(buf), "%s/test.file", dirname);
test_daemon();
test_waitsig();
fd = open(fname, O_RDWR | O_CREAT, 0777);
if (fd >= 0 || errno != EROFS) {
pr_perror("open failed -> %d", fd);
goto err;
}
pass();
ret = 0;
err:
umount2(dirname, MNT_DETACH);
rmdir(dirname);
return ret;
}

View File

@ -0,0 +1 @@
{'flavor': 'ns uns', 'flags': 'suid'}