UPD Mitigation
Dieser Commit ist enthalten in:
+22
-43
@@ -198,8 +198,6 @@ CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|||||||
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
|
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
|
||||||
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
|
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
|
||||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||||
CONFIG_NUMA_BALANCING=y
|
|
||||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
|
||||||
CONFIG_SLAB_OBJ_EXT=y
|
CONFIG_SLAB_OBJ_EXT=y
|
||||||
CONFIG_CGROUPS=y
|
CONFIG_CGROUPS=y
|
||||||
CONFIG_PAGE_COUNTER=y
|
CONFIG_PAGE_COUNTER=y
|
||||||
@@ -351,7 +349,7 @@ CONFIG_HAVE_INTEL_TXT=y
|
|||||||
CONFIG_X86_64_SMP=y
|
CONFIG_X86_64_SMP=y
|
||||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||||
CONFIG_FIX_EARLYCON_MEM=y
|
CONFIG_FIX_EARLYCON_MEM=y
|
||||||
CONFIG_PGTABLE_LEVELS=5
|
CONFIG_PGTABLE_LEVELS=4
|
||||||
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
|
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -372,12 +370,14 @@ CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
|
|||||||
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||||
# CONFIG_HYPERVISOR_GUEST is not set
|
# CONFIG_HYPERVISOR_GUEST is not set
|
||||||
# CONFIG_MK8 is not set
|
# CONFIG_MK8 is not set
|
||||||
CONFIG_MPSC=y
|
# CONFIG_MPSC is not set
|
||||||
# CONFIG_MCORE2 is not set
|
CONFIG_MCORE2=y
|
||||||
# CONFIG_MATOM is not set
|
# CONFIG_MATOM is not set
|
||||||
# CONFIG_GENERIC_CPU is not set
|
# CONFIG_GENERIC_CPU is not set
|
||||||
CONFIG_X86_INTERNODE_CACHE_SHIFT=7
|
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
|
||||||
CONFIG_X86_L1_CACHE_SHIFT=7
|
CONFIG_X86_L1_CACHE_SHIFT=6
|
||||||
|
CONFIG_X86_INTEL_USERCOPY=y
|
||||||
|
CONFIG_X86_USE_PPRO_CHECKSUM=y
|
||||||
CONFIG_X86_P6_NOP=y
|
CONFIG_X86_P6_NOP=y
|
||||||
CONFIG_X86_TSC=y
|
CONFIG_X86_TSC=y
|
||||||
CONFIG_X86_HAVE_PAE=y
|
CONFIG_X86_HAVE_PAE=y
|
||||||
@@ -414,39 +414,33 @@ CONFIG_X86_MCE=y
|
|||||||
# CONFIG_X86_MCELOG_LEGACY is not set
|
# CONFIG_X86_MCELOG_LEGACY is not set
|
||||||
CONFIG_X86_MCE_INTEL=y
|
CONFIG_X86_MCE_INTEL=y
|
||||||
CONFIG_X86_MCE_THRESHOLD=y
|
CONFIG_X86_MCE_THRESHOLD=y
|
||||||
CONFIG_X86_MCE_INJECT=m
|
# CONFIG_X86_MCE_INJECT is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Performance monitoring
|
# Performance monitoring
|
||||||
#
|
#
|
||||||
CONFIG_PERF_EVENTS_INTEL_UNCORE=m
|
# CONFIG_PERF_EVENTS_INTEL_UNCORE is not set
|
||||||
CONFIG_PERF_EVENTS_INTEL_RAPL=m
|
# CONFIG_PERF_EVENTS_INTEL_RAPL is not set
|
||||||
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
|
# CONFIG_PERF_EVENTS_INTEL_CSTATE is not set
|
||||||
# end of Performance monitoring
|
# end of Performance monitoring
|
||||||
|
|
||||||
# CONFIG_X86_16BIT is not set
|
|
||||||
# CONFIG_X86_VSYSCALL_EMULATION is not set
|
# CONFIG_X86_VSYSCALL_EMULATION is not set
|
||||||
CONFIG_X86_IOPL_IOPERM=y
|
CONFIG_X86_IOPL_IOPERM=y
|
||||||
CONFIG_MICROCODE=y
|
CONFIG_MICROCODE=y
|
||||||
# CONFIG_MICROCODE_LATE_LOADING is not set
|
# CONFIG_MICROCODE_LATE_LOADING is not set
|
||||||
CONFIG_X86_MSR=y
|
CONFIG_X86_MSR=y
|
||||||
CONFIG_X86_CPUID=y
|
CONFIG_X86_CPUID=y
|
||||||
CONFIG_X86_5LEVEL=y
|
# CONFIG_X86_5LEVEL is not set
|
||||||
CONFIG_X86_DIRECT_GBPAGES=y
|
CONFIG_X86_DIRECT_GBPAGES=y
|
||||||
CONFIG_X86_CPA_STATISTICS=y
|
# CONFIG_X86_CPA_STATISTICS is not set
|
||||||
CONFIG_NUMA=y
|
# CONFIG_NUMA is not set
|
||||||
CONFIG_AMD_NUMA=y
|
|
||||||
CONFIG_X86_64_ACPI_NUMA=y
|
|
||||||
CONFIG_NODES_SHIFT=10
|
|
||||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||||
# CONFIG_ARCH_MEMORY_PROBE is not set
|
# CONFIG_ARCH_MEMORY_PROBE is not set
|
||||||
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
||||||
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
||||||
CONFIG_X86_PMEM_LEGACY_DEVICE=y
|
# CONFIG_X86_PMEM_LEGACY is not set
|
||||||
CONFIG_X86_PMEM_LEGACY=m
|
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
|
||||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
|
||||||
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
|
|
||||||
CONFIG_MTRR=y
|
CONFIG_MTRR=y
|
||||||
CONFIG_MTRR_SANITIZER=y
|
CONFIG_MTRR_SANITIZER=y
|
||||||
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
|
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
|
||||||
@@ -455,18 +449,18 @@ CONFIG_X86_PAT=y
|
|||||||
CONFIG_X86_UMIP=y
|
CONFIG_X86_UMIP=y
|
||||||
CONFIG_CC_HAS_IBT=y
|
CONFIG_CC_HAS_IBT=y
|
||||||
CONFIG_X86_CET=y
|
CONFIG_X86_CET=y
|
||||||
CONFIG_X86_KERNEL_IBT=y
|
# CONFIG_X86_KERNEL_IBT is not set
|
||||||
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
|
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
|
||||||
CONFIG_ARCH_PKEY_BITS=4
|
CONFIG_ARCH_PKEY_BITS=4
|
||||||
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
|
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
|
||||||
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
|
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
|
||||||
CONFIG_X86_INTEL_TSX_MODE_AUTO=y
|
CONFIG_X86_INTEL_TSX_MODE_AUTO=y
|
||||||
CONFIG_X86_SGX=y
|
# CONFIG_X86_SGX is not set
|
||||||
CONFIG_X86_USER_SHADOW_STACK=y
|
CONFIG_X86_USER_SHADOW_STACK=y
|
||||||
CONFIG_EFI=y
|
CONFIG_EFI=y
|
||||||
CONFIG_EFI_STUB=y
|
CONFIG_EFI_STUB=y
|
||||||
CONFIG_EFI_HANDOVER_PROTOCOL=y
|
# CONFIG_EFI_HANDOVER_PROTOCOL is not set
|
||||||
CONFIG_EFI_MIXED=y
|
# CONFIG_EFI_MIXED is not set
|
||||||
CONFIG_EFI_RUNTIME_MAP=y
|
CONFIG_EFI_RUNTIME_MAP=y
|
||||||
# CONFIG_HZ_100 is not set
|
# CONFIG_HZ_100 is not set
|
||||||
# CONFIG_HZ_250 is not set
|
# CONFIG_HZ_250 is not set
|
||||||
@@ -499,10 +493,10 @@ CONFIG_HOTPLUG_CPU=y
|
|||||||
CONFIG_LEGACY_VSYSCALL_XONLY=y
|
CONFIG_LEGACY_VSYSCALL_XONLY=y
|
||||||
# CONFIG_LEGACY_VSYSCALL_NONE is not set
|
# CONFIG_LEGACY_VSYSCALL_NONE is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
CONFIG_MODIFY_LDT_SYSCALL=y
|
# CONFIG_MODIFY_LDT_SYSCALL is not set
|
||||||
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
|
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
|
||||||
CONFIG_HAVE_LIVEPATCH=y
|
CONFIG_HAVE_LIVEPATCH=y
|
||||||
CONFIG_X86_BUS_LOCK_DETECT=y
|
# CONFIG_X86_BUS_LOCK_DETECT is not set
|
||||||
# end of Processor type and features
|
# end of Processor type and features
|
||||||
|
|
||||||
CONFIG_CC_HAS_NAMED_AS=y
|
CONFIG_CC_HAS_NAMED_AS=y
|
||||||
@@ -576,7 +570,6 @@ CONFIG_ACPI=y
|
|||||||
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
|
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
|
||||||
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
|
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
|
||||||
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
|
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
|
||||||
CONFIG_ACPI_TABLE_LIB=y
|
|
||||||
CONFIG_ACPI_THERMAL_LIB=y
|
CONFIG_ACPI_THERMAL_LIB=y
|
||||||
# CONFIG_ACPI_DEBUGGER is not set
|
# CONFIG_ACPI_DEBUGGER is not set
|
||||||
CONFIG_ACPI_SPCR_TABLE=y
|
CONFIG_ACPI_SPCR_TABLE=y
|
||||||
@@ -617,8 +610,6 @@ CONFIG_ACPI_BGRT=y
|
|||||||
CONFIG_ACPI_NHLT=y
|
CONFIG_ACPI_NHLT=y
|
||||||
CONFIG_ACPI_NFIT=m
|
CONFIG_ACPI_NFIT=m
|
||||||
# CONFIG_NFIT_SECURITY_DEBUG is not set
|
# CONFIG_NFIT_SECURITY_DEBUG is not set
|
||||||
CONFIG_ACPI_NUMA=y
|
|
||||||
CONFIG_ACPI_HMAT=y
|
|
||||||
CONFIG_HAVE_ACPI_APEI=y
|
CONFIG_HAVE_ACPI_APEI=y
|
||||||
CONFIG_HAVE_ACPI_APEI_NMI=y
|
CONFIG_HAVE_ACPI_APEI_NMI=y
|
||||||
CONFIG_ACPI_APEI=y
|
CONFIG_ACPI_APEI=y
|
||||||
@@ -751,7 +742,6 @@ CONFIG_KVM_WERROR=y
|
|||||||
# CONFIG_KVM_SW_PROTECTED_VM is not set
|
# CONFIG_KVM_SW_PROTECTED_VM is not set
|
||||||
CONFIG_KVM_INTEL=m
|
CONFIG_KVM_INTEL=m
|
||||||
# CONFIG_KVM_INTEL_PROVE_VE is not set
|
# CONFIG_KVM_INTEL_PROVE_VE is not set
|
||||||
CONFIG_X86_SGX_KVM=y
|
|
||||||
CONFIG_KVM_SMM=y
|
CONFIG_KVM_SMM=y
|
||||||
CONFIG_KVM_HYPERV=y
|
CONFIG_KVM_HYPERV=y
|
||||||
CONFIG_KVM_XEN=y
|
CONFIG_KVM_XEN=y
|
||||||
@@ -916,7 +906,6 @@ CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
|
|||||||
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
|
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
|
||||||
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
|
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
|
||||||
CONFIG_DYNAMIC_SIGFRAME=y
|
CONFIG_DYNAMIC_SIGFRAME=y
|
||||||
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
|
|
||||||
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
|
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
|
||||||
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
|
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
|
||||||
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
|
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
|
||||||
@@ -1115,7 +1104,6 @@ CONFIG_SPARSEMEM_VMEMMAP=y
|
|||||||
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
|
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
|
||||||
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
|
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
|
||||||
CONFIG_HAVE_GUP_FAST=y
|
CONFIG_HAVE_GUP_FAST=y
|
||||||
CONFIG_NUMA_KEEP_MEMINFO=y
|
|
||||||
CONFIG_MEMORY_ISOLATION=y
|
CONFIG_MEMORY_ISOLATION=y
|
||||||
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
|
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
|
||||||
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
|
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
|
||||||
@@ -1161,7 +1149,6 @@ CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y
|
|||||||
CONFIG_ARCH_SUPPORTS_PUD_PFNMAP=y
|
CONFIG_ARCH_SUPPORTS_PUD_PFNMAP=y
|
||||||
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
|
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
|
||||||
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
|
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
|
||||||
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
|
|
||||||
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
|
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
|
||||||
CONFIG_CMA=y
|
CONFIG_CMA=y
|
||||||
CONFIG_CMA_DEBUGFS=y
|
CONFIG_CMA_DEBUGFS=y
|
||||||
@@ -1207,8 +1194,6 @@ CONFIG_PER_VMA_LOCK=y
|
|||||||
CONFIG_LOCK_MM_AND_FIND_VMA=y
|
CONFIG_LOCK_MM_AND_FIND_VMA=y
|
||||||
CONFIG_IOMMU_MM_DATA=y
|
CONFIG_IOMMU_MM_DATA=y
|
||||||
CONFIG_EXECMEM=y
|
CONFIG_EXECMEM=y
|
||||||
CONFIG_NUMA_MEMBLKS=y
|
|
||||||
# CONFIG_NUMA_EMU is not set
|
|
||||||
CONFIG_ARCH_HAS_USER_SHADOW_STACK=y
|
CONFIG_ARCH_HAS_USER_SHADOW_STACK=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -2279,7 +2264,6 @@ CONFIG_PCI_SW_SWITCHTEC=m
|
|||||||
CONFIG_CXL_BUS=m
|
CONFIG_CXL_BUS=m
|
||||||
CONFIG_CXL_PCI=m
|
CONFIG_CXL_PCI=m
|
||||||
# CONFIG_CXL_MEM_RAW_COMMANDS is not set
|
# CONFIG_CXL_MEM_RAW_COMMANDS is not set
|
||||||
CONFIG_CXL_ACPI=m
|
|
||||||
CONFIG_CXL_PMEM=m
|
CONFIG_CXL_PMEM=m
|
||||||
CONFIG_CXL_MEM=m
|
CONFIG_CXL_MEM=m
|
||||||
CONFIG_CXL_PORT=m
|
CONFIG_CXL_PORT=m
|
||||||
@@ -2338,7 +2322,6 @@ CONFIG_DEV_COREDUMP=y
|
|||||||
# CONFIG_DEBUG_DRIVER is not set
|
# CONFIG_DEBUG_DRIVER is not set
|
||||||
# CONFIG_DEBUG_DEVRES is not set
|
# CONFIG_DEBUG_DEVRES is not set
|
||||||
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
|
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
|
||||||
CONFIG_HMEM_REPORTING=y
|
|
||||||
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
|
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
|
||||||
CONFIG_GENERIC_CPU_DEVICES=y
|
CONFIG_GENERIC_CPU_DEVICES=y
|
||||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||||
@@ -2415,7 +2398,6 @@ CONFIG_GOOGLE_VPD=m
|
|||||||
CONFIG_EFI_ESRT=y
|
CONFIG_EFI_ESRT=y
|
||||||
CONFIG_EFI_VARS_PSTORE=y
|
CONFIG_EFI_VARS_PSTORE=y
|
||||||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||||
CONFIG_EFI_SOFT_RESERVE=y
|
|
||||||
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
|
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
|
||||||
CONFIG_EFI_RUNTIME_WRAPPERS=y
|
CONFIG_EFI_RUNTIME_WRAPPERS=y
|
||||||
CONFIG_EFI_BOOTLOADER_CONTROL=m
|
CONFIG_EFI_BOOTLOADER_CONTROL=m
|
||||||
@@ -10533,9 +10515,7 @@ CONFIG_NVDIMM_KEYS=y
|
|||||||
CONFIG_DAX=y
|
CONFIG_DAX=y
|
||||||
CONFIG_DEV_DAX=m
|
CONFIG_DEV_DAX=m
|
||||||
CONFIG_DEV_DAX_PMEM=m
|
CONFIG_DEV_DAX_PMEM=m
|
||||||
CONFIG_DEV_DAX_HMEM=m
|
|
||||||
CONFIG_DEV_DAX_CXL=m
|
CONFIG_DEV_DAX_CXL=m
|
||||||
CONFIG_DEV_DAX_HMEM_DEVICES=y
|
|
||||||
CONFIG_DEV_DAX_KMEM=m
|
CONFIG_DEV_DAX_KMEM=m
|
||||||
CONFIG_NVMEM=y
|
CONFIG_NVMEM=y
|
||||||
CONFIG_NVMEM_SYSFS=y
|
CONFIG_NVMEM_SYSFS=y
|
||||||
@@ -11557,7 +11537,6 @@ CONFIG_SWIOTLB=y
|
|||||||
# CONFIG_SWIOTLB_DYNAMIC is not set
|
# CONFIG_SWIOTLB_DYNAMIC is not set
|
||||||
CONFIG_DMA_NEED_SYNC=y
|
CONFIG_DMA_NEED_SYNC=y
|
||||||
CONFIG_DMA_CMA=y
|
CONFIG_DMA_CMA=y
|
||||||
# CONFIG_DMA_NUMA_CMA is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Default contiguous memory area size:
|
# Default contiguous memory area size:
|
||||||
|
|||||||
+269
-129
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:0c327d1db5290544154305ee00709871480b2131cf2f652c41d974ed9515cc9c
|
oid sha256:ec178b034654812c1c5d163a59d64f627feeef34a46c749051ef94d89253bd75
|
||||||
size 1793535
|
size 1843649
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ Hohe Komprimierungsoptionen sind vor allem für Benutzer nützlich, die
|
|||||||
wenig Festplattenplatz zur Verfügung haben (embedded systems), für die
|
wenig Festplattenplatz zur Verfügung haben (embedded systems), für die
|
||||||
aber die Ram-Größe weniger wichtig ist.\\
|
aber die Ram-Größe weniger wichtig ist.\\
|
||||||
Überblick: Gzip werden von den älteren Kernelversionen unterstützt,\\
|
Überblick: Gzip werden von den älteren Kernelversionen unterstützt,\\
|
||||||
Arch Linux (since Linux/x86 5.9.0) Standard: ZSTD (former: XZ since 4.14.4, predecessor GZIP,XZ)\\
|
Arch Linux (seit Linux/x86 5.9.0) Standard: ZSTD (former: XZ seit 4.14.4, predecessor GZIP,XZ)\\
|
||||||
Debian 11.6: XZ\\
|
Debian 11.6: XZ\\
|
||||||
@TODO Weitere Linux Distributionen
|
@TODO Weitere Linux Distributionen
|
||||||
\subsubsection{Gzip}
|
\subsubsection{Gzip}
|
||||||
@@ -407,8 +407,8 @@ SCHED\_CORE ist standardmäßig deaktiviert. Wenn es aktiviert und unbenutzt ist
|
|||||||
bei Linux-Distributionen wahrscheinlich der Fall ist,
|
bei Linux-Distributionen wahrscheinlich der Fall ist,
|
||||||
sollte es keine messbaren Auswirkungen auf die Leistung
|
sollte es keine messbaren Auswirkungen auf die Leistung
|
||||||
haben.
|
haben.
|
||||||
% 1.21 Extensible Scheduling Class (since 6.11)
|
% 1.21 Extensible Scheduling Class (seit 6.11)
|
||||||
\subsection{Extensible Scheduling Class {\tiny since 6.12}}
|
\subsection{Extensible Scheduling Class {\tiny seit 6.12}}
|
||||||
CONFIG\_SCHED\_CLASS\_EXT [=y] \textbf{[Y]}\\
|
CONFIG\_SCHED\_CLASS\_EXT [=y] \textbf{[Y]}\\
|
||||||
Diese Option aktiviert eine neue Scheduler-Klasse sched\_ext (SCX), die es ermöglicht,
|
Diese Option aktiviert eine neue Scheduler-Klasse sched\_ext (SCX), die es ermöglicht,
|
||||||
dass Scheduling-Richtlinien
|
dass Scheduling-Richtlinien
|
||||||
@@ -747,7 +747,7 @@ CONFIG\_RCU\_LAZY [=y] \textbf{[Y]}\\
|
|||||||
Um Strom zu sparen, sollten Sie RCU-Rückrufe stapeln und nach einer Verzögerung,
|
Um Strom zu sparen, sollten Sie RCU-Rückrufe stapeln und nach einer Verzögerung,
|
||||||
einem Speicherdruck oder einer zu großen Rückrufliste flushen.
|
einem Speicherdruck oder einer zu großen Rückrufliste flushen.
|
||||||
|
|
||||||
\paragraph{Turn RCU lazy invocation off by default}{\tiny since 6.9}$~$\\
|
\paragraph{Turn RCU lazy invocation off by default}{\tiny seit 6.9}$~$\\
|
||||||
CONFIG\_RCU\_LAZY\_DEFAULT\_OFF [=n] \textbf{[N]}\\
|
CONFIG\_RCU\_LAZY\_DEFAULT\_OFF [=n] \textbf{[N]}\\
|
||||||
Erlaubt die Erstellung des Kernels mit CONFIG\_RCU\_LAZY=y, ist aber standardmäßig deaktiviert.
|
Erlaubt die Erstellung des Kernels mit CONFIG\_RCU\_LAZY=y, ist aber standardmäßig deaktiviert.
|
||||||
Der Bootzeit-Parameter rcutree.enable\_rcu\_lazy=1 kann verwendet werden, um es wieder einzuschalten.
|
Der Bootzeit-Parameter rcutree.enable\_rcu\_lazy=1 kann verwendet werden, um es wieder einzuschalten.
|
||||||
@@ -938,7 +938,7 @@ Sagen Sie N, wenn Sie unsicher sind.
|
|||||||
CONFIG\_MEMCG [=y] \textbf{[Y]}\\
|
CONFIG\_MEMCG [=y] \textbf{[Y]}\\
|
||||||
Ermöglicht die Kontrolle über den Speicherbedarf von Tasks in einer cgroup.
|
Ermöglicht die Kontrolle über den Speicherbedarf von Tasks in einer cgroup.
|
||||||
\english{Provides control over the memory footprint of tasks in a cgroup.}
|
\english{Provides control over the memory footprint of tasks in a cgroup.}
|
||||||
\paragraph{Legacy cgroup v1 memory controller}{\tiny since 6.11}$~$\\
|
\paragraph{Legacy cgroup v1 memory controller}{\tiny seit 6.11}$~$\\
|
||||||
CONFIG\_MEMCG\_V1 [=n] \textbf{[N]}\\
|
CONFIG\_MEMCG\_V1 [=n] \textbf{[N]}\\
|
||||||
Legacy cgroup v1 memory controller, der durch die cgroup v2 Implementierung veraltet ist.
|
Legacy cgroup v1 memory controller, der durch die cgroup v2 Implementierung veraltet ist.
|
||||||
Der v1 ist für ältere Anwendungen gedacht, die noch nicht auf die neue cgroup v2-Schnittstelle umgestellt wurden.
|
Der v1 ist für ältere Anwendungen gedacht, die noch nicht auf die neue cgroup v2-Schnittstelle umgestellt wurden.
|
||||||
@@ -1062,7 +1062,7 @@ die nur innerhalb dieser Gruppen ausgeführt werden.
|
|||||||
Dies ist vor allem auf großen SMP- oder NUMA"=Systemen nützlich.\\
|
Dies ist vor allem auf großen SMP- oder NUMA"=Systemen nützlich.\\
|
||||||
Sagen Sie N, wenn Sie unsicher sind.
|
Sagen Sie N, wenn Sie unsicher sind.
|
||||||
|
|
||||||
\paragraph{Legacy cgroup v1 cpusets controller}{\tiny since 6.12}$~$\\
|
\paragraph{Legacy cgroup v1 cpusets controller}{\tiny seit 6.12}$~$\\
|
||||||
CONFIG\_CPUSETS\_V1 [=n] \textbf{[N]}\\
|
CONFIG\_CPUSETS\_V1 [=n] \textbf{[N]}\\
|
||||||
Die Option v1 ist für ältere Anwendungen gedacht, die noch nicht auf die neue cgroup v2-Schnittstelle migriert wurden.
|
Die Option v1 ist für ältere Anwendungen gedacht, die noch nicht auf die neue cgroup v2-Schnittstelle migriert wurden.
|
||||||
Wenn Sie keine solche Anwendung haben, ist es völlig in Ordnung, wenn Sie diese Option deaktiviert lassen.\\
|
Wenn Sie keine solche Anwendung haben, ist es völlig in Ordnung, wenn Sie diese Option deaktiviert lassen.\\
|
||||||
|
|||||||
@@ -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.
|
||||||
|
}
|
||||||
|
|||||||
+40
-4
@@ -1,31 +1,52 @@
|
|||||||
|
%6.13
|
||||||
\section{Mitigations for speculative execution vulnerabilities \texorpdfstring{$\rightarrow$}{->}}
|
\section{Mitigations for speculative execution vulnerabilities \texorpdfstring{$\rightarrow$}{->}}
|
||||||
CONFIG\_SPECULATION\_MITIGATIONS [=y] \textbf{[Y]}\\
|
CONFIG\_SPECULATION\_MITIGATIONS [=y] \textbf{[Y]}\\
|
||||||
Sagen Sie hier Y, um Optionen zu aktivieren, die Abhilfemaßnahmen für Hardware-Schwachstellen durch spekulative
|
Sagen Sie hier Y, um Optionen zu aktivieren, die Abhilfemaßnahmen für Hardware-Schwachstellen durch spekulative
|
||||||
Ausführung ermöglichen. Wenn Sie N sagen, werden alle Abhilfemaßnahmen deaktiviert. Sie sollten wirklich wissen,
|
Ausführung ermöglichen. Wenn Sie N sagen, werden alle Abhilfemaßnahmen deaktiviert. Sie sollten wirklich wissen,
|
||||||
was Sie tun, um dies anzugeben.
|
was Sie tun, um dies anzugeben.
|
||||||
|
\english{Say Y here to enable options which enable mitigations for hardware vulnerabilities
|
||||||
|
(usually related to speculative execution).
|
||||||
|
Mitigations can be disabled or restricted to SMT systems at runtime via the "mitigations" kernel parameter.\\
|
||||||
|
If you say N, all mitigations will be disabled.
|
||||||
|
This CANNOT be overridden at runtime.\\
|
||||||
|
Say 'Y', unless you really know what you are doing.}
|
||||||
|
|
||||||
|
%4.1
|
||||||
\subsection{Remove the kernel mapping in user mode}
|
\subsection{Remove the kernel mapping in user mode}
|
||||||
CONFIG\_PAGE\_TABLE\_ISOLATION [=y] \textbf{[Y]}\\
|
CONFIG\_PAGE\_TABLE\_ISOLATION [=y] \textbf{[Y]}\\
|
||||||
Diese Funktion reduziert die Anzahl der Hardware-Seitenkanäle, indem sie sicherstellt, dass die meisten
|
Diese Funktion reduziert die Anzahl der Hardware-Seitenkanäle, indem sie sicherstellt, dass die meisten
|
||||||
Kernel-Adressen nicht in den Benutzerraum abgebildet werden. Siehe Documentation/arch/x86/pti.rst für
|
Kernel-Adressen nicht in den Benutzerraum abgebildet werden.\\
|
||||||
weitere Details.
|
Siehe \texttt{Documentation/arch/x86/pti.rst} für weitere Details.
|
||||||
|
\english{This feature reduces the number of hardware side channels by ensuring that
|
||||||
|
the majority of kernel addresses are not mapped into userspace.\\
|
||||||
|
See Documentation/arch/x86/pti.rst for more details.}
|
||||||
|
|
||||||
|
%4.2
|
||||||
\subsection{Avoid speculative indirect branches in kernel}
|
\subsection{Avoid speculative indirect branches in kernel}
|
||||||
CONFIG\_RETPOLINE [=y] \textbf{[Y]}\\
|
CONFIG\_RETPOLINE [=y] \textbf{[Y]}\\
|
||||||
Kompilieren Sie den Kernel mit den retpoline Compiler-Optionen, um Datenlecks zwischen Kernel und Benutzer
|
Kompilieren Sie den Kernel mit den retpoline Compiler-Optionen, um Datenlecks zwischen Kernel und Benutzer
|
||||||
zu verhindern, indem spekulative indirekte Verzweigungen vermieden werden. Erfordert einen Compiler mit
|
zu verhindern, indem spekulative indirekte Verzweigungen vermieden werden. Erfordert einen Compiler mit
|
||||||
\texttt{-mindirect-branch=thunk-extern} Unterstützung für vollen Schutz. Der Kernel kann langsamer laufen.
|
\texttt{-mindirect-branch=thunk-extern} Unterstützung für vollen Schutz. Der Kernel kann langsamer laufen.
|
||||||
|
\english{Compile kernel with the retpoline compiler options to guard against kernel-to-user
|
||||||
|
data leaks by avoiding speculative indirect branches.
|
||||||
|
Requires a compiler with -mindirect-branch=thunk-extern support for full protection.
|
||||||
|
The kernel may run slower.}
|
||||||
|
|
||||||
\subsubsection{Enable return-thunks}
|
\subsubsection{Enable return-thunks}
|
||||||
CONFIG\_RETHUNK [=y] \textbf{[Y]}\\
|
CONFIG\_RETHUNK [=y] \textbf{[Y]}\\
|
||||||
Kompiliere den Kernel mit der Compileroption return-thunks, um Datenlecks zwischen Kernel und Benutzer zu
|
Kompiliere den Kernel mit der Compileroption return-thunks, um Datenlecks zwischen Kernel und Benutzer zu
|
||||||
verhindern, indem Rückgabespekulationen vermieden werden. Erfordert einen Compiler mit
|
verhindern, indem Rückgabespekulationen vermieden werden. Erfordert einen Compiler mit
|
||||||
\texttt{-mfunction-return=thunk-extern} Unterstützung für vollen Schutz. Der Kernel kann langsamer laufen.
|
\texttt{-mfunction-return=thunk-extern} Unterstützung für vollen Schutz. Der Kernel kann langsamer laufen.
|
||||||
|
\english{Compile the kernel with the return-thunks compiler option to guard against
|
||||||
|
kernel-to-user data leaks by avoiding return speculation.
|
||||||
|
Requires a compiler with -mfunction-return=thunk-extern support for full protection.
|
||||||
|
The kernel may run slower.}
|
||||||
|
|
||||||
\paragraph{Enable UNRET on kernel entry}$~$\\
|
\paragraph{Enable UNRET on kernel entry}$~$\\
|
||||||
CONFIG\_CPU\_UNRET\_ENTRY [=y] \textbf{[Y]}\\
|
CONFIG\_CPU\_UNRET\_ENTRY [=y] \textbf{[Y]}\\
|
||||||
Kompiliere den Kernel mit Unterstützung für die \texttt{retbleed=unret}-Abschwächung.
|
Kompiliere den Kernel mit Unterstützung für die \texttt{retbleed=unret}-Abschwächung.
|
||||||
|
\english{Compile the kernel with support for the retbleed=unret mitigation.}
|
||||||
|
\note{Wird nur bei AMD-Prozessoren angezeigt.}
|
||||||
|
|
||||||
\subsection{Mitigate RSB underflow with call depth tracking}
|
\subsection{Mitigate RSB underflow with call depth tracking}
|
||||||
CONFIG\_CALL\_DEPTH\_TRACKING [=y] \textbf{[Y]}\\
|
CONFIG\_CALL\_DEPTH\_TRACKING [=y] \textbf{[Y]}\\
|
||||||
@@ -33,9 +54,17 @@ Kompiliere den Kernel mit Call-Depth-Tracking, um das Intel SKL Return-Speculati
|
|||||||
zu entschärfen. Die Entschärfung ist standardmäßig ausgeschaltet und muss in der Kernel-Befehlszeile über die
|
zu entschärfen. Die Entschärfung ist standardmäßig ausgeschaltet und muss in der Kernel-Befehlszeile über die
|
||||||
Option \texttt{retbleed=stuff} aktiviert werden. Für nicht betroffene Systeme ist der Overhead dieser Option
|
Option \texttt{retbleed=stuff} aktiviert werden. Für nicht betroffene Systeme ist der Overhead dieser Option
|
||||||
marginal, da die Verfolgung der Aufruftiefe zur Laufzeit generierte Call Thunks in einem vom Compiler generierten
|
marginal, da die Verfolgung der Aufruftiefe zur Laufzeit generierte Call Thunks in einem vom Compiler generierten
|
||||||
Padding-Bereich und Call Patching verwendet. Dies erhöht die Textgröße um $\sim 5$\%. Bei nicht betroffenen Systemen
|
Padding-Bereich und Call Patching verwendet. Dies erhöht die Textgröße um $\sim\qty{5}{\percent}$. Bei nicht betroffenen Systemen
|
||||||
ist dieser Platz ungenutzt. Auf betroffenen SKL-Systemen führt dies zu einem erheblichen Leistungsgewinn gegenüber
|
ist dieser Platz ungenutzt. Auf betroffenen SKL-Systemen führt dies zu einem erheblichen Leistungsgewinn gegenüber
|
||||||
der IBRS-Abschwächung.
|
der IBRS-Abschwächung.
|
||||||
|
\english{Compile the kernel with call depth tracking to mitigate the
|
||||||
|
Intel SKL Return-Stack-Buffer (RSB) underflow issue.
|
||||||
|
The mitigation is off by default and needs to be enabled on the kernel command line via the
|
||||||
|
retbleed=stuff option.
|
||||||
|
For non-affected systems the overhead of this option is marginal as the call depth tracking
|
||||||
|
is using run-time generated call thunks in a compiler generated padding area and call patching.
|
||||||
|
This increases text size by $\sim$5\%. For non affected systems this space is unused.
|
||||||
|
On affected SKL systems this results in a significant performance gain over the IBRS mitigation.}
|
||||||
|
|
||||||
\subsubsection{Enable call thunks and call depth tracking debugging}
|
\subsubsection{Enable call thunks and call depth tracking debugging}
|
||||||
CONFIG\_CALL\_THUNKS\_DEBUG [=n] \textbf{[N]}\\
|
CONFIG\_CALL\_THUNKS\_DEBUG [=n] \textbf{[N]}\\
|
||||||
@@ -43,6 +72,11 @@ Aktiviere Call/Ret-Zähler zur Erkennung von Ungleichgewichten und baue ein laut
|
|||||||
Callthunks und Call-Patching zur Fehlersuche ein. Die Debug-Ausdrucke müssen in der Kernel-Befehlszeile mit
|
Callthunks und Call-Patching zur Fehlersuche ein. Die Debug-Ausdrucke müssen in der Kernel-Befehlszeile mit
|
||||||
\texttt{debug-callthunks} aktiviert werden. Aktivieren Sie dies nur, wenn Sie Call Thunks debuggen wollen,
|
\texttt{debug-callthunks} aktiviert werden. Aktivieren Sie dies nur, wenn Sie Call Thunks debuggen wollen,
|
||||||
da dies einen spürbaren Laufzeit-Overhead erzeugt. Wenn Sie unsicher sind, sagen Sie N.
|
da dies einen spürbaren Laufzeit-Overhead erzeugt. Wenn Sie unsicher sind, sagen Sie N.
|
||||||
|
\english{Enable call/ret counters for imbalance detection and build in a noisy dmesg about
|
||||||
|
callthunks generation and call patching for trouble shooting.
|
||||||
|
The debug prints need to be enabled on the kernel command line with 'debug-callthunks'.
|
||||||
|
Only enable this when you are debugging call thunks as this creates a noticeable runtime overhead.
|
||||||
|
If unsure say N.}
|
||||||
|
|
||||||
\subsection{Enable IBPB on kernel entry}
|
\subsection{Enable IBPB on kernel entry}
|
||||||
CONFIG\_CPU\_IBPB\_ENTRY [=y] \textbf{[Y]}\\
|
CONFIG\_CPU\_IBPB\_ENTRY [=y] \textbf{[Y]}\\
|
||||||
@@ -52,6 +86,8 @@ Kompiliere den Kernel mit Unterstützung für die \texttt{retbleed=ibpb}-Abschw
|
|||||||
CONFIG\_CPU\_IBRS\_ENTRY [=y] \textbf{[Y]}\\
|
CONFIG\_CPU\_IBRS\_ENTRY [=y] \textbf{[Y]}\\
|
||||||
Kompiliere den Kernel mit Unterstützung für die \texttt{spectre\_v2=ibrs}-Abschwächung.
|
Kompiliere den Kernel mit Unterstützung für die \texttt{spectre\_v2=ibrs}-Abschwächung.
|
||||||
Dadurch werden sowohl spectre\_v2 als auch retbleed auf Kosten der Leistung abgeschwächt.
|
Dadurch werden sowohl spectre\_v2 als auch retbleed auf Kosten der Leistung abgeschwächt.
|
||||||
|
\english{Compile the kernel with support for the spectre\_v2=ibrs mitigation.
|
||||||
|
This mitigates both spectre\_v2 and retbleed at great cost to performance.}
|
||||||
|
|
||||||
\subsection{Mitigate speculative RAS overflow on AMD}
|
\subsection{Mitigate speculative RAS overflow on AMD}
|
||||||
CONFIG\_CPU\_SRSO [=y] \textbf{[N]}\\
|
CONFIG\_CPU\_SRSO [=y] \textbf{[N]}\\
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren