struct lxc_proc_context_info *i, lxc_attach_options_t *options)
{
struct lxc_container *c;
+ char *path;
if (!(options->namespaces & CLONE_NEWNS) || !(options->attach_flags & LXC_ATTACH_LSM))
return true;
if (!c)
return false;
i->container = c;
- if (!c->lxc_conf)
+
+ /* Initialize an empty lxc_conf */
+ if (!c->set_config_item(c, "lxc.seccomp", "")) {
return false;
+ }
+
+ /* Fetch the current profile path over the cmd interface */
+ path = c->get_running_config_item(c, "lxc.seccomp");
+ if (!path) {
+ return true;
+ }
+
+ /* Copy the value into the new lxc_conf */
+ if (!c->set_config_item(c, "lxc.seccomp", path)) {
+ free(path);
+ return false;
+ }
+ free(path);
+
+ /* Attempt to parse the resulting config */
if (lxc_read_seccomp_config(c->lxc_conf) < 0) {
ERROR("Error reading seccomp policy");
return false;