[CRIU] [PATCH] test: check read-only bind-mounts

Andrew Vagin avagin at parallels.com
Thu Mar 26 08:31:26 PDT 2015


On Thu, Mar 26, 2015 at 08:50:10AM -0600, Tycho Andersen wrote:
> On Wed, Mar 25, 2015 at 07:59:30PM +0300, Andrey Vagin wrote:
> > Here is a real example how it's used.
> > 
> > Cc:  Tycho Andersen <tycho.andersen at canonical.com>
> 
> Not sure what the procedure is here in terms of merging, as this test
> does currently fail as Andrey said it would.

I don't include this test in the list of tests which are executed, so it
can be merged.

> 
> Tested-by: Tycho Andersen <tycho.andersen at canonical.com>

Thanks.

> 
> > Signed-off-by: Andrey Vagin <avagin at openvz.org>
> > ---
> >  test/zdtm.sh                           |  1 +
> >  test/zdtm/live/static/Makefile         |  1 +
> >  test/zdtm/live/static/mntns_rw_ro_rw.c | 46 ++++++++++++++++++++++++++++++++++
> >  3 files changed, 48 insertions(+)
> >  create mode 100644 test/zdtm/live/static/mntns_rw_ro_rw.c
> > 
> > diff --git a/test/zdtm.sh b/test/zdtm.sh
> > index 577e456..1d47487 100755
> > --- a/test/zdtm.sh
> > +++ b/test/zdtm.sh
> > @@ -321,6 +321,7 @@ mntns_link_ghost
> >  mntns_shared_bind
> >  mntns_shared_bind02
> >  mntns_root_bind
> > +mntns_rw_ro_rw
> >  sockets00
> >  cow01
> >  "
> > diff --git a/test/zdtm/live/static/Makefile b/test/zdtm/live/static/Makefile
> > index 418e138..32a3fa0 100644
> > --- a/test/zdtm/live/static/Makefile
> > +++ b/test/zdtm/live/static/Makefile
> > @@ -113,6 +113,7 @@ TST_NOFILE	=				\
> >  		stopped				\
> >  		rtc				\
> >  		clean_mntns			\
> > +		mntns_rw_ro_rw			\
> >  		dumpable01			\
> >  		dumpable02			\
> >  		remap_dead_pid			\
> > diff --git a/test/zdtm/live/static/mntns_rw_ro_rw.c b/test/zdtm/live/static/mntns_rw_ro_rw.c
> > new file mode 100644
> > index 0000000..14a134c
> > --- /dev/null
> > +++ b/test/zdtm/live/static/mntns_rw_ro_rw.c
> > @@ -0,0 +1,46 @@
> > +#include <sys/types.h>
> > +#include <sys/stat.h>
> > +#include <sys/mount.h>
> > +#include <fcntl.h>
> > +#include <stdio.h>
> > +#include <unistd.h>
> > +
> > +#include "zdtmtst.h"
> > +
> > +const char *test_doc	= "Test read-only bind mounts";
> > +const char *test_author	= "Andrey Vagin <xemul at parallels.com>";
> > +
> > +int main(int argc, char **argv)
> > +{
> > +	test_init(argc, argv);
> > +
> > +	if (mount("/proc/sys/", "/proc/sys", NULL, MS_BIND, NULL)) {
> > +		err("Unable to bind-mount  /proc/sys");
> > +		return 1;
> > +	}
> > +	if (mount("/proc/sys/net", "/proc/sys/net", NULL, MS_BIND, NULL)) {
> > +		err("Unable to bind-mount /proc/sys/net");
> > +		return 1;
> > +	}
> > +	if (mount("/proc/sys/", "/proc/sys", NULL, MS_RDONLY|MS_BIND|MS_REMOUNT, NULL)) {
> > +		err("Unable to remount  /proc/sys");
> > +		return 1;
> > +	}
> > +
> > +	test_daemon();
> > +	test_waitsig();
> > +
> > +	if (access("/proc/sys/net/unix/max_dgram_qlen", W_OK)) {
> > +		fail("Unable to access /proc/sys/net/core/wmem_max");
> > +		return 1;
> > +	}
> > +
> > +	if (access("/proc/sys/kernel/pid_max", W_OK) != -1 || errno != EROFS) {
> > +		fail("Unable to access /proc/sys/kernel/pid_max");
> > +		return 1;
> > +	}
> > +
> > +	pass();
> > +
> > +	return 0;
> > +}
> > -- 
> > 2.1.0
> > 


More information about the CRIU mailing list