Reviewed By: Vladimir Serbinenko On Fri, May 24, 2024 at 2:06 PM Mate Kukri <mate.ku...@canonical.com> wrote: > > From: Peter Jones <pjo...@redhat.com> > > For NX, we need the grub binary to announce that it is compatible with > the NX feature. This implies that when loading the executable grub > image, several attributes are true: > > - the binary doesn't need an executable stack > - the binary doesn't need sections to be both executable and writable > - the binary knows how to use the EFI Memory Attributes protocol on code > it is loading. > > This patch adds a definition for the PE DLL Characteristics flag > GRUB_PE32_NX_COMPAT, and changes grub-mkimage to set that flag. > > Signed-off-by: Peter Jones <pjo...@redhat.com> > (cherry picked from commit a9ec858bd62b004c331cad9b5b00071d3081b626) > Signed-off-by: Jan Setje-Eilers <jan.setjeeil...@oracle.com> > > Conflicts: > util/mkimage.c > > Signed-off-by: Mate Kukri <mate.ku...@canonical.com> > --- > util/mkimage.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/util/mkimage.c b/util/mkimage.c > index 4237383ac..9b4720e21 100644 > --- a/util/mkimage.c > +++ b/util/mkimage.c > @@ -1403,6 +1403,7 @@ grub_install_generate_image (const char *dir, const > char *prefix, > #pragma GCC diagnostic push > #pragma GCC diagnostic ignored "-Wdangling-pointer" > #endif > + PE_OHDR (o32, o64, dll_characteristics) = grub_host_to_target16 > (GRUB_PE32_NX_COMPAT); > PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size); > PE_OHDR (o32, o64, entry_addr) = grub_host_to_target32 > (layout.start_address); > PE_OHDR (o32, o64, image_base) = 0; > -- > 2.39.2 > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel
-- Regards Vladimir 'phcoder' Serbinenko _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel