Re: [PATCH v2 1/3] efi: Initialize canary to non-zero value

2023-12-18 Thread Glenn Washburn
On Wed, 13 Dec 2023 21:24:07 +0100 Daniel Kiper wrote: > On Mon, Dec 11, 2023 at 01:27:48PM -0600, Glenn Washburn wrote: > > The canary, __stack_chk_guard, is in the BSS and so will get initialized to > > zero if it is not explicitly initialized. If the UEFI firmware does not > > support the RNG

[PATCH v3 3/3] efi: Add support for reproducible builds

2023-12-18 Thread Glenn Washburn
Having randomly generated bytes in the binary output breaks reproducible builds. Since build timestamps are usually the source of irreproducibility there is a standard which defines an environment variable SOURCE_DATE_EPOCH to be used when set for build timestamps. According to the standard[1], the

[PATCH v3 1/3] efi: Initialize canary to non-zero value

2023-12-18 Thread Glenn Washburn
The canary, __stack_chk_guard, is in the BSS and so will get initialized to zero if it is not explicitly initialized. If the UEFI firmware does not support the RNG protocol, then the canary will not be randomized and will be zero. This seems like a possibly easier value to write by an attacker. Ini

[PATCH v3 0/3] efi: Initialize canary to non-zero value

2023-12-18 Thread Glenn Washburn
Updates from v2: * Change NULL to NUL * Describe more why it is desirable to have a NUL byte in the canary Glenn Glenn Washburn (3): efi: Initialize canary to non-zero value efi: Generate stack protector canary at build time if urandom is available efi: Add support for reproducible bu

[PATCH v3 2/3] efi: Generate stack protector canary at build time if urandom is available

2023-12-18 Thread Glenn Washburn
Generating the canary at build time allows the canary to be different for every build which could limit the effectiveness of certain exploits. Fallback to the statically generated random bytes if /dev/urandom is not readable (eg. Windows). On 32-bit architectures, which use a 32-bit canary, reduce

[PATCH] ieee1275 radix support added for KVM on power

2023-12-18 Thread Avnish Chouhan
This patch adds support for Radix, Xive and Radix_gtse in Options vector5 which is required for KVM LPARs. KVM LPARs ONLY support Radix and not the Hash. Not enabling Radix on any PowerVM KVM LPARs will result in boot failure. Signed-off-by: Avnish Chouhan --- grub-core/kern/ieee1275/init.c |