On Mon, Apr 08, 2019 at 12:19:05PM +0300, Alexander Graf wrote:
> On 05.04.19 06:06, Leif Lindholm wrote:
> > This does bring to mind the clunkiness of the above. Marking
> > *everything* executable bypasses the improved security provided by the
> > firmware. Should I register a bug on Savannah to address this?
> > (blatantly not for the upcoming release)
> 
> I quite frankly don't understand why we need to mark the PE binary as
> CODE in the first place. I thought the whole point of invoking the UEFI
> loader protocol was to ensure that the placement of sections from that
> binary into CODE/DATA happens properly?

You have a point, but I don't think Jeffrey found this through code
review.

It is possible that my belt-and-braces approach of both adding a
memory mapped device path and setting SourceBuffer breaks assumptions
in the UEFI implementation.

Jeffrey - could you try changing
  status = b->load_image (0, grub_efi_image_handle,
                          (grub_efi_device_path_t *) mempath,
                          (void *) addr,
                          size, &image_handle);
to
  status = b->load_image (0, grub_efi_image_handle,
                          NULL,
                          (void *) addr,
                          size, &image_handle);
and see if that makes the problem go away without changing the
allocation type?

> Or are we not calling LoadImage?

We are.

/
    Leif

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to