diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 2f62f1cd6b..fc3b9ffd16 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -1429,15 +1429,15 @@ CapabilityBoundingSet=~CAP_B CAP_C
filter. The known architecture identifiers are the same as for ConditionArchitecture=
described in systemd.unit5,
as well as x32, mips64-n32, mips64-le-n32, and
- the special identifier native. Only system calls of the specified architectures will be
- permitted to processes of this unit. This is an effective way to disable compatibility with non-native
- architectures for processes, for example to prohibit execution of 32-bit x86 binaries on 64-bit x86-64
- systems. The special native identifier implicitly maps to the native architecture of the
- system (or more strictly: to the architecture the system manager is compiled for). If running in user mode, or
- in system mode, but without the CAP_SYS_ADMIN capability (e.g. setting
- User=nobody), NoNewPrivileges=yes is implied. Note that setting this
- option to a non-empty list implies that native is included too. By default, this option is
- set to the empty list, i.e. no system call architecture filtering is applied.
+ the special identifier native. If this setting is used, processes of this unit will only
+ be permitted to call native system calls, and system calls of the specified architectures. This is an
+ effective way to disable compatibility with non-native architectures for processes, for example to prohibit
+ execution of 32-bit x86 binaries on 64-bit x86-64 systems. The special native identifier
+ implicitly maps to the native architecture of the system (or more precisely: to the architecture the system
+ manager is compiled for). If running in user mode, or in system mode, but without the
+ CAP_SYS_ADMIN capability (e.g. setting User=nobody),
+ NoNewPrivileges=yes is implied. By default, this option is set to the empty list, i.e. no
+ system call architecture filtering is applied.
Note that system call filtering is not equally effective on all architectures. For example, on x86
filtering of network socket-related calls is not possible, due to ABI limitations — a limitation that x86-64
diff --git a/src/shared/seccomp-util.c b/src/shared/seccomp-util.c
index fbb232cd45..e4bc803132 100644
--- a/src/shared/seccomp-util.c
+++ b/src/shared/seccomp-util.c
@@ -935,7 +935,7 @@ int seccomp_load_syscall_filter_set_raw(uint32_t default_action, Hashmap* set, u
/* If the system call is not known on this architecture, then that's fine, let's ignore it */
_cleanup_free_ char *n = NULL;
- n = seccomp_syscall_resolve_num_arch(arch, PTR_TO_INT(id) - 1);
+ n = seccomp_syscall_resolve_num_arch(SCMP_ARCH_NATIVE, PTR_TO_INT(id) - 1);
log_debug_errno(r, "Failed to add rule for system call %s() / %d, ignoring: %m", strna(n), PTR_TO_INT(id) - 1);
}
}