|
|
|
@@ -21,12 +21,30 @@ möglicherweise nicht auf allen Pentium"=basierten Boards.
|
|
|
|
|
|
|
|
|
|
|
|
Benutzer von Multi\-prozessor-Maschinen, die hier Y für \glqq Ja\grqq{} angeben, sollten auch
|
|
|
|
Benutzer von Multi\-prozessor-Maschinen, die hier Y für \glqq Ja\grqq{} angeben, sollten auch
|
|
|
|
\glqq Ja\grqq{}
|
|
|
|
\glqq Ja\grqq{}
|
|
|
|
zu \glqq Enhanced Real Time Clock Support\grqq{} (siehe unten) sagen.
|
|
|
|
zu \glqq En\-hanced Real Time Clock Support\grqq{} (siehe unten) sagen.
|
|
|
|
Der \glqq Advanced Power Management\grqq{}-Code wird deaktiviert, wenn Sie hier
|
|
|
|
Der \glqq Advanced Power Management\grqq{}-Code wird deaktiviert, wenn Sie hier
|
|
|
|
\glqq Y\grqq{} angeben. Siehe auch $<$file:Documentation/arch/x86/i386/IO-APIC.rst$>$,
|
|
|
|
\glqq Y\grqq{} angeben. Siehe auch $<$file:Documentation/arch/x86/i386/IO-APIC.rst$>$,
|
|
|
|
$<$file:Documentation/admin-guide/lockup-watchdogs.rst$>$ und das SMP-HOWTO, verfügbar unter:\\
|
|
|
|
$<$file:Documentation/admin-guide/lockup-watchdogs.rst$>$ und das SMP-HOWTO, verfügbar unter:\\
|
|
|
|
\url{http://www.tldp.org/docs.html\#howto}.\\
|
|
|
|
\url{http://www.tldp.org/docs.html\#howto}.\\
|
|
|
|
Wenn Sie nicht wissen, was Sie hier tun sollen, sagen Sie N.
|
|
|
|
Wenn Sie nicht wissen, was Sie hier tun sollen, sagen Sie N.
|
|
|
|
|
|
|
|
\english{This enables support for systems with more than one CPU.
|
|
|
|
|
|
|
|
If you have a system with only one CPU, say N.
|
|
|
|
|
|
|
|
If you have a system with more than one CPU, say Y.\\
|
|
|
|
|
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor machines,
|
|
|
|
|
|
|
|
but will use only one CPU of a multiprocessor machine.
|
|
|
|
|
|
|
|
If you say Y here, the kernel will run on many, but not all, uniprocessor machines.
|
|
|
|
|
|
|
|
On a uniprocessor machine, the kernel will run faster if you say N here.\\
|
|
|
|
|
|
|
|
Note that if you say Y here and choose architecture ``586'' or ``Pentium''
|
|
|
|
|
|
|
|
under ``Processor family'', the kernel will not work on 486 architectures.
|
|
|
|
|
|
|
|
Similarly, multiprocessor kernels for the ``PPro'' architecture may not work on all Pentium based boards.\\
|
|
|
|
|
|
|
|
People using multiprocessor machines who say Y here should also say Y to
|
|
|
|
|
|
|
|
``Enhanced Real Time Clock Support'', below. The ``Advanced Power Management'' code will be disabled
|
|
|
|
|
|
|
|
if you say Y here.\\
|
|
|
|
|
|
|
|
See also $<$file:Documentation/arch/x86/i386/IO-APIC.rst$>$,\\
|
|
|
|
|
|
|
|
$<$file:Documentation/admin-guide/lockup-watchdogs.rst$>$ and\\
|
|
|
|
|
|
|
|
the SMP-HOWTO
|
|
|
|
|
|
|
|
\url{http://www.tldp.org/docs.html\#howto}.\\
|
|
|
|
|
|
|
|
If you don't know what to do here, say N.}
|
|
|
|
\note{Dies wäre nur auf kleinen Systemen mit einem Prozessorkern sinnvoll auf N zu stellen.
|
|
|
|
\note{Dies wäre nur auf kleinen Systemen mit einem Prozessorkern sinnvoll auf N zu stellen.
|
|
|
|
Üblicherweise sollte das auf Y bleiben.}
|
|
|
|
Üblicherweise sollte das auf Y bleiben.}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -49,7 +67,7 @@ sind. Ohne Aktivierung dieser Option booten sie mit stark eingeschränkter Funkt
|
|
|
|
\note{Sollte unterstützt werden, kann innerhalb von menuconfig gar nicht deaktiviert werden.}
|
|
|
|
\note{Sollte unterstützt werden, kann innerhalb von menuconfig gar nicht deaktiviert werden.}
|
|
|
|
|
|
|
|
|
|
|
|
%3.3 Enable MSI and MSI-X delivery by posted interrupts
|
|
|
|
%3.3 Enable MSI and MSI-X delivery by posted interrupts
|
|
|
|
\subsection{Enable MSI and MSI-x delivery by posted interrupts {\tiny since 6.10}}
|
|
|
|
\subsection{Enable MSI and MSI-x delivery by posted interrupts {\tiny seit 6.10}}
|
|
|
|
CONFIG\_X86\_POSTED\_MSI \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
CONFIG\_X86\_POSTED\_MSI \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Dadurch können MSIs, die unter Interrupt-Remapping stehen, als gebuchte Interrupts an den Host-Kernel übermittelt werden.
|
|
|
|
Dadurch können MSIs, die unter Interrupt-Remapping stehen, als gebuchte Interrupts an den Host-Kernel übermittelt werden.
|
|
|
|
Der Unterbrechungsdurchsatz kann potenziell verbessert werden, indem CPU-Benachrichtigungen während
|
|
|
|
Der Unterbrechungsdurchsatz kann potenziell verbessert werden, indem CPU-Benachrichtigungen während
|
|
|
|
@@ -93,8 +111,8 @@ More information about AMD QoS can be found in the AMD64 Technology Platform Qua
|
|
|
|
Say N if unsure.}
|
|
|
|
Say N if unsure.}
|
|
|
|
\note{Wir sind uns noch unsicher!}
|
|
|
|
\note{Wir sind uns noch unsicher!}
|
|
|
|
|
|
|
|
|
|
|
|
%3.6 Flexible Return and Event Delivery, since v6.9
|
|
|
|
%3.6 Flexible Return and Event Delivery, seit v6.9
|
|
|
|
\subsection{Flexible Return and Event Delivery {\tiny since 6.9}}
|
|
|
|
\subsection{Flexible Return and Event Delivery {\tiny seit 6.9}}
|
|
|
|
CONFIG\_X86\_FRED [=Y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_FRED [=Y] \textbf{[Y]}\\
|
|
|
|
Wenn diese Funktion aktiviert ist, sollten Sie versuchen, Flexible Return and Event Delivery anstelle
|
|
|
|
Wenn diese Funktion aktiviert ist, sollten Sie versuchen, Flexible Return and Event Delivery anstelle
|
|
|
|
der alten SYSCALL/SYSENTER/IDT-Architektur für Ringübergänge und Ausnahme- bzw. Unter\-brechungs\-behandlung
|
|
|
|
der alten SYSCALL/SYSENTER/IDT-Architektur für Ringübergänge und Ausnahme- bzw. Unter\-brechungs\-behandlung
|
|
|
|
@@ -250,6 +268,9 @@ Der Kernel wird so verändert, dass er sich selbst modifizieren kann, wenn er un
|
|
|
|
ausgeführt wird, was die Leistung gegenüber einer vollständigen Virtualisierung erheblich verbessern
|
|
|
|
ausgeführt wird, was die Leistung gegenüber einer vollständigen Virtualisierung erheblich verbessern
|
|
|
|
kann. Wenn der Kernel jedoch ohne Hypervisor ausgeführt wird, ist er theoretisch langsamer und etwas
|
|
|
|
kann. Wenn der Kernel jedoch ohne Hypervisor ausgeführt wird, ist er theoretisch langsamer und etwas
|
|
|
|
größer.
|
|
|
|
größer.
|
|
|
|
|
|
|
|
\english{This changes the kernel so it can modify itself when it is run under a hypervisor,
|
|
|
|
|
|
|
|
potentially improving performance significantly over full virtualization.
|
|
|
|
|
|
|
|
However, when run without a hypervisor the kernel is theoretically slower and slightly larger.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{paravirt-ops debugging}
|
|
|
|
\subsubsection{paravirt-ops debugging}
|
|
|
|
CONFIG\_PARAVIRT\_DEBUG [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_PARAVIRT\_DEBUG [=n] \textbf{[N]}\\
|
|
|
|
@@ -398,6 +419,8 @@ CONFIG\_MK8 [=n] \textbf{[N]}\\
|
|
|
|
Wählen Sie diese Option für einen Prozessor der AMD Opteron- oder Athlon64 Hammer"=Fa\-mi\-lie.
|
|
|
|
Wählen Sie diese Option für einen Prozessor der AMD Opteron- oder Athlon64 Hammer"=Fa\-mi\-lie.
|
|
|
|
Er\-mög\-licht die Verwendung einiger erweiterter Anweisungen und übergibt entsprechende
|
|
|
|
Er\-mög\-licht die Verwendung einiger erweiterter Anweisungen und übergibt entsprechende
|
|
|
|
Optimierungsflags an den GCC.
|
|
|
|
Optimierungsflags an den GCC.
|
|
|
|
|
|
|
|
\english{Select this for an AMD Opteron or Athlon64 Hammer-family processor.
|
|
|
|
|
|
|
|
Enables use of some extended instructions, and passes appropriate optimization flags to GCC.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Intel P4 / older Netburst based Xeon}
|
|
|
|
\subsubsection{Intel P4 / older Netburst based Xeon}
|
|
|
|
CONFIG\_MPSC [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_MPSC [=n] \textbf{[N]}\\
|
|
|
|
@@ -406,6 +429,12 @@ die mit x86-64 kompatibel sind. Beachten Sie, dass die neuesten Xeons (Xeon 51xx
|
|
|
|
auf dem Netburst-Kern basieren und diese Option nicht verwenden sollten.\\
|
|
|
|
auf dem Netburst-Kern basieren und diese Option nicht verwenden sollten.\\
|
|
|
|
Sie können sie anhand des Feldes cpu family in /proc/cpuinfo unterscheiden.
|
|
|
|
Sie können sie anhand des Feldes cpu family in /proc/cpuinfo unterscheiden.
|
|
|
|
Familie 15 ist ein älterer Xeon, Familie 6 ein neuerer.
|
|
|
|
Familie 15 ist ein älterer Xeon, Familie 6 ein neuerer.
|
|
|
|
|
|
|
|
\english{Optimize for Intel Pentium 4, Pentium D and older Nocona/Dempsey Xeon CPUs with
|
|
|
|
|
|
|
|
Intel 64bit which is compatible with x86-64.
|
|
|
|
|
|
|
|
Note that the latest Xeons (Xeon 51xx and 53xx) are not based on the Netburst core and
|
|
|
|
|
|
|
|
shouldn't use this option.
|
|
|
|
|
|
|
|
You can distinguish them using the cpu family field in /proc/cpuinfo.
|
|
|
|
|
|
|
|
Family 15 is an older Xeon, Family 6 a newer one.}
|
|
|
|
|
|
|
|
|
|
|
|
%3.13.3
|
|
|
|
%3.13.3
|
|
|
|
\subsubsection{Core 2/newer Xeon}
|
|
|
|
\subsubsection{Core 2/newer Xeon}
|
|
|
|
@@ -416,6 +445,7 @@ Neuere haben 6 und ältere 15 (kein Tippfehler).
|
|
|
|
\english{Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and 53xx) CPUs.
|
|
|
|
\english{Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and 53xx) CPUs.
|
|
|
|
You can distinguish newer from older Xeons by the CPU family in /proc/cpuinfo.
|
|
|
|
You can distinguish newer from older Xeons by the CPU family in /proc/cpuinfo.
|
|
|
|
Newer ones have 6 and older ones 15 (not a typo)}
|
|
|
|
Newer ones have 6 and older ones 15 (not a typo)}
|
|
|
|
|
|
|
|
\note{Ein moderner i7 oder i5 Intel-Prozessor wird verwendet, deshalb Y für ein Ja.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Intel Atom}
|
|
|
|
\subsubsection{Intel Atom}
|
|
|
|
CONFIG\_MATOM [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_MATOM [=n] \textbf{[N]}\\
|
|
|
|
@@ -423,10 +453,16 @@ Wählen Sie diese Option für die Intel Atom-Plattform. Intel Atom CPUs haben ei
|
|
|
|
In-Order-Pipelining-Architektur und können daher von entsprechend optimiertem Code profitieren.
|
|
|
|
In-Order-Pipelining-Architektur und können daher von entsprechend optimiertem Code profitieren.
|
|
|
|
Verwenden Sie einen aktuellen GCC mit spezieller Atom-Unterstützung, um die Vorteile dieser Option
|
|
|
|
Verwenden Sie einen aktuellen GCC mit spezieller Atom-Unterstützung, um die Vorteile dieser Option
|
|
|
|
voll ausschöpfen zu können.
|
|
|
|
voll ausschöpfen zu können.
|
|
|
|
|
|
|
|
\english{Select this for the Intel Atom platform.
|
|
|
|
|
|
|
|
Intel Atom CPUs have an in-order pipelining architecture and thus can benefit from accordingly optimized code.
|
|
|
|
|
|
|
|
Use a recent GCC with specific Atom support in order to fully benefit from selecting this option.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Generic-x86-64}
|
|
|
|
\subsubsection{Generic-x86-64}
|
|
|
|
CONFIG\_GENERIC\_CPU \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
CONFIG\_GENERIC\_CPU \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Allgemeine x86-64-CPU. Läuft gleich gut auf allen x86-64-CPUs.
|
|
|
|
Allgemeine x86-64-CPU. Läuft gleich gut auf allen x86-64-CPUs.
|
|
|
|
|
|
|
|
\english{Generic x86-64 CPU.\\
|
|
|
|
|
|
|
|
Run equally well on all x86-64 CPUs.}
|
|
|
|
|
|
|
|
|
|
|
|
%3.14
|
|
|
|
%3.14
|
|
|
|
\subsection{Supported processor vendors \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
\subsection{Supported processor vendors \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
CONFIG\_SELECT \colorbox{yellow!80}{[=n] \textbf{[Y]}}\\
|
|
|
|
CONFIG\_SELECT \colorbox{yellow!80}{[=n] \textbf{[Y]}}\\
|
|
|
|
@@ -626,21 +662,30 @@ mit Sicherheit N sagen, also nein.
|
|
|
|
\subsection{Performance monitoring \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
\subsection{Performance monitoring \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
Leistungsüberwachung
|
|
|
|
Leistungsüberwachung
|
|
|
|
|
|
|
|
|
|
|
|
%3.21
|
|
|
|
%3.24.1
|
|
|
|
\subsubsection{Intel uncore performance events}
|
|
|
|
\subsubsection{Intel uncore performance events}
|
|
|
|
CONFIG\_PERF\_EVENTS\_INTEL\_UNCORE [=m] \textbf{[M]}\\
|
|
|
|
CONFIG\_PERF\_EVENTS\_INTEL\_UNCORE \colorbox{yellow!80}{[=m] \textbf{[N]}}\\
|
|
|
|
Unterstützung für Intel-Uncore-Leistungsereignisse. Diese sind auf NehalemEX
|
|
|
|
Unterstützung für Intel-Uncore-Leistungsereignisse. Diese sind auf NehalemEX
|
|
|
|
und moderneren Prozessoren verfügbar.
|
|
|
|
und moderneren Prozessoren verfügbar.
|
|
|
|
|
|
|
|
\english{Include support for Intel uncore performance events.
|
|
|
|
|
|
|
|
These are available on NehalemEX and more modern processors.}
|
|
|
|
|
|
|
|
\note{Das war auf [m] für Modul-Kompilat eingestellt, wir kümmern uns nicht darum und wählen N für ein Nein.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Intel/AMD rapl performance events}
|
|
|
|
\subsubsection{Intel/AMD rapl performance events}
|
|
|
|
CONFIG\_PERF\_EVENTS\_INTEL\_RAPL [=m] \textbf{[M]}\\
|
|
|
|
CONFIG\_PERF\_EVENTS\_INTEL\_RAPL \colorbox{yellow!80}{[=m] \textbf{[N]}}\\
|
|
|
|
Unterstützung für Intel- und AMD-RAPL-Leistungsereignisse zur
|
|
|
|
Unterstützung für Intel- und AMD-RAPL-Leistungsereignisse zur
|
|
|
|
Leistungsüberwachung auf modernen Prozessoren.
|
|
|
|
Leistungsüberwachung auf modernen Prozessoren.
|
|
|
|
|
|
|
|
\english{Include support for Intel and AMD rapl performance events for power monitoring on modern processors.}
|
|
|
|
|
|
|
|
\note{Das war auf [m] für Modul-Kompilat eingestellt, wir kümmern uns nicht darum und wählen N für ein Nein.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Intel cstate performance events}
|
|
|
|
\subsubsection{Intel cstate performance events}
|
|
|
|
CONFIG\_PERF\_EVENTS\_INTEL\_CSTATE [=m] \textbf{[M]}\\
|
|
|
|
CONFIG\_PERF\_EVENTS\_INTEL\_CSTATE \colorbox{yellow!80}{[=m] \textbf{[N]}}\\
|
|
|
|
Einbeziehung der Unterstützung für Intel cstate performance events für die
|
|
|
|
Einbeziehung der Unterstützung für Intel cstate performance events für die
|
|
|
|
Leistungsüberwachung auf modernen Prozessoren.
|
|
|
|
Leistungsüberwachung auf modernen Prozessoren.
|
|
|
|
|
|
|
|
\english{Include support for Intel cstate performance events for power monitoring on modern processors.}
|
|
|
|
|
|
|
|
\note{Das war auf [m] für Modul-Kompilat eingestellt, wir kümmern uns nicht darum und wählen N für ein Nein.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{AMD Processor Power Reporting Mechanism}
|
|
|
|
\subsubsection{AMD Processor Power Reporting Mechanism}
|
|
|
|
CONFIG\_PERF\_EVENTS\_AMD\_POWER [=m] \textbf{[M]}\\
|
|
|
|
CONFIG\_PERF\_EVENTS\_AMD\_POWER [=m] \textbf{[M]}\\
|
|
|
|
@@ -708,6 +753,7 @@ capabilities and permission from potentially active security modules.\\
|
|
|
|
The emulation restricts the functionality of the syscall to only allowing the full range
|
|
|
|
The emulation restricts the functionality of the syscall to only allowing the full range
|
|
|
|
I/O port access, but prevents the ability to disable interrupts from user space which would be
|
|
|
|
I/O port access, but prevents the ability to disable interrupts from user space which would be
|
|
|
|
granted if the hardware IOPL mechanism would be used.}
|
|
|
|
granted if the hardware IOPL mechanism would be used.}
|
|
|
|
|
|
|
|
\note{Wir könnten diese Emulation versuchen auszuschalten, ist aber ein Sicherheitsrisiko.}
|
|
|
|
|
|
|
|
|
|
|
|
%3.28
|
|
|
|
%3.28
|
|
|
|
\subsection{Late microcode loading (DANGEROUS)}
|
|
|
|
\subsection{Late microcode loading (DANGEROUS)}
|
|
|
|
@@ -742,19 +788,23 @@ ausgeführt werden soll. Es handelt sich um ein Zeichengerät mit Major 203 und
|
|
|
|
|
|
|
|
|
|
|
|
%3.31
|
|
|
|
%3.31
|
|
|
|
\subsection{Enable 5-level page tables support}
|
|
|
|
\subsection{Enable 5-level page tables support}
|
|
|
|
CONFIG\_X86\_5LEVEL [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_5LEVEL \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
5-Level-Paging ermöglicht den Zugriff auf einen größeren Adressraum:
|
|
|
|
5-Level-Paging ermöglicht den Zugriff auf einen größeren Adressraum:
|
|
|
|
bis zu 128~PiB virtueller Adressraum und 4~PiB physikalischer Adressraum. Es wird von zukünftigen Intel-CPUs
|
|
|
|
bis zu 128~PiB virtueller Adressraum und 4~PiB physikalischer Adressraum. Es wird von zukünftigen Intel-CPUs
|
|
|
|
unterstützt werden. Ein Kernel mit aktivierter Option kann auf Rechnern gebootet werden, die 4- oder 5-Level-Paging
|
|
|
|
unterstützt werden. Ein Kernel mit aktivierter Option kann auf Rechnern gebootet werden, die 4- oder 5-Level-Paging
|
|
|
|
unterstützen. Siehe Documentation/arch/x86/x86\_64/5level-paging.rst für weitere Informationen.\\
|
|
|
|
unterstützen. Siehe Documentation/arch/x86/x86\_64/5level-paging.rst für weitere Informationen.\\
|
|
|
|
Sagen Sie N, wenn Sie unsicher sind.
|
|
|
|
Sagen Sie N, wenn Sie unsicher sind.
|
|
|
|
|
|
|
|
\note{Wir verwenden keine so großen Maschinen, also N. 4-Level mit \qty{256}{\tebi\byte} ist momentan ausreichend.}
|
|
|
|
|
|
|
|
|
|
|
|
%3.32
|
|
|
|
%3.32
|
|
|
|
\subsection{Enable statistic for Change Page Attribute}
|
|
|
|
\subsection{Enable statistic for Change Page Attribute}
|
|
|
|
CONFIG\_X86\_CPA\_STATISTICS [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_CPA\_STATISTICS \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Statistiken über den Mechanismus zum Ändern von Seitenattributen offenlegen, der dabei hilft,
|
|
|
|
Statistiken über den Mechanismus zum Ändern von Seitenattributen offenlegen, der dabei hilft,
|
|
|
|
die Wirksamkeit der Erhaltung großer und umfangreicher Seitenzuordnungen zu bestimmen,
|
|
|
|
die Wirksamkeit der Erhaltung großer und umfangreicher Seitenzuordnungen zu bestimmen,
|
|
|
|
wenn Zuordnungsschutzmaßnahmen geändert werden.
|
|
|
|
wenn Zuordnungsschutzmaßnahmen geändert werden.
|
|
|
|
|
|
|
|
\english{Expose statistics about the Change Page Attribute mechanism, which helps to determine
|
|
|
|
|
|
|
|
the effectiveness of preserving large and huge page mappings when mapping protections are changed.}
|
|
|
|
|
|
|
|
\note{Das ist ein Entwicklerwerkzeug, das wir nicht benötigen, deshalb N.}
|
|
|
|
|
|
|
|
|
|
|
|
%3.33
|
|
|
|
%3.33
|
|
|
|
\subsection{AMD Secure Memory Encryption (SME) support}
|
|
|
|
\subsection{AMD Secure Memory Encryption (SME) support}
|
|
|
|
@@ -772,7 +822,7 @@ des Systemspeichers mit der Befehlszeilenoption \texttt{mem\_encrypt=on} aktivie
|
|
|
|
|
|
|
|
|
|
|
|
%3.34
|
|
|
|
%3.34
|
|
|
|
\subsection{NUMA Memory Allocation and Scheduler Support}
|
|
|
|
\subsection{NUMA Memory Allocation and Scheduler Support}
|
|
|
|
CONFIG\_NUMA [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_NUMA [=y] \colorbox{yellow!80}{\textbf{[N]}}\\
|
|
|
|
Aktivieren Sie die NUMA-Unterstützung (Non-Uniform Memory Access). Der Kernel wird versuchen, den
|
|
|
|
Aktivieren Sie die NUMA-Unterstützung (Non-Uniform Memory Access). Der Kernel wird versuchen, den
|
|
|
|
von einer CPU verwendeten Speicher dem lokalen Speicher-Controller der CPU zuzuweisen und dem Kernel
|
|
|
|
von einer CPU verwendeten Speicher dem lokalen Speicher-Controller der CPU zuzuweisen und dem Kernel
|
|
|
|
mehr Kenntnis über NUMA zu geben.\\
|
|
|
|
mehr Kenntnis über NUMA zu geben.\\
|
|
|
|
@@ -780,6 +830,9 @@ Für 64-Bit wird dies empfohlen, wenn das System Intel Core i7 (oder höher),
|
|
|
|
AMD Opteron oder EM64T NUMA ist.\\
|
|
|
|
AMD Opteron oder EM64T NUMA ist.\\
|
|
|
|
Für 32-Bit ist dies nur erforderlich, wenn Sie einen 32-Bit-Kernel auf einer 64-Bit-NUMA-Plattform booten.
|
|
|
|
Für 32-Bit ist dies nur erforderlich, wenn Sie einen 32-Bit-Kernel auf einer 64-Bit-NUMA-Plattform booten.
|
|
|
|
Andernfalls sollten Sie N angeben.
|
|
|
|
Andernfalls sollten Sie N angeben.
|
|
|
|
|
|
|
|
\note{Nur erforderlich, wenn man ein System mit mehr als einem Sockel (CPUs) betreibt.
|
|
|
|
|
|
|
|
Wir setzen Laptops ein, deshalb ein N möglich.
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Old style AMD Opteron NUMA detection}
|
|
|
|
\subsubsection{Old style AMD Opteron NUMA detection}
|
|
|
|
CONFIG\_AMD\_NUMA [=y] \textbf{[N]}\\
|
|
|
|
CONFIG\_AMD\_NUMA [=y] \textbf{[N]}\\
|
|
|
|
@@ -806,22 +859,23 @@ CONFIG\_NODES\_SHIFT [=5] \textbf{[5]}\\
|
|
|
|
Geben Sie die maximale Anzahl der auf dem Zielsystem verfügbaren NUMA-Knoten an.
|
|
|
|
Geben Sie die maximale Anzahl der auf dem Zielsystem verfügbaren NUMA-Knoten an.
|
|
|
|
Erhöht den reservierten Speicherplatz für verschiedene Tabellen.
|
|
|
|
Erhöht den reservierten Speicherplatz für verschiedene Tabellen.
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Enable sysfs memory/probe interface}
|
|
|
|
\subsection{Enable sysfs memory/probe interface}
|
|
|
|
CONFIG\_ARCH\_MEMORY\_PROBE [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_ARCH\_MEMORY\_PROBE [=n] \textbf{[N]}\\
|
|
|
|
Diese Option aktiviert eine sysfs-Speicher/Probe-Schnittstelle für Tests.\\
|
|
|
|
Diese Option aktiviert eine sysfs-Speicher/Probe-Schnittstelle für Tests.\\
|
|
|
|
Siehe Documentation/admin-guide/mm/memory-hotplug.rst für weitere Informationen.
|
|
|
|
Siehe Documentation/admin-guide/mm/memory-hotplug.rst für weitere Informationen.
|
|
|
|
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
|
|
|
|
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit N.
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Support non-standard NVDIMMs and ADR protected memory}
|
|
|
|
\subsection{Support non-standard NVDIMMs and ADR protected memory}
|
|
|
|
CONFIG\_X86\_PMEM\_LEGACY [=m] \textbf{[M]}\\
|
|
|
|
CONFIG\_X86\_PMEM\_LEGACY \colorbox{yellow!80}{[=m] \textbf{[N]}}\\
|
|
|
|
Behandeln Sie Speicher, der mit dem nicht standardmäßigen e820-Typ von 12 markiert ist, wie er vom
|
|
|
|
Behandeln Sie Speicher, der mit dem nicht standardmäßigen e820-Typ von 12 markiert ist, wie er vom
|
|
|
|
Intel Sandy Bridge-EP Referenz-BIOS verwendet wird, als geschützten Speicher.
|
|
|
|
Intel Sandy Bridge-EP Referenz-BIOS verwendet wird, als geschützten Speicher.
|
|
|
|
Der Kernel bietet diese Regionen dem \texttt{pmem}-Treiber an, so dass sie für persistenten Speicher
|
|
|
|
Der Kernel bietet diese Regionen dem \texttt{pmem}-Treiber an, so dass sie für persistenten Speicher
|
|
|
|
verwendet werden können.\\
|
|
|
|
verwendet werden können.\\
|
|
|
|
Sagen Sie Y, wenn Sie unsicher sind.
|
|
|
|
Sagen Sie Y, wenn Sie unsicher sind.
|
|
|
|
|
|
|
|
\note{Verwenden wir nicht, deshalb ein N für Nein.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Check for low memory corruption}
|
|
|
|
\subsection{Check for low memory corruption}
|
|
|
|
CONFIG\_X86\_CHECK\_BIOS\_CORRUPTION [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_CHECK\_BIOS\_CORRUPTION \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Regelmäßige Überprüfung auf Speicherbeschädigung im niedrigen Speicher, die vermutlich durch das BIOS
|
|
|
|
Regelmäßige Überprüfung auf Speicherbeschädigung im niedrigen Speicher, die vermutlich durch das BIOS
|
|
|
|
verursacht wird. Auch wenn dies in der Konfiguration aktiviert ist, zur Laufzeit ist es deaktiviert.
|
|
|
|
verursacht wird. Auch wenn dies in der Konfiguration aktiviert ist, zur Laufzeit ist es deaktiviert.
|
|
|
|
Aktivieren Sie es, indem Sie \texttt{memory\_corruption\_check=1} in der Kernel-Befehlszeile eingeben.
|
|
|
|
Aktivieren Sie es, indem Sie \texttt{memory\_corruption\_check=1} in der Kernel-Befehlszeile eingeben.
|
|
|
|
@@ -837,8 +891,9 @@ wenn eine wiederholte BIOS-verursachte Beschädigung stets denselben Speicher be
|
|
|
|
\parbox{445\unitlength}{Hinweis: Kann ausgeschaltet werden, wenn im \texttt{journalctl} niemals
|
|
|
|
\parbox{445\unitlength}{Hinweis: Kann ausgeschaltet werden, wenn im \texttt{journalctl} niemals
|
|
|
|
\glqq corrupted low memory\grqq{} erscheint.}
|
|
|
|
\glqq corrupted low memory\grqq{} erscheint.}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
\note{Wir setzen dies auf N für Nein, da auch die obengenannte Meldung nie kommt.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{Set the default setting of memory\_corruption\_check}$~$\\
|
|
|
|
\subsubsection{Set the default setting of memory\_corruption\_check}
|
|
|
|
CONFIG\_X86\_BOOTPARAM\_MEMORY\_CORRUPTION\_CHECK [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_BOOTPARAM\_MEMORY\_CORRUPTION\_CHECK [=y] \textbf{[Y]}\\
|
|
|
|
Legt fest, ob der Standardstatus von \texttt{memory\_corruption\_check} ein- oder ausgeschaltet ist.
|
|
|
|
Legt fest, ob der Standardstatus von \texttt{memory\_corruption\_check} ein- oder ausgeschaltet ist.
|
|
|
|
|
|
|
|
|
|
|
|
@@ -863,13 +918,39 @@ Boot-CPU und nicht für die sekundären CPUs setzen. Das kann zu allen mögliche
|
|
|
|
hier Y zu sagen.\\
|
|
|
|
hier Y zu sagen.\\
|
|
|
|
Sie können sicher Y sagen, auch wenn Ihr Rechner keine MTRRs hat, Sie werden nur etwa 9 KB zu Ihrem Kernel hinzufügen.
|
|
|
|
Sie können sicher Y sagen, auch wenn Ihr Rechner keine MTRRs hat, Sie werden nur etwa 9 KB zu Ihrem Kernel hinzufügen.
|
|
|
|
Siehe $<$file:Documentation/arch/x86/mtrr.rst$>$ für weitere Informationen.
|
|
|
|
Siehe $<$file:Documentation/arch/x86/mtrr.rst$>$ für weitere Informationen.
|
|
|
|
|
|
|
|
\english{On Intel P6 family processors (Pentium Pro, Pentium II and later) the Memory Type Range Registers
|
|
|
|
|
|
|
|
(MTRRs) may be used to control processor access to memory ranges.
|
|
|
|
|
|
|
|
This is most useful if you have a video (VGA) card on a PCI or AGP bus.
|
|
|
|
|
|
|
|
Enabling write-combining allows bus write transfers to be combined into a larger transfer
|
|
|
|
|
|
|
|
before bursting over the PCI/AGP bus.
|
|
|
|
|
|
|
|
This can increase performance of image write operations 2.5 times or more.
|
|
|
|
|
|
|
|
Saying Y here creates a /proc/mtrr file which may be used to manipulate your processor's MTRRs.
|
|
|
|
|
|
|
|
Typically the X server should use this.\\
|
|
|
|
|
|
|
|
This code has a reasonably generic interface so that similar control registers on other processors
|
|
|
|
|
|
|
|
can be easily supported as well:\\
|
|
|
|
|
|
|
|
The Cyrix 6x86, 6x86MX and M II processors have Address Range Registers (ARRs) which provide
|
|
|
|
|
|
|
|
a similar functionality to MTRRs.
|
|
|
|
|
|
|
|
For these, the ARRs are used to emulate the MTRRs.
|
|
|
|
|
|
|
|
The AMD K6-2 (stepping 8 and above) and K6-3 processors have two MTRRs.
|
|
|
|
|
|
|
|
The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining.
|
|
|
|
|
|
|
|
All of these processors are supported by this code and it makes sense to say Y here if you have one of them.
|
|
|
|
|
|
|
|
\\Saying Y here also fixes a problem with buggy SMP BIOSes which only set the MTRRs for the boot CPU
|
|
|
|
|
|
|
|
and not for the secondary CPUs.
|
|
|
|
|
|
|
|
This can lead to all sorts of problems, so it's good to say Y here.\\
|
|
|
|
|
|
|
|
You can safely say Y even if your machine doesn't have MTRRs, you'll just add about 9 KB to your kernel.\\
|
|
|
|
|
|
|
|
See $<$file:Documentation/arch/x86/mtrr.rst$>$ for more information.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{MTRR cleanup support}$~$\\
|
|
|
|
\subsubsection{MTRR cleanup support}
|
|
|
|
CONFIG\_MTRR\_SANITIZER [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_MTRR\_SANITIZER [=y] \textbf{[Y]}\\
|
|
|
|
Umwandlung des MTRR-Layouts von kontinuierlich in diskret, damit X-Treiber Rückschreibeinträge hinzufügen können.
|
|
|
|
Umwandlung des MTRR-Layouts von kontinuierlich in diskret, damit X-Treiber Rückschreibeinträge hinzufügen können.
|
|
|
|
Kann mit \texttt{disable\_mtrr\_cleanup} in der Kernel-Kommandozeile deaktiviert werden.
|
|
|
|
Kann mit \texttt{disable\_mtrr\_cleanup} in der Kernel-Kommandozeile deaktiviert werden.
|
|
|
|
Die größte MTRR-Eintragsgröße für einen kontinuierlichen Block kann mit \texttt{mtrr\_chunk\_size} festgelegt werden.\\
|
|
|
|
Die größte MTRR-Eintragsgröße für einen kontinuierlichen Block kann mit \texttt{mtrr\_chunk\_size} festgelegt werden.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
|
|
|
|
\english{Convert MTRR layout from continuous to discrete, so X drivers can add writeback entries.\\
|
|
|
|
|
|
|
|
Can be disabled with disable\_mtrr\_cleanup on the kernel command line.
|
|
|
|
|
|
|
|
The largest mtrr entry size for a continuous block can be set with mtrr\_chunk\_size.\\
|
|
|
|
|
|
|
|
If unsure, say Y.}
|
|
|
|
|
|
|
|
\note{Für normale Systeme Y für Ja. Nur bei einem \glqq headless server\grqq{} ein N.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{MTRR cleanup enable value (0-1)}$~$\\
|
|
|
|
\paragraph{MTRR cleanup enable value (0-1)}$~$\\
|
|
|
|
CONFIG\_MTRR\_SANITIZER [=1] \textbf{[1]}\\
|
|
|
|
CONFIG\_MTRR\_SANITIZER [=1] \textbf{[1]}\\
|
|
|
|
@@ -880,8 +961,42 @@ CONFIG\_MTRR\_SANITIZER\_SPARE\_REG\_NR\_DEFAULT [=0] \textbf{[0]}\\
|
|
|
|
MTRR cleanup spare entries Defaulteintrag, dies kann über
|
|
|
|
MTRR cleanup spare entries Defaulteintrag, dies kann über
|
|
|
|
\texttt{mtrr\_spare\_reg\_nr=N} auf der Kernel-Be\-fehls\-zei\-le geändert werden.
|
|
|
|
\texttt{mtrr\_spare\_reg\_nr=N} auf der Kernel-Be\-fehls\-zei\-le geändert werden.
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Indirect Branch Tracking}
|
|
|
|
%3.37.4
|
|
|
|
CONFIG\_X86\_KERNEL\_IBT [=y] \textbf{[Y]}\\
|
|
|
|
\subsubsection{x86 PAT support}
|
|
|
|
|
|
|
|
CONFIG\_X86\_PAT [=y] \textbf{[Y]}\\
|
|
|
|
|
|
|
|
Verwenden Sie PAT-Attribute zur Einrichtung der Cache-Steuerung auf Seitenebene.\\
|
|
|
|
|
|
|
|
PATs sind die modernen Äquivalente von MTRRs und sind viel flexibler als MTRRs.
|
|
|
|
|
|
|
|
Sagen Sie hier N, wenn Sie Probleme beim Booten (Boot-Absturz, Boot-Hänger,
|
|
|
|
|
|
|
|
spontane Neustarts) oder einen nicht funktionierenden Grafiktreiber feststellen.\\
|
|
|
|
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
|
|
|
|
\english{Use PAT attributes to setup page level cache control.\\
|
|
|
|
|
|
|
|
PATs are the modern equivalents of MTRRs and are much more flexible than MTRRs.\\
|
|
|
|
|
|
|
|
Say N here if you see bootup problems (boot crash, boot hang, spontaneous reboots)
|
|
|
|
|
|
|
|
or a non-working video driver.\\
|
|
|
|
|
|
|
|
If unsure, say Y.}
|
|
|
|
|
|
|
|
\note{Überprüfe mit \texttt{cat /proc/cpuinfo | grep pat}, ob das System PAT unterstützt.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%3.38
|
|
|
|
|
|
|
|
\subsection{User Mode Instruction Prevention}
|
|
|
|
|
|
|
|
CONFIG\_X86\_UMIP [=y] \textbf{[Y]}\\
|
|
|
|
|
|
|
|
User Mode Instruction Prevention (UMIP) ist eine Sicherheits\-funktion in einigen x86-Prozessoren.
|
|
|
|
|
|
|
|
Wenn sie aktiviert ist, wird ein allgemeiner Schutzfehler ausgegeben, wenn die Anweisungen SGDT, SLDT,
|
|
|
|
|
|
|
|
SIDT, SMSW oder STR im Benutzer\-modus ausgeführt werden.
|
|
|
|
|
|
|
|
Diese Befehle geben unnötigerweise Informationen über den Hardwarezustand preis.\\
|
|
|
|
|
|
|
|
Die große Mehrheit der Anwendungen verwendet diese Befehle nicht.
|
|
|
|
|
|
|
|
Für die wenigen, die sie verwenden, wird in bestimmten Fällen eine Software-Emulation im geschützten und
|
|
|
|
|
|
|
|
virtuellen 8086-Modus vorgesehen. Die emulierten Ergebnisse sind Scheinergebnisse.
|
|
|
|
|
|
|
|
\english{User Mode Instruction Prevention (UMIP) is a security feature in some x86 processors.
|
|
|
|
|
|
|
|
If enabled, a general protection fault is issued if the SGDT, SLDT, SIDT, SMSW or STR instructions are
|
|
|
|
|
|
|
|
executed in user mode.
|
|
|
|
|
|
|
|
These instructions unnecessarily expose information about the hardware state.\\
|
|
|
|
|
|
|
|
The vast majority of applications do not use these instructions.
|
|
|
|
|
|
|
|
For the very few that do, software emulation is provided in specific cases in protected and
|
|
|
|
|
|
|
|
virtual-8086 modes. Emulated results are dummy.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%3.39
|
|
|
|
|
|
|
|
\subsection{Indirect Branch Tracking}
|
|
|
|
|
|
|
|
CONFIG\_X86\_KERNEL\_IBT \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Bauen Sie den Kernel mit Unterstützung für Indirect Branch Tracking auf, eine Hardware-Unterstützung, die die Integrität
|
|
|
|
Bauen Sie den Kernel mit Unterstützung für Indirect Branch Tracking auf, eine Hardware-Unterstützung, die die Integrität
|
|
|
|
des Kontrollflusses an den Rändern schützt. Sie erzwingt, dass alle indirekten Aufrufe auf einer ENDBR-Anweisung landen
|
|
|
|
des Kontrollflusses an den Rändern schützt. Sie erzwingt, dass alle indirekten Aufrufe auf einer ENDBR-Anweisung landen
|
|
|
|
müssen, und der Compiler wird den Code mit ihnen instrumentieren, damit dies geschieht.\\
|
|
|
|
müssen, und der Compiler wird den Code mit ihnen instrumentieren, damit dies geschieht.\\
|
|
|
|
@@ -889,15 +1004,29 @@ Zusätzlich zur Erstellung des Kernels mit IBT werden alle Funktionen, die keine
|
|
|
|
um zu verhindern, dass sie jemals zu solchen werden.\\
|
|
|
|
um zu verhindern, dass sie jemals zu solchen werden.\\
|
|
|
|
Dies erfordert LTO wie objtool-Läufe und verlangsamt den Bau. Es reduziert jedoch die Anzahl der ENDBR-Anweisungen im
|
|
|
|
Dies erfordert LTO wie objtool-Läufe und verlangsamt den Bau. Es reduziert jedoch die Anzahl der ENDBR-Anweisungen im
|
|
|
|
Kernel-Image erheblich.
|
|
|
|
Kernel-Image erheblich.
|
|
|
|
|
|
|
|
\english{Build the kernel with support for Indirect Branch Tracking, a hardware support
|
|
|
|
|
|
|
|
course-grain forward-edge Control Flow Integrity protection.
|
|
|
|
|
|
|
|
It enforces that all indirect calls must land on an ENDBR instruction, as such,
|
|
|
|
|
|
|
|
the compiler will instrument the code with them to make this happen.\\
|
|
|
|
|
|
|
|
In addition to building the kernel with IBT, seal all functions that are not indirect call targets,
|
|
|
|
|
|
|
|
avoiding them ever becoming one.\\
|
|
|
|
|
|
|
|
This requires LTO like objtool runs and will slow down the build.
|
|
|
|
|
|
|
|
It does significantly reduce the number of ENDBR instructions in the kernel image.}
|
|
|
|
|
|
|
|
\note{Wir können hier N wählen, hat natürlich Sicherheitsmerkmale. Compilieren geht schneller!}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Memory Protection Keys}
|
|
|
|
%3.40
|
|
|
|
|
|
|
|
\subsection{Memory Protection Keys}
|
|
|
|
CONFIG\_X86\_INTEL\_MEMORY\_PROTECTION\_KEYS [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_INTEL\_MEMORY\_PROTECTION\_KEYS [=y] \textbf{[Y]}\\
|
|
|
|
Memory Protection Keys bietet einen Mechanismus zur Erzwingung seitenbasierter Schutzmaßnahmen, ohne dass die
|
|
|
|
Memory Protection Keys bietet einen Mechanismus zur Erzwingung seitenbasierter Schutzmaßnahmen, ohne dass die
|
|
|
|
Seitentabellen geändert werden müssen, wenn eine Anwendung ihre Schutzdomänen ändert. Einzelheiten siehe
|
|
|
|
Seitentabellen geändert werden müssen, wenn eine Anwendung ihre Schutzdomänen ändert. Einzelheiten siehe
|
|
|
|
Documentation/core-api/protection-keys.rst\\
|
|
|
|
Documentation/core-api/protection-keys.rst\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
|
|
|
|
\english{Memory Protection Keys provides a mechanism for enforcing page-based protections,
|
|
|
|
|
|
|
|
but without requiring modification of the page tables when an application changes protection domains.\\
|
|
|
|
|
|
|
|
For details, see Documentation/core-api/protection-keys.rst\\
|
|
|
|
|
|
|
|
If unsure, say y.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{TSX enable mode () \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
\subsection{TSX enable mode () \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
CONFIG\_X86\_INTEL\_MEMORY\_PROTECTION\_KEYS [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_INTEL\_MEMORY\_PROTECTION\_KEYS [=y] \textbf{[Y]}\\
|
|
|
|
Intels TSX-Funktion (Transactional Synchronization Extensions) ermöglicht die Optimierung von Sperrprotokollen durch
|
|
|
|
Intels TSX-Funktion (Transactional Synchronization Extensions) ermöglicht die Optimierung von Sperrprotokollen durch
|
|
|
|
Lock Elision, was zu einer spürbaren Leistungssteigerung führen kann.
|
|
|
|
Lock Elision, was zu einer spürbaren Leistungssteigerung führen kann.
|
|
|
|
@@ -912,53 +1041,85 @@ eingestellt werden. Siehe
|
|
|
|
Documentation/admin-guide/kernel-parameters.txt für weitere Details.
|
|
|
|
Documentation/admin-guide/kernel-parameters.txt für weitere Details.
|
|
|
|
Sagen Sie off, wenn Sie sich nicht sicher sind, auto, wenn TSX in Gebrauch ist, aber auf sicheren Plattformen
|
|
|
|
Sagen Sie off, wenn Sie sich nicht sicher sind, auto, wenn TSX in Gebrauch ist, aber auf sicheren Plattformen
|
|
|
|
verwendet werden sollte, oder on, wenn TSX in Gebrauch ist und der Sicherheitsaspekt von tsx nicht relevant ist.
|
|
|
|
verwendet werden sollte, oder on, wenn TSX in Gebrauch ist und der Sicherheitsaspekt von tsx nicht relevant ist.
|
|
|
|
|
|
|
|
\english{Intel's TSX (Transactional Synchronization Extensions) feature allows to optimize
|
|
|
|
|
|
|
|
locking protocols through lock elision which can lead to a noticeable performance boost.\\
|
|
|
|
|
|
|
|
On the other hand it has been shown that TSX can be exploited to form side channel attacks (e.g. TAA)
|
|
|
|
|
|
|
|
and chances are there will be more of those attacks discovered in the future.\\
|
|
|
|
|
|
|
|
Therefore TSX is not enabled by default (aka tsx=off).
|
|
|
|
|
|
|
|
An admin might override this decision by tsx=on the command line parameter.
|
|
|
|
|
|
|
|
Even with TSX enabled, the kernel will attempt to enable the best possible TAA mitigation setting
|
|
|
|
|
|
|
|
depending on the microcode available for the particular machine.\\
|
|
|
|
|
|
|
|
This option allows to set the default tsx mode between tsx=on, =off and =auto.
|
|
|
|
|
|
|
|
See Documentation/admin-guide/kernel-parameters.txt for more details.\\
|
|
|
|
|
|
|
|
Say off if not sure, auto if TSX is in use but it should be used on safe platforms or on if
|
|
|
|
|
|
|
|
TSX is in use and the security aspect of tsx is not relevant.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{off}$~$\\
|
|
|
|
\subsubsection{off}
|
|
|
|
CONFIG\_X86\_INTEL\_TSX\_MODE\_OFF [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_X86\_INTEL\_TSX\_MODE\_OFF [=n] \textbf{[N]}\\
|
|
|
|
TSX ist, wenn möglich, deaktiviert -- entspricht dem Befehlszeilenparameter \texttt{tsx=off}.
|
|
|
|
TSX ist, wenn möglich, deaktiviert -- entspricht dem Befehlszeilenparameter \texttt{tsx=off}.
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{on}$~$\\
|
|
|
|
\subsubsection{on}
|
|
|
|
CONFIG\_X86\_INTEL\_TSX\_MODE\_ON [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_X86\_INTEL\_TSX\_MODE\_ON [=n] \textbf{[N]}\\
|
|
|
|
TSX ist auf TSX-fähiger Hardware immer aktiviert -- gleichbedeutend
|
|
|
|
TSX ist auf TSX-fähiger Hardware immer aktiviert -- gleichbedeutend
|
|
|
|
mit dem Befehlszeilenparameter \texttt{tsx=on}
|
|
|
|
mit dem Befehlszeilenparameter \texttt{tsx=on}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{auto}$~$\\
|
|
|
|
\subsubsection{auto}
|
|
|
|
CONFIG\_X86\_INTEL\_TSX\_MODE\_AUTO [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_INTEL\_TSX\_MODE\_AUTO [=y] \textbf{[Y]}\\
|
|
|
|
TSX wird auf TSX-fähiger Hardware aktiviert, die als sicher gegen Seitenkanalangriffe gilt -- gleichbedeutend
|
|
|
|
TSX wird auf TSX-fähiger Hardware aktiviert, die als sicher gegen Seitenkanalangriffe gilt -- gleichbedeutend
|
|
|
|
mit dem Befehlszeilenparameter \texttt{tsx=auto}.
|
|
|
|
mit dem Befehlszeilenparameter \texttt{tsx=auto}.
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Software Guard eXtensions (SGX)}
|
|
|
|
%3.42
|
|
|
|
CONFIG\_X86\_SGX [=y] \textbf{[Y]}\\
|
|
|
|
\subsection{Software Guard eXtensions (SGX)}
|
|
|
|
|
|
|
|
CONFIG\_X86\_SGX \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Intel(R) Software Guard eXtensions (SGX) ist eine Reihe von CPU-Befehlen, die von Anwendungen verwendet werden
|
|
|
|
Intel(R) Software Guard eXtensions (SGX) ist eine Reihe von CPU-Befehlen, die von Anwendungen verwendet werden
|
|
|
|
können, um private Code- und Datenbereiche, die so genannten Enklaven, zu reservieren. Auf den privaten Speicher
|
|
|
|
können, um private Code- und Datenbereiche, die so genannten Enklaven, zu reservieren. Auf den privaten Speicher
|
|
|
|
einer Enklave kann nur von Code zugegriffen werden, der innerhalb der Enklave läuft. Zugriffe von außerhalb der
|
|
|
|
einer Enklave kann nur von Code zugegriffen werden, der innerhalb der Enklave läuft. Zugriffe von außerhalb der
|
|
|
|
Enklave, einschließlich anderer Enklaven, werden von der Hardware nicht zugelassen.\\
|
|
|
|
Enklave, einschließlich anderer Enklaven, werden von der Hardware nicht zugelassen.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N.
|
|
|
|
|
|
|
|
\english{Intel(R) Software Guard eXtensions (SGX) is a set of CPU instructions that can be used
|
|
|
|
|
|
|
|
by applications to set aside private regions of code and data, referred to as enclaves.
|
|
|
|
|
|
|
|
An enclave's private memory can only be accessed by code running within the enclave.
|
|
|
|
|
|
|
|
Accesses from outside the enclave, including other enclaves, are disallowed by hardware.\\
|
|
|
|
|
|
|
|
If unsure, say N.}
|
|
|
|
|
|
|
|
\note{N,\\
|
|
|
|
|
|
|
|
Y, wenn Sie eine echte Verwendung dafür haben, denn die tatsächliche Sicherheit dieser Funktion ist umstritten.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{X86 userspace shadow stack}
|
|
|
|
\subsection{X86 userspace shadow stack}
|
|
|
|
CONFIG\_X86\_USER\_SHADOW\_STACK [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_X86\_USER\_SHADOW\_STACK [=y] \textbf{[Y]}\\
|
|
|
|
Der Schattenstapelschutz ist eine Hardwarefunktion, die eine Beschädigung der Rücksprungadresse einer Funktion
|
|
|
|
Der Schattenstapelschutz ist eine Hardwarefunktion, die eine Beschädigung der Rücksprungadresse einer Funktion
|
|
|
|
erkennt. Dies hilft, ROP-Angriffe abzuschwächen. Anwendungen müssen aktiviert sein, um sie zu nutzen, und der
|
|
|
|
erkennt. Dies hilft, ROP-Angriffe abzuschwächen. Anwendungen müssen aktiviert sein, um sie zu nutzen, und der
|
|
|
|
alte Userspace erhält den Schutz nicht "umsonst". CPUs, die Shadow Stacks unterstützen, wurden erstmals im
|
|
|
|
alte Userspace erhält den Schutz nicht \glqq umsonst\grqq{}. CPUs, die Shadow Stacks unterstützen, wurden erstmals im
|
|
|
|
Jahr~2020 vorgestellt. Weitere Informationen finden Sie unter Documentation/arch/x86/shstk.rst.\\
|
|
|
|
Jahr~2020 vorgestellt. Weitere Informationen finden Sie unter Documentation/arch/x86/shstk.rst.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N.
|
|
|
|
|
|
|
|
\note{Y, ein Ja aus Sicherheitsgründen}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{EFI runtime service support}
|
|
|
|
\subsection{EFI runtime service support}
|
|
|
|
CONFIG\_EFI [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_EFI [=y] \textbf{[Y]}\\
|
|
|
|
Dies ermöglicht es dem Kernel, verfügbare EFI-Laufzeitdienste (wie die EFI-Variablendienste) zu nutzen.\\
|
|
|
|
Dies ermöglicht es dem Kernel, verfügbare EFI-Laufzeitdienste (wie die EFI-Variablendienste) zu nutzen.\\
|
|
|
|
Diese Option ist nur auf Systemen mit EFI-Firmware sinnvoll. Außerdem sollten Sie den neuesten ELILO-Lader
|
|
|
|
Diese Option ist nur auf Systemen mit EFI-Firmware sinnvoll. Außerdem sollten Sie den neuesten ELILO-Lader
|
|
|
|
verwenden, der unter \url{http://elilo.sourceforge.net} verfügbar ist, um die Vorteile der
|
|
|
|
verwenden, der unter \url{http://elilo.sourceforge.net} verfügbar ist, um die Vorteile der
|
|
|
|
EFI-Laufzeitdienste zu nutzen. Aber auch mit dieser Option sollte der resultierende Kernel weiterhin auf
|
|
|
|
EFI-Laufzeitdienste zu nutzen. Aber auch mit dieser Option sollte der resultierende Kernel weiterhin auf
|
|
|
|
bestehenden Nicht-EFI-Plattformen booten.
|
|
|
|
bestehenden Nicht-EFI-Plattformen booten.
|
|
|
|
|
|
|
|
\english{This enables the kernel to use EFI runtime services that are available
|
|
|
|
|
|
|
|
(such as the EFI variable services).\\
|
|
|
|
|
|
|
|
This option is only useful on systems that have EFI firmware.
|
|
|
|
|
|
|
|
In addition, you should use the latest ELILO loader available at $<$http://elilo.sourceforge.net$>$
|
|
|
|
|
|
|
|
in order to take advantage of EFI runtime services.
|
|
|
|
|
|
|
|
However, even with this option, the resultant kernel should continue to boot on existing non-EFI platforms.}
|
|
|
|
|
|
|
|
\note{Um von EFI booten zu können, dürfen wir dies nicht deaktivieren.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{EFI stub support}$~$\\
|
|
|
|
\subsubsection{EFI stub support}
|
|
|
|
CONFIG\_EFI\_STUB [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_EFI\_STUB [=y] \textbf{[Y]}\\
|
|
|
|
Mit dieser Kernel-Funktion kann ein bzImage direkt von der EFI-Firmware geladen werden, ohne dass ein
|
|
|
|
Mit dieser Kernel-Funktion kann ein bzImage direkt von der EFI-Firmware geladen werden, ohne dass ein
|
|
|
|
Bootloader erforderlich ist.\\
|
|
|
|
Bootloader erforderlich ist.\\
|
|
|
|
Weitere Informationen finden Sie unter Documentation/admin-guide/efi-stub.rst.
|
|
|
|
Weitere Informationen finden Sie unter Documentation/admin-guide/efi-stub.rst.
|
|
|
|
|
|
|
|
\english{This kernel feature allows a bzImage to be loaded directly by EFI firmware
|
|
|
|
|
|
|
|
without the use of a bootloader.\\
|
|
|
|
|
|
|
|
See \texttt{Documentation/admin-guide/efi-stub.rst} for more information.}
|
|
|
|
|
|
|
|
\note{Y, nur, wenn Sie den Kernel direkt als EFI-Binary booten und nicht mit grub}
|
|
|
|
|
|
|
|
|
|
|
|
\subparagraph{EFI handover protocol (DEPRECATED)}$~$\\
|
|
|
|
\paragraph{EFI handover protocol (DEPRECATED)}$~$\\
|
|
|
|
CONFIG\_EFI\_STUB [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_EFI\_STUB \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
(EFI-Übergabeprotokoll (VERALTET))\\
|
|
|
|
(EFI-Übergabeprotokoll (VERALTET))\\
|
|
|
|
Wählen Sie dies, um Unterstützung für das veraltete EFI-Handover-Protokoll zu erhalten, das alternative
|
|
|
|
Wählen Sie dies, um Unterstützung für das veraltete EFI-Handover-Protokoll zu erhalten, das alternative
|
|
|
|
Einstiegspunkte in den EFI-Stub definiert. Dies ist eine Praxis, die keine Grundlage in der UEFI-Spezifikation
|
|
|
|
Einstiegspunkte in den EFI-Stub definiert. Dies ist eine Praxis, die keine Grundlage in der UEFI-Spezifikation
|
|
|
|
@@ -967,49 +1128,96 @@ und initrd erfordert, und wo im Speicher diese Assets geladen werden können.\\
|
|
|
|
Im Zweifelsfall sagen Sie Y. Auch wenn die entsprechende Unterstützung im Upstream-GRUB oder anderen
|
|
|
|
Im Zweifelsfall sagen Sie Y. Auch wenn die entsprechende Unterstützung im Upstream-GRUB oder anderen
|
|
|
|
Bootloadern nicht vorhanden ist, bauen die meisten Distros GRUB mit zahlreichen Downstream-Patches und können
|
|
|
|
Bootloadern nicht vorhanden ist, bauen die meisten Distros GRUB mit zahlreichen Downstream-Patches und können
|
|
|
|
sich daher auf das Handover-Protokoll verlassen.
|
|
|
|
sich daher auf das Handover-Protokoll verlassen.
|
|
|
|
|
|
|
|
\english{Select this in order to include support for the deprecated EFI handover protocol,
|
|
|
|
|
|
|
|
which defines alternative entry points into the EFI stub.
|
|
|
|
|
|
|
|
This is a practice that has no basis in the UEFI specification, and requires a priori knowledge
|
|
|
|
|
|
|
|
on the part of the bootloader about Linux/x86 specific ways of passing the command line and initrd,
|
|
|
|
|
|
|
|
and where in memory those assets may be loaded.\\
|
|
|
|
|
|
|
|
If in doubt, say Y. Even though the corresponding support is not present in upstream GRUB or
|
|
|
|
|
|
|
|
other bootloaders, most distros build GRUB with numerous downstream patches applied,
|
|
|
|
|
|
|
|
and may rely on the handover protocol as as result.}
|
|
|
|
|
|
|
|
\note{Ein Versuch wäre es wert, das \glqq Handover-Protokoll\grqq{} zu deaktivieren, da es obsolet wurde.}
|
|
|
|
|
|
|
|
|
|
|
|
\subparagraph{EFI mixed-mode support}$~$\\
|
|
|
|
\paragraph{EFI mixed-mode support}$~$\\
|
|
|
|
CONFIG\_EFI\_MIXED [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_EFI\_MIXED \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
Wenn Sie diese Funktion aktivieren, kann ein 64-Bit-Kernel auf einer 32-Bit-Firmware gebootet werden,
|
|
|
|
Wenn Sie diese Funktion aktivieren, kann ein 64-Bit-Kernel auf einer 32-Bit-Firmware gebootet werden,
|
|
|
|
vorausgesetzt, Ihre CPU unterstützt den 64-Bit-Modus.\\
|
|
|
|
vorausgesetzt, Ihre CPU unterstützt den 64-Bit-Modus.\\
|
|
|
|
Beachten Sie, dass es nicht möglich ist, einen Mixed-Mode-fähigen Kernel über den EFI-Boot-Stub zu
|
|
|
|
Beachten Sie, dass es nicht möglich ist, einen Mixed-Mode-fähigen Kernel über den EFI-Boot-Stub zu
|
|
|
|
booten -- es muss ein Bootloader verwendet werden, der das EFI-Handover-Protokoll unterstützt.\\
|
|
|
|
booten -- es muss ein Bootloader verwendet werden, der das EFI-Handover-Protokoll unterstützt.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N.
|
|
|
|
|
|
|
|
\english{Enabling this feature allows a 64-bit kernel to be booted on a 32-bit firmware,
|
|
|
|
|
|
|
|
provided that your CPU supports 64-bit mode.\\
|
|
|
|
|
|
|
|
Note that it is not possible to boot a mixed-mode enabled kernel via the EFI boot stub -- a
|
|
|
|
|
|
|
|
bootloader that supports the EFI handover protocol must be used.\\
|
|
|
|
|
|
|
|
If unsure, say N.}
|
|
|
|
|
|
|
|
\note{Nur auf alter Apple-Hardware relevant, deshalb N.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{Enable EFI fake memory map}$~$\\
|
|
|
|
{\color{gray}
|
|
|
|
|
|
|
|
\subsubsection*{Enable EFI fake memory map \tiny{abgeschafft seit 6.11}}
|
|
|
|
CONFIG\_EFI\_FAKE\_MEMMAP [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_EFI\_FAKE\_MEMMAP [=n] \textbf{[N]}\\
|
|
|
|
Wenn Sie hier Y angeben, wird die Boot-Option \texttt{efi\_fake\_mem} aktiviert.
|
|
|
|
Wenn Sie hier Y angeben, wird die Boot-Option \texttt{efi\_fake\_mem} aktiviert.
|
|
|
|
Durch Angabe dieses Parameters können Sie einem bestimmten Speicherbereich beliebige Attribute hinzufügen,
|
|
|
|
Durch Angabe dieses Parameters können Sie einem bestimmten Speicherbereich beliebige Attribute hinzufügen,
|
|
|
|
indem Sie die ursprüngliche (von der Firmware bereitgestellte) EFI-Memmap aktualisieren.
|
|
|
|
indem Sie die ursprüngliche (von der Firmware bereitgestellte) EFI-Memmap aktualisieren.
|
|
|
|
Dies ist nützlich für das Debugging von EFI-Memmap-bezogenen Funktionen, z.\,B. Address Range Mirroring.
|
|
|
|
Dies ist nützlich für das Debugging von EFI-Memmap-bezogenen Funktionen, z.\,B. Address Range Mirroring.
|
|
|
|
|
|
|
|
\english{Saying Y here will enable ``efi\_fake\_mem'' boot option. By specifying this parameter,
|
|
|
|
|
|
|
|
you can add arbitrary attribute to specific memory range by updating original (firmware provided) EFI memmap.
|
|
|
|
|
|
|
|
This is useful for debugging of EFI memmap related feature, e.g. Address Range Mirroring feature.}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Timer frequency () \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
\subsubsection{Export EFI runtime maps to sysfs {\tiny seit 6.2}}
|
|
|
|
|
|
|
|
CONFIG\_EFI\_RUNTIME\_MAP [=y] \textbf{[Y]}\\
|
|
|
|
|
|
|
|
Exportieren Sie EFI-Laufzeitspeicherbereiche nach \texttt{/sys/firmware/efi/runtime-map}.
|
|
|
|
|
|
|
|
Diese Speichermap wird vom 2. Kernel benötigt, um virtuelle EFI-Mappings nach kexec einzurichten,
|
|
|
|
|
|
|
|
aber sie kann auch für Debugging-Zwecke verwendet werden.\\
|
|
|
|
|
|
|
|
Siehe auch \texttt{Documentation/ABI/testing/sysfs-firmware-efi-runtime-map}.
|
|
|
|
|
|
|
|
\english{Export EFI runtime memory regions to \texttt{/sys/firmware/efi/runtime-map}.
|
|
|
|
|
|
|
|
That memory map is required by the 2nd kernel to set up EFI virtual mappings after kexec,
|
|
|
|
|
|
|
|
but can also be used for debugging purposes.\\
|
|
|
|
|
|
|
|
See also \texttt{Documentation/ABI/testing/sysfs-firmware-efi-runtime-map}.}
|
|
|
|
|
|
|
|
\note{Kann nicht deaktiviert werden, wenn kexec und EFI runtime service eingeschaltet ist.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Timer frequency () \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
Ermöglicht die Konfiguration der Timer-Frequenz. Es ist üblich, den Timer-Interrupt mit 1000 Hz laufen
|
|
|
|
Ermöglicht die Konfiguration der Timer-Frequenz. Es ist üblich, den Timer-Interrupt mit 1000 Hz laufen
|
|
|
|
zu lassen, aber 100 Hz kann für Server und NUMA-Systeme vorteilhafter sein, die keine schnelle Reaktion
|
|
|
|
zu lassen, aber 100 Hz kann für Server und NUMA-Systeme vorteilhafter sein, die keine schnelle Reaktion
|
|
|
|
für die Benutzerinteraktion benötigen und bei denen es zu Buskonflikten und Cacheline-Bounches als Folge
|
|
|
|
für die Benutzerinteraktion benötigen und bei denen es zu Buskonflikten und Cacheline-Bounches als Folge
|
|
|
|
von Timer-Interrupts kommen kann. Beachten Sie, dass der Timer-Interrupt in einer SMP-Umgebung auf jedem
|
|
|
|
von Timer-Interrupts kommen kann. Beachten Sie, dass der Timer-Interrupt in einer SMP-Umgebung auf jedem
|
|
|
|
Prozessor auftritt, was zu NR\_CPUS * HZ Anzahl der Timer-Interrupts pro Sekunde führt.
|
|
|
|
Prozessor auftritt, was zu NR\_CPUS * HZ Anzahl der Timer-Interrupts pro Sekunde führt.
|
|
|
|
|
|
|
|
\note{\qty{100}{\hertz} für Server, \qty{300}{\hertz} für Desktops,
|
|
|
|
|
|
|
|
\qty{1000}{\hertz} für Anforderungen mit niedrigen Latenzzeiten}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{100~Hz}$~$\\
|
|
|
|
\subsubsection{100~Hz}
|
|
|
|
CONFIG\_HZ\_100 [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_HZ\_100 [=n] \textbf{[N]}\\
|
|
|
|
100~Hz ist eine typische Wahl für Server, SMP- und NUMA-Systeme mit vielen Prozessoren, die eine
|
|
|
|
\qty{100}{\hertz} ist eine typische Wahl für Server, SMP- und NUMA-Systeme mit vielen Prozessoren, die eine
|
|
|
|
geringere Leistung aufweisen können, wenn zu viele Timer-Interrupts auftreten.
|
|
|
|
geringere Leistung aufweisen können, wenn zu viele Timer-Interrupts auftreten.
|
|
|
|
\paragraph{250~Hz}$~$\\
|
|
|
|
\english{100~Hz is a typical choice for servers, SMP and NUMA systems with lots of processors
|
|
|
|
|
|
|
|
that may show reduced performance if too many timer interrupts are occurring.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{250~Hz}
|
|
|
|
CONFIG\_HZ\_250 [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_HZ\_250 [=n] \textbf{[N]}\\
|
|
|
|
250~Hz ist ein guter Kompromiss, der eine gute Serverleistung ermöglicht und auch auf SMP- und
|
|
|
|
\qty{250}{\hertz} ist ein guter Kompromiss, der eine gute Serverleistung ermöglicht und auch auf SMP- und
|
|
|
|
NUMA-Systemen eine gute interaktive Reaktionsfähigkeit zeigt. Wenn Sie NTSC-Video oder Multimedia
|
|
|
|
NUMA-Systemen eine gute interaktive Reaktionsfähigkeit zeigt. Wenn Sie NTSC-Video oder Multimedia
|
|
|
|
verwenden, wählen Sie stattdessen 300~Hz.
|
|
|
|
verwenden, wählen Sie stattdessen 300~Hz.
|
|
|
|
\paragraph{300~Hz}$~$\\
|
|
|
|
\english{250~Hz is a good compromise choice allowing server performance while also showing
|
|
|
|
|
|
|
|
good interactive responsiveness even on SMP and NUMA systems.
|
|
|
|
|
|
|
|
If you are going to be using NTSC video or multimedia, selected 300Hz instead.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{300~Hz}
|
|
|
|
CONFIG\_HZ\_300 [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_HZ\_300 [=y] \textbf{[Y]}\\
|
|
|
|
300~Hz ist ein guter Kompromiss, der eine gute Serverleistung und gleichzeitig eine gute interaktive
|
|
|
|
\qty{300}{\hertz} ist ein guter Kompromiss, der eine gute Serverleistung und gleichzeitig eine gute interaktive
|
|
|
|
Reaktionsfähigkeit selbst auf SMP- und NUMA-Systemen ermöglicht und sowohl bei PAL- als auch bei
|
|
|
|
Reaktionsfähigkeit selbst auf SMP- und NUMA-Systemen ermöglicht und sowohl bei PAL- als auch bei
|
|
|
|
NTSC-Bildraten für Video- und Multimedia-Arbeiten genau eingehalten wird.
|
|
|
|
NTSC-Bildraten für Video- und Multimedia-Arbeiten genau eingehalten wird.
|
|
|
|
\paragraph{1000~Hz}$~$\\
|
|
|
|
\english{300~Hz is a good compromise choice allowing server performance while also showing
|
|
|
|
CONFIG\_HZ\_1000 [=n] \textbf{[N]}\\
|
|
|
|
good interactive responsiveness even on SMP and NUMA systems and exactly dividing by both PAL and
|
|
|
|
1000~Hz ist die bevorzugte Wahl für Desktop-Systeme und andere Systeme, die schnelle interaktive
|
|
|
|
NTSC frame rates for video and multimedia work.}
|
|
|
|
Reaktionen auf Ereignisse erfordern.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Physical address where the kernel is loaded}
|
|
|
|
\subsubsection{1000~Hz}
|
|
|
|
|
|
|
|
CONFIG\_HZ\_1000 [=n] \textbf{[N]}\\
|
|
|
|
|
|
|
|
\qty{1000}{\hertz} ist die bevorzugte Wahl für Desktop-Systeme und andere Systeme, die schnelle interaktive
|
|
|
|
|
|
|
|
Reaktionen auf Ereignisse erfordern.
|
|
|
|
|
|
|
|
\english{1000~Hz is the preferred choice for desktop systems and other systems requiring
|
|
|
|
|
|
|
|
fast interactive responses to events.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Physical address where the kernel is loaded}
|
|
|
|
CONFIG\_PHYSICAL\_START [=0x1000000] \textbf{[0x1000000]}\\
|
|
|
|
CONFIG\_PHYSICAL\_START [=0x1000000] \textbf{[0x1000000]}\\
|
|
|
|
Dies gibt die physikalische Adresse an, unter der der Kernel geladen wird. Wenn der Kernel nicht verschiebbar ist
|
|
|
|
Dies gibt die physikalische Adresse an, unter der der Kernel geladen wird. Wenn der Kernel nicht verschiebbar ist
|
|
|
|
(CONFIG\_RELOCATABLE=n), dekomprimiert sich bzImage an die oben genannte physikalische Adresse und wird von dort
|
|
|
|
(CONFIG\_RELOCATABLE=n), dekomprimiert sich bzImage an die oben genannte physikalische Adresse und wird von dort
|
|
|
|
@@ -1031,18 +1239,50 @@ erstellen muss. Derselbe Kernel kann als Produktionskernel und als Erfassungsker
|
|
|
|
Option sollte verschwinden, nachdem die Unterstützung von relocatable bzImage eingeführt wurde. Sie ist aber noch
|
|
|
|
Option sollte verschwinden, nachdem die Unterstützung von relocatable bzImage eingeführt wurde. Sie ist aber noch
|
|
|
|
vorhanden, weil es Benutzer gibt, die weiterhin vmlinux für die Dump-Erfassung verwenden. Diese Option sollte im
|
|
|
|
vorhanden, weil es Benutzer gibt, die weiterhin vmlinux für die Dump-Erfassung verwenden. Diese Option sollte im
|
|
|
|
Laufe der Zeit verschwinden. Ändern Sie diese Option nicht, wenn Sie nicht wissen, was Sie tun.
|
|
|
|
Laufe der Zeit verschwinden. Ändern Sie diese Option nicht, wenn Sie nicht wissen, was Sie tun.
|
|
|
|
|
|
|
|
\english{This gives the physical address where the kernel is loaded.\\
|
|
|
|
|
|
|
|
If the kernel is not relocatable (CONFIG\_RELOCATABLE=n) then bzImage will decompress itself
|
|
|
|
|
|
|
|
to above physical address and run from there.
|
|
|
|
|
|
|
|
Otherwise, bzImage will run from the address where it has been loaded by the boot loader.
|
|
|
|
|
|
|
|
The only exception is if it is loaded below the above physical address, in which case
|
|
|
|
|
|
|
|
it will relocate itself there.\\
|
|
|
|
|
|
|
|
In normal kdump cases one does not have to set/change this option as now bzImage can be compiled
|
|
|
|
|
|
|
|
as a completely relocatable image (CONFIG\_RELOCATABLE=y) and be used to load and run from a different address.
|
|
|
|
|
|
|
|
This option is mainly useful for the folks who don't want to use a bzImage for capturing the crash dump
|
|
|
|
|
|
|
|
and want to use a vmlinux instead.
|
|
|
|
|
|
|
|
vmlinux is not relocatable hence a kernel needs to be specifically compiled to run from a specific
|
|
|
|
|
|
|
|
memory area (normally a reserved region) and this option comes handy.\\
|
|
|
|
|
|
|
|
So if you are using bzImage for capturing the crash dump, leave the value here unchanged to 0x1000000 and
|
|
|
|
|
|
|
|
set CONFIG\_RELOCATABLE=y.
|
|
|
|
|
|
|
|
Otherwise if you plan to use vmlinux for capturing the crash dump change this value to start of the
|
|
|
|
|
|
|
|
reserved region. In other words, it can be set based on the ``X'' value as specified in the
|
|
|
|
|
|
|
|
``crashkernel=YM\@XM'' command line boot parameter passed to the panic-ed kernel.
|
|
|
|
|
|
|
|
Please take a look at Documentation/admin-guide/kdump/kdump.rst for more details about crash dumps.\\
|
|
|
|
|
|
|
|
Usage of bzImage for capturing the crash dump is recommended as one does not have to build two kernels.
|
|
|
|
|
|
|
|
Same kernel can be used as production kernel and capture kernel.
|
|
|
|
|
|
|
|
Above option should have gone away after relocatable bzImage support is introduced.
|
|
|
|
|
|
|
|
But it is present because there are users out there who continue to use vmlinux for dump capture.
|
|
|
|
|
|
|
|
This option should go away down the line.\\
|
|
|
|
|
|
|
|
Don't change this unless you know what you are doing.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Build a relocatable kernel}
|
|
|
|
\subsection{Build a relocatable kernel}
|
|
|
|
CONFIG\_RELOCATABLE [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_RELOCATABLE [=y] \textbf{[Y]}\\
|
|
|
|
Dadurch wird ein Kernel-Image erstellt, das die Informationen über den Standortwechsel beibehält, so dass es an
|
|
|
|
Dadurch wird ein Kernel-Image erstellt, das die Informationen über den Standortwechsel beibehält, so dass es an
|
|
|
|
einem anderen Ort als den standardmäßigen 1~MB geladen werden kann.
|
|
|
|
einem anderen Ort als den standardmäßigen \qty{1}{\mega\byte} geladen werden kann.
|
|
|
|
Die Verschiebungen machen das Kernel-Binary etwa 10~\% größer, werden aber zur Laufzeit verworfen.
|
|
|
|
Die Verschiebungen machen das Kernel-Binary etwa \qty{10}{\percent} größer,
|
|
|
|
|
|
|
|
werden aber zur Laufzeit verworfen.
|
|
|
|
Eine Anwendung ist der kexec on panic-Fall, bei dem der Wiederherstellungs-Kernel an einer anderen
|
|
|
|
Eine Anwendung ist der kexec on panic-Fall, bei dem der Wiederherstellungs-Kernel an einer anderen
|
|
|
|
physikalischen Adresse liegen muss als der primäre Kernel.
|
|
|
|
physikalischen Adresse liegen muss als der primäre Kernel.
|
|
|
|
Anmerkung: Wenn CONFIG\_RELOCATABLE=y ist, dann läuft der Kernel von der Adresse aus, an der er geladen wurde,
|
|
|
|
Anmerkung: Wenn CONFIG\_RELOCATABLE=y ist, dann läuft der Kernel von der Adresse aus, an der er geladen wurde,
|
|
|
|
und von der zur Kompilierzeit physische Adresse (CONFIG\_PHYSICAL\_START) als Mindeststandort verwendet.
|
|
|
|
und von der zur Kompilierzeit physische Adresse (CONFIG\_PHYSICAL\_START) als Mindeststandort verwendet.
|
|
|
|
|
|
|
|
\english{This builds a kernel image that retains relocation information so it can be loaded
|
|
|
|
|
|
|
|
someplace besides the default 1MB.\\
|
|
|
|
|
|
|
|
The relocations tend to make the kernel binary about 10\% larger, but are discarded at runtime.\\
|
|
|
|
|
|
|
|
One use is for the kexec on panic case where the recovery kernel must live at a different physical address
|
|
|
|
|
|
|
|
than the primary kernel.\\
|
|
|
|
|
|
|
|
Note: If CONFIG\_RELOCATABLE=y, then the kernel runs from the address it has been loaded at and
|
|
|
|
|
|
|
|
the compile time physical address (CONFIG\_PHYSICAL\_START) is used as the minimum location.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{Randomize the address of the kernel image (KASLR)}$~$\\
|
|
|
|
\subsubsection{Randomize the address of the kernel image (KASLR)}
|
|
|
|
CONFIG\_RANDOMIZE\_BASE [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_RANDOMIZE\_BASE [=y] \textbf{[Y]}\\
|
|
|
|
Zur Unterstützung der Kernel Address Space Layout Randomization (KASLR) werden
|
|
|
|
Zur Unterstützung der Kernel Address Space Layout Randomization (KASLR) werden
|
|
|
|
die physische Adresse, an der das Kernel-Image dekomprimiert wird, und
|
|
|
|
die physische Adresse, an der das Kernel-Image dekomprimiert wird, und
|
|
|
|
@@ -1053,7 +1293,7 @@ Bei 64-Bit werden die physische und die virtuelle Adresse des Kernels getrennt r
|
|
|
|
Die physische Adresse liegt irgendwo zwischen 16~MB und dem Anfang des physischen Speichers
|
|
|
|
Die physische Adresse liegt irgendwo zwischen 16~MB und dem Anfang des physischen Speichers
|
|
|
|
(bis zu 64~TB). Die virtuelle Adresse wird von 16~MB bis zu 1~GB randomisiert
|
|
|
|
(bis zu 64~TB). Die virtuelle Adresse wird von 16~MB bis zu 1~GB randomisiert
|
|
|
|
(9 Bits Entropie).
|
|
|
|
(9 Bits Entropie).
|
|
|
|
Beachten Sie, dass dadurch auchec der für Kernel-Module verfügbare Speicherplatz
|
|
|
|
Beachten Sie, dass dadurch auch der für Kernel-Module verfügbare Speicherplatz
|
|
|
|
von \qty{1.5}{\giga\byte} auf \qty{1}{\giga\byte} reduziert wird.
|
|
|
|
von \qty{1.5}{\giga\byte} auf \qty{1}{\giga\byte} reduziert wird.
|
|
|
|
Bei 32-Bit werden die physischen und virtuellen Adressen des Kernels zusammen
|
|
|
|
Bei 32-Bit werden die physischen und virtuellen Adressen des Kernels zusammen
|
|
|
|
randomisiert. Sie werden von 16~MB bis zu 512~MB randomisiert (8 Bits Entropie).\\
|
|
|
|
randomisiert. Sie werden von 16~MB bis zu 512~MB randomisiert (8 Bits Entropie).\\
|
|
|
|
@@ -1066,8 +1306,26 @@ Kernel mit 2~GB-Adressierung aufgebaut ist und dass PHYSICAL\_ALIGN mindestens
|
|
|
|
Infolgedessen sind theoretisch nur 10 Bits Entropie möglich, aber die
|
|
|
|
Infolgedessen sind theoretisch nur 10 Bits Entropie möglich, aber die
|
|
|
|
Implementierungen sind aufgrund des Speicherlayouts noch weiter eingeschränkt.\\
|
|
|
|
Implementierungen sind aufgrund des Speicherlayouts noch weiter eingeschränkt.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
|
|
|
|
\english{In support of Kernel Address Space Layout Randomization (KASLR), this randomizes
|
|
|
|
|
|
|
|
the physical address at which the kernel image is decompressed and the virtual address where
|
|
|
|
|
|
|
|
the kernel image is mapped, as a security feature that deters exploit attempts relying on knowledge
|
|
|
|
|
|
|
|
of the location of kernel code internals.\\
|
|
|
|
|
|
|
|
On 64-bit, the kernel physical and virtual addresses are randomized separately.
|
|
|
|
|
|
|
|
The physical address will be anywhere between 16MB and the top of physical memory (up to 64TB).
|
|
|
|
|
|
|
|
The virtual address will be randomized from 16MB up to 1GB (9 bits of entropy).
|
|
|
|
|
|
|
|
Note that this also reduces the memory space available to kernel modules from 1.5GB to 1GB.\\
|
|
|
|
|
|
|
|
On 32-bit, the kernel physical and virtual addresses are randomized together.
|
|
|
|
|
|
|
|
They will be randomized from 16MB up to 512MB (8 bits of entropy).\\
|
|
|
|
|
|
|
|
Entropy is generated using the RDRAND instruction if it is supported.
|
|
|
|
|
|
|
|
If RDTSC is supported, its value is mixed into the entropy pool as well.
|
|
|
|
|
|
|
|
If neither RDRAND nor RDTSC are supported, then entropy is read from the i8254 timer.
|
|
|
|
|
|
|
|
The usable entropy is limited by the kernel being built using 2GB addressing, and that PHYSICAL\_ALIGN
|
|
|
|
|
|
|
|
must be at a minimum of 2MB. As a result, only 10 bits of entropy are theoretically possible,
|
|
|
|
|
|
|
|
but the implementations are further limited due to memory layouts.\\
|
|
|
|
|
|
|
|
If unsure, say Y.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Alignment value to which kernel should be aligned}
|
|
|
|
%3.48
|
|
|
|
|
|
|
|
\subsection{Alignment value to which kernel should be aligned}
|
|
|
|
CONFIG\_PHYSICAL\_ALIGN [=0x200000] \textbf{[0x200000]}\\
|
|
|
|
CONFIG\_PHYSICAL\_ALIGN [=0x200000] \textbf{[0x200000]}\\
|
|
|
|
Dieser Wert legt die Ausrichtungsbeschränkungen für die physikalische Adresse fest, von der der Kernel geladen und
|
|
|
|
Dieser Wert legt die Ausrichtungsbeschränkungen für die physikalische Adresse fest, von der der Kernel geladen und
|
|
|
|
ausgeführt wird. Der Kernel wird für eine Adresse kompiliert, die den obigen Ausrichtungsbeschränkungen entspricht.
|
|
|
|
ausgeführt wird. Der Kernel wird für eine Adresse kompiliert, die den obigen Ausrichtungsbeschränkungen entspricht.
|
|
|
|
@@ -1081,22 +1339,55 @@ Ausrichtungsbeschränkungen. Das Endergebnis ist also, dass der Kernel von einer
|
|
|
|
die die oben genannten Ausrichtungsbeschränkungen erfüllt.
|
|
|
|
die die oben genannten Ausrichtungsbeschränkungen erfüllt.
|
|
|
|
Bei 32-Bit muss dieser Wert ein Vielfaches von 0x2000 sein. Bei 64-Bit muss dieser Wert ein Vielfaches von 0x200000 sein.\\
|
|
|
|
Bei 32-Bit muss dieser Wert ein Vielfaches von 0x2000 sein. Bei 64-Bit muss dieser Wert ein Vielfaches von 0x200000 sein.\\
|
|
|
|
Ändern Sie dies nicht, wenn Sie nicht wissen, was Sie tun.
|
|
|
|
Ändern Sie dies nicht, wenn Sie nicht wissen, was Sie tun.
|
|
|
|
|
|
|
|
\english{This value puts the alignment restrictions on physical address where kernel is loaded and run from.
|
|
|
|
|
|
|
|
Kernel is compiled for an address which meets above alignment restriction.\\
|
|
|
|
|
|
|
|
If bootloader loads the kernel at a non-aligned address and CONFIG\_RELOCATABLE is set, kernel will move
|
|
|
|
|
|
|
|
itself to nearest address aligned to above value and run from there.\\
|
|
|
|
|
|
|
|
If bootloader loads the kernel at a non-aligned address and CONFIG\_RELOCATABLE is not set,
|
|
|
|
|
|
|
|
kernel will ignore the run time load address and decompress itself to the address it has been compiled
|
|
|
|
|
|
|
|
for and run from there. The address for which kernel is compiled already meets above alignment restrictions.
|
|
|
|
|
|
|
|
Hence the end result is that kernel runs from a physical address meeting above alignment restrictions.\\
|
|
|
|
|
|
|
|
On 32-bit this value must be a multiple of 0x2000. On 64-bit this value must be a multiple of 0x200000.\\
|
|
|
|
|
|
|
|
Don't change this unless you know what you are doing.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Randomize the kernel memory sections}
|
|
|
|
\subsection{Randomize the kernel memory sections}
|
|
|
|
CONFIG\_RANDOMIZE\_MEMORY [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_RANDOMIZE\_MEMORY [=y] \textbf{[Y]}\\
|
|
|
|
Randomisiert die virtuelle Basisadresse von Kernel-Speicherabschnitten (physische Speicherzuordnung, vmalloc \& vmemmap).
|
|
|
|
Randomisiert die virtuelle Basisadresse von Kernel-Speicherabschnitten (physische Speicherzuordnung, vmalloc \& vmemmap).
|
|
|
|
Dieses Sicherheitsmerkmal macht Exploits, die sich auf vorhersehbare Speicherplätze verlassen, weniger zuverlässig. Die Reihenfolge der
|
|
|
|
Dieses Sicherheitsmerkmal macht Exploits, die sich auf vorhersehbare Speicherplätze verlassen, weniger zuverlässig. Die Reihenfolge der
|
|
|
|
Zuweisungen bleibt unverändert. Entropie wird auf die gleiche Weise wie bei RANDOMIZE\_BASE erzeugt. Aktuelle Implementierung
|
|
|
|
Zuweisungen bleibt unverändert. Entropie wird auf die gleiche Weise wie bei RANDOMIZE\_BASE erzeugt. Aktuelle Implementierung
|
|
|
|
in der optimalen Konfiguration haben im Durchschnitt 30.000 verschiedene mögliche virtuelle Adressen für jeden Speicherabschnitt.\\
|
|
|
|
in der optimalen Konfiguration haben im Durchschnitt 30.000 verschiedene mögliche virtuelle Adressen für jeden Speicherabschnitt.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
Wenn Sie unsicher sind, sagen Sie Y.
|
|
|
|
|
|
|
|
\english{Randomizes the base virtual address of kernel memory sections
|
|
|
|
|
|
|
|
(physical memory mapping, vmalloc \& vmemmap).
|
|
|
|
|
|
|
|
This security feature makes exploits relying on predictable memory locations less reliable.\\
|
|
|
|
|
|
|
|
The order of allocations remains unchanged. Entropy is generated in the same way as RANDOMIZE\_BASE.
|
|
|
|
|
|
|
|
Current implementation in the optimal configuration have in average 30,000 different possible virtual
|
|
|
|
|
|
|
|
addresses for each memory section.\\
|
|
|
|
|
|
|
|
If unsure, say Y.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Linear Address Masking support}
|
|
|
|
{\color{gray}
|
|
|
|
|
|
|
|
\subsubsection*{Linear Address Masking support}
|
|
|
|
CONFIG\_ADDRESS\_MASKING [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_ADDRESS\_MASKING [=y] \textbf{[Y]}\\
|
|
|
|
Linear Address Masking (LAM) ändert die Prüfung, die auf lineare 64-Bit-Adressen angewandt wird, und ermöglicht der Software
|
|
|
|
Linear Address Masking (LAM) ändert die Prüfung, die auf lineare 64-Bit-Adressen angewandt wird, und ermöglicht der Software
|
|
|
|
die nicht übersetzten Adressbits für Metadaten zu verwenden.\\
|
|
|
|
die nicht übersetzten Adressbits für Metadaten zu verwenden.\\
|
|
|
|
Diese Fähigkeit kann für die effiziente Implementierung von Adress-Sanitizern (ASAN) und für Optimierungen in JITs genutzt werden.
|
|
|
|
Diese Fähigkeit kann für die effiziente Implementierung von Adress-Sanitizern (ASAN) und für Optimierungen in JITs genutzt werden.
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Disable the 32-bit vDSO (needed for glibc 2.3.3)}
|
|
|
|
%3.50
|
|
|
|
|
|
|
|
\subsection{Physical memory mapping padding}
|
|
|
|
|
|
|
|
CONFIG\_RANDOMIZE\_MEMORY\_PHYSICAL\_PADDING [=0xa] \textbf{[0xA]}\\
|
|
|
|
|
|
|
|
Definieren Sie die Auffüllung in Terabytes, die während der Kernel-Speicherrandomisierung zur
|
|
|
|
|
|
|
|
vorhandenen physischen Speichergröße hinzugefügt wird.
|
|
|
|
|
|
|
|
Dies ist nützlich für die Unterstützung von Speicher-Hotplug, verringert aber die für die
|
|
|
|
|
|
|
|
Adress-Randomisierung verfügbare Entropie.\\
|
|
|
|
|
|
|
|
Wenn Sie unsicher sind, belassen Sie es beim Standardwert.
|
|
|
|
|
|
|
|
\english{Define the padding in terabytes added to the existing physical
|
|
|
|
|
|
|
|
memory size during kernel memory randomization.
|
|
|
|
|
|
|
|
It is useful for memory hotplug support but reduces the entropy available for address randomization.\\
|
|
|
|
|
|
|
|
If unsure, leave at the default value.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%3.51
|
|
|
|
|
|
|
|
\subsection{Disable the 32-bit vDSO (needed for glibc 2.3.3)}
|
|
|
|
CONFIG\_COMPAT\_VDSO [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_COMPAT\_VDSO [=n] \textbf{[N]}\\
|
|
|
|
Bestimmte fehlerhafte Versionen der glibc stürzen ab, wenn sie mit einem 32-Bit vDSO konfrontiert werden, das nicht auf die in
|
|
|
|
Bestimmte fehlerhafte Versionen der glibc stürzen ab, wenn sie mit einem 32-Bit vDSO konfrontiert werden, das nicht auf die in
|
|
|
|
der Segmenttabelle angegebene Adresse abgebildet ist.
|
|
|
|
der Segmenttabelle angegebene Adresse abgebildet ist.
|
|
|
|
@@ -1111,8 +1402,18 @@ Wenn Sie hier Y sagen, wird der Standardwert der Bootoption vdso32 von 1 auf 0 g
|
|
|
|
32-Bit vDSO vollständig deaktiviert wird. Dies umgeht zwar den Glibc-Bug, beeinträchtigt aber die Leistung.\\
|
|
|
|
32-Bit vDSO vollständig deaktiviert wird. Dies umgeht zwar den Glibc-Bug, beeinträchtigt aber die Leistung.\\
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N: Wenn Sie Ihren eigenen Kernel kompilieren, ist es unwahrscheinlich,
|
|
|
|
Wenn Sie unsicher sind, sagen Sie N: Wenn Sie Ihren eigenen Kernel kompilieren, ist es unwahrscheinlich,
|
|
|
|
dass Sie eine fehlerhafte Version der glibc verwenden.
|
|
|
|
dass Sie eine fehlerhafte Version der glibc verwenden.
|
|
|
|
|
|
|
|
\english{Certain buggy versions of glibc will crash if they are presented with a 32-bit vDSO that
|
|
|
|
|
|
|
|
is not mapped at the address indicated in its segment table.\\
|
|
|
|
|
|
|
|
The bug was introduced by f866314b89d56845f55e6f365e18b31ec978ec3a and fixed\\
|
|
|
|
|
|
|
|
by 3b3ddb4f7db98ec9e912ccdf54d35df4aa30e04a and 49ad572a70b8aeb91e57483a11dd1b77e31c4468.
|
|
|
|
|
|
|
|
Glibc 2.3.3 is the only released version with the bug, but OpenSUSE~9 contains a buggy ``glibc 2.3.2''.\\
|
|
|
|
|
|
|
|
The symptom of the bug is that everything crashes on startup, saying:
|
|
|
|
|
|
|
|
dl\_main:\\Assertion \texttt{(void *) ph$->$p\_vaddr == \_rtld\_local.\_dl\_sysinfo\_dso} failed!\\
|
|
|
|
|
|
|
|
Saying Y here changes the default value of the vdso32 boot option from 1 to 0, which turns off
|
|
|
|
|
|
|
|
the 32-bit vDSO entirely. This works around the glibc bug but hurts performance.\\
|
|
|
|
|
|
|
|
If unsure, say N: if you are compiling your own kernel, you are unlikely to be using a buggy version of glibc.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{vsyscall table for legacy applications () \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
\subsection{vsyscall table for legacy applications () \texorpdfstring{$\rightarrow$}{->}}
|
|
|
|
Legacy-Benutzercode, der nicht weiß, wie er den vDSO finden kann, erwartet, dass er drei Syscalls ausgeben kann,
|
|
|
|
Legacy-Benutzercode, der nicht weiß, wie er den vDSO finden kann, erwartet, dass er drei Syscalls ausgeben kann,
|
|
|
|
indem er feste Adressen im Kernel-Bereich aufruft.
|
|
|
|
indem er feste Adressen im Kernel-Bereich aufruft.
|
|
|
|
Da dieser Ort nicht mit ASLR randomisiert wird, kann er dazu verwendet werden, die Ausnutzung von Sicherheitslücken
|
|
|
|
Da dieser Ort nicht mit ASLR randomisiert wird, kann er dazu verwendet werden, die Ausnutzung von Sicherheitslücken
|
|
|
|
@@ -1122,22 +1423,39 @@ Diese Einstellung kann zur Boot-Zeit über den Kernel-Befehlszeilenparameter
|
|
|
|
Der Emulationsmodus ist veraltet und kann nur noch über die Kernel-Befehlszeile aktiviert werden.
|
|
|
|
Der Emulationsmodus ist veraltet und kann nur noch über die Kernel-Befehlszeile aktiviert werden.
|
|
|
|
Auf einem System mit ausreichend aktueller glibc (2.14 oder neuer) und ohne statische Binärdateien können Sie
|
|
|
|
Auf einem System mit ausreichend aktueller glibc (2.14 oder neuer) und ohne statische Binärdateien können Sie
|
|
|
|
\glqq None\grqq{} ohne Leistungseinbußen verwenden um die Sicherheit zu verbessern.\\
|
|
|
|
\glqq None\grqq{} ohne Leistungseinbußen verwenden um die Sicherheit zu verbessern.\\
|
|
|
|
Wenn Sie unsicher sind, wählen Sie \glqq Nur Ausführung emulieren\glqq{}.
|
|
|
|
Wenn Sie unsicher sind, wählen Sie \glqq Nur Ausführung emulieren\grqq{}.
|
|
|
|
|
|
|
|
\english{Legacy user code that does not know how to find the vDSO expects to be able to issue
|
|
|
|
|
|
|
|
three syscalls by calling fixed addresses in kernel space.
|
|
|
|
|
|
|
|
Since this location is not randomized with ASLR, it can be used to assist security vulnerability exploitation.\\
|
|
|
|
|
|
|
|
This setting can be changed at boot time via the kernel command line parameter
|
|
|
|
|
|
|
|
vsyscall=[emulate|xonly|none].
|
|
|
|
|
|
|
|
Emulate mode is deprecated and can only be enabled using the kernel command line.\\
|
|
|
|
|
|
|
|
On a system with recent enough glibc (2.14 or newer) and no static binaries, you can say None
|
|
|
|
|
|
|
|
without a performance penalty to improve security.\\
|
|
|
|
|
|
|
|
If unsure, select ``Emulate execution only''.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{Emulate execution only}$~$\\
|
|
|
|
\subsubsection{Emulate execution only}
|
|
|
|
CONFIG\_LEGACY\_VSYSCALL\_XONLY [=y] \textbf{[Y]}\\
|
|
|
|
CONFIG\_LEGACY\_VSYSCALL\_XONLY [=y] \textbf{[Y]}\\
|
|
|
|
Der Kernel fängt und emuliert Aufrufe in die feste vsyscall-Adresszuordnung und lässt keine Lesezugriffe zu.
|
|
|
|
Der Kernel fängt und emuliert Aufrufe in die feste vsyscall-Adresszuordnung und lässt keine Lesezugriffe zu.
|
|
|
|
Diese Konfiguration wird empfohlen, wenn der Userspace den Legacy-Vsyscall-Bereich verwenden könnte, aber keine
|
|
|
|
Diese Konfiguration wird empfohlen, wenn der Userspace den Legacy-Vsyscall-Bereich verwenden könnte, aber keine
|
|
|
|
Unterstützung für die binäre Instrumentierung von Legacy-Code benötigt wird. Sie entschärft bestimmte Verwendungen
|
|
|
|
Unterstützung für die binäre Instrumentierung von Legacy-Code benötigt wird. Sie entschärft bestimmte Verwendungen
|
|
|
|
des vsyscall-Bereichs als Puffer zur Umgehung von ASLR.
|
|
|
|
des vsyscall-Bereichs als Puffer zur Umgehung von ASLR.
|
|
|
|
|
|
|
|
\english{The kernel traps and emulates calls into the fixed vsyscall address mapping and does not allow reads.
|
|
|
|
|
|
|
|
This configuration is recommended when userspace might use the legacy vsyscall area
|
|
|
|
|
|
|
|
but support for legacy binary instrumentation of legacy code is not needed.
|
|
|
|
|
|
|
|
It mitigates certain uses of the vsyscall area as an ASLR-bypassing buffer.}
|
|
|
|
|
|
|
|
|
|
|
|
\paragraph{None}$~$\\
|
|
|
|
\subsubsection{None}
|
|
|
|
CONFIG\_LEGACY\_VSYSCALL\_NONE [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_LEGACY\_VSYSCALL\_NONE [=n] \textbf{[N]}\\
|
|
|
|
Es wird überhaupt keine vsyscall-Zu\-ordnung geben. Dies eliminiert jegliches Risiko einer ASLR-Um\-ge\-hung
|
|
|
|
Es wird überhaupt keine vsyscall-Zu\-ordnung geben. Dies eliminiert jegliches Risiko einer ASLR-Um\-ge\-hung
|
|
|
|
aufgrund der festen vsyscall-Adressen-Zuordnung. Versuche, die vsyscalls zu verwenden, werden an dmesg gemeldet,
|
|
|
|
aufgrund der festen vsyscall-Adressen-Zuordnung. Versuche, die vsyscalls zu verwenden, werden an dmesg gemeldet,
|
|
|
|
so dass entweder alte oder bösartige Userspace-Programme identifiziert werden können.
|
|
|
|
so dass entweder alte oder bösartige Userspace-Programme identifiziert werden können.
|
|
|
|
|
|
|
|
\english{There will be no vsyscall mapping at all.
|
|
|
|
|
|
|
|
This will eliminate any risk of ASLR bypass due to the vsyscall fixed address mapping.
|
|
|
|
|
|
|
|
Attempts to use the vsyscalls will be reported to dmesg, so that either old or
|
|
|
|
|
|
|
|
malicious userspace programs can be identified.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Built-in kernel command line}
|
|
|
|
\subsection{Built-in kernel command line}
|
|
|
|
CONFIG\_CMDLINE\_BOOL [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_CMDLINE\_BOOL [=n] \textbf{[N]}\\
|
|
|
|
Ermöglicht die Angabe von Boot-Argumenten für den Kernel zur Erstellungszeit. Auf einigen Systemen
|
|
|
|
Ermöglicht die Angabe von Boot-Argumenten für den Kernel zur Erstellungszeit. Auf einigen Systemen
|
|
|
|
(z.\,B. eingebetteten [embedded]) ist es notwendig oder praktisch, einige oder alle Kernel-Boot-Argumente mit
|
|
|
|
(z.\,B. eingebetteten [embedded]) ist es notwendig oder praktisch, einige oder alle Kernel-Boot-Argumente mit
|
|
|
|
@@ -1145,8 +1463,37 @@ dem Kernel selbst bereitzustellen (d.\,h. sich nicht darauf zu verlassen, dass d
|
|
|
|
Um Kommandozeilenargumente in den Kernel zu kompilieren, setzen Sie diese Option auf Y und geben Sie dann
|
|
|
|
Um Kommandozeilenargumente in den Kernel zu kompilieren, setzen Sie diese Option auf Y und geben Sie dann
|
|
|
|
die Boot-Argumente in CONFIG\_CMDLINE ein. Bei Systemen mit voll funktionsfähigen Bootloadern
|
|
|
|
die Boot-Argumente in CONFIG\_CMDLINE ein. Bei Systemen mit voll funktionsfähigen Bootloadern
|
|
|
|
(d.\,h. nicht eingebetteten) sollte diese Option auf N gesetzt bleiben.
|
|
|
|
(d.\,h. nicht eingebetteten) sollte diese Option auf N gesetzt bleiben.
|
|
|
|
|
|
|
|
\english{Allow for specifying boot arguments to the kernel at build time.
|
|
|
|
|
|
|
|
On some systems (e.g. embedded ones), it is necessary or convenient to provide some or all of the
|
|
|
|
|
|
|
|
kernel boot arguments with the kernel itself (that is, to not rely on the boot loader to provide them.)\\
|
|
|
|
|
|
|
|
To compile command line arguments into the kernel, set this option to 'Y', then fill in the
|
|
|
|
|
|
|
|
boot arguments in CONFIG\_CMDLINE.\\
|
|
|
|
|
|
|
|
Systems with fully functional boot loaders (i.e. non-embedded) should leave this option set to 'N'.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Enforce strict size checking for sigaltstack}
|
|
|
|
%3.54
|
|
|
|
|
|
|
|
\subsection{Enable the LDT (local descriptor table)}
|
|
|
|
|
|
|
|
CONFIG\_MODIFY\_LDT\_SYSCALL \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
|
|
|
|
Linux kann es Benutzerprogrammen erlauben, mit dem Systemaufruf modify\_ldt(2)
|
|
|
|
|
|
|
|
eine prozessspezifische x86 Local Descriptor Table (LDT) zu installieren.
|
|
|
|
|
|
|
|
Dies ist erforderlich, um 16-Bit- oder segmentierten Code wie DOSEMU oder einige Wine-Programme auszuführen.
|
|
|
|
|
|
|
|
Sie wird auch von einigen sehr alten Threading-Bibliotheken verwendet.\\
|
|
|
|
|
|
|
|
Das Aktivieren dieser Funktion fügt eine kleine Menge an Overhead für Kontextwechsel hinzu und vergrößert die Angriffsfläche für den Kernel auf niedriger Ebene.
|
|
|
|
|
|
|
|
Durch die Deaktivierung wird der Systemaufruf modify\_ldt(2) entfernt.\\
|
|
|
|
|
|
|
|
Hier \glqq N\grqq{} zu sagen, kann für eingebettete oder Server-Kernel sinnvoll sein.
|
|
|
|
|
|
|
|
\english{Linux can allow user programs to install a per-process x86 Local Descriptor Table (LDT)
|
|
|
|
|
|
|
|
using the modify\_ldt(2) system call.
|
|
|
|
|
|
|
|
This is required to run 16-bit or segmented code such as DOSEMU or some Wine programs.
|
|
|
|
|
|
|
|
It is also used by some very old threading libraries.\\
|
|
|
|
|
|
|
|
Enabling this feature adds a small amount of overhead to context switches and increases
|
|
|
|
|
|
|
|
the low-level kernel attack surface.
|
|
|
|
|
|
|
|
Disabling it removes the modify\_ldt(2) system call.\\
|
|
|
|
|
|
|
|
Saying 'N' here may make sense for embedded or server kernels.}
|
|
|
|
|
|
|
|
\note{Sie können diese Option getrost ausschließen, wenn Sie ein einfacher WINE-Benutzer sind und
|
|
|
|
|
|
|
|
die meisten Ihrer Anwendungen funktionieren, ohne dass Sie etwas am Kernel ändern müssen.
|
|
|
|
|
|
|
|
Aktivieren Sie diese Option nur, wenn Sie über ein WINE-Programm gestolpert sind, das sie benötigt.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%3.55
|
|
|
|
|
|
|
|
\subsection{Enforce strict size checking for sigaltstack}
|
|
|
|
CONFIG\_STRICT\_SIGALTSTACK\_SIZE [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_STRICT\_SIGALTSTACK\_SIZE [=n] \textbf{[N]}\\
|
|
|
|
Aus historischen Gründen ist MINSIGSTKSZ eine Konstante, die mit der AVX512-Unterstützung bereits zu klein wurde.
|
|
|
|
Aus historischen Gründen ist MINSIGSTKSZ eine Konstante, die mit der AVX512-Unterstützung bereits zu klein wurde.
|
|
|
|
Fügen Sie einen Mechanismus hinzu, um die strenge Überprüfung der Sigaltstack-Größe gegen die tatsächliche Größe
|
|
|
|
Fügen Sie einen Mechanismus hinzu, um die strenge Überprüfung der Sigaltstack-Größe gegen die tatsächliche Größe
|
|
|
|
@@ -1155,10 +1502,31 @@ Kernel-Kommandozeilenoption \texttt{strict\_sas\_size} unabhängig von diesem Ko
|
|
|
|
Das Aktivieren dieser Option könnte bestehende Anwendungen zerstören, die einen zu kleinen Sigaltstack zuweisen,
|
|
|
|
Das Aktivieren dieser Option könnte bestehende Anwendungen zerstören, die einen zu kleinen Sigaltstack zuweisen,
|
|
|
|
aber \glq funktionieren\grq{}, weil sie nie ein Signal geliefert bekommen.\\
|
|
|
|
aber \glq funktionieren\grq{}, weil sie nie ein Signal geliefert bekommen.\\
|
|
|
|
Sagen Sie N, wenn Sie diese Prüfung nicht wirklich erzwingen wollen.
|
|
|
|
Sagen Sie N, wenn Sie diese Prüfung nicht wirklich erzwingen wollen.
|
|
|
|
|
|
|
|
\english{For historical reasons MINSIGSTKSZ is a constant which became already too small
|
|
|
|
|
|
|
|
with AVX512 support. Add a mechanism to enforce strict checking of the sigaltstack size against the
|
|
|
|
|
|
|
|
real size of the FPU frame.
|
|
|
|
|
|
|
|
This option enables the check by default.
|
|
|
|
|
|
|
|
It can also be controlled via the kernel command line option \texttt{strict\_sas\_size}
|
|
|
|
|
|
|
|
independent of this config switch.
|
|
|
|
|
|
|
|
Enabling it might break existing applications which allocate a too small sigaltstack but
|
|
|
|
|
|
|
|
\texttt{work} because they never get a signal delivered.\\
|
|
|
|
|
|
|
|
Say 'N' unless you want to really enforce this check.}
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{Kernel Live Patching}
|
|
|
|
|
|
|
|
|
|
|
|
%3.56
|
|
|
|
|
|
|
|
\subsection{Split Lock Detect and Bus Lock Detect support {\tiny seit 6.13}}
|
|
|
|
|
|
|
|
CONFIG\_X86\_BUS\_LOCK\_DETECT \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
|
|
|
|
|
|
|
Aktivieren der Funktionen Split Lock Detect und Bus Lock Detect.\\
|
|
|
|
|
|
|
|
Siehe $<$file:Documentation/arch/x86/buslock.rst$>$ für weitere Informationen.
|
|
|
|
|
|
|
|
\english{Enable Split Lock Detect and Bus Lock Detect functionalities.\\
|
|
|
|
|
|
|
|
See $<$file:Documentation/arch/x86/buslock.rst$>$ for more information.}
|
|
|
|
|
|
|
|
\note{Testweise schalten wir das vorerst ab.}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{\color{gray}
|
|
|
|
|
|
|
|
\subsection*{Kernel Live Patching}
|
|
|
|
CONFIG\_LIVEPATCH [=n] \textbf{[N]}\\
|
|
|
|
CONFIG\_LIVEPATCH [=n] \textbf{[N]}\\
|
|
|
|
Geben Sie hier Y an, wenn Sie Kernel-Live-Patching unterstützen wollen. Diese Option hat keine Auswirkungen auf die
|
|
|
|
Geben Sie hier Y an, wenn Sie Kernel-Live-Patching unterstützen wollen. Diese Option hat keine Auswirkungen auf die
|
|
|
|
Laufzeit, bis ein Kernel-\glqq Patch\grqq{}-Modul die von dieser Option bereitgestellte Schnittstelle verwendet,
|
|
|
|
Laufzeit, bis ein Kernel-\glqq Patch\grqq{}-Modul die von dieser Option bereitgestellte Schnittstelle verwendet,
|
|
|
|
um einen Patch zu registrieren, was dazu führt, dass Aufrufe der gepatchten Funktionen auf den neuen Funktionscode
|
|
|
|
um einen Patch zu registrieren, was dazu führt, dass Aufrufe der gepatchten Funktionen auf den neuen Funktionscode
|
|
|
|
im Patch-Modul umgeleitet werden.
|
|
|
|
im Patch-Modul umgeleitet werden.
|
|
|
|
|
|
|
|
}
|
|
|
|
|