From: Alan Jenkins Date: Wed, 31 Jan 2018 15:39:13 +0000 (+0000) Subject: man: systemd.exec: cleanup "only X will be permitted" ... "but X=X+1" X-Git-Tag: v238~144^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=62a0680bf2cf010c899da65b561bdf07a148f763;p=platform%2Fupstream%2Fsystemd.git man: systemd.exec: cleanup "only X will be permitted" ... "but X=X+1" > Only system calls of the *specified* architectures will be permitted to > processes of this unit. (my emphasis) > Note that setting this option to a non-empty list implies that > native is included too. Attempting to use "implies" in the later sentence, in a way that contradicts the very clear meaning of the earlier sentence... it's too much. --- diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index 2f62f1c..fc3b9ff 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