From 686cf7a5a9f38afcc2df10f73875f43bc18a8dd2 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 20 Jul 2020 00:30:06 +0100 Subject: [PATCH] jail: actually apply filesystem-specific mount options OCI supplied filesystems-specific mount options have not been stored in the add_mount() function. strdup() them there and free the original string in the OCI function. Signed-off-by: Daniel Golle --- jail/fs.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jail/fs.c b/jail/fs.c index abe12d4..e510c8b 100644 --- a/jail/fs.c +++ b/jail/fs.c @@ -170,6 +170,10 @@ int add_mount(const char *source, const char *target, const char *filesystemtype } if (filesystemtype) m->filesystemtype = strdup(filesystemtype); + + if (optstr) + m->optstr = strdup(optstr); + m->mountflags = mountflags; m->error = error; @@ -350,10 +354,15 @@ int parseOCImount(struct blob_attr *msg) return ret; } - return add_mount(tb[OCI_MOUNT_SOURCE] ? blobmsg_get_string(tb[OCI_MOUNT_SOURCE]) : NULL, + ret = add_mount(tb[OCI_MOUNT_SOURCE] ? blobmsg_get_string(tb[OCI_MOUNT_SOURCE]) : NULL, blobmsg_get_string(tb[OCI_MOUNT_DESTINATION]), tb[OCI_MOUNT_TYPE] ? blobmsg_get_string(tb[OCI_MOUNT_TYPE]) : NULL, mount_flags, mount_data, err); + + if (mount_data) + free(mount_data); + + return ret; } static void build_noafile(void) { -- 2.30.2