#include "rtnl-util.h"
#include "udev-util.h"
+#ifdef HAVE_SECCOMP
+#include "seccomp-util.h"
+#endif
+
typedef enum LinkJournal {
LINK_NO,
LINK_AUTO,
return r;
}
- r = sd_rtnl_message_new_link(RTM_NEWLINK, 0, &m);
+ r = sd_rtnl_message_new_link(rtnl, RTM_NEWLINK, 0, &m);
if (r < 0) {
log_error("Failed to allocate netlink message: %s", strerror(-r));
return r;
return r;
}
- r = sd_rtnl_message_new_link(RTM_SETLINK, 0, &m);
+ r = sd_rtnl_message_new_link(rtnl, RTM_SETLINK, 0, &m);
if (r < 0) {
log_error("Failed to allocate netlink message: %s", strerror(-r));
return r;
return -EBUSY;
}
- r = sd_rtnl_message_new_link(RTM_NEWLINK, ifi, &m);
+ r = sd_rtnl_message_new_link(rtnl, RTM_NEWLINK, ifi, &m);
if (r < 0) {
log_error("Failed to allocate netlink message: %s", strerror(-r));
return r;
if (!seccomp)
return log_oom();
- r = seccomp_rule_add_exact(
+ r = seccomp_add_secondary_archs(seccomp);
+ if (r < 0 && r != -EEXIST) {
+ log_error("Failed to add secondary archs to seccomp filter: %s", strerror(-r));
+ goto finish;
+ }
+
+ r = seccomp_rule_add(
seccomp,
SCMP_ACT_ERRNO(EAFNOSUPPORT),
SCMP_SYS(socket),