attach: move loading seccomp as late as possible

We want to minimize the change that the profile blocks syscalls we need during attach setup and has the notifier enabled. Signed-off-by: 's avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 92466fe3
...@@ -1130,18 +1130,6 @@ __noreturn static void do_attach(struct attach_payload *ap) ...@@ -1130,18 +1130,6 @@ __noreturn static void do_attach(struct attach_payload *ap)
TRACE("Set PR_SET_NO_NEW_PRIVS"); TRACE("Set PR_SET_NO_NEW_PRIVS");
} }
if (conf->seccomp.seccomp) {
ret = lxc_seccomp_load(conf);
if (ret < 0)
goto on_error;
TRACE("Loaded seccomp profile");
ret = lxc_seccomp_send_notifier_fd(&conf->seccomp, ap->ipc_socket);
if (ret < 0)
goto on_error;
}
/* The following is done after the communication socket is shut down. /* The following is done after the communication socket is shut down.
* That way, all errors that might (though unlikely) occur up until this * That way, all errors that might (though unlikely) occur up until this
* point will have their messages printed to the original stderr (if * point will have their messages printed to the original stderr (if
...@@ -1210,6 +1198,18 @@ __noreturn static void do_attach(struct attach_payload *ap) ...@@ -1210,6 +1198,18 @@ __noreturn static void do_attach(struct attach_payload *ap)
if (ret) if (ret)
INFO("Failed to adjust stdio permissions"); INFO("Failed to adjust stdio permissions");
if (conf->seccomp.seccomp) {
ret = lxc_seccomp_load(conf);
if (ret < 0)
goto on_error;
TRACE("Loaded seccomp profile");
ret = lxc_seccomp_send_notifier_fd(&conf->seccomp, ap->ipc_socket);
if (ret < 0)
goto on_error;
}
if (!lxc_switch_uid_gid(ctx->target_ns_uid, ctx->target_ns_gid)) if (!lxc_switch_uid_gid(ctx->target_ns_uid, ctx->target_ns_gid))
goto on_error; goto on_error;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment