Skip to content

Commit 6607eb2

Browse files
committed
linux: run createContainer hooks before making root RO
Closes: containers#1924 Signed-off-by: Giuseppe Scrivano <[email protected]>
1 parent d139e08 commit 6607eb2

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

src/libcrun/container.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,6 +1353,10 @@ container_init_setup (void *args, pid_t own_pid, char *notify_socket,
13531353
return ret;
13541354
}
13551355

1356+
ret = libcrun_finalize_mounts (entrypoint_args, container, rootfs, err);
1357+
if (UNLIKELY (ret < 0))
1358+
return ret;
1359+
13561360
if (def->process)
13571361
{
13581362
ret = libcrun_set_selinux_label (container, def->process, false, err);

src/libcrun/linux.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2802,6 +2802,14 @@ libcrun_set_mounts (struct container_entrypoint_s *entrypoint_args, libcrun_cont
28022802
if (UNLIKELY (ret < 0))
28032803
return ret;
28042804

2805+
return 0;
2806+
}
2807+
2808+
int
2809+
libcrun_finalize_mounts (struct container_entrypoint_s *entrypoint_args, libcrun_container_t *container, const char *rootfs, libcrun_error_t *err)
2810+
{
2811+
int ret;
2812+
28052813
ret = finalize_mounts (container, err);
28062814
if (UNLIKELY (ret < 0))
28072815
return ret;

src/libcrun/linux.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ int get_notify_fd (libcrun_context_t *context, libcrun_container_t *container, i
6565
libcrun_error_t *err);
6666
int libcrun_set_mounts (struct container_entrypoint_s *args, libcrun_container_t *container, const char *rootfs,
6767
set_mounts_cb_t cb, void *cb_data, libcrun_error_t *err);
68+
int libcrun_finalize_mounts (struct container_entrypoint_s *entrypoint_args, libcrun_container_t *container,
69+
const char *rootfs, libcrun_error_t *err);
6870
int libcrun_init_caps (libcrun_container_t *container, libcrun_error_t *err);
6971
int libcrun_do_pivot_root (libcrun_container_t *container, bool no_pivot, const char *rootfs, libcrun_error_t *err);
7072
int libcrun_reopen_dev_null (libcrun_error_t *err);

0 commit comments

Comments
 (0)