[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