mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Automatic merge of trunk into multilib
This commit is contained in:
commit
c49c1fb77f
@ -40,6 +40,18 @@
|
|||||||
appropriate for the entry or if needed the entire day's listitem.
|
appropriate for the entry or if needed the entire day's listitem.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>2022-09-10</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>[pierre] - Add <option>--enable-default-pie</option> and
|
||||||
|
<option>--enable-default-ssp</option> to GCC build. Rationale
|
||||||
|
and some reports at
|
||||||
|
<ulink url="&lfs-ticket-root;5107">#5107</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>2022-09-07</para>
|
<para>2022-09-07</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -173,10 +173,10 @@ cd build</userinput></screen>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Those switches allow GCC to compile programs with
|
<para>Those switches allow GCC to compile programs with
|
||||||
some hardening security features (more information on those in
|
some hardening security features (more information on those in
|
||||||
the <xref linkend="pie-ssp-info"/> in chapter 8). They are not
|
the <xref linkend="pie-ssp-info"/> in chapter 8) by default. The
|
||||||
strictly needed at this stage, since the compiler will only produce
|
are not strictly needed at this stage, since the compiler will
|
||||||
temporary executables. But it is cleaner to have the temporary
|
only produce temporary executables. But it is cleaner to have the
|
||||||
packages be as close as possible to the final ones.
|
temporary packages be as close as possible to the final ones.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -178,6 +178,10 @@ cd build</userinput></screen>
|
|||||||
|
|
||||||
<screen><userinput remap="test">make -k check</userinput></screen>
|
<screen><userinput remap="test">make -k check</userinput></screen>
|
||||||
|
|
||||||
|
<para>Twelve tests fail in the <command>gold</command> testsuite when the
|
||||||
|
<option>--enable-default-pie</option> and
|
||||||
|
<option>--enable-default-ssp</option> options are passed to GCC. There
|
||||||
|
is also a known failure in the <command>as</command> tests.</para>
|
||||||
<!-- Fixed in 2.39
|
<!-- Fixed in 2.39
|
||||||
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=01ae03b
|
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=01ae03b
|
||||||
<para>One gold test, <filename>pr17704a_test</filename>, is known to
|
<para>One gold test, <filename>pr17704a_test</filename>, is known to
|
||||||
|
@ -124,20 +124,24 @@ cd build</userinput></screen>
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<note id="pie-ssp-info" xreflabel="note on PIE and SSP">
|
<note>
|
||||||
|
<anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/>
|
||||||
<para>
|
<para>
|
||||||
PIE (position independent executable) is a technique to produce
|
PIE (position-independent executable) is a technique to produce
|
||||||
binary programs that can be loaded anywhere in memory. Together
|
binary programs that can be loaded anywhere in memory. Without PIE,
|
||||||
with a feature named ASLR (Address Space Layout Randomization),
|
the security feature named ASLR (Address Space Layout Randomization)
|
||||||
this allows programs to never have the same memory layout,
|
can be applied for the shared libraries, but not the exectutable
|
||||||
thus defeating attacks based on reproducible memory patterns.
|
itself. Enabling PIE allows ASLR for the executables in addition to
|
||||||
|
the shared libraries, and mitigates some attacks based on fixed
|
||||||
|
addresses of sensitive code or data in the executables.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
SSP (Stack Smashing Protection) is a technique to ensure
|
SSP (Stack Smashing Protection) is a technique to ensure
|
||||||
that the parameter stack is not corrupted. Stack corruption can
|
that the parameter stack is not corrupted. Stack corruption can
|
||||||
for example alter the return address of a subroutine,
|
for example alter the return address of a subroutine,
|
||||||
which would allow transferring control to an attacker program instead
|
which would allow transferring control to some dangerous code
|
||||||
of the original one.
|
(existing in the program or shared libraries, or injected by the
|
||||||
|
attacker somehow) instead of the original one.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of OpenSSL</title>
|
<title>Installation of OpenSSL</title>
|
||||||
<!--
|
<!--
|
||||||
<para>First fix a problem with some advanced arcitectures with avx512
|
<para>First fix a problem with some advanced architectures with avx512
|
||||||
capability:</para>
|
capability:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \
|
<screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \
|
||||||
|
@ -170,8 +170,9 @@ EOF</userinput></screen>
|
|||||||
To install spell files for your preferred language, download the
|
To install spell files for your preferred language, download the
|
||||||
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
||||||
files for your language and character encoding from <ulink
|
files for your language and character encoding from <ulink
|
||||||
url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save them to
|
url="https://github.com/vim/vim/tree/master/runtime/spell/"/> and save
|
||||||
<filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para>
|
them to <filename class='directory'>
|
||||||
|
/usr/share/&vim-docdir;/spell/</filename>.</para>
|
||||||
|
|
||||||
<para>To use these spell files, some configuration in
|
<para>To use these spell files, some configuration in
|
||||||
<filename>/etc/vimrc</filename> is needed, e.g.:</para>
|
<filename>/etc/vimrc</filename> is needed, e.g.:</para>
|
||||||
|
@ -105,9 +105,15 @@
|
|||||||
<para>Be sure to enable/disable/set the following features or the system might
|
<para>Be sure to enable/disable/set the following features or the system might
|
||||||
not work correctly or boot at all:</para>
|
not work correctly or boot at all:</para>
|
||||||
|
|
||||||
<screen role="nodump" revision="sysv">General setup -->
|
<screen role="nodump" revision="sysv">Processor type and features --->
|
||||||
|
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
|
||||||
|
[*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE]
|
||||||
|
General setup --->
|
||||||
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||||
< > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
|
< > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
|
||||||
|
General architecture-dependent options --->
|
||||||
|
[*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR]
|
||||||
|
[*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG]
|
||||||
Device Drivers --->
|
Device Drivers --->
|
||||||
Graphics support --->
|
Graphics support --->
|
||||||
Frame buffer Devices --->
|
Frame buffer Devices --->
|
||||||
@ -117,7 +123,10 @@ Device Drivers --->
|
|||||||
[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
|
[*] Maintain a devtmpfs filesystem to mount at /dev [CONFIG_DEVTMPFS]
|
||||||
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen>
|
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT]</screen>
|
||||||
|
|
||||||
<screen role="nodump" revision="systemd">General setup -->
|
<screen role="nodump" revision="systemd">Processor type and features --->
|
||||||
|
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
|
||||||
|
[*] Randomize the address of the kernel image (KASLR) [CONFIG_RANDOMIZE_BASE]
|
||||||
|
General setup --->
|
||||||
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
[ ] Compile the kernel with warnings as errors [CONFIG_WERROR]
|
||||||
[ ] Auditing Support [CONFIG_AUDIT]
|
[ ] Auditing Support [CONFIG_AUDIT]
|
||||||
CPU/Task time and stats accounting --->
|
CPU/Task time and stats accounting --->
|
||||||
@ -130,6 +139,8 @@ Device Drivers --->
|
|||||||
[*] open by fhandle syscalls [CONFIG_FHANDLE]
|
[*] open by fhandle syscalls [CONFIG_FHANDLE]
|
||||||
General architecture-dependent options --->
|
General architecture-dependent options --->
|
||||||
[*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP]
|
[*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP]
|
||||||
|
[*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR]
|
||||||
|
[*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG]
|
||||||
Networking support --->
|
Networking support --->
|
||||||
Networking options --->
|
Networking options --->
|
||||||
<*> The IPv6 protocol [CONFIG_IPV6]
|
<*> The IPv6 protocol [CONFIG_IPV6]
|
||||||
@ -159,8 +170,6 @@ File systems --->
|
|||||||
|
|
||||||
<screen role="nodump">Processor type and features --->
|
<screen role="nodump">Processor type and features --->
|
||||||
[*] Support x2apic [CONFIG_X86_X2APIC]
|
[*] Support x2apic [CONFIG_X86_X2APIC]
|
||||||
Memory Management options --->
|
|
||||||
[ ] Enable userfaultfd() system call [CONFIG_USERFAULTFD]
|
|
||||||
Device Drivers --->
|
Device Drivers --->
|
||||||
[*] PCI Support ---> [CONFIG_PCI]
|
[*] PCI Support ---> [CONFIG_PCI]
|
||||||
[*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI]
|
[*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI]
|
||||||
@ -222,6 +231,14 @@ Device Drivers --->
|
|||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The rationale for the above configuration items:</title>
|
<title>The rationale for the above configuration items:</title>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>Randomize the address of the kernel image (KASLR)</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Enable ASLR for kernel image, to mitigate some attacks based
|
||||||
|
on fixed addresses of sensitive data or code in the kernel.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<parameter>
|
<parameter>
|
||||||
@ -247,6 +264,16 @@ Device Drivers --->
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><parameter>Strong Stack Protector</parameter></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Enable SSP for the kernel. We've enabled it for the entire
|
||||||
|
userspace with <parameter>--enable-default-ssp</parameter>
|
||||||
|
configuring GCC, but the kernel does not use GCC default setting
|
||||||
|
for SSP. We enable it explicitly here.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>Support for uevent helper</parameter></term>
|
<term><parameter>Support for uevent helper</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -286,16 +313,6 @@ Device Drivers --->
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term><parameter>Enable userfaultfd() system call</parameter></term>
|
|
||||||
<listitem>
|
|
||||||
<para>If this option is enabled, a security vulnerability not
|
|
||||||
resolved in Linux-&linux-version; yet will be exploitable.
|
|
||||||
Disable this option to avoid the vulnerability. This system call
|
|
||||||
is not used by any part of LFS or BLFS.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>Alternatively, <command>make oldconfig</command> may be more
|
<para>Alternatively, <command>make oldconfig</command> may be more
|
||||||
|
@ -207,10 +207,10 @@
|
|||||||
<!ENTITY flex-fin-du "33 MB">
|
<!ENTITY flex-fin-du "33 MB">
|
||||||
<!ENTITY flex-fin-sbu "0.4 SBU">
|
<!ENTITY flex-fin-sbu "0.4 SBU">
|
||||||
|
|
||||||
<!ENTITY gawk-version "5.1.1">
|
<!ENTITY gawk-version "5.2.0">
|
||||||
<!ENTITY gawk-size "3,075 KB">
|
<!ENTITY gawk-size "3,306 KB">
|
||||||
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
|
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
|
||||||
<!ENTITY gawk-md5 "83650aa943ff2fd519b2abedf8506ace">
|
<!ENTITY gawk-md5 "2f724d925873fc82f5e7b1d605ba9a42">
|
||||||
<!ENTITY gawk-home "&gnu-software;gawk/">
|
<!ENTITY gawk-home "&gnu-software;gawk/">
|
||||||
<!ENTITY gawk-tmp-du "45 MB">
|
<!ENTITY gawk-tmp-du "45 MB">
|
||||||
<!ENTITY gawk-tmp-sbu "0.2 SBU">
|
<!ENTITY gawk-tmp-sbu "0.2 SBU">
|
||||||
|
Loading…
Reference in New Issue
Block a user